Imported Upstream version 1.8.3p2
[debian/sudo] / ChangeLog
1 2012-01-24  Todd C. Miller  <Todd.Miller@courtesan.com>
2
3         * src/sudo.c:
4         Fixed a format string vulnerability when the sudo binary (or a 
5         symbolic link to the sudo binary) contains printf format escapes
6         and the -D (debugging) flag is used.
7
8 2012-01-13  Todd C. Miller  <Todd.Miller@courtesan.com>
9
10         * sudo.pp:
11         Include parent directories in case they don't already exist. This
12         fixes a directory permissions problem with the AIX package when the
13         /usr/local directories don't already exist.
14
15 2011-10-25  Todd C. Miller  <Todd.Miller@courtesan.com>
16
17         * plugins/sudoers/Makefile.in:
18         check_addr needs to link with the network libraries on Solaris
19         [322bd70e316e]
20
21         * plugins/sudoers/match.c:
22         When matching a RunasAlias for a runas group, pass the alias in as
23         the group_list, not the user_list. From Daniel Kopecek.
24         [766545edf141]
25
26         * plugins/sudoers/check.c, plugins/sudoers/sudoers.c:
27         We need to init the auth system regardless of whether we need a
28         password since we will be closing the PAM session in the monitor
29         process. Fixes a crash in the monitor on Solaris; bugzilla #518
30         [e82809f86fb3]
31
32 2011-10-21  Todd C. Miller  <Todd.Miller@courtesan.com>
33
34         * .hgtags:
35         Added tag SUDO_1_8_3 for changeset 82bec4d3a203
36         [6c953ef6f577] <1.8>
37
38         * Update Japanese sudoers translation from translationproject.org
39         [82bec4d3a203] [SUDO_1_8_3] <1.8>
40
41 2011-10-12  Todd C. Miller  <Todd.Miller@courtesan.com>
42
43         * configure, configure.in:
44         Override and ignore the --disable-static option. Sudo already runs
45         libtool with -tag=disable-static where applicable and we need non-
46         PIC objects to build the executables.
47         [dff177464029] <1.8>
48
49 2011-10-10  Todd C. Miller  <Todd.Miller@courtesan.com>
50
51         * NEWS:
52         Add sudoedit fix
53         [3238dc7e4fb2] <1.8>
54
55         * plugins/sudoers/po/sudoers.pot:
56         regen pot files
57         [7981d6cbf1ab] <1.8>
58
59         * Ignore set_logname (which is now the default) for sudoedit since we
60         want the LOGNAME, USER and USERNAME environment variables to refer
61         to the calling user since that is who the editor runs as. This
62         allows the editor to find the user's startup files. Fixes bugzilla
63         #515
64         [3b9486e5fddb] <1.8>
65
66         * Instead of trying to grow the buffer in make_grlist_item(), simply
67         increase the total length, free the old buffer and allocate a new
68         one. This is less error prone and saves us from having to adjust
69         all the pointers in the buffer. This code path is only taken when
70         there are groups longer than the length of the user field in struct
71         utmp or utmpx, which should be quite rare.
72         [cb7c5ac834b5] <1.8>
73
74         * Add Italian translation for sudo from translationproject.org
75         [c7876fccbc38] <1.8>
76
77         * NEWS:
78         Japanese translation for sudo and sudoers from
79         translationproject.org
80         [9945a3ef7ff7] <1.8>
81
82 2011-10-07  Todd C. Miller  <Todd.Miller@courtesan.com>
83
84         * sudoreplay depends on timestr.lo too; from Mike Frysinger
85         [ad9ae493205f] <1.8>
86
87 2011-10-04  Todd C. Miller  <Todd.Miller@courtesan.com>
88
89         * plugins/sudoers/po/sudoers.pot:
90         Regen sudoers pot file.
91         [2c4d99361994] <1.8>
92
93         * NEWS:
94         Update with latest sudo 1.8.3 news
95         [4e7f59d339d4] <1.8>
96
97         * ldap_start_tls_s() on Debian (at least) sets the effective and saved
98         uids to the same value as the real uid. This prevents sudo from
99         setting the uid or gid later on. As a workaround, we now set perms
100         to root during sudoers_policy_open().
101         [eb4c4f15833a] <1.8>
102
103         * Better warning message on setuid() failure for the setreuid()
104         version of set_perms().
105         [308c72f601e4] <1.8>
106
107 2011-10-02  Todd C. Miller  <Todd.Miller@courtesan.com>
108
109         * NEWS:
110         Combine new translations in NEWS item
111         [0aa07471a5e6] <1.8>
112
113 2011-09-27  Todd C. Miller  <Todd.Miller@courtesan.com>
114
115         * Delref auth_pw at the end of check_user() instead of getting a ref
116         twice.
117         [1c882f2fb46c] <1.8>
118
119         * Make sudo_auth_{init,cleanup} return TRUE on success and check for
120         sudo_auth_init() return value in check_user().
121         [573bf35ecac9] <1.8>
122
123         * Do not return without restoring permissions.
124         [2444a0b96469] <1.8>
125
126         * plugins/sudoers/po/sudoers.pot, src/po/sudo.pot:
127         regen pot files
128         [d286bce8dbb1] <1.8>
129
130         * NEWS:
131         Update for latest release candidate
132         [63d184ba6263] <1.8>
133
134         * plugins/sudoers/po/sudoers.pot, src/po/sudo.pot:
135         regen pot files
136         [ac3ec1315df7] <1.8>
137
138         * Modify the authentication API such that the init and cleanup
139         functions are always called, regardless of whether or not we are
140         going to verify a password. This is needed for proper PAM session
141         support.
142         [ea281ca46d94] <1.8>
143
144         * Add missing dependency for getspwgen other depends.
145         [9c124272910d] <1.8>
146
147         * Fix a PAM_USER mismatch in session open/close. We update PAM_USER
148         to the target user immediately before setting resource limits, which
149         is after the monitor process has forked (so it has the old value).
150         Also, if the user did not authenticate, there is no pamh in the
151         monitor so we need to init pam here too. This means we end up
152         calling pam_start() twice, which should be fixed, but at least the
153         session is always properly closed now.
154         [d0866ee5f190] <1.8>
155
156         * Add check for old being NULL in utmp_setid(); from Steven McDonald
157         [30cc283ac2b4] <1.8>
158
159 2011-09-25  Todd C. Miller  <Todd.Miller@courtesan.com>
160
161         * If the invoking user cannot be resolved by uid fake the struct
162         passwd and store it in the cache so we can delref it on exit.
163         [19d44f44d45d] <1.8>
164
165 2011-09-24  Todd C. Miller  <Todd.Miller@courtesan.com>
166
167         * Don't error out if the group plugin cannot be loaded, just warn.
168         [e91d9912c9a0] <1.8>
169
170 2011-09-23  Todd C. Miller  <Todd.Miller@courtesan.com>
171
172         * Quiet a false positive found by several static analysis tools. These
173         tools don't know that log_error() does not return (it longjmps to
174         error_jmp which returns to the sudo front-end).
175         [3cc319e31ed6] <1.8>
176
177 2011-09-22  Todd C. Miller  <Todd.Miller@courtesan.com>
178
179         * Add Italian translation for sudo from translationproject.org Regen
180         .mo files
181         [c0b27f9d7e57] <1.8>
182
183         * .hgtags:
184         Added tag SUDO_1_8_2 for changeset 3682e51af1d0
185         [f0be566e9ea2] <1.8>
186
187 2011-09-21  Todd C. Miller  <Todd.Miller@courtesan.com>
188
189         * Update to current reality and add bit about ssh auth
190         [48dcb86ce9be] <1.8>
191
192         * Make "verbose" static; fixes a namespace clash with
193         pam_ssh_agent_auth (and it doesn't need to be extern these days).
194         [b60fdd82de94] <1.8>
195
196         * configure, configure.in:
197         FreeBSD has libutil.h not util.h
198         [c03b121e0193] <1.8>
199
200         * configure, configure.in:
201         Define _BSD_SOURCE on FreeBSD, OpenBSD and DragonflyBSD
202         [002e3e0bb173] <1.8>
203
204         * Update po files from translationproject.org
205         [2b36af902213] <1.8>
206
207 2011-09-16  Todd C. Miller  <Todd.Miller@courtesan.com>
208
209         * NEWS:
210         Mention DEREF support
211         [dfeb152f1686] <1.8>
212
213         * plugins/sudoers/po/sudoers.pot:
214         sync pot files
215         [1fba22e927a3] <1.8>
216
217         * doc/sudoers.ldap.cat, doc/sudoers.ldap.man.in:
218         Add support for DEREF in ldap.conf.
219         [fe1cf6ad0add] <1.8>
220
221         * Makefile.in:
222         install target should depend on ChangeLog too, not just install-doc
223         [f54e2ab633b8] <1.8>
224
225         * NEWS, configure.in, doc/sudoers.cat, doc/sudoers.man.in:
226         Only iolog_file (not iolog_dir) supports mktemp-style suffixes.
227         [44a25099594e] <1.8>
228
229         * configure.in, plugins/sudoers/po/sudoers.pot, src/po/sudo.pot:
230         regen pot files
231         [e14ee85cf49b] <1.8>
232
233         * configure, configure.in:
234         Fix some square brackets in case statements that needed to be
235         doubled up. While here, use $OSMAJOR when it makes sense.
236         [853c6e5f994c] <1.8>
237
238         * Fix a crash in make_grlist_item() on 64-bit machines with strict
239         alignment.
240         [e877c89ae32f] <1.8>
241
242         * Remove list_options() function that is no longer used now that "sudo
243         -L" is gone.
244         [f31543c80b98] <1.8>
245
246         * configure, configure.in:
247         Error message if user tries --with-CC
248         [0ed7558b8924] <1.8>
249
250         * configure, configure.in:
251         Check for -libmldap too when looking for ldap libs, which is the
252         Tivoli Directory Server client library.
253         [831e32d1453c] <1.8>
254
255         * plugins/sudoers/po/sudoers.pot, src/po/sudo.pot:
256         regen pot files for 1.8.3
257         [df2fb085cff2] <1.8>
258
259         * NEWS, configure, configure.in, doc/sudo.cat, doc/sudo.man.in,
260         doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudoers.cat,
261         doc/sudoers.ldap.cat, doc/sudoers.ldap.man.in, doc/sudoers.man.in,
262         doc/sudoreplay.cat, doc/sudoreplay.man.in, doc/visudo.cat,
263         doc/visudo.man.in:
264         Update for version 1.8.3
265         [38cf153add0a] <1.8>
266
267 2011-09-09  Todd C. Miller  <Todd.Miller@courtesan.com>
268
269         * Honor NOPASSWD tag for denied commands too.
270         [f473c443ad54] <1.8>
271
272         * INSTALL, configure, configure.in:
273         Remove --with-CC option; it doesn't work correctly now that we use
274         libtool. Users can get the same effect by setting the CC
275         environment variable when running configure.
276         [4f04869d74fd] <1.8>
277
278 2011-08-31  Todd C. Miller  <Todd.Miller@courtesan.com>
279
280         * configure, configure.in:
281         Assume all modern systems support fstat(2).
282         [0422b19dced3] <1.8>
283
284 2011-08-30  Todd C. Miller  <Todd.Miller@courtesan.com>
285
286         * configure, configure.in:
287         Add configure test for missing errno declaration and only declare it
288         ourselves if it is missing.
289         [6d26974f7e16] <1.8>
290
291         * Include errno.h before sudo.h to avoid conflicting with the system
292         definition of errno.
293         [8000bdc0968f] <1.8>
294
295 2011-08-29  Todd C. Miller  <Todd.Miller@courtesan.com>
296
297         * Only print individual check status when there is a failure.
298         [bbdd669e7615] <1.8>
299
300         * Add calls to setprogname() for test programs.
301         [c721f3466a3a] <1.8>
302
303         * configure, configure.in:
304         Add -Wall and -Werror after all tests so they don't cause failures.
305         [20d75ce40086] <1.8>
306
307         * Actually run check_addr in the check target
308         [dcd96ef0dc57] <1.8>
309
310         * Split out address matching into its own file and add regression
311         tests for it.
312         [863f28589c24] <1.8>
313
314 2011-08-27  Todd C. Miller  <Todd.Miller@courtesan.com>
315
316         * Fix matching a network number with netmask when the network number
317         is not the first address in the CIDR block.
318         [719942c986e9] <1.8>
319
320 2011-08-26  Todd C. Miller  <Todd.Miller@courtesan.com>
321
322         * Don't assume all editors support the +linenumber command line
323         argument, use a whitelist of known good editors.
324         [d8d884af3b05] <1.8>
325
326 2011-08-23  Todd C. Miller  <Todd.Miller@courtesan.com>
327
328         * Silence compiler warnings on Solaris with gcc 3.4.3
329         [8047cdb5d6a1] <1.8>
330
331         * Fix building on RHEL 3
332         [6bb0464a7450] <1.8>
333
334         * INSTALL, configure, configure.in:
335         Add --enable-werror configure option.
336         [aa40fd459836] <1.8>
337
338         * setgroups() proto lives in grp.h on RHEL4, perhaps others.
339         [92f98cbaebf0] <1.8>
340
341         * configure, configure.in:
342         Use PAM by default on AIX 6 and higher.
343         [7ef53d5ac819] <1.8>
344
345 2011-08-22  Todd C. Miller  <Todd.Miller@courtesan.com>
346
347         * Add new Esperanto translation from translationproject.org
348         [109ed683b885] <1.8>
349
350 2011-08-19  Todd C. Miller  <Todd.Miller@courtesan.com>
351
352         * Quiet an innocuous valgrind warning.
353         [fc453e49f9dd] <1.8>
354
355 2011-08-18  Todd C. Miller  <Todd.Miller@courtesan.com>
356
357         * Fix expansion of strftime() escapes in log_dir and add a regress
358         test that exhibited the problem.
359         [784e60d21f11] <1.8>
360
361         * plugins/sudoers/po/sudoers.pot, src/po/sudo.pot:
362         Fix "make check" return value.
363         [d3608efd8da6] <1.8>
364
365 2011-08-17  Todd C. Miller  <Todd.Miller@courtesan.com>
366
367         * plugins/sudoers/po/sudoers.pot:
368         Regen pot files
369         [3682e51af1d0] [SUDO_1_8_2] <1.8>
370
371         * Makefile.in:
372         Fix logic inversion in pot file up to date check.
373         [343dbbca9422] <1.8>
374
375         * doc/sudo.cat, doc/sudo.man.in, doc/sudoers.cat,
376         doc/sudoers.ldap.cat, doc/sudoers.ldap.man.in, doc/sudoers.man.in,
377         doc/visudo.cat, doc/visudo.man.in:
378         regen docs
379         [96234478bde2] <1.8>
380
381 2011-08-15  Todd C. Miller  <Todd.Miller@courtesan.com>
382
383         * configure, configure.in:
384         Add caching for gettext() checks.
385         [4039d21424c3] <1.8>
386
387         * configure, configure.in:
388         Better handling of libintl header and library mismatch.
389         [cc9faee8e486] <1.8>
390
391 2011-08-14  Todd C. Miller  <Todd.Miller@courtesan.com>
392
393         * NEWS:
394         sync
395         [73649a44d934] <1.8>
396
397 2011-08-13  Todd C. Miller  <Todd.Miller@courtesan.com>
398
399         * Also check sudoers gid if sudoers is group writable.
400         [3d345347f6ac] <1.8>
401
402         * NEWS:
403         Update for 1.8.2 final
404         [441c22fea363] <1.8>
405
406 2011-08-12  Todd C. Miller  <Todd.Miller@courtesan.com>
407
408         * configure, configure.in:
409         If dlopen is present but libtool doesn't find it, error out since it
410         probably means that libtool doesn't support the system.
411         [6fc7c0de4f6d] <1.8>
412
413         * configure args on the command line should override builtin defaults.
414         Disable NLS for non-Linux/Solaris unless explicitly enabled.
415         [0ef165f892c2] <1.8>
416
417         * Fix loop that calls authenticate(). If there was an error message
418         from authenticate(), display it.
419         [f0686011ff2e] <1.8>
420
421 2011-08-11  Todd C. Miller  <Todd.Miller@courtesan.com>
422
423         * configure, configure.in:
424         Update to autoconf 2.68 and libtool 2.4
425         [00df5f3647e1] <1.8>
426
427         * Fix typo; OPT should be OTP
428         [31da1f989740] <1.8>
429
430         * Rename libsudoers convenience library to libparsesudoers to avoid
431         libtool confusion.
432         [e9ae9d611dd5] <1.8>
433
434 2011-08-10  Todd C. Miller  <Todd.Miller@courtesan.com>
435
436         * Add Danish sudoers translation from translationproject.org
437         [fa9cd9758249] <1.8>
438
439         * Add dedicated callback function for runas_default sudoers setting
440         that only sets runas_pw if no runas user or group was specified by
441         the user.
442         [3fb4b18525de] <1.8>
443
444 2011-08-09  Todd C. Miller  <Todd.Miller@courtesan.com>
445
446         * Update Finish, Polish, Russian and Ukrainian translations from
447         translationproject.org.
448         [0fcd8f6aff0a] <1.8>
449
450         * Makefile.in:
451         Go back to using a callback for runas_default to keep runas_pw in
452         sync. This is needed to make per-entry runas_default settings work
453         with LDAP-based sudoers. Instead of declaring it a callback in
454         def_data.in, sudo and testsudoers poke sudo_defs_table[] which is a
455         bit naughty, but avoids requiring stub functions in visudo and the
456         tests.
457         [4e8e70832f06] <1.8>
458
459 2011-08-05  Todd C. Miller  <Todd.Miller@courtesan.com>
460
461         * plugins/sudoers/po/sudoers.pot, src/po/sudo.pot:
462         Regen pot files
463         [ca5c58c599a6] <1.8>
464
465         * Makefile.in:
466         Add check for out of date message catalogs when doing "make dist".
467         [36414e5c762b] <1.8>
468
469 2011-08-02  Todd C. Miller  <Todd.Miller@courtesan.com>
470
471         * configure, configure.in:
472         Make sure compiler supports static-libgcc before using it.
473         [6c98e8809291] <1.8>
474
475 2011-08-01  Todd C. Miller  <Todd.Miller@courtesan.com>
476
477         * Link libsudo_noexec.la with LDLDFLAGS for -static-libgcc
478         [a0a3a3fa6470] <1.8>
479
480 2011-07-30  Todd C. Miller  <Todd.Miller@courtesan.com>
481
482         * Add new Russian sudo translation from translationproject.org and
483         rebuild the other translation files.
484         [e953d7d1ca6d] <1.8>
485
486 2011-07-29  Todd C. Miller  <Todd.Miller@courtesan.com>
487
488         * Update Finish and Polish translations from translationproject.org
489         [17e408d73c85] <1.8>
490
491         * Go back to escaping the command args for "sudo -i" and "sudo -s"
492         before calling the plugin. Otherwise, spaces in the command args
493         are not treated properly. The sudoers plugin will unescape non-
494         spaces to make matching easier.
495         [f666191a4e80] <1.8>
496
497 2011-07-28  Todd C. Miller  <Todd.Miller@courtesan.com>
498
499         * Fix some potential problems found by the clang static analyzer, none
500         serious.
501         [c1ab4b940980] <1.8>
502
503         * Updated Ukranian and Chinese (simplified) po files from
504         translationproject.org
505         [792a66672715] <1.8>
506
507 2011-07-27  Todd C. Miller  <Todd.Miller@courtesan.com>
508
509         * Updated Polish translation from translationproject.org
510         [5f434cc04482] <1.8>
511
512         * plugins/sudoers/po/sudoers.pot, src/po/sudo.pot:
513         Rebuild pot files
514         [639230dbd741] <1.8>
515
516         * Don't try to audit failure if the runas user does not exist. We
517         don't have the user's command at this point so there is nothing to
518         audit. Add a NULL check in audit_success() and audit_failure() just
519         to be on the safe side.
520         [2bfb96a32b00] <1.8>
521
522         * Add -g to CFLAG for PIE builds.
523         [e4c94977ca4e] <1.8>
524
525 2011-07-25  Todd C. Miller  <Todd.Miller@courtesan.com>
526
527         * Remove fallback to per-group lookup when matching groups in sudoers.
528         The sudo front-end will now use getgrouplist() to get the user's
529         list of groups if getgroups() fails or returns zero groups so we
530         always have a list of the user's groups. For systems with
531         mbr_check_membership() which support more that NGROUPS_MAX groups
532         (Mac OS X), skip the call to getgroups() and use getgrouplist() so
533         we get all the groups.
534         [168d6d4a386b] <1.8>
535
536 2011-07-22  Todd C. Miller  <Todd.Miller@courtesan.com>
537
538         * Fix setgroups() fallback code on EINVAL.
539         [dd1310945ab3] <1.8>
540
541         * Fix two PERM_INITIAL cases that were still using user_gids.
542         [d497d0d47a23] <1.8>
543
544         * Add Polish sudo message catalog
545         [1a0aa3f9f179] <1.8>
546
547         * user_group is no longer used, remove it
548         [379185a76094] <1.8>
549
550 2011-07-21  Todd C. Miller  <Todd.Miller@courtesan.com>
551
552         * Add Polish translation from translationproject.org
553         [2e7cdfe4ef41] <1.8>
554
555         * Add a wrapper for setgroups() that trims off extra groups and
556         retries if setgroups() fails. Also add some missing addrefs for
557         PERM_USER and PERM_FULL_USER.
558         [bacb4170a510] <1.8>
559
560         * configure, configure.in:
561         Instead of keeping separate groups and gids arrays, create struct
562         group_info and use it to store both, along with a count for each.
563         Cache group info on a per-user basis using getgrouplist() to get the
564         groups. We no longer need special to special case the user or list
565         user for user_in_group() and thus no longer need to reset the groups
566         list when listing another user.
567         [f1d8962821a0] <1.8>
568
569         * Don't rely on NULL since we don't include a header for it.
570         [ed46286f848b] <1.8>
571
572         * Fix typo
573         [a38b8fbb0e70] <1.8>
574
575         * Do not shadow global sudo_mode with a local variable in set_cmnd()
576         [8e462ebafea4] <1.8>
577
578 2011-07-17  Todd C. Miller  <Todd.Miller@courtesan.com>
579
580         * bash 2.x doesd not support the -l flag and exits with an error if it
581         is specified so use --login instead. This causes an error with bash
582         1.x (which uses -login instead) but this version is hopefully less
583         used than 2.x.
584         [73020a67b9d5] <1.8>
585
586         * Add Polish translation from translationproject.org
587         [8cac0da9ffb1] <1.8>
588
589 2011-07-13  Todd C. Miller  <Todd.Miller@courtesan.com>
590
591         * Make error strings translatable.
592         [d1ff594f27b5] <1.8>
593
594         * Only run configure with --with-pam-login for RHEL 5 and above.
595         [2f1a0ff5230e] <1.8>
596
597         * Fix typo in summary
598         [1e1d7dcae9ab] <1.8>
599
600 2011-07-11  Todd C. Miller  <Todd.Miller@courtesan.com>
601
602         * Add missing logwrap.c
603         [abcd28c194d2] <1.8>
604
605         * Split out log file word wrap code into its own file and add unit
606         tests. Fixes an off-by one in the word wrap when the log line
607         length matches loglinelen.
608         [0ae1c7aa9ef1] <1.8>
609
610 2011-07-05  Todd C. Miller  <Todd.Miller@courtesan.com>
611
612         * For SuSE, only use /usr/lib64 as libexec if generating 64-bit
613         binaries.
614         [4448fa1c639f] <1.8>
615
616         * Fix build error when --without-noexec configure option is used.
617         [f6bfd748ae45] <1.8>
618
619         * configure, configure.in:
620         Disable noexec for AIX < 5. LDR_PRELOAD is only available in AIX
621         5.3 and above.
622         [9d957ae1840d] <1.8>
623
624 2011-07-03  Todd C. Miller  <Todd.Miller@courtesan.com>
625
626         * NEWS, doc/UPGRADE:
627         Document group lookup change and possible side effects.
628         [fe4b2d2701b2] <1.8>
629
630 2011-07-01  Todd C. Miller  <Todd.Miller@courtesan.com>
631
632         * Resolve the list of gids passed in from the sudo frontend (the
633         result of getgroups()) to names and store both the group names and
634         ids in the sudo_user struct. When matching groups in the sudoers
635         file, match based on the names in the groups list first and only do
636         a gid-based match when we absolutely have to. By matching on the
637         group name (as it is listed in sudoers) instead of id (which we
638         would have to resolve) we save a lot of group lookups for sudoers
639         files with a lot of groups in them.
640         [c10d208bd7e5] <1.8>
641
642 2011-06-29  Todd C. Miller  <Todd.Miller@courtesan.com>
643
644         * NEWS:
645         Update for 1.8.2rc5
646         [f6a3aa2edf7a] <1.8>
647
648 2011-06-26  Todd C. Miller  <Todd.Miller@courtesan.com>
649
650         * Workaround for "sudo -i command" and newer versions of bash which
651         don't go into login mode when -c is specified unless -l is too.
652         [381e74d35006] <1.8>
653
654 2011-06-23  Todd C. Miller  <Todd.Miller@courtesan.com>
655
656         * Rewrite logfile word wrapping code to be more straight-forward and
657         actually wrap at the correct place.
658         [8a7862d6a82f] <1.8>
659
660 2011-06-22  Todd C. Miller  <Todd.Miller@courtesan.com>
661
662         * NEWS:
663         Fix typo
664         [2456ad2ad3e3] <1.8>
665
666         * NEWS:
667         Mention use_pty bug fix
668         [f4eab5193452] <1.8>
669
670         * Set use_pty=true in command details when use_pty is set in sudoers.
671         From Ludwig Nussel
672         [abaafc5793d9] <1.8>
673
674 2011-06-20  Todd C. Miller  <Todd.Miller@courtesan.com>
675
676         * Sync Chinese (simplified) PO files from translationproject.org
677         [a4cf84dd9ddf] <1.8>
678
679 2011-06-18  Todd C. Miller  <Todd.Miller@courtesan.com>
680
681         * Add Danish translation from translationproject.org and add missing
682         Basque mo files.
683         [672b88adcc34] <1.8>
684
685         * Makefile.in, configure, configure.in:
686         No longer need to specify LINGUAS in configure, "make install-nls"
687         now just installs all the .mo files it finds.
688         [c226a39ece48] <1.8>
689
690 2011-06-17  Todd C. Miller  <Todd.Miller@courtesan.com>
691
692         * Build CONTRIBUTORS from newly-added contributors.pod
693         [b8871dd293ff] <1.8>
694
695         * Rework the wording in the leading paragraph
696         [d8b081dedeb3] <1.8>
697
698 2011-06-16  Todd C. Miller  <Todd.Miller@courtesan.com>
699
700         * Add a CONTRIBUTORS file with the names of folks who have contributed
701         code or patches to sudo since I started maintaining it (plus the
702         original authors).
703         [8b064e8996af] <1.8>
704
705 2011-06-13  Todd C. Miller  <Todd.Miller@courtesan.com>
706
707         * Preserve SHELL variable for "sudo -s". Otherwise we can end up with
708         a situation where the SHELL variable and the actual shell being run
709         do not match.
710         [8f5bb61a8b76] <1.8>
711
712 2011-06-10  Todd C. Miller  <Todd.Miller@courtesan.com>
713
714         * configure, configure.in:
715         Only enable Solaris project support when setproject() is present in
716         libproject.
717         [bf370ff3c194] <1.8>
718
719         * Explicitly set mode and owner of /etc/sudoers instead of relying on
720         "cp -p" to work in the postinstall script. On AIX 6.1 at least the
721         postinstall script runs before the final file permissions are set.
722         [7a4a87405349] <1.8>
723
724         * Refer the user to the "Command Environment" section in description
725         of sudo's -i option.
726         [1a063eaf9670] <1.8>
727
728         * Fix typo
729         [442c50370c44] <1.8>
730
731         * If there is no old dependency for an object file, use the MANIFEST
732         to find its source.
733         [d95c77ad283f] <1.8>
734
735         * Remove dependency for getgrouplist.lo as we don't ship that source
736         file.
737         [bbede77e6256] <1.8>
738
739         * Do not declare yyparse() static as the actual function generated by
740         yacc is extern.
741         [8e615bd15a4c] <1.8>
742
743         * Makefile.in:
744         Remove locale files in "make uninstall"
745         [9791be90d5ac] <1.8>
746
747 2011-06-06  Todd C. Miller  <Todd.Miller@courtesan.com>
748
749         * configure.in:
750         Add Basque translation and sync Finish and Ukranian translations.
751         [64af34789164] <1.8>
752
753         * NEWS:
754         Update PAM change to reflect latest checkin.
755         [657cddf2077a] <1.8>
756
757         * configure, configure.in:
758         FreeBSD no longer needs the main sudo binary to link with -lpam now
759         that plug-ins are loaded with RTLD_GLOBAL.
760         [573a6f4b29af] <1.8>
761
762         * Load plugins with RTLD_GLOBAL instead of RTLD_LOCAL. This fixes
763         problems with pam modules not having access to symbols provided by
764         libpam on some platforms. Affects FreeBSD and SLES 10 at least.
765         [4ec864fdba46] <1.8>
766
767         * Makefile.in:
768         Move xgettext invocation out of update-po target into update-pot
769         [421ac1a073ea] <1.8>
770
771 2011-06-04  Todd C. Miller  <Todd.Miller@courtesan.com>
772
773         * plugins/sudoers/po/sudoers.pot, src/po/sudo.pot:
774         Regenerate .pot files for 1.8.2rc2
775         [d2a891e3d3dd] <1.8>
776
777         * Makefile.in:
778         Move nls targets to the top level Makefile so the paths in the pot
779         file are saner
780         [6c256cb77f78] <1.8>
781
782         * NEWS:
783         Update 1.8.2 news
784         [17bd04278b04] <1.8>
785
786         * Add compiled version of sudo Finish translation
787         [ff9d20a02aa0] <1.8>
788
789         * Update MANIFEST with .po and .mo files Rebuild sudoers fi and uk .mo
790         files
791         [60c4f3b3829c] <1.8>
792
793         * configure, configure.in:
794         Add Finish translation from translationproject.org
795         [ade788a35521] <1.8>
796
797         * The group named by exempt_group should not have a % prefix.
798         [1f74c691c1e1] <1.8>
799
800         * Fix typo; "Defaults group_plugin" not "Defaults sudo_plugin"
801         [58d36c0e76f9] <1.8>
802
803         * Fix compressed io log corruption in background mode by using _exit()
804         instead of exit() to avoid flushing buffers twice.
805
806         Improved background mode support. When not allocating a pty, the
807         command is run in its own process group. This prevents write access
808         to the tty. When running in a pty, stdin is not hooked up and we
809         never read from /dev/tty, which results in similar behavior.
810         [fe50d6a5c5b9] <1.8>
811
812 2011-05-31  Todd C. Miller  <Todd.Miller@courtesan.com>
813
814         * Clean up regress files Generate proper dependencies for regress objs
815         in compat
816         [264196584549] <1.8>
817
818         * Add missing dependency for check_fill.o.
819         [c41f4e6ff078] <1.8>
820
821 2011-05-30  Todd C. Miller  <Todd.Miller@courtesan.com>
822
823         * INSTALL, configure, configure.in:
824         Add support for --enable-nls[=location]
825         [0ea8e7bd1739] <1.8>
826
827 2011-05-28  Todd C. Miller  <Todd.Miller@courtesan.com>
828
829         * Include gettext.h
830         [fe8bab6403c6] <1.8>
831
832         * Quiet gcc warnings.
833         [aa16d09710a7] <1.8>
834
835         * configure, configure.in:
836         Don't install .mo files if gettext was not found.
837         [c6b233e829aa] <1.8>
838
839 2011-05-27  Todd C. Miller  <Todd.Miller@courtesan.com>
840
841         * Always allocate a pty when running a command in the background but
842         call setsid() after forking to make sure we don't end up with a
843         controlling tty.
844         [77c6b2923714] <1.8>
845
846         * Add missing space between command name and the first command line
847         argument.
848         [d0a36b9c0f38] <1.8>
849
850         * Quiet a compiler warning on some platforms.
851         [654e76cf0574] <1.8>
852
853         * README file that directs people to translationproject.org
854         [5545e9a5ae37] <1.8>
855
856         * Sync translations with TP
857         [b054ce577022] <1.8>
858
859         * Makefile.in:
860         Add 'sync-po' target to top-level Makefile to rsync the po files
861         from translationproject.org.
862         [87a5011b0410] <1.8>
863
864         * install nls files from install target
865         [a3feba9ef323] <1.8>
866
867         * Makefile.in:
868         Include .mo files in sudo binary packags.
869         [bc3ee7e7fb44] <1.8>
870
871         * configure, configure.in:
872         Add simplified chinese translation
873         [c22e6842c766] <1.8>
874
875 2011-05-26  Todd C. Miller  <Todd.Miller@courtesan.com>
876
877         * configure, configure.in:
878         Add ukranian translation
879         [0bb9e6437f0f] <1.8>
880
881         * refer to siglist.c, not ./siglist.c since not all makes will treat
882         foo and ./foo the same.
883         [909051ff6061] <1.8>
884
885         * Set def_preserve_groups before searching for the command when the -P
886         flag is specified.
887         [08e9378f50e4] <1.8>
888
889         * Makefile.in:
890         Add dependency for siglist.lo in compat. This is a generated file
891         so "make depend" needs to depend on it.
892         [e6c0daf36af0] <1.8>
893
894         * More dependency fixes.
895         [7fed03624689] <1.8>
896
897         * Fix a few dependencies.
898         [7cb86c721961] <1.8>
899
900         * Place compiled mo files in the src dir, not the build dir. When
901         installing compiled mo files, display a status message.
902         [b87aa18a9968] <1.8>
903
904 2011-05-25  Todd C. Miller  <Todd.Miller@courtesan.com>
905
906         * Tivoli Directory Server requires that seconds be present in a
907         timestamp, even though RFC 4517 states that they are optional.
908         [47ebf110ea7a] <1.8>
909
910         * Add missing bit of copyright
911         [d05d28a91bc4] <1.8>
912
913         * Mention cycle detection warnings
914         [ee8231aa1aed] <1.8>
915
916         * When checking aliases, also check the contents of the alias in case
917         there are problems with an alias that is referenced inside another.
918         Replace the self reference check with real alias cycle detection.
919         [abcfe1bc95d8] <1.8>
920
921         * Set errno to ELOOP in alias_find() if there is a cycle. Set errno to
922         ENOENT in alias_find() and alias_remove() if the entry could not be
923         found.
924         [e73d169f4e9b] <1.8>
925
926         * Increment alias_seqno before calls to alias_remove_recursive() to
927         avoid false positives with the alias loop detection. Fixes spurious
928         warnings about unused aliases when they are nested.
929         [ac094820ef19] <1.8>
930
931         * add mkdep.pl
932         [3721e9654ba6] <1.8>
933
934         * Add dependency on convenience libs to binaries
935         [8a4db8226dfe] <1.8>
936
937         * Makefile.in:
938         mkdep.pl only works when run from the src dir
939         [2480427a0680] <1.8>
940
941         * Makefile.in:
942         Auto-generate Makefile dependencies with a perl script.
943         [ef5f56907d97] <1.8>
944
945 2011-05-23  Todd C. Miller  <Todd.Miller@courtesan.com>
946
947         * If the user specifies a runas group via sudo's -g option that
948         matches the runas user's group in the passwd database and that group
949         is not denied in the Runas_Spec, allow it. Thus, if user root's gid
950         in /etc/passwd is 0, then "sudo -u root -g root id" is allow even if
951         no groups are present in the Runas_Spec.
952         [942e1e7c5090] <1.8>
953
954 2011-05-22  Todd C. Miller  <Todd.Miller@courtesan.com>
955
956         * NEWS:
957         Mention what is new in 1.8.2 (for now)
958         [d44b26eceee5] <1.8>
959
960         * Add dependencies on gettext.h
961         [32c61c6af852] <1.8>
962
963         * Fix install-nls target with HP-UX sh when gettext is not present.
964         [3441cece9638] <1.8>
965
966         * doc/sudo.cat, doc/sudo.man.in, doc/sudo_plugin.cat,
967         doc/sudo_plugin.man.in, doc/sudoers.cat, doc/sudoers.ldap.cat,
968         doc/sudoers.ldap.man.in, doc/sudoers.man.in, doc/sudoreplay.cat,
969         doc/sudoreplay.man.in, doc/visudo.cat, doc/visudo.man.in:
970         Regen for sudo 1.8.2
971         [9ea124b542cc] <1.8>
972
973 2011-05-20  Todd C. Miller  <Todd.Miller@courtesan.com>
974
975         * plugins/sudoers/po/sudoers.pot, src/po/sudo.pot:
976         regenerate .pot files for lbuf changes
977         [a8a9cc62c3a5] <1.8>
978
979         * configure, configure.in:
980         Add missing "checking" message for gettext when using the cache.
981         [4136bc346576] <1.8>
982
983         * Add primitive format string support to the lbuf code to make
984         translations simpler.
985         [22fc74618d09] <1.8>
986
987         * configure, configure.in, plugins/sudoers/po/sudoers.pot,
988         src/po/sudo.pot:
989         Bump version to 1.8.2
990         [999de1ac5b3e] <1.8>
991
992         * Add message catalog template files for sudo and the sudoers module.
993         [6afad75e7afa] <1.8>
994
995         * configure.in:
996         Add gettext.h convenience header. This is similar to but distinct
997         from the one included with the gettext package.
998         [5ae5a86e0d06] <1.8>
999
1000         * configure, configure.in:
1001         Add checks for nroff -c and -Tascii flags
1002         [580c21905280] <1.8>
1003
1004         * configure, configure.in:
1005         Add check for HP bundled C Compiler (which cannot create shared
1006         libs)
1007         [34f616cbb0f3] <1.8>
1008
1009         * Fix C format warnings.
1010         [f20a43a817f0] <1.8>
1011
1012         * Add __printflike
1013         [76bf8a4bf075] <1.8>
1014
1015         * Translate help / usage strings.
1016         [16c5b7902d4c] <1.8>
1017
1018         * Set --msgid-bugs-address to the bugzilla url
1019         [3e3cfa7b4ceb] <1.8>
1020
1021         * INSTALL, Makefile.in, README, configure, configure.in:
1022         Add scaffolding to update .po files and install .mo files.
1023         [a51e60b35e47] <1.8>
1024
1025         * Minor warning/error cleanup
1026         [593144ac87ff] <1.8>
1027
1028         * configure.in:
1029         Emulate ngettext for the non-nls case
1030         [7cdf82de4dee] <1.8>
1031
1032         * Do not mark untranslatable strings for translation
1033         [088271ed02d0] <1.8>
1034
1035         * Use ROOT_UID not 0.
1036         [f901fa2fdaf2] <1.8>
1037
1038         * Minor warning/error message cleanup
1039         [b99c7ef46236] <1.8>
1040
1041         * cannot -> "unable to" in warning/error messages can't -> "unable to"
1042         in warning/error messages
1043         [5119140fabc7] <1.8>
1044
1045         * configure, configure.in:
1046         FreeBSD needs the main sudo executable to link with -lpam when
1047         loading dynaic pam modules for some reason.
1048         [738b6778a505] <1.8>
1049
1050         * We don't want to translate debugging messages.
1051         [357a575c2dfd] <1.8>
1052
1053         * configure, configure.in:
1054         Add calls to bindtextdomain() and textdomain() Currently there are
1055         two domains, one for the sudo front-end and one for the sudoers
1056         plugin and its associated utilities.
1057         [907f39439d80] <1.8>
1058
1059         * configure, configure.in:
1060         Fix caching of libc gettext check.
1061         [e229c21f412f] <1.8>
1062
1063         * Mark defaults descriptions for translation
1064         [65e03d1f8203] <1.8>
1065
1066         * NEWS:
1067         Update for sudo 1.8.1p2
1068         [89c31f2aa11e] <1.8>
1069
1070         * Quiet compiler warning when SELinux is enabled.
1071         [51b1d7c8aa86] <1.8>
1072
1073         * dd missing includes of libintl.h.
1074         [25662143d36d] <1.8>
1075
1076         * Fix gettext marker.
1077         [7618856ba5de] <1.8>
1078
1079         * Include libint.h where needed.
1080         [cc256b297b9d] <1.8>
1081
1082         * Prepare sudoers module messages for translation.
1083         [1b7f0bbaa55f] <1.8>
1084
1085         * Only check gid of sudoers file if it is group-readable.
1086         [f3cae943f35a] <1.8>
1087
1088         * For AIX, keep calling authenticate() until reenter reaches 0.
1089         [e412676bac73] <1.8>
1090
1091         * configure, configure.in:
1092         Cache the status of the initial gettext() check.
1093         [c32281768c0f] <1.8>
1094
1095         * INSTALL, configure, configure.in:
1096         Add --disable-nls flag and improve checks for gettext.
1097         [b39674c1e538] <1.8>
1098
1099         * configure, configure.in:
1100         When building with gcc on HP-UX, use -march=1.1 to produce portable
1101         binaries on a pa-risc2 host. Previously, the +Dportable option was
1102         used for the HP-UX C compiler but gcc always produced native
1103         binaries.
1104         [41351c23ad41] <1.8>
1105
1106         * Prepare sudo front end messages for translation.
1107         [7807d6f74dac] <1.8>
1108
1109         * configure, configure.in:
1110         Add initial scaffolding to support localization via gettext()
1111         [cdbbff7e6376] <1.8>
1112
1113 2011-05-19  Todd C. Miller  <Todd.Miller@courtesan.com>
1114
1115         * doc/license.pod:
1116         update copyright year
1117         [d681661f03cc] <1.8>
1118
1119         * INSTALL, README:
1120         No need to include version number at the top of these files.
1121         [7e11f673f773] <1.8>
1122
1123         * README:
1124         This is sudo 1.8.1 not 1.8.0
1125         [4d674f230d8a] <1.8>
1126
1127 2011-05-04  Todd C. Miller  <Todd.Miller@courtesan.com>
1128
1129         * Don't let the fnmatch/glob macros expand the function prototype.
1130         [d449e9a8f447] <1.8>
1131
1132 2011-05-03  Todd C. Miller  <Todd.Miller@courtesan.com>
1133
1134         * Resolve namespace collisions on HP-UX ia64 and possibly others by
1135         adding a rpl_ prefix to our fnmatch and glob replacements and
1136         #defining rpl_foo to foo in the header files.
1137         [d23889375b21] <1.8>
1138
1139 2011-04-29  Todd C. Miller  <Todd.Miller@courtesan.com>
1140
1141         * Split ALL, ROLE and TYPE into their own actions. Since you can only
1142         have #ifdefs inside of braces, ROLE and TYPE use a naughty goto in
1143         the non-SELinux case. This is safe because the actions are in one
1144         big switch() statement.
1145         [0bd9b7e37ab1] <1.8>
1146
1147         * Fix regexp for matching a CIDR-style IPv4 netmask. From Marc Espie.
1148         [8dec97b359e0] <1.8>
1149
1150         * askpass moved from sudoers to sudo.conf in sudo 1.8.0
1151         [1001d87d82ed] <1.8>
1152
1153         * Remove obsolete warning about runas_default and ordering. Move
1154         syslog facility and priority lists into the section where the
1155         relevant options are described.
1156         [1286b9624021] <1.8>
1157
1158 2011-04-26  Todd C. Miller  <Todd.Miller@courtesan.com>
1159
1160         * Fix SIA support; we no longer have access to the real argc and argv
1161         so allocate space for a fake one and use the argv passed to the
1162         plugin with "sudo" for argv[0].
1163         [7c11eeffb91c] <1.8>
1164
1165         * Remove useless realloc when trying to get the buffer size right.
1166         [58128e7f4e28] <1.8>
1167
1168         * Be explicit when setting euid to 0 before call to setreuid(0, 0)
1169         [95769a564ab8] <1.8>
1170
1171 2011-04-18  Todd C. Miller  <Todd.Miller@courtesan.com>
1172
1173         * NEWS:
1174         sudo 1.8.1p1 updates
1175         [de3d688b5bb1] <1.8>
1176
1177         * configure, configure.in:
1178         Need to do checks for krb5_verify_user, krb5_init_secure_context and
1179         krb5_get_init_creds_opt_alloc regardless of whether or
1180         notkrb5-config is present.
1181         [456c4a9cd5d6] <1.8>
1182
1183 2011-04-15  Todd C. Miller  <Todd.Miller@courtesan.com>
1184
1185         * Work around weird AIX saved uid semantics on setuid() and
1186         setreuid(). On AIX, setuid() will only set the saved uid if the euid
1187         is already 0.
1188         [5d0a69e9d181] <1.8>
1189
1190 2011-04-14  Todd C. Miller  <Todd.Miller@courtesan.com>
1191
1192         * update copyright year
1193         [fa8da6d55783] <1.8>
1194
1195         * Treat a missing includedir like an empty one and do not return an
1196         error.
1197         [5fd9fe004728] <1.8>
1198
1199 2011-04-12  Todd C. Miller  <Todd.Miller@courtesan.com>
1200
1201         * Fix ARCH setting in cross-compile Solaris packages.
1202         [8ce40940f6c9] <1.8>
1203
1204         * Fix aix version setting.
1205         [02a9e25d46ba] <1.8>
1206
1207         * Remove extraneous parens in LDAP filter when sudoers_search_filter
1208         is enabled that causes a search error. From Matthew Thomas.
1209         [b67be9b51ec6] <1.8>
1210
1211 2011-04-11  Todd C. Miller  <Todd.Miller@courtesan.com>
1212
1213         * Correct sizeof() to fix test failure.
1214         [a11b89fd13f9] <1.8>
1215
1216         * "install" target should depend on "install-dirs". Fixes "make -j"
1217         problem and closes bz #487. From Chris Coleman.
1218         [06ab0558f848] <1.8>
1219
1220 2011-04-09  Todd C. Miller  <Todd.Miller@courtesan.com>
1221
1222         * .hgtags:
1223         Added tag SUDO_1_8_1 for changeset 0ed6281995f0
1224         [543d41a163e9] <1.8>
1225
1226         * doc/sudo.cat, doc/sudo.man.in, doc/sudo_plugin.cat,
1227         doc/sudo_plugin.man.in, doc/sudoers.cat, doc/sudoers.ldap.cat,
1228         doc/sudoers.ldap.man.in, doc/sudoers.man.in, doc/sudoreplay.cat,
1229         doc/sudoreplay.man.in, doc/visudo.cat, doc/visudo.man.in:
1230         Regen man pages for 1.8.1
1231         [0ed6281995f0] [SUDO_1_8_1] <1.8>
1232
1233 2011-04-07  Todd C. Miller  <Todd.Miller@courtesan.com>
1234
1235         * Add HAVE_RFC1938_SKEYCHALLENGE
1236         [c0d7eb39799d] <1.8>
1237
1238 2011-04-06  Todd C. Miller  <Todd.Miller@courtesan.com>
1239
1240         * Mention plugin loading and libgcc changes
1241         [b74929cba37c] <1.8>
1242
1243         * Load plugins after parsing arguments and potentially printing the
1244         version. That way, an error loading or initializing a plugin
1245         doesn't break "sudo -h" or "sudo -V".
1246         [c1ecb5979cf0] <1.8>
1247
1248         * Makefile.in:
1249         When using a sub-shell to invoke the sub-make, exec make instead of
1250         running it inside the shell to avoid an extra process.
1251         [9439f016c993] <1.8>
1252
1253         * Stop testing unspecified behavior in fnmatch Make glob test more
1254         portable
1255         [87a91d76fbff] <1.8>
1256
1257         * No need to add current dir to include path and having it breaks the
1258         test programs that expect to get the system glob.h and fnmatch.h
1259         [3ae7f9e7b710] <1.8>
1260
1261         * configure, configure.in:
1262         Fix and document --with-plugindir; partially from Diego Elio Petteno
1263         [0220a0c2606f] <1.8>
1264
1265         * Fix fnmatch and glob tests to not use hard-coded flag values in the
1266         input file. Link test programs with libreplace so we get our
1267         replacement verions as needed.
1268         [66bab80241e0] <1.8>
1269
1270         * Makefile.in:
1271         If make in a subdir fails, fail the target in the upper level
1272         Makefile too. Adapted from a patch from Diego Elio Petteno
1273         [bc35b7813507] <1.8>
1274
1275         * configure, configure.in:
1276         Add check for NetBSD-style 4-argument skeychallenge() as Gentoo also
1277         has this. Adapted from a patch from Diego Elio Petteno
1278         [bb6228f484b9] <1.8>
1279
1280         * Make SUDOERS_LDFLAGS reference $(LDFLAGS) instead of using @LDFLAGS@
1281         directly.
1282         [47e6d5fadc6d] <1.8>
1283
1284         * configure, configure.in:
1285         Fix warnings when -without-skey, --without-opie, --without-kerb4,
1286         --without-kerb5 or --without-SecurID were specified.
1287         [1b75035dd129] <1.8>
1288
1289         * Add plugins/sudoers/sudoers_version.h
1290         [1d470c6033ca] <1.8>
1291
1292         * configure, configure.in:
1293         Back out the --with-libpath addition to SUDOERS_LDFLAGS since that
1294         now include LDFLAGS in the sudoers Makefile.in. Add missing settng
1295         of @LDFLAGS@ in plugin Makefile.in files.
1296         [dd237f43aa12] <1.8>
1297
1298 2011-04-05  Todd C. Miller  <Todd.Miller@courtesan.com>
1299
1300         * Mention %#gid support in User_List and Runas_List
1301         [37e259b9181b] <1.8>
1302
1303         * Keep track of sudoers grammar version and report it in the -V
1304         output.
1305         [0e0b891dd8a4] <1.8>
1306
1307         * Add multiple inclusion guard
1308         [ec6884f51ea8] <1.8>
1309
1310         * configure, configure.in:
1311         The --with-libpath option now adds to SUDOERS_LDFLAGS as well as
1312         LDFLAGS. Remove old -static hack for HP-UX < 9. Add LTLDFLAGS and
1313         set it to -Wc,-static-libgcc if not using GNU ld so we don't
1314         have a dependency on the shared libgcc in sudoers.so.
1315         [28d03f3eb0d2] <1.8>
1316
1317         * Fix typo; from Petr Uzel
1318         [d19b9bd92bd3] <1.8>
1319
1320 2011-04-01  Todd C. Miller  <Todd.Miller@courtesan.com>
1321
1322         * In dump-only mode, use "root" as the default username instead of
1323         "nobody" as the latter may not be available on all systems.
1324         [b304111616dd] <1.8>
1325
1326 2011-03-31  Todd C. Miller  <Todd.Miller@courtesan.com>
1327
1328         * Remove NewArgv/NewArgc, they are no longer needed.
1329         [c0a36a42a68c] <1.8>
1330
1331         * Fix setting of user_args
1332         [529e79ea95d1] <1.8>
1333
1334         * Add '!' token to lex tracing
1335         [aef295d428e7] <1.8>
1336
1337         * Use group bin in test, not wheel as most systems have the bin group
1338         but the same is no longer true of wheel.
1339         [350347f09c1a] <1.8>
1340
1341         * Avoid using pre or post increment in a parameter to a ctype(3)
1342         function as it might be a macro that causes the increment to happen
1343         more than once.
1344         [8a94ebdd53b8] <1.8>
1345
1346 2011-03-30  Todd C. Miller  <Todd.Miller@courtesan.com>
1347
1348         * Strip off the beta or release candidate version when building AIX
1349         packages.
1350         [00ad950764e2] <1.8>
1351
1352         * configure, configure.in:
1353         We need to include OSDEFS in CFLAGS when doing the utmp/utmpx
1354         structure checks for glibc which only has __e_termination visible
1355         when _GNU_SOURCE is *not* defined.
1356         [1d58420a4a4a] <1.8>
1357
1358         * getuserattr(user, ...) will fall back to the "default" entry
1359         automatically, there's no need to check "default" manually.
1360         [cefffa82967d] <1.8>
1361
1362         * Document parser changes.
1363         [5038238f60eb] <1.8>
1364
1365 2011-03-29  Todd C. Miller  <Todd.Miller@courtesan.com>
1366
1367         * Makefile.in:
1368         If there is an existing sudoers file, only install if it passes a
1369         syntax check.
1370         [b1e4c9c56fe0] <1.8>
1371
1372         * Add runasgroup support to testsudoers
1373         [30838590e9de] <1.8>
1374
1375         * For "make check", keep going even if a test fails.
1376         [d3a72f67227e] <1.8>
1377
1378         * More useful exit codes:
1379          * 0 - parsed OK and command matched.
1380          * 1 - parse error
1381          * 2 - command not matched
1382          * 3 - command denied
1383         [59301e0769cd] <1.8>
1384
1385         * Document %#gid, and %:#nonunix_gid syntax.
1386         [39ee15af58e9] <1.8>
1387
1388         * Add support to user_in_group() for treating group names that begin
1389         with a '#' as gids.
1390         [0eb19980cf5f] <1.8>
1391
1392         * configure, configure.in:
1393         Add explicit check for struct utmpx.ut_exit.e_termination and struct
1394         utmpx.ut_exit.__e_termination. HP-UX uses the latter. Only update
1395         ut_exit if we detect one or the other.
1396         [ab5b665fc04b] <1.8>
1397
1398 2011-03-28  Todd C. Miller  <Todd.Miller@courtesan.com>
1399
1400         * Add back missing #include of config.h
1401         [9c82bec81018] <1.8>
1402
1403         * Avoid a NULL deref on unrecognized escapes. Collapse %% -> % like
1404         strftime() does.
1405         [1ae630470f8a] <1.8>
1406
1407         * Quote first argument to AC_DEFUN(); from Elan Ruusamae
1408         [c467e9e3b399] <1.8>
1409
1410 2011-03-27  Todd C. Miller  <Todd.Miller@courtesan.com>
1411
1412         * add new sudoers tests
1413         [05f2a0924acc] <1.8>
1414
1415         * Add test for a newline in the middle of a string when no line
1416         continuation character is used.
1417         [24b79be5822b] <1.8>
1418
1419         * Use bitwise AND instead of modulus to check for length being odd. A
1420         newline in the middle of a string is an error unless a line
1421         continuation character is used.
1422         [65c468599688] <1.8>
1423
1424         * Move lexer globals initialization into init_lexer.
1425         [07a1171a1853] <1.8>
1426
1427         * Fix a potential crash when a non-regular file is present in an
1428         includedir. Fixes bz #452
1429         [5057cb9516e4] <1.8>
1430
1431         * On some Linux systems, "uname -p" contains detailed processor info
1432         so check "uname -m" first and then "uname -p" if needed. Recognize
1433         PLD Linux.
1434         [56226c84a060] <1.8>
1435
1436 2011-03-25  Todd C. Miller  <Todd.Miller@courtesan.com>
1437
1438         * Don't need all sudoers.h here.
1439         [43b6ae5999c5] <1.8>
1440
1441         * Print sudo version early, in case policy plugin init fails.
1442         [620f2d0ec4b1] <1.8>
1443
1444 2011-03-24  Todd C. Miller  <Todd.Miller@courtesan.com>
1445
1446         * Update to match change in input.
1447         [69540f84721d] <1.8>
1448
1449         * Make an empty group or netgroup a syntax error.
1450         [4b85bddc494e] <1.8>
1451
1452         * An empty group or netgroup should be a syntax error.
1453         [6ec796972eff] <1.8>
1454
1455         * Check that uids work in per-user and per-runas Defaults Check that
1456         uids and gids work in a Command_Spec
1457         [68cf62353420] <1.8>
1458
1459         * Test empty string in User_Alias and Command_Spec
1460         [017d487c31be] <1.8>
1461
1462         * Allow a group ID in the User_Spec.
1463         [37e0bf69c8d8] <1.8>
1464
1465         * Return an error for the empty string when a word is expected. Allow
1466         an ID for per-user or per-runas Defaults.
1467         [4c9020779582] <1.8>
1468
1469 2011-03-23  Todd C. Miller  <Todd.Miller@courtesan.com>
1470
1471         * Fix printing "User_Alias FOO = ALL"
1472         [97c9fd7caeb7] <1.8>
1473
1474 2011-03-22  Todd C. Miller  <Todd.Miller@courtesan.com>
1475
1476         * Better error message about invalid -C argument
1477         [2301e7a3835b] <1.8>
1478
1479         * fix typo
1480         [c5acde62a309] <1.8>
1481
1482         * Fix placement of equal size ('=') in user specification summary.
1483         [4d0ffef77ae4] <1.8>
1484
1485 2011-03-21  Todd C. Miller  <Todd.Miller@courtesan.com>
1486
1487         * update to match sudoers regress
1488         [0efb8dc9092a] <1.8>
1489
1490         * Restore ability to define TRACELEXER and have trace output go to
1491         stderr.
1492         [441c8b372217] <1.8>
1493
1494         * Restore old behavior of setting sawspace = TRUE for command line
1495         args when a line continuation character is hit to avoid causing
1496         problems for existing sudoers files.
1497         [963ded6ce070] <1.8>
1498
1499         * Add test for line continuation and aliases
1500         [5703d11a3c46] <1.8>
1501
1502         * Make test output line up nicely for parse vs. toke
1503         [15321ce2d7d9] <1.8>
1504
1505         * plugins/sudoers/regress/testsudoers/test1.ok,
1506         plugins/sudoers/regress/testsudoers/test2.out,
1507         plugins/sudoers/regress/testsudoers/test2.sh,
1508         plugins/sudoers/regress/testsudoers/test3.ok,
1509         plugins/sudoers/regress/testsudoers/test3.sh,
1510         plugins/sudoers/regress/visudo/test1.ok,
1511         plugins/sudoers/regress/visudo/test1.sh:
1512         Move parser tests to sudoers directory and test the tokenizer output
1513         too.
1514         [111c1ccda334] <1.8>
1515
1516         * If we match a rule anchored to the beginning of a line after parsing
1517         a line continuation character, return an ERROR token. It would be
1518         nicer to use REJECT instead but that substantially slows down the
1519         lexer.
1520         [67e54b14aa9d] <1.8>
1521
1522         * Move LEXTRACE macro to toke.h so we can use it in yyerror().
1523         [e6e04037deed] <1.8>
1524
1525         * Make lex tracing settable at run-time in testsudoers via the -t
1526         flag. Trace output goes to stderr. Will be used by regress tests
1527         to check lexer.
1528         [a973f43cc0c2] <1.8>
1529
1530         * Allow whitespace after the modifier in a Defaults entry. E.g.
1531         "Defaults: username set_home"
1532         [bf876c9fc5bb] <1.8>
1533
1534 2011-03-18  Todd C. Miller  <Todd.Miller@courtesan.com>
1535
1536         * Don't set CC when cross-compiling.
1537         [d3c33dcb02f2] <1.8>
1538
1539         * Credit Matthew Thomas for the sudoers_search_filter changes.
1540         [2209b80664af] <1.8>
1541
1542         * Add the .sym files to the MANIFEST
1543         [bb452b28a009] <1.8>
1544
1545         * Update for sudo 1.8.1 beta
1546         [700d42d80e00] <1.8>
1547
1548         * user_shell -> run_shell to avoid confusion with the user's SHELL
1549         variable.
1550         [451b96d5f97e] <1.8>
1551
1552         * Save the controlling tty process group before suspending in pty
1553         mode. Previously, we assumed that the child pgrp == child pid
1554         (which is usually, but not always, the case).
1555         [b0841d861191] <1.8>
1556
1557         * Add support for sudoers_search_filter setting in ldap.conf. This
1558         can be used to restrict the set of records returned by the LDAP
1559         query.
1560         [70c5f496e2b3] <1.8>
1561
1562 2011-03-17  Todd C. Miller  <Todd.Miller@courtesan.com>
1563
1564         * configure, configure.in:
1565         Remove the hack to disable -g in CFLAGS unless --with-devel
1566         [9459839f50ba] <1.8>
1567
1568         * The '@' character does not normally need to be quoted.
1569         [e66c4c64e514] <1.8>
1570
1571         * We normaly transition from GOTDEFS to STARTDEFS on whitespace, but
1572         if that whitespace is followed by a comma, we want to treat it as
1573         part of a list and not transition.
1574         [52ae2df9959d] <1.8>
1575
1576         * Add check for whitespace when a User_List is used for a per-user
1577         Defaults entry.
1578         [44a4db95be86] <1.8>
1579
1580         * Expand quoted name checks to cover recent fixes.
1581         [bd494b5c2bed] <1.8>
1582
1583         * Fix parsing of double-quoted names in Defaults and Aliases which was
1584         broken in 601d97ea8792.
1585         [dfdd58c3eb3b] <1.8>
1586
1587         * toke_util.c lives in $(srcdir) not $(devdir)
1588         [94f8f024782e] <1.8>
1589
1590 2011-03-16  Todd C. Miller  <Todd.Miller@courtesan.com>
1591
1592         * configure, configure.in:
1593         Update version to 1.8.1
1594         [531a7d520f18] <1.8>
1595
1596         * Document major changes in 1.8.1 and add upgrade notes.
1597         [116821646140] <1.8>
1598
1599         * Be careful not to deref user_stat if it is NULL. This cannot
1600         currently happen in sudo but might in other programs using the
1601         parser.
1602         [d72a9c7151c4] <1.8>
1603
1604         * configure will not add -O2 to CFLAGS if it is already defined to add
1605         -O2 to the CFLAGS we pass in when PIE is being used.
1606         [2c7fe82be93d] <1.8>
1607
1608         * Warn about the dangers of log_input and mention iolog_file and
1609         iolog_dir in the log_input and log_output descriptions.
1610         [edc6aa59aa45] <1.8>
1611
1612         * sync with git version
1613         [b121cf739c77] <1.8>
1614
1615         * It seems that h comes after i
1616         [99ad15015f05] <1.8>
1617
1618         * Move log_input and log_output to their proper, sorted, location.
1619         Document set_utmp and utmp_runas.
1620         [216ce8b0ae1a] <1.8>
1621
1622         * Save the controlling tty process group before suspending so we can
1623         restore it when we resume. Fixes job control problems on Linux
1624         caused by the previous attemp to fix resuming a shell when I/O
1625         logging not enabled.
1626         [dfe038f733be] <1.8>
1627
1628         * Fix printing of the remainder after a newline. Fixes "sudo -l"
1629         output corruption that could occur in some cases.
1630         [ab2f0a629e0d] <1.8>
1631
1632         * Add support for ut_exit
1633         [7039ec6a73fa] <1.8>
1634
1635         * Add support for controlling whether utmp is updated and which user
1636         is listed in the entry.
1637         [1b008ce71eab] <1.8>
1638
1639         * Fix typo; tupple vs. tuple
1640         [67bb5c67ae3d] <1.8>
1641
1642         * For legacy utmp, strip the /dev/ prefix before trying to determine
1643         slot since the ttys file does not include the /dev/ prefix.
1644         [8f597114381d] <1.8>
1645
1646         * Add check for _PATH_UTMP
1647         [fe7e2456f017] <1.8>
1648
1649         * Adapt check_iolog_path to sessid changes
1650         [3016201869b6] <1.8>
1651
1652         * Redo utmp handling. If no getutent()/getutxent() is available,
1653         assume a ttyslot-based utmp. If getttyent() is available, use that
1654         directly instead of ttyslot() so we don't have to do the stdin dup2
1655         dance.
1656         [817490c7c20e] <1.8>
1657
1658         * Move utmp handling into utmp.c
1659         [e4729d9259e9] <1.8>
1660
1661         * Update copyright years.
1662         [1065afc00233] <1.8>
1663
1664 2011-03-11  Todd C. Miller  <Todd.Miller@courtesan.com>
1665
1666         * Add "user_shell" boolean as a way to indicate to the plugin that the
1667         -s flag was given.
1668         [6e8bc49b7ea7] <1.8>
1669
1670         * Move sessid out of sudo_user.
1671         [00d67d5ba894] <1.8>
1672
1673         * Log the TSID even if it is not a simple session ID.
1674         [490cf0adae29] <1.8>
1675
1676         * Document noexec in sample.sudo.conf and add back noexec_file section
1677         in sudoers with a note that it is deprecated.
1678         [c7a2d8d0c563] <1.8>
1679
1680         * Fix running commands as non-root on systems where setreuid() changes
1681         the saved uid based on the effective uid we are changing to.
1682         [f3b27db56ba6] <1.8>
1683
1684 2011-03-10  Todd C. Miller  <Todd.Miller@courtesan.com>
1685
1686         * Move noexec path into sudo.conf now that sudo itself handles noexec.
1687         Currently can be configured in sudoers too but is now undocumented
1688         and will be removed in a future release.
1689         [9c5f64709994] <1.8>
1690
1691         * Document "Path noexec ..." in sudo.conf. No longer document
1692         noexec_file in sudoers, it will be removed in a future release.
1693         [959fa6b5217b] <1.8>
1694
1695         * Move noexec handling to sudo front-end where it is documented as
1696         being.
1697         [ef6cd4a40c61] <1.8>
1698
1699         * Add support for disabling exec via solaris privileges. Includes
1700         preparation for moving noexec support out of sudoers and into front
1701         end as documented.
1702         [d9c05ba9a24f] <1.8>
1703
1704         * Only export the symbols corresponding to the plugin structs.
1705         [cb07af1d9b39] <1.8>
1706
1707         * Install plugins manually instead of using libtool. This works
1708         around a problem on AIX where libtool will install a .a file
1709         containing the .so file instead of the .so file itself.
1710         [1ccf5af58c05] <1.8>
1711
1712         * Makefile.in:
1713         Move check into its own rule since some versions of make will run
1714         both targets as the default rule.
1715         [7159f37eb552] <1.8>
1716
1717         * Update to libtool 2.2.10
1718         [9e49773b32b7] <1.8>
1719
1720         * In handle_signals(), restart the read() on EINTR to make sure we
1721         keep up with the signal pipe. Don't return -1 on EAGAIN, it just
1722         means we have emptied the pipe.
1723         [dc2926097b2d] <1.8>
1724
1725         * Reorder functions to quiet a compiler warning.
1726         [5201367e5db4] <1.8>
1727
1728         * Use the Sun Studio C compiler on Solaris if possible
1729         [b8d43b423fb9] <1.8>
1730
1731 2011-03-08  Todd C. Miller  <Todd.Miller@courtesan.com>
1732
1733         * Fix default setting of osversion variable.
1734         [e12905851be5] <1.8>
1735
1736         * Make two login_class entris consistent.
1737         [0671d7b204be] <1.8>
1738
1739         * Add support for adding a utmp entry when allocating a new pty.
1740         Requires the BSD login(3) or SYSV/POSIX getutent()/getutxent().
1741         Currently only creates a new entry if the existing tty has a utmp
1742         entry.
1743         [40ff30099e79] <1.8>
1744
1745         * Avoid pulling in headers we don't need on Linux For getutx?id(),
1746         call setutx?ent() first and always call endutx?ent().
1747         [b86f7a13aae9] <1.8>
1748
1749         * Add some more libs to SUDOERS_LIBS instead of relying on them to be
1750         pulled in by SUDO_LIBS.
1751         [bcbd16ec56c6] <1.8>
1752
1753         * Fix return value of "sudo -l command" when command is not allowed,
1754         broken in [c7097ea22111]. The default return value is now TRUE and
1755         a bad: label is used when permission is denied. Also fixed missing
1756         permissions restoration on certain errors. On error()/errorx(), the
1757         password and group files are now closed before returning.
1758         [757c941a47b2] <1.8>
1759
1760 2011-03-07  Todd C. Miller  <Todd.Miller@courtesan.com>
1761
1762         * Fix passing of login class back to sudo front end.
1763         [5e649de6b7f5] <1.8>
1764
1765         * Add --osversion flag to specify OS instead of running "pp
1766         --probeonly"
1767         [8a03943ac5e8] <1.8>
1768
1769         * Fix expr usage w/ GNU expr
1770         [bdecfa1f54fc] <1.8>
1771
1772 2011-03-06  Todd C. Miller  <Todd.Miller@courtesan.com>
1773
1774         * Fix exit value for validate and list mode.
1775         [6f8b20199935] <1.8>
1776
1777         * Fix non-interactive mode with sudoers plugin.
1778         [cf5aca4fcbcf] <1.8>
1779
1780 2011-03-05  Todd C. Miller  <Todd.Miller@courtesan.com>
1781
1782         * sudoreplay can now find IDs other than %{seq} and display the
1783         session.
1784         [60396b417633] <1.8>
1785
1786         * Add support for replaying sessions when iolog_file is set to
1787         something other than %{seq}.
1788         [1cd2baa74d56] <1.8>
1789
1790 2011-03-04  Todd C. Miller  <Todd.Miller@courtesan.com>
1791
1792         * If we are killed by a signal, display the name of the signal that
1793         got us.
1794         [1b38c4d42282] <1.8>
1795
1796         * Move libs used for authentication from SUDO_LIBS to SUDOERS_LIBS
1797         where they belong.
1798         [78e97a921104] <1.8>
1799
1800         * Fix bug in skey/opie check that could cause a shell warning.
1801         [f20229a04f30] <1.8>
1802
1803         * No longer need sudo_getepw() stubs.
1804         [795631ac7db0] <1.8>
1805
1806 2011-03-03  Todd C. Miller  <Todd.Miller@courtesan.com>
1807
1808         * Fix exit value of "sudo -l command" in sudoers module.
1809         [4a05d6019b3d] <1.8>
1810
1811 2011-03-02  Todd C. Miller  <Todd.Miller@courtesan.com>
1812
1813         * Use fgets() not fgetln() for portability.
1814         [1f2050745096] <1.8>
1815
1816         * Don't use the beta or release candidate version as the rpm release.
1817         [a5b049477646] <1.8>
1818
1819 2011-02-25  Todd C. Miller  <Todd.Miller@courtesan.com>
1820
1821         * Makefile.in:
1822         Adjust ChangeLog rule now that 1.8 is branched
1823         [a994ac361e44] <1.8>
1824
1825         * .hgtags:
1826         Added tag SUDO_1_8_0 for changeset f6530d56f6ae
1827         [99a2b3801419] <1.8>
1828
1829 2011-02-25  Todd C. Miller  <Todd.Miller@courtesan.com>
1830
1831         * configure, configure.in:
1832         version 1.8.0
1833         [f6530d56f6ae] [SUDO_1_8_0]
1834
1835         * NEWS:
1836         update sudo 1.8 section
1837         [f2ee2cf95d18]
1838
1839 2011-02-23  Todd C. Miller  <Todd.Miller@courtesan.com>
1840
1841         * plugins/sudoers/regress/testsudoers/test2.sh:
1842         fix test description
1843         [cd5730fa9f09]
1844
1845         * plugins/sudoers/regress/testsudoers/test2.out,
1846         plugins/sudoers/regress/testsudoers/test2.sh,
1847         plugins/sudoers/regress/visudo/test2.out,
1848         plugins/sudoers/regress/visudo/test2.sh:
1849         convert test2 to use testsudoers
1850         [b5ec3f0b69f1]
1851
1852         * include/sudo_plugin.h, src/sudo_plugin_int.h:
1853         Move struct generic_plugin to sudo_plugin_int.h
1854         [6f7bc629329c]
1855
1856         * plugins/sudoers/gram.c, plugins/sudoers/gram.y,
1857         plugins/sudoers/parse.c, plugins/sudoers/parse.h,
1858         plugins/sudoers/set_perms.c, plugins/sudoers/sudoers.c,
1859         plugins/sudoers/sudoers.h:
1860         Allow sudoers file name, mode, uid and gid to be specified in the
1861         settings list. The sudo front end does not currently set these but
1862         may in the future.
1863         [22f38a0fda2a]
1864
1865 2011-02-21  Todd C. Miller  <Todd.Miller@courtesan.com>
1866
1867         * configure, configure.in, doc/sudo.cat, doc/sudo.man.in,
1868         doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudoers.cat,
1869         doc/sudoers.ldap.cat, doc/sudoers.ldap.man.in, doc/sudoers.man.in,
1870         doc/sudoreplay.cat, doc/sudoreplay.man.in, doc/visudo.cat,
1871         doc/visudo.man.in:
1872         1.8.0rc1
1873         [5d4588b9c057]
1874
1875         * doc/sudo.pod, doc/sudoreplay.pod, doc/visudo.pod,
1876         plugins/sudoers/sudoreplay.c, plugins/sudoers/visudo.c,
1877         src/parse_args.c, src/sudo.h:
1878         add help text to sudo, visudo and sudoreplay for the -h option
1879         [52e7378d8476]
1880
1881 2011-02-19  Todd C. Miller  <Todd.Miller@courtesan.com>
1882
1883         * compat/snprintf.c:
1884         avoid using "howmany" for a parameter name since it is a select-
1885         related macro
1886         [a14d565401a1]
1887
1888         * doc/sudoers.pod:
1889         mention group_plugin when describing nonunix_group
1890         [e0d1d0034b17]
1891
1892         * doc/sudo_plugin.pod:
1893         Add missing period at end of sentence
1894         [6744d7e9056d]
1895
1896         * Makefile.in, doc/Makefile.in, include/Makefile.in,
1897         plugins/sample/Makefile.in, plugins/sample_group/Makefile.in,
1898         plugins/sudoers/Makefile.in, src/Makefile.in:
1899         add localstatedir; closes bug 471
1900         [7aefcab85088]
1901
1902         * config.h.in, configure, configure.in, plugins/sudoers/sudoreplay.c,
1903         src/exec.c, src/exec_pty.c:
1904         The howmany macro lives in sys/sysmacros.h on SVR5 systems Closes
1905         Bug 470
1906         [927ed6740f32]
1907
1908         * configure.in:
1909         add missing AH_TEMPLATE for ENV_RESET
1910         [16300010c986]
1911
1912         * src/exec.c:
1913         SVR5 systems return non-zero for success on socketpair(), check for
1914         -1 instead. Closes Bug 469
1915         [4d276494bf8e]
1916
1917 2011-02-16  Todd C. Miller  <Todd.Miller@courtesan.com>
1918
1919         * configure, configure.in:
1920         1.8.0b5
1921         [d611cd5d73d3]
1922
1923         * doc/sudo.cat, doc/sudo.man.in, doc/sudo_plugin.cat,
1924         doc/sudo_plugin.man.in, doc/sudoers.cat, doc/sudoers.ldap.cat,
1925         doc/sudoers.ldap.man.in, doc/sudoers.man.in, doc/sudoreplay.cat,
1926         doc/sudoreplay.man.in, doc/visudo.cat, doc/visudo.man.in:
1927         regen
1928         [85e96eeaed82]
1929
1930         * doc/sudo.pod:
1931         Document that a sudo.conf file with no Pligin lines uses the default
1932         sudoers plugins.
1933         [88bd52da977f]
1934
1935         * src/load_plugins.c:
1936         If sudo.conf contains no Plugin lines, use the default sudoers
1937         policy and I/O plugins.
1938         [fd8f4cb811ab]
1939
1940 2011-02-14  Todd C. Miller  <Todd.Miller@courtesan.com>
1941
1942         * plugins/sudoers/sudo_nss.c:
1943         Avoid printing empty "Runas and Command-specific defaults for user"
1944         line.
1945         [2dd330fe4f8b]
1946
1947         * common/lbuf.c:
1948         Truncate the buffer at buf.len before printing in the non-wordwrap
1949         case.
1950         [901e9833f80d]
1951
1952         * common/lbuf.c:
1953         Remove extra newline when the tty width is very small or unavailable
1954         [245c05506c0e]
1955
1956 2011-02-11  Todd C. Miller  <Todd.Miller@courtesan.com>
1957
1958         * plugins/sudoers/alias.c:
1959         Remove unneeded variable.
1960         [2c086d30b796]
1961
1962 2011-02-09  Todd C. Miller  <Todd.Miller@courtesan.com>
1963
1964         * configure, configure.in:
1965         Prefer getutxid over getutid
1966         [3f3322e9c93e]
1967
1968         * plugins/sudoers/boottime.c:
1969         Include utmp.h / utmpx.h before missing.h as apparently including it
1970         afterwards causes a compilation problem on GNU Hurd.
1971         [a528029ae962]
1972
1973 2011-02-07  Todd C. Miller  <Todd.Miller@courtesan.com>
1974
1975         * plugins/sudoers/sudoreplay.c, plugins/sudoers/toke_util.c:
1976         #include "foo.h", not <foo.h> for local includes.
1977         [f65ec693998e]
1978
1979         * src/parse_args.c:
1980         remove bogus XXX
1981         [9136c17d53ce]
1982
1983         * compat/mksiglist.c:
1984         Fix typo
1985         [1a3bb7b455c9]
1986
1987         * compat/glob.c, plugins/sudoers/ldap.c, plugins/sudoers/logging.c,
1988         plugins/sudoers/match.c:
1989         return foo not return(foo)
1990         [5c9e0647359a]
1991
1992 2011-02-06  Todd C. Miller  <Todd.Miller@courtesan.com>
1993
1994         * src/exec.c:
1995         Remove duplicate FD_SET of signal_pipe[0]
1996         [3096527d2215]
1997
1998 2011-02-05  Todd C. Miller  <Todd.Miller@courtesan.com>
1999
2000         * compat/mksiglist.c:
2001         Use "missing.h" not <missing.h> in generated code.
2002         [d8e09cffbe09]
2003
2004 2011-02-04  Todd C. Miller  <Todd.Miller@courtesan.com>
2005
2006         * aclocal.m4, configure:
2007         fix --with-iologdir=no
2008         [a89699cb5f5f]
2009
2010         * aclocal.m4, configure:
2011         fix typo that broke --with-iologdir
2012         [91b54eb22403]
2013
2014 2011-02-03  Todd C. Miller  <Todd.Miller@courtesan.com>
2015
2016         * configure, configure.in, doc/sudo.cat, doc/sudo.man.in,
2017         doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudoers.cat,
2018         doc/sudoers.ldap.cat, doc/sudoers.ldap.man.in, doc/sudoers.man.in,
2019         doc/sudoreplay.cat, doc/sudoreplay.man.in, doc/visudo.cat,
2020         doc/visudo.man.in:
2021         Bump version to 1.8.0b4
2022         [e2b7f2cdc02e]
2023
2024         * NEWS:
2025         sync
2026         [decf5a0a8a33]
2027
2028         * doc/sudoers.cat, doc/sudoers.man.in, doc/sudoers.pod:
2029         Attempt to clarify how users and groups interact in Runas_Specs
2030         [e6fb3a2dbd77]
2031
2032         * plugins/sudoers/regress/visudo/test2.out,
2033         plugins/sudoers/regress/visudo/test2.sh:
2034         Add test for quoted group that contains escaped double quotes
2035         [44596c48c629]
2036
2037         * src/exec.c, src/exec_pty.c:
2038         Pass SIGUSR1/SIGUSR2 through to the child.
2039         [c3108a827b01]
2040
2041         * src/exec_pty.c, src/sudo_exec.h:
2042         Use special values SIGCONT_FG and SIGCONT_BG instead of SIGUSR1 and
2043         SIGUSR2 to indicate whether the child should be continued in the
2044         foreground or background.
2045         [35ca47cc6785]
2046
2047         * src/exec.c:
2048         Use pid_t not int and check the return value of kill()
2049         [36ae7d37d7f9]
2050
2051 2011-02-02  Todd C. Miller  <Todd.Miller@courtesan.com>
2052
2053         * src/exec_pty.c:
2054         Remove obsolete comment
2055         [baebef4919f6]
2056
2057         * src/exec.c:
2058         In non-pty mode before continuing the child, make it the foreground
2059         pgrp if possible. Fixes resuming a shell.
2060         [fef5b1d02ddb]
2061
2062         * src/exec_pty.c:
2063         If we get a signal other than SIGCHLD in the monitor, pass it
2064         directly to the child.
2065         [b3ecb28163a0]
2066
2067         * src/exec.c, src/exec_pty.c, src/sudo.h:
2068         Save signal state before changing handlers and restore before we
2069         execute the command.
2070         [faf7475dc4bf]
2071
2072 2011-02-01  Todd C. Miller  <Todd.Miller@courtesan.com>
2073
2074         * plugins/sudoers/iolog.c:
2075         Use a char array to map a number to a base36 digit.
2076         [257576c51f8b]
2077
2078         * doc/sudoers.ldap.cat, doc/sudoers.ldap.man.in, doc/sudoers.ldap.pod:
2079         Be clear about what versions of sudo support new LDAP attributes.
2080         Fix up some formatting of attribute names. Minor other tweaks.
2081         [39f65df71f65]
2082
2083 2011-01-31  Todd C. Miller  <Todd.Miller@courtesan.com>
2084
2085         * plugins/sudoers/toke.c, plugins/sudoers/toke.l:
2086         match quoted strings the same way whether in a Defaults line or as a
2087         user/group/netgroup name. Fixes escaped double quotes in quoted
2088         user/group/netgroup names.
2089         [601d97ea8792]
2090
2091         * plugins/sudoers/Makefile.in:
2092         'make check' depends on visudo and testsudoers
2093         [127c5a24df8f]
2094
2095         * plugins/sudoers/sudoers2ldif:
2096         Add sudoOrder attribute to each entry Parse LOG_{INPUT,OUTPUT} tags
2097         [9029163a58c3]
2098
2099 2011-01-30  Todd C. Miller  <Todd.Miller@courtesan.com>
2100
2101         * doc/UPGRADE:
2102         Mention LDAP attribute compatibility status.
2103         [2c3595aaec63]
2104
2105 2011-01-28  Todd C. Miller  <Todd.Miller@courtesan.com>
2106
2107         * README.LDAP:
2108         Mention phpQLAdmin
2109         [9304c9064fbe]
2110
2111         * INSTALL, NEWS, config.h.in, configure, configure.in,
2112         doc/sudoers.man.in, doc/sudoers.pod, plugins/sudoers/defaults.c:
2113         Add --disable-env-reset configure option.
2114         [8a753aa13a46]
2115
2116         * doc/sudoers.cat, doc/sudoers.man.in, doc/sudoers.pod:
2117         Document that sudoers_locale also affects logging and email.
2118         [998d6ac11277]
2119
2120         * NEWS, config.h.in, configure, configure.in,
2121         plugins/sudoers/logging.c:
2122         Do logging and email sending in the locale specified by the
2123         "sudoers_locale" setting ("C" by default). Email send by sudo
2124         includes MIME headers when the sudoers locale is not "C".
2125         [cb7e55408400]
2126
2127 2011-01-27  Todd C. Miller  <Todd.Miller@courtesan.com>
2128
2129         * plugins/sudoers/check.c:
2130         Fix indentation
2131         [65ae7e92b9e4]
2132
2133 2011-01-25  Todd C. Miller  <Todd.Miller@courtesan.com>
2134
2135         * NEWS, src/parse_args.c, src/sudo.c:
2136         Perform command escaping for "sudo -s" and "sudo -i" after
2137         validating sudoers so the sudoers entries don't need to have all the
2138         backslashes.
2139         [4e168c103f4b]
2140
2141 2011-01-24  Todd C. Miller  <Todd.Miller@courtesan.com>
2142
2143         * plugins/sudoers/logging.c:
2144         Prepend "list " to the command logged when "sudo -l command" is used
2145         to make it clear that the command was listed, not run.
2146         [f392a6056cd6]
2147
2148         * plugins/sudoers/parse.c:
2149         cosmetic change
2150         [7c0951dbc2dd]
2151
2152         * common/aix.c, common/alloc.c, common/fileops.c, common/fmt_string.c,
2153         common/list.c, common/term.c, compat/fnmatch.c, compat/getcwd.c,
2154         compat/glob.c, compat/isblank.c, compat/memrchr.c, compat/mktemp.c,
2155         compat/nanosleep.c, compat/regress/glob/globtest.c,
2156         compat/snprintf.c, compat/strlcat.c, compat/strlcpy.c,
2157         compat/strsignal.c, compat/utimes.c, plugins/sample/sample_plugin.c,
2158         plugins/sample_group/getgrent.c, plugins/sample_group/plugin_test.c,
2159         plugins/sudoers/alias.c, plugins/sudoers/auth/afs.c,
2160         plugins/sudoers/auth/aix_auth.c, plugins/sudoers/auth/bsdauth.c,
2161         plugins/sudoers/auth/dce.c, plugins/sudoers/auth/fwtk.c,
2162         plugins/sudoers/auth/kerb4.c, plugins/sudoers/auth/kerb5.c,
2163         plugins/sudoers/auth/pam.c, plugins/sudoers/auth/passwd.c,
2164         plugins/sudoers/auth/rfc1938.c, plugins/sudoers/auth/secureware.c,
2165         plugins/sudoers/auth/securid.c, plugins/sudoers/auth/securid5.c,
2166         plugins/sudoers/auth/sia.c, plugins/sudoers/bsm_audit.c,
2167         plugins/sudoers/check.c, plugins/sudoers/defaults.c,
2168         plugins/sudoers/find_path.c, plugins/sudoers/goodpath.c,
2169         plugins/sudoers/gram.c, plugins/sudoers/gram.y,
2170         plugins/sudoers/iolog.c, plugins/sudoers/ldap.c,
2171         plugins/sudoers/match.c, plugins/sudoers/mon_systrace.c,
2172         plugins/sudoers/parse.c, plugins/sudoers/pwutil.c,
2173         plugins/sudoers/redblack.c, plugins/sudoers/set_perms.c,
2174         plugins/sudoers/sudo_nss.c, plugins/sudoers/sudoers.c,
2175         plugins/sudoers/sudoreplay.c, plugins/sudoers/testsudoers.c,
2176         plugins/sudoers/timestr.c, plugins/sudoers/toke.c,
2177         plugins/sudoers/toke.l, plugins/sudoers/toke_util.c,
2178         plugins/sudoers/tsgetgrpw.c, plugins/sudoers/visudo.c,
2179         src/exec_pty.c, src/get_pty.c, src/load_plugins.c, src/parse_args.c,
2180         src/sudo_noexec.c, src/tgetpass.c:
2181         standardize on "return foo;" rather than "return(foo);" or "return
2182         (foo);"
2183         [32d76c5aaf8c]
2184
2185         * plugins/sudoers/sudoers.c:
2186         Do not reject sudoers file just because it is root-writable.
2187         [0febc579185b]
2188
2189 2011-01-21  Todd C. Miller  <Todd.Miller@courtesan.com>
2190
2191         * NEWS:
2192         sync
2193         [1ab03f8278ff]
2194
2195         * plugins/sudoers/sudo_nss.c:
2196         For "sudo -U user -l" if user is not authorized on the host, say so.
2197         [289afe6dd15c]
2198
2199         * plugins/sudoers/ldap.c:
2200         In sudo_ldap_lookup(), always do the initial sudoers check as the
2201         invoking user. If we are listing another user's privs we will do a
2202         separate lookup using list_pw later.
2203         [e52bc15de76d]
2204
2205 2011-01-20  Todd C. Miller  <Todd.Miller@courtesan.com>
2206
2207         * MANIFEST:
2208         add parser fill tests
2209         [4f65140d3515]
2210
2211         * compat/regress/glob/globtest.c, compat/regress/glob/globtest.in:
2212         Don't test features not supported by the bundled glob()
2213         [8ec7ace11949]
2214
2215         * Makefile.in, aclocal.m4, common/Makefile.in, common/term.c,
2216         compat/Makefile.in, configure.in, doc/LICENSE, doc/Makefile.in,
2217         doc/sudo_plugin.man.in, doc/sudo_plugin.pod,
2218         doc/sudoers.ldap.man.in, doc/sudoers.ldap.pod, doc/sudoers.man.in,
2219         doc/sudoers.pod, include/Makefile.in, plugins/sample/Makefile.in,
2220         plugins/sample_group/Makefile.in, plugins/sudoers/Makefile.in,
2221         plugins/sudoers/check.c, plugins/sudoers/defaults.c,
2222         plugins/sudoers/gram.c, plugins/sudoers/gram.y,
2223         plugins/sudoers/iolog.c, plugins/sudoers/iolog_path.c,
2224         plugins/sudoers/ldap.c, plugins/sudoers/match.c,
2225         plugins/sudoers/pwutil.c, plugins/sudoers/sudo_nss.c,
2226         plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h,
2227         plugins/sudoers/sudoreplay.c, plugins/sudoers/testsudoers.c,
2228         plugins/sudoers/toke.c, plugins/sudoers/toke.l,
2229         plugins/sudoers/toke_util.c, src/Makefile.in, zlib/Makefile.in:
2230         Update copyright year to 2011
2231         [ac1b45cb1809]
2232
2233         * plugins/sudoers/sudo_nss.c:
2234         When listing, use separate lbufs for the defaults and the privileges
2235         and only print something if the number of privileges is non-zero.
2236         Fixes extraneous Defaults output for "sudo -U unauthorized_user -l".
2237         [d0854d39f8ef]
2238
2239         * plugins/sudoers/ldap.c:
2240         Stash pointer to user group vector in LDAP handle and only reuse the
2241         query if it has not changed. We always allocate a new buffer when
2242         we reset the group vector so a simple pointer check is sufficient.
2243         [88861d4eba69]
2244
2245         * plugins/sudoers/sudo_nss.c:
2246         Check initgroups() return value.
2247         [3bdaf58408a7]
2248
2249         * plugins/sudoers/Makefile.in,
2250         plugins/sudoers/regress/parser/check_fill.c:
2251         Add tests for the fill functions in toke_util.c
2252         [bca587ab4956]
2253
2254 2011-01-19  Todd C. Miller  <Todd.Miller@courtesan.com>
2255
2256         * plugins/sudoers/regress/iolog_path/check_iolog_path.c:
2257         fix copyright year
2258         [e2038cdaf055]
2259
2260         * NEWS:
2261         sync
2262         [56ca5d5eaebe]
2263
2264 2011-01-18  Todd C. Miller  <Todd.Miller@courtesan.com>
2265
2266         * common/term.c:
2267         Clear, don't set, OPOST in c_oflag as was intended in 506ad5ae9b4e.
2268         [b91f266624ec]
2269
2270 2011-01-14  Todd C. Miller  <Todd.Miller@courtesan.com>
2271
2272         * mkpkg, sudo.pp:
2273         Add Requires line for audit-libs >= 1.4 for RHEL5+
2274         [6c02f976171b]
2275
2276         * pp:
2277         sync with git version
2278         [d301c32d5865]
2279
2280 2011-01-13  Todd C. Miller  <Todd.Miller@courtesan.com>
2281
2282         * doc/sudoers.cat, doc/sudoers.man.in, doc/sudoers.pod:
2283         fix typo
2284         [39353f92976f]
2285
2286 2011-01-12  Todd C. Miller  <Todd.Miller@courtesan.com>
2287
2288         * NEWS:
2289         Update for sudo 1.7.4p5
2290         [b444da76901f]
2291
2292         * doc/schema.OpenLDAP, doc/schema.iPlanet:
2293         Add sudoNotBefore and sudoNotAfter attributes as optional attributes
2294         to the sudoRole object class. From Andreas Mueller
2295         [dacfad7e7a95]
2296
2297 2011-01-11  Todd C. Miller  <Todd.Miller@courtesan.com>
2298
2299         * NEWS:
2300         Mention "sudo -g group" password check fix.
2301         [1eb8fb14e53b]
2302
2303         * plugins/sudoers/sudoers.c:
2304         Fix "sudo -g" support in the sudoers module.
2305         [07d1b0ce530e]
2306
2307         * plugins/sudoers/check.c:
2308         If the user is running sudo as himself but as a different group we
2309         need to prompt for a password.
2310         [caf1fcc9a117]
2311
2312 2011-01-10  Todd C. Miller  <Todd.Miller@courtesan.com>
2313
2314         * NEWS, config.h.in, configure, configure.in, doc/sudoers.ldap.cat,
2315         doc/sudoers.ldap.man.in, doc/sudoers.ldap.pod,
2316         plugins/sudoers/ldap.c:
2317         Add support for TIMEOUT in ldap.conf, mapping to the OpenLDAP
2318         LDAP_OPT_TIMEOUT. There is no corresponding option for mozilla-
2319         derived LDAP SDKs but we can pass the timeout parameter to
2320         ldap_search_ext_s() or ldap_search_st() when possible.
2321         [5537049991f7]
2322
2323         * doc/sudoers.ldap.cat, doc/sudoers.ldap.man.in:
2324         regen
2325         [5b361c3c4324]
2326
2327         * NEWS, doc/sudoers.ldap.pod, plugins/sudoers/ldap.c:
2328         Add NETWORK_TIMEOUT as an alias for BIND_TIMELIMIT for compatibility
2329         with OpenLDAP ldap.conf files.
2330         [e97843bd16fb]
2331
2332         * plugins/sudoers/pwutil.c:
2333         If user has no supplementary groups, fall back on checking the group
2334         file expliticly.
2335         [5223ad4eb690]
2336
2337 2011-01-08  Todd C. Miller  <Todd.Miller@courtesan.com>
2338
2339         * plugins/sudoers/toke.h, plugins/sudoers/toke_util.c:
2340         constify
2341         [6e132a4cca61]
2342
2343         * plugins/sudoers/toke.c, plugins/sudoers/toke.h,
2344         plugins/sudoers/toke.l:
2345         Move fill macro to toke.h
2346         [623d430798cf]
2347
2348         * MANIFEST, plugins/sudoers/Makefile.in, plugins/sudoers/toke.c,
2349         plugins/sudoers/toke.h, plugins/sudoers/toke.l,
2350         plugins/sudoers/toke_util.c:
2351         Split tokenizer utility functions out into toke_util.c
2352         [89a97bd51618]
2353
2354         * plugins/sudoers/gram.c, plugins/sudoers/gram.y,
2355         plugins/sudoers/toke.c, plugins/sudoers/toke.l:
2356         ANSIfy
2357         [ca0eba1dfaa9]
2358
2359 2011-01-07  Todd C. Miller  <Todd.Miller@courtesan.com>
2360
2361         * MANIFEST:
2362         sync
2363         [a43f94064bb3]
2364
2365         * plugins/sudoers/Makefile.in:
2366         Add visudo tests to check target
2367         [8c82fb4ed40f]
2368
2369         * compat/Makefile.in, compat/regress/fnmatch/fnm_test.c,
2370         compat/regress/fnmatch/fnm_test.in, compat/regress/glob/files,
2371         compat/regress/glob/globtest.c, compat/regress/glob/globtest.in:
2372         Add my regress tests for fnmatch() and glob() from OpenBSD.
2373         [6e8c1f211723]
2374
2375         * plugins/sudoers/regress/testsudoers/test1.sh,
2376         plugins/sudoers/regress/visudo/test1.ok,
2377         plugins/sudoers/regress/visudo/test1.sh:
2378         Add regress test for command tags using visudo -c
2379         [18b0ef207c0f]
2380
2381         * plugins/sudoers/Makefile.in,
2382         plugins/sudoers/regress/testsudoers/test1.ok,
2383         plugins/sudoers/regress/testsudoers/test1.sh:
2384         Add support for regress tests using testsudoers
2385         [1fa94bd2671b]
2386
2387         * plugins/sudoers/testsudoers.c:
2388         Need to set user_name explicitly due to internal changes made when
2389         converting sudoers to a plugin.
2390         [1fa54e86a364]
2391
2392 2011-01-06  Todd C. Miller  <Todd.Miller@courtesan.com>
2393
2394         * MANIFEST, Makefile.in, common/Makefile.in, compat/Makefile.in,
2395         doc/Makefile.in, include/Makefile.in, plugins/sample/Makefile.in,
2396         plugins/sample_group/Makefile.in, plugins/sudoers/Makefile.in,
2397         plugins/sudoers/regress/iolog_path/check_iolog_path.c,
2398         plugins/sudoers/regress/iolog_path/data, src/Makefile.in,
2399         zlib/Makefile.in:
2400         Add regression tests for iolog_path()
2401         [afa4b416e559]
2402
2403         * Makefile.in, common/Makefile.in, compat/Makefile.in,
2404         doc/Makefile.in, include/Makefile.in, plugins/sample/Makefile.in,
2405         plugins/sample_group/Makefile.in, plugins/sudoers/Makefile.in,
2406         src/Makefile.in, zlib/Makefile.in:
2407         Add support for "make Makefile" to regenerate Makefile from
2408         Makefile.in
2409         [98bd2dda3294]
2410
2411         * plugins/sudoers/iolog_path.c:
2412         Quiest a bogus compiler warning.
2413         [5ff932a7ad67]
2414
2415 2011-01-05  Todd C. Miller  <Todd.Miller@courtesan.com>
2416
2417         * plugins/sudoers/iolog_path.c:
2418         Protect call to setlocale() with HAVE_SETLOCALE
2419         [2c29ee3ccc81]
2420
2421 2011-01-04  Todd C. Miller  <Todd.Miller@courtesan.com>
2422
2423         * MANIFEST:
2424         mkstemps.c was renamed mktemp.c
2425         [ae299c3b1827]
2426
2427         * NEWS:
2428         Update from 1.7 branch
2429         [20817d79717b]
2430
2431         * Makefile.in:
2432         Use "mv -f" when regenerating ChangeLog
2433         [c163635206c6]
2434
2435         * plugins/sudoers/match.c:
2436         Fix NULL dereference with "sudo -g group" when the sudoers rule has
2437         no runas user or group listed. Fixes RedHat bug Bug 667103.
2438         [41a6a1243d9e]
2439
2440 2011-01-03  Todd C. Miller  <Todd.Miller@courtesan.com>
2441
2442         * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod:
2443         Correct the default sudo.conf example
2444         [4e791698cad1]
2445
2446 2010-12-31  Todd C. Miller  <Todd.Miller@courtesan.com>
2447
2448         * plugins/sudoers/iolog_path.c:
2449         Reset slashp if we allocate a new buffer for strftime()
2450         [e491daa4203b]
2451
2452         * plugins/sudoers/iolog_path.c, plugins/sudoers/sudoers.c,
2453         plugins/sudoers/sudoers.h:
2454         Add extra out parameter to expand_iolog_path() to allow the caller
2455         to split the path into dir and file components if needed.
2456         [88346bc5ae39]
2457
2458 2010-12-30  Todd C. Miller  <Todd.Miller@courtesan.com>
2459
2460         * plugins/sudoers/iolog.c:
2461         mkdir_iopath() returns size_t now that it uses strlcpy() and not
2462         snprintf()
2463         [3c4c64d265eb]
2464
2465         * plugins/sudoers/iolog.c, plugins/sudoers/iolog_path.c:
2466         Trim leading slashes from iolog_file and trailing slashes from
2467         iolog_dir
2468         [a803b51f8948]
2469
2470         * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod,
2471         plugins/sudoers/iolog.c, plugins/sudoers/iolog_path.c,
2472         plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h:
2473         Pass a single I/O log file name in command_details instead of
2474         separate dir + file parameters.
2475         [d672a3e46e80]
2476
2477         * plugins/sudoers/sudoreplay.c:
2478         change an error() to errorx()
2479         [8013dcfdd69d]
2480
2481         * plugins/sudoers/iolog.c:
2482         Add missing cwd line to I/O log info file that got dropped when
2483         iolog_deserialize_info() was added
2484         [7cf84f208423]
2485
2486 2010-12-29  Todd C. Miller  <Todd.Miller@courtesan.com>
2487
2488         * plugins/sudoers/iolog.c:
2489         Avoid relying on globals filled in by the sudoers policy module for
2490         the sudoers I/O log module. The I/O log open function now pulls the
2491         bits it needs out of user_info and command_info.
2492         [c02f6951b0cc]
2493
2494         * plugins/sudoers/iolog.c, plugins/sudoers/sudoers.c,
2495         plugins/sudoers/sudoers.h:
2496         If no iolog file is specified by the policy plugin, use io_nextid()
2497         to determine the next file in the sequence.
2498         [faa1130b1020]
2499
2500 2010-12-28  Todd C. Miller  <Todd.Miller@courtesan.com>
2501
2502         * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod:
2503         Document iolog_compress in command_info
2504         [58895c7d12f5]
2505
2506         * plugins/sudoers/iolog.c, plugins/sudoers/sudoers.c:
2507         Add support for the iolog_compress variable in command_info.
2508         [36f13a2fd1c1]
2509
2510         * plugins/sudoers/iolog.c, plugins/sudoers/sudoers.c:
2511         Add sigsetjmp() calls to all plugin entry points just to be safe.
2512         [3fa482355bc4]
2513
2514         * src/sudo.c, src/sudo.h:
2515         Don't need iolog variables in struct command_details, they are for
2516         the I/O log plugins to handle.
2517         [5111579ffd9d]
2518
2519 2010-12-27  Todd C. Miller  <Todd.Miller@courtesan.com>
2520
2521         * doc/sudoers.cat, doc/sudoers.man.in, doc/sudoers.pod:
2522         Document use of mkdtemp() for iolog path teplates
2523         [5db6101408a9]
2524
2525         * doc/sudo.cat, doc/sudo.man.in, doc/sudo_plugin.cat,
2526         doc/sudo_plugin.man.in, doc/sudoers.cat, doc/sudoers.ldap.cat,
2527         doc/sudoers.ldap.man.in, doc/sudoers.man.in, doc/sudoreplay.cat,
2528         doc/sudoreplay.man.in, doc/visudo.cat, doc/visudo.man.in:
2529         regen
2530         [1ee11fd6d4eb]
2531
2532         * doc/sudo_plugin.pod, doc/sudoers.pod:
2533         Document iolog_file and supported escape sequences for sudoers.
2534         Clarify that iolog_file can contain directories.
2535         [da611dedcbdb]
2536
2537         * compat/Makefile.in, configure, configure.in:
2538         Fix building of mkstemps/mkdtemp replacements.
2539         [793a5e303122]
2540
2541         * compat/mkstemps.c, compat/mktemp.c, config.h.in, configure,
2542         configure.in, include/missing.h:
2543         Provide mkdtemp() for systems without it.
2544         [b0527dfa965c]
2545
2546         * plugins/sudoers/iolog_path.c:
2547         Fix typo
2548         [277f6c514cba]
2549
2550         * plugins/sudoers/iolog.c:
2551         Only use mkdtemp() if the path ends in at least 6 Xs since otherwise
2552         glibc mkdtemp() returns EINVAL.
2553         [2e7323b05579]
2554
2555         * plugins/sudoers/Makefile.in, plugins/sudoers/def_data.c,
2556         plugins/sudoers/def_data.h, plugins/sudoers/def_data.in,
2557         plugins/sudoers/defaults.c, plugins/sudoers/iolog.c,
2558         plugins/sudoers/iolog_path.c, plugins/sudoers/plugin_error.c,
2559         plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h:
2560         Allow sudoers to specify the iolog file in addition to the iolog
2561         dir. Add escape sequence support to iolog file and dir: sequence
2562         number, user, group, runas_user, runas_group, hostname and
2563         command in addition to any escape sequence recognized by
2564         strftime(3).
2565         [75cd32ee0435]
2566
2567         * plugins/sudoers/iolog.c:
2568         Add missing sigsetjmp() call in I/O plugin open function. Fixes a
2569         crash when the I/O plugin calls error(), errorx() or log_error().
2570         [1a6718bd817d]
2571
2572 2010-12-21  Todd C. Miller  <Todd.Miller@courtesan.com>
2573
2574         * doc/sudo_plugin.pod, plugins/sudoers/iolog.c,
2575         plugins/sudoers/sudoers.c:
2576         Give the policy module fine-grained control over what the I/O plugin
2577         logs.
2578         [d29784fd2a66]
2579
2580         * common/term.c:
2581         Clear OPOST from c_oflag like we used to. Fixes screen-based
2582         editors such as vi.
2583         [506ad5ae9b4e]
2584
2585         * doc/sudoers.pod:
2586         Clarify umask option description. From Reuben Thomas.
2587         [1294ac84222b]
2588
2589 2010-12-20  Todd C. Miller  <Todd.Miller@courtesan.com>
2590
2591         * doc/sudoers.ldap.pod, plugins/sudoers/ldap.c:
2592         Pick last match in LDAP sudoers too
2593         [fbfd8e85703b]
2594
2595         * doc/sudo_plugin.pod:
2596         Document iolog_file, iolog_dir and use_pty
2597         [26120a59c20e]
2598
2599         * plugins/sample/sample_plugin.c, plugins/sudoers/iolog.c,
2600         plugins/sudoers/sudoers.c:
2601         Adapt plugins to version I/O logging ABI 1.1
2602         [880dd64bc1e8]
2603
2604         * src/exec.c, src/sudo.h:
2605         Add use_pty command_info flag for policies to indicate that a pty
2606         should be allocated even if no I/O logging is performed.
2607         [e7b167f8a6e5]
2608
2609         * src/sudo.c:
2610         Add remaining plugin convenience functions
2611         [ffeaf96da031]
2612
2613         * include/sudo_plugin.h, src/sudo.c, src/sudo.h,
2614         src/sudo_plugin_int.h:
2615         Change I/O log API to pass in command info to the I/O log open
2616         function. Add iolog_file and iolog_dir parameters to command info.
2617         This allows the policy plugin to specify the I/O log pathname. Add
2618         convenience functions for calling plugin functions that handle ABI
2619         backwards compatibility.
2620         [9b81dce76ce5]
2621
2622         * compat/dlopen.c:
2623         Remove useless cast
2624         [7cecce969739]
2625
2626 2010-12-17  Todd C. Miller  <Todd.Miller@courtesan.com>
2627
2628         * configure, configure.in:
2629         Bump version to 1.8.0b3
2630         [1dc9f040aae0]
2631
2632 2010-12-13  Todd C. Miller  <Todd.Miller@courtesan.com>
2633
2634         * configure.in:
2635         Remove extraneous newline
2636         [71c94551eea5]
2637
2638 2010-12-10  Todd C. Miller  <Todd.Miller@courtesan.com>
2639
2640         * doc/sudoers.pod, plugins/sudoers/def_data.c,
2641         plugins/sudoers/def_data.h, plugins/sudoers/def_data.in,
2642         plugins/sudoers/defaults.c, plugins/sudoers/iolog.c:
2643         Make I/O log dir configurable.
2644         [99b576667a38]
2645
2646         * aclocal.m4, configure, configure.in, doc/sudoers.pod:
2647         Rename io_logdir to iolog_dir
2648         [0731662acc8d]
2649
2650 2010-12-07  Todd C. Miller  <Todd.Miller@courtesan.com>
2651
2652         * pp:
2653         Add missing '*' that prevented the generic ELF case from matching.
2654         [be77ca26bfb2]
2655
2656         * pp:
2657         If file(1) can't identify the ELF binary type, try readelf(1).
2658         [38a18d32a9e3]
2659
2660 2010-11-30  Todd C. Miller  <Todd.Miller@courtesan.com>
2661
2662         * plugins/sudoers/auth/kerb4.c, plugins/sudoers/check.c,
2663         plugins/sudoers/env.c, plugins/sudoers/pwutil.c,
2664         plugins/sudoers/sudoers.c, src/sudo.c:
2665         Use %u to print uid/gid, not %lu and adjust casts to match.
2666         [03c43b8749cf]
2667
2668         * doc/sudoers.ldap.pod:
2669         Clarify ordering of entries and attributes.
2670         [924e2a6bb603]
2671
2672         * doc/sudoers.ldap.pod:
2673         Fix typo and editing goof.
2674         [79dc7ccd85a8]
2675
2676         * doc/schema.ActiveDirectory, doc/schema.OpenLDAP, doc/schema.iPlanet,
2677         doc/sudoers.ldap.pod:
2678         Merge in ordered LDAP entry support from Andreas Mueller.
2679         [ea5885989bad]
2680
2681         * plugins/sudoers/ldap.c:
2682         Make sure we don't dereference a NULL handle.
2683         [1a9f9ee15371]
2684
2685 2010-11-24  Todd C. Miller  <Todd.Miller@courtesan.com>
2686
2687         * pp:
2688         Add support for RHEL 6 file modes that include a trailing dot on
2689         files with an SELinux security context
2690         [dc09be959547]
2691
2692 2010-11-23  Todd C. Miller  <Todd.Miller@courtesan.com>
2693
2694         * src/sudo.c:
2695         exec_setup() does not need to setuid(0), the Ubuntu issue was in the
2696         sudoers module.
2697         [d6dd99fc6062]
2698
2699         * plugins/sudoers/sudoers.c:
2700         create_admin_success_flag() should use restore_perms() rather than
2701         set_perms() to restore the uid.
2702         [eba7a91c1f57]
2703
2704         * src/sudo.c:
2705         In exec_setup() call setuid(0) to make certain the subsequent uid
2706         and gid changes will succeed. Fixes a problem on Ubuntu.
2707         [c5d32abf0645]
2708
2709         * src/sudo_edit.c:
2710         Error out if we cannot change to root's uid so we catch the failure
2711         early.
2712         [7a2e7f8f2c80]
2713
2714 2010-11-22  Todd C. Miller  <Todd.Miller@courtesan.com>
2715
2716         * doc/sudoers.pod:
2717         fix typo; from Michael T Hunter
2718         [a574a9d0db5b]
2719
2720         * plugins/sudoers/match.c:
2721         In sudoedit mode, assume command line arguments are paths and pass
2722         FNM_PATHNAME to fnmatch().
2723         [ce0abff8ce9f]
2724
2725 2010-11-20  Todd C. Miller  <Todd.Miller@courtesan.com>
2726
2727         * configure, configure.in:
2728         Add workaround for an error in sys/types.h on HP-UX 11.23 when large
2729         file support is enabled. Defining _XOPEN_SOURCE_EXTENDED avoids the
2730         broken bits of the header file.
2731         [e337217f097a]
2732
2733         * aclocal.m4:
2734         Fix SUDO_MAILDIR usage of AC_LANG_PROGRAM
2735         [fbbcee28961f]
2736
2737         * sudo.pp:
2738         For Tru64, strip off beta version.
2739         [eeccd762df5e]
2740
2741         * MANIFEST, plugins/sudoers/testsudoers.c,
2742         plugins/sudoers/tsgetgrpw.c, plugins/sudoers/tsgetgrpw.h:
2743         Avoid conflicts with system definitions in grp.h and pwd.h
2744         [b219ffe1da09]
2745
2746         * zlib/gzguts.h:
2747         Include stdio.h after zlib.h, not before. We need the large file
2748         defines to come first.
2749         [21d6df39790f]
2750
2751 2010-11-19  Todd C. Miller  <Todd.Miller@courtesan.com>
2752
2753         * doc/sudoers.ldap.cat, doc/sudoers.ldap.man.in:
2754         regen
2755         [3ff8750d0aac]
2756
2757         * Makefile.in:
2758         Don't clean ChangeLog
2759         [ab0d30d289d4]
2760
2761         * plugins/sudoers/testsudoers.c, plugins/sudoers/visudo.c:
2762         Add prototype for cleanup()
2763         [75626fd3769a]
2764
2765 2010-11-18  Todd C. Miller  <Todd.Miller@courtesan.com>
2766
2767         * plugins/sudoers/group_plugin.c:
2768         Avoid deferencing group_plugin if it is NULL in
2769         group_plugin_query(). This should not happen.
2770         [4f2933c8da7e]
2771
2772         * plugins/sudoers/group_plugin.c:
2773         group plugin init function return TRUE when successful
2774         [198024477030]
2775
2776 2010-11-17  Todd C. Miller  <Todd.Miller@courtesan.com>
2777
2778         * plugins/sudoers/ldap.c:
2779         Enlarge the array of entry wrappers int blocks of 100 entries to
2780         save on allocation time. From Andreas Mueller
2781         [375c916bb03b]
2782
2783         * plugins/sudoers/ldap.c:
2784         Add back call to sudo_ldap_timefilter() in sudo_ldap_build_pass2()
2785         that was mistakenly dropped.
2786         [1555f5bc132d]
2787
2788 2010-11-16  Todd C. Miller  <Todd.Miller@courtesan.com>
2789
2790         * doc/TROUBLESHOOTING:
2791         Mention that sudo needs "ar" to build.
2792         [65582ace2d09]
2793
2794         * configure, configure.in:
2795         Fail with a more useful error if "ar" is not found.
2796         [d1cb83719c17]
2797
2798 2010-11-14  Todd C. Miller  <Todd.Miller@courtesan.com>
2799
2800         * plugins/sudoers/ldap.c:
2801         Merge in ordered LDAP entry support from Andreas Mueller and add
2802         local changes from the 1.7 branch.
2803         [bca29e461618]
2804
2805 2010-11-12  Todd C. Miller  <Todd.Miller@courtesan.com>
2806
2807         * doc/schema.ActiveDirectory, doc/schema.OpenLDAP, doc/schema.iPlanet,
2808         doc/sudoers.ldap.pod, plugins/sudoers/ldap.c:
2809         Add timed entry support from Andreas Mueller.
2810         [e18d1df46a8d]
2811
2812         * plugins/sudoers/group_plugin.c:
2813         Don't try to unload if group_plugin is NULL. Don't call dlclose() if
2814         group_handle is NULL
2815         [de2273da37d5]
2816
2817         * plugins/sudoers/sudoers.h:
2818         It is now plugin_cleanup(), not cleanup()
2819         [da62a4e1a78c]
2820
2821         * plugins/sudoers/logging.c, plugins/sudoers/sudoers.c:
2822         Call plugin_cleanup(), not cleanup()
2823         [e800ad8b33ad]
2824
2825 2010-11-11  Todd C. Miller  <Todd.Miller@courtesan.com>
2826
2827         * plugins/sudoers/ldap.c:
2828         Use efree() not free() and remove malloc.h include since we never
2829         directly call malloc() or free().
2830         [107fffd134bb]
2831
2832 2010-11-09  Todd C. Miller  <Todd.Miller@courtesan.com>
2833
2834         * sudo.pp:
2835         set PSTAMP for Solaris and move the backend-specific bits to their
2836         own %if [xxx] %endif blocks in %set.
2837         [a94ebe8920c1]
2838
2839         * pp:
2840         sync with git repo
2841         [75ff509696b4]
2842
2843         * configure, configure.in:
2844         Only substitute file zlib files when using the builtin zlib
2845         [6c8145b2deb4]
2846
2847         * common/Makefile.in, compat/Makefile.in, plugins/sample/Makefile.in,
2848         plugins/sample_group/Makefile.in, plugins/sudoers/Makefile.in,
2849         src/Makefile.in, zlib/Makefile.in:
2850         Give up on using VPATH to find sources as it is implemented
2851         inconsistenly in different versions of make.
2852         [60517c69aaee]
2853
2854         * plugins/sudoers/Makefile.in, plugins/sudoers/getdate.c,
2855         plugins/sudoers/gram.c, plugins/sudoers/toke.c:
2856         Include config.h before any other includes to make sure we get the
2857         right value for _FILE_OFFSET_BITS.
2858         [8fb007ca832e]
2859
2860         * MANIFEST:
2861         Add zlib
2862         [04a3e23dfaa9]
2863
2864         * zlib/Makefile.in:
2865         Add missing targets
2866         [40e45a177168]
2867
2868         * src/Makefile.in:
2869         g/c unused $(GENERATED)
2870         [c8758068c1bc]
2871
2872 2010-11-08  Todd C. Miller  <Todd.Miller@courtesan.com>
2873
2874         * plugins/sudoers/group_plugin.c:
2875         Zero out group_plugin on unload just to be safe.
2876         [0b10f4d101ca]
2877
2878         * plugins/sudoers/group_plugin.c:
2879         Unload group plugin if its init function fails.
2880         [6552cdac4b7c]
2881
2882         * src/sudo.c:
2883         Only chdir to cwd if it is different from the current cwd or there
2884         is a new root (chroot).
2885         [b8203e875e84]
2886
2887         * configure, configure.in, doc/sudo.cat, doc/sudo.man.in,
2888         doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudoers.ldap.cat,
2889         doc/sudoers.ldap.man.in, doc/visudo.cat, doc/visudo.man.in:
2890         Bump version to 1.8.0b2
2891         [6dadeb75a878]
2892
2893 2010-10-28  Todd C. Miller  <Todd.Miller@courtesan.com>
2894
2895         * INSTALL:
2896         Better --enable-zlib description
2897         [e0da54fa59a6]
2898
2899         * mkpkg:
2900         Use system zlib on Linux Let configure decide on Solaris For all
2901         others, use builtin zlib
2902         [3d52eddb523c]
2903
2904         * zlib/zconf.h.in:
2905         Add large file support.
2906         [bec01215270d]
2907
2908         * config.h.in:
2909         Add large file support.
2910         [244e95b034ec]
2911
2912         * Makefile.in, configure, configure.in, doc/LICENSE, doc/license.pod,
2913         zlib/Makefile.in, zlib/adler32.c, zlib/compress.c, zlib/crc32.c,
2914         zlib/crc32.h, zlib/deflate.c, zlib/deflate.h, zlib/gzclose.c,
2915         zlib/gzguts.h, zlib/gzlib.c, zlib/gzread.c, zlib/gzwrite.c,
2916         zlib/infback.c, zlib/inffast.c, zlib/inffast.h, zlib/inffixed.h,
2917         zlib/inflate.c, zlib/inflate.h, zlib/inftrees.c, zlib/inftrees.h,
2918         zlib/trees.c, zlib/trees.h, zlib/uncompr.c, zlib/zconf.h.in,
2919         zlib/zlib.h, zlib/zutil.c, zlib/zutil.h:
2920         Add local copy of zlib for systems that lack it.
2921         [7542ca465c5a]
2922
2923 2010-10-15  Todd C. Miller  <Todd.Miller@courtesan.com>
2924
2925         * src/exec.c:
2926         If perform_io() fails, kill the child before exiting so it doesn't
2927         complain about connection reset. We can get an I/O error if, for
2928         example, and we get EIO reading from stdin.
2929         [e59a05fa729f]
2930
2931 2010-10-12  Todd C. Miller  <Todd.Miller@courtesan.com>
2932
2933         * plugins/sudoers/sudoers.c, src/sudo.c:
2934         Fix complilation on systems with set_auth_parameters() Sprinkle
2935         volatile to quiet warnings from gcc 2.8.0
2936         [a34c2b924ba7]
2937
2938         * compat/dlfcn.h, compat/dlopen.c:
2939         Avoid potential namespace issues with dlopen() emulation.
2940         [aedfababd6ca]
2941
2942         * MANIFEST:
2943         sync
2944         [6afb97e6d308]
2945
2946         * plugins/sudoers/interfaces.c:
2947         Use INADDR_NONE instead of casting -1 to in_addr_t (which may not
2948         exist).
2949         [ddfca5af1a36]
2950
2951         * Makefile.in:
2952         Mark ChangeLog as PHONY Don't overwrite ChangeLog if we can't run hg
2953         [e9d04bfa4505]
2954
2955         * configure, configure.in:
2956         HP-UX 10.20 libc has an incompatible getline
2957         [2e7bc202e78d]
2958
2959         * plugins/sudoers/visudo.c:
2960         Quiet an HP-UX compiler warning.
2961         [55b9d587ac8c]
2962
2963         * configure, configure.in:
2964         Check for vi even with --with-editor specified; the sample plugin
2965         needs it.
2966         [94dfc3643f76]
2967
2968 2010-10-11  Todd C. Miller  <Todd.Miller@courtesan.com>
2969
2970         * compat/dlopen.c:
2971         Fix remaining syntax errors.
2972         [9d729b5b577e]
2973
2974         * src/Makefile.in:
2975         sudo binary depends on the libtool-generated libs
2976         [9e6148406adb]
2977
2978         * plugins/sudoers/group_plugin.c, src/load_plugins.c:
2979         Use HAVE_DLOPEN instead of HAVE_DLFCN_H when determining whether to
2980         include the local or system dlfcn.h
2981         [68cfe4c1089b]
2982
2983         * pp:
2984         Don't use run_as_superuser=false on HP-UX
2985         [532242370b09]
2986
2987         * src/net_ifs.c:
2988         Use memset() instead of zero_bytes() since we don't include
2989         sudoers.h
2990         [a187c18c2472]
2991
2992         * plugins/sudoers/interfaces.c:
2993         Fix pasto; AF_INET not AF_INET6
2994         [2d2e9d7dc6f9]
2995
2996         * compat/dlopen.c:
2997         Actually call shl_load()
2998         [ed8153b8a3cd]
2999
3000         * pp:
3001         Update from git repo. Debian: version numbers now compliant with
3002         policy section 5.6.12 HP-UX: minimal changes needed to work on HP-UX
3003         10.20
3004         [ecf2692bceeb]
3005
3006         * configure, configure.in:
3007         Fix dlopen() detection for systems where dlopen() is in a separate
3008         library.
3009         [fa6b175582b6]
3010
3011         * plugins/sudoers/auth/pam.c:
3012         If pam_acct_mgmt() returns PAM_AUTH_ERR print a (hopefully) more
3013         useful message and return AUTH_FATAL so sudo does not keep trying to
3014         validate the user.
3015         [1be8857e5291]
3016
3017         * src/preload.c:
3018         sudo_preload_table is an array
3019         [b7704e72a9da]
3020
3021         * compat/dlopen.c:
3022         Quiet a compiler warning and fix sudo_preload_table external
3023         definition.
3024         [8234987664cc]
3025
3026         * compat/dlfcn.h:
3027         Fix multiple inclusion guard in dlfcn.h and fix dlerror() prototype.
3028         [8bab6a4053cc]
3029
3030         * plugins/sudoers/group_plugin.c:
3031         Make this compile correctly when no dlopen is available.
3032         [57643879bd2b]
3033
3034 2010-10-07  Todd C. Miller  <Todd.Miller@courtesan.com>
3035
3036         * plugins/sudoers/check.c:
3037         Having a timestamp file defined is no longer indicative of tty
3038         tickets being enabled. Check def_tty_tickets directly.
3039         [efcc11ad157f]
3040
3041         * src/exec_pty.c, src/sudo.h, src/ttysize.c:
3042         Fix TCGETWINSZ compat.
3043         [da3a8b17cf7a]
3044
3045 2010-10-02  Todd C. Miller  <Todd.Miller@courtesan.com>
3046
3047         * src/exec_pty.c, src/ttysize.c:
3048         Prefer newer TIOCGWINSZ ioctl to old TIOCGSIZE
3049         [926492dd10a6]
3050
3051 2010-10-01  Todd C. Miller  <Todd.Miller@courtesan.com>
3052
3053         * plugins/sudoers/sudoers.c, src/sudo.c:
3054         Move set_project() from sudoers module into sudo proper.
3055         [beabafac03b4]
3056
3057         * configure, configure.in:
3058         Fix typo and regenerate
3059         [4a3caf4234f3]
3060
3061         * plugins/sudoers/ldap.c:
3062         When iterating over returned LDAP entries, keep looking at remaining
3063         matches even if we have a positive match. This catches negative
3064         matches that may exist in other entries and more closely match the
3065         sudoers file behavior.
3066         [f47db6e609b0]
3067
3068         * pp:
3069         Add support for multiple package instances on Solaris.
3070         [7f2a8b942545]
3071
3072         * src/exec.c:
3073         Add missing signal_pipe[0] to fdsr for the non-pty case.
3074         [79d01e11b19c]
3075
3076         * mkpkg:
3077         Add --with-project for Solaris
3078         [ffa4c2bb93f7]
3079
3080         * README:
3081         Need ar and ranlib too
3082         [5c2f679172ef]
3083
3084 2010-09-27  Todd C. Miller  <Todd.Miller@courtesan.com>
3085
3086         * plugins/sudoers/env.c:
3087         Preserve ODMDIR environment variable by default on AIX.
3088         [bd47cb1e804f]
3089
3090 2010-09-26  Todd C. Miller  <Todd.Miller@courtesan.com>
3091
3092         * Makefile.in, compat/Makefile.in, compat/dlfcn.h, compat/dlopen.c,
3093         config.h.in, configure, configure.in, plugins/sample/Makefile.in,
3094         plugins/sample_group/Makefile.in, plugins/sudoers/Makefile.in,
3095         plugins/sudoers/group_plugin.c, plugins/sudoers/plugin_error.c,
3096         plugins/sudoers/sudoers.c, src/Makefile.in, src/load_plugins.c,
3097         src/preload.c:
3098         Add dlopen() emulation for systems without it. For HP-UX 10, emulate
3099         using shl_load(). For others, link sudoers plugin statically and use
3100         a lookup table to emulate dlsym().
3101         [e92edfb3c642]
3102
3103 2010-09-24  Todd C. Miller  <Todd.Miller@courtesan.com>
3104
3105         * compat/fnmatch.c, compat/glob.c, compat/mksiglist.c,
3106         compat/nanosleep.c, compat/utimes.c:
3107         When including compat headers, use the compat dir as part of the
3108         path so we are sure to get the correct header.
3109         [6c2a45da6af5]
3110
3111 2010-09-21  Todd C. Miller  <Todd.Miller@courtesan.com>
3112
3113         * plugins/sudoers/linux_audit.c:
3114         Ignore ECONNREFUSED from audit_log_user_command() which will occur
3115         if auditd is not running.
3116         [d314fe4c8d03]
3117
3118 2010-09-17  Todd C. Miller  <Todd.Miller@courtesan.com>
3119
3120         * pp:
3121         Sync with git version
3122         [1c0357744222]
3123
3124 2010-09-16  Todd C. Miller  <Todd.Miller@courtesan.com>
3125
3126         * common/fileops.c, plugins/sudoers/defaults.c:
3127         Cast isblank argument to unsigned char.
3128         [c822dbb3ca54]
3129
3130 2010-09-14  Todd C. Miller  <Todd.Miller@courtesan.com>
3131
3132         * INSTALL, config.h.in, configure, configure.in, doc/sudoers.cat,
3133         doc/sudoers.man.in, doc/sudoers.pod, plugins/sudoers/defaults.c:
3134         Implement --with-umask-override configure flag.
3135         [863e3047df22]
3136
3137         * plugins/sudoers/env.c:
3138         Take MODE_LOGIN_SHELL into account when initially setting reset_home
3139         instead of special-casing it later.
3140         [5d6b16480fd6]
3141
3142         * plugins/sudoers/sudoers.c:
3143         In login mode, make a copy of the runas user's pw_shell for
3144         NewArgv[0] because 1) we modify it and 2) it will runas_pw gets
3145         freed before exec.
3146         [1d1ccb568dfa]
3147
3148         * plugins/sudoers/env.c:
3149         Reset HOME for "sudo -i" even if HOME was listed in env_keep.
3150         [c1c1c65a2d63]
3151
3152         * src/sudo.c:
3153         Use SIG_SETMASK when resetting signal mask instead of SIG_UNBLOCK.
3154         [7443454e5f88]
3155
3156         * src/sudo.c:
3157         Reset signal mask at sudo startup time; we need to be able to rely
3158         on normal signal delivery to control the child process.
3159         [95800163ff94]
3160
3161 2010-09-13  Todd C. Miller  <Todd.Miller@courtesan.com>
3162
3163         * install-sh:
3164         Use sed instead of expr to split a flag from its argument. Fixes a
3165         problem with expr interpreting its arguments as a flag when they
3166         start with a dash.
3167         [736065e14301]
3168
3169         * common/lbuf.c:
3170         Do not need sys/time.h after all
3171         [91f6f668ccda]
3172
3173         * common/lbuf.c:
3174         Include sys/time.h for utimes() and struct timeval. No longer need
3175         ioctl.h or termios.h
3176         [2d75273d3213]
3177
3178         * compat/snprintf.c:
3179         Quiet bogus compiler warnings.
3180         [fe252e1968f5]
3181
3182         * include/missing.h:
3183         Declare innetgr() for HP-UX which is missing a declaration. Declare
3184         domainname() for HP-UX and Solaris which are missing a declaration.
3185         [b37c50751138]
3186
3187         * plugins/sudoers/bsm_audit.c:
3188         Use __sun for consistency with the rest of the sources.
3189         [6b086b61ccb6]
3190
3191         * plugins/sudoers/group_plugin.c:
3192         Quiet a bogus compiler warning.
3193         [ebc069842c4a]
3194
3195         * plugins/sudoers/pwutil.c:
3196         Don't try to delref a NULL group.
3197         [f6ff0838be21]
3198
3199         * common/alloc.c, common/lbuf.c:
3200         Include memory.h on systems that need it.
3201         [4e676da81c6f]
3202
3203 2010-09-11  Todd C. Miller  <Todd.Miller@courtesan.com>
3204
3205         * src/exec.c:
3206         Quiet gcc warnings on glibc systems that use warn_unused_result for
3207         write(2).
3208         [0532da0b7cf7]
3209
3210         * doc/sudoers.cat, doc/sudoers.man.in, doc/sudoers.pod:
3211         sudo_plugin is in section 8; from Ted Percival
3212         [b4506a0de87e]
3213
3214         * plugins/sudoers/Makefile.in:
3215         testsudoers depends on libsudoers.la, not sudoreplay
3216         [cdb1cc3bf06a]
3217
3218 2010-09-10  Todd C. Miller  <Todd.Miller@courtesan.com>
3219
3220         * src/exec.c:
3221         Read as many signals on the signal pipe as we can before returning.
3222         [b181671da047]
3223
3224         * src/exec.c, src/exec_pty.c, src/sudo_exec.h:
3225         Instead of using a array to store received signals, open a pipe and
3226         have the signal handler write the signal number to one end and
3227         select() on the other end. This makes it possible to handle signals
3228         similar to I/O without race conditions.
3229         [ee84d65c16b6]
3230
3231 2010-09-09  Todd C. Miller  <Todd.Miller@courtesan.com>
3232
3233         * doc/visudo.pod, plugins/sudoers/visudo.c:
3234         Make "visudo -c -f -" check the standard input.
3235         [195a3d2a9a26]
3236
3237         * doc/sudoers.pod:
3238         set_home and always_set_home have an effect if HOME is present in
3239         the env_keep list.
3240         [159d0b9dc5c8]
3241
3242         * plugins/sudoers/env.c:
3243         Make -H flag work when HOME is listed in env_keep. Also makes
3244         "set_home" and "always_set_home" override override HOME in env_keep.
3245         [a3e5b966193f]
3246
3247 2010-09-08  Todd C. Miller  <Todd.Miller@courtesan.com>
3248
3249         * plugins/sudoers/Makefile.in, plugins/sudoers/interfaces.c,
3250         plugins/sudoers/interfaces.h, plugins/sudoers/match.c,
3251         plugins/sudoers/sudoers.c, plugins/sudoers/testsudoers.c,
3252         plugins/sudoers/visudo.c, src/net_ifs.c:
3253         Convert sudoers plugin to use interface list passed in settings.
3254         [87d9b5f4f586]
3255
3256         * doc/sudo_plugin.pod, src/Makefile.in, src/net_ifs.c,
3257         src/parse_args.c, src/sudo.h:
3258         Query local network interfaces in the main sudo driver and pass to
3259         the plugin as "network_addrs" in the settings list.
3260         [7f35bcfe77a7]
3261
3262         * plugins/sudoers/bsm_audit.c:
3263         Solaris BSM audit return EINVAL when auditing is not enabled,
3264         whereas OpenBSM returns ENOSYS.
3265         [411b980ec58b]
3266
3267 2010-09-07  Todd C. Miller  <Todd.Miller@courtesan.com>
3268
3269         * compat/fnmatch.c:
3270         missing.h should come before most local includes
3271         [53921a7b8b5b]
3272
3273         * plugins/sudoers/sudoreplay.c:
3274         missing.h should come before most local includes
3275         [e9abb0db1aac]
3276
3277         * plugins/sudoers/sudoers.h:
3278         Make local includes consistent; use double quotes for local includes
3279         except for generated ones where we use angle brackets.
3280         [09de4faa9547]
3281
3282         * plugins/sudoers/sudoers.c:
3283         Always fill in NewArgv for audit code.
3284         [7c3aca60519f]
3285
3286         * plugins/sudoers/toke.c, plugins/sudoers/toke.l:
3287         Add missing LOG_INPUT/LOG_OUTPUT support in the lexer.
3288         [007cf6560f92]
3289
3290         * common/alloc.c, common/atobool.c, common/fileops.c,
3291         common/fmt_string.c, common/lbuf.c, common/list.c, common/term.c,
3292         common/zero_bytes.c, compat/closefrom.c, compat/fnmatch.c,
3293         compat/getcwd.c, compat/getgrouplist.c, compat/getline.c,
3294         compat/getprogname.c, compat/glob.c, compat/isblank.c,
3295         compat/memrchr.c, compat/mksiglist.c, compat/mkstemps.c,
3296         compat/nanosleep.c, compat/setenv.c, compat/snprintf.c,
3297         compat/strlcat.c, compat/strlcpy.c, compat/strsignal.c,
3298         compat/unsetenv.c, compat/utimes.c, include/compat.h,
3299         plugins/sample/sample_plugin.c, plugins/sample_group/getgrent.c,
3300         plugins/sample_group/plugin_test.c,
3301         plugins/sample_group/sample_group.c, plugins/sudoers/audit.c,
3302         plugins/sudoers/auth/afs.c, plugins/sudoers/boottime.c,
3303         plugins/sudoers/getdate.c, plugins/sudoers/getdate.y,
3304         plugins/sudoers/linux_audit.c, plugins/sudoers/match.c,
3305         plugins/sudoers/plugin_error.c, plugins/sudoers/sudoreplay.c,
3306         plugins/sudoers/timestr.c, src/error.c, src/sesh.c, src/sudo.h,
3307         src/sudo_noexec.c, src/ttysize.c:
3308         Make local includes consistent; use double quotes for local includes
3309         except for generated ones where we use angle brackets. Also g/c
3310         unused compat.h.
3311         [e57070dc8f04]
3312
3313 2010-09-06  Todd C. Miller  <Todd.Miller@courtesan.com>
3314
3315         * plugins/sudoers/match.c:
3316         When matching the runas user and runas group (-u and -g command line
3317         options), keep track of runas group and runas user matches
3318         separately. Only return a positive match if we have a match for
3319         both runas user and runas group (if specified).
3320         [815219e04cc8]
3321
3322 2010-09-04  Todd C. Miller  <Todd.Miller@courtesan.com>
3323
3324         * doc/sudoers.ldap.pod, plugins/sudoers/ldap.c:
3325         Add support for multiple URI lines by joining the contents and
3326         passing the result to ldap_initialize.
3327         [a47cae3b72e8]
3328
3329         * plugins/sudoers/ldap.c, plugins/sudoers/parse.c:
3330         Do not return -1 on error from the display functions; the caller
3331         expects a return value >= 0.
3332         [101456a7dd00]
3333
3334         * plugins/sudoers/sudoers.c:
3335         Do not set both MODE_EDIT and MODE_RUN
3336         [8faa36694d54]
3337
3338 2010-09-03  Todd C. Miller  <Todd.Miller@courtesan.com>
3339
3340         * include/missing.h:
3341         Move includes to the top of the file.
3342         [a51436798e8c]
3343
3344 2010-08-30  Todd C. Miller  <Todd.Miller@courtesan.com>
3345
3346         * plugins/sudoers/Makefile.in:
3347         Add missing definition of timedir
3348         [458a749c2c5e]
3349
3350         * compat/fnmatch.c, compat/getprogname.c, compat/isblank.c,
3351         compat/mksiglist.c, compat/strsignal.c,
3352         plugins/sudoers/plugin_error.c, src/error.c, src/sudo_noexec.c:
3353         Add #include of sys/types.h for .c files that include missing.h to
3354         be sure that size_t and ssize_t are defined.
3355         [08e3132dbf4f]
3356
3357         * plugins/sudoers/Makefile.in:
3358         Install sudoers file from the build dir not hte src dir.
3359         [ca89e962dbf4]
3360
3361 2010-08-26  Todd C. Miller  <Todd.Miller@courtesan.com>
3362
3363         * plugins/sudoers/set_perms.c:
3364         If runas_pw changes, reset the stashed runas aux group vector.
3365         Otherwise, if runas_default is set in a per-command Defaults
3366         statement, the command runs with root's aux group vector (i.e. the
3367         one that was used when locating the command).
3368         [24f9107cedd2]
3369
3370         * plugins/sudoers/Makefile.in:
3371         Add target to generate sudoers file Remove generated sudoers file as
3372         part of distclean
3373         [fb7422e90f03]
3374
3375 2010-08-24  Todd C. Miller  <Todd.Miller@courtesan.com>
3376
3377         * src/exec.c:
3378         When not logging I/O install a handler for SIGCONT and deliver it to
3379         the command upon resume. Fixes bugzilla #431
3380         [495dce52a5aa]
3381
3382 2010-08-21  Todd C. Miller  <Todd.Miller@courtesan.com>
3383
3384         * plugins/sudoers/sudoers.h:
3385         g/c unused auth_pw extern definition
3386         [40eb7477ba17]
3387
3388         * plugins/sudoers/check.c, plugins/sudoers/sudoers.c:
3389         Move get_auth() into check.c where it is actually used.
3390         [e31db0ce3a61]
3391
3392 2010-08-20  Todd C. Miller  <Todd.Miller@courtesan.com>
3393
3394         * common/lbuf.c:
3395         Convert a remaining puts() and putchar() to use the output function.
3396         [d69e363a506b]
3397
3398         * plugins/sudoers/plugin_error.c:
3399         Plug memory leak
3400         [68895469ea8d]
3401
3402 2010-08-18  Todd C. Miller  <Todd.Miller@courtesan.com>
3403
3404         * plugins/sudoers/env.c:
3405         Set dupcheck to TRUE when setting new HOME value if !env_reset but
3406         always_set_home is true. Prevents a duplicate HOME in the
3407         environment (old value plus the new one) introduced in f421f8827340.
3408         [9ca19183794f]
3409
3410         * configure, configure.in, plugins/sudoers/sudoers,
3411         plugins/sudoers/sudoers.in:
3412         Substitute sysconfdir in the installed sudoers file to get the
3413         correct path for sudoers.d.
3414         [86072b6cd55d]
3415
3416 2010-08-17  Todd C. Miller  <Todd.Miller@courtesan.com>
3417
3418         * src/get_pty.c:
3419         Fix typo that prevented compilation on Irix; Friedrich Haubensak
3420         [b48be51b65fc]
3421
3422 2010-08-16  Todd C. Miller  <Todd.Miller@courtesan.com>
3423
3424         * MANIFEST, common/Makefile.in, common/aix.c, common/alloc.c,
3425         common/atobool.c, common/fileops.c, common/fmt_string.c,
3426         common/lbuf.c, common/list.c, common/term.c, common/zero_bytes.c,
3427         compat/Makefile.in, compat/closefrom.c, compat/fnmatch.c,
3428         compat/getcwd.c, compat/getgrouplist.c, compat/getline.c,
3429         compat/getprogname.c, compat/glob.c, compat/isblank.c,
3430         compat/memrchr.c, compat/mksiglist.c, compat/mkstemps.c,
3431         compat/nanosleep.c, compat/setenv.c, compat/snprintf.c,
3432         compat/strlcat.c, compat/strlcpy.c, compat/strsignal.c,
3433         compat/unsetenv.c, compat/utimes.c, include/compat.h,
3434         include/missing.h, plugins/sample/sample_plugin.c,
3435         plugins/sample_group/getgrent.c,
3436         plugins/sample_group/sample_group.c, plugins/sudoers/Makefile.in,
3437         plugins/sudoers/audit.c, plugins/sudoers/boottime.c,
3438         plugins/sudoers/getdate.c, plugins/sudoers/getdate.y,
3439         plugins/sudoers/linux_audit.c, plugins/sudoers/plugin_error.c,
3440         plugins/sudoers/sudoers.h, plugins/sudoers/sudoreplay.c,
3441         plugins/sudoers/timestr.c, src/Makefile.in, src/error.c, src/sesh.c,
3442         src/sudo.h, src/sudo_noexec.c, src/ttysize.c:
3443         Merge compat.h and missing.h into missing.h
3444         [572909ae9716]
3445
3446 2010-08-14  Todd C. Miller  <Todd.Miller@courtesan.com>
3447
3448         * plugins/sudoers/auth/pam.c:
3449         If the user hits ^C while a password is being read, error out before
3450         reading any further passwords in the pam conversation function.
3451         Otherwise, if multiple PAM auth methods are required, the user will
3452         have to hit ^C for each one.
3453         [23782631748c]
3454
3455 2010-08-12  Todd C. Miller  <Todd.Miller@courtesan.com>
3456
3457         * plugins/sudoers/check.c:
3458         Update comment
3459         [a5296cb3a20a]
3460
3461         * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod:
3462         Document sudo_conv_t function and sudo_printf_t return values.
3463         [745c0017814c]
3464
3465         * src/conversation.c:
3466         Make _sudo_printf return the number of characters printed on success
3467         like printf(3).
3468         [8eeefe8d7e77]
3469
3470 2010-08-10  Todd C. Miller  <Todd.Miller@courtesan.com>
3471
3472         * plugins/sudoers/sudoers.c:
3473         sudoers.h includes sudo_plugin.h for us
3474         [cabe68e07807]
3475
3476         * common/Makefile.in, common/gettime.c, compat/mkstemps.c,
3477         plugins/sudoers/sudoers.h, plugins/sudoers/visudo.c, src/sudo.h,
3478         src/sudo_edit.c:
3479         Use gettimeofday() directly instead of via the gettime() wrapper.
3480         [7490426c99ae]
3481
3482         * common/gettime.c, compat/snprintf.c, compat/strcasecmp.c,
3483         compat/strerror.c, config.h.in, configure, configure.in,
3484         include/compat.h, include/missing.h, plugins/sudoers/logging.c,
3485         plugins/sudoers/sudoers.c, plugins/sudoers/visudo.c, src/sudo.c:
3486         Remove some obsolete configure tests, ancient Unix systems are no
3487         longer supported.
3488         [2be6218c3a36]
3489
3490 2010-08-07  Todd C. Miller  <Todd.Miller@courtesan.com>
3491
3492         * sudo.pp:
3493         Set pp_kit_version and strip off patch level
3494         [aacfda1b676d]
3495
3496         * sudo.pp:
3497         Better handling of versions with a patchlevel. For rpm and deb, use
3498         the patchlevel+1 as the release. For AIX, use the patchlevel as the
3499         4th version number. For the rest, just leave the patchlevel in the
3500         version string.
3501         [638bd35f2346]
3502
3503 2010-08-06  Todd C. Miller  <Todd.Miller@courtesan.com>
3504
3505         * plugins/sudoers/auth/sudo_auth.c:
3506         For non-standalone auth methods, stop reading the password if the
3507         user enters ^C at the prompt.
3508         [82c2911bb264]
3509
3510         * configure, configure.in, plugins/sudoers/Makefile.in,
3511         plugins/sudoers/auth/passwd.c, plugins/sudoers/auth/secureware.c,
3512         plugins/sudoers/auth/sudo_auth.c, plugins/sudoers/auth/sudo_auth.h,
3513         plugins/sudoers/pwutil.c:
3514         No need to look up shadow password unless we are doing password-
3515         style authentication. This moves the shadow password lookup to the
3516         auth functions that need it.
3517         [ba9e3eba2b72]
3518
3519         * plugins/sudoers/sudoers.c:
3520         Retain final passwd/group refs until the policy close() function.
3521         Note that this doesn't get called in all cases so putting this in a
3522         cleanup function is probably better.
3523         [bbe214cb4119]
3524
3525         * plugins/sudoers/check.c:
3526         Fix mismerge
3527         [395115f89dd6]
3528
3529         * plugins/sudoers/check.c:
3530         When removing/resetting the timestamp file ignore the tty ticket
3531         contents.
3532         [b709f5667a0b]
3533
3534         * plugins/sudoers/sudoers.c:
3535         delref sudo_user.pw, runas_pw and runas_gr immediately before we
3536         return.
3537         [4d67d15dfd3b]
3538
3539 2010-08-04  Todd C. Miller  <Todd.Miller@courtesan.com>
3540
3541         * plugins/sudoers/check.c, plugins/sudoers/ldap.c,
3542         plugins/sudoers/match.c, plugins/sudoers/pwutil.c,
3543         plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h:
3544         Reference count cached passwd and group structs. The cache holds
3545         one reference itself and another is added by sudo_getgr{gid,nam} and
3546         sudo_getpw{uid,nam}. The final ref on the runas and user passwd and
3547         group structs are persistent for now.
3548         [e544685523c3]
3549
3550         * doc/UPGRADE:
3551         fix typo
3552         [e32f2d35e6c9]
3553
3554 2010-08-03  Todd C. Miller  <Todd.Miller@courtesan.com>
3555
3556         * plugins/sudoers/check.c:
3557         Do not produce a warning for "sudo -k" if the ticket file does not
3558         exist.
3559         [1598f6061b75]
3560
3561         * plugins/sudoers/pwutil.c:
3562         Instead of caching struct passwd and struct group in the red-black
3563         tree, store a struct cache_item which includes both the key and
3564         datum. This allows us to user the actual name that was looked up as
3565         the key instead of the contents of struct passwd or struct group.
3566         This matters because the name in the database may not match what we
3567         looked up, due either to case folding or truncation (historically at
3568         8 characters). Also mark the disabled calls to sudo_freepwcache()
3569         and sudo_freegrcache() as broken since we use cached data for things
3570         like set_perms() and the logging functions. Fixing this would
3571         require making a copy of the structs for user and runas or adding a
3572         reference count (better).
3573         [225d4a22f60e]
3574
3575         * plugins/sudoers/Makefile.in:
3576         Fix path to mkinstalldirs
3577         [b4968379b12d]
3578
3579         * plugins/sudoers/check.c, plugins/sudoers/logging.c,
3580         plugins/sudoers/sudoreplay.c, plugins/sudoers/visudo.c,
3581         src/exec_pty.c, src/get_pty.c, src/tgetpass.c:
3582         Quiet gcc warnings on glibc systems that use warn_unused_result for
3583         write(2) and others.
3584         [c99f138960e0]
3585
3586 2010-08-02  Todd C. Miller  <Todd.Miller@courtesan.com>
3587
3588         * plugins/sudoers/toke.c, plugins/sudoers/toke.l:
3589         Add %option noinput
3590         [72b9cd49b4f1]
3591
3592         * aclocal.m4, configure, configure.in:
3593         Add cross-compile defaults for remaining AC_TRY_RUN usage. Also add
3594         back getgroups() check since AC_FUNC_GETGROUPS defaults to "no" when
3595         cross-compiling.
3596         [e385c176d0ee]
3597
3598 2010-07-31  Todd C. Miller  <Todd.Miller@courtesan.com>
3599
3600         * aclocal.m4, compat/snprintf.c, config.h.in, configure, configure.in:
3601         Use AC_CHECK_MEMBER in SUDO_SOCK_SA_LEN Use AC_TYPE_LONG_LONG_INT
3602         and AC_CHECK_SIZEOF([long int]) instead of rolling our own.
3603         [cf3e60d9c440]
3604
3605 2010-07-29  Todd C. Miller  <Todd.Miller@courtesan.com>
3606
3607         * pp:
3608         Update to latest version
3609         [32f93be33961]
3610
3611 2010-07-28  Todd C. Miller  <Todd.Miller@courtesan.com>
3612
3613         * sudo.pp:
3614         Let pp determine pp_aix_version itself.
3615         [7cf0245d84ed]
3616
3617         * INSTALL, config.h.in, configure, configure.in, mkpkg,
3618         plugins/sudoers/sudoers.c:
3619         Add support for Ubuntu admin flag file and enable it when building
3620         Ubuntu packages.
3621         [00e27cff2dfb]
3622
3623         * plugins/sudoers/sudoers, sudo.pp:
3624         Add commented out SuSE-like targetpw settings
3625         [4605d47b7413]
3626
3627         * configure, configure.in:
3628         Only try to use +DAportable for non-GCC on hppa
3629         [75d0f284ccf7]
3630
3631         * configure, configure.in:
3632         Prevent configure from adding the -g flag unless in devel mode
3633         [b1fd3f8d45c0]
3634
3635 2010-07-27  Todd C. Miller  <Todd.Miller@courtesan.com>
3636
3637         * sudo.pp:
3638         Go back to sudo-flavor to match existing packages and only use an
3639         underscore for those that need it.
3640         [d737069d1e1c]
3641
3642         * sudo.pp:
3643         Use sudo_$flavor instead of sudo-$flavor since that causes the least
3644         amount of trouble for the various package managers.
3645         [71f547af35fc]
3646
3647         * mkpkg:
3648         Fix handling of the ldap flavor Remove destdir unless --debug was
3649         specified Make distclean before running configure if there is a
3650         Makefile present
3651         [6316f08de7d3]
3652
3653         * sudo.pp:
3654         Add back include file.
3655         [195627bf68b8]
3656
3657         * mkpkg:
3658         Pass extra args on to configure on HP-UX, if we don't have the HP C
3659         compiler, disable zlib to prevent gcc from finding it in
3660         /usr/local/lib.
3661         [473efa0e2bac]
3662
3663         * mkpkg:
3664         Use the HP ANSI C compiler on HP-UX if possible
3665         [fb249b6b175d]
3666
3667         * plugins/sudoers/sudoreplay.c:
3668         Some getline() implementations (FreeBSD 8.0) do not ignore the
3669         length pointer when the line pointer is NULL as they should.
3670         [2410a1a3543c]
3671
3672         * plugins/sudoers/sudoreplay.c:
3673         Don't need to check for *cp being non-zero, isdigit() will do that.
3674         [7df11ea8a487]
3675
3676         * plugins/sudoers/sudoreplay.c:
3677         Add setlocale() so the command line arguments that use floating
3678         point work in different locales. Since sudo now logs the timing
3679         data in the C locale we must Parse the seconds in the timing file
3680         manually instead of using strtod(). Furthermore, sudo 1.7.3 logged
3681         the number of seconds with the user's locale so if the decimal point
3682         is not '.' try using the locale-specific version.
3683         [4d385765f23b]
3684
3685         * src/exec.c:
3686         Do I/O logging in the C locale so the floating point numbers in the
3687         timing file are not locale-dependent.
3688         [5961cec044ec]
3689
3690         * plugins/sudoers/sudoreplay.c:
3691         Use errorx() not error() for thingsthat don't set errno.
3692         [0fe5e692af84]
3693
3694 2010-07-26  Todd C. Miller  <Todd.Miller@courtesan.com>
3695
3696         * pp:
3697         Better support for 1.2.3 style versions in Tru64 kits
3698         [997c549bb777]
3699
3700         * sudo.pp:
3701         Add Tru64 kit support
3702         [e273a954f981]
3703
3704         * pp:
3705         Remove apparently unnecessary use of sudo
3706         [be8840d85125]
3707
3708         * Makefile.in, plugins/sudoers/Makefile.in:
3709         Create timedir as part of install-dirs target.
3710         [c736bc2fb14f]
3711
3712         * src/exec_pty.c:
3713         Handle ENXIO from read/write which can occur when reading/writing a
3714         pty that has gone away.
3715         [fa2e8059879f]
3716
3717         * plugins/sudoers/pwutil.c:
3718         sudo_pwdup() was not expanding an empty pw_shell to _PATH_BSHELL
3719         [3a045475d5ee]
3720
3721         * mkpkg:
3722         platform is a pp flag not a variable
3723         [12eba39a47c1]
3724
3725         * Makefile.in, mkpkg, sudo.pp:
3726         Add simple arg parsing for mkpkg so we can set debug, flavor or
3727         platform.
3728         [ada839fe252d]
3729
3730         * pp:
3731         Make rpm backend work on AIX 5.x
3732         [549a76d11393]
3733
3734 2010-07-25  Todd C. Miller  <Todd.Miller@courtesan.com>
3735
3736         * plugins/sudoers/sudoers:
3737         Add commented out Defaults entry for log_output
3738         [7e67d7588900]
3739
3740 2010-07-23  Todd C. Miller  <Todd.Miller@courtesan.com>
3741
3742         * doc/Makefile.in:
3743         Remove sudo docdir completely
3744         [dce8e82878ef]
3745
3746         * doc/sample.sudo.conf:
3747         Add sample sudo.conf
3748         [aafdba3fc411]
3749
3750 2010-07-22  Todd C. Miller  <Todd.Miller@courtesan.com>
3751
3752         * plugins/sudoers/Makefile.in:
3753         Add PACKAGE_TARNAME for docdir
3754         [930c92b8f8f0]
3755
3756 2010-07-23  Todd C. Miller  <Todd.Miller@courtesan.com>
3757
3758         * src/Makefile.in:
3759         Pass install-sh -b~ here too.
3760         [c3f5eb446c38]
3761
3762         * plugins/sample/Makefile.in, plugins/sample_group/Makefile.in,
3763         plugins/sudoers/Makefile.in, src/Makefile.in:
3764         Install binary files with -b~ to make a backup. Fixes "text file
3765         busy" error on HP-UX during install.
3766         [81f306f54f8c]
3767
3768         * install-sh:
3769         "mv -f" on HP-UX doesn't unlink the destination first so add an
3770         explicit rm before moving the temporary into place.
3771         [fb719a79582d]
3772
3773         * configure, configure.in:
3774         Some more ${foo} -> $(foo) conversion for consistent Makefiles.
3775         [0aa098770074]
3776
3777         * doc/Makefile.in, plugins/sudoers/Makefile.in:
3778         Install sudoers2ldif in the doc dir
3779         [33ac3b53d7f5]
3780
3781 2010-07-22  Todd C. Miller  <Todd.Miller@courtesan.com>
3782
3783         * pathnames.h.in:
3784         Add missing include of maillock.h for Solaris
3785         [5a58883be23a]
3786
3787         * NEWS, configure, configure.in, doc/TROUBLESHOOTING, doc/UPGRADE,
3788         doc/sample.syslog.conf, doc/sudoers.cat:
3789         Change the default syslog facility from local2 to authpriv (or auth
3790         if the operating system doesn't support authpriv).
3791         [3b70ba514f49]
3792
3793         * Makefile.in, sudo.pp:
3794         Install sudoers as /etc/sudoers on RPM and debian systems where the
3795         package manager will not replace a user-modified configuration file.
3796         This fixes upgrades from the vendor sudo packages.
3797         [d886b6d60b5b]
3798
3799         * pp:
3800         RPM: use %config(noreplace) instead of %config for volatile This
3801         results in the new file being installed with a .rpmnew suffix
3802         instead of the file being replaced and the old one renamed with a
3803         .rpmsave suffix.
3804         [58be2119f8e8]
3805
3806 2010-07-21  Todd C. Miller  <Todd.Miller@courtesan.com>
3807
3808         * compat/mkstemps.c, plugins/sudoers/boottime.c:
3809         Include time.h for struct timeval
3810         [ddf8b04f0276]
3811
3812         * src/exec_pty.c:
3813         The return value of strsignal() may be const and should be treated
3814         as const regardless.
3815         [620074ae1e77]
3816
3817         * doc/sudoers.cat, doc/sudoers.man.in, doc/sudoers.pod:
3818         Mention that 127.0.0.1 will not match, nor will localhost unless
3819         that is the actual host name.
3820         [8b574122eb8f]
3821
3822         * MANIFEST, NEWS, README, WHATSNEW, doc/Makefile.in, doc/UPGRADE:
3823         Rename WHATSNEW -> NEWS
3824         [d1a2c8c47d89]
3825
3826         * pp:
3827         Updated pp with latest patches
3828         [98e16b9b8f62]
3829
3830         * WHATSNEW:
3831         Sync with 1.7.4
3832         [65ac4dafeef7]
3833
3834         * doc/UPGRADE, doc/sudoers.cat, doc/sudoers.man.in, doc/sudoers.pod,
3835         plugins/sudoers/sudoers:
3836         Add commented out line to add HOME to env_keep and add a warning to
3837         the note about the HOME change in UPGRADE.
3838         [0d6a775bb6c8]
3839
3840 2010-07-20  Todd C. Miller  <Todd.Miller@courtesan.com>
3841
3842         * plugins/sudoers/sudoreplay.c:
3843         Add LINE_MAX define for those without it.
3844         [446d9dbe7859]
3845
3846         * INSTALL, WHATSNEW, config.h.in, configure, configure.in,
3847         doc/UPGRADE, doc/sudoers.cat, doc/sudoers.man.in, doc/sudoers.pod,
3848         plugins/sudoers/defaults.c:
3849         The tty_tickets option is now on by default.
3850         [a01c48206d80]
3851
3852         * WHATSNEW:
3853         Mention that AIX authdb support has been fixed.
3854         [87bd7f4eba6a]
3855
3856         * common/aix.c:
3857         setauthdb() only sets the "old" registry if it was set by a previous
3858         call to setauthdb(). To restore the original value, passing NULL
3859         (or an empty string) to setauthdb() is sufficient.
3860         [470da190a254]
3861
3862 2010-07-19  Todd C. Miller  <Todd.Miller@courtesan.com>
3863
3864         * WHATSNEW, doc/UPGRADE, doc/sudo.cat, doc/sudo.man.in, doc/sudo.pod,
3865         doc/sudoers.cat, doc/sudoers.man.in, doc/sudoers.pod,
3866         plugins/sudoers/env.c:
3867         Reset HOME when env_reset is enabled unless it is in env_keep
3868         [f421f8827340]
3869
3870         * doc/sudoers.cat, doc/sudoers.man.in, doc/sudoers.pod:
3871         The default for set_logname has been "true" for some time now.
3872         [f489da5674c3]
3873
3874         * plugins/sudoers/boottime.c:
3875         Add missing include of time.h
3876         [624d7014932f]
3877
3878         * plugins/sudoers/logging.c:
3879         Fix check for dup2() return value.
3880         [140ea2d50d20]
3881
3882         * plugins/sudoers/env.c:
3883         Add PYTHONUSERBASE to initial_badenv_table
3884         [3149aae5b12c]
3885
3886         * plugins/sudoers/visudo.c:
3887         Treat an unknown defaults entry as a parse error.
3888         [b3ebad73efb2]
3889
3890         * plugins/sudoers/defaults.c, plugins/sudoers/sudoers.c:
3891         Check return value of setdefs() but don't stop setting defaults if
3892         we hit an unknown one.
3893         [945e752239ab]
3894
3895         * WHATSNEW, aclocal.m4, config.h.in, configure, configure.in,
3896         doc/sudo.cat, doc/sudo.man.in, doc/sudo.pod, doc/sudoers.cat,
3897         doc/sudoers.man.in, doc/sudoers.pod, pathnames.h.in,
3898         plugins/sudoers/env.c:
3899         If env_reset is enabled, set the MAIL environment variable based on
3900         the target user unless MAIL is explicitly preserved in sudoers.
3901         [a1b03e2e0e96]
3902
3903 2010-07-17  Todd C. Miller  <Todd.Miller@courtesan.com>
3904
3905         * pp:
3906         decode debian code names
3907         [8741280d9960]
3908
3909         * WHATSNEW:
3910         fix typo
3911         [a8a19451110b]
3912
3913 2010-07-16  Todd C. Miller  <Todd.Miller@courtesan.com>
3914
3915         * WHATSNEW:
3916         Merge with 1.7.4
3917         [9348fa7e15b8]
3918
3919         * src/sudo.c:
3920         Restore RLIMIT_NPROC after the uid switch if it appears that
3921         runas_setup() did not do it for us. Fixes a bash script problem on
3922         SuSE with RLIMIT_NPROC set to RLIM_INFINITY.
3923         [786fb272e5fd]
3924
3925 2010-07-15  Todd C. Miller  <Todd.Miller@courtesan.com>
3926
3927         * mkpkg, pp, sudo.pp:
3928         Restore the dot removal in the os version reported by polypkg. Adapt
3929         mkpkg and sudo.pp to the change.
3930         [dcafdd53b88f]
3931
3932 2010-07-16  Todd C. Miller  <Todd.Miller@courtesan.com>
3933
3934         * INSTALL:
3935         document --with-pam-login
3936         [ea93e4c6873c]
3937
3938         * doc/sudoers.cat, doc/sudoers.man.in, doc/sudoers.pod:
3939         The tag is NOSETENV, not UNSETENV. From Petr Uzel.
3940         [2ac90d8de36e]
3941
3942 2010-07-15  Todd C. Miller  <Todd.Miller@courtesan.com>
3943
3944         * sudo.pp:
3945         Include flavor in solaris package name
3946         [e605f6364c9f]
3947
3948         * mkpkg:
3949         Older shells don't support IFS= so set explictly to space, tab,
3950         newline.
3951         [7773960bc8a0]
3952
3953         * mkpkg:
3954         Use '=' not '==' in test
3955         [c99d42bc48e6]
3956
3957         * mkpkg:
3958         Fix typo that prevented debian from matching
3959         [84421078fcb7]
3960
3961         * mkpkg:
3962         Add missing prefix setting for debian
3963         [6466f23de4aa]
3964
3965         * sudo.pp:
3966         Use tab indents to reduce the chance of problem with <<- Fix the
3967         debian %set section, pp does not set pp_deb_distro Uncomment %sudo
3968         line in sudoers for debian Uncomment some env_keep lines for RHEL,
3969         SLES and debian to more closely match the vendor sudoers files.
3970         Add /etc/pam.d to %files Remove the /etc/sudo-ldap.conf symlink on
3971         debian for ldap flavor
3972         [c5b49feb1a0c]
3973
3974         * plugins/sudoers/sudoers:
3975         Add commented out env_keep entries, sample Aliases and a %sudo line
3976         for debian.
3977         [387719e52d0f]
3978
3979         * configure, configure.in:
3980         Move zlib check later on in the script to avoid a strange shell
3981         problem on SLES11.
3982         [1a3153bb1291]
3983
3984         * configure.in:
3985         Remove check for egrep; configure has its own
3986         [a3b9d98cb5d2]
3987
3988 2010-07-14  Todd C. Miller  <Todd.Miller@courtesan.com>
3989
3990         * mkpkg:
3991         Enable zlib for linux distros
3992         [8fa51a1405a4]
3993
3994         * mkpkg:
3995         Add ldap flavor to default build
3996         [97644f5a555f]
3997
3998         * mkpkg, sudo.pp:
3999         Simplify rpm linux distro settings
4000         [b9dcf10cdf20]
4001
4002         * aclocal.m4, configure, configure.in, doc/UPGRADE, doc/sudoers.cat:
4003         Move time stamp files from /var/run/sudo to /var/{db,lib,adm}/sudo.
4004         [2c549c1acde9]
4005
4006         * Makefile.in:
4007         Fix ChangeLog creation from build dir
4008         [3d0c7904f173]
4009
4010         * plugins/sudoers/sudoers.c:
4011         Handle getcwd() failure.
4012         [aef7bef87394]
4013
4014         * doc/Makefile.in, mkpkg, sudo.pp:
4015         Add ldap "flavor" for debian, controlled by the SUDO_FLAVOR
4016         environment variable.
4017         [be6ed611b7a8]
4018
4019         * sudo.pp:
4020         Create sudo group on debian
4021         [6ed6c032042e]
4022
4023         * mkpkg, sudo.pp:
4024         Add debian 4/5/6 and use the dot when doing version matches
4025         [6bcb664d1f4f]
4026
4027         * aclocal.m4, configure:
4028         Use a loop when searching for mv, sendmail and sh
4029         [d5e9369f8d13]
4030
4031         * doc/sudoers.cat, doc/sudoers.man.in, doc/sudoers.pod:
4032         Remove spurious "and"; from debian
4033         [a21e6f7c5b99]
4034
4035         * aclocal.m4, configure, configure.in, doc/sudoers.cat,
4036         doc/sudoers.man.in, doc/sudoers.pod, doc/visudo.cat,
4037         doc/visudo.man.in, doc/visudo.pod:
4038         Substitute the value of EDITOR into the sudoers and visudo manuals.
4039         [cd79e587dd7f]
4040
4041 2010-07-13  Todd C. Miller  <Todd.Miller@courtesan.com>
4042
4043         * mkpkg, pp, sudo.pp:
4044         Initial support for debian 4.0
4045         [ac6707915fa8]
4046
4047         * mkpkg:
4048         Some platforms need -fPIE instead of -fpie
4049         [fd6be19e5bc2]
4050
4051         * plugins/sudoers/auth/pam.c:
4052         Only set PAM_RHOST for Solaris, where it is needed to avoid a bug.
4053         On Linux it causes a DNS lookup via libaudit.
4054         [1e10105ade5b]
4055
4056         * MANIFEST:
4057         Update MANIFEST to match packaging changes
4058         [ef86ee557b5b]
4059
4060         * sudo.psf:
4061         We now use pp to generate HP-UX packages
4062         [f7aa8da7844e]
4063
4064         * INSTALL.binary, plugins/sudoers/Makefile.binary.in:
4065         Remove vestiges of old binary package bits.
4066         [afffd005452f]
4067
4068         * INSTALL, Makefile.in, common/Makefile.in, compat/Makefile.in,
4069         doc/Makefile.in, include/Makefile.in, plugins/sample/Makefile.in,
4070         plugins/sample_group/Makefile.in, plugins/sudoers/Makefile.in,
4071         src/Makefile.in:
4072         install-man -> install-doc
4073         [99b5fa05567c]
4074
4075         * Makefile.in, doc/Makefile.in, include/Makefile.in, mkpkg,
4076         plugins/sudoers/Makefile.in, pp, src/Makefile.in, sudo.pp:
4077         Use http://rc.quest.com/topics/polypkg/ for packaging
4078         [5ca8eb75b223]
4079
4080         * install-sh:
4081         Just ignore the -c option, it is the default Add support for -d
4082         option
4083         [a8b6b0a131e8]
4084
4085 2010-07-12  Todd C. Miller  <Todd.Miller@courtesan.com>
4086
4087         * pathnames.h.in, plugins/sudoers/env.c, plugins/sudoers/logging.c:
4088         Use _PATH_STDPATH instead of _PATH_DEFPATH
4089         [137fa911908e]
4090
4091         * plugins/sudoers/Makefile.in, src/Makefile.in:
4092         Do not strip binaries.
4093         [20166e287176]
4094
4095         * INSTALL, configure, configure.in:
4096         Add --insults=disabled configure option to allow people to build in
4097         insult support but have the insults disabled unless explicitly
4098         enabled in sudoers.
4099         [523b8c552e90]
4100
4101         * compat/mkstemps.c:
4102         Add prototype for gettime()
4103         [275eee40473b]
4104
4105         * config.h.in, configure, configure.in, plugins/sudoers/auth/pam.c,
4106         plugins/sudoers/env.c, plugins/sudoers/sudoers.c,
4107         plugins/sudoers/sudoers.h:
4108         Add support for a sudo-i pam.d file to be used for "sudo -i".
4109         Adapted from a RedHat patch.
4110         [06d34f16520b]
4111
4112 2010-07-09  Todd C. Miller  <Todd.Miller@courtesan.com>
4113
4114         * include/missing.h:
4115         Fix mkstemps() prototype
4116         [2421841e815b]
4117
4118         * MANIFEST, compat/Makefile.in, compat/mkstemp.c, compat/mkstemps.c,
4119         config.h.in, configure, configure.in, include/missing.h,
4120         src/sudo_edit.c:
4121         Use mkstemps() instead of mkstemp() in sudoedit. This allows
4122         sudoedit to preserve the file extension (if any) which may be used
4123         by the editor (like emacs) to choose the editing mode.
4124         [d33172d2c086]
4125
4126 2010-07-08  Todd C. Miller  <Todd.Miller@courtesan.com>
4127
4128         * doc/sudoers.ldap.cat, doc/sudoers.ldap.man.in, doc/sudoers.ldap.pod,
4129         plugins/sudoers/ldap.c:
4130         TLS_CACERT is now an alias for TLS_CACERTFILE. OpenLDAP uses
4131         TLS_CACERT, not TLS_CACERTFILE in its ldap.conf. Other LDAP client
4132         code, such as nss_ldap, uses TLS_CACERTFILE. Also document why you
4133         should avoid disabling TLS_CHECKPEER is possible.
4134         [196622436212]
4135
4136 2010-07-07  Todd C. Miller  <Todd.Miller@courtesan.com>
4137
4138         * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod:
4139         Make sudo_plugin format a bit more like a man page
4140         [048d596e32da]
4141
4142         * plugins/sudoers/toke.c, plugins/sudoers/toke.l:
4143         Add suport for negated user/host/command lists in a Defaults entry.
4144         E.g. Defaults:!baduser noexec
4145         [d41112cf0342]
4146
4147         * Makefile.in, common/Makefile.in, compat/Makefile.in,
4148         doc/Makefile.in, include/Makefile.in, plugins/sample/Makefile.in,
4149         plugins/sample_group/Makefile.in, plugins/sudoers/Makefile.in,
4150         src/Makefile.in:
4151         Add uninstall target
4152         [fea66ebf136a]
4153
4154         * common/Makefile.in, compat/Makefile.in:
4155         Remove unused AR, SED and RANLIB variables
4156         [2ff9928bfdb3]
4157
4158         * Makefile.in:
4159         Do not install sample plugins
4160         [5443b87bd1c3]
4161
4162 2010-07-06  Todd C. Miller  <Todd.Miller@courtesan.com>
4163
4164         * MANIFEST, aclocal.m4, compat/setenv.c, compat/unsetenv.c, configure,
4165         configure.in, plugins/sudoers/env.c:
4166         Now that sudoers is a dynamically loaded module we cannot override
4167         the libc environment functions because the symbols may already have
4168         been resolved via libc. Remove getenv/putenv/setenv/unsetenv
4169         replacements from sudoers and add replacements for setenv/unsetenv
4170         for systems that lack them.
4171         [3f2b43cb8851]
4172
4173         * configure, configure.in, plugins/sudoers/Makefile.in:
4174         Link testsudoers with -ldl when needed
4175         [f79606f9fcd7]
4176
4177         * plugins/sample_group/plugin_test.c:
4178         Remove unused time.h and add limits.h for PATH_MAX
4179         [3f5d0074d621]
4180
4181         * doc/sudoers.ldap.pod:
4182         Fix typo.
4183         [bc855fd57397]
4184
4185 2010-07-05  Todd C. Miller  <Todd.Miller@courtesan.com>
4186
4187         * plugins/sample_group/plugin_test.c:
4188         Do not depend on strlcpy/strlcat
4189         [6e7e2b5af051]
4190
4191         * plugins/sample_group/plugin_test.c:
4192         Standalone test driver for sudoers group plugin.
4193         [eb1235fc3b8e]
4194
4195 2010-07-02  Todd C. Miller  <Todd.Miller@courtesan.com>
4196
4197         * plugins/sudoers/group_plugin.c, src/load_plugins.c:
4198         Use RTLD_LAZY instead of RTLD_NOW; was using RTLD_NOW as a debugging
4199         aid.
4200         [2a34e616229b]
4201
4202         * plugins/sample_group/sample_group.c:
4203         Fix style nit in function declarations
4204         [ab87c7c76bf9]
4205
4206         * doc/sudoers.cat, doc/sudoers.man.in, doc/sudoers.pod:
4207         Document group_plugin syntax.
4208         [ed1faf72ddcb]
4209
4210         * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod:
4211         Document the sudoers group plugin.
4212         [f19a62dc8cfc]
4213
4214         * INSTALL, MANIFEST, Makefile.in, config.h.in, configure,
4215         configure.in, doc/LICENSE, doc/license.pod, include/sudo_plugin.h,
4216         plugins/sample_group/Makefile.in, plugins/sample_group/getgrent.c,
4217         plugins/sample_group/sample_group.c, plugins/sudoers/Makefile.in,
4218         plugins/sudoers/def_data.c, plugins/sudoers/def_data.h,
4219         plugins/sudoers/def_data.in, plugins/sudoers/group_plugin.c,
4220         plugins/sudoers/match.c, plugins/sudoers/nonunix.h,
4221         plugins/sudoers/set_perms.c, plugins/sudoers/sudoers.c,
4222         plugins/sudoers/sudoers.h, plugins/sudoers/testsudoers.c,
4223         plugins/sudoers/vasgroups.c, plugins/sudoers/visudo.c, src/sudo.c:
4224         Replace built-in non-unix group support with a sudoers group plugin.
4225         Include a sample plugin that can read Unix-format group files.
4226         [8fc58ce0b1a8]
4227
4228         * configure, configure.in, src/load_plugins.c:
4229         Add a trailing slash to _PATH_SUDO_PLUGIN_DIR to simplify usage.
4230         [5c491dddb8ef]
4231
4232 2010-07-01  Todd C. Miller  <Todd.Miller@courtesan.com>
4233
4234         * doc/sudo.cat, doc/sudo.man.in, doc/sudo.pod, doc/sudoers.cat,
4235         doc/sudoers.man.in, doc/sudoers.pod:
4236         Move sudoers-specific bits out of sudo(8) and into sudoers(5)
4237         [e8a5a5830cfe]
4238
4239         * aclocal.m4, configure, configure.in:
4240         Substitute @io_logdir@ for the sudoers I/O log directory.
4241         [21a75ca7b0ab]
4242
4243 2010-06-29  Todd C. Miller  <Todd.Miller@courtesan.com>
4244
4245         * MANIFEST, common/Makefile.in, common/aix.c, common/alloc.c,
4246         common/atobool.c, common/fileops.c, common/fmt_string.c,
4247         common/lbuf.c, common/term.c, compat/fnmatch.c, compat/getcwd.c,
4248         compat/getgrouplist.c, compat/getline.c, compat/glob.c,
4249         compat/snprintf.c, config.h.in, configure, configure.in,
4250         include/fileops.h, plugins/sample/sample_plugin.c,
4251         plugins/sudoers/alias.c, plugins/sudoers/auth/afs.c,
4252         plugins/sudoers/auth/aix_auth.c, plugins/sudoers/auth/bsdauth.c,
4253         plugins/sudoers/auth/dce.c, plugins/sudoers/auth/fwtk.c,
4254         plugins/sudoers/auth/kerb4.c, plugins/sudoers/auth/kerb5.c,
4255         plugins/sudoers/auth/pam.c, plugins/sudoers/auth/passwd.c,
4256         plugins/sudoers/auth/rfc1938.c, plugins/sudoers/auth/secureware.c,
4257         plugins/sudoers/auth/securid.c, plugins/sudoers/auth/securid5.c,
4258         plugins/sudoers/auth/sia.c, plugins/sudoers/auth/sudo_auth.c,
4259         plugins/sudoers/boottime.c, plugins/sudoers/check.c,
4260         plugins/sudoers/defaults.c, plugins/sudoers/env.c,
4261         plugins/sudoers/find_path.c, plugins/sudoers/getdate.c,
4262         plugins/sudoers/getdate.y, plugins/sudoers/getspwuid.c,
4263         plugins/sudoers/goodpath.c, plugins/sudoers/gram.c,
4264         plugins/sudoers/gram.y, plugins/sudoers/interfaces.c,
4265         plugins/sudoers/iolog.c, plugins/sudoers/ldap.c,
4266         plugins/sudoers/logging.c, plugins/sudoers/match.c,
4267         plugins/sudoers/parse.c, plugins/sudoers/pwutil.c,
4268         plugins/sudoers/set_perms.c, plugins/sudoers/sudo_nss.c,
4269         plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h,
4270         plugins/sudoers/sudoreplay.c, plugins/sudoers/testsudoers.c,
4271         plugins/sudoers/toke.c, plugins/sudoers/toke.l,
4272         plugins/sudoers/tsgetgrpw.c, plugins/sudoers/visudo.c,
4273         src/Makefile.in, src/aix.c, src/conversation.c, src/exec.c,
4274         src/exec_pty.c, src/get_pty.c, src/load_plugins.c, src/parse_args.c,
4275         src/sudo.c, src/sudo.h, src/sudo_edit.c, src/tgetpass.c:
4276         Set usrinfo for AIX Set adminstrative domain for the process when
4277         looking up user's password or group info and when preparing for
4278         execve(). Include strings.h even if string.h exists since they may
4279         define different things. Fixes warnings on AIX and others.
4280         [cf8b93e872c9]
4281
4282         * Makefile.in:
4283         Add a separate all target for AIX make which was using the entire
4284         LHS (not just the first entry) of the first target as the implicit
4285         target.
4286         [a45b980a01ef]
4287
4288         * plugins/sudoers/env.c:
4289         Do not rely on env.env_len when unsetting a variable, just use the
4290         NULL terminator.
4291         [ca6eb239c829]
4292
4293         * plugins/sudoers/env.c:
4294         In unsetenv() check for NULL or empty name as per POSIX 1003.1-2008
4295         [7046ba7caa4e]
4296
4297 2010-06-25  Todd C. Miller  <Todd.Miller@courtesan.com>
4298
4299         * plugins/sudoers/vasgroups.c:
4300         Use warningx() instead of log_error() since the latter is not
4301         available to visudo or testsudoers. This does mean that they don't
4302         end up in syslog.
4303         [152b7c50f426]
4304
4305         * plugins/sudoers/sudoers.c:
4306         Defer call to sudo_nonunix_groupcheck_cleanup() until after we have
4307         closed the sudoers sources. From Quest sudo.
4308         [c1cd573bab94]
4309
4310         * plugins/sudoers/pwutil.c:
4311         Ignore case when matching user/group names in the cache. From Quest
4312         sudo.
4313         [2aa4ecc7d7f5]
4314
4315 2010-06-24  Todd C. Miller  <Todd.Miller@courtesan.com>
4316
4317         * config.h.in, configure, configure.in, src/selinux.c:
4318         Add check for setkeycreatecon() when --with-selinux is specified.
4319         [affae247b4e0]
4320
4321         * configure, configure.in:
4322         Error out if libaudit.h is missing or ununable when --with-linux-
4323         audit was specified
4324         [d82e743fac04]
4325
4326         * doc/HISTORY, doc/history.pod:
4327         Add =head3 entries, mostly for the html version
4328         [ee93112d0308]
4329
4330 2010-06-22  Todd C. Miller  <Todd.Miller@courtesan.com>
4331
4332         * doc/HISTORY, doc/history.pod:
4333         Mention when LDAP was incorporate.
4334         [2923dc17f79c]
4335
4336 2010-06-21  Todd C. Miller  <Todd.Miller@courtesan.com>
4337
4338         * configure, configure.in:
4339         Define _LINUX_SOURCE_COMPAT on AIX for strsignal() prototype, it is
4340         not covered by _ALL_SOURCE.
4341         [c92fd69809d0]
4342
4343 2010-06-18  Todd C. Miller  <Todd.Miller@courtesan.com>
4344
4345         * plugins/sudoers/iolog.c:
4346         Add a cast to quiet a compiler warning.
4347         [a200e07ee1bc]
4348
4349         * plugins/sudoers/getdate.c, plugins/sudoers/getdate.y:
4350         Quiet a compiler warning.
4351         [c9acfc927cea]
4352
4353         * plugins/sudoers/defaults.c, plugins/sudoers/sudoers.c:
4354         Call set_fqdn() after sudoers has parsed instead of inline as a
4355         callback.
4356         [5f4e5d075f2d]
4357
4358         * WHATSNEW, plugins/sudoers/sudoers.c:
4359         Do not call set_fqdn() until sudoers parses (where is gets run as a
4360         callback).
4361         [09040fca6d40]
4362
4363         * WHATSNEW:
4364         mention the change in tty ticket behavior when there is no tty
4365         [575a1fd98f05]
4366
4367         * plugins/sudoers/check.c:
4368         Do not update tty ticket if there is no tty.
4369         [63f9c33ce6a7]
4370
4371         * doc/LICENSE, doc/license.pod:
4372         Update copyright year
4373         [0722ab5d404b]
4374
4375         * doc/Makefile.in:
4376         Do not rely on BSD make's $>
4377         [936a86398bd9]
4378
4379         * configure, configure.in:
4380         Set timedir to /var/db/sudo for darwin to match Apple sudo's
4381         location
4382         [d5b9b03096f1]
4383
4384 2010-06-16  Todd C. Miller  <Todd.Miller@courtesan.com>
4385
4386         * plugins/sudoers/sudoers.h:
4387         Add stub declarations for struct stat and struct timeval
4388         [f6d90551a4fd]
4389
4390         * MANIFEST:
4391         Remove compat/sigaction.c
4392         [d0ed6d9a770e]
4393
4394         * config.h.in, configure, configure.in, plugins/sudoers/defaults.c,
4395         plugins/sudoers/iolog.c, plugins/sudoers/sudoreplay.c:
4396         Check for zlib.h in addition to libz.
4397         [6e191b4a6065]
4398
4399         * MANIFEST, src/Makefile.in, src/exec.c, src/exec_pty.c, src/sudo.h,
4400         src/sudo_exec.h:
4401         Move functions and symbols shared between exec.c and exec_pty.c into
4402         sudo_exec.h.
4403         [14ae63403544]
4404
4405         * doc/Makefile.in:
4406         Comment out rules to build .man.in and .cat files unless --with-
4407         devel
4408         [3cf7e5606a85]
4409
4410         * doc/Makefile.in:
4411         Comment out rules to build .man.in and .cat files unless --with-
4412         devel
4413         [d30495b0e29e]
4414
4415         * src/parse_args.c:
4416         Quote any non-alphanumeric characters other than '_' or '-' when
4417         passing a command to be run via the shell for the -s and -i options.
4418         [d633f74fe2d9]
4419
4420         * doc/Makefile.in:
4421         Add back .man suffix
4422         [6e63b60a2739]
4423
4424         * INSTALL, MANIFEST, WHATSNEW, config.h.in, configure, configure.in,
4425         plugins/sudoers/Makefile.in, plugins/sudoers/audit.c,
4426         plugins/sudoers/bsm_audit.c, plugins/sudoers/linux_audit.c,
4427         plugins/sudoers/linux_audit.h, plugins/sudoers/logging.h,
4428         src/selinux.c:
4429         Add Linux audit support.
4430         [5a2f445e0bd4]
4431
4432 2010-06-15  Todd C. Miller  <Todd.Miller@courtesan.com>
4433
4434         * plugins/sudoers/iolog.c:
4435         Remove an XXX
4436         [a170cbe651d1]
4437
4438         * doc/sudoreplay.cat, doc/sudoreplay.man.in, doc/sudoreplay.pod,
4439         plugins/sudoers/sudoreplay.c:
4440         Add -f (filter) option to sudoreplay to allow certain streams to be
4441         replayed and others ignored.
4442         [62e51b432ea1]
4443
4444         * src/load_plugins.c, src/parse_args.c, src/sudo.c, src/sudo.h,
4445         src/tgetpass.c:
4446         Fix -A flag when askpass is specified in sudo.conf or if sudo
4447         doesn't need to read a password.
4448         [2e401e4a00e3]
4449
4450         * src/exec.c, src/exec_pty.c, src/parse_args.c, src/sudo.c,
4451         src/sudo.h, src/sudo_edit.c, src/tgetpass.c:
4452         Clean up some XXXs
4453         [689f0b002d3d]
4454
4455         * WHATSNEW, doc/sudoers.ldap.cat, doc/sudoers.ldap.man.in,
4456         doc/sudoers.ldap.pod, plugins/sudoers/ldap.c:
4457         Add support for multiple sudoers_base entries in ldap.conf. From
4458         Joachim Henke
4459         [e3e4a3c2bd5b]
4460
4461         * config.h.in, configure, configure.in, plugins/sudoers/logging.c,
4462         src/exec_pty.c:
4463         remove setsid check, we require a POSIX system
4464         [cc73cb9e22c0]
4465
4466         * plugins/sudoers/logging.c, src/exec_pty.c, src/selinux.c,
4467         src/sudo.c, src/tgetpass.c:
4468         Check for dup2() failure.
4469         [5d46d66794f5]
4470
4471         * config.h.in, configure, configure.in:
4472         Remove dup2() check, it is not optional.
4473         [5f1d56de4384]
4474
4475 2010-06-14  Todd C. Miller  <Todd.Miller@courtesan.com>
4476
4477         * WHATSNEW:
4478         sync with sudo 1.7.3
4479         [88e5c0bd6d59]
4480
4481         * INSTALL:
4482         SunOS does not ship with an ANSI compiler
4483         [f13c85c67069]
4484
4485         * INSTALL:
4486         Update OS specific notes. Delete some really ancient ones and move
4487         older ones to the end of the list.
4488         [59ce592c4c52]
4489
4490         * README:
4491         Sudo can be downloaded from the web site too Mention "OS dependent
4492         notes" section in INSTALL
4493         [191871538984]
4494
4495         * src/exec_pty.c, src/selinux.c:
4496         Call selinux_restore_tty() as part of cleanup() so it gets called
4497         from error()/errorx()
4498         [bb017da6b6da]
4499
4500         * MANIFEST, doc/PORTING:
4501         Remove obsolete porting guide
4502         [321e35591344]
4503
4504         * plugins/sudoers/interfaces.h, plugins/sudoers/match.c:
4505         Move union sudo_in_addr_un into interfaces.h
4506         [b2c8b19ee094]
4507
4508         * doc/Makefile.in:
4509         Remove useless circular dependencies
4510         [5682181b59cf]
4511
4512         * plugins/sudoers/auth/afs.c, plugins/sudoers/auth/aix_auth.c,
4513         plugins/sudoers/auth/bsdauth.c, plugins/sudoers/auth/dce.c,
4514         plugins/sudoers/auth/fwtk.c, plugins/sudoers/auth/kerb4.c,
4515         plugins/sudoers/auth/kerb5.c, plugins/sudoers/auth/pam.c,
4516         plugins/sudoers/auth/passwd.c, plugins/sudoers/auth/rfc1938.c,
4517         plugins/sudoers/auth/secureware.c, plugins/sudoers/auth/securid.c,
4518         plugins/sudoers/auth/securid5.c, plugins/sudoers/auth/sia.c:
4519         Convert to ANSI C function declarations
4520         [a4f76927d034]
4521
4522         * common/alloc.c, common/fileops.c, common/gettime.c, common/list.c,
4523         common/zero_bytes.c, compat/charclass.h, compat/closefrom.c,
4524         compat/fnmatch.c, compat/glob.c, compat/isblank.c, compat/memrchr.c,
4525         compat/mkstemp.c, compat/nanosleep.c, compat/snprintf.c,
4526         compat/strcasecmp.c, compat/strerror.c, compat/strlcat.c,
4527         compat/strlcpy.c, compat/timespec.h, compat/utime.h,
4528         compat/utimes.c, doc/HISTORY, doc/history.pod, doc/license.pod,
4529         include/alloc.h, include/error.h, include/lbuf.h, include/list.h,
4530         include/missing.h, pathnames.h.in, plugins/sudoers/alias.c,
4531         plugins/sudoers/audit.c, plugins/sudoers/auth/sudo_auth.h,
4532         plugins/sudoers/boottime.c, plugins/sudoers/bsm_audit.c,
4533         plugins/sudoers/bsm_audit.h, plugins/sudoers/defaults.c,
4534         plugins/sudoers/defaults.h, plugins/sudoers/find_path.c,
4535         plugins/sudoers/getspwuid.c, plugins/sudoers/goodpath.c,
4536         plugins/sudoers/gram.y, plugins/sudoers/interfaces.c,
4537         plugins/sudoers/interfaces.h, plugins/sudoers/logging.c,
4538         plugins/sudoers/logging.h, plugins/sudoers/match.c,
4539         plugins/sudoers/parse.h, plugins/sudoers/plugin_error.c,
4540         plugins/sudoers/pwutil.c, plugins/sudoers/redblack.c,
4541         plugins/sudoers/redblack.h, plugins/sudoers/sudo_nss.h,
4542         plugins/sudoers/sudoers.h, plugins/sudoers/sudoreplay.c,
4543         plugins/sudoers/testsudoers.c, plugins/sudoers/timestr.c,
4544         plugins/sudoers/toke.l, plugins/sudoers/visudo.c, src/aix.c,
4545         src/conversation.c, src/error.c, src/load_plugins.c,
4546         src/parse_args.c, src/sesh.c, src/sudo.h, src/sudo_noexec.c,
4547         src/sudo_plugin_int.h, src/sudo_usage.h.in, src/tgetpass.c:
4548         Update copyright year
4549         [26ac7991f7d8]
4550
4551         * doc/Makefile.in:
4552         Fix commented DEVDOCS when not in devel mode.
4553         [e0a97eaf3793]
4554
4555         * plugins/sudoers/match.c:
4556         Quiet a compiler warning.
4557         [b2a17ebd5d38]
4558
4559         * plugins/sudoers/getdate.c, plugins/sudoers/getdate.y:
4560         Quiet a compiler warning.
4561         [687843bc593d]
4562
4563         * plugins/sudoers/ldap.c, plugins/sudoers/sudoers.h:
4564         Make all functions in ldap.c static
4565         [b2111e89eeba]
4566
4567         * doc/schema.ActiveDirectory:
4568         Updates from Alain Roy to provide better examples for importing the
4569         schema and to fix problems caused by Windows validating attributes
4570         which have not yet been added before committing the changes.
4571         [69f4c5ccaf89]
4572
4573 2010-06-11  Todd C. Miller  <Todd.Miller@courtesan.com>
4574
4575         * configure, configure.in, doc/Makefile.in, doc/sudo.cat,
4576         doc/sudo.man.in, doc/sudo_plugin.cat, doc/sudo_plugin.man.in,
4577         doc/sudoers.cat, doc/sudoers.ldap.cat, doc/sudoers.ldap.man.in,
4578         doc/sudoers.man.in, doc/sudoreplay.cat, doc/sudoreplay.man.in,
4579         doc/visudo.cat, doc/visudo.man.in:
4580         Leave rules to build .man.in and .cat files uncommented but only
4581         make them part of the "all" rule in devel mode. Generate .cat files
4582         directly from .man.in instead of .man using default values in
4583         configure.in
4584         [c3054a44f6a5]
4585
4586         * configure, configure.in:
4587         Bump sudo version to 1.8.0b1
4588         [8f79c85135e1]
4589
4590         * configure, configure.in, src/sudo.c, src/sudo_usage.h.in:
4591         Print configure args with verbose version information.
4592         [1ce690660ed2]
4593
4594         * TODO, plugins/sudoers/visudo.c:
4595         Remove tfd from struct sudoersfile; it is not used. Add prev pointer
4596         to struct sudoersfile. Declare list of sudoersfile using TQ_DECLARE.
4597         Use tq_append to append sudoers entries to the tail queue.
4598         [1743f9a286e4]
4599
4600 2010-06-10  Todd C. Miller  <Todd.Miller@courtesan.com>
4601
4602         * WHATSNEW:
4603         Describe tty timestamp improvements
4604         [e214e863a313]
4605
4606         * plugins/sudoers/toke.c, plugins/sudoers/toke.l:
4607         A comment character may not be part of a command line argument
4608         unless it is quoted with a backslash. Fixes parsing of:
4609         testuser ALL=NOPASSWD: /usr/bin/wl #comment foo bar closes bz #441
4610         [ea2e990f85ed]
4611
4612         * doc/sudoers.pod:
4613         Make this read a little bit better when passwd_timeout is 0.
4614         [39d362757f31]
4615
4616         * doc/sudo.man.in, doc/sudo.man.pl, doc/sudo.pod:
4617         Attempt to handle a default password prompt timeout of zero more
4618         gracefully.
4619         [ea47d43acf5b]
4620
4621         * plugins/sudoers/toke.c, plugins/sudoers/toke.l:
4622         Do not override value of keepopen global, instead restore it to the
4623         value we pushed onto the stack when popping.
4624         [fe282e5a3402]
4625
4626         * plugins/sudoers/Makefile.in:
4627         Add dependency for utility programs on libreplace and libcommon
4628         [2339aba64928]
4629
4630         * compat/sigaction.c, config.h.in, configure.in, include/compat.h,
4631         plugins/sudoers/logging.c, plugins/sudoers/mon_systrace.c,
4632         src/exec.c, src/exec_pty.c, src/tgetpass.c:
4633         Remove sigaction emulation Use SA_INTERRUPT in sa_flags
4634         [7dd61f1bd8d2]
4635
4636         * MANIFEST, config.h.in, configure, configure.in, include/missing.h:
4637         We don't use getgrouplist() at the moment so there's no need to
4638         provide a compat version.
4639         [1597536fbada]
4640
4641         * TODO:
4642         sync with reality
4643         [9e1a874e7885]
4644
4645         * include/sudo_plugin.h, plugins/sudoers/auth/sudo_auth.c,
4646         src/conversation.c, src/sudo.h, src/tgetpass.c:
4647         Fix visiblepw sudoers option; the plugin API portion still needs
4648         documenting
4649         [60b6933ef5e0]
4650
4651         * src/sudo.c:
4652         Print sudo version as well.
4653         [987ed459b459]
4654
4655         * plugins/sudoers/iolog.c, plugins/sudoers/sudoers.c:
4656         Use sudo_printf for I/O log version Clarify policy plugin version
4657         string
4658         [5a58b7e8c80b]
4659
4660         * plugins/sudoers/getdate.c, plugins/sudoers/getdate.y,
4661         plugins/sudoers/ldap.c, plugins/sudoers/sudoreplay.c:
4662         Silence some compiler warnings
4663         [afb1eba90915]
4664
4665         * src/load_plugins.c, src/tgetpass.c:
4666         Store askpass path in a global instead of uses setenv() which many
4667         systems lack.
4668         [b440bcc0e660]
4669
4670 2010-06-09  Todd C. Miller  <Todd.Miller@courtesan.com>
4671
4672         * doc/sudo.cat, doc/sudo.man.in, doc/sudo.pod, doc/sudo_plugin.cat,
4673         doc/sudo_plugin.man.in, doc/sudo_plugin.pod,
4674         plugins/sudoers/check.c, plugins/sudoers/def_data.c,
4675         plugins/sudoers/def_data.h, plugins/sudoers/def_data.in,
4676         plugins/sudoers/defaults.c, plugins/sudoers/sudoers.c,
4677         plugins/sudoers/sudoers.h, src/load_plugins.c, src/parse_args.c,
4678         src/tgetpass.c:
4679         Move askpass path specification from sudoers to sudo.conf.
4680         [5507ab867c26]
4681
4682         * src/exec.c, src/exec_pty.c, src/sudo.c, src/sudo.h:
4683         Use a flag bit in struct command_details for selinux instead of a
4684         separate field.
4685         [c59ca4acded9]
4686
4687         * src/exec.c, src/exec_pty.c, src/sudo.c, src/sudo.h:
4688         Implement background mode. If I/O logging we use pipes instead of a
4689         pty.
4690         [c07a4b356cbd]
4691
4692         * compat/mksiglist.c, compat/strsignal.c, include/compat.h,
4693         src/exec.c, src/exec_pty.c, src/tgetpass.c:
4694         Move compat definition of NSIG to compat.h
4695         [ab0385467f25]
4696
4697         * doc/sudo.cat, doc/sudo.man.in, doc/sudo.pod, doc/sudo_plugin.cat,
4698         doc/sudo_plugin.man.in, doc/sudo_plugin.pod:
4699         Mention plugins in the sudo manual and add some missing path
4700         substitution in the sudo_plugin manual.
4701         [570f831f47a3]
4702
4703         * src/Makefile.in:
4704         Set _PATH_SUDO_CONF based on $(sysconfdir)
4705         [fde51869cf07]
4706
4707         * common/lbuf.c, common/term.c, config.h.in, configure, configure.in,
4708         src/exec.c, src/exec_pty.c, src/ttysize.c:
4709         Require POSIX termios to build sudo
4710         [9ec6b41f3f95]
4711
4712         * src/tgetpass.c:
4713         Ignore SIGPIPE for "sudo -S"
4714         [7ad27fde0c06]
4715
4716         * src/tgetpass.c:
4717         Fix uninitialized variable in TGP_ECHO case and print a newline if
4718         the user interrupted password input.
4719         [ce19204d8dd4]
4720
4721         * src/tgetpass.c:
4722         Make TGP_ECHO override TGP_MASK and don't try to restore the
4723         terminal if we didn't modify it.
4724         [a7e11abfe7e4]
4725
4726         * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod,
4727         include/sudo_plugin.h, plugins/sudoers/auth/sudo_auth.c,
4728         src/conversation.c, src/sudo.h, src/tgetpass.c:
4729         Add SUDO_CONV_PROMPT_MASK define which corresponds to the
4730         "pwfeedback" sudoers option. Do not disable echo if TGP_ECHO is
4731         set.
4732         [e0550590cabe]
4733
4734         * src/exec_pty.c:
4735         Use POSIX tcgetpgrp() instead of BSD TIOCGPGRP ioctl
4736         [762448182fe3]
4737
4738 2010-06-08  Todd C. Miller  <Todd.Miller@courtesan.com>
4739
4740         * src/exec.c, src/exec_pty.c, src/selinux.c, src/sudo.c, src/sudo.h:
4741         Add selinux_enabled flag into struct command_details and set it in
4742         command_info_to_details(). Return an error from selinux_setup()
4743         instead of exiting. Call selinux_setup() from exec_setup().
4744         [011bea23a5a0]
4745
4746 2010-06-09  Todd C. Miller  <Todd.Miller@courtesan.com>
4747
4748         * src/exec_pty.c:
4749         Remove commented out copy of old sudo_execve() function.
4750         [9c5e21380472]
4751
4752 2010-06-08  Todd C. Miller  <Todd.Miller@courtesan.com>
4753
4754         * plugins/sudoers/sudoers.c:
4755         Fix setting selinux type on command line.
4756         [814b20a0b3be]
4757
4758         * plugins/sudoers/iolog.c:
4759         In sudoers_io_close(), skip NULL io_fds[] elements.
4760         [4011ff7d4daf]
4761
4762         * include/compat.h:
4763         No longer need NGROUPS_MAX define
4764         [cae4c49d7077]
4765
4766         * compat/nanosleep.c, config.h.in, configure, configure.in,
4767         include/compat.h, plugins/sudoers/check.c, plugins/sudoers/iolog.c,
4768         plugins/sudoers/visudo.c, src/sudo_edit.c:
4769         Replace timerfoo macros with timevalfoo since the timer macros are
4770         known to be busted on some systems.
4771         [4f97d79f2d41]
4772
4773         * src/exec_pty.c:
4774         Remove duplicate call to selinux_setup().
4775         [82bd52764e21]
4776
4777         * plugins/sudoers/auth/pam.c:
4778         If pam_open_session() fails, pass its status to pam_end.
4779         [1d8de4cf8ff3]
4780
4781         * plugins/sudoers/toke.c, plugins/sudoers/toke.l:
4782         If a file in a #includedir has improper permissions or owner just
4783         skip it. This prevents packages that incorrectly install a file
4784         into /etc/sudoers.d from breaking sudo so easily. Syntax errors in
4785         #includedir files still result in a parse error (for now).
4786         [ade99a4549a4]
4787
4788         * WHATSNEW, doc/sudoers.cat, doc/sudoers.man.in, doc/sudoers.pod,
4789         plugins/sudoers/def_data.c, plugins/sudoers/def_data.h,
4790         plugins/sudoers/def_data.in, plugins/sudoers/iolog.c:
4791         Add use_pty sudoers option to force use of a pty even when not
4792         logging I/O.
4793         [b280a8972a79]
4794
4795         * plugins/sudoers/env.c, plugins/sudoers/sudoers.h:
4796         Make env_init() void as it never fails.
4797         [d3890e55daa7]
4798
4799         * plugins/sudoers/env.c:
4800         No longer use _NSGetEnviron so don't need crt_externs.h
4801         [9b4e0e139881]
4802
4803         * plugins/sudoers/env.c:
4804         Remove unused VNULL define
4805         [a42cacb263e3]
4806
4807 2010-06-07  Todd C. Miller  <Todd.Miller@courtesan.com>
4808
4809         * plugins/sudoers/iolog.c:
4810         Add #define for maximum session id
4811         [9e18c17a28c2]
4812
4813         * MANIFEST, src/Makefile.in, src/exec.c, src/exec_pty.c, src/sudo.h:
4814         Split exec.c into exec.c and exec_pty.c
4815         [d52376327332]
4816
4817         * MANIFEST:
4818         Sync with source file moves.
4819         [4a62c6c9e846]
4820
4821         * src/Makefile.in, src/get_pty.c, src/pty.c:
4822         Rename pty.c -> get_pty.c
4823         [5696a12bd29b]
4824
4825 2010-06-06  Todd C. Miller  <Todd.Miller@courtesan.com>
4826
4827         * plugins/sudoers/iolog.c:
4828         Only use I/O input log file if def_log_input is set and output file
4829         if def_log_output is set.
4830         [d866992f1681]
4831
4832 2010-06-04  Todd C. Miller  <Todd.Miller@courtesan.com>
4833
4834         * compat/strsignal.c:
4835         Update copyright year
4836         [a96f2593fd4e]
4837
4838         * src/pty.c:
4839         uid -> ttyuid
4840         [c3454d74ebcb]
4841
4842         * plugins/sudoers/sudoers.c:
4843         For sudoedit, make a local copy of editor string si become part of
4844         argv. If no editor environment variable, split def_editor on ':'
4845         since it may be a colon-delimited path.
4846         [2ee298506a6e]
4847
4848         * src/sudo_edit.c:
4849         Remove unneeded endpwent()/endgrent()
4850         [623f6743d101]
4851
4852         * doc/Makefile.in:
4853         Use value of nroff from configure
4854         [b2ce649125ab]
4855
4856         * src/exec.c:
4857         Add missing const to I/O log action function
4858         [d764a3955e04]
4859
4860         * plugins/sudoers/check.c:
4861         Update copyright year and fix whitespace
4862         [e648c35b16be]
4863
4864         * configure, configure.in:
4865         Fix typo
4866         [8e0bdfc47da4]
4867
4868         * plugins/sudoers/iolog.c:
4869         Remove redundant tty signal blocking in log function.
4870         [f17f575dabd4]
4871
4872 2010-06-03  Todd C. Miller  <Todd.Miller@courtesan.com>
4873
4874         * plugins/sudoers/iolog.c:
4875         Place static keyword where it belongs
4876         [b01aec7c86b4]
4877
4878         * plugins/sudoers/logging.c:
4879         Always use a printf format string for send_mail()
4880         [13b1ada644c9]
4881
4882         * common/atobool.c, plugins/sudoers/ldap.c:
4883         Extend atobool() so we can use it in the LDAP code.
4884         [73f8e6807044]
4885
4886         * doc/sudo.cat, doc/sudo.man.in, doc/sudo.pod:
4887         Sudo now stashes tty ctime for tty_tickets on Solaris too.
4888         [e82df13ad3fd]
4889
4890         * plugins/sudoers/boottime.c:
4891         Fix dummy version of get_boottime()
4892         [01d69c06013b]
4893
4894 2010-06-02  Todd C. Miller  <Todd.Miller@courtesan.com>
4895
4896         * plugins/sudoers/check.c:
4897         Enable tty_is_devpts() support for Solaris with the "devices"
4898         filesystem.
4899         [237c6b25fa84]
4900
4901         * src/exec.c:
4902         Unbreak the non-io logging case.
4903         [4822b9f709fb]
4904
4905         * src/conversation.c, src/sudo.c, src/sudo_plugin_int.h:
4906         Fix symbol name conflict with sudo_printf.
4907         [0d44eab0a8f6]
4908
4909         * plugins/sudoers/auth/pam.c:
4910         Fix OpenPAM detection for newer versions.
4911         [1b2abed232d8]
4912
4913         * plugins/sudoers/vasgroups.c:
4914         Sync with Quest sudo git repo
4915         [f1d98b3cba02]
4916
4917         * aclocal.m4, configure, configure.in:
4918         HP-UX ld uses +b instead or -R or -rpath Fix typo in libvas check
4919         Add missing template for ENV_DEBUG Adapted from Quest sudo
4920         [695dbd7b28f4]
4921
4922         * README.LDAP:
4923         Fix typos; from Quest Sudo
4924         [4eba9da33b8e]
4925
4926 2010-06-01  Todd C. Miller  <Todd.Miller@courtesan.com>
4927
4928         * plugins/sudoers/Makefile.in:
4929         Add back -I$(top_srcdir); we need it for including compat/foo.h
4930         since we cannot rely on "foo.h" being found relative to the source
4931         file when the cwd is different.
4932         [bbf24695f325]
4933
4934         * src/exec.c:
4935         Fix a bug where we could treat EAGAIN as a permanent error. Also set
4936         cstat if perform_io() returns an error.
4937         [200475c4326f]
4938
4939         * common/alloc.c, plugins/sudoers/boottime.c,
4940         plugins/sudoers/sudoers.c:
4941         Add casts to quiet compiler warnings.
4942         [85eb1c336697]
4943
4944         * plugins/sudoers/sudoreplay.c, plugins/sudoers/testsudoers.c,
4945         plugins/sudoers/visudo.c:
4946         Fix typo in ternary operator usage.
4947         [6492ac1450e2]
4948
4949 2010-05-30  Todd C. Miller  <Todd.Miller@courtesan.com>
4950
4951         * INSTALL, configure, configure.in:
4952         Add --enable-warnings and fix typo in SUDO_IO_LOGDIR
4953         [92121d693b30]
4954
4955         * doc/sudoers.cat, doc/sudoers.man.in, doc/sudoers.pod,
4956         doc/sudoreplay.cat, doc/sudoreplay.man.in, doc/sudoreplay.pod:
4957         Update docs to match sudoers I/O logging changes
4958         [18d651989e49]
4959
4960         * INSTALL, WHATSNEW, aclocal.m4, configure, configure.in,
4961         pathnames.h.in, plugins/sudoers/def_data.c,
4962         plugins/sudoers/def_data.h, plugins/sudoers/def_data.in,
4963         plugins/sudoers/defaults.c, plugins/sudoers/gram.c,
4964         plugins/sudoers/gram.h, plugins/sudoers/gram.y,
4965         plugins/sudoers/iolog.c, plugins/sudoers/parse.c,
4966         plugins/sudoers/parse.h, plugins/sudoers/sudoers.c,
4967         plugins/sudoers/sudoreplay.c:
4968         Break sudoers transcript feature up into log_input and log_output.
4969         [db3c1248d2ad]
4970
4971         * plugins/sudoers/sudoreplay.c, plugins/sudoers/testsudoers.c,
4972         plugins/sudoers/visudo.c:
4973         Use setprogname() as needed.
4974         [6beee63a4553]
4975
4976         * plugins/sudoers/iolog.c, plugins/sudoers/sudoreplay.c:
4977         Adapt sudoreplay to iolog changes.
4978         [581f52c05f0f]
4979
4980 2010-05-29  Todd C. Miller  <Todd.Miller@courtesan.com>
4981
4982         * plugins/sudoers/iolog.c:
4983         Log all input and output into separate files and store a number on
4984         each timing file line to indicate which file the data is in.
4985         [fb460c5273dd]
4986
4987         * plugins/sudoers/iolog.c, plugins/sudoers/sudoers.c,
4988         plugins/sudoers/sudoers.h:
4989         Make sudoers_io functions static to iolog.c
4990         [b2df3cc3eecb]
4991
4992 2010-05-28  Todd C. Miller  <Todd.Miller@courtesan.com>
4993
4994         * doc/sudo.cat, doc/sudo.man.in, doc/sudo.pod, src/parse_args.c,
4995         src/sudo_usage.h.in:
4996         Completely remove the -L flag from the sudo front end.
4997         [3d220030b720]
4998
4999         * plugins/sudoers/sudoreplay.c:
5000         Fix EAGAIN handling when writing to stdout.
5001         [4766d77cea49]
5002
5003         * plugins/sudoers/sudoers.c:
5004         Eliminate unused variables
5005         [83bd711e79c4]
5006
5007         * plugins/sudoers/sudoers.c, src/exec.c, src/sudo.c:
5008         Re-enable cleanup functions in sudoers plugin and sudo driver for
5009         error()/errorx().
5010         [43093f937dd8]
5011
5012         * plugins/sudoers/auth/sudo_auth.c, plugins/sudoers/defaults.c,
5013         plugins/sudoers/interfaces.c, plugins/sudoers/iolog.c,
5014         plugins/sudoers/parse.c, plugins/sudoers/sudoers.c,
5015         plugins/sudoers/testsudoers.c, plugins/sudoers/visudo.c:
5016         Use sudo_printf to display verbose version information.
5017         [435cc9f8d4a2]
5018
5019         * common/Makefile.in, compat/Makefile.in, plugins/sample/Makefile.in,
5020         plugins/sudoers/Makefile.in, src/Makefile.in:
5021         Minor Makefile cleanup: fix a typo, change the removal order in the
5022         clean targets, and remove a superfluous include path for the sudoers
5023         plugin.
5024         [6e3b2d6b4437]
5025
5026         * plugins/sudoers/env.c:
5027         Handle duplicate variables in the environment. For unsetenv(), keep
5028         looking even after remove the first instance. For sudo_putenv(),
5029         check for and remove dupes after we replace an existing value.
5030         [c1bbb88d0435]
5031
5032 2010-05-27  Todd C. Miller  <Todd.Miller@courtesan.com>
5033
5034         * plugins/sudoers/Makefile.in:
5035         Use explicit path to source file instead of $< for files that live
5036         in devdir and top_srcdir.
5037         [358ab7f6cc64]
5038
5039         * plugins/sudoers/Makefile.in:
5040         Add explicit rules to compile gram.c and toke.c for HP-UX Pevent
5041         ending LIBSUDOERS_OBJS with a backslash
5042         [481a5c96d47e]
5043
5044         * plugins/sudoers/Makefile.in, src/Makefile.in:
5045         Link libcommon before libreplace since libcommon may use functions
5046         only present in libreplace.
5047         [1847c496ff5b]
5048
5049         * common/Makefile.in:
5050         Move code common to sudo and the sudoers plugin to a convenience
5051         library, libcommon. Removes the need to make links in the sudoers
5052         plugin dir and reduces re-compilation of duplicate object files.
5053         [4c8986352937]
5054
5055         * Makefile.in, common/alloc.c, common/atobool.c, common/fileops.c,
5056         common/fmt_string.c, common/gettime.c, common/lbuf.c, common/list.c,
5057         common/term.c, common/zero_bytes.c, configure, configure.in,
5058         plugins/sample/Makefile.in, plugins/sudoers/Makefile.in,
5059         src/Makefile.in, src/alloc.c, src/atobool.c, src/fileops.c,
5060         src/fmt_string.c, src/gettime.c, src/lbuf.c, src/list.c, src/term.c,
5061         src/zero_bytes.c:
5062         Move code common to sudo and the sudoers plugin to a convenience
5063         library, libcommon. Removes the need to make links in the sudoers
5064         plugin dir and reduces re-compilation of duplicate object files.
5065         [1d1d98bd55b9]
5066
5067         * src/exec.c, src/sudo.c, src/sudo.h:
5068         Rename script_execve to sudo_execve and rename script_foo in exec.c
5069         [a35ec80de96a]
5070
5071         * MANIFEST, src/Makefile.in, src/exec.c, src/script.c:
5072         rename script.c exec.c and fix up the MANIFEST file
5073         [36bc3bff9578]
5074
5075         * src/script.c, src/sudo.c, src/sudo.h:
5076         Rename script_setup() to pty_setup() and call from script_execve()
5077         directly.
5078         [899b0fb2a14d]
5079
5080         * configure, configure.in:
5081         bump version to 1.8.0a2
5082         [0b1c1ca9d4e5]
5083
5084         * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod:
5085         Document init_session
5086         [b5324785a406]
5087
5088         * plugins/sudoers/auth/API, plugins/sudoers/auth/sudo_auth.c,
5089         plugins/sudoers/auth/sudo_auth.h:
5090         Clean up the sudoers auth API a bit and update the docs.
5091         [c40fd4cb6e68]
5092
5093         * include/sudo_plugin.h, plugins/sudoers/auth/pam.c,
5094         plugins/sudoers/auth/sudo_auth.c, plugins/sudoers/sudoers.c,
5095         plugins/sudoers/sudoers.h, src/script.c, src/sudo.c:
5096         Add init_session function to struct policy_plugin that gets called
5097         before the uid/gid/etc changes. A struct passwd pointer is passed
5098         in,which may be NULL if the user does not exist in the passwd
5099         database.The sudoers module uses init_session to open the pam
5100         session as needed.
5101         [d71723320ee8]
5102
5103 2010-05-26  Todd C. Miller  <Todd.Miller@courtesan.com>
5104
5105         * plugins/sudoers/auth/pam.c, plugins/sudoers/auth/sudo_auth.c,
5106         plugins/sudoers/auth/sudo_auth.h, plugins/sudoers/set_perms.c,
5107         plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h:
5108         Add open/close session to sudo auth, only used by PAM. This allows
5109         us to open (and close) the PAM session from sudoers.
5110         [2665e2920d0d]
5111
5112         * plugins/sudoers/Makefile.in:
5113         Add explicit rule to build getdate.o for HP-UX make.
5114         [7f049e989956]
5115
5116         * plugins/sudoers/Makefile.in:
5117         Back out most of change 45e406ebdea2. Create dummy .l.c and .y.c
5118         rules as an alternate way to prevent HP-UX make (and others) from
5119         trying to rebuild the parser in non-dev mode.
5120         [f84badad98c5]
5121
5122         * plugins/sudoers/sudoers.c:
5123         Re-enable PATH_MAX check for command
5124         [40d8a50da136]
5125
5126         * Makefile.in:
5127         For distclean, clean the main directory last since the subdirs need
5128         to be able to run libtool to clean things.
5129         [8949a9861634]
5130
5131         * compat/Makefile.in:
5132         Fix generation of mksiglist.h
5133         [b7cdc9b36650]
5134
5135         * src/script.c:
5136         Now that we defer sending cstat until the end of script_child() we
5137         cannot reuse cstat when reading command status from parent.
5138         [25c882643466]
5139
5140 2010-05-25  Todd C. Miller  <Todd.Miller@courtesan.com>
5141
5142         * configure, configure.in, doc/sudo.man.in, doc/sudo.man.pl,
5143         doc/sudoers.cat, doc/sudoers.ldap.cat, doc/sudoers.ldap.man.in,
5144         doc/sudoers.man.in, doc/sudoers.man.pl, doc/sudoreplay.cat,
5145         doc/sudoreplay.man.in, doc/visudo.cat, doc/visudo.man.in:
5146         Use numeric registers to handle conditionals instead of trying to do
5147         it all with text processing.
5148         [478079c3fd4b]
5149
5150         * doc/sudoers.pod:
5151         Document per-command SELinux settings
5152         [13840d566805]
5153
5154         * plugins/sudoers/sudoers.c:
5155         Repair "sudo -l -U username"
5156         [10a0dcdf2ddf]
5157
5158         * plugins/sudoers/sudoers.c:
5159         Set selinux role and type in command details.
5160         [8ae6d35a126d]
5161
5162         * src/script.c, src/selinux.c, src/sudo.h:
5163         Rework SELinux support.
5164         [83279cc94bf2]
5165
5166 2010-05-24  Todd C. Miller  <Todd.Miller@courtesan.com>
5167
5168         * src/script.c, src/selinux.c, src/sudo.h:
5169         Make SELinux support compile again. Needs more work to be complete.
5170         [3d3addebcf82]
5171
5172         * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod,
5173         plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h,
5174         src/parse_args.c, src/script.c, src/selinux.c, src/sudo.c,
5175         src/sudo.h:
5176         Bring back closefrom settings.
5177         [b1c6257d4bbb]
5178
5179         * plugins/sudoers/iolog.c, plugins/sudoers/sudoers.c,
5180         plugins/sudoers/sudoers.h:
5181         If running a command or sudoedit in transcript mode, call
5182         io_nextid() before log_allowed() so the session id is logged.
5183         [c42f3ae40150]
5184
5185         * configure, configure.in:
5186         Use mandoc(1) if nroff(1) is not present.
5187         [daad4bbd04af]
5188
5189         * doc/Makefile.in:
5190         Use the --file argument to config.status instead of setting
5191         CONFIG_FILES in the environment.
5192         [c89411a8bf70]
5193
5194         * plugins/sudoers/Makefile.in:
5195         We cannot conditionally update gram.h or the dependency ordering
5196         gets messed up in devel mode.
5197         [c938953231d9]
5198
5199 2010-05-21  Todd C. Miller  <Todd.Miller@courtesan.com>
5200
5201         * Makefile.in, compat/Makefile.in, configure, configure.in,
5202         doc/Makefile.in, include/Makefile.in, plugins/sample/Makefile.in,
5203         plugins/sudoers/Makefile.in, src/Makefile.in:
5204         Substitute @SHELL@ into Makefiles
5205         [36aa6a095335]
5206
5207         * config.sub:
5208         Fix typo
5209         [16d294d26b58]
5210
5211         * config.guess, config.sub, configure, configure.in:
5212         Update to autoconf 2.65
5213         [4fa6ea8caea3]
5214
5215         * Makefile.in:
5216         Fix libtool target (space vs. tabs)
5217         [755cf3892618]
5218
5219         * config.h.in, plugins/sudoers/logging.h, plugins/sudoers/visudo.c:
5220         Remove use of RETSIGTYPE; all modern systems have signal handlers
5221         that return void.
5222         [42b4e3aee668]
5223
5224         * Makefile.in, aclocal.m4, acsite.m4, configure, configure.in,
5225         ltmain.sh, m4/libtool.m4, m4/ltoptions.m4, m4/ltsugar.m4,
5226         m4/ltversion.m4, m4/lt~obsolete.m4, plugins/sample/Makefile.in,
5227         plugins/sudoers/Makefile.in, src/Makefile.in:
5228         Update to libtool-2.2.6b. I haven't made any local modifications
5229         this time, which should be OK since we install sudo_noexec.so by
5230         hand now.
5231         [6f79ced593bb]
5232
5233         * compat/Makefile.in, plugins/sample/Makefile.in,
5234         plugins/sudoers/Makefile.in, src/Makefile.in:
5235         Use libtool to clean objects
5236         [1581057d6472]
5237
5238         * include/Makefile.in:
5239         Install sudo_plugin.h as part of "make install" and make other
5240         install targets callable from the top-level Makefile
5241         [aaaeb027d774]
5242
5243         * configure, configure.in:
5244         regen with autoupdate to eliminate AC_TRY_LINK
5245         [5d5541c230f5]
5246
5247         * Makefile.in, compat/Makefile.in, configure, configure.in,
5248         doc/Makefile.in, plugins/sample/Makefile.in,
5249         plugins/sudoers/Makefile.in, src/Makefile.in:
5250         Install sudo_plugin.h as part of "make install" and make other
5251         install targets callable from the top-level Makefile
5252         [b258b8401b1c]
5253
5254         * plugins/sample/sample_plugin.c:
5255         The sample plugin doesn't support being run with no args so return a
5256         usage error in this case.
5257         [473b3cf965be]
5258
5259         * plugins/sudoers/iolog.c:
5260         Set close on exec flag for descriptors used for I/O logging so they
5261         are not present in the command being run.
5262         [2c7e8708df76]
5263
5264         * plugins/sudoers/tsgetgrpw.c:
5265         Set close on exec flag in private versions of setpwent() and
5266         setgrent().
5267         [64fef78cb833]
5268
5269         * src/script.c:
5270         Close the I/O pipes aftering dup2()ing them to std{in,out,err}.
5271         Fixes extra fds being present in the command when it is part of a
5272         pipeline.
5273         [060451617713]
5274
5275         * plugins/sudoers/sudoers.c:
5276         Set user_tty to "unknown" if there is no tty, like sudo 1.7 does (it
5277         is used when logging). Note that user_ttypath will still be NULL if
5278         there is no tty.
5279         [31b69a6ecda7]
5280
5281         * src/script.c, src/sudo.h:
5282         Cosmetic changes: add comments, remove orphaned prototype and
5283         make a global static.
5284         [f7851af0143e]
5285
5286 2010-05-20  Todd C. Miller  <Todd.Miller@courtesan.com>
5287
5288         * src/script.c:
5289         Move check for maxfd == -1 to flush_output where it belongs.
5290         [b826a95b4491]
5291
5292         * src/script.c:
5293         Break out of select loop if all the fds we want to select on are -1.
5294         [f5b387024238]
5295
5296         * src/sudo.c:
5297         Avoid possible malloc(0) if plugin returns an empty groups list.
5298         [9765a8fe5ce7]
5299
5300         * src/sudo.c:
5301         Add debugging info when calling plugin close function
5302         [95a273c7ff66]
5303
5304         * src/script.c:
5305         Avoid closing stdin/stdout/stderr when we are piping output.
5306         [330e76423caf]
5307
5308         * src/script.c:
5309         When execve() of the command fails, it is possible to receive
5310         SIGCHLD before we've read the error status from the pipe. Re-order
5311         things such that we send the final status at the very end and prefer
5312         error status over wait status.
5313         [b0dcf825244f]
5314
5315 2010-05-19  Todd C. Miller  <Todd.Miller@courtesan.com>
5316
5317         * plugins/sudoers/auth/sudo_auth.c:
5318         Fix compilation for non PAM/BSD auth/AIX auth
5319         [e382b39d2e4f]
5320
5321 2010-05-18  Todd C. Miller  <Todd.Miller@courtesan.com>
5322
5323         * src/script.c:
5324         Additional checks to make sure we don't close /dev/tty by mistake.
5325         When flushing, sleep in select as long as we have buffers that need
5326         to be written out.
5327         [8139cbd3dd54]
5328
5329         * src/script.c:
5330         Now that we can use pipes for stdin/stdout/stderr there is no longer
5331         a need to error out when there is no tty. We just need to make sure
5332         we don't try to use the tty fd if it is -1.
5333         [666621635d26]
5334
5335 2010-05-17  Todd C. Miller  <Todd.Miller@courtesan.com>
5336
5337         * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod,
5338         include/sudo_plugin.h, plugins/sample/sample_plugin.c,
5339         plugins/sudoers/iolog.c, plugins/sudoers/sudoers.h, src/sudo.c:
5340         Add argc and argv to I/O logger open function.
5341         [0d7faa007d27]
5342
5343         * doc/sudo_plugin.man.in, doc/sudo_plugin.pod, include/sudo_plugin.h,
5344         plugins/sample/sample_plugin.c, plugins/sudoers/sudoers.c,
5345         src/parse_args.c, src/sudo.c, src/sudo_edit.c:
5346         Remove check_sudoedit function pointer in struct sudo_policy.
5347         Instead, sudo will set sudoedit=true in the settings array. The
5348         plugin should check for this and modify argv_out as appropriate in
5349         check_policy.
5350         [c0328e3276b8]
5351
5352 2010-05-16  Todd C. Miller  <Todd.Miller@courtesan.com>
5353
5354         * plugins/sample/sample_plugin.c, src/sudo.c, src/sudo.h,
5355         src/sudo_edit.c:
5356         If plugin sets "sudoedit=true" in the command info, enable sudoedit
5357         mode even if not invoked as sudoedit. This allows a plugin to
5358         enable sudoedit when the user runs an editor.
5359         [96d67b99e42e]
5360
5361 2010-05-15  Todd C. Miller  <Todd.Miller@courtesan.com>
5362
5363         * plugins/sudoers/Makefile.in:
5364         gram.h must not depend on gram.y if we want to avoid unnecessary
5365         rebuilding of targets dependent on gram.h when gram.y changes.
5366         [9db4b767fdca]
5367
5368         * plugins/sample/sample_plugin.c:
5369         Refactor common bits of check_policy and check_edit
5370         [ac4d366a04cf]
5371
5372         * plugins/sample/sample_plugin.c:
5373         Add sudoedit support
5374         [a1a6cc4c0cef]
5375
5376 2010-05-14  Todd C. Miller  <Todd.Miller@courtesan.com>
5377
5378         * plugins/sudoers/Makefile.in:
5379         Rely more on VPATH; fixes a dependency issue with the parser.
5380         [45e406ebdea2]
5381
5382         * include/compat.h:
5383         Fix typo introduced in last commit
5384         [3ccb0f853d11]
5385
5386         * include/compat.h:
5387         Emulate seteuid using setreuid() or setresuid() as needed. There are
5388         still a few places that call seteuid() directly.
5389         [36e8efa3a99d]
5390
5391         * src/parse_args.c, src/sudo_edit.c:
5392         Attempt to fix building on systems that only have setuid.
5393         [8e9ba4083318]
5394
5395         * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod:
5396         Clarify sudoedit a tad.
5397         [d39dfaa14ade]
5398
5399 2010-05-13  Todd C. Miller  <Todd.Miller@courtesan.com>
5400
5401         * src/sudo_edit.c:
5402         Fix compilation on HP-UX
5403         [f6e47843d139]
5404
5405         * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod:
5406         Document sudoedit
5407         [4cbf5196d993]
5408
5409         * plugins/sudoers/sudoers.c, src/sudo.c, src/sudo.h, src/sudo_edit.c:
5410         Change how we handle the sudoedit argv. We now require that there
5411         be a "--" in argv to separate the editor and any command line
5412         arguments from the files to be edited.
5413         [20623d549a3c]
5414
5415         * include/sudo_plugin.h, plugins/sample/sample_plugin.c,
5416         plugins/sudoers/Makefile.in, plugins/sudoers/gettime.c,
5417         plugins/sudoers/set_perms.c, plugins/sudoers/sudoers.c,
5418         src/Makefile.in, src/gettime.c, src/parse_args.c, src/sudo.c,
5419         src/sudo.h, src/sudo_edit.c:
5420         Work in progress support for sudoedit. The actual interface used by
5421         the plugin for sudoedit is likely to change.
5422         [c31262a31997]
5423
5424         * plugins/sudoers/find_path.c, plugins/sudoers/sudoers.c,
5425         plugins/sudoers/sudoers.h, plugins/sudoers/visudo.c:
5426         Make find_path() a little more generic by not checking def_foo
5427         variables inside it. Instead, pass in ignore_dot as a function
5428         argument.
5429         [9c23101a094d]
5430
5431         * plugins/sudoers/env.c:
5432         Add version of getenv(3) that uses our own environ pointer.
5433         [0e3783e63534]
5434
5435 2010-05-12  Todd C. Miller  <Todd.Miller@courtesan.com>
5436
5437         * src/script.c:
5438         Avoid a potential race condition if SIGCHLD is received immediately
5439         before we call select().
5440         [99adc5ea7f0a]
5441
5442         * plugins/sudoers/sudoers.c:
5443         Call env_init() before we open the sudoers sources as those may call
5444         our setenv() replacement.
5445         [5f82601f5ab0]
5446
5447         * plugins/sudoers/env.c:
5448         Initialize env_len in env_init()
5449         [7ae02b3029b5]
5450
5451 2010-05-11  Todd C. Miller  <Todd.Miller@courtesan.com>
5452
5453         * doc/sudo.cat, doc/sudo.man.in, doc/sudo.pod:
5454         Document time stamp shortcomings under SECURITY NOTES Use "time
5455         stamp" instead of timestamp.
5456         [2b86120815b2]
5457
5458         * doc/Makefile.in:
5459         Make sed substitution of mansectsu and mansectform global.
5460         [94588632dba0]
5461
5462         * plugins/sudoers/check.c:
5463         If the tty lives on a devpts filesystem, stash the ctime in the tty
5464         ticket file, as it is not updated when the tty is written to. This
5465         helps us determine when a tty has been reused without the user
5466         authenticating again with sudo.
5467         [0e62a31bceb0]
5468
5469         * src/tgetpass.c:
5470         Fix pasto in mulitple signal fix and use _NSIG not NSIG since that
5471         is what our compat checks set.
5472         [df50f0a040c9]
5473
5474         * configure, configure.in:
5475         Add check for whether sudo need to link with -ldl to get dlopen().
5476         This is a bit of a hack that will get reworked when libtool is
5477         updated.
5478         [63bdcf579533]
5479
5480         * plugins/sudoers/check.c:
5481         Fix timestamp removal with -k/-K
5482         [6b4639fef973]
5483
5484         * plugins/sudoers/Makefile.in:
5485         audit.c is now private to the sudoers plugin
5486         [1974f342ae0b]
5487
5488         * configure, configure.in:
5489         Link with -lpthread on HP-UX since a plugin may be linked with
5490         -lpthread and dlopen() will fail if the shared object has a
5491         dependency on -lpthread but the main program is not linked with it.
5492         [d42139391263]
5493
5494         * config.h.in, configure, configure.in, plugins/sudoers/set_perms.c:
5495         Add separate test for getresuid() since HP-UX has setresuid() but no
5496         getresuid().
5497         [910fe727a374]
5498
5499         * doc/Makefile.in:
5500         Remove errant backslash
5501         [dd5464257c69]
5502
5503         * src/script.c:
5504         Fix SIGPIPE handling. Now that we use may use pipes for
5505         stdin/stdout we need to pass any SIGPIPE we receive to the running
5506         command.
5507         [3f6b1991f4fd]
5508
5509         * src/script.c:
5510         Also start the command in the background if stdin is not a tty.
5511         [d93bc33a3740]
5512
5513 2010-05-10  Todd C. Miller  <Todd.Miller@courtesan.com>
5514
5515         * plugins/sudoers/sudoreplay.c, src/script.c, src/sudo.h, src/term.c:
5516         No need to use pseudo-cbreak mode now that we use pipes when stdout
5517         is not a tty. Instead, check whether stdin is a tty and if not,
5518         delay setting the tty to raw mode until the command tries to access
5519         it itself (and receives SIGTTIN or SIGTTOU).
5520         [e68315cf8c6b]
5521
5522         * src/tgetpass.c:
5523         Use an array for signals received instead of a single variable so we
5524         don't lose any when there are multiple different signals.
5525         [2ac726dac864]
5526
5527         * src/tgetpass.c:
5528         Do signal setup after turning off echo, not before. If we are using
5529         a tty but are not the foreground pgrp this will generate SIGTTOU so
5530         we want the default action to be taken (suspend process).
5531         [bebb6209c795]
5532
5533 2010-05-07  Todd C. Miller  <Todd.Miller@courtesan.com>
5534
5535         * src/script.c:
5536         Flush the iobufs on suspend or child exit using the same logic as
5537         the main event loop.
5538         [c627feee1035]
5539
5540         * src/script.c:
5541         Free memory after we are done with it.
5542         [8db9b611b45a]
5543
5544 2010-05-06  Todd C. Miller  <Todd.Miller@courtesan.com>
5545
5546         * doc/HISTORY:
5547         Quest now sponsors Sudo development
5548         [6cc490083bc7]
5549
5550 2010-05-05  Todd C. Miller  <Todd.Miller@courtesan.com>
5551
5552         * doc/Makefile.in:
5553         Install sudo_plugin man page.
5554         [c253729790b2]
5555
5556         * src/script.c:
5557         Go back to reseting io_buffer offset and length (and now also the
5558         EOF handling) in the loop we do the FD_SET, not after we drain the
5559         buffer after write() since we don't know what order reads and writes
5560         will occur in.
5561         [5f38bfa8497f]
5562
5563         * MANIFEST:
5564         audit files moved to sudoers plugin directory
5565         [b1ead182428e]
5566
5567         * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod:
5568         Document plugin_printf and new logging functions.
5569         [fe9430b60ab5]
5570
5571         * src/script.c:
5572         Add support for logging stdin when it is not a tty. There is still a
5573         bug where "cat | sudo cat" has problems because both cat and sudo
5574         are trying to read from the tty.
5575         [04c9c59fcfba]
5576
5577         * include/sudo_plugin.h, plugins/sample/sample_plugin.c,
5578         plugins/sudoers/sudoers.c, src/script.c:
5579         Add separate I/O logging functions for tty in/out and
5580         stdin/stdout/stderr. NOTE: stdin logging does not currently work and
5581         is disabled for now.
5582         [a36dfd4ca935]
5583
5584 2010-05-04  Todd C. Miller  <Todd.Miller@courtesan.com>
5585
5586         * include/sudo_plugin.h, plugins/sample/sample_plugin.c,
5587         plugins/sudoers/iolog.c, plugins/sudoers/ldap.c,
5588         plugins/sudoers/logging.c, plugins/sudoers/plugin_error.c,
5589         plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h,
5590         src/conversation.c, src/sudo.c, src/sudo_plugin_int.h:
5591         Add pointer to a printf like function to plugin open functon. This
5592         can be used instead of the conversation function to display info and
5593         error messages.
5594         [98734eea8ef1]
5595
5596         * Makefile.in:
5597         Stop if make in a subdir fails
5598         [228bb3ad2dbc]
5599
5600         * src/script.c:
5601         Only set user's tty to blocking mode when doing the final flush.
5602         Flush pipes as well as pty master when the process is done.
5603         [20ff67218666]
5604
5605 2010-05-03  Todd C. Miller  <Todd.Miller@courtesan.com>
5606
5607         * plugins/sudoers/ldap.c:
5608         Use print_error() when displaying ldap config info in debugging
5609         mode.
5610         [d142e0cacb22]
5611
5612         * compat/Makefile.in, compat/strdup.c, compat/strndup.c:
5613         No longer need strdup() or strndup() replacements.
5614         [df53697174ec]
5615
5616         * plugins/sudoers/logging.c, plugins/sudoers/plugin_error.c,
5617         plugins/sudoers/sudoers.h:
5618         Add print_error() function that uses the conversation function to
5619         print a variable number of error strings and use it in log_error().
5620         [b1fa2861b575]
5621
5622         * src/script.c, src/sudo.h, src/term.c:
5623         Do not need the opost flag to term_copy() now that we use pipes for
5624         stdout/stderr when they are not a tty.
5625         [f42811f70a19]
5626
5627         * src/script.c:
5628         Use pipes to the sudo process if stdout or stderr is not a tty.
5629         Still needs some polishing and a decision as to whether it is
5630         desirable to add additonal entry points for logging
5631         stdout/stderr/stdin when they are not ttys. That would allow a
5632         replay program to keep things separate and to know whether the
5633         terminal needs to be in raw mode at replay time.
5634         [1a945e0ab2da]
5635
5636 2010-04-30  Todd C. Miller  <Todd.Miller@courtesan.com>
5637
5638         * plugins/sudoers/Makefile.in, plugins/sudoers/audit.c,
5639         plugins/sudoers/bsm_audit.c, plugins/sudoers/bsm_audit.h,
5640         src/audit.c, src/bsm_audit.c, src/bsm_audit.h:
5641         Move audit sources into the sudoers plugin dir; the driver does not
5642         use them.
5643         [50ec36422cd0]
5644
5645         * compat/getline.c, compat/mksiglist.c, compat/nanosleep.c,
5646         compat/strdup.c, compat/strndup.c, plugins/sample/sample_plugin.c,
5647         plugins/sudoers/boottime.c, plugins/sudoers/getdate.c,
5648         plugins/sudoers/match.c, plugins/sudoers/sudoreplay.c,
5649         plugins/sudoers/timestr.c, plugins/sudoers/vasgroups.c, src/alloc.c,
5650         src/atobool.c, src/audit.c, src/lbuf.c, src/list.c, src/sesh.c,
5651         src/term.c, src/ttysize.c:
5652         Use angle brackets when including headers that can only be found
5653         when an -I flag is specified. The files in the compat dir could get
5654         away with double quotes here but I've converted all the source files
5655         to use angle brackets for consistency.
5656         [9e30a8fc6d4b]
5657
5658         * plugins/sudoers/Makefile.in:
5659         Add missing -I$(top_srcdir) to CPPFLAGS so includes in the compat
5660         dir can be found when building outside the source tree.
5661         [1150934b79dd]
5662
5663         * plugins/sudoers/Makefile.in:
5664         Clean up links in distclean
5665         [78595028be8b]
5666
5667         * plugins/sudoers/Makefile.in:
5668         Hack around VPATH semantic differences by symlinking files we need
5669         from ../../src into the current directory and build those. A better
5670         fix would be to either make a .a or .la file with those files in it
5671         or simply use a single, flat, Makefile instead of per-subdirs
5672         Makefiles.
5673         [892c332d3f05]
5674
5675         * plugins/sudoers/Makefile.in, src/Makefile.in, src/fmt_string.c:
5676         fmt_string is used by the sudoers plugin too so do not include
5677         sudo.h (which is not really needed here anyway)
5678         [231c35e3941f]
5679
5680         * compat/Makefile.in, plugins/sample/Makefile.in,
5681         plugins/sudoers/Makefile.in, src/Makefile.in:
5682         Fix building with non-BSD versions of make such as GNU make.
5683         Requires VPATH support, which should be in any non-neolithic make.
5684         [dc174f135919]
5685
5686         * configure, configure.in, plugins/sudoers/Makefile.in,
5687         plugins/sudoers/auth/sudo_auth.c, plugins/sudoers/sudoers.c,
5688         src/Makefile.in:
5689         Re-enable bsm audit. Currently auditing is done within the sudoers
5690         plugin itself. If possible, this should really be done in the main
5691         driver but we don't presently have the needed data to do that. This
5692         will be re-evaluated when Linux audit support is added.
5693         [1d05a3236bfe]
5694
5695         * compat/Makefile.in, plugins/sample/Makefile.in,
5696         plugins/sudoers/Makefile.in, src/Makefile.in:
5697         Remove extraneous $srcdir and use more .c.lo and .c.o rules instead
5698         of explicit rules in the dependency.
5699         [88f80efd25f0]
5700
5701         * plugins/sudoers/visudo.c:
5702         Fix mismerge; alias_remove_recursive() now returns int
5703         [6257a4849641]
5704
5705 2010-04-29  Todd C. Miller  <Todd.Miller@courtesan.com>
5706
5707         * plugins/sudoers/visudo.c:
5708         Fix a crash when checking a sudoers file that has aliases that
5709         reference themselves. Based on a diff from David Wood.
5710         [545d194484a7]
5711
5712         * src/script.c:
5713         Print signal info after restoring the tty mode, not before.
5714         [a68618e67435]
5715
5716         * src/script.c:
5717         Defer call to alarm() until after we fork the child. Pass correct
5718         pid to terminate_child() If the command exits due to signal, set
5719         alive to false like we do when it exits normally. Add missing
5720         check for errpipe[0] != -1 before using it in FD_ISSET
5721         [22f0a1549391]
5722
5723 2010-04-28  Todd C. Miller  <Todd.Miller@courtesan.com>
5724
5725         * plugins/sudoers/boottime.c:
5726         Use 1/0 instead of TRUE/FALSE so we don't need sudoers.h
5727         [0e627170c6e8]
5728
5729 2010-04-27  Todd C. Miller  <Todd.Miller@courtesan.com>
5730
5731         * src/Makefile.in:
5732         Simplify dependencies by using .c.o and .c.lo rules.
5733         [6abcaef5d1ac]
5734
5735         * configure, configure.in, plugins/sudoers/Makefile.in,
5736         src/Makefile.in:
5737         Substitute in @PROGS@ into src/Makefile to add sesh
5738         [cc46d3b6208f]
5739
5740 2010-04-26  Todd C. Miller  <Todd.Miller@courtesan.com>
5741
5742         * plugins/sudoers/sudoers.c:
5743         Add back calls to log_denial() if sudoers does not allow the
5744         command.
5745         [9783316207f0]
5746
5747         * plugins/sudoers/sudoers.c:
5748         Pass in correct pwflag for list and validate.
5749         [973dd56d4b81]
5750
5751         * plugins/sudoers/env.c:
5752         Add missing check for NULL in validate_env_vars
5753         [1d6eb6957824]
5754
5755         * src/Makefile.in:
5756         Add sudo_noexec.la to "all" target, otherwise it only gets built at
5757         install time.
5758         [644a9694d2ef]
5759
5760         * plugins/sudoers/sudoers.c:
5761         Only set sudo_user.env_vars if the env_add list is empty.
5762         [fccdf6f0e0e2]
5763
5764         * plugins/sudoers/sudoers.c:
5765         Set sudo_user.env_vars so that environment variables specified on
5766         the command line get logged correctly.
5767         [9b51012c491e]
5768
5769         * plugins/sudoers/env.c, plugins/sudoers/logging.c,
5770         plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h:
5771         Re-enable environment files and setting environment variables on the
5772         command line.
5773         [5662d5645dbd]
5774
5775 2010-04-24  Todd C. Miller  <Todd.Miller@courtesan.com>
5776
5777         * plugins/sudoers/check.c:
5778         Fix typo in last commit (ifndef vs ifdef) Make sure we pass ctime()
5779         a pointer to time_t as tv_sec in struct timeval may be long.
5780         [4de0c46e788e]
5781
5782         * plugins/sudoers/check.c:
5783         Don't stash ctime in on-disk tty ticket info for now; on many
5784         (most?) systems the ctime is updated when the tty is written to.
5785         Once I have a better idea of what systems do not update ctime on
5786         ttys (and have a way to test for this) the ctime stash will be
5787         conditionally re-enabled.
5788         [a90eeec0f648]
5789
5790 2010-04-23  Todd C. Miller  <Todd.Miller@courtesan.com>
5791
5792         * MANIFEST, Makefile.in:
5793         Add back "dist" target, this time using a MANIFEST file
5794         [29277c05499f]
5795
5796         * Makefile.in:
5797         Remove Makefile in distclean target
5798         [83d695f4f450]
5799
5800         * Makefile.in, src/Makefile.in:
5801         Update clean and cleandir targets
5802         [ad7b2afeb9c1]
5803
5804         * include/fileops.h, plugins/sudoers/sudoers.h, src/fileops.c,
5805         src/sudo.h:
5806         Move fileops.c defines and prototypes to filesops.h
5807         [4545e9b6892d]
5808
5809         * plugins/sudoers/check.c:
5810         Lock the tty timestamp when writing. We shouldn't have to lock when
5811         reading since the file is updated via a single write system call.
5812         [0c7276f02696]
5813
5814 2010-04-22  Todd C. Miller  <Todd.Miller@courtesan.com>
5815
5816         * plugins/sudoers/alias.c, plugins/sudoers/check.c,
5817         plugins/sudoers/defaults.c, plugins/sudoers/find_path.c,
5818         plugins/sudoers/getspwuid.c, plugins/sudoers/gettime.c,
5819         plugins/sudoers/goodpath.c, plugins/sudoers/interfaces.c,
5820         plugins/sudoers/iolog.c, plugins/sudoers/ldap.c,
5821         plugins/sudoers/logging.c, plugins/sudoers/match.c,
5822         plugins/sudoers/nonunix.h, plugins/sudoers/parse.c,
5823         plugins/sudoers/pwutil.c, plugins/sudoers/redblack.c,
5824         plugins/sudoers/sudo_nss.c, plugins/sudoers/sudoers.c,
5825         plugins/sudoers/sudoreplay.c, plugins/sudoers/testsudoers.c,
5826         plugins/sudoers/timestr.c, plugins/sudoers/tsgetgrpw.c,
5827         plugins/sudoers/vasgroups.c, plugins/sudoers/visudo.c:
5828         Convert to ANSI C function declarations
5829         [9c45def57cf7]
5830
5831         * plugins/sudoers/sudoers.h:
5832         Remove extraneous bits and classify by source file.
5833         [e8ea9f109ebb]
5834
5835         * include/compat.h:
5836         Add timercmp macro for systems without it
5837         [d3bf87b1d08e]
5838
5839         * plugins/sudoers/boottime.c, plugins/sudoers/check.c,
5840         plugins/sudoers/sudoers.h:
5841         get_boottime() now fills in a timeval struct
5842         [3573c3f44e11]
5843
5844         * plugins/sudoers/check.c:
5845         Store info from stat(2)ing the tty in the tty ticket when tty
5846         tickets are in use. On most systems, this closes the loophole
5847         whereby a user can log out of a tty, log back in and still have the
5848         timestamp be valid.
5849         [53380f9f5242]
5850
5851         * config.h.in, configure.in:
5852         Add timespec2timeval and use it when getting ctime/mtime
5853         [4cb7f7caec2c]
5854
5855 2010-04-20  Todd C. Miller  <Todd.Miller@courtesan.com>
5856
5857         * plugins/sudoers/auth/sudo_auth.c, plugins/sudoers/set_perms.c,
5858         plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h,
5859         plugins/sudoers/testsudoers.c:
5860         Convert perm setting to push/pop model; still needs some work Use
5861         the stashed runas groups instead of using getgrouplist() Reset perms
5862         to the initial value on error
5863         [09c072ebde8b]
5864
5865         * config.h.in, configure.in:
5866         fix ctim_get and mtim_get macros
5867         [58773dc1e360]
5868
5869         * config.h.in, configure, configure.in, include/compat.h,
5870         plugins/sudoers/check.c, plugins/sudoers/gettime.c,
5871         plugins/sudoers/sudoers.h, plugins/sudoers/visudo.c, src/fileops.c:
5872         Use timeval directly instead of converting to timespec when dealing
5873         with file times and time of day.
5874         [a0ce1ae00a67]
5875
5876         * plugins/sudoers/Makefile.in:
5877         Don't like sudoreplay with libsudoers.la due to a yacc symbol
5878         conflict.
5879         [f1a59cc63a15]
5880
5881 2010-04-18  Todd C. Miller  <Todd.Miller@courtesan.com>
5882
5883         * configure, configure.in:
5884         Darwin >= 9.x has real setreuid(2)
5885         [7ec942a64275]
5886
5887 2010-04-17  Todd C. Miller  <Todd.Miller@courtesan.com>
5888
5889         * plugins/sudoers/env.c, plugins/sudoers/sudoers.h:
5890         Ansify env.c
5891         [f58551bad10a]
5892
5893         * plugins/sudoers/env.c, plugins/sudoers/sudoers.c,
5894         plugins/sudoers/sudoers.h:
5895         Remove remaining references to the environ pointer.
5896         [96faa530816a]
5897
5898 2010-04-16  Todd C. Miller  <Todd.Miller@courtesan.com>
5899
5900         * config.h.in, configure, configure.in, plugins/sudoers/env.c:
5901         Don't change the environ directly in the sudoers plugin
5902         [6db48ed3f7e0]
5903
5904 2010-04-15  Todd C. Miller  <Todd.Miller@courtesan.com>
5905
5906         * plugins/sudoers/sudoers.c:
5907         Fix typo
5908         [4aa452b07f8f]
5909
5910         * plugins/sudoers/alias.c:
5911         Fix use after free in error message when a duplicate alias exists.
5912         [ce1d2812ee34]
5913
5914 2010-04-14  Todd C. Miller  <Todd.Miller@courtesan.com>
5915
5916         * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod,
5917         src/parse_args.c:
5918         Add a "noninteractive" boolean to the settings passed in to the
5919         plugin's open function that is set when the user specifies the -n
5920         flag.
5921         [68f8d9d6d4d0]
5922
5923         * config.h.in, configure, configure.in, plugins/sudoers/env.c:
5924         Add workaround for the lack of the environ pointer on Mac OS X in
5925         dlopen()ed modules. Use of environ in the sudoers plugin should
5926         ultimately be removed but this will do for the moment.
5927         [80c61647434f]
5928
5929         * plugins/sudoers/visudo.c:
5930         Set errorfile to the sudoers path if we set parse_error manually.
5931         This prevents a NULL dereference in printf() when checking a sudoers
5932         file in strict mode when alias errors are present.
5933         [45e249ca99f7]
5934
5935         * plugins/sudoers/sudoers.c:
5936         Main sudo no longer print "unable to execute" on exec failure so do
5937         it here.
5938         [50aaf62b43b5]
5939
5940 2010-04-13  Todd C. Miller  <Todd.Miller@courtesan.com>
5941
5942         * src/script.c:
5943         Use a pipe to pass back errno to the parent if execve() fails. If we
5944         get an error in script_child(), kill the command and exit.
5945         [dc3bf870f91b]
5946
5947         * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod,
5948         src/parse_args.c, src/sudo.c:
5949         Handle plugin's open function returning -2 (usage error).
5950         [aadf900c1de8]
5951
5952         * src/script.c:
5953         If execve() fails, leave it to the plugin to print an error string.
5954         [e25748f2d5b9]
5955
5956         * src/script.c:
5957         If execve fails in logging mode, pass the errno directly to the
5958         grandparent on the backchannel and exit. The immediate parent will
5959         get SIGCHLD and try to report that status but its parent will no
5960         longer be listening. It would probably be cleaner to pass this over
5961         a pipe in script_child().
5962         [cb122acc81a8]
5963
5964         * plugins/sudoers/sudoers.c:
5965         Don't override rval with results of check_user() unless it failed.
5966         [46fb7e87ac7d]
5967
5968 2010-04-12  Todd C. Miller  <Todd.Miller@courtesan.com>
5969
5970         * doc/sudoers.cat, doc/sudoers.man.in, doc/sudoers.pod:
5971         Fix typo
5972         [ccd0b693f3da]
5973
5974         * src/parse_args.c:
5975         NULL-terminate env_add
5976         [2c534368a0c3]
5977
5978 2010-04-11  Todd C. Miller  <Todd.Miller@courtesan.com>
5979
5980         * src/sudo.c:
5981         Call the I/O log open function before the I/O version function.
5982         [e88bf898990b]
5983
5984         * plugins/sudoers/iolog.c:
5985         Remove io_conv and just use sudo_conv
5986         [a280052468eb]
5987
5988         * plugins/sudoers/set_perms.c:
5989         Fix set/restore perms for systems w/o setresuid
5990         [4160517f6666]
5991
5992 2010-04-10  Todd C. Miller  <Todd.Miller@courtesan.com>
5993
5994         * plugins/sudoers/check.c, plugins/sudoers/logging.c,
5995         plugins/sudoers/parse.c, plugins/sudoers/set_perms.c,
5996         plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h:
5997         Primitive set/restore permissions. Will be replaced by a push/pop
5998         model.
5999         [aae102290866]
6000
6001         * src/script.c:
6002         Only need to take action on SIGCHLD in parent if no I/O logger. If
6003         there is an I/O logger we will receive ECONNRESET or EPIPE when we
6004         try to read from the socketpair.
6005         [e1e4560401f6]
6006
6007 2010-04-09  Todd C. Miller  <Todd.Miller@courtesan.com>
6008
6009         * compat/memrchr.c, doc/sudoers.cat, doc/sudoers.man.in,
6010         doc/sudoers.pod, plugins/sudoers/find_path.c:
6011         Merge fb4d571495fa from the 1.7 branch to trunk.
6012         [c8fb424ad4d2]
6013
6014 2010-04-08  Todd C. Miller  <Todd.Miller@courtesan.com>
6015
6016         * src/script.c:
6017         Don't set SA_RESTART when registering SIGALRM handler. Do set
6018         SA_RESTART when registering SIGWINCH handler.
6019         [173472b76525]
6020
6021         * doc/Makefile.in:
6022         Add dev targets for *.man.in and *.cat that don't specfify the
6023         $(srcdir) prefix.
6024         [b62f425da2e4]
6025
6026         * src/script.c:
6027         If log_input or log_output returns false, terminate the command.
6028         [074f4c0c34a0]
6029
6030         * src/script.c:
6031         Better signal handling. Instead of using a single variable to store
6032         the received signal, use an array so we can't lose a signal when
6033         multiple are sent. Fix process termination by SIGALRM in non-I/O
6034         logger mode. Fix relaying terminal signals to the child in non-I/O
6035         logger mode.
6036         [7a4723aca99d]
6037
6038         * src/script.c:
6039         Fix a race between when we get the child pid in the parent and when
6040         the child process exits. The problem exhibited as a hang after a
6041         short-lived process, e.g. "sudo id" when no IO logger was enabled.
6042         [80bcc0aca70b]
6043
6044 2010-04-07  Todd C. Miller  <Todd.Miller@courtesan.com>
6045
6046         * doc/sudoers.cat, doc/sudoers.man.in, doc/sudoers.pod:
6047         Add a note about the security implications of the fast_glob option.
6048         [c37a92ab7c93]
6049
6050 2010-04-06  Todd C. Miller  <Todd.Miller@courtesan.com>
6051
6052         * config.h.in, configure, configure.in:
6053         Fix up some AC_DEFINE descriptions and regen config.h.in
6054         [f4655adc0db3]
6055
6056 2010-04-05  Todd C. Miller  <Todd.Miller@courtesan.com>
6057
6058         * include/missing.h:
6059         No longer check for strdup or strndup for LIBOBJ replacement.
6060         [fdc764ee8109]
6061
6062         * src/script.c:
6063         Avoid installing signal handlers that are io-logger specific. Fixes
6064         job control when no io logger is enabled.
6065         [0853dd0906d4]
6066
6067         * doc/Makefile.in:
6068         Only regen man pages from pod when configured with --with-devel
6069         [ab1995f8103d]
6070
6071 2010-04-04  Todd C. Miller  <Todd.Miller@courtesan.com>
6072
6073         * Makefile, Makefile.in, configure, configure.in:
6074         Top-level Makefile.in. Nothing is currently substituted but this is
6075         needed for separate build dirs.
6076         [e80873cbd201]
6077
6078         * compat/Makefile.in, doc/Makefile.in, plugins/sample/Makefile.in,
6079         plugins/sudoers/Makefile.in, src/Makefile.in:
6080         Fix out-of-tree builds
6081         [59a35bef07b8]
6082
6083         * Merge
6084         [386b848047e9]
6085
6086         * doc/Makefile.in:
6087         We always install sudoreplay in 1.8
6088         [ce52ba6617c9]
6089
6090 2010-04-03  Todd C. Miller  <Todd.Miller@courtesan.com>
6091
6092         * compat/siglist.in:
6093         SIGPOLL is sometimes the same as SIGIO (like on HP-UX)
6094         [6d69e1b05faf]
6095
6096 2010-04-02  Todd C. Miller  <Todd.Miller@courtesan.com>
6097
6098         * configure, configure.in:
6099         No need to provide strdup() or strndup(), sudo uses estrdup() and
6100         estrndup()
6101         [57ec23b72958]
6102
6103 2010-04-04  Todd C. Miller  <Todd.Miller@courtesan.com>
6104
6105         * plugins/sudoers/iolog.c, plugins/sudoers/sudoers.c:
6106         Free str after using it in the version method. Use sudo_conv, not
6107         io_conv since we don't have the IO conversation function pointer in
6108         the I/O version method anymore now that io_open is delayed.
6109         [f2ed132adeb0]
6110
6111 2010-04-02  Todd C. Miller  <Todd.Miller@courtesan.com>
6112
6113         * compat/Makefile.in, compat/mksiglist.c, compat/mksiglist.h,
6114         compat/siglist.in:
6115         Add license to mksiglist.c and note that the bits from pdksh are
6116         public domain
6117         [d8121a2467e8]
6118
6119         * compat/Makefile.in:
6120         Fix LIBOBJDIR vs. srcdir wrt the siglist bits
6121         [164160148421]
6122
6123         * plugins/sudoers/Makefile.in:
6124         Add sudoreplay testsudoers and visudo to clean target
6125         [138a17e51c0c]
6126
6127         * compat/Makefile.in, compat/mksiglist.c, compat/mksiglist.h,
6128         compat/siglist.in, compat/strsignal.c, configure, configure.in,
6129         include/missing.h, src/script.c:
6130         Create our own sys_siglist for systems without it for use by
6131         strsignal()
6132         [2e5da011ebc3]
6133
6134         * compat/Makefile.in:
6135         Remove duplicate $(LIBOBJDIR)
6136         [adf9abc9432f]
6137
6138 2010-04-01  Todd C. Miller  <Todd.Miller@courtesan.com>
6139
6140         * plugins/sudoers/sudoers.c, src/sudo.c, src/sudo_edit.c:
6141         Main sudo should not block signals; the plugin should do this in
6142         check_policy.
6143         [3f3736a7c5ed]
6144
6145 2010-03-31  Todd C. Miller  <Todd.Miller@courtesan.com>
6146
6147         * src/script.c:
6148         Fix a sizeof(ptr) vs. sizeof(*ptr)
6149         [aa1bcf5afcce]
6150
6151         * src/script.c:
6152         Unlike most operating systems, HP-UX select() is not interrupted by
6153         SIGCHLD when the signal is registered with SA_RESTART. If we clear
6154         SA_RESTART when calling sigaction() for SIGCHLD we get the expected
6155         behavior and the code in the select() loops already handles EINTR
6156         correctly.
6157         [9eba0115e35a]
6158
6159         * compat/getprogname.c:
6160         progname should be const
6161         [130228f062b7]
6162
6163         * plugins/sudoers/Makefile.in:
6164         Move --tag=disable-static to when we link sudoers.la, not when we
6165         install.
6166         [ceb5e6c3b78b]
6167
6168         * src/load_plugins.c:
6169         Load the sudoers I/O plugin by default too now that it is hooked up.
6170         [ea38befd0742]
6171
6172 2010-03-30  Todd C. Miller  <Todd.Miller@courtesan.com>
6173
6174         * src/pty.c:
6175         It looks like AIX doesn't need to push STREAMS modules for ptys.
6176         [22da618ba0a1]
6177
6178 2010-03-28  Todd C. Miller  <Todd.Miller@courtesan.com>
6179
6180         * src/parse_args.c, src/sudo.c:
6181         Delay calling the I/O plugin open function until the policy plugin
6182         returns success.
6183         [f3297c325b48]
6184
6185 2010-03-27  Todd C. Miller  <Todd.Miller@courtesan.com>
6186
6187         * plugins/sudoers/Makefile.in, plugins/sudoers/iolog.c,
6188         plugins/sudoers/set_perms.c, plugins/sudoers/sudoers.c,
6189         plugins/sudoers/sudoers.h:
6190         Add back io logging (transcript) support. Currently, the open
6191         function runs too early and it is not possible to use the io module
6192         independently of the policy module.
6193         [9bd932f66226]
6194
6195         * plugins/sudoers/set_perms.c:
6196         Comment out dead code; will be removed when set_perms is rewritten.
6197         [af7a995284f8]
6198
6199 2010-03-23  Todd C. Miller  <Todd.Miller@courtesan.com>
6200
6201         * plugins/sudoers/sudoers.c:
6202         Fix off by one error when allocating user_groups.
6203         [6281fcf9c3bb]
6204
6205 2010-03-22  Todd C. Miller  <Todd.Miller@courtesan.com>
6206
6207         * configure, configure.in, plugins/sudoers/Makefile.in:
6208         Add REPLAY_LIBS for sudoreplay and add -lrt to it on Solaris.
6209         [fbce3e9eda3a]
6210
6211         * plugins/sudoers/sudoers.c:
6212         Fix typo in preserve groups case
6213         [1fd72024fb5a]
6214
6215         * plugins/sudoers/sudoers.c:
6216         In command_info it is "runas_groups" not "groups".
6217         [5c64dce4f285]
6218
6219         * src/sudo.c:
6220         Fix iteration over runas_groups list.
6221         [b3c45a0cd643]
6222
6223         * configure, configure.in, plugins/sudoers/env.c,
6224         plugins/sudoers/match.c, src/script.c:
6225         Merge 5177a284b9ff 549f8f7c2463 88f3181692fe from 1.7 branch.
6226         [a8108a0776c2]
6227
6228         * compat/getgrouplist.c:
6229         getgrouplist(3) for those without it
6230         [4ab4d21e3b16]
6231
6232         * plugins/sudoers/sudoers.c:
6233         Set preserve_groups or groups list in command_info
6234         [1266119ad654]
6235
6236         * src/sudo.c:
6237         Fix setting of groups list
6238         [e75315e40bd4]
6239
6240         * config.h.in, configure, configure.in, include/compat.h,
6241         include/missing.h:
6242         Add checks for getgrset and getgrouplist and use replacement
6243         getgrouplist if the system doesn't support it.
6244         [a62b8ba50863]
6245
6246         * src/parse_args.c:
6247         Pass in preserve_groups when the -P flag is specified as per the
6248         design
6249         [7420c5d15474]
6250
6251         * plugins/sudoers/sudoers.c:
6252         Check preserve_groups and ignore_ticket args with atobool instead of
6253         assuming they are true if present.
6254         [71c905702697]
6255
6256 2010-03-21  Todd C. Miller  <Todd.Miller@courtesan.com>
6257
6258         * plugins/sudoers/Makefile.in, plugins/sudoers/error.c,
6259         plugins/sudoers/plugin_error.c:
6260         Rename plugin-specific error.c to plugin_error.c Wire up visudo,
6261         sudoreplay and testsudoers in the build
6262         [9d581d5fa4d4]
6263
6264         * src/Makefile.in, src/term.c:
6265         term.c does not needto include sudo.h
6266         [f6683cdcd2dd]
6267
6268         * TODO, doc/sudo_plugin.cat, doc/sudo_plugin.man.in,
6269         doc/sudo_plugin.pod:
6270         Document the -2 return in the check_policy section too
6271         [e9cb4c34bbcf]
6272
6273         * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod,
6274         plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h,
6275         src/parse_args.c, src/sudo.c, src/sudo.h:
6276         Fix the -s and -i flags and add support for the "implied_shell"
6277         option. If the user does not specify a command, sudo will now pass
6278         in the path to the user's shell and set impied_shell=true. The
6279         plugin can them either check the command normally or return -2 to
6280         cause sudo to print a usage message and exit.
6281         [bf889c38f229]
6282
6283 2010-03-19  Todd C. Miller  <Todd.Miller@courtesan.com>
6284
6285         * config.h.in, configure, configure.in, src/load_plugins.c:
6286         Bring back SUDOERS_PLUGIN but add .dylib -> .so conversion for
6287         Darwin where libraries end in .dylib but modules end in .so
6288         [2c56aaa38e21]
6289
6290         * plugins/sudoers/parse.c:
6291         Better prefix determination now that we can't rely on len==0 to tell
6292         the beginning on an entry.
6293         [622bf18179e9]
6294
6295         * plugins/sudoers/ldap.c:
6296         display_bound_defaults() stub should return 0, not 1 since it is a
6297         count, not a boolean.
6298         [0327a6c3d55d]
6299
6300         * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod:
6301         Document progname in settings
6302         [42031d56a2e3]
6303
6304         * compat/getprogname.c, include/compat.h,
6305         plugins/sample/sample_plugin.c, plugins/sudoers/sudoers.c,
6306         src/parse_args.c, src/sudo.c:
6307         Rewrite compat/getprogname.c and add setprogname(). The progname is
6308         now passed to the plugin via the settings array.
6309         [25d8663e6006]
6310
6311         * configure, configure.in, plugins/sudoers/Makefile.in:
6312         Fix --with-ldap
6313         [b64b633f426d]
6314
6315         * plugins/sudoers/sudo_nss.c:
6316         Add missing whitespace for Runas and Command-specific defaults
6317         [65f4ddf5545e]
6318
6319         * plugins/sudoers/ldap.c, plugins/sudoers/parse.c,
6320         plugins/sudoers/sudo_nss.c:
6321         Use embedded newlines in lbuf instead of multiple calls to
6322         lbuf_print.
6323         [eed3af9cc3e1]
6324
6325         * src/lbuf.c:
6326         Add support for embedded newlines.
6327         [e11f79b18deb]
6328
6329 2010-03-18  Todd C. Miller  <Todd.Miller@courtesan.com>
6330
6331         * compat/getprogname.c:
6332         If system doesn't support getprogname or __programe and we are
6333         building a shared object don't bother with Argc/Argv, just return
6334         "sudo"
6335         [aebde9062be7]
6336
6337         * config.h.in, configure, configure.in, src/load_plugins.c:
6338         Hard-code sudoers.so instead of using SUDOERS_PLUGIN since libtool
6339         appears to always install a shared object with the .so suffix.
6340         [f9bbd0c0e9d3]
6341
6342         * compat/Makefile.in, configure, configure.in,
6343         plugins/sample/Makefile.in, plugins/sudoers/Makefile.in,
6344         src/Makefile.in:
6345         Play more nicely with libtool and let it build libreplace (was
6346         libmissing) for us.
6347         [a4c6ebb2495c]
6348
6349         * include/missing.h:
6350         Include stdarg.h for va_list rather than requiring all consumers of
6351         missing.h to include stdarg.h themselves.
6352         [37382df948de]
6353
6354         * include/lbuf.h, plugins/sudoers/auth/sudo_auth.c,
6355         plugins/sudoers/check.c, plugins/sudoers/sudo_nss.c,
6356         plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h, src/lbuf.c,
6357         src/parse_args.c:
6358         Pass in output function to lbuf_init() instead of writing to stdout.
6359         A side effect is that the usage info can now go to stderr as it
6360         should.
6361         [6d261261a072]
6362
6363 2010-03-17  Todd C. Miller  <Todd.Miller@courtesan.com>
6364
6365         * include/lbuf.h, plugins/sudoers/sudo_nss.c,
6366         plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h, src/lbuf.c,
6367         src/parse_args.c, src/sudo.c:
6368         Use number of tty columns that is passed in user_info instead of
6369         getting it directly in the lbuf code.
6370         [8a16635c2638]
6371
6372         * plugins/sudoers/alias.c, plugins/sudoers/auth/dce.c,
6373         plugins/sudoers/auth/kerb5.c, plugins/sudoers/auth/pam.c,
6374         plugins/sudoers/auth/sia.c, plugins/sudoers/auth/sudo_auth.h,
6375         plugins/sudoers/check.c, plugins/sudoers/defaults.c,
6376         plugins/sudoers/defaults.h, plugins/sudoers/env.c,
6377         plugins/sudoers/getdate.c, plugins/sudoers/getdate.y,
6378         plugins/sudoers/gram.c, plugins/sudoers/gram.y,
6379         plugins/sudoers/interfaces.h, plugins/sudoers/logging.c,
6380         plugins/sudoers/logging.h, plugins/sudoers/match.c,
6381         plugins/sudoers/mon_systrace.h, plugins/sudoers/parse.c,
6382         plugins/sudoers/parse.h, plugins/sudoers/pwutil.c,
6383         plugins/sudoers/redblack.c, plugins/sudoers/redblack.h,
6384         plugins/sudoers/set_perms.c, plugins/sudoers/sudo_nss.h,
6385         plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h,
6386         plugins/sudoers/sudoreplay.c, plugins/sudoers/testsudoers.c,
6387         plugins/sudoers/timestr.c, plugins/sudoers/toke.c,
6388         plugins/sudoers/toke.l, plugins/sudoers/tsgetgrpw.c,
6389         plugins/sudoers/visudo.c:
6390         Kill __P in sudoers
6391         [63601e6cb171]
6392
6393         * config.h.in, configure, configure.in, src/load_plugins.c:
6394         Set the sudoers plugin name in configure so we get the extension
6395         right.
6396         [edad89924cd1]
6397
6398         * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod:
6399         Document lines/cols in user_info
6400         [a808872394f3]
6401
6402         * src/Makefile.in, src/sudo.c, src/sudo.h, src/ttysize.c:
6403         Add tty size to user info
6404         [23f3d27e77a7]
6405
6406         * src/script.c:
6407         Use TIOCGSIZE/TIOCSSIZE instead of TIOCGWINSZ/TIOCSWINSZ
6408         [a2208dd09051]
6409
6410 2010-03-16  Todd C. Miller  <Todd.Miller@courtesan.com>
6411
6412         * plugins/sudoers/sudoers.c:
6413         Kill dead code Add missing sigsetjmp in sudo_policy_invalidate Error
6414         out if we fail to lookup the user's name that is passed in
6415         [e4e3728ed482]
6416
6417         * plugins/sudoers/error.c:
6418         Pass the error value back via siglongjmp.
6419         [667b8ad575ce]
6420
6421         * plugins/sudoers/check.c:
6422         Use conversation function for lecture.
6423         [1ab4719f509b]
6424
6425         * plugins/sudoers/check.c:
6426         Don't update ticket file if verify_user returns FALSE.
6427         [2bbc46a39a2b]
6428
6429 2010-03-15  Todd C. Miller  <Todd.Miller@courtesan.com>
6430
6431         * plugins/sudoers/sudoers.c, src/sudo.c:
6432         Wire up invalidate and validate methods for sudoers
6433         [c0630c7bca47]
6434
6435         * plugins/sudoers/check.c, plugins/sudoers/sudoers.c,
6436         plugins/sudoers/sudoers.h:
6437         Add support for -k flag with a command.
6438         [edad239b098b]
6439
6440         * src/parse_args.c:
6441         Allow -k to be specified with a command.
6442         [43a45add9974]
6443
6444         * plugins/sudoers/sudoers.c:
6445         Wire up policy_list
6446         [27cc35699eca]
6447
6448         * plugins/sudoers/error.c:
6449         Add newline at the end of message and space after the colon in
6450         warning message
6451         [5a591aa8e744]
6452
6453         * plugins/sudoers/auth/sudo_auth.c:
6454         Add missing newline after pass password warning
6455         [337dba3870a7]
6456
6457         * plugins/sudoers/sudoers.c:
6458         Set user_groups and user_ngroups based on user_info
6459         [61bee85128c8]
6460
6461         * plugins/sudoers/error.c:
6462         Make this compile
6463         [7041c441e1c8]
6464
6465         * plugins/sudoers/error.c, plugins/sudoers/sudoers.c:
6466         Make _warning in error.c use the conversation function and remove
6467         commented out warning/warningx in sudoers.c.
6468         [7c9b09024b63]
6469
6470         * plugins/sudoers/logging.c:
6471         Use siglongjmp() in log_error for fatal errors
6472         [b50e26f1c73f]
6473
6474         * plugins/sample/Makefile.in, plugins/sudoers/Makefile.in:
6475         Quiet a libtool warning
6476         [b2331fb006bc]
6477
6478         * Makefile:
6479         Build sudoers plugin
6480         [5cdf06e66978]
6481
6482         * plugins/sudoers/gram.c, plugins/sudoers/gram.y:
6483         Use warningx in yyerror() so the conversation function gets used
6484         when built as part of sudoers.
6485         [85f964215eef]
6486
6487 2010-03-14  Todd C. Miller  <Todd.Miller@courtesan.com>
6488
6489         * plugins/sudoers/auth/pam.c:
6490         Rename sudo_conv to conversation to avoid a namespace conflict.
6491         [1ad359d36be9]
6492
6493         * plugins/sudoers/Makefile.in, plugins/sudoers/alias.c,
6494         plugins/sudoers/auth/afs.c, plugins/sudoers/auth/aix_auth.c,
6495         plugins/sudoers/auth/bsdauth.c, plugins/sudoers/auth/dce.c,
6496         plugins/sudoers/auth/fwtk.c, plugins/sudoers/auth/kerb4.c,
6497         plugins/sudoers/auth/kerb5.c, plugins/sudoers/auth/pam.c,
6498         plugins/sudoers/auth/passwd.c, plugins/sudoers/auth/rfc1938.c,
6499         plugins/sudoers/auth/secureware.c, plugins/sudoers/auth/securid.c,
6500         plugins/sudoers/auth/securid5.c, plugins/sudoers/auth/sia.c,
6501         plugins/sudoers/auth/sudo_auth.c, plugins/sudoers/auth/sudo_auth.h,
6502         plugins/sudoers/check.c, plugins/sudoers/defaults.c,
6503         plugins/sudoers/env.c, plugins/sudoers/error.c,
6504         plugins/sudoers/find_path.c, plugins/sudoers/getspwuid.c,
6505         plugins/sudoers/goodpath.c, plugins/sudoers/gram.c,
6506         plugins/sudoers/gram.y, plugins/sudoers/interfaces.c,
6507         plugins/sudoers/ldap.c, plugins/sudoers/logging.c,
6508         plugins/sudoers/match.c, plugins/sudoers/mon_systrace.c,
6509         plugins/sudoers/parse.c, plugins/sudoers/pwutil.c,
6510         plugins/sudoers/redblack.c, plugins/sudoers/set_perms.c,
6511         plugins/sudoers/sudo_nss.c, plugins/sudoers/sudoers.c,
6512         plugins/sudoers/sudoers.h, plugins/sudoers/testsudoers.c,
6513         plugins/sudoers/toke.c, plugins/sudoers/tsgetgrpw.c,
6514         plugins/sudoers/vasgroups.c, plugins/sudoers/visudo.c:
6515         Initial bits of sudoers plugin; still needs work.
6516         [af2a2c59a952]
6517
6518         * config.h.in:
6519         Add HAVE_STRDUP and HAVE_STRNDUP
6520         [50a3c0dd510f]
6521
6522         * compat/Makefile.in, configure, configure.in:
6523         Build libmissing in two flavors (one PIC one non-PIC) and link with
6524         the appropriate one.
6525         [b62f411a4c18]
6526
6527         * Makefile, compat/fnmatch.c, compat/glob.c, compat/nanosleep.c,
6528         compat/utimes.c, plugins/sample/Makefile.in, src/Makefile.in:
6529         Build libmissing in two flavors (one PIC one non-PIC) and link with
6530         the appropriate one.
6531         [e1e04972b5fe]
6532
6533 2010-03-13  Todd C. Miller  <Todd.Miller@courtesan.com>
6534
6535         * include/missing.h:
6536         Add strdup and strndup and fix strsignal
6537         [c159babe2896]
6538
6539 2010-03-12  Todd C. Miller  <Todd.Miller@courtesan.com>
6540
6541         * compat/strdup.c, compat/strndup.c, configure, configure.in,
6542         plugins/sample/Makefile.in, src/Makefile.in:
6543         Add strdup and strndup to compat
6544         [25c9fd399a4d]
6545
6546         * plugins/sample/sample_plugin.c:
6547         Need to include compat.h before missing.h
6548         [c94f7aad380f]
6549
6550         * compat/strsignal.c:
6551         Must check HAVE_DECL_SYS_SIGLIST == 1 (not just if defined) since if
6552         it doesn't exist configure will set it to 0.
6553         [384580566389]
6554
6555         * compat/glob.c:
6556         Fix botched ANSI C coversion of globexp2()
6557         [4a344b8cbe49]
6558
6559         * configure, configure.in:
6560         Remove redundant getgroups check
6561         [0b16ec210c81]
6562
6563         * configure, configure.in, src/lbuf.c, src/script.c, src/term.c:
6564         Require either termios or termio, no more sgtty.
6565         [9b2fa2f17a1c]
6566
6567         * compat/strsignal.c, config.h.in, configure, configure.in:
6568         Change the sys_siglist check to use AC_CHECK_DECLS and also check
6569         for _sys_siglist and__sys_siglist
6570         [2e078fed2408]
6571
6572 2010-03-11  Todd C. Miller  <Todd.Miller@courtesan.com>
6573
6574         * configure, configure.in, src/Makefile.in:
6575         Change SUDO_LDFLAGS to SUDOERS_LDFLAGS and add SUDOERS_OBJS. We now
6576         use SUDO_OBJS for the main driver as part of OBJS.
6577         [9ae4a80a5ade]
6578
6579         * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod:
6580         Mention in the conversation function section that a newline is not
6581         implicit.
6582         [04a233b6c491]
6583
6584         * include/compat.h:
6585         Add definition of WCOREDUMP for systems without it. This is known
6586         to work on AIX and SunOS 4, but may be incorrect on other systems
6587         that lack WCOREDUMP.
6588         [c85b3ce6b77d]
6589
6590 2010-03-09  Todd C. Miller  <Todd.Miller@courtesan.com>
6591
6592         * plugins/sample/sample_plugin.c, src/conversation.c:
6593         conversation function no longer puts a newline at the end of info or
6594         error messages.
6595         [c534cae1ac4a]
6596
6597 2010-03-07  Todd C. Miller  <Todd.Miller@courtesan.com>
6598
6599         * src/script.c:
6600         Use parent process group id instead of parent process id when
6601         checking foreground status and suspending parent. Fixes an issue
6602         when running commands under /usr/bin/time and others.
6603         [564f528c3bb7]
6604
6605 2010-03-06  Todd C. Miller  <Todd.Miller@courtesan.com>
6606
6607         * aclocal.m4:
6608         transcript option is now --with not --enable
6609         [0646fac4cf93]
6610
6611         * plugins/sample/sample_plugin.c:
6612         Add support to -u and -g flags Check fmt_string retval Add timeout
6613         for debugging purposes
6614         [cfefa4fa60b5]
6615
6616         * src/script.c, src/sudo.c:
6617         Wire up SIGALRM handler Set close on exec flag for child side of the
6618         socketpair Fix signal handling when not doing I/O logging
6619         [379581ec7272]
6620
6621         * src/sudo.c:
6622         g/c unused SIGCHLD handler
6623         [0afa03912dce]
6624
6625         * src/fmt_string.c, src/parse_args.c, src/sudo.c:
6626         Don't use emalloc() in fmt_string(); we want to be able to use it
6627         from a plugin.
6628         [ade64d368147]
6629
6630         * include/list.h:
6631         tq_remove not list_remove
6632         [0e0e1fd5c31c]
6633
6634         * configure, configure.in:
6635         AUTH_OBJS should contain .lo files not .o files.
6636         [c64c82c9d5a2]
6637
6638 2010-03-05  Todd C. Miller  <Todd.Miller@courtesan.com>
6639
6640         * src/parse_args.c:
6641         Simplify conversion of command line args to name=value pairs.
6642         [75ab127c6a94]
6643
6644         * plugins/sample/sample_plugin.c:
6645         Handle NULL reply from conversation function
6646         [6ce09b6cb204]
6647
6648         * compat/getline.c:
6649         Don't depend on emalloc/erealloc
6650         [73df09e2109f]
6651
6652         * plugins/sample/Makefile.in:
6653         Use $(OBJS) instead of sample_plugin.lo
6654         [2d995db9aa99]
6655
6656         * plugins/sample/sample_plugin.c:
6657         runas_user is in settings not user_info
6658         [7ee12068bc57]
6659
6660         * src/parse_args.c:
6661         Fix a mismatch between sudo_settings and settings_pairs that causes
6662         some settings to get the wrong values.
6663         [b1bc6d81a65f]
6664
6665 2010-03-04  Todd C. Miller  <Todd.Miller@courtesan.com>
6666
6667         * src/Makefile.in, src/aix.c, src/alloc.c, src/atobool.c, src/error.c,
6668         src/fileops.c, src/lbuf.c, src/list.c, src/pty.c, src/sesh.c,
6669         src/sudo.c, src/sudo_edit.c, src/term.c, src/zero_bytes.c:
6670         Convert to ANSI C
6671         [d03b6e4a3b75]
6672
6673         * src/load_plugins.c:
6674         Fix strlcpy() return value check.
6675         [7cd66999a374]
6676
6677         * INSTALL, configure, configure.in:
6678         No longer need to substitute in script.o and pty.o; I/O logging
6679         support is always built.
6680         [45250024c5dc]
6681
6682 2010-02-28  Todd C. Miller  <Todd.Miller@courtesan.com>
6683
6684         * src/script.c:
6685         Add fallback to /bin/sh when execve() fails with ENOEXEC.
6686         [7684a15a1352]
6687
6688         * include/alloc.h, src/alloc.c:
6689         Add estrndup()
6690         [47621c83bed9]
6691
6692 2010-02-27  Todd C. Miller  <Todd.Miller@courtesan.com>
6693
6694         * src/script.c, src/sudo.c:
6695         Refactor script_execve() a bit so that it can be used in non-script
6696         mode. Needs more cleanup.
6697         [f09e022d547c]
6698
6699         * src/sudo.c:
6700         Ignore empty entries in command_info list
6701         [1eea9a8de21c]
6702
6703         * include/list.h, src/list.c:
6704         Add tq_remove
6705         [40908a617cb2]
6706
6707         * src/conversation.c:
6708         Pass timeout to tgetpass()
6709         [9e66c918b771]
6710
6711         * Makefile:
6712         Add ChangeLog target
6713         [da4a39150838]
6714
6715         * README, WHATSNEW:
6716         Bump version and update things slightly for sudo 1.8.0
6717         [4b73cc45e2d4]
6718
6719         * configure, configure.in:
6720         Sudo now requires an ANSI/ISO C compiler
6721         [1e51f72e6964]
6722
6723         * src/alloc.c, src/audit.c, src/error.c, src/lbuf.c,
6724         src/sudo_noexec.c:
6725         Convert to ANSI C
6726         [5cbd315dbde8]
6727
6728         * include/alloc.h, include/compat.h, include/error.h, include/lbuf.h,
6729         include/list.h, include/missing.h:
6730         Convert to ANSI C
6731         [3f5016ff64f4]
6732
6733         * compat/charclass.h, compat/closefrom.c, compat/fnmatch.c,
6734         compat/fnmatch.h, compat/getcwd.c, compat/getline.c,
6735         compat/getprogname.c, compat/glob.c, compat/glob.h,
6736         compat/isblank.c, compat/memrchr.c, compat/mkstemp.c,
6737         compat/nanosleep.c, compat/sigaction.c, compat/snprintf.c,
6738         compat/strcasecmp.c, compat/strerror.c, compat/strlcat.c,
6739         compat/strlcpy.c, compat/strsignal.c, compat/utime.h,
6740         compat/utimes.c:
6741         Convert to ANSI C
6742         [0d635c85461c]
6743
6744 2010-02-24  Todd C. Miller  <Todd.Miller@courtesan.com>
6745
6746         * src/sudo.c, src/tgetpass.c:
6747         Make user_details extern so tgetpass can get at the uid and gid. Set
6748         uid/gid to user before executing askpass program. Check environment
6749         for SUDO_ASKPASS and use that if set. TODO: a way for the policy to
6750         set the askpass program itself
6751         [d33606396176]
6752
6753         * src/sudo.c:
6754         No longer need sudo_usage.h in sudo.c
6755         [063e2946c382]
6756
6757         * doc/sudo.cat, doc/sudo.man.in, doc/sudo.pod, doc/sudo_plugin.man.in,
6758         doc/sudo_plugin.pod, src/Makefile.in, src/parse_args.c,
6759         src/sudo_usage.h.in:
6760         Document -D level command line flag which maps to the debug_level
6761         setting.
6762         [61f1e2ab3ac1]
6763
6764         * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod:
6765         Document debug_level in plugin doc. Still need to document the -D
6766         flag in sudo itself.
6767         [8c62daea3e9b]
6768
6769 2010-02-21  Todd C. Miller  <Todd.Miller@courtesan.com>
6770
6771         * plugins/sample/sample_plugin.c:
6772         include missing,h for vasprintf
6773         [92503de49b39]
6774
6775         * doc/Makefile.in, doc/plugin.pod, doc/sudo_plugin.cat,
6776         doc/sudo_plugin.man.in, doc/sudo_plugin.pod:
6777         Rename plugin.pod -> sudo_plugin.pod and wire into Makefile
6778         [14cfb4775238]
6779
6780         * plugins/sample/sample_plugin.c:
6781         Need to include limits.h
6782         [bda7f74343d2]
6783
6784         * compat/glob.c:
6785         No more sudo_getpw*
6786         [232e52907634]
6787
6788         * plugins/sample/Makefile.in, src/Makefile.in:
6789         Add missing compat bits
6790         [4843dd000e08]
6791
6792         * compat/closefrom.c, compat/mkstemp.c, plugins/sample/Makefile.in:
6793         compat files should not include sudo.h wire up compat in sample
6794         plugin
6795         [a175b8185e0f]
6796
6797         * Makefile, configure, configure.in, doc/Makefile.in, src/Makefile.in:
6798         Fix up compat dependencies. Fix distclean target in doc/Makefile.in
6799         [57e49bc20857]
6800
6801         * configure, configure.in:
6802         Fix typo
6803         [333655e3d5fe]
6804
6805         * plugins/sample/sample_plugin.c:
6806         Log input and output to temp files for proof of concept.
6807         [ae1dfc34f7d6]
6808
6809         * Makefile, configure, configure.in, doc/Makefile.in:
6810         Add doc Makefile.in and wire it up
6811         [6a310443c87d]
6812
6813         * src/script.c:
6814         Handle SIGSTOP in addition to SIGTSTP. Fixes a problem with
6815         suspending a shell with the "suspend" builtint.
6816         [3d65f182819a]
6817
6818         * src/script.c:
6819         In child, handle parent side of the pipe going away.
6820         [a29c14d78cd9]
6821
6822         * src/script.c:
6823         No longer need to check for explicit death of the child (process #2)
6824         since if it dies we will get EPIPE from the socketpair. Fix a
6825         sizeof() that was causing a spurious error. Convert SCRIPT_DEBUG to
6826         sudo_debug.
6827         [24c55dd4ff60]
6828
6829         * src/sudo.c:
6830         Make sudo_debug do a single vfprintf() which will result in a single
6831         write call on most systems. Avoids problems with interleaved debug
6832         printf from different processes. Also remove an extraneous error
6833         case since recv() can't return a short read and add some more XXX.
6834         [b37a8533ef1e]
6835
6836 2010-02-20  Todd C. Miller  <Todd.Miller@courtesan.com>
6837
6838         * src/script.c:
6839         Fix uninitialized variable.
6840         [e012a0a30890]
6841
6842         * src/Makefile.in:
6843         Fix sudo install target
6844         [1417fa4b4ab9]
6845
6846         * src/parse_args.c, src/sudo.c, src/sudo.h:
6847         Wire up debug_level
6848         [144fab289c73]
6849
6850         * src/Makefile.in:
6851         Fix dependencies
6852         [5170940af2ce]
6853
6854         * configure, configure.in:
6855         Fix setting of plugin dir
6856         [144eda170a72]
6857
6858         * Makefile:
6859         add clean targets
6860         [d53f6f6f5c3a]
6861
6862         * src/atobool.c:
6863         Add missing source for sudo front end
6864         [42487de9c489]
6865
6866         * plugins/sample/Makefile.in, plugins/sample/sample_plugin.c:
6867         Sample plugin demonstrating the sudo plugin API
6868         [f1fd62d7644f]
6869
6870         * Makefile, configure, configure.in, install-sh, pathnames.h.in,
6871         plugins/sudoers/install-sh, src/Makefile.in, src/conversation.c,
6872         src/fileops.c, src/fmt_string.c, src/load_plugins.c,
6873         src/parse_args.c, src/pty.c, src/script.c, src/sudo.c, src/sudo.h,
6874         src/sudo_plugin_int.h, src/sudo_usage.h.in, src/tgetpass.c,
6875         sudo_usage.h.in:
6876         Modular sudo front-end which loads policy and I/O plugins that do
6877         most the actual work. Currently relies on dynamic loading using
6878         dlopen(). See doc/plugin.pod for the plugin API.
6879         [924f6eb2fbba]
6880
6881         * doc/plugin.pod, include/sudo_plugin.h:
6882         Sudo plugin API
6883         [374ccbbd24ae]
6884
6885         * compat/fnmatch.c, compat/glob.c, compat/nanosleep.c,
6886         compat/utimes.c, plugins/sudoers/check.c, plugins/sudoers/gettime.c,
6887         plugins/sudoers/match.c, plugins/sudoers/sudoreplay.c,
6888         plugins/sudoers/testsudoers.c, plugins/sudoers/visudo.c,
6889         src/fileops.c, src/sudo_edit.c:
6890         Replace emul/include.h with compat/include.h to match new source
6891         tree layout.
6892         [7eccd10449a1]
6893
6894         * src/lbuf.c:
6895         Include missing.h for memrchr() proto
6896         [03abd63a8a33]
6897
6898         * HISTORY, LICENSE, Makefile.binary.in, Makefile.in, PORTING,
6899         TROUBLESHOOTING, UPGRADE, aix.c, aixcrypt.exp, alias.c, alloc.c,
6900         alloc.h, audit.c, auth/API, auth/afs.c, auth/aix_auth.c,
6901         auth/bsdauth.c, auth/dce.c, auth/fwtk.c, auth/kerb4.c, auth/kerb5.c,
6902         auth/pam.c, auth/passwd.c, auth/rfc1938.c, auth/secureware.c,
6903         auth/securid.c, auth/securid5.c, auth/sia.c, auth/sudo_auth.c,
6904         auth/sudo_auth.h, boottime.c, bsm_audit.c, bsm_audit.h, check.c,
6905         closefrom.c, compat.h, compat/charclass.h, compat/closefrom.c,
6906         compat/fnmatch.c, compat/fnmatch.h, compat/getcwd.c,
6907         compat/getline.c, compat/getprogname.c, compat/glob.c,
6908         compat/glob.h, compat/isblank.c, compat/memrchr.c, compat/mkstemp.c,
6909         compat/nanosleep.c, compat/sigaction.c, compat/snprintf.c,
6910         compat/strcasecmp.c, compat/strerror.c, compat/strlcat.c,
6911         compat/strlcpy.c, compat/strsignal.c, compat/timespec.h,
6912         compat/utime.h, compat/utimes.c, def_data.c, def_data.h,
6913         def_data.in, defaults.c, defaults.h, doc/HISTORY, doc/LICENSE,
6914         doc/PORTING, doc/TROUBLESHOOTING, doc/UPGRADE, doc/history.pod,
6915         doc/license.pod, doc/sample.pam, doc/sample.sudoers,
6916         doc/sample.syslog.conf, doc/schema.ActiveDirectory,
6917         doc/schema.OpenLDAP, doc/schema.iPlanet, doc/sudo.cat,
6918         doc/sudo.man.in, doc/sudo.man.pl, doc/sudo.pod, doc/sudoers.cat,
6919         doc/sudoers.ldap.cat, doc/sudoers.ldap.man.in, doc/sudoers.ldap.pod,
6920         doc/sudoers.man.in, doc/sudoers.man.pl, doc/sudoers.pod,
6921         doc/sudoreplay.cat, doc/sudoreplay.man.in, doc/sudoreplay.pod,
6922         doc/visudo.cat, doc/visudo.man.in, doc/visudo.pod, emul/charclass.h,
6923         emul/fnmatch.h, emul/glob.h, emul/timespec.h, emul/utime.h, env.c,
6924         error.c, error.h, fileops.c, find_path.c, fnmatch.c, getcwd.c,
6925         getdate.c, getdate.y, getline.c, getprogname.c, getspwuid.c,
6926         gettime.c, glob.c, goodpath.c, gram.c, gram.h, gram.y, history.pod,
6927         include/alloc.h, include/compat.h, include/error.h, include/lbuf.h,
6928         include/list.h, include/missing.h, ins_2001.h, ins_classic.h,
6929         ins_csops.h, ins_goons.h, install-sh, insults.h, interfaces.c,
6930         interfaces.h, isblank.c, lbuf.c, lbuf.h, ldap.c, license.pod,
6931         list.c, list.h, logging.c, logging.h, match.c, memrchr.c, missing.h,
6932         mkdefaults, mkstemp.c, mon_systrace.c, mon_systrace.h, nanosleep.c,
6933         nonunix.h, parse.c, parse.h, plugins/sudoers/Makefile.binary.in,
6934         plugins/sudoers/Makefile.in, plugins/sudoers/aixcrypt.exp,
6935         plugins/sudoers/alias.c, plugins/sudoers/auth/API,
6936         plugins/sudoers/auth/afs.c, plugins/sudoers/auth/aix_auth.c,
6937         plugins/sudoers/auth/bsdauth.c, plugins/sudoers/auth/dce.c,
6938         plugins/sudoers/auth/fwtk.c, plugins/sudoers/auth/kerb4.c,
6939         plugins/sudoers/auth/kerb5.c, plugins/sudoers/auth/pam.c,
6940         plugins/sudoers/auth/passwd.c, plugins/sudoers/auth/rfc1938.c,
6941         plugins/sudoers/auth/secureware.c, plugins/sudoers/auth/securid.c,
6942         plugins/sudoers/auth/securid5.c, plugins/sudoers/auth/sia.c,
6943         plugins/sudoers/auth/sudo_auth.c, plugins/sudoers/auth/sudo_auth.h,
6944         plugins/sudoers/boottime.c, plugins/sudoers/check.c,
6945         plugins/sudoers/def_data.c, plugins/sudoers/def_data.h,
6946         plugins/sudoers/def_data.in, plugins/sudoers/defaults.c,
6947         plugins/sudoers/defaults.h, plugins/sudoers/env.c,
6948         plugins/sudoers/find_path.c, plugins/sudoers/getdate.c,
6949         plugins/sudoers/getdate.y, plugins/sudoers/getspwuid.c,
6950         plugins/sudoers/gettime.c, plugins/sudoers/goodpath.c,
6951         plugins/sudoers/gram.c, plugins/sudoers/gram.h,
6952         plugins/sudoers/gram.y, plugins/sudoers/ins_2001.h,
6953         plugins/sudoers/ins_classic.h, plugins/sudoers/ins_csops.h,
6954         plugins/sudoers/ins_goons.h, plugins/sudoers/install-sh,
6955         plugins/sudoers/insults.h, plugins/sudoers/interfaces.c,
6956         plugins/sudoers/interfaces.h, plugins/sudoers/ldap.c,
6957         plugins/sudoers/logging.c, plugins/sudoers/logging.h,
6958         plugins/sudoers/match.c, plugins/sudoers/mkdefaults,
6959         plugins/sudoers/mon_systrace.c, plugins/sudoers/mon_systrace.h,
6960         plugins/sudoers/nonunix.h, plugins/sudoers/parse.c,
6961         plugins/sudoers/parse.h, plugins/sudoers/pwutil.c,
6962         plugins/sudoers/redblack.c, plugins/sudoers/redblack.h,
6963         plugins/sudoers/set_perms.c, plugins/sudoers/sudo_nss.c,
6964         plugins/sudoers/sudo_nss.h, plugins/sudoers/sudoers,
6965         plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h,
6966         plugins/sudoers/sudoers2ldif, plugins/sudoers/sudoreplay.c,
6967         plugins/sudoers/testsudoers.c, plugins/sudoers/timestr.c,
6968         plugins/sudoers/toke.c, plugins/sudoers/toke.l,
6969         plugins/sudoers/tsgetgrpw.c, plugins/sudoers/vasgroups.c,
6970         plugins/sudoers/visudo.c, pty.c, pwutil.c, redblack.c, redblack.h,
6971         sample.pam, sample.sudoers, sample.syslog.conf,
6972         schema.ActiveDirectory, schema.OpenLDAP, schema.iPlanet, script.c,
6973         selinux.c, sesh.c, set_perms.c, sigaction.c, snprintf.c, src/aix.c,
6974         src/alloc.c, src/audit.c, src/bsm_audit.c, src/bsm_audit.h,
6975         src/error.c, src/fileops.c, src/lbuf.c, src/list.c, src/pty.c,
6976         src/script.c, src/selinux.c, src/sesh.c, src/sudo_edit.c,
6977         src/sudo_noexec.c, src/term.c, src/tgetpass.c, src/zero_bytes.c,
6978         strcasecmp.c, strerror.c, strlcat.c, strlcpy.c, strsignal.c, sudo.c,
6979         sudo.cat, sudo.h, sudo.man.in, sudo.man.pl, sudo.pod, sudo_edit.c,
6980         sudo_noexec.c, sudo_nss.c, sudo_nss.h, sudoers, sudoers.cat,
6981         sudoers.ldap.cat, sudoers.ldap.man.in, sudoers.ldap.pod,
6982         sudoers.man.in, sudoers.man.pl, sudoers.pod, sudoers2ldif,
6983         sudoreplay.c, sudoreplay.cat, sudoreplay.man.in, sudoreplay.pod,
6984         term.c, testsudoers.c, tgetpass.c, timestr.c, toke.c, toke.l,
6985         tsgetgrpw.c, utimes.c, vasgroups.c, visudo.c, visudo.cat,
6986         visudo.man.in, visudo.pod, zero_bytes.c:
6987         Rework source layout in preparation for modular sudo.
6988         [7fc1978c6ad5]
6989
6990 2010-02-13  Todd C. Miller  <Todd.Miller@courtesan.com>
6991
6992         * Avoid a duplicate fclose() of the sudoers file.
6993         [5dba851088c1]
6994
6995         * Fix size arg when realloc()ing include stack. From Daniel Kopecek
6996         [0a2935061e33]
6997
6998         * Use setrlimit64(), if available, instead of setrlimit() when setting
6999         AIX resource limits since rlim_t is 32bits.
7000         [353db89bac61]
7001
7002         * Fix use after free when sending error messages. From Timo Juhani
7003         Lindfors
7004         [e50dbd902382]
7005
7006         * ChangeLog, Makefile.in:
7007         Generate the ChangeLog as part of "make dist" instead of having it
7008         in the repo.
7009         [251b70964673]
7010
7011 2010-01-17  Todd C. Miller  <Todd.Miller@courtesan.com>
7012
7013         * Makefile.binary.in, Makefile.in, aix.c, alias.c, alloc.c, alloc.h,
7014         auth/afs.c, auth/aix_auth.c, auth/bsdauth.c, auth/dce.c,
7015         auth/fwtk.c, auth/kerb4.c, auth/kerb5.c, auth/pam.c, auth/passwd.c,
7016         auth/rfc1938.c, auth/secureware.c, auth/securid.c, auth/securid5.c,
7017         auth/sia.c, auth/sudo_auth.c, auth/sudo_auth.h, check.c,
7018         closefrom.c, compat.h, configure.in, defaults.c, defaults.h,
7019         emul/charclass.h, emul/timespec.h, env.c, error.c, error.h,
7020         fileops.c, find_path.c, getcwd.c, getprogname.c, getspwuid.c,
7021         gettime.c, goodpath.c, gram.c, gram.y, ins_2001.h, ins_classic.h,
7022         ins_csops.h, ins_goons.h, insults.h, interfaces.c, interfaces.h,
7023         isblank.c, lbuf.c, lbuf.h, ldap.c, list.c, list.h, logging.c,
7024         logging.h, match.c, memrchr.c, missing.h, mkinstalldirs, mkstemp.c,
7025         mon_systrace.c, nanosleep.c, parse.c, parse.h, pathnames.h.in,
7026         pty.c, pwutil.c, redblack.c, redblack.h, sample.pam, sample.sudoers,
7027         sample.syslog.conf, script.c, selinux.c, sesh.c, set_perms.c,
7028         sigaction.c, snprintf.c, strcasecmp.c, strerror.c, strlcat.c,
7029         strlcpy.c, strsignal.c, sudo.c, sudo.h, sudo.man.in, sudo.pod,
7030         sudo_edit.c, sudo_noexec.c, sudo_nss.c, sudo_nss.h, sudo_usage.h.in,
7031         sudoers.ldap.man.in, sudoers.ldap.pod, sudoers.man.in, sudoers.pod,
7032         sudoers2ldif, sudoreplay.c, sudoreplay.man.in, sudoreplay.pod,
7033         term.c, testsudoers.c, tgetpass.c, timestr.c, toke.c, toke.l,
7034         utimes.c, visudo.c, visudo.man.in, visudo.pod, zero_bytes.c:
7035         Remove CVS $Sudo$ tags.
7036         [de683a8b31f5]
7037
7038 2010-01-18  convert-repo  <convert-repo>
7039
7040         * .hgtags:
7041         update tags
7042         [9b7aa44ae436]
7043
7044 2009-12-26  Todd C. Miller  <Todd.Miller@courtesan.com>
7045
7046         * sudo_usage.h.in:
7047         make this match sudoers SYNOPSIS
7048         [c74ba66944c2]
7049
7050         * lbuf.c, parse.c:
7051         Print a newline between Runas and Command-specific defaults in sudo
7052         -l.
7053         [b5bdfcc9ce4b]
7054
7055         * term.c:
7056         Use SET and CLR macros in term_raw
7057         [50ca42609d6c]
7058
7059         * sudoreplay.c:
7060         Set stdin to non-blocking mode early instead of in check_input. Use
7061         term_raw instead of term_cbreak since the data we get has already
7062         been expanded via OPOST.
7063         [51c47e803d62]
7064
7065 2009-12-23  Todd C. Miller  <Todd.Miller@courtesan.com>
7066
7067         * script.c, term.c:
7068         Enable/disable all postprocessing instead of just nl->crnl
7069         processing since things like tab expansion matter too. However, if
7070         stdout is a tty leave postprocessing on in the pty since we run into
7071         problems doing it only on the real stdout with .e.g nvi.
7072         [62666e309673]
7073
7074 2009-12-19  Todd C. Miller  <Todd.Miller@courtesan.com>
7075
7076         * check.c:
7077         If tty_tickets is enabled and there is no tty, prompt for a
7078         password. Do not lecture user for "sudo -k command" if user has a
7079         timestamp.
7080         [5880200c5f6b]
7081
7082         * INSTALL:
7083         Document missing options: --with-efence and --with-bsm-audit
7084         [d83afcdf9ff3]
7085
7086         * sudo.cat, sudo.man.in, sudo.pod, sudoers.cat, sudoers.ldap.cat,
7087         sudoers.ldap.man.in, sudoers.ldap.pod, sudoers.man.in, sudoers.pod,
7088         sudoreplay.cat, sudoreplay.man.in, sudoreplay.pod, visudo.cat,
7089         visudo.man.in, visudo.pod:
7090         username -> user name groupname -> group name hostname -> host name
7091         [10c85646f45d]
7092
7093         * INSTALL, README.LDAP, sudoers.pod:
7094         filename -> file name like the rest of the docs
7095         [1ef8ab5a9018]
7096
7097 2009-12-17  Todd C. Miller  <Todd.Miller@courtesan.com>
7098
7099         * parse.c:
7100         Fix printing of entries with multiple host entries on a single line.
7101         [226ceaf91d8d]
7102
7103 2009-12-14  Todd C. Miller  <Todd.Miller@courtesan.com>
7104
7105         * sudoers.pod:
7106         Mention that targetpw affects the timestamp file name.
7107         [a26e22e4f72e]
7108
7109         * def_data.c, def_data.h, def_data.in, defaults.c, script.c,
7110         sudoers.pod:
7111         Add compress_transcript option.
7112         [6e94f8cb9dfb]
7113
7114 2009-12-13  Todd C. Miller  <Todd.Miller@courtesan.com>
7115
7116         * configure, configure.in:
7117         bump to 1.7.3b2
7118         [906d7e347d15]
7119
7120         * pwutil.c, set_perms.c, sudo.c, sudo_nss.c:
7121         Better split of membership vs. traditional group check in
7122         user_in_group(). Allow user_ngroups to be < 0 if getgroups() fails.
7123         [6ebc55d4716b]
7124
7125 2009-12-12  Todd C. Miller  <Todd.Miller@courtesan.com>
7126
7127         * pwutil.c:
7128         Fix pasto and add default return value.
7129         [7973b5e4599c]
7130
7131         * check.c, match.c, pwutil.c, sudo.h:
7132         refactor group member checking into user_in_group()
7133         [48ca8c2eddf8]
7134
7135         * check.c, config.h.in, configure, configure.in, match.c, sudo.c,
7136         sudo.h:
7137         Add support for mbr_check_membership() as present in darwin.
7138         [5501aed02b9f]
7139
7140 2009-12-10  Todd C. Miller  <Todd.Miller@courtesan.com>
7141
7142         * match.c:
7143         Rename label to be accurate
7144         [3af17dd960f7]
7145
7146         * Makefile.in, boottime.c, check.c, config.h.in, configure,
7147         configure.in, sudo.h:
7148         Treat timestamp files from before we booted as old. Idea from and
7149         Apple patch.
7150         [5c96e484c05a]
7151
7152 2009-12-09  Todd C. Miller  <Todd.Miller@courtesan.com>
7153
7154         * sudo.c, sudo.pod, sudo_usage.h.in:
7155         Allow the -u flag to be used in conjunction with the -v flag as per
7156         older versions of sudo.
7157         [591e9fc13c1a]
7158
7159         * logging.c:
7160         fix typo in last commit
7161         [4fd0c692dcf0]
7162
7163 2009-12-08  Todd C. Miller  <Todd.Miller@courtesan.com>
7164
7165         * logging.c:
7166         Convert fmt_first and fmt_confd into macros.
7167         [32e870158b29]
7168
7169         * sudoers.pod:
7170         timeouts can be floats now
7171         [89de639a9679]
7172
7173         * WHATSNEW, def_data.c, def_data.h, def_data.in, defaults.c,
7174         defaults.h, mkdefaults:
7175         Add support for floating point timeout values (e.g. 2.5 minutes).
7176         [210ffa291733]
7177
7178 2009-12-07  Todd C. Miller  <Todd.Miller@courtesan.com>
7179
7180         * sudo.pod:
7181         The -L flag will be removed in sudo 1.7.4
7182         [ffd026084333]
7183
7184 2009-12-06  Todd C. Miller  <Todd.Miller@courtesan.com>
7185
7186         * sudoreplay.c:
7187         Fix a bug due to order of operators.
7188         [938d34464283]
7189
7190 2009-11-23  Todd C. Miller  <Todd.Miller@courtesan.com>
7191
7192         * match.c:
7193         cmnd_matches() already deals with negation so _cmndlist_matches()
7194         does not need to do so itself. Fixes a bug with negated entries in
7195         a Cmnd_List.
7196         [71c845f6ce73]
7197
7198 2009-11-22  Todd C. Miller  <Todd.Miller@courtesan.com>
7199
7200         * sudo.c:
7201         Don't exit() from open_sudoers, just return NULL for all errors.
7202         [8cfa832f972a]
7203
7204         * script.c:
7205         Can't rely on the shell sending us SIGCONT when transitioning from
7206         backgroup to foreground process.
7207         [3c6c5b6cb4b3]
7208
7209         * toke.c, toke.l:
7210         Add missing extern def for parse_error
7211         [45b7b59d03b7]
7212
7213 2009-11-21  Todd C. Miller  <Todd.Miller@courtesan.com>
7214
7215         * toke.c, toke.l:
7216         Avoid a parse error when #includedir doesn't find any files. Closes
7217         bug #375
7218         [1ce1b850e9e6]
7219
7220         * Makefile.in:
7221         Include sudo.man.pl and sudoers.man.pl in the distribution tarball.
7222         [6a22e32da108]
7223
7224 2009-11-15  Todd C. Miller  <Todd.Miller@courtesan.com>
7225
7226         * script.c:
7227         Start command out in foreground mode if stdout is a tty. Works
7228         around issues with some curses-based programs that don't handle
7229         tcsetattr getting interrupted by a signal. Still allows us to avoid
7230         hogging the tty if the command is part of a pipeline.
7231         [1c32f2b94769]
7232
7233         * script.c, sudo.c, sudo.h, sudoreplay.c, term.c, tgetpass.c:
7234         Use a socketpair to pass signals from parent to child. Child will
7235         now pass command status change info back via the socketpair. This
7236         allows the parent to distinguish between signals it has been sent
7237         directly and signals the command has received. It also means the
7238         parent can once again print the signal notifications to the tty so
7239         all writes to the pty master occur in the parent. The command is
7240         now always started in background mode with tty signals handled by
7241         the parent.
7242         [c6790b82986d]
7243
7244 2009-11-04  Todd C. Miller  <Todd.Miller@courtesan.com>
7245
7246         * configure, configure.in:
7247         Fix a few typos in the descriptions; from Jeff Makey Only do the
7248         check for krb5_get_init_creds_opt_free() taking two arguments if we
7249         find krb5_get_init_creds_opt_alloc(). Otherwise we will get a false
7250         positive when using our own krb5_get_init_creds_opt_free which takes
7251         only a single argument.
7252         [845a9ff6f93d]
7253
7254 2009-11-03  Todd C. Miller  <Todd.Miller@courtesan.com>
7255
7256         * configure, configure.in:
7257         Remove a spurious comma in the kerb5 bits.
7258         [3433eab083db]
7259
7260         * auth/kerb5.c:
7261         Call krb5_get_init_creds_opt_init() in our emulated
7262         krb5_get_init_creds_opt_alloc() for MIT kerberos.
7263         [7ffb40bf43e9]
7264
7265 2009-11-01  Todd C. Miller  <Todd.Miller@courtesan.com>
7266
7267         * config.h.in:
7268         Add HAVE_ZLIB
7269         [9297bde61ecc]
7270
7271         * script.c:
7272         Need to ignore SIGTT{IN,OU} in child when running the command in the
7273         background. Also some minor cleanup.
7274         [dc208d982319]
7275
7276 2009-10-31  Todd C. Miller  <Todd.Miller@courtesan.com>
7277
7278         * script.c:
7279         Instead of calling sigsuspend when waiting for SIGUSR[12] from
7280         parent, install the signal handlers w/o SA_RESTART and let them
7281         interrupt waitpid().
7282         [759c7d18203b]
7283
7284         * script.c:
7285         Pass along SIGHUP and SIGTERM from parent to child.
7286         [035b0e254568]
7287
7288         * script.c:
7289         Close unused bits of script_fds in processes that don't need them.
7290         Restore default SIGCONT handler in child.
7291         [e037378ab0c1]
7292
7293         * script.c:
7294         Update foreground/background status in SIGCONT handler in parent
7295         process.
7296         [3f7f91333264]
7297
7298 2009-10-25  Todd C. Miller  <Todd.Miller@courtesan.com>
7299
7300         * script.c:
7301         Defer setting terminal into raw mode until just before we fork() and
7302         only do it if sudo is the foreground process. If we get SIGTT{IN,OU}
7303         and sudo is already in the foreground be sure to set raw mode before
7304         continuing the child.
7305         [1102ef40832c]
7306
7307 2009-10-24  Todd C. Miller  <Todd.Miller@courtesan.com>
7308
7309         * script.c:
7310         Fix handling of SIGTTOU/SIGTTIN in program being run. We now only
7311         give the command the controlling tty if the main sudo process is the
7312         foreground process.
7313         [cf3a91cb5682]
7314
7315         * script.c:
7316         Don't bother with sudo_waitpid() here for now.
7317         [9086de480c2d]
7318
7319         * script.c:
7320         fix non-zlib case
7321         [a258bff0f9a6]
7322
7323 2009-10-23  Todd C. Miller  <Todd.Miller@courtesan.com>
7324
7325         * script.c:
7326         Remove non-wroking code that crept into rev 1.55
7327         [2802dd55cff5]
7328
7329 2009-10-22  Todd C. Miller  <Todd.Miller@courtesan.com>
7330
7331         * INSTALL, configure, configure.in, script.c, sudoreplay.c:
7332         First pass at zlib support for transcript data files
7333         [5d10260807da]
7334
7335         * Makefile.in:
7336         remove vestiges of ZLDFLAGS
7337         [1fa0caf1c0fb]
7338
7339         * script.c:
7340         Add missing variable declaration for when TIOCSCTTY is not defined.
7341         Need to include sys/termio.h for TIOCSCTTY on some systems.
7342         [ee7f41ac2709]
7343
7344         * script.c:
7345         when resuming command, send SIGCONT to its pgrp not just pid
7346         [5cd63c1d565b]
7347
7348         * selinux.c:
7349         remove unused variable
7350         [df67df4be228]
7351
7352         * script.c:
7353         include selinux.h for is_selinux_enabled() proto
7354         [85ebaa880cc1]
7355
7356         * script.c:
7357         Don't use log_error() in the child process.
7358         [def65fe2a433]
7359
7360         * script.c:
7361         Do I/O in parent instead of child since the parent can have both
7362         /dev/tty as well as the pty fds open. The child just sets things up
7363         and waits for its grandchild and writes the signal description to
7364         the pty master if the command was killed by a signal.
7365         [95e473208982]
7366
7367 2009-10-18  Todd C. Miller  <Todd.Miller@courtesan.com>
7368
7369         * missing.h, sudo.h:
7370         Move two struct forward declarations from sudo.h to missing.h
7371         [90ad28294a8c]
7372
7373         * script.c:
7374         Make comment at the top of script_exec() match reality.
7375         [c5042d27dbe0]
7376
7377         * sudo.c:
7378         if neither stdin nor stdout is a tty, check stderr
7379         [c532ff20c8d8]
7380
7381         * Makefile.in:
7382         Add back dependecy of gram.h on gram.y
7383         [c58382b7fcca]
7384
7385         * script.c:
7386         Make transcript mode work as long as we can figure out our tty, even
7387         if it is not stdin. We'd like to use /dev/tty but that won't be
7388         valid after the setsid().
7389         [7b8bba8d99e7]
7390
7391 2009-10-17  Todd C. Miller  <Todd.Miller@courtesan.com>
7392
7393         * config.h.in, configure, configure.in, pty.c:
7394         Add support for IRIX-style dynamic ptys
7395         [bedc9bac44c1]
7396
7397         * Makefile.in, alloc.h, getline.c, sudo.h, sudoreplay.c:
7398         Move alloc.c protos into alloc.h
7399         [b6a90649617d]
7400
7401         * missing.h:
7402         Move prototypes for missing libc functions to missing.h
7403         [dda9ae1ccaf8]
7404
7405         * Makefile.in, sudo.h, sudoreplay.c:
7406         Move prototypes for missing libc functions to missing.h
7407         [7483166b577b]
7408
7409 2009-10-16  Todd C. Miller  <Todd.Miller@courtesan.com>
7410
7411         * config.h.in, configure, configure.in:
7412         Disable transcript support if no tcsetpgrp until we support older
7413         BSD-style job control.
7414         [27ac1d8163df]
7415
7416         * configure, configure.in, pty.c, script.c:
7417         Break out pty code into pty.c
7418         [e85509b25d41]
7419
7420         * compat.h, config.h.in, configure, configure.in:
7421         add killpg macro if no killpg function
7422         [3a125f4a51f0]
7423
7424         * config.h.in, configure, configure.in, script.c:
7425         Push ptem and ldterm for STERAMS-based systems when allocating a
7426         pty.
7427         [36bb39b30ff2]
7428
7429 2009-10-15  Todd C. Miller  <Todd.Miller@courtesan.com>
7430
7431         * script.c:
7432         Sprinkle some more O_NOCTTY and call grantpt() before unlockpt()
7433         [d94bd5c9bf4e]
7434
7435         * script.c:
7436         Call tcgetpgrp() in the parent, not the child and have the child
7437         spin until it is granted. Fixes a race on darwin.
7438         [6e8d435339ce]
7439
7440         * script.c:
7441         Only use TIOCNOTTY in the non-setsid case. If no TIOCSCTTY, just
7442         reopen slave.
7443         [0bdc63c019ca]
7444
7445 2009-10-14  Todd C. Miller  <Todd.Miller@courtesan.com>
7446
7447         * script.c:
7448         In script mode, if the command is killed by a signal, print the
7449         signal description as well as a core dump notification like the
7450         shell does.
7451         [9df61738df07]
7452
7453         * Makefile.in, config.h.in, configure, configure.in, strsignal.c,
7454         sudo.h:
7455         Add check for strsignal() and a simple implementation if it is not
7456         there but sys_siglist is
7457         [61421a188ef4]
7458
7459         * script.c:
7460         Add missing WUNTRACED and store the signal that stopped the
7461         grandchild in suspended, not signo.
7462         [df65042b200e]
7463
7464         * script.c:
7465         g/c unused code
7466         [40d8cb5c9203]
7467
7468         * script.c:
7469         Associate the grandchild's pgrp with the tty instead of the child's
7470         and just get suspend notifications via SIGCHLD instead of directly.
7471         This fixes a hang with programs that try to set terminal attributes
7472         and is more consistent with how the shell handles things.
7473         [6865abff7e94]
7474
7475 2009-10-12  Todd C. Miller  <Todd.Miller@courtesan.com>
7476
7477         * script.c:
7478         Move setpgid() of child into the parent side of the fork() where it
7479         belongs.
7480         [3defa782777c]
7481
7482 2009-10-11  Todd C. Miller  <Todd.Miller@courtesan.com>
7483
7484         * script.c:
7485         fix typo
7486         [b6a612b3622c]
7487
7488         * script.c:
7489         Run command in its own pgrp (like the shell does) for easier
7490         signalling. No need to relay SIGINT or SIGQUIT to parent, just send
7491         to grandchild. Don't want grandchild stopped events in the child
7492         (only termination). Flush output after suspending grandchild before
7493         signalling parent.
7494         [db556bf2176f]
7495
7496         * script.c:
7497         Back out revision 1.34; the problem lies elsewhere.
7498         [85f590a03275]
7499
7500         * script.c:
7501         Don't set stdout to blocking mode when flushing remaining output.
7502         It can cause us to hang when trying to exit. Need to investigate
7503         why.
7504         [6f803a3e33ca]
7505
7506         * script.c:
7507         Handle SIGTTOU and remove some debugging.
7508         [52d17279053e]
7509
7510         * term.c:
7511         Back out revision 1.10 as the signal that interrupts us may be
7512         SIGTTOU or SIGTTIN which the caller must handle.
7513         [7e2fa9107975]
7514
7515         * script.c:
7516         Apparently we need to send SIGSTOP to the command as well as ourself
7517         when we get SIGTSTP, the kernel doesn't automatically stop the
7518         process for us.
7519         [1a936e9309c4]
7520
7521         * script.c:
7522         Use an extra process to act as the glue bewteen the sessions
7523         associated with the user's controlling tty (what the shell uses) and
7524         the tty that sudo is using to do its logging. Basically, this means
7525         that if we get, e.g. SIGTSTP from the process sudo is running, we
7526         relay the signal to the parent so it's shell can do the job control.
7527         [6dd296988060]
7528
7529         * term.c:
7530         Handle getting/setting terminal attributes when the fd is in non-
7531         blocking mode.
7532         [ae5ae535ea7b]
7533
7534 2009-10-07  Todd C. Miller  <Todd.Miller@courtesan.com>
7535
7536         * sudoreplay.c, sudoreplay.cat, sudoreplay.man.in, sudoreplay.pod:
7537         Add support for pausing and changing the speed in interactive mode.
7538         [72a2063780a7]
7539
7540         * script.c:
7541         Already define O_NOCTTY in compat.h, don't need it here
7542         [b5d80ed3e5ce]
7543
7544 2009-10-06  Todd C. Miller  <Todd.Miller@courtesan.com>
7545
7546         * sudoreplay.c:
7547         Add missing protos
7548         [c4cb4e7f4d8a]
7549
7550 2009-09-30  Todd C. Miller  <Todd.Miller@courtesan.com>
7551
7552         * sudo_edit.c:
7553         Always update the stashed mtime of the temp file instead of using
7554         what we have for the original because the time resolution of the
7555         filesystem the temporary is on may not match that of the filesystem
7556         that holds the original. Should fix bz #371 found by Philippe Levan.
7557         [c86ca4bec60c]
7558
7559         * sudoreplay.c:
7560         Use cbreak mode instead of raw mode and add signal handlers to
7561         restore the tty on interrupt.
7562         [84dd283da41c]
7563
7564         * script.c, sudo.h, term.c:
7565         Retain NL to NLCR conversion on the real tty and skip it on the pty
7566         we allocate. That way, if stdout is not a pty there are no extra
7567         carriage returns.
7568         [32e4f570414e]
7569
7570         * script.c:
7571         Fix log_output(); just pass in a string and a length.
7572         [ca980cc0a3fb]
7573
7574 2009-09-28  Todd C. Miller  <Todd.Miller@courtesan.com>
7575
7576         * script.c:
7577         do not use errno when complaining out lack of a tty
7578         [8f9b8c55ab8e]
7579
7580 2009-09-27  Todd C. Miller  <Todd.Miller@courtesan.com>
7581
7582         * Makefile.in, sudoreplay.c, term.c:
7583         Instead of messing with line endings, just set terminal to raw mode
7584         in sudoreplay.
7585         [90943fa87acb]
7586
7587         * term.c:
7588         When copying the terminal attributes to the pty, be sure not to set
7589         ONLCR. This prevents extra carriage returns from ending up in the
7590         script output file.
7591         [e6b5475ac2aa]
7592
7593         * script.c:
7594         Convert a do {} while into a while
7595         [e461310d2c77]
7596
7597         * Makefile.in:
7598         Use if then instead of test && when installing binaries that may not
7599         exist.
7600         [ad4f9490d971]
7601
7602         * script.c:
7603         Add O_NOCTTY when opening a tty device. Explicitly disconnect from
7604         old tty before associatng with new one.
7605         [0e0ca634b80c]
7606
7607         * script.c, selinux.c, sudo.c, sudo.h:
7608         First cut at refactoring some of the selinux code so it can be used
7609         in conjunction with sudo's transcript support.
7610         [779b0d8f9d29]
7611
7612 2009-09-26  Todd C. Miller  <Todd.Miller@courtesan.com>
7613
7614         * aclocal.m4, configure, configure.in:
7615         Fix default case of transcript_enabled being unset.
7616         [f8aa96186e6b]
7617
7618         * script.c, sudoreplay.c:
7619         Use _PATH_SUDO_TRANSCRIPT instead of _PATH_SUDO_SESSDIR
7620         [2844a7a851fa]
7621
7622         * INSTALL, Makefile.in, aclocal.m4, configure, configure.in, sudo.c:
7623         Hook up --disable-transcript and --enable-transcript=DIR
7624         [b3fa7e6b2480]
7625
7626 2009-09-25  Todd C. Miller  <Todd.Miller@courtesan.com>
7627
7628         * aclocal.m4, configure, configure.in, pathnames.h.in:
7629         _PATH_SUDO_SESSDIR -> _PATH_SUDO_TRANSCRIPT Add --enable-
7630         transcript=DIR option to specify the directory
7631         [b0bb76d43cda]
7632
7633         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in:
7634         regen
7635         [c7a8a0a9027c]
7636
7637         * configure, configure.in, sudoers.man.pl, sudoers.pod:
7638         Substitute in default value for secure_path
7639         [c8f9ac6dbf93]
7640
7641         * sudo.pod:
7642         Mention that the password must be followed by a newline with the -S
7643         option.
7644         [2fc589a3ee7e]
7645
7646 2009-09-20  Todd C. Miller  <Todd.Miller@courtesan.com>
7647
7648         * script.c:
7649         Go back to dropping out of the select() loop when the process dies;
7650         Linux ptys apparently don't behave the same as BSD in regards to
7651         select(). No need to flush remaining output to the transcript, only
7652         to stdout. Add back code to check the master pty for additional data
7653         when we exit the main select loop.
7654         [abed9a9cbc6b]
7655
7656 2009-09-19  Todd C. Miller  <Todd.Miller@courtesan.com>
7657
7658         * Makefile.in:
7659         Add getline.o to COMMON_OBJS
7660         [04ef7643cbc2]
7661
7662         * Makefile.in:
7663         sudoreplay depends on libsudo.a
7664         [142bd0472631]
7665
7666         * Makefile.in:
7667         More pwutil.o into COMMON_OBJS
7668         [4a016b933629]
7669
7670         * pwutil.c, testsudoers.c, tsgetgrpw.c:
7671         Remove my_* redirection in pwutil.c for testsudoers and just use the
7672         normal libc get{pw,gr}* names.
7673         [9b76d637d86b]
7674
7675         * sudoreplay.cat, sudoreplay.man.in, sudoreplay.pod:
7676         More time and date examples
7677         [c6ee0175ec56]
7678
7679         * Makefile.in, configure, configure.in, nanosleep.c, sudoreplay.c:
7680         Move nanosleep() emulation into its own file Check librt.a for
7681         nanosleep if we don't find it in libc
7682         [4da0cc26aad7]
7683
7684         * Makefile.in, configure, configure.in:
7685         Build libsudo with the common bits and link things against that.
7686         [2b53bc0b081a]
7687
7688         * script.c:
7689         Fix final flush.
7690         [6da287d833da]
7691
7692         * script.c:
7693         Keep reading from the pty master -> log file until read returns <=
7694         0. Do our best to write everything to stdout when flushing any
7695         remaining bits.
7696         [2a45d4ae280c]
7697
7698         * sudoreplay.c:
7699         Use unbuffered I/O when writing to stdout and make sure we write the
7700         entire buffer.
7701         [f39ef9844a47]
7702
7703 2009-09-18  Todd C. Miller  <Todd.Miller@courtesan.com>
7704
7705         * sudoreplay.c:
7706         Only use max_wait if it is non-zero
7707         [f6c10604d2e8]
7708
7709         * getdate.c, getdate.y, getline.c:
7710         Need compat.h here
7711         [5d6722e225a0]
7712
7713         * sudoreplay.c:
7714         Fix nanosleep emulation
7715         [34e5e5d72a76]
7716
7717         * script.c:
7718         Fix comment after #endif
7719         [bd1347718b25]
7720
7721         * sudoreplay.c:
7722         Add protos for missing libc bits
7723         [644f496427a2]
7724
7725         * configure, configure.in:
7726         add missing line continuation char
7727         [db13c0d402cd]
7728
7729         * config.h.in, configure, configure.in, getline.c:
7730         Implement getline() in terms of fgetln() if we have it.
7731         [3ab786eaadc5]
7732
7733         * sudoreplay.c:
7734         Print year when formatting log line
7735         [90be669e3443]
7736
7737         * sudoreplay.pod:
7738         Document cwd, attempt to document time/date formats.
7739         [6290fb9b65c6]
7740
7741         * sudoreplay.c:
7742         Fix getline return value check.
7743         [d696d6657261]
7744
7745         * Makefile.in, config.h.in, configure, configure.in, getline.c,
7746         sudoreplay.c:
7747         Use getline() if the system has it, else use provide our own for
7748         sudoreplay.
7749         [afca1d6fbe5e]
7750
7751         * script.c:
7752         Refactor code to update output and timing files.
7753         [361491332b1a]
7754
7755 2009-09-17  Todd C. Miller  <Todd.Miller@courtesan.com>
7756
7757         * sudoreplay.c:
7758         Make sudo_getln() behave more like glibc getline.
7759         [40c9f2ea29e6]
7760
7761         * script.c:
7762         When flushing remaining output, also update timing file.
7763         [5a9a5a627549]
7764
7765         * sudoreplay.c:
7766         Use get_timestr() and make the -l output look like the regular sudo
7767         log.
7768         [452ba9d436c9]
7769
7770         * logging.c, sudo.h, timestr.c:
7771         Make get_timestr() take a time_t so we can use it properly in
7772         sudoreplay.
7773         [82e67cc53c9c]
7774
7775         * script.c:
7776         Create session dir earlier now that we update the seq number early.
7777         [797fe8d6dc61]
7778
7779 2009-09-16  Todd C. Miller  <Todd.Miller@courtesan.com>
7780
7781         * sudoreplay.c:
7782         Use fromdate and todate as the keywords instead of from and to; the
7783         short forms will still be accepted.
7784         [d14d9b116df4]
7785
7786         * sudoreplay.c:
7787         Fix reading long liensin sudo_getln()
7788         [58dadd74118c]
7789
7790         * script.c, sudoreplay.c:
7791         Log the cwd in the script log file. Add sudo_getln() to read
7792         arbitrarily long lines.
7793         [faceb802ab8f]
7794
7795         * Makefile.in, logging.c, sudo.h, timestr.c:
7796         Move get_timestr() into its own source file so sudoreplay can use
7797         it.
7798         [99b054bfa20a]
7799
7800 2009-09-15  Todd C. Miller  <Todd.Miller@courtesan.com>
7801
7802         * sudoreplay.c:
7803         Add to and from perdicates (date ranges); needs documentation
7804         [1d629174dcf4]
7805
7806 2009-09-14  Todd C. Miller  <Todd.Miller@courtesan.com>
7807
7808         * Makefile.in, getdate.c, getdate.y:
7809         Fix warning and add generated getdate.c
7810         [b877a86b5a03]
7811
7812         * Makefile.in, getdate.y:
7813         Add getdate.y to be used for sudoreplay date parsing.
7814         [b8e26fbb7a40]
7815
7816 2009-09-13  Todd C. Miller  <Todd.Miller@courtesan.com>
7817
7818         * sudoreplay.c:
7819         Check more than just the first character of a predicate
7820         [4fe53728adb1]
7821
7822         * sudoreplay.cat, sudoreplay.man.in, sudoreplay.pod:
7823         Add examples, sort predicates
7824         [70f8075cbccc]
7825
7826         * Makefile.in, sudoreplay.c, sudoreplay.cat, sudoreplay.man.in,
7827         sudoreplay.pod:
7828         Implement search expressions in sudoreplay similar in concept to
7829         what find or tcpdump uses. TODO: date ranges
7830         [f7ce4fb4cf3a]
7831
7832 2009-09-07  Todd C. Miller  <Todd.Miller@courtesan.com>
7833
7834         * script.c:
7835         Remove vhangup as it was hanging up the wrong tty. Should really
7836         vhangup in the child after it as set its tty.
7837         [2eed9df73010]
7838
7839         * sudoers.pod:
7840         Fix cut at documenting transcript support.
7841         [e6c533a5568a]
7842
7843         * logging.c:
7844         ID= -> TSID= for transcript ID
7845         [1bf755a35333]
7846
7847 2009-09-06  Todd C. Miller  <Todd.Miller@courtesan.com>
7848
7849         * sudoers.pod:
7850         Move fast_glob description to where it belongs in sorted order
7851         [5901cfb0d25f]
7852
7853         * def_data.c, def_data.h, def_data.in, gram.c, gram.h, gram.y,
7854         parse.c, parse.h, sudo.c:
7855         Rename script -> transcript
7856         [e06cf823122c]
7857
7858 2009-09-03  Todd C. Miller  <Todd.Miller@courtesan.com>
7859
7860         * compat.h:
7861         Add timeradd and timersub for those without them
7862         [929f8aa06c2b]
7863
7864         * script.c:
7865         Sanity check sessid before using it.
7866         [aa8ca5211d43]
7867
7868         * sudo.c:
7869         Only set the session id if we are running a command or editing a
7870         file.
7871         [7205d717c098]
7872
7873         * script.c:
7874         Actually. qsort is fine since most versions fal back to a cheaper
7875         sort when the number of elements to sort is small (like in our
7876         case).
7877         [d11c7cd352fe]
7878
7879         * config.h.in, configure, configure.in, script.c:
7880         Check for dup2 and use dup instead if we don't have it.
7881         [98bd89830f8a]
7882
7883         * script.c, sudo.c, sudo.h:
7884         Move the code to dup2 the script fds to low numbered descriptors
7885         into script_duplow() and fix the fd sorting.
7886         [9453fdc5fba6]
7887
7888         * script.c, sudo.c, sudo.h:
7889         Move script_setup() back to immediately before we drop privs and
7890         call the new script_nextid() in its place, which will set
7891         sudo_user.sessid for the logging functions.
7892         [8434d0c8ff08]
7893
7894 2009-09-01  Todd C. Miller  <Todd.Miller@courtesan.com>
7895
7896         * Makefile.in:
7897         Install sudoreplay
7898         [6acf2cdb4d3f]
7899
7900         * sudoreplay.c:
7901         remove unused variable
7902         [2316360bb992]
7903
7904 2009-08-30  Todd C. Miller  <Todd.Miller@courtesan.com>
7905
7906         * logging.c, script.c, sudo.c, sudo.h:
7907         Log the session ID, if there is one. Currently logs ID=XXXXXX,
7908         perhaps should be SESSIONID or SESSID.
7909         [53976905b0a6]
7910
7911         * Makefile.in, configure, configure.in, sudoreplay.cat,
7912         sudoreplay.man.in, sudoreplay.pod:
7913         Add sudoreplay docs
7914         [da4f14f0e64c]
7915
7916         * sudoreplay.c:
7917         add -V (version) flag
7918         [b5e743639ee3]
7919
7920         * sudoreplay.c:
7921         Hook up max_wait.
7922         [2ec5697a92ba]
7923
7924         * script.c, sudoreplay.c:
7925         Use base36 number for the ID and store script files with paths like
7926         /var/log/sudo-session/00/00/00{,.tim,.scr}. This gives us 36^6
7927         (2,176,782,336) unique IDs.
7928         [6aab019d07aa]
7929
7930 2009-08-23  Todd C. Miller  <Todd.Miller@courtesan.com>
7931
7932         * config.h.in, configure.in:
7933         Add check for regcomp
7934         [44c3ebd7ff34]
7935
7936         * sudoreplay.c:
7937         Add support for selecting by pattern and tty when listing.
7938         [66189f840c52]
7939
7940 2009-08-17  Todd C. Miller  <Todd.Miller@courtesan.com>
7941
7942         * sudoreplay.c:
7943         The beginnings of a list mode.
7944         [8d0150b4a52c]
7945
7946 2009-08-16  Todd C. Miller  <Todd.Miller@courtesan.com>
7947
7948         * Makefile.in:
7949         fix pasto
7950         [616b4640b8a8]
7951
7952         * Makefile.in, config.h.in, configure.in:
7953         Add scaffolding for building sudoreplay
7954         [a32958505dbe]
7955
7956         * sudoreplay.c:
7957         include error.h first arg to nanotime is const
7958         [fe5a7bb31bc5]
7959
7960         * sudoreplay.c:
7961         Initial cut at sudoreplay; replay a sudo session.
7962         [f149fba372bd]
7963
7964 2009-08-08  Todd C. Miller  <Todd.Miller@courtesan.com>
7965
7966         * script.c:
7967         Fix wait() usage and use correct wait status.
7968         [f4745ed7ad05]
7969
7970         * sudo.c, sudo.h, tgetpass.c:
7971         Add protos for term_* to sudo.h
7972         [14fe1abd7e7b]
7973
7974         * script.c:
7975         Fix detection of the child process exiting. Since the child is in
7976         its own session we should only ever get SIGCHLD for that process but
7977         better safe than sorry.
7978         [7edfdadd8505]
7979
7980         * config.h.in:
7981         Add UNIX98 pty support.
7982         [82f4b53a0e8f]
7983
7984         * configure, configure.in, script.c:
7985         Add UNIX98 pty support.
7986         [795b8bb0a3a1]
7987
7988 2009-08-07  Todd C. Miller  <Todd.Miller@courtesan.com>
7989
7990         * term.c:
7991         For raw mode, don't bother clearing BRKINT or PARMRK and clear IUCLC
7992         if it is defined.
7993         [40f8b83baf69]
7994
7995         * auth/pam.c:
7996         Set PAM_RUSER and PAM_RHOST early so they can be used during
7997         authentication. Based on a patch from Jamie Beverly.
7998         [3d567b453a6a]
7999
8000         * match.c:
8001         Close dir before returning if strlcpy() reports overflow. From
8002         Martynas Venckus.
8003         [6a82f96473e5]
8004
8005         * config.h.in, configure, configure.in, script.c:
8006         On Linux, the openpty proto libes in pty.h
8007         [98643a018d1c]
8008
8009         * script.c:
8010         Call vhangup on exit if the system has it Use setpgrp() if no
8011         setsid()
8012         [3a9e13149829]
8013
8014 2009-08-06  Todd C. Miller  <Todd.Miller@courtesan.com>
8015
8016         * config.h.in, configure, configure.in:
8017         Add checks for revoke and vhangup if we don't have openpty
8018         [fcb04572e994]
8019
8020         * script.c:
8021         Session logging guts that got forgotten in the previous commit.
8022         [c2af08a63ea9]
8023
8024         * Makefile.in, aclocal.m4, compat.h, config.h.in, configure,
8025         configure.in, def_data.c, def_data.h, def_data.in, gram.c, gram.h,
8026         gram.y, parse.c, parse.h, pathnames.h.in, sudo.c, sudo.h, term.c,
8027         tgetpass.c:
8028         First cut at session logging for sudo. Still need to write
8029         get_pty() for Unix 98 and old-style BSD ptys. Also needs
8030         documentation and general cleanup.
8031         [77e3f5e25738]
8032
8033 2009-08-05  Todd C. Miller  <Todd.Miller@courtesan.com>
8034
8035         * sudo.c, sudo_edit.c:
8036         Fix a bug introduced with def_closefrom. The value of def_closefrom
8037         already includes the +1.
8038         [7291c136300d]
8039
8040 2009-07-29  Todd C. Miller  <Todd.Miller@courtesan.com>
8041
8042         * Makefile.in:
8043         Generate sudo distributions with pax in ustar mode. No longer need
8044         to use a temp file or have the source dir name match the version.
8045         [9778177a8272]
8046
8047 2009-07-18  Todd C. Miller  <Todd.Miller@courtesan.com>
8048
8049         * toke.c, toke.l:
8050         Fix expansion of %h in #include names. Fixes bugzilla 363
8051         [6e346879ba24]
8052
8053 2009-07-12  Todd C. Miller  <Todd.Miller@courtesan.com>
8054
8055         * mkdefaults:
8056         If no arg assume def_data.in
8057         [c1dd28c0e675]
8058
8059         * README, WHATSNEW:
8060         Update for 1.7.2
8061         [f5ad45f69f05] [SUDO_1_7_2]
8062
8063         * ChangeLog:
8064         sync
8065         [6283549396ff]
8066
8067 2009-06-30  Todd C. Miller  <Todd.Miller@courtesan.com>
8068
8069         * sudoers.cat, sudoers.man.in, sudoers.pod:
8070         Add missing single quotes around a colon in Runas_Spec definition.
8071         From Elias Benali.
8072         [ccc6ee4fca83]
8073
8074 2009-06-29  Todd C. Miller  <Todd.Miller@courtesan.com>
8075
8076         * sudo.man.in, sudoers.man.in:
8077         regen
8078         [546e75304ebf]
8079
8080         * redblack.c:
8081         In rbrepair, re-color the root or the first non-block node we find
8082         to be black. Re-coloring the root is probably not needed but won't
8083         hurt.
8084         [34d01ebe241b]
8085
8086         * sudo.cat, sudoers.cat:
8087         regen
8088         [bebf5a39f54f]
8089
8090 2009-06-26  Todd C. Miller  <Todd.Miller@courtesan.com>
8091
8092         * redblack.c:
8093         When repairing the tree, don't touch the root node.
8094         [9841f0d5d789]
8095
8096 2009-06-25  Todd C. Miller  <Todd.Miller@courtesan.com>
8097
8098         * set_perms.c:
8099         Protect call to setegid in runas_setup with #ifdef HAVE_SETEUID.
8100         Reported by Josef Schmid.
8101         [ed044b1eb879]
8102
8103 2009-06-23  Todd C. Miller  <Todd.Miller@courtesan.com>
8104
8105         * sudoers.pod:
8106         Document that we accept env_pam-style environment files
8107         [e3b545456352]
8108
8109         * env.c:
8110         Adapt to accept pam_env-style /etc/environment which allows shell-
8111         style lines such as: export EDITOR="/usr/bin/vi"
8112         [752eb75bf007]
8113
8114         * sudoers.pod:
8115         Make it clear that env_delete only works when !env_reset. From Lo??c
8116         Minier
8117         [3bd3f8e351ba]
8118
8119 2009-06-15  Todd C. Miller  <Todd.Miller@courtesan.com>
8120
8121         * sudo.pod, sudoers.pod:
8122         Add non-unix group bits, adapted from Quest
8123         [8ce427de8dea]
8124
8125         * Makefile.in:
8126         build the .cat page in the current working dir, not the src dir
8127         [00e87a307674]
8128
8129         * env.c:
8130         Return EINVAL in setenv() if var is NULL or the empty string to
8131         match glibc behavior.
8132         [23fd7c247142]
8133
8134 2009-06-13  Todd C. Miller  <Todd.Miller@courtesan.com>
8135
8136         * configure, configure.in:
8137         Use AS_HELP_STRING for AC_ARG_WITH and AC_ARG_ENABLE
8138         [fedd4a3e2a85]
8139
8140 2009-06-11  Todd C. Miller  <Todd.Miller@courtesan.com>
8141
8142         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.ldap.cat,
8143         sudoers.ldap.man.in, sudoers.man.in, visudo.cat, visudo.man.in:
8144         regen
8145         [7b9f461a40b3]
8146
8147 2009-06-09  Todd C. Miller  <Todd.Miller@courtesan.com>
8148
8149         * INSTALL:
8150         Document --with-libvas and --with-libvas-rpath
8151         [a071e6d96c89]
8152
8153 2009-05-29  Todd C. Miller  <Todd.Miller@courtesan.com>
8154
8155         * ldap.c, sudoers.ldap.pod:
8156         For netscape-derived LDAP SDKs the cert and key paths may be a
8157         directory or a file. However, version 5.0 of the SDK only seems to
8158         support using a directory. If ldapssl_clientauth_init fails and the
8159         cert or key paths look like they could be files, strip off the last
8160         path element and try again.
8161         [ac4e49d83043]
8162
8163         * Makefile.in:
8164         Add non-Unix group .o to COMMON_OBJS and substitute in path to flex.
8165         [4547cc1a335f]
8166
8167 2009-05-27  Todd C. Miller  <Todd.Miller@courtesan.com>
8168
8169         * configure, configure.in, match.c, sudo.c, vasgroups.c:
8170         Update non-Unix group support from Quest, as reworked by me.
8171         [1abafce29dc6]
8172
8173         * toke.c:
8174         regen
8175         [01bfca9148b7]
8176
8177         * toke.l:
8178         Add support for escaped hex chars in names, e.g. \x20 for space.
8179         [3c7be8e58a39]
8180
8181 2009-05-25  Todd C. Miller  <Todd.Miller@courtesan.com>
8182
8183         * LICENSE, Makefile.in, aclocal.m4, alias.c, auth/aix_auth.c,
8184         auth/pam.c, auth/sudo_auth.c, auth/sudo_auth.h, check.c, env.c,
8185         fileops.c, glob.c, gram.y, interfaces.c, lbuf.c, ldap.c, logging.c,
8186         logging.h, match.c, parse.c, parse.h, pathnames.h.in, pwutil.c,
8187         set_perms.c, sudo.c, sudo.h, sudo.pod, sudo_nss.c, sudo_nss.h,
8188         sudo_usage.h.in, sudoers.ldap.pod, sudoers.pod, testsudoers.c,
8189         tgetpass.c, toke.l, visudo.c:
8190         Update copyright years.
8191         [e615f676c764]
8192
8193 2009-05-24  Todd C. Miller  <Todd.Miller@courtesan.com>
8194
8195         * interfaces.c, lbuf.c:
8196         Minor fixes for Minix-3
8197         [898c510d23f9]
8198
8199 2009-05-22  Todd C. Miller  <Todd.Miller@courtesan.com>
8200
8201         * set_perms.c:
8202         Handle getgroups() returning 0. Also add missing check for
8203         HAVE_GETGROUPS.
8204         [d73b958f9ffd]
8205
8206 2009-05-19  Todd C. Miller  <Todd.Miller@courtesan.com>
8207
8208         * Makefile.in, config.h.in, configure, configure.in, sudo.c,
8209         version.h, visudo.c:
8210         Replace version.h with PACKAGE_VERSION set via AC_INIT in configure.
8211         [5050579a264d]
8212
8213 2009-05-18  Todd C. Miller  <Todd.Miller@courtesan.com>
8214
8215         * set_perms.c:
8216         Remove group setting code in setusercontext case, we will do it
8217         ourselves later on in runas_setup. Set the gid after
8218         initgroups/setgroups is called, since on Mac OS X it seems to change
8219         the egid.
8220         [09dc21d8b42d]
8221
8222 2009-05-17  Todd C. Miller  <Todd.Miller@courtesan.com>
8223
8224         * LICENSE, Makefile.in, config.h.in, match.c, nonunix.h, sudo.c,
8225         vasgroups.c:
8226         Initial bits of non-unix group support using Quest Authentication
8227         Services
8228         [1eecab0ff27e]
8229
8230         * toke.c, toke.l:
8231         Accept %:foo as a non-Unix group
8232         [4c4b5dd899a6]
8233
8234         * toke.c, toke.l:
8235         Allow user/group to be double quoted in the case of non-Unix groups
8236         which contain spaces.
8237         [47a3d568b7e8]
8238
8239 2009-05-11  Todd C. Miller  <Todd.Miller@courtesan.com>
8240
8241         * match.c:
8242         Don't allow the user to specify the default runas user if their
8243         sudoers entry only allows them to run as a group.
8244         [4d726177227c]
8245
8246 2009-05-10  Todd C. Miller  <Todd.Miller@courtesan.com>
8247
8248         * sudo.c:
8249         Must call audit_success before we change uids.
8250         [04a9e6ce6e55]
8251
8252         * logging.c, set_perms.c, sudo.h, testsudoers.c:
8253         Add option for set_perm to not exit on failure and use this in the
8254         logging routines.
8255         [833dce7b7f42]
8256
8257         * parse.c:
8258         In -l mode, if the user is only allowed to run as a group, display
8259         the user's name, not root's before the allowed group.
8260         [ef92ff99d265]
8261
8262         * sudo.c:
8263         Fix -g mode, broken by rev 1.503 which had the side effect of
8264         setting the runas user to root unilaterally.
8265         [50a2f7df4385]
8266
8267 2009-05-08  Todd C. Miller  <Todd.Miller@courtesan.com>
8268
8269         * fileops.c:
8270         When unlocking a file with fcntl, use F_SETLK, not F_SETLKW.
8271         [30fbe832dcf3]
8272
8273         * pwutil.c:
8274         Only cache by the method we fetched for pwd and grp lookups.
8275         Previously we cached both by namd and id but this can cause problems
8276         for entries that share the same id. Also add more info in the error
8277         message in case the insert fails (which should now be impossible).
8278         [ef95a4f0bab5]
8279
8280 2009-04-30  Todd C. Miller  <Todd.Miller@courtesan.com>
8281
8282         * sudoers.pod:
8283         Add a clarification from Nick Sieger
8284         [1eadad329561]
8285
8286 2009-04-25  Todd C. Miller  <Todd.Miller@courtesan.com>
8287
8288         * env.c:
8289         Inline the setting of the environment string.
8290         [9515d11c6295]
8291
8292 2009-04-24  Todd C. Miller  <Todd.Miller@courtesan.com>
8293
8294         * env.c:
8295         setenv(3) in Linux treats a NUL value as the empty string setenv(3)
8296         in BSD doesn't return an error if the name has '=' in it, it just
8297         treats the '=' as end of string.
8298         [941260bf94d2]
8299
8300 2009-04-22  Todd C. Miller  <Todd.Miller@courtesan.com>
8301
8302         * toke.c, toke.l:
8303         Not all systems have d_namlen
8304         [e377b18d8e2d]
8305
8306 2009-04-20  Todd C. Miller  <Todd.Miller@courtesan.com>
8307
8308         * sudoers.pod:
8309         Fix up some pod2html issues.
8310         [823a1f10ab60]
8311
8312 2009-04-19  Todd C. Miller  <Todd.Miller@courtesan.com>
8313
8314         * interfaces.c:
8315         Check for NULL ifa_addr and ifa_netmask. Adapted from a diff from
8316         Quest Software.
8317         [73de36653131]
8318
8319         * sudoers.pod:
8320         Ignore files ending in '~' in sudo.d (emacs backup files)
8321         [7871fad702db]
8322
8323         * toke.c, toke.l:
8324         Ignore files ending in '~' in sudo.d (emacs backup files)
8325         [53fded2a469f]
8326
8327 2009-04-18  Todd C. Miller  <Todd.Miller@courtesan.com>
8328
8329         * sudoers.cat, sudoers.man.in, sudoers.pod, toke.c, toke.l:
8330         For #includedir, ignore any file containing a dot
8331         [a7daa1bce6c2]
8332
8333         * Makefile.in, version.h:
8334         Bump version
8335         [ef60f14ffc44]
8336
8337         * gram.c, gram.y, parse.c, parse.h, sudo.c, sudo.h, sudoers.cat,
8338         sudoers.man.in, sudoers.pod, testsudoers.c, toke.c, toke.l,
8339         visudo.c:
8340         Implement #includedir directive. Files in an includedir are not
8341         edited by visudo unless they contain a syntax error.
8342         [3923d85a6c79]
8343
8344         * ChangeLog:
8345         sync
8346         [8741ed61a78b] [SUDO_1_7_1]
8347
8348         * WHATSNEW:
8349         Forgot umask_override
8350         [7c86a21a5504]
8351
8352         * ChangeLog, TODO:
8353         sync
8354         [57339ca6bccf]
8355
8356 2009-04-16  Todd C. Miller  <Todd.Miller@courtesan.com>
8357
8358         * visudo.c:
8359         Rewind stream if we fdopen sudoers since it may not be at the
8360         beginning. Set the keepopen flag on already-open files too so the
8361         lexer doesn't close them out from under us.
8362         [61292d819aff]
8363
8364         * visudo.c:
8365         Print the proper file name when there is a parse error in an include
8366         file.
8367         [b0e85d4aedde]
8368
8369 2009-04-11  Todd C. Miller  <Todd.Miller@courtesan.com>
8370
8371         * WHATSNEW:
8372         Sync
8373         [997e5d485ea3]
8374
8375 2009-04-10  Todd C. Miller  <Todd.Miller@courtesan.com>
8376
8377         * configure, configure.in:
8378         Fix a warning when --without-ldap is specified.
8379         [d91fd9481b30]
8380
8381 2009-04-05  Todd C. Miller  <Todd.Miller@courtesan.com>
8382
8383         * alias.c, parse.h, visudo.c:
8384         Store aliases that we remove during check_aliases in a freelist and
8385         free them at the end so we don't leak memory.
8386         [805e2272f6a3]
8387
8388 2009-03-28  Todd C. Miller  <Todd.Miller@courtesan.com>
8389
8390         * visudo.c:
8391         Check aliases in -c mode too.
8392         [9199e188d9f2]
8393
8394         * alias.c, parse.h, visudo.c:
8395         Make alias_remove return the alias struct instead of freeing it
8396         directly. Fixes a use after free in alias_remove_recursive, the only
8397         consumer.
8398         [a04b61804800]
8399
8400         * alias.c, match.c, parse.c, parse.h, visudo.c:
8401         Rename find_alias -> alias_find for consistency.
8402         [48b0a82924f3]
8403
8404 2009-03-27  Todd C. Miller  <Todd.Miller@courtesan.com>
8405
8406         * visudo.c:
8407         When checking for unused aliases, recurse if the alias points to
8408         another alias.
8409         [2d4d1a7f3a41]
8410
8411 2009-03-16  Todd C. Miller  <Todd.Miller@courtesan.com>
8412
8413         * ldap.c:
8414         Back out rev 1.105 for now. Real ldapux_client.conf support will be
8415         done later after some refactoring.
8416         [8ad72e69b277]
8417
8418 2009-03-14  Todd C. Miller  <Todd.Miller@courtesan.com>
8419
8420         * ldap.c:
8421         Treat ldap_hostport the same as "host" for ldapux.
8422         [3281dcc66da8]
8423
8424         * configure, configure.in:
8425         Only check for ldap_sasl_interactive_bind_s if we can find sasl.h.
8426         Fixes compilation with ldapux.
8427         [ca1ed585ef0e]
8428
8429 2009-03-12  Todd C. Miller  <Todd.Miller@courtesan.com>
8430
8431         * fileops.c:
8432         fix char subscript
8433         [41e51f080d00]
8434
8435 2009-03-11  Todd C. Miller  <Todd.Miller@courtesan.com>
8436
8437         * Makefile.in:
8438         remove errant carriage returns
8439         [e9e258a31c7b]
8440
8441         * audit.c, env.c:
8442         fix K&R compilation
8443         [d182e8920f13]
8444
8445         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.ldap.cat,
8446         sudoers.ldap.man.in, sudoers.man.in, visudo.cat, visudo.man.in:
8447         regen
8448         [791a5cbf04e5]
8449
8450 2009-03-10  Todd C. Miller  <Todd.Miller@courtesan.com>
8451
8452         * config.h.in:
8453         Add missing HAVE_BSM_AUDIT
8454         [49ad1bb96f04]
8455
8456         * WHATSNEW:
8457         Add 1.7.1 features
8458         [f107f1604c61]
8459
8460         * INSTALL:
8461         Mention --with-netsvc
8462         [d1e90d147795]
8463
8464         * sudoers.ldap.pod:
8465         Document netsvc.conf support
8466         [e78f8abce6af]
8467
8468         * configure, configure.in, pathnames.h.in, sudo.c, sudo_nss.c,
8469         sudo_nss.h:
8470         Add support for AIX netsvc.conf (like nsswitch.conf).
8471         [1df56a84dee5]
8472
8473 2009-03-08  Todd C. Miller  <Todd.Miller@courtesan.com>
8474
8475         * config.h.in, configure, configure.in, env.c:
8476         Add --enable-env-debug flag to enable environment sanity checks.
8477         [128cdd8832e7]
8478
8479         * sudoers.ldap.pod, sudoers.pod:
8480         Work around some pod2html issue.
8481         [e733b9609bd2]
8482
8483 2009-03-07  Todd C. Miller  <Todd.Miller@courtesan.com>
8484
8485         * env.c:
8486         Only sync environ for putenv, setenv, and unsetenv. We need to make
8487         sure that sudo_putenv and sudo_setenv only modify env.envp, not
8488         environ.
8489         [be3ac732243c]
8490
8491 2009-03-02  Todd C. Miller  <Todd.Miller@courtesan.com>
8492
8493         * env.c:
8494         Really fix UNSETENV_VOID
8495         [08ab7e882507]
8496
8497         * env.c:
8498         Fix unsetenv when UNSETENV_VOID
8499         [d3038b3f2f15]
8500
8501         * aclocal.m4, configure:
8502         Fix SUDO_FUNC_PUTENV_CONST
8503         [de35569c572b]
8504
8505         * ldap.c:
8506         tivoli-based ldap does not have ldapssl_err2string
8507         [c63fd90d5e99]
8508
8509         * configure:
8510         regen
8511         [f38f1ee828ad]
8512
8513 2009-03-01  Todd C. Miller  <Todd.Miller@courtesan.com>
8514
8515         * config.h.in, configure, configure.in, ldap.c:
8516         Add support for Tivoli-based LDAP start TLS as seen in AIX.
8517         Untested.
8518         [8f8771829f85]
8519
8520         * env.c:
8521         Add sanity checks for setenv/unsetenv
8522         [adbd1d95856b]
8523
8524         * Makefile.in:
8525         Include bsm_audit.h in the tarball
8526         [4a4aa02b2c32]
8527
8528         * Makefile.in, version.h:
8529         bump version for sudo 1.7.1
8530         [362c71d21595]
8531
8532         * aclocal.m4, auth/aix_auth.c, config.h.in, configure, configure.in,
8533         env.c, ldap.c, sudo.h:
8534         Replace sudo_setenv/sudo_unsetenv with calls to setenv/unsetenv and
8535         provide our own setenv/unsetenv/putenv that operates on own env
8536         pointer. Make sync_env() inline in setenv/unsetenv/putenv functions.
8537         [276edcd23032]
8538
8539 2009-02-25  Todd C. Miller  <Todd.Miller@courtesan.com>
8540
8541         * sudo.c:
8542         Make "sudoedit -h" work as expected
8543         [2bcbbb45d389]
8544
8545         * auth/pam.c:
8546         Make sure def_prompt is always defined. This is a workaround for
8547         pam configs that prompt for a password in the session but don't have
8548         an auth line. A better fix is to expand the sudo prompt earlier and
8549         set def_prompt to that when initializing.
8550         [ee073c04aec3]
8551
8552         * sudo.pod:
8553         Mention that the helper for -A may be graphical.
8554         [b64a940c4082]
8555
8556         * TROUBLESHOOTING:
8557         Document what happens if there is no tty.
8558         [313d58a856a5]
8559
8560         * sudo.c:
8561         cosmetic changes
8562         [894f5e3b0c3e]
8563
8564         * term.c:
8565         Fix term_restore
8566         [6c6315ff14bc]
8567
8568         * sudo.c:
8569         Fix "sudo -k" with no other args
8570         [59e94dc419c6]
8571
8572 2009-02-24  Todd C. Miller  <Todd.Miller@courtesan.com>
8573
8574         * check.c, sudo.c, sudo.pod, sudo_usage.h.in:
8575         Allow the -k flag to be specified in conjunction with a command or
8576         another option that may require authentication.
8577         [5960ff20355d]
8578
8579 2009-02-23  Todd C. Miller  <Todd.Miller@courtesan.com>
8580
8581         * configure, configure.in:
8582         Remove unneeded AC_CANONICAL_TARGET; from Diego E. 'Flameeyes'
8583         [e86ab69c4a57]
8584
8585         * Makefile.in:
8586         Parallel make fix. From Diego E. 'Flameeyes'
8587         [1289d7ee27db]
8588
8589 2009-02-21  Todd C. Miller  <Todd.Miller@courtesan.com>
8590
8591         * def_data.c, def_data.h, def_data.in, sudo.c, sudoers.pod:
8592         Implement umask_override
8593         [8b87a3f7c5aa]
8594
8595         * toke.c:
8596         regen
8597         [79d7ca9ac873]
8598
8599         * sudoers.pod, toke.l, visudo.c:
8600         Implement %h escape in sudoers include filenames.
8601         [a7f288dd64f0]
8602
8603         * audit.c:
8604         Need to include compat.h
8605         [c0dc07ce2f70]
8606
8607         * Makefile.in, audit.c, bsm_audit.c, bsm_audit.h, logging.h, sudo.c:
8608         Make audit_success and audit_failure generic functions in
8609         preparation for integrating linux audit support.
8610         [7df020a8fd6f]
8611
8612         * term.c:
8613         remove duplicate include
8614         [1dfcd01a7e46]
8615
8616 2009-02-20  Todd C. Miller  <Todd.Miller@courtesan.com>
8617
8618         * bsm_audit.c:
8619         Add missing include
8620         [fb56e08c37ee]
8621
8622         * sudo.c:
8623         May need to update the runas user after parsing command-based
8624         defaults.
8625         [246f130d7802]
8626
8627 2009-02-18  Todd C. Miller  <Todd.Miller@courtesan.com>
8628
8629         * glob.c:
8630         Add missing pair of braces introduced with character class support.
8631         [0e2afa2e03e9]
8632
8633 2009-02-15  Todd C. Miller  <Todd.Miller@courtesan.com>
8634
8635         * def_data.c, def_data.h, def_data.in, sudoers.pod, tgetpass.c:
8636         Rename pwstars to pwfeedback
8637         [a9f85a57ebac]
8638
8639 2009-02-11  Todd C. Miller  <Todd.Miller@courtesan.com>
8640
8641         * bsm_audit.c, bsm_audit.h:
8642         Add const to make MacOS happy.
8643         [4274432d6627]
8644
8645         * Makefile.in, auth/sudo_auth.c, bsm_audit.c, bsm_audit.h, configure,
8646         configure.in, sudo.c:
8647         Add bsm audit support from Christian S.J. Peron
8648         [bef61cd8693d]
8649
8650         * term.c:
8651         This is new code, no DARPA notice.
8652         [ec6ad09b9c23]
8653
8654 2009-02-10  Todd C. Miller  <Todd.Miller@courtesan.com>
8655
8656         * def_data.c, def_data.h, def_data.in, match.c, sudoers.pod:
8657         Rename simple_glob -> fast_glob
8658         [68d9ed803cc1]
8659
8660         * match.c:
8661         g/c unused var
8662         [693fa0464eb6]
8663
8664         * def_data.c, def_data.h, def_data.in, match.c, sudoers.pod:
8665         Add simple_glob option to use fnmatch() instead of glob(). This is
8666         useful when you need to specify patterns that reference network file
8667         systems.
8668         [77ba634f6949]
8669
8670         * tgetpass.c:
8671         add term_* proto
8672         [520f5149d073]
8673
8674         * sudoers.pod:
8675         mention glob()
8676         [ddaab8e03c52]
8677
8678 2009-02-09  Todd C. Miller  <Todd.Miller@courtesan.com>
8679
8680         * tgetpass.c:
8681         Delete any pwstars we wrote after the user hits return. That way
8682         there is no record on screen as to the user's password length.
8683         [fae25cda762b]
8684
8685 2009-02-08  Todd C. Miller  <Todd.Miller@courtesan.com>
8686
8687         * term.c:
8688         Move terminal setting bits from tgetpass.c to term.c
8689         [03d43325ee99]
8690
8691         * Makefile.in, def_data.c, def_data.h, def_data.in, sudoers.pod,
8692         tgetpass.c:
8693         Add pwstars sudoers option that causes sudo to print a star every
8694         time the user presses a key.
8695         [7aab417e184d]
8696
8697 2009-02-03  Todd C. Miller  <Todd.Miller@courtesan.com>
8698
8699         * Makefile.in:
8700         Fix up F<> brokenness for visudo.man.in and sudoers.ldap.man.in.
8701         [64f70e879816]
8702
8703 2009-01-27  Todd C. Miller  <Todd.Miller@courtesan.com>
8704
8705         * ldap.c:
8706         For ldap_search_ext_s() the sizelimit param should be 0, not -1, to
8707         indicate no limit. From Mark Janssen.
8708         [e2c5732d54f5]
8709
8710 2009-01-17  Todd C. Miller  <Todd.Miller@courtesan.com>
8711
8712         * toke.c, toke.l:
8713         Comments that begin with #- should not be parsed as uids.
8714         [a72a50f12f41]
8715
8716 2009-01-09  Todd C. Miller  <Todd.Miller@courtesan.com>
8717
8718         * sudo.c:
8719         Do not try to set the close on exec flag if we didn't actually open
8720         sudoers.
8721         [ece3ca256904]
8722
8723 2008-12-19  Todd C. Miller  <Todd.Miller@courtesan.com>
8724
8725         * ChangeLog:
8726         regen
8727         [e11f0e4c1bdd] [SUDO_1_7_0]
8728
8729 2008-12-14  Todd C. Miller  <Todd.Miller@courtesan.com>
8730
8731         * TODO:
8732         sync
8733         [5b8954462bb3]
8734
8735 2008-12-09  Todd C. Miller  <Todd.Miller@courtesan.com>
8736
8737         * auth/pam.c:
8738         Return PAM_AUTH_ERR instead of PAM_CONV_ERR if user enters ^C at the
8739         password prompt.
8740         [8563601cb3de]
8741
8742         * configure, configure.in:
8743         Don't try to build sudo_noexec.so on HP-UX with the bundled compiler
8744         as it cannot generate shared objects.
8745         [6d4262ef9669]
8746
8747         * emul/charclass.h, glob.c, lbuf.c, tgetpass.c:
8748         K&R compilation fixes
8749         [77921678d17c]
8750
8751         * parse.c:
8752         Use tq_foreach_fwd when checking pseudo-commands to make it clear
8753         that we are not short-circuiting on last match. When pwcheck is
8754         'all', initialize nopass to TRUE and override it with the first non-
8755         TRUE entry.
8756         [96b209f4778f]
8757
8758 2008-12-08  Todd C. Miller  <Todd.Miller@courtesan.com>
8759
8760         * parse.c:
8761         Do not short circuit pseudo commands when we get a match since,
8762         depending on the settings, we may need to examine all commands for
8763         tags.
8764         [fdbaf89d6f35]
8765
8766 2008-12-03  Todd C. Miller  <Todd.Miller@courtesan.com>
8767
8768         * sudoers.cat, sudoers.man.in:
8769         regen
8770         [1ecce7c1b841]
8771
8772         * sudoers.pod:
8773         hostnames may also contain wildcards
8774         [82b76695601c]
8775
8776         * Makefile.in:
8777         remove stamp-* files and linux core files in clean target
8778         [22003f091467]
8779
8780 2008-12-02  Todd C. Miller  <Todd.Miller@courtesan.com>
8781
8782         * auth/sudo_auth.h, config.h.in, configure, configure.in:
8783         Use HAVE_SIA_SES_INIT instead of HAVE_SIA for Digital UNIX
8784         [6905bede8410]
8785
8786 2008-11-26  Todd C. Miller  <Todd.Miller@courtesan.com>
8787
8788         * configure, configure.in:
8789         correctly enable SIA on Digital UNIX
8790         [a51881d13995]
8791
8792         * TODO:
8793         checkpoint
8794         [af0fe8d94d42]
8795
8796         * ChangeLog:
8797         sync
8798         [831f623cf99c]
8799
8800 2008-11-25  Todd C. Miller  <Todd.Miller@courtesan.com>
8801
8802         * check.c, sudo.h, tgetpass.c:
8803         Even if neither stdin nor stdout are ttys we may still have /dev/tty
8804         available to us.
8805         [20f306ba883b]
8806
8807 2008-11-24  Todd C. Miller  <Todd.Miller@courtesan.com>
8808
8809         * sudoers.cat, sudoers.man.in:
8810         regen
8811         [76d97c4c318f]
8812
8813         * sudoers.pod:
8814         fix typos; Markus Lude
8815         [bff8bc1e2066]
8816
8817         * ChangeLog:
8818         sync
8819         [f108552531cd]
8820
8821         * toke.c:
8822         regen
8823         [de828413c67e]
8824
8825         * toke.l:
8826         Fix matching of a line that only consists of a comment char
8827         [09c953d8d5ca]
8828
8829 2008-11-22  Todd C. Miller  <Todd.Miller@courtesan.com>
8830
8831         * auth/pam.c:
8832         MacOS pam will retry conversation function if it fails so just treat
8833         ^C as an empty password.
8834         [d056058930bc]
8835
8836         * visudo.c:
8837         When checking for alias use, also check defaults bindings.
8838         [2647f82c7dbd]
8839
8840         * redblack.c:
8841         unused var
8842         [b7ff71c17c18]
8843
8844         * redblack.c:
8845         Replace my rbdelete with Emin's version (which actually works ;-)
8846         [21b133dd0c72]
8847
8848 2008-11-19  Todd C. Miller  <Todd.Miller@courtesan.com>
8849
8850         * testsudoers.c:
8851         malloc debugging
8852         [0fb446fa3279]
8853
8854         * visudo.c:
8855         malloc options in devel mode for visudo too
8856         [98d06c6afeef]
8857
8858 2008-11-18  Todd C. Miller  <Todd.Miller@courtesan.com>
8859
8860         * sudo.c:
8861         fix compilation on non-C99; from Theo
8862         [7c304e16c536]
8863
8864         * visudo.c:
8865         fix check_aliases
8866         [83f30a3b1765]
8867
8868         * alias.c:
8869         when destroying an alias, free the correct data pointer
8870         [6e1a8bd86c01]
8871
8872         * auth/sudo_auth.h:
8873         add proto for aixauth_cleanup; from Dale King
8874         [eba94ffc8f63]
8875
8876 2008-11-15  Todd C. Miller  <Todd.Miller@courtesan.com>
8877
8878         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in, visudo.cat,
8879         visudo.man.in:
8880         regen
8881         [409fa57fff83]
8882
8883         * sudo.pod, sudoers.pod, visudo.pod:
8884         standardize on the term 'option' for command line options (not flag)
8885         [228caefc2e36]
8886
8887 2008-11-14  Todd C. Miller  <Todd.Miller@courtesan.com>
8888
8889         * INSTALL:
8890         Add note on configuring HP-UX pam
8891         [f7674a581baf]
8892
8893 2008-11-11  Todd C. Miller  <Todd.Miller@courtesan.com>
8894
8895         * check.c, sudo.c:
8896         Move tty checks into check_user() so we only do them if we actually
8897         need a password.
8898         [7d997d7106d6]
8899
8900         * sudo.c:
8901         Don't error out if no tty or askpass unless we actually need to
8902         authenticate.
8903         [9f23b83ed66c]
8904
8905 2008-11-10  Todd C. Miller  <Todd.Miller@courtesan.com>
8906
8907         * ChangeLog:
8908         regen
8909         [23f9aef32da6]
8910
8911         * pathnames.h.in, sudo.c:
8912         s/overriden/overridden/; from Tobias Stoeckmann
8913         [9f7459a8fac5]
8914
8915 2008-11-09  Todd C. Miller  <Todd.Miller@courtesan.com>
8916
8917         * WHATSNEW, visudo.c:
8918         check sudoers owner and mode in strict mode
8919         [a3468c5ac1c4]
8920
8921         * gram.c, toke.c:
8922         regen
8923         [7d6b515a5443]
8924
8925         * sudo.man.in, sudoers.man.in, visudo.man.in:
8926         Update copyright years.
8927         [52d340cb8cba]
8928
8929         * LICENSE, alias.c, alloc.c, auth/afs.c, auth/aix_auth.c,
8930         auth/bsdauth.c, auth/fwtk.c, auth/kerb4.c, auth/kerb5.c, auth/pam.c,
8931         auth/securid.c, auth/securid5.c, auth/sia.c, auth/sudo_auth.h,
8932         closefrom.c, compat.h, defaults.c, defaults.h, env.c, fileops.c,
8933         gettime.c, gram.y, ins_csops.h, insults.h, interfaces.c,
8934         interfaces.h, lbuf.c, license.pod, list.c, logging.c, logging.h,
8935         parse.c, parse.h, pwutil.c, redblack.c, redblack.h, snprintf.c,
8936         sudo.c, sudo.pod, sudo_edit.c, sudo_nss.h, sudoers.pod,
8937         testsudoers.c, toke.l, tsgetgrpw.c, utimes.c, version.h, visudo.c,
8938         visudo.pod, zero_bytes.c:
8939         Update copyright years.
8940         [b4e6bf2beafa]
8941
8942         * emul/charclass.h, fnmatch.c, glob.c:
8943         add my copyright
8944         [28681385014a]
8945
8946 2008-11-08  Todd C. Miller  <Todd.Miller@courtesan.com>
8947
8948         * toke.c, toke.l:
8949         The loop in fill_cmnd() was going one byte too far past the end,
8950         resulting in a NUL being written immediately after the buffer end.
8951         [a5a49d603cd7]
8952
8953         * UPGRADE, WHATSNEW:
8954         add sections on tgetpass changes
8955         [2e6929b6a102]
8956
8957         * tgetpass.c:
8958         Treat EOF w/o newline as an error.
8959         [aa02b1db9240]
8960
8961 2008-11-07  Todd C. Miller  <Todd.Miller@courtesan.com>
8962
8963         * parse.c:
8964         Fix "sudo -v" when NOPASSWD is set.
8965         [f4914711ea80]
8966
8967         * auth/bsdauth.c, auth/fwtk.c, auth/pam.c, auth/sudo_auth.c,
8968         auth/sudo_auth.h:
8969         No longer treat an empty password at the prompt as special. To quit
8970         out of sudo you now need to hit ^C at the password prompt.
8971         [980f760ad419]
8972
8973         * sudoers.cat, sudoers.man.in:
8974         regen
8975         [6ca21a2cd869]
8976
8977         * def_data.c, def_data.h, def_data.in, sudo.c, sudoers.pod:
8978         Sudo will now refuse to run if no tty is present unless the new
8979         visiblepw sudoers flag is set.
8980         [0cc56943252e]
8981
8982 2008-11-06  Todd C. Miller  <Todd.Miller@courtesan.com>
8983
8984         * aix.c:
8985         just use RLIM_INFINITY for RLIM_SAVED_MAX if RLIM_SAVED_MAX not
8986         defined
8987         [24fc6f712d5c]
8988
8989         * aix.c:
8990         fix fallback value for RLIM_SAVED_MAX
8991         [e09e04e1af89]
8992
8993         * auth/aix_auth.c, auth/sudo_auth.h:
8994         Move clearing of AUTHSTATE into aixauth_cleanup.
8995         [e14ae7bd259c]
8996
8997         * auth/aix_auth.c, env.c:
8998         Unset AUTHSTATE after calling authenticate() as it may not be
8999         correct for the user we are running the command as.
9000         [d14f68f1b0ab]
9001
9002         * isblank.c:
9003         Add isblank() function for systems without it. Needed for POSIX
9004         character class matching in fnmatch.c and glob.c.
9005         [16cba30b283f]
9006
9007 2008-11-05  Todd C. Miller  <Todd.Miller@courtesan.com>
9008
9009         * TROUBLESHOOTING:
9010         expound on sudo and cd
9011         [8e0fa9033637]
9012
9013 2008-11-04  Todd C. Miller  <Todd.Miller@courtesan.com>
9014
9015         * ChangeLog:
9016         regen
9017         [40cf320a10fc]
9018
9019         * sudoers.cat, sudoers.man.in:
9020         regen
9021         [7cac761ae2c6]
9022
9023         * sudoers.pod:
9024         mention defauts parse order
9025         [4e2ce86d1394]
9026
9027 2008-11-03  Todd C. Miller  <Todd.Miller@courtesan.com>
9028
9029         * Makefile.in, aclocal.m4, compat.h, configure:
9030         Add isblank() function for systems without it. Needed for POSIX
9031         character class matching in fnmatch.c and glob.c.
9032         [a1ab55da8424]
9033
9034         * Makefile.in:
9035         add emul/charclass.h to HDRS
9036         [7e8a019dcaa4]
9037
9038 2008-11-02  Todd C. Miller  <Todd.Miller@courtesan.com>
9039
9040         * TODO:
9041         checkpoint
9042         [afeb9bc1baed]
9043
9044         * defaults.c, parse.c, testsudoers.c, visudo.c:
9045         Move update_defaults into defaults.c and call it properly from
9046         visudo and testsudoers.
9047         [f4dbb369461f]
9048
9049         * defaults.c, interfaces.c, pwutil.c, sudo.c, sudo_edit.c, tgetpass.c,
9050         tsgetgrpw.c:
9051         use zero_bytes() instead of memset() for consistency
9052         [4cee0465f4a8]
9053
9054         * logging.c, mon_systrace.c, parse.c, sudo.c, sudo_edit.c, tgetpass.c,
9055         visudo.c:
9056         Zero out sigaction_t before use in case it has non-standard entries.
9057         [120092225459]
9058
9059         * match.c:
9060         quiet gcc
9061         [098a1df49b23]
9062
9063         * match.c:
9064         Short circuit glob() checks if basename(pattern) !=
9065         basename(command). Refactor code that checks for a command in a
9066         directory and use it in the glob case if the resolved pattern ends
9067         in a '/'.
9068         [3c46fd317acb]
9069
9070 2008-11-01  Todd C. Miller  <Todd.Miller@courtesan.com>
9071
9072         * defaults.h, parse.c, sudo.c, testsudoers.c, visudo.c:
9073         Defer setting runas defaults until after runaspw/gr is setup.
9074         [12e75ee49c0c]
9075
9076 2008-10-29  Todd C. Miller  <Todd.Miller@courtesan.com>
9077
9078         * match.c, sudo.c, testsudoers.c:
9079         Use MAXHOSTNAMELEN+1 when allocating host/domain name since some
9080         systems do not include space for the NUL in the size. Also manually
9081         NUL-terminate buffer from gethostname() since POSIX is wishy-washy
9082         on this.
9083         [7266ab3296a3]
9084
9085 2008-10-26  Todd C. Miller  <Todd.Miller@courtesan.com>
9086
9087         * sudo.c, sudoers.pod:
9088         When setting the umask, use the union of the user's umask and the
9089         default value set in sudoers so that we never lower the user's umask
9090         when running a command.
9091         [4e804b004e38]
9092
9093         * sudo.c:
9094         Don't try to read from a zero-length sudoers file. Remove the bogus
9095         Solaris work-around for EAGAIN. Since we now use fgetc() it should
9096         not be a problem.
9097         [bb8e5f68d944]
9098
9099 2008-10-25  Todd C. Miller  <Todd.Miller@courtesan.com>
9100
9101         * parse.c:
9102         In update_defaults() check the return value of user*_matches against
9103         ALLOW so we don't inadvertantly match on UNSPEC.
9104         [4e422fa1527e]
9105
9106 2008-10-24  Todd C. Miller  <Todd.Miller@courtesan.com>
9107
9108         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.ldap.cat,
9109         sudoers.ldap.man.in, sudoers.man.in, visudo.cat, visudo.man.in:
9110         regen man pages; no more hyphenation
9111         [15de4fe2fe01]
9112
9113         * sudo.c:
9114         Don't error out on a zero-length sudoers file. With the advent of
9115         #include the user could create a situation where sudo is unusable.
9116         [6eb461319fa5]
9117
9118 2008-10-23  Todd C. Miller  <Todd.Miller@courtesan.com>
9119
9120         * auth/kerb5.c, config.h.in, configure, configure.in:
9121         Newer heimdal has 2-argument krb5_get_init_creds_opt_free() like MIT
9122         krb5. Really old heimdal has no krb5_get_init_creds_opt_alloc() at
9123         all. Add configure tests to handle all the cases.
9124         [4b554a98470d]
9125
9126 2008-10-08  Todd C. Miller  <Todd.Miller@courtesan.com>
9127
9128         * sudo.pod:
9129         resort ENVIRONMENT
9130         [f4f20f40653e]
9131
9132         * sudoers.pod:
9133         document sudoers_locale
9134         [0bffd2dbe806]
9135
9136         * sudo.pod, sudo_edit.c:
9137         add SUDO_EDITOR variable that sudoedit uses in preference to VISUAL
9138         or EDITOR
9139         [0ef8cb248cee]
9140
9141         * toke.c, toke.l:
9142         In fill_cmnd(), collapse any escaped sudo-specific characters.
9143         Allows character classes to be used in pathnames.
9144         [5685244c8e44]
9145
9146 2008-10-03  Todd C. Miller  <Todd.Miller@courtesan.com>
9147
9148         * lbuf.c:
9149         fix typo in non-C89 function declaration
9150         [99a7113b3a05]
9151
9152         * sudoers.pod:
9153         Mention POSIX characters classes now that out fnmatch() and glob()
9154         support them.
9155         [9c916f1230c3]
9156
9157         * sample.sudoers, sudoers.pod:
9158         Replace [A-z] (which won't match in UTF8) with [A-Za-z] which is
9159         locale agnostic.
9160         [a60a62bec244]
9161
9162         * parse.h:
9163         use __signed char if we are going to assign a negative value since
9164         on Power, char is unsigned by default
9165         [2877b319df17]
9166
9167         * config.h.in, configure, configure.in:
9168         Add tests for __signed char and signed char.
9169         [5eb874fdf1d4]
9170
9171         * aix.c:
9172         Fix AIX limit setting. getuserattr() returns values in disk blocks
9173         rather than bytes. The default hard stack size in newer AIX is
9174         RLIM_SAVED_MAX. From Dale King.
9175         [3db67415ecc3]
9176
9177 2008-09-26  Todd C. Miller  <Todd.Miller@courtesan.com>
9178
9179         * emul/charclass.h, fnmatch.c, glob.c:
9180         Add character class support to included glob(3) and fnmatch(3).
9181         [6b5b4ad77899]
9182
9183 2008-09-16  Todd C. Miller  <Todd.Miller@courtesan.com>
9184
9185         * emul/fnmatch.h:
9186         Remove UCB advertising clause and some compatibility defines.
9187         [2ade7bee74e1]
9188
9189 2008-09-14  Todd C. Miller  <Todd.Miller@courtesan.com>
9190
9191         * sudo_edit.c:
9192         Check EDITOR/VISUAL to make sure sudoedit is not re-invoking itself
9193         or sudo. This allows one to set EDITOR to sudoedit without getting
9194         into an infinite loop of sudoedit running itself until the path gets
9195         too big.
9196         [aa49ab68f82d]
9197
9198         * def_data.c, def_data.h, def_data.in, defaults.c, sudo.c:
9199         Add sudoers_locale Defaults option to override the default sudoers
9200         locale of "C".
9201         [0639886a35bf]
9202
9203 2008-09-13  Todd C. Miller  <Todd.Miller@courtesan.com>
9204
9205         * sudo.c:
9206         Set locale to system default except for during sudoers parse.
9207         [016dd2736728]
9208
9209 2008-09-12  Todd C. Miller  <Todd.Miller@courtesan.com>
9210
9211         * match.c:
9212         Redo change in 1.34 to use pointer arithmetic.
9213         [f9e7b63bb450]
9214
9215 2008-09-11  Todd C. Miller  <Todd.Miller@courtesan.com>
9216
9217         * match.c:
9218         Fix a dereference (read) of a freed pointer. Reported by Patrick
9219         Williams.
9220         [69877b633753]
9221
9222 2008-08-23  Todd C. Miller  <Todd.Miller@courtesan.com>
9223
9224         * sudo.c:
9225         Set locale to "C" to avoid interpretation issues with character
9226         ranges in sudoers. May want to make the locale a sudoers option in
9227         the future.
9228         [098a95de1746]
9229
9230 2008-08-20  Todd C. Miller  <Todd.Miller@courtesan.com>
9231
9232         * config.h.in:
9233         we no longer use setproctitle
9234         [c7f20fb747ea]
9235
9236         * sudo.h:
9237         remove #if 1
9238         [a368ee6816c6]
9239
9240         * LICENSE, mkstemp.c:
9241         Use my replacement mkstemp() from the mktemp package.
9242         [d07c2beb0f9e]
9243
9244 2008-07-12  Todd C. Miller  <Todd.Miller@courtesan.com>
9245
9246         * gram.c:
9247         regen with yacc skeleton bug fixed
9248         [24784571cbb8]
9249
9250         * sudoers.pod:
9251         Remove duplicate "as root". From Martin Toft.
9252         [97241acfee5e]
9253
9254 2008-07-02  Todd C. Miller  <Todd.Miller@courtesan.com>
9255
9256         * pwutil.c, sudo.c, sudo.h, testsudoers.c:
9257         Flesh out the fake passwd entry used for running commands as a uid
9258         not listed in the passwd database. Fixes an issue with some PAM
9259         modules.
9260         [a6648227f3f2]
9261
9262 2008-07-01  Todd C. Miller  <Todd.Miller@courtesan.com>
9263
9264         * sudo.c:
9265         Error out in -i mode if the user has no shell. This can happen when
9266         running commands as a uid with no password entry.
9267         [0c174bef36ff]
9268
9269 2008-06-26  Todd C. Miller  <Todd.Miller@courtesan.com>
9270
9271         * toke.c, toke.l:
9272         Better fix for line continuation inside double quotes. Now accepts
9273         whitespace between the backslash and the newline like the main
9274         lexer.
9275         [64efcdf86d31]
9276
9277 2008-06-25  Todd C. Miller  <Todd.Miller@courtesan.com>
9278
9279         * toke.c, toke.l:
9280         Fix line continuation in strings. It was only being honored if
9281         preceded by whitespace.
9282         [96c21271a3e4]
9283
9284 2008-06-22  Todd C. Miller  <Todd.Miller@courtesan.com>
9285
9286         * config.h.in, configure, configure.in, logging.c:
9287         Replace the double fork with a fork + daemonize.
9288         [328505441e67]
9289
9290 2008-06-21  Todd C. Miller  <Todd.Miller@courtesan.com>
9291
9292         * env.c, sudo.c:
9293         The -i flag should imply env_reset. This got broken in sudo 1.6.9.
9294         [3caedfeaec87]
9295
9296         * logging.c, sudo.c, sudo_edit.c, visudo.c:
9297         Change how the mailer is waited for. Instead of having a SIGCHLD
9298         handler, use the double fork trick to orphan the child that opens
9299         the pipe to sendmail. Fixes a problem running su on some Linux
9300         distros.
9301         [b59ce60a393d]
9302
9303 2008-06-20  Todd C. Miller  <Todd.Miller@courtesan.com>
9304
9305         * configure, configure.in:
9306         Fix configure test for dirfd() on Linux where DIR is opaque.
9307         [b8f729cdfecc]
9308
9309 2008-06-17  Todd C. Miller  <Todd.Miller@courtesan.com>
9310
9311         * tgetpass.c:
9312         Get rid of the QNX TCSAFLUSH -> TCSADRAIN hack. If QNX still has
9313         this problem we'll need to revisit this again.
9314         [c17fee8ad530]
9315
9316 2008-06-11  Todd C. Miller  <Todd.Miller@courtesan.com>
9317
9318         * logging.c:
9319         Ignore SIGPIPE instead of blocking it when piping to the mailer. If
9320         we only block the signal it may be delivered later when we unblock.
9321         Also, there is no need to block SIGCHLD since we no longer do the
9322         double fork. The normal SIGCHLD handler is sufficient.
9323         [e94a49e992e5]
9324
9325 2008-06-08  Todd C. Miller  <Todd.Miller@courtesan.com>
9326
9327         * configure, configure.in:
9328         Add description for NO_PAM_SESSION, from a redhat patch.
9329         [b9e4c939ec09]
9330
9331 2008-06-06  Todd C. Miller  <Todd.Miller@courtesan.com>
9332
9333         * sudo.cat, sudo.man.in, sudo.pod:
9334         Fix typos in -i usage
9335         [2d7ce5de0235]
9336
9337 2008-05-18  Todd C. Miller  <Todd.Miller@courtesan.com>
9338
9339         * configure, configure.in:
9340         Redo the test for dgettext() in a way that hopefully will work
9341         around the libintl_dgettext() undefined problem.
9342         [d27beb0cf85e]
9343
9344 2008-05-11  Todd C. Miller  <Todd.Miller@courtesan.com>
9345
9346         * schema.ActiveDirectory:
9347         change filename in comment
9348         [733da4ee9ac5]
9349
9350 2008-05-10  Todd C. Miller  <Todd.Miller@courtesan.com>
9351
9352         * Makefile.in, README.LDAP, sudoers.ldap.cat, sudoers.ldap.man.in,
9353         sudoers.ldap.pod:
9354         Reference schema.ActiveDirectory
9355         [d6aec537800e]
9356
9357 2008-05-09  Todd C. Miller  <Todd.Miller@courtesan.com>
9358
9359         * schema.OpenLDAP, schema.iPlanet:
9360         Mark sudoRunAs as deprecated.
9361         [00c50df807af]
9362
9363         * schema.ActiveDirectory:
9364         add sudoRunAsUser and sudoRunAsGroup
9365         [19bcce6f72fb]
9366
9367         * schema.ActiveDirectory:
9368         Active Directory schema by Chantal Paradis and Eric Paquet
9369         [06a09c92c6a5]
9370
9371 2008-05-08  Todd C. Miller  <Todd.Miller@courtesan.com>
9372
9373         * parse.c:
9374         remove an XXX that was fixed
9375         [b88038062fa2]
9376
9377         * ChangeLog:
9378         sync
9379         [8fc27c17270e]
9380
9381         * parse.c:
9382         Initialize tags to UNSPEC instead of def_* in "sudo -l" mode. This
9383         fixes a problem where the tag value printed was influenced by
9384         defaults set in the first pass through the parser.
9385         [588ccd630367]
9386
9387 2008-05-04  Todd C. Miller  <Todd.Miller@courtesan.com>
9388
9389         * Makefile.in, sudo.psf:
9390         No point in packaging the TODO file
9391         [9590248fffe1]
9392
9393         * ChangeLog:
9394         sync
9395         [152acf4c6813]
9396
9397 2008-05-03  Todd C. Miller  <Todd.Miller@courtesan.com>
9398
9399         * WHATSNEW, def_data.c, def_data.h, def_data.in, env.c, sudo.c,
9400         sudo.h, sudoers.cat, sudoers.man.in, sudoers.pod:
9401         Add env_file Defaults option that is similar to /etc/environment on
9402         some systems.
9403         [1daf53d51e18]
9404
9405 2008-05-02  Todd C. Miller  <Todd.Miller@courtesan.com>
9406
9407         * Makefile.in, README, TODO, WHATSNEW, sudo.cat, sudo.man.in,
9408         sudoers.cat, sudoers.ldap.cat, sudoers.ldap.man.in, sudoers.man.in,
9409         version.h, visudo.cat, visudo.man.in:
9410         change version to 1.7.0
9411         [d41d126b9bd8]
9412
9413         * UPGRADE:
9414         initial valgrind pass done
9415         [c59c3876d8ca]
9416
9417 2008-04-23  Todd C. Miller  <Todd.Miller@courtesan.com>
9418
9419         * ldap.c:
9420         Fix typo/think in sudo_ldap_read_secret() when storing the secret.
9421         [830d246c09b0]
9422
9423 2008-04-11  Todd C. Miller  <Todd.Miller@courtesan.com>
9424
9425         * ldap.c:
9426         define LDAPS_PORT if the system headers do not
9427         [247b12325701]
9428
9429 2008-04-10  Todd C. Miller  <Todd.Miller@courtesan.com>
9430
9431         * gram.c, gram.y:
9432         Fix another memory leak in init_parser().
9433         [7bba47deba11]
9434
9435         * configure, configure.in:
9436         There was a missing space before the ldap libs in SUDO_LIBS for some
9437         configurations.
9438         [7524cfc93759]
9439
9440         * alias.c, gram.c, gram.y, toke.c, toke.l:
9441         Clean up some memory leaks pointed out by valgrind.
9442         [a965866ece1a]
9443
9444 2008-04-07  Todd C. Miller  <Todd.Miller@courtesan.com>
9445
9446         * sudo.c:
9447         fix "sudo -s" broken by mode/flags breakout
9448         [acffe984d408]
9449
9450         * configure, configure.in:
9451         remove duplicate check for dgettext
9452         [58145529133c]
9453
9454 2008-04-05  Todd C. Miller  <Todd.Miller@courtesan.com>
9455
9456         * aix.c:
9457         Fall back to default stanza if no user-specific limit is found.
9458         [7b8cb29123ee]
9459
9460 2008-04-02  Todd C. Miller  <Todd.Miller@courtesan.com>
9461
9462         * snprintf.c:
9463         include stdint.h if present
9464         [f0ec38529306]
9465
9466         * snprintf.c:
9467         Use LLONG_MAX, not the old QUAD_MAX
9468         [01041ce508fb]
9469
9470 2008-04-01  Todd C. Miller  <Todd.Miller@courtesan.com>
9471
9472         * sudoers.ldap.pod:
9473         fix cut and pasto
9474         [34240fdef5ab]
9475
9476 2008-03-31  Todd C. Miller  <Todd.Miller@courtesan.com>
9477
9478         * pwutil.c:
9479         Add #ifdef PURITY
9480         [ce1b571ad526]
9481
9482 2008-03-30  Todd C. Miller  <Todd.Miller@courtesan.com>
9483
9484         * auth/bsdauth.c:
9485         remove useless cast
9486         [494f8a862e1d]
9487
9488 2008-03-27  Todd C. Miller  <Todd.Miller@courtesan.com>
9489
9490         * ChangeLog:
9491         sync
9492         [f5c97ffaabcc]
9493
9494         * TODO:
9495         sync
9496         [96ff1c44c182]
9497
9498         * sudo.h:
9499         Split MODE_* defines into primary and flags.
9500         [c02ee3027cb9]
9501
9502 2008-03-26  Todd C. Miller  <Todd.Miller@courtesan.com>
9503
9504         * aix.c:
9505         It turns out the logic for getting AIX limits is more convoluted
9506         than I realized and differs depending on whether the soft and/or
9507         hard limits are defined.
9508         [cf8d3f85d395]
9509
9510 2008-03-23  Todd C. Miller  <Todd.Miller@courtesan.com>
9511
9512         * Makefile.in, configure, configure.in:
9513         Back out AIX-specific change to set the sudo_noexec path to the .a
9514         file, we do really want to use the .so file. Since libtool doesn't
9515         do that correctly, just install the .so file ourselves in the
9516         Makefile.
9517         [05c6f33177d9]
9518
9519         * install-sh:
9520         If the file given to install is a path, only use the basename of the
9521         file when building the destination path.
9522         [695ba4e429ce]
9523
9524 2008-03-18  Todd C. Miller  <Todd.Miller@courtesan.com>
9525
9526         * sudo.c:
9527         parse_args() cleanup: Sort command line options in the getopt()
9528         switch The -U option requires a parameter Normalize a few ISSET
9529         calls Split mode into mode and flags and retire the now-obsolete
9530         excl variable
9531         [0d156835f861]
9532
9533         * WHATSNEW, check.c, sudo.c, sudo.cat, sudo.h, sudo.man.in, sudo.pod,
9534         sudo_usage.h.in:
9535         Add -n (non-interactive) flag.
9536         [e3e50400d32d]
9537
9538         * sudo.c:
9539         Move version printing, etc. into a separate function.
9540         [18c91b476e2c]
9541
9542         * sudo.c:
9543         Don't try to cleanup nsswitch if it has not been initialized.
9544         [aeb1ca1b399d]
9545
9546 2008-03-17  Todd C. Miller  <Todd.Miller@courtesan.com>
9547
9548         * logging.c:
9549         Block SIGPIPE in send_mail() so sudo is not killed by a problem
9550         executing the mailer.
9551         [f130e7924cca]
9552
9553 2008-03-14  Todd C. Miller  <Todd.Miller@courtesan.com>
9554
9555         * configure, configure.in:
9556         AIX shared libs end in .a, not .so.
9557         [a5deb07020d8]
9558
9559 2008-03-13  Todd C. Miller  <Todd.Miller@courtesan.com>
9560
9561         * env.c:
9562         Preserve HOME by default too. Matches documentation and previous
9563         behavior.
9564         [c16f17f1047c]
9565
9566 2008-03-12  Todd C. Miller  <Todd.Miller@courtesan.com>
9567
9568         * sudo.c:
9569         Use getopt() to parse the command line. We need to be able to
9570         intersperse env variables and options yet still honor "--"" which
9571         complicates things slightly.
9572         [60f271ce5c16]
9573
9574 2008-03-06  Todd C. Miller  <Todd.Miller@courtesan.com>
9575
9576         * ChangeLog:
9577         sync
9578         [685e67964eda]
9579
9580         * acsite.m4, configure, ltmain.sh:
9581         update to libtool-1.5.26
9582         [4c9a8c3d3b40]
9583
9584         * config.guess, config.sub:
9585         update from libtool-1.5.26 distribution
9586         [c6641aef2527]
9587
9588         * aix.c, sudo.h:
9589         attempt to fix compilation errors on AIX
9590         [edb13e5b2184]
9591
9592         * Makefile.in:
9593         fix typo in last commit
9594         [25ba7f7ceae4]
9595
9596         * Makefile.in:
9597         Add WHATSNEW file to the distribution
9598         [213f4115de8f]
9599
9600         * visudo.c:
9601         use warningx instead of fprintf(stderr, ...)
9602         [a3494b8ccb19]
9603
9604         * list.c:
9605         add DEBUG to list2tq
9606         [115d24a3000c]
9607
9608         * ChangeLog, TODO:
9609         sync
9610         [60e6f4d1fac0]
9611
9612         * WHATSNEW:
9613         mention mailfrom
9614         [e2498f9e18d6]
9615
9616         * Makefile.in, aix.c, config.h.in, configure, configure.in,
9617         set_perms.c, sudo.h:
9618         Add aix_setlimits() to set resource limits on AIX using a
9619         combination of getuserattr() and setrlimit(). Currently untested.
9620         [9b1441fd89ca]
9621
9622 2008-03-05  Todd C. Miller  <Todd.Miller@courtesan.com>
9623
9624         * def_data.c, def_data.h, def_data.in, logging.c, sudoers.cat,
9625         sudoers.man.in, sudoers.pod:
9626         Add mailfrom Defaults option that sets the value of the From: field
9627         in the warning/error mail. If unset the login name of the invoking
9628         user is used.
9629         [029b9f05d3d9]
9630
9631         * defaults.c:
9632         store a copy of _PATH_SUDO_ASKPASS in def_askpass that is freeable
9633         [a90e407d5e00]
9634
9635         * gram.c, gram.y:
9636         When adding a default, only call list2tq() once to do the list to tq
9637         conversion. It is not legal to call list2tq multiple times on the
9638         same list since list2tq consumes and modifies the list argument.
9639         [fbc25d245c4a]
9640
9641         * sudoers.ldap.cat, sudoers.ldap.man.in, sudoers.ldap.pod:
9642         comment out XXXs for now
9643         [595a1d43309d]
9644
9645         * WHATSNEW:
9646         mention askpass
9647         [b993e0837c22]
9648
9649 2008-03-04  Todd C. Miller  <Todd.Miller@courtesan.com>
9650
9651         * sudo.c:
9652         Error out if both -A and -S are specified Error out if -A is
9653         specified but no askpass is configured
9654         [24f1df2638f6]
9655
9656         * configure, configure.in:
9657         we are not going to ship a sudo-specific askpass
9658         [61949e7a3943]
9659
9660 2008-03-03  Todd C. Miller  <Todd.Miller@courtesan.com>
9661
9662         * sudo.h:
9663         fix definition of TGP_ASKPASS
9664         [0447c57ba4c3]
9665
9666         * def_data.c, def_data.in:
9667         make askpass boolean-capable
9668         [e0885893a325]
9669
9670         * INSTALL:
9671         document --with-askpass
9672         [c76e15ba97cf]
9673
9674         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.ldap.cat,
9675         sudoers.man.in, visudo.cat:
9676         regen
9677         [8d16242980b7]
9678
9679 2008-03-02  Todd C. Miller  <Todd.Miller@courtesan.com>
9680
9681         * sudo.pod, sudo_usage.h.in, sudoers.pod:
9682         document -A and askpass
9683         [02c07505a78c]
9684
9685         * auth/sudo_auth.c, check.c, configure, configure.in, def_data.c,
9686         def_data.h, def_data.in, defaults.c, pathnames.h.in, sudo.c, sudo.h,
9687         sudo_usage.h.in, tgetpass.c:
9688         Add support for running a helper program to read the password when
9689         no tty is present (or when specified with the -A flag). TODO: docs.
9690         [05780f5f71fd]
9691
9692         * def_data.c, def_data.in:
9693         add missing printf format to SELinux role and type strings
9694         [2b32774715e7]
9695
9696 2008-02-27  Todd C. Miller  <Todd.Miller@courtesan.com>
9697
9698         * INSTALL, configure, configure.in:
9699         Disable use of gss_krb5_ccache_name() by default and add
9700         --enable-gss-krb5-ccache-name configure option to enable it. It
9701         seems that gss_krb5_ccache_name() doesn't work properly with some
9702         combinations of Heimdal and OpenLDAP.
9703         [f61ebd3b19bd]
9704
9705 2008-02-22  Todd C. Miller  <Todd.Miller@courtesan.com>
9706
9707         * selinux.c:
9708         Ignore setexeccon() failing in permissive mode. Also add a call to
9709         setkeycreatecon() (though this is probably insufficient). From Dan
9710         Walsh.
9711         [52564fc1c069]
9712
9713         * auth/pam.c:
9714         Only set std_prompt for the PAM_PROMPT_* cases. The conversation
9715         function may be called for non-password reading purposes so we must
9716         be careful not to use def_prompt in cases where it may not be set.
9717         [29d88ca575ba]
9718
9719 2008-02-20  Todd C. Miller  <Todd.Miller@courtesan.com>
9720
9721         * selinux.c:
9722         Don't free the new tty context, we need to keep it around when we
9723         restore the tty context after the command completes
9724         [5b4bd39b6ea8]
9725
9726 2008-02-19  Todd C. Miller  <Todd.Miller@courtesan.com>
9727
9728         * selinux.c:
9729         s/newrole/sudo/
9730         [21b8a96ff8df]
9731
9732         * sudo.man.pl, sudo.pod:
9733         Only put login_cap(3) in SEE ALSO section if we have login.conf
9734         support
9735         [05250ddff2c0]
9736
9737 2008-02-18  Todd C. Miller  <Todd.Miller@courtesan.com>
9738
9739         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.ldap.cat,
9740         sudoers.ldap.man.in, sudoers.man.in, visudo.cat, visudo.man.in:
9741         regen
9742         [301e5c5ccdbe]
9743
9744         * sudoers.pod:
9745         Substitute in comment characters for lines partaining to login.conf,
9746         BSD auth and SELinux and only enable them if pertinent.
9747         [c1c98fa163ce]
9748
9749         * sudoers.man.pl:
9750         Substitute in comment characters for lines partaining to login.conf,
9751         BSD auth and SELinux and only enable them if pertinent.
9752         [6c88f30b878a]
9753
9754         * sudo.pod:
9755         Substitute in comment characters for lines partaining to login.conf,
9756         BSD auth and SELinux and only enable them if pertinent.
9757         [acdbdfd24e1d]
9758
9759         * sudo.man.pl:
9760         Substitute in comment characters for lines partaining to login.conf,
9761         BSD auth and SELinux and only enable them if pertinent.
9762         [0c56d4750ac3]
9763
9764         * Makefile.in, configure, configure.in:
9765         Substitute in comment characters for lines partaining to login.conf,
9766         BSD auth and SELinux and only enable them if pertinent.
9767         [9a02bd6a6658]
9768
9769         * Makefile.in, sudo.pod, sudoers.ldap.pod, sudoers.pod, visudo.pod:
9770         Remove the =cut on the first line (above the copyright notice) to
9771         quiet pod2man. Also remove the hackery in the FILES section and
9772         just deal with the fact that there will a newline between each
9773         pathname.
9774         [2ac1ab191835]
9775
9776 2008-02-17  Todd C. Miller  <Todd.Miller@courtesan.com>
9777
9778         * Makefile.in:
9779         run sudo.man.pl when generating sudo.man.in
9780         [859727369168]
9781
9782         * configure, configure.in, sudo.man.pl:
9783         comment out SELinux manual bits unless --with-selinux was specified
9784         [97ff4212b649]
9785
9786         * sudoers.pod:
9787         document role and type defaults for SELinux
9788         [870f303366b3]
9789
9790         * sudo.c, sudo.cat, sudo.man.in, sudo.pod, sudo_usage.h.in:
9791         Document "sudo -ll" and make "sudo -l -l" be equivalent.
9792         [3ce6dc429ea3]
9793
9794 2008-02-15  Todd C. Miller  <Todd.Miller@courtesan.com>
9795
9796         * configure, configure.in:
9797         Treat k*bsd*-gnu like Linux, not BSD. Fixes compilation problems on
9798         Debian GNU/kFreeBSD.
9799         [c4efa567a328]
9800
9801 2008-02-13  Todd C. Miller  <Todd.Miller@courtesan.com>
9802
9803         * auth/kerb5.c:
9804         Avoid Heimdal'isms introduced in the rev 1.32 rewrite of
9805         verify_krb_v5_tgt()
9806         [f80538e5a6fa]
9807
9808         * logging.c, logging.h, sudo.c:
9809         Remove dependence on VALIDATE_NOT_OK in logging functions. Split
9810         log_auth() into log_allowed() and log_denial() Replace mail_auth()
9811         with should_mail() and a call to send_mail()
9812         [58aac9997557]
9813
9814 2008-02-10  Todd C. Miller  <Todd.Miller@courtesan.com>
9815
9816         * ldap.c:
9817         Add debugging so we can tell if the krb5 ccache is accessible
9818         [c679322527bb]
9819
9820         * INSTALL:
9821         mention --with-selinux
9822         [9efbe0b52194]
9823
9824 2008-02-09  Todd C. Miller  <Todd.Miller@courtesan.com>
9825
9826         * configure:
9827         regen
9828         [467a834f867c]
9829
9830         * selinux.c:
9831         add Sudo tag
9832         [d004ee669bed]
9833
9834         * sudo.c, sudo.cat, sudo.h, sudo.man.in, sudo.pod, sudo_usage.h.in,
9835         sudoers.ldap.cat, sudoers.ldap.man.in, sudoers.ldap.pod,
9836         testsudoers.c, toke.c, toke.l:
9837         Add support for SELinux RBAC. Sudoers entries may specify a role
9838         and type. There are also role and type defaults that may be used.
9839         To make sure a transition occurs, when using RBAC commands are
9840         executed via the new sesh binary. Based on initial changes from Dan
9841         Walsh.
9842         [1d4abfe2c004]
9843
9844         * sesh.c:
9845         Add support for SELinux RBAC. Sudoers entries may specify a role
9846         and type. There are also role and type defaults that may be used.
9847         To make sure a transition occurs, when using RBAC commands are
9848         executed via the new sesh binary. Based on initial changes from Dan
9849         Walsh.
9850         [1e3b395ce049]
9851
9852         * Makefile.in, config.h.in, configure.in, def_data.c, def_data.h,
9853         def_data.in, gram.c, gram.h, gram.y, ldap.c, parse.c, parse.h,
9854         pathnames.h.in, selinux.c:
9855         Add support for SELinux RBAC. Sudoers entries may specify a role
9856         and type. There are also role and type defaults that may be used.
9857         To make sure a transition occurs, when using RBAC commands are
9858         executed via the new sesh binary. Based on initial changes from Dan
9859         Walsh.
9860         [6b421948286e]
9861
9862 2008-02-08  Todd C. Miller  <Todd.Miller@courtesan.com>
9863
9864         * lbuf.c, ldap.c, parse.c, sudo.c, sudo.h, sudo_nss.c:
9865         Add long list (sudo -ll) support for printing verbose LDAP and
9866         sudoers file entries. Still need to update manual.
9867         [2875be37935c]
9868
9869 2008-02-03  Todd C. Miller  <Todd.Miller@courtesan.com>
9870
9871         * ldap.c, parse.c, sudo.h, sudo_nss.c, sudo_nss.h:
9872         Unify the -l output for file and ldap based sudoers and use lbufs
9873         for both. The ldap output does not currently include options that
9874         cannot be represented as tags. This will be remedied in a long list
9875         output mode to come.
9876         [b2e429456596]
9877
9878 2008-01-27  Todd C. Miller  <Todd.Miller@courtesan.com>
9879
9880         * set_perms.c:
9881         Use a specific error message for errno == EAGAIN when setuid() et al
9882         fails. On Linux systems setuid() will fail with errno set to EAGAIN
9883         if changing to the new uid would result in a resource limit
9884         violation.
9885         [08d0aecd9f03]
9886
9887         * sudo.c:
9888         Unlimit nproc on Linux systems where calling the setuid() family of
9889         syscalls causes the nroc resource limit to be checked. The limits
9890         will be reset by pam_limits.so when PAM is used. In the non-PAM
9891         case the nproc limit will remain unlimited but there doesn't seem to
9892         be a way around that other than having sudo parse
9893         /etc/security/limits.conf directly.
9894         [df024b415a8d]
9895
9896         * env.c, sudo.c, sudo.pod:
9897         Only read /etc/environment on Linux and AIX
9898         [90669e2aefdb]
9899
9900 2008-01-23  Todd C. Miller  <Todd.Miller@courtesan.com>
9901
9902         * configure, configure.in:
9903         Use SUDO_DEFINE_UNQUOTED instead of AC_DEFINE_UNQUOTED to prevent
9904         ldap.conf and ldap.secret paths from going into config.h. Avoid
9905         single quotes in variable expansion when using SUDO_DEFINE_UNQUOTED
9906         since in some versions of bash they will end up literally in the
9907         resulting define.
9908         [25390f3ef10a]
9909
9910 2008-01-21  Todd C. Miller  <Todd.Miller@courtesan.com>
9911
9912         * README.LDAP:
9913         mention --with-nsswitch=no
9914         [c509df927263]
9915
9916         * configure, configure.in:
9917         ldap_ssl.h depends on ldap.h being included first
9918         [d96d90e9b21f]
9919
9920         * config.h.in, configure, configure.in, ldap.c:
9921         Include ldap_ssl.h if we can find it. Needed for the
9922         ldapssl_set_strength defines on HP-UX at least.
9923         [9e530470948a]
9924
9925         * sudoers.ldap.pod:
9926         sync
9927         [b9d101f4673a]
9928
9929         * TODO:
9930         sync
9931         [2ce951b2ecd0]
9932
9933         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.ldap.cat,
9934         sudoers.ldap.man.in, sudoers.man.in, visudo.cat, visudo.man.in:
9935         regen
9936         [b61d793987e0]
9937
9938         * Makefile.in:
9939         Use 78n line length when formatting cat pages.
9940         [761bee9d5759]
9941
9942         * README.LDAP:
9943         Remove redundant info that is now in sudoers.ldap.pod
9944         [01828dcce59e]
9945
9946 2008-01-20  Todd C. Miller  <Todd.Miller@courtesan.com>
9947
9948         * sudoers.ldap.cat, sudoers.ldap.man.in, sudoers.ldap.pod:
9949         Reorganize the first section a bit. Substitute the proper path for
9950         /etc/sudoers.
9951         [11ae165e065d]
9952
9953         * sudoers.ldap.cat, sudoers.ldap.man.in, sudoers.ldap.pod:
9954         Substitute values for ldap.conf, ldap.secret and nsswitch.conf Move
9955         schema into EXAMPLES
9956         [ab6509d1dde7]
9957
9958         * configure, configure.in:
9959         Substitute values for ldap.conf, ldap.secret and nsswitch.conf into
9960         sudoers.ldap.man.
9961         [6e689972f465]
9962
9963         * configure, configure.in:
9964         substitute for sudoers.ldap.man
9965         [5a4a25766dee]
9966
9967         * Makefile.in:
9968         Fix cut & pasto introduced when adding sudoers.ldap man page.
9969         [a7b069af8894]
9970
9971         * sudoers.ldap.cat, sudoers.ldap.man.in, sudoers.ldap.pod:
9972         Fill in some of the missing pieces. Still needs some reorganization
9973         and editing.
9974         [5e7331722166]
9975
9976 2008-01-19  Todd C. Miller  <Todd.Miller@courtesan.com>
9977
9978         * Makefile.in, sudoers.ldap.cat, sudoers.ldap.man.in,
9979         sudoers.ldap.pod:
9980         Beginnings of a sudoers.ldap man page. Currently, much of the
9981         information is adapted from README.LDAP.
9982         [aad28c8a922d]
9983
9984 2008-01-18  Todd C. Miller  <Todd.Miller@courtesan.com>
9985
9986         * pwutil.c:
9987         When copying gr_mem we must guarantee that the storage space for
9988         gr_mem is properly aligned. The simplest way to do this is to
9989         simply store gr_mem directly after struct group. This is not a
9990         problem for gr_passwd or gr_name as they are simple strings.
9991         [af58fc76f1ed]
9992
9993         * ldap.c:
9994         Fix a typo/thinko in one of the calls to
9995         sudo_ldap_check_user_netgroup(). From Marco van Wieringen.
9996         [70b2eb8097f5]
9997
9998 2008-01-17  Todd C. Miller  <Todd.Miller@courtesan.com>
9999
10000         * config.h.in, configure, configure.in, ldap.c:
10001         include <mps/ldap_ssl.h> in ldap.c if available
10002         [34346206ef16]
10003
10004 2008-01-16  Todd C. Miller  <Todd.Miller@courtesan.com>
10005
10006         * gram.c, gram.y:
10007         Make sure we define SIZE_MAX for yacc's skeleton.c
10008         [d8a45c7a3c42]
10009
10010         * tgetpass.c:
10011         Use TCSAFLUSH when restoring terminal settings (and echo) to
10012         guarantee that any pending output is discarded
10013         [549a184479e5]
10014
10015 2008-01-15  Todd C. Miller  <Todd.Miller@courtesan.com>
10016
10017         * sudoers:
10018         no longer need to specify SETENV when user has sudo ALL
10019         [3051b41f8032]
10020
10021         * testsudoers.c:
10022         sync user_args size calculation with sudo.c Add -g group option,
10023         renaming old -g to -G Add set_runasgr() and set_runaspw() and use
10024         them
10025         [0850325180f0]
10026
10027         * sudo.c, sudo.h:
10028         Make set_runaspw static void
10029         [5d44d7a340ce]
10030
10031         * testsudoers.c, visudo.c:
10032         g/c set_runaspw stub
10033         [79ebb5e2cc38]
10034
10035         * configure, configure.in:
10036         Don't add -llber twice.
10037         [4356d302eef4]
10038
10039 2008-01-14  Todd C. Miller  <Todd.Miller@courtesan.com>
10040
10041         * ldap.c:
10042         fix typo
10043         [249cecc557e9]
10044
10045 2008-01-13  Todd C. Miller  <Todd.Miller@courtesan.com>
10046
10047         * gram.c:
10048         regen
10049         [2f94ea375b67]
10050
10051         * configure, configure.in:
10052         Fix check that determines whether -llber is required.
10053         [6afa99523379]
10054
10055         * README.LDAP, config.h.in, configure, configure.in, ldap.c:
10056         For netscape-based LDAP, use ldapssl_set_strength() to implement the
10057         checkpeer ldap.conf option.
10058         [16ae24d73795]
10059
10060         * auth/kerb5.c:
10061         Delay krb5_cc_initialize() until we actually need to use the cred
10062         cache, which is what krb5_verify_user() does. Better cleanup on
10063         failure.
10064         [d12e5f1695b8]
10065
10066 2008-01-12  Todd C. Miller  <Todd.Miller@courtesan.com>
10067
10068         * auth/kerb5.c:
10069         Rewrite verify_krb_v5_tgt() based on what heimdal's
10070         krb5_verify_user() does.
10071         [05b5815f86c9]
10072
10073 2008-01-09  Todd C. Miller  <Todd.Miller@courtesan.com>
10074
10075         * gram.c:
10076         The U suffix on constants is an ANSI feature
10077         [c6dfce3167f1]
10078
10079         * configure, configure.in:
10080         Add check for ber_set_option() in -llber
10081         [43d0c0566074]
10082
10083 2008-01-07  Todd C. Miller  <Todd.Miller@courtesan.com>
10084
10085         * README.LDAP:
10086         default if no nsswitch.conf is files only
10087         [c13001d9c998]
10088
10089 2008-01-06  Todd C. Miller  <Todd.Miller@courtesan.com>
10090
10091         * README.LDAP:
10092         don't tell people to mail aaron about LDAP stuff
10093         [8165ec1ef0c6]
10094
10095         * README.LDAP:
10096         timelimit and bind_timelimit
10097         [44f74cbed167]
10098
10099         * ChangeLog:
10100         sync
10101         [aba1a0ab02bd]
10102
10103         * ldap.c:
10104         Move ldap.secret reading into a separate function.
10105         [1948acc9f7a4]
10106
10107         * check.c:
10108         user_runas -> runas_pw
10109         [334490fc2bae]
10110
10111 2008-01-05  Todd C. Miller  <Todd.Miller@courtesan.com>
10112
10113         * TODO:
10114         sync
10115         [c7b165cc47c6]
10116
10117         * check.c, sudo.pod, sudoers.pod:
10118         Add and document the %p escape in the password prompt. Based on a
10119         patch from Patrick Schoenfeld.
10120         [3972d4f31ffa]
10121
10122         * ldap.c:
10123         Check strlcpy() return values.
10124         [9b42f3ae8ff1]
10125
10126         * ldap.c:
10127         refactor ldap binding code into sudo_ldap_bind_s()
10128         [cb0c66a4d955]
10129
10130         * README.LDAP:
10131         Make it clear that host and uri can take multiple parameters. URI is
10132         now supported for more than just openldap nsswitch.conf does't
10133         accept "compat"
10134         [f610dea656d6]
10135
10136         * sudo.c:
10137         comment cleanup and update (c) year
10138         [6cd69c810ca5]
10139
10140         * parse.c, sudo_nss.c:
10141         Move display_privs() and display_cmnd() from parse.c to sudo_nss.c.
10142         This should make it possible to build an LDAP-only sudo binary.
10143         [61c3f27066a0]
10144
10145         * ldap.c, parse.c, sudo.c, sudo.h, sudo_nss.h:
10146         Improve chaining of multiple sudoers sources by passing in the
10147         previous return value to the next in the chain
10148         [2c0b722b1b2d]
10149
10150         * gram.y:
10151         Free up parser data structures in sudo_file_close().
10152         [2251531d4519]
10153
10154         * gram.c, parse.c:
10155         Free up parser data structures in sudo_file_close().
10156         [8371f130f401]
10157
10158         * ldap.c:
10159         Parse uri ourself if no ldap_initialize() is present Use
10160         ldap_create() instead of deprecated ldap_init() Use
10161         ldap_sasl_bind_s() instead of deprecated ldap_simple_bind_s()
10162         [85d3825b1953]
10163
10164         * config.h.in, configure, configure.in:
10165         Add check for ldap_sasl_bind_s() Remove -DLDAP_DEPRECATED from
10166         CFLAGS
10167         [240524512bc5]
10168
10169 2008-01-04  Todd C. Miller  <Todd.Miller@courtesan.com>
10170
10171         * config.h.in, configure, configure.in:
10172         add check for ldap_create
10173         [3089badd73b8]
10174
10175 2008-01-03  Todd C. Miller  <Todd.Miller@courtesan.com>
10176
10177         * config.h.in, configure, configure.in, ldap.c:
10178         Add sudo_ldap_get_first_rdn() to return the first rdn of an entry's
10179         dn using the mechanism appropriate for the LDAP SDK in use. Use
10180         ldap_unbind_ext_s() instead of deprecated ldap_unbind_s(). Emulate
10181         ldap_unbind_ext_s() and ldap_search_ext_s() for SDK's without them.
10182         [6deeca3d00cc]
10183
10184         * lbuf.c:
10185         include unistd.h
10186         [8419ed0bae7f]
10187
10188         * config.h.in, configure.in:
10189         fix typo in mtim_getnsec
10190         [2d5f21230a60]
10191
10192 2008-01-02  Todd C. Miller  <Todd.Miller@courtesan.com>
10193
10194         * config.h.in, configure, configure.in:
10195         add check for st__tim in struct stat as used by SCO
10196         [587060ea2a89]
10197
10198         * ldap.c:
10199         use ldap_search_ext_s instead of deprecated ldap_search_s
10200         [5fc44fe3b44c]
10201
10202         * Makefile.in, TODO, sudo.cat, sudo.man.in:
10203         add sudo_nss.h to HDRS
10204         [86f01a70ff29]
10205
10206         * ldap.c:
10207         Replace deprecated ldap_explode_dn() with calls to ldap_str2dn() and
10208         ldap_rdn2str().
10209         [aa217002cfae]
10210
10211 2008-01-01  Todd C. Miller  <Todd.Miller@courtesan.com>
10212
10213         * ldap.c:
10214         Use ldap_get_values_len()/ldap_value_free_len() instead of the
10215         deprecated ldap_get_values()/ldap_value_free().
10216         [e22dceb85e57]
10217
10218         * ChangeLog:
10219         sync
10220         [adad27b36107]
10221
10222         * TODO:
10223         sync
10224         [c449eb47e0ef]
10225
10226         * gettime.c, sudo.c:
10227         Remove some already fixed XXXs
10228         [532788d0e6da]
10229
10230         * ldap.c:
10231         Same return value as non-existent sudoers if LDAP was unable to
10232         connect.
10233         [5819810e8e4e]
10234
10235         * sudo.pod:
10236         mention /etc/environment
10237         [ea8e6102f853]
10238
10239         * README.LDAP, UPGRADE, WHATSNEW:
10240         Update to reflect recent developments.
10241         [ed1fb026fe77]
10242
10243         * sudo.c:
10244         Print nsswitch.conf, ldap.conf and ldap.secret paths in -V output.
10245         [55b68a58260d]
10246
10247         * ldap.c:
10248         When building up a query don't list groups in the aux group vector
10249         that are the same as the passwd file group. On most systems the
10250         first gid in the group vector is the same as the passwd entry gid.
10251         [4bb51e297e0d]
10252
10253         * env.c, ldap.c:
10254         Define LDAPNOINIT before calling ldap_init(), etc. to disable user
10255         ldaprc and system defaults that could affect how LDAP works.
10256         [ce5036440db2]
10257
10258         * INSTALL, configure, configure.in, pathnames.h.in, sudo.c,
10259         sudo_nss.c, sudo_nss.h:
10260         Rename read_nss -> sudo_read_nss Add --with-nsswitch to allow users
10261         to specify nsswitch.conf path or disable it. If --with-nsswitch=no
10262         but --with-ldap, order is LDAP, then sudoers. Fix --with-ldap-conf-
10263         file and --with-ldap-secret-file
10264         [ea5d7704381f]
10265
10266         * parse.c:
10267         Honor def_ignore_local_sudoers
10268         [f38e1121fae1]
10269
10270 2007-12-31  Todd C. Miller  <Todd.Miller@courtesan.com>
10271
10272         * ldap.c:
10273         no longer need to check def_ignore_local_sudoers here
10274         [fce2a72f96fb]
10275
10276         * parse.c:
10277         Refactor group vector resetting into a function and also call it
10278         from display_cmnd. Stop after the first sucessful match in
10279         display_cmnd. Print a newline between each display_privs method.
10280         [981b37b5adff]
10281
10282         * parse.c:
10283         fix double free introduced in rev 1.218
10284         [c574b02d8747]
10285
10286         * ldap.c:
10287         belt and suspenders; zero out result after freeing it
10288         [7732988d4620]
10289
10290         * env.c, fileops.c, ldap.c, sudo.h, sudo_nss.c:
10291         Refactor line reading into a separate function, sudo_parseln(),
10292         which removes comments, leading/trailing whitespace and newlines.
10293         May want to rethink the use of sudo_parseln() for /etc/ldap.secret
10294         [61d9068f0645]
10295
10296         * parse.c, sudo.c:
10297         Make the inability to read the sudoers file a non-fatal error if
10298         there are other sudoers sources available. sudoers_file_lookup now
10299         returns "not OK" if sudoers was not present
10300         [643babf597a8]
10301
10302         * ldap.c:
10303         make it clear that the global options are from LDAP
10304         [9ff950349463]
10305
10306         * logging.c:
10307         allocate proper amount of space for error string
10308         [8bebb7d46d19]
10309
10310         * sudo_nss.c, sudo_nss.h:
10311         actual sudo nss code
10312         [5bd7d52d7738]
10313
10314         * ldap.c, parse.c, sudo.c, sudo.h:
10315         nss-ify display_privs and display_cmnd.
10316         [cccfdd3253f2]
10317
10318         * defaults.c, parse.c, testsudoers.c, visudo.c:
10319         move update_defaults() to parse.c
10320         [ace144b958a9]
10321
10322         * Makefile.in, ldap.c, list.c, parse.c, parse.h, sudo.c, sudo.h:
10323         Use nsswitch to hide some sudoers vs. ldap implementation details
10324         and reduce the number of #ifdef LDAP TODO: fix display routines and
10325         error handling
10326         [6225edde89a6]
10327
10328 2007-12-28  Todd C. Miller  <Todd.Miller@courtesan.com>
10329
10330         * Makefile.in, README.LDAP, ldap.c, pathnames.h.in, sudo.c, sudo.h:
10331         First cut at nsswitch.conf support. Further reorganizaton and
10332         related changes are forthcoming.
10333         [717f59d0790b]
10334
10335 2007-12-21  Todd C. Miller  <Todd.Miller@courtesan.com>
10336
10337         * env.c, pathnames.h.in, sudo.c, sudo.h:
10338         Add support for reading and /etc/environment file. Still needs to
10339         be documented and should probably only applies to OSes that have it
10340         (AIX and Linux, maybe others).
10341         [15d3edae27e4]
10342
10343         * ldap.c:
10344         include limits.h
10345         [e19875ef0f82]
10346
10347 2007-12-20  Todd C. Miller  <Todd.Miller@courtesan.com>
10348
10349         * WHATSNEW:
10350         reword LDAP SASL
10351         [7ec3c4ec31b5]
10352
10353 2007-12-19  Todd C. Miller  <Todd.Miller@courtesan.com>
10354
10355         * TODO:
10356         sync
10357         [87c5a7aea7bf]
10358
10359         * README.LDAP:
10360         Add an example sudoRole, clarify netscape vs. openldap a bit more
10361         [6f96c0ca8107]
10362
10363         * README.LDAP:
10364         Be clear on what is OpenLDAP vs. Netscape-derived
10365         [a33c8314dec5]
10366
10367         * config.h.in, configure, configure.in, ldap.c:
10368         Use ldapssl_init() for ldaps support instead of trying to do it
10369         manually with ldap_init() + ldapssl_install_routines(). Use tls_cert
10370         and tls_key for cert7.db and key3.db respectively. Don't print
10371         debugging info for options that are not set. Add warning if
10372         start_tls specified when not supported.
10373         [abb62dc7e4a3]
10374
10375         * ldap.c:
10376         fix compilation on solaris
10377         [03d449684e80]
10378
10379         * Makefile.in:
10380         add missing .h and .c files for missing lib objs
10381         [8b37825bdfc7]
10382
10383 2007-12-18  Todd C. Miller  <Todd.Miller@courtesan.com>
10384
10385         * ldap.c:
10386         fix LDAP_OPT_NETWORK_TIMEOUT setting
10387         [226eba89c0ad]
10388
10389         * ldap.c:
10390         fix compilation on Solaris
10391         [917d47639eb6]
10392
10393 2007-12-17  Todd C. Miller  <Todd.Miller@courtesan.com>
10394
10395         * configure, configure.in:
10396         fix typo
10397         [009d5c81b225]
10398
10399         * README.LDAP:
10400         try to clear up which variables are for OpenLDAP and which are for
10401         netscape-derived SDKs
10402         [f8d9823ee73c]
10403
10404         * config.h.in, configure, configure.in, ldap.c:
10405         Add support for "ssl on" in both netscape and openldap flavors. Only
10406         the OpenLDAP flavor has been tested.
10407         [952745829ec5]
10408
10409         * logging.c, sudo.c, sudo.h:
10410         Call cleanup() before exit in log_error() instead of calling
10411         sudo_ldap_close() directly. ldap_conn can now be static to sudo.c
10412         [da02d1b67a2c]
10413
10414         * sudo.c:
10415         ld -> ldap_conn
10416         [01afa6d927cc]
10417
10418 2007-12-16  Todd C. Miller  <Todd.Miller@courtesan.com>
10419
10420         * logging.c, sudo.c, sudo.h:
10421         Better ldap cleanup.
10422         [25b9abe2d617]
10423
10424         * ldap.c:
10425         Distinguish between LDAP conf settings that are connection-specific
10426         (which take an ld pointer) and those that are default settings
10427         (which do not).
10428         [d48dc6c9c3b4]
10429
10430 2007-12-14  Todd C. Miller  <Todd.Miller@courtesan.com>
10431
10432         * ldap.c:
10433         Improved warnings on error.
10434         [c8dce7b4feb4]
10435
10436         * ldap.c:
10437         Make ldap config table driven and set the config *after* we open the
10438         connection.
10439         [d9698b5a2681]
10440
10441 2007-12-13  Todd C. Miller  <Todd.Miller@courtesan.com>
10442
10443         * ldap.c:
10444         fix LDAP_OPT_X_CONNECT_TIMEOUT compat define
10445         [598c6df06660]
10446
10447         * configure, configure.in:
10448         some operating systems need to link with -lkrb5support when using
10449         krb5
10450         [8896365dde9e]
10451
10452 2007-12-10  Todd C. Miller  <Todd.Miller@courtesan.com>
10453
10454         * WHATSNEW:
10455         minor update
10456         [acfeeb7f4886]
10457
10458         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in:
10459         regen
10460         [a3c6699674f9]
10461
10462 2007-12-08  Todd C. Miller  <Todd.Miller@courtesan.com>
10463
10464         * ChangeLog, TODO:
10465         sync
10466         [138e99b925ee]
10467
10468         * ldap.c, schema.OpenLDAP, schema.iPlanet, sudoers2ldif:
10469         add -g support for LDAP
10470         [8fc27dbe9287]
10471
10472 2007-12-03  Todd C. Miller  <Todd.Miller@courtesan.com>
10473
10474         * WHATSNEW, sudo.c, sudo.pod, sudo_usage.h.in:
10475         The -i and -s flags can now take an optional command.
10476         [6afec104ee77]
10477
10478 2007-12-02  Todd C. Miller  <Todd.Miller@courtesan.com>
10479
10480         * auth/pam.c, def_data.c, def_data.h, def_data.in, sudo.c, sudo.pod,
10481         sudoers.pod:
10482         Add passprompt_override flag to sudoers that will cause the prompt
10483         to be overridden in all cases. This flag is also set when the user
10484         specifies the -p flag.
10485         [e4c5402131a6]
10486
10487         * sudo.c:
10488         Move setting of login class until after sudoers has been parsed. Set
10489         NewArgv[0] for -i after runas_pw has been set.
10490         [62a48c8c56fa]
10491
10492         * configure, configure.in:
10493         Move the dgettext check.
10494         [5fd8a4712d1c]
10495
10496 2007-12-01  Todd C. Miller  <Todd.Miller@courtesan.com>
10497
10498         * auth/pam.c, config.h.in, configure, configure.in:
10499         Add basic support for looking up the string "Password: " in the PAM
10500         localized text db. This allows us to determine whether the PAM
10501         prompt is the default "Password: " one even if it has been
10502         localized.
10503
10504         TODO: concatenate non-std PAM prompts and user-specified sudo
10505         prompts.
10506         [81c25a415d41]
10507
10508 2007-11-27  Todd C. Miller  <Todd.Miller@courtesan.com>
10509
10510         * Makefile.in, config.h.in, configure, configure.in, parse.c,
10511         set_perms.c, sudo.c, sudo.h:
10512         Use AC_FUNC_GETGROUPS instead of a home-grown attempt that was
10513         insufficient.
10514         [1cce6ec1a91e]
10515
10516         * acsite.m4, configure, interfaces.c, memrchr.c:
10517         Fix typos; Martynas Venckus
10518         [be1233cca11a]
10519
10520 2007-11-26  Todd C. Miller  <Todd.Miller@courtesan.com>
10521
10522         * set_perms.c:
10523         Don't assume runas_pw is set; it may not be in the -g case.
10524         [aa11bd2193ac]
10525
10526 2007-11-25  Todd C. Miller  <Todd.Miller@courtesan.com>
10527
10528         * logging.c, set_perms.c:
10529         Set aux group vector for PERM_RUNAS and restore group vector for
10530         PERM_ROOT if we previously changed it. Stash the runas group vector
10531         so we don't have to call initgroups more than once. Also add no-op
10532         check to check_perms.
10533         [53837fc755f7]
10534
10535 2007-11-21  Todd C. Miller  <Todd.Miller@courtesan.com>
10536
10537         * WHATSNEW, check.c, def_data.in, defaults.c, gram.c, gram.h, gram.y,
10538         ldap.c, logging.c, match.c, mon_systrace.c, parse.c, parse.h,
10539         pwutil.c, set_perms.c, sudo.c, sudo.cat, sudo.h, sudo.man.in,
10540         sudo.pod, sudo_usage.h.in, sudoers.cat, sudoers.man.in, sudoers.pod,
10541         testsudoers.c, visudo.c, visudo.cat, visudo.man.in:
10542         Add support for runas groups. This allows the user to run a command
10543         with a different effective group. If the -g option is specified
10544         without -u the command will be run as the current user (only the
10545         group will change). the -g and -u options may be used together.
10546         TODO: implement runas group for ldap improve runas group
10547         documentation add testsudoers support
10548         [9019309df6d0]
10549
10550         * configure, configure.in:
10551         fix setting of mandir
10552         [2c60f269399f]
10553
10554         * sudo.pod, sudoers.pod:
10555         document that ALL implies SETENV
10556         [bcc8e5b703b9]
10557
10558         * ldap.c:
10559         s/setenv_ok/setenv_implied/g
10560         [f005df2c2eea]
10561
10562         * ldap.c:
10563         hostname_matches() returns TRUE on match in sudo 1.7.
10564         [c3d4377b6e8b]
10565
10566         * ldap.c:
10567         use strcmp, not strcasecmp when comparing ALL
10568         [e486024574a1]
10569
10570         * ldap.c:
10571         Make sudo ALL imply setenv. Note that unlike with file-based
10572         sudoers this does affect all the commands in the sudoRole.
10573         [bc12f54321d1]
10574
10575         * gram.c, gram.y, parse.c, parse.h:
10576         sudo "ALL" now implies the SETENV tag but, unlike an explicit tag,
10577         it is not passed on to other commands in the list.
10578         [026e2cb40680]
10579
10580         * visudo.c:
10581         Add missing sudo_setpwent() and sudo_setgrent() calls. Also use
10582         sudo_getpwuid() instead of getpwuid().
10583         [86f30a8fbd49]
10584
10585 2007-11-15  Todd C. Miller  <Todd.Miller@courtesan.com>
10586
10587         * sudoers:
10588         Expand on the dangers of not using visudo to edit sudoers.
10589         [e434e8057d02]
10590
10591 2007-11-08  Todd C. Miller  <Todd.Miller@courtesan.com>
10592
10593         * parse.c:
10594         Don't quote *?[]! on output since the lexer does not strip off the
10595         backslash when reading those in.
10596         [561da4a13afa]
10597
10598 2007-11-07  Todd C. Miller  <Todd.Miller@courtesan.com>
10599
10600         * glob.c:
10601         expand "u_foo" types to "unsigned foo" to avoid compatibility
10602         issues.
10603         [b0d7c64d78c3]
10604
10605 2007-11-04  Todd C. Miller  <Todd.Miller@courtesan.com>
10606
10607         * logging.c:
10608         Refactor log line generation in to new_logline().
10609         [6a9b9730615d]
10610
10611 2007-10-25  Todd C. Miller  <Todd.Miller@courtesan.com>
10612
10613         * TROUBLESHOOTING:
10614         fix typo
10615         [9e19d4f86e47]
10616
10617 2007-10-24  Todd C. Miller  <Todd.Miller@courtesan.com>
10618
10619         * config.h.in, configure, configure.in, interfaces.c, interfaces.h,
10620         match.c:
10621         Add configure check for struct in6_addr instead of relying on
10622         AF_INET6 since some systems define AF_INET6 but do not include IPv6
10623         support.
10624         [e24082c416bd]
10625
10626 2007-10-21  Todd C. Miller  <Todd.Miller@courtesan.com>
10627
10628         * configure, configure.in:
10629         Fix block to add -lutil for FreeBSD and NetBSD when logincap is in
10630         use.
10631         [76a9df4a63be]
10632
10633 2007-10-20  Todd C. Miller  <Todd.Miller@courtesan.com>
10634
10635         * configure, configure.in:
10636         POSIX states that struct timespec be declared in time.h so check
10637         there regardless of the value of TIME_WITH_SYS_TIME.
10638         [e42c55ec9daf]
10639
10640 2007-10-17  Todd C. Miller  <Todd.Miller@courtesan.com>
10641
10642         * tgetpass.c:
10643         Instead of defining a macro to call the appropriate method for
10644         turning on/off echo, just define tc[gs]etattr() and the related
10645         defines that use the correct terminal ioctls if needed. Also go back
10646         to using TCSAFLUSH instead of TCSADRAIN on all but QNX.
10647         [5dfb2379d995]
10648
10649 2007-10-09  Todd C. Miller  <Todd.Miller@courtesan.com>
10650
10651         * Makefile.in:
10652         g/c @ALLOCA@
10653         [e6946c2e3820]
10654
10655         * configure:
10656         regen
10657         [9bac7159a138]
10658
10659         * INSTALL, auth/pam.c, config.h.in, configure.in:
10660         Add --disable-pam-session configure option to disable calling
10661         pam_{open,close}_session. May work around bugs in some PAM
10662         implementations.
10663         [273d0fdb4a9d]
10664
10665 2007-10-08  Todd C. Miller  <Todd.Miller@courtesan.com>
10666
10667         * tgetpass.c:
10668         quiet gcc warnings
10669         [325565c5a579]
10670
10671         * tgetpass.c:
10672         Avoid printing the prompt if we are already backgrounded. E.g. if
10673         the user runs "sudo foo &" from the shell. In this case, the call
10674         to tcsetattr() will cause SIGTTOU to be delivered.
10675         [db2139a8d8b8]
10676
10677 2007-09-15  Todd C. Miller  <Todd.Miller@courtesan.com>
10678
10679         * def_data.c, def_data.h, def_data.in:
10680         Reorder things such that the definition of env_reset come right
10681         before the env variable lists.
10682         [e0d8e22a581a]
10683
10684         * parse.h:
10685         Shrink type and seqno in struct alias from int to u_short
10686         [9425263dd565]
10687
10688         * alias.c, match.c, parse.c, parse.h:
10689         Add a sequence number in the aliases for loop detection. If we find
10690         an alias with the seqno already set to the current (global) value we
10691         know we've visited it before so ignore it.
10692         [301a0548ffff]
10693
10694 2007-09-13  Todd C. Miller  <Todd.Miller@courtesan.com>
10695
10696         * TODO, auth/pam.c, sudo.c, sudo.h:
10697         PAM wants the full tty path so add user_ttypath which holds the full
10698         path to the tty or is NULL if no tty was present.
10699         [c7c1dd4b36c8]
10700
10701         * auth/pam.c:
10702         Set PAM_RHOST to work around a bug in Solaris 7 and lower that
10703         results in a segv.
10704         [3a8865b3a357]
10705
10706 2007-09-11  Todd C. Miller  <Todd.Miller@courtesan.com>
10707
10708         * gram.c:
10709         regen
10710         [5647be127950]
10711
10712         * alias.c, defaults.c, gram.y, list.c, list.h, match.c, parse.c,
10713         parse.h, testsudoers.c, visudo.c:
10714         rename lh_ -> tq_
10715         [8f500c542c4a]
10716
10717 2007-09-10  Todd C. Miller  <Todd.Miller@courtesan.com>
10718
10719         * alloc.c:
10720         remove some useless casts
10721         [409a448b23f5]
10722
10723         * alloc.c:
10724         pull in inttypes.h for SIZE_MAX; we avoid stdint.h since inttypes.h
10725         predates the final C99 spec and the standard specifies that it shall
10726         include stdint.h anyway
10727         [ae478fdef61a]
10728
10729 2007-09-06  Todd C. Miller  <Todd.Miller@courtesan.com>
10730
10731         * Makefile.in, alloca.c, configure.in:
10732         Since we ship with a pre-generated parser there is no need to ship a
10733         bogus alloca implementation.
10734         [3f611a7cc0e5]
10735
10736         * configure:
10737         regen
10738         [771eccf5269c]
10739
10740         * configure.in:
10741         remove initial setting of CHECKSIA, we require that it be unset if
10742         not used
10743         [a2e91adc5aa2]
10744
10745         * Makefile.in:
10746         add list.c to SRCS
10747         [7db0e56cf5b9]
10748
10749         * configure:
10750         regen
10751         [3716ec30172e]
10752
10753         * configure.in:
10754         only do SIA checks on Digital Unix
10755         [6a96e1af2597]
10756
10757 2007-09-05  Todd C. Miller  <Todd.Miller@courtesan.com>
10758
10759         * sudoers.cat, sudoers.man.in:
10760         regen
10761         [ac1dc29de72b]
10762
10763         * ChangeLog, TODO:
10764         sync
10765         [781effce0a2d]
10766
10767         * auth/kerb5.c:
10768         Remove call to krb5_cc_register() as it is not needed for modern
10769         kerb5.
10770         [351b8b764f16]
10771
10772         * configure:
10773         regen
10774         [ac21dbcc9c2c]
10775
10776         * aclocal.m4, configure.in:
10777         New method for setting the default authentication type and avoiding
10778         conflicts in auth types.
10779         [5fb15be11f78]
10780
10781         * match.c, parse.c, testsudoers.c:
10782         Each entry in a cmndlist now has an associated runaslist so no need
10783         to keep track of the most recent non-NULL one.
10784         [582e015786b0]
10785
10786 2007-09-04  Todd C. Miller  <Todd.Miller@courtesan.com>
10787
10788         * ldap.c:
10789         back out partial ldaps support mistakenly committed
10790         [357703e94b2d]
10791
10792         * ldap.c:
10793         Add support for unix groups and netgroups in sudoRunas
10794         [2f04eb91c6d0]
10795
10796 2007-09-03  Todd C. Miller  <Todd.Miller@courtesan.com>
10797
10798         * sudo_edit.c:
10799         Fix sudoedit of a non-existent file. From Tilo Stritzky.
10800         [a5488a03bddd]
10801
10802 2007-09-02  Todd C. Miller  <Todd.Miller@courtesan.com>
10803
10804         * configure:
10805         regen
10806         [541177376ee1]
10807
10808         * INSTALL:
10809         update --passprompt escape info
10810         [6d57db4cd538]
10811
10812         * configure.in:
10813         remove now-bogus comment and update copyright date
10814         [6a4af45fa331]
10815
10816         * configure.in:
10817         Fix up use of with_passwd
10818         [7c79d8640f77]
10819
10820         * acsite.m4, config.guess, config.sub, configure.in, ltmain.sh:
10821         Update to autoconf-2.61 andf libtool-1.5.24
10822         [045259b0b439]
10823
10824         * Makefile.in:
10825         "cmp -s" not just cmp Add @datarootdir@ to quiet autoconf-2.61
10826         [f5b6a7afb817]
10827
10828 2007-09-01  Todd C. Miller  <Todd.Miller@courtesan.com>
10829
10830         * gram.c:
10831         regen
10832         [b5b78e71d2cb]
10833
10834         * gram.y:
10835         move tags and runaslist propagation to be earlier
10836         [94f7805f4489]
10837
10838         * visudo.c:
10839         If -f flag given use the permissions of the original file as a
10840         template
10841         [9303d22bddb0]
10842
10843         * gram.y:
10844         prevent a double free() when re-initing the parser
10845         [5b3907c4de5a]
10846
10847 2007-08-31  Todd C. Miller  <Todd.Miller@courtesan.com>
10848
10849         * configure:
10850         regen
10851         [49a90b19a17d]
10852
10853         * aclocal.m4, alias.c, alloc.c, auth/API, auth/afs.c, auth/bsdauth.c,
10854         auth/kerb4.c, auth/kerb5.c, auth/pam.c, auth/securid.c,
10855         auth/securid5.c, auth/sia.c, auth/sudo_auth.h, config.h.in,
10856         configure.in, env.c, ldap.c, list.c, list.h, memrchr.c, parse.c,
10857         parse.h, pwutil.c, redblack.c, redblack.h, snprintf.c, sudo.c,
10858         sudo.h, testsudoers.c, visudo.c, zero_bytes.c:
10859         Remove support for compilers that don't support void *
10860         [35e1d01ae197]
10861
10862         * gram.c:
10863         regen
10864         [70ce412a458a]
10865
10866         * Makefile.in, alias.c, defaults.c, gram.y, list.c, list.h, match.c,
10867         parse.c, parse.h, testsudoers.c, visudo.c:
10868         Move list manipulation macros to list.h and create C versions of the
10869         more complex ones in list.c. The names have been down-cased so they
10870         appear more like normal functions.
10871         [9cea0e281148]
10872
10873         * Makefile.in:
10874         Fix cmp command when regenerating parser. Make gram.o the first
10875         dependency for all programs so gram.h will be generated before
10876         anything that needs it.
10877         [429ea065abf1]
10878
10879         * gram.y, parse.h:
10880         Convert NEW_DEFAULT anf NEW_MEMBER into static functions.
10881         [2f3433833589]
10882
10883         * match.c, parse.c, testsudoers.c:
10884         Use LH_FOREACH_REV when checking permission and short-circuit on the
10885         first non-UNSPEC hit we get for the command. This means that
10886         instead of cycling through the all the parsed sudoers entries we
10887         start at the end and work backwards and quit after the first
10888         positive or negative match.
10889         [881474532f3e]
10890
10891         * gram.c:
10892         regen
10893         [9152a19d4188]
10894
10895         * defaults.c, gram.y, parse.c, parse.h, testsudoers.c, visudo.c:
10896         Change list head macros to take a pointer, not a struct.
10897         [054f1dcce4cc]
10898
10899         * gram.c:
10900         regen
10901         [be154aae6235]
10902
10903         * gram.y:
10904         Propagate the runasspec from one command to the next in a cmndspec.
10905         [4957b1cb03a3]
10906
10907 2007-08-30  Todd C. Miller  <Todd.Miller@courtesan.com>
10908
10909         * match.c:
10910         Replace has_meta() with a macro that calls strpbrk().
10911         [a2e58846a542]
10912
10913         * regen
10914         [5a932a5c9451]
10915
10916         * alias.c, defaults.c, gram.y, match.c, parse.c, parse.h,
10917         testsudoers.c, visudo.c:
10918         Use a list head struct when storing the semi-circular lists and
10919         convert to tail queues in the process. This will allow us to
10920         reverse foreach loops more easily and it makes it clearer which
10921         functions expect a list as opposed to a single member.
10922
10923         Add macros for manipulating lists. Some of these should become
10924         functions.
10925
10926         When freeing up a list, just pop off the last item in the queue
10927         instead of going from head to tail. This is simpler since we don't
10928         have to stash a pointer to the next member, we always just use the
10929         last one in the queue until the queue is empty.
10930
10931         Rename match functions that take a list to have list in the name.
10932         Break cmnd_matches() into cmnd_matches() and cmndlist_matches.
10933         [7c37b271607a]
10934
10935         * parse.c:
10936         Fix pasto, append "!" not negated (which is an int) for sudo -l
10937         output.
10938         [93a444c3997f]
10939
10940         * Makefile.in:
10941         Remove the dependency of gram .h on gram.y, the .c dependency is
10942         enough. Only move y.tab.h to gram.h if it is different; avoids
10943         needless rebuilding.
10944         [67bf4ea2a2e5]
10945
10946 2007-08-27  Todd C. Miller  <Todd.Miller@courtesan.com>
10947
10948         * sudoers.pod:
10949         Defaults lines may be associated with lists of users, hosts,
10950         commands and runas users, not just single entries.
10951         [795effacb6be]
10952
10953 2007-08-26  Todd C. Miller  <Todd.Miller@courtesan.com>
10954
10955         * Makefile.in:
10956         Revert the "cmp" portion of the last diff, it doesn't make sense.
10957         [26f34bf4e2e3]
10958
10959         * Makefile.in:
10960         Remove *.lo for clean: When generating the parser, only move the
10961         generated files into place if they differ from the existing ones.
10962         [84673fea371b]
10963
10964 2007-08-25  Todd C. Miller  <Todd.Miller@courtesan.com>
10965
10966         * toke.c, toke.l:
10967         Replace IPV6 regexp with a much simpler (readable) one and add an
10968         extra check when it matches to make sure we have a valid address.
10969         [592e9f690556]
10970
10971         * match.c:
10972         Fix thinko introduced when merging IPV6 support.
10973         [da38cd5eb8c7]
10974
10975 2007-08-24  Todd C. Miller  <Todd.Miller@courtesan.com>
10976
10977         * HISTORY, LICENSE:
10978         regen
10979         [0d7b27b90634]
10980
10981         * license.pod:
10982         add 2007
10983         [510e5048ae1a]
10984
10985         * UPGRADE:
10986         mention #uid vs. comment pitfall
10987         [4d2861898bcc]
10988
10989         * acsite.m4:
10990         Merge in a patch from the libtool cvs that fixes a problem with the
10991         latest autoconf. From Stepan Kasal.
10992         [0c279ae7df3e]
10993
10994         * parse.h:
10995         Back out he XOR swap trick, it is slower than a temp variable on
10996         modern CPUs.
10997         [91c4b024e317]
10998
10999         * gram.c:
11000         regen
11001         [cb6d4106fb74]
11002
11003         * gram.y, parse.h:
11004         Convert the tail queue to a semi-circle queue and use the XOR swap
11005         trick to swap the prev pointers during append.
11006         [8bf4d9fbee58]
11007
11008 2007-08-23  Todd C. Miller  <Todd.Miller@courtesan.com>
11009
11010         * parse.h:
11011         remove useless statement
11012         [421ec1dd73e6]
11013
11014         * toke.c, toke.l:
11015         Refactor #include parsing into a separate function and return
11016         unparsed chars (such as newline or comment) back to the lexer.
11017         [64166917aa3d]
11018
11019 2007-08-22  Todd C. Miller  <Todd.Miller@courtesan.com>
11020
11021         * WHATSNEW:
11022         mention better uid support
11023         [56f510e7f2ec]
11024
11025         * sudoers.pod:
11026         Users may now consist of a uid.
11027         [5fd31b2c55ed]
11028
11029         * gram.c, gram.h, toke.c:
11030         regen
11031         [599e58af6dc1]
11032
11033         * parse.c:
11034         Use lbuf_append_quoted() for sudo -l output to quote characters that
11035         would require quoting in sudoers.
11036         [3132d05c990a]
11037
11038         * lbuf.c, lbuf.h:
11039         Add lbuf_append_quoted() which takes a set of characters which
11040         should be quoted with a backslash when displayed.
11041         [ab09bebb1d65]
11042
11043         * toke.l:
11044         Require that the first character after a comment not be a digit or a
11045         dash. This allows us to remove the GOTRUNAS state and treat
11046         uid/gids similar to other words. It also means that we can now
11047         specify uids in User_Lists and a User_Spec may now contain a uid.
11048         [461fe01f8392]
11049
11050         * gram.y, toke.l:
11051         Replace RUNAS token with '(' and ')' tokens to make the runas
11052         portion of the grammar more natural.
11053         [e0c383b4684d]
11054
11055         * BUGS:
11056         The BUGS file is history
11057         [4d9a809585c7]
11058
11059         * Makefile.in, README:
11060         The BUGS file is history
11061         [d9500e261172]
11062
11063 2007-08-21  Todd C. Miller  <Todd.Miller@courtesan.com>
11064
11065         * toke.c, toke.l:
11066         Allow comments after a RunasAlias as long as the character after the
11067         pound sign isn't a digit or a dash.
11068         [d7f3bd94eeda]
11069
11070         * WHATSNEW:
11071         Glob support was back-ported to 1.6.9
11072         [d1d5cfd46228]
11073
11074 2007-08-20  Todd C. Miller  <Todd.Miller@courtesan.com>
11075
11076         * Makefile.in:
11077         remove sudo_usage.h in distclean
11078         [df05ce9c4127]
11079
11080         * parse.c:
11081         If a Defaults value contains a blank, double-quote the string.
11082         [9057a910daad]
11083
11084         * toke.c, toke.l:
11085         Properly deal with Defaults double-quoted strings that span multiple
11086         lines using the line continuation char. Previously, the entire
11087         thing, including the continuation char, newline, and spaces was
11088         stored as-is.
11089         [4a4e8eacefe6]
11090
11091         * sudo.c:
11092         Be consistent when using single quotes and backticks.
11093         [d010b83a0fa1]
11094
11095 2007-08-19  Todd C. Miller  <Todd.Miller@courtesan.com>
11096
11097         * Makefile.in, configure, configure.in, lbuf.c, lbuf.h, parse.c,
11098         sudo.c, sudo_usage.h.in:
11099         Add new linebuf code to do appends of dynamically allocated strings
11100         and word-wrapped output. Currently used for sudo's usage() and sudo
11101         -l output. Sudo usage strings are now in sudo_usage.h which is
11102         generated at configure time.
11103         [4dfd0ee8d961]
11104
11105 2007-08-18  Todd C. Miller  <Todd.Miller@courtesan.com>
11106
11107         * parse.c, sudo.c, sudo.h:
11108         Fix line wrapping in usage() and use the actual tty width instead of
11109         assuming 80.
11110         [700eab37c5a6]
11111
11112 2007-08-17  Todd C. Miller  <Todd.Miller@courtesan.com>
11113
11114         * history.pod:
11115         some more info
11116         [8140112a8ae1]
11117
11118         * history.pod:
11119         Mentioned Chris Jepeway's parser and also the new one that is in
11120         sudo 1.7.
11121         [2132d00f0597]
11122
11123 2007-08-16  Todd C. Miller  <Todd.Miller@courtesan.com>
11124
11125         * sudo.pod, visudo.pod:
11126         For the options list, add flag args where appropriate and increase
11127         the indent level so there is room for them.
11128         [2b60fb572e12]
11129
11130 2007-08-15  Todd C. Miller  <Todd.Miller@courtesan.com>
11131
11132         * parse.c:
11133         Fix some spacing in "sudo -l" and add a comment about some bogosity
11134         in the line wrapping.
11135         [b59b056f5ee2]
11136
11137         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in, visudo.cat,
11138         visudo.man.in:
11139         regen
11140         [5fb719f18ebc]
11141
11142         * INSTALL, Makefile.in, WHATSNEW, config.h.in, configure.in,
11143         def_data.c, def_data.h, def_data.in, gram.c, gram.h, gram.y,
11144         parse.c, parse.h, pathnames.h.in, sudo.c, sudo.h, sudoers.pod,
11145         testsudoers.c, toke.c, toke.l:
11146         Remove monitor support until there is a versino of systrace that
11147         uses a lookaside buffer (or we have a better mechanism to use).
11148         [61ff76878e4a]
11149
11150         * config.h.in, configure, configure.in, sudo.c:
11151         use getaddrinfo() instead of gethostbyname() if it is available
11152         [cc33c136aa6a]
11153
11154 2007-08-14  Todd C. Miller  <Todd.Miller@courtesan.com>
11155
11156         * parse.c, sudo.c:
11157         Deal with OSes where sizeof(gid_t) < sizeof(int).
11158         [130a89cbdfba]
11159
11160         * interfaces.c:
11161         repair non-getifaddrs() code after ipv6 integration
11162         [7ae7a89e2236]
11163
11164         * sudo.c:
11165         If we can open sudoers but fail to read the first byte, close the
11166         file stream before trying again.
11167         [6f31272fae7b]
11168
11169 2007-08-13  Todd C. Miller  <Todd.Miller@courtesan.com>
11170
11171         * toke.c:
11172         regen
11173         [4d7afe0aa6fa]
11174
11175         * gram.y, interfaces.c, interfaces.h, match.c, sudoers.pod, toke.l:
11176         Add IPv6 support; adapted from patches by YOSHIFUJI Hideaki
11177         [4e6ff2965a42]
11178
11179         * sudo.pod, sudoers.pod, visudo.pod:
11180         Add some missing markup Update copyright
11181         [7e6d3c686b5e]
11182
11183 2007-08-12  Todd C. Miller  <Todd.Miller@courtesan.com>
11184
11185         * configure, configure.in:
11186         fix sudo_noexec extension which got broken in the libtool update
11187         [3a5b447df861]
11188
11189 2007-08-10  Todd C. Miller  <Todd.Miller@courtesan.com>
11190
11191         * Makefile.in:
11192         explicitly specify -Tascii to nroff
11193         [45c8da4cbefe]
11194
11195 2007-08-08  Todd C. Miller  <Todd.Miller@courtesan.com>
11196
11197         * logging.c:
11198         remove an ANSI-ism that crept in
11199         [29086f87b2ca]
11200
11201 2007-08-07  Todd C. Miller  <Todd.Miller@courtesan.com>
11202
11203         * sudo.pod:
11204         Adjust list indents Prevent -- from being turned into an em dash Use
11205         a list for the environment instead of a literal paragraph
11206         [c3abcd8f76f4]
11207
11208         * visudo.pod:
11209         Use a list for the environment instead of an indented literal
11210         paragraph.
11211         [0ffcfcb7349f]
11212
11213         * sudoers.pod:
11214         Adjust list indentation
11215         [615c89e3123a]
11216
11217         * license.pod:
11218         add =head3
11219         [8b2e0d38c0bd]
11220
11221 2007-08-06  Todd C. Miller  <Todd.Miller@courtesan.com>
11222
11223         * sudo.pod:
11224         mention that when specifying a uid for the -u option the shell may
11225         require that the # be escaped
11226         [3e3a17bff150]
11227
11228 2007-08-02  Todd C. Miller  <Todd.Miller@courtesan.com>
11229
11230         * match.c:
11231         Fix off by one in group matching.
11232         [b529602b7fba]
11233
11234 2007-07-31  Todd C. Miller  <Todd.Miller@courtesan.com>
11235
11236         * env.c:
11237         Fix typo: PYTHONINSPEC should be PYTHONINSPECT. From David Krause.
11238         [ffbf8907c6e7]
11239
11240 2007-07-30  Todd C. Miller  <Todd.Miller@courtesan.com>
11241
11242         * configure, configure.in:
11243         Add missing define of HAVE_GSS_KRB5_CCACHE_NAME for the
11244         -lgssapi_krb5 case.
11245         [2b85a89c2252]
11246
11247         * aclocal.m4, configure, configure.in:
11248         Fix link tests such that new gcc doesn't optimize away the test.
11249         [83484ec95cba]
11250
11251 2007-07-29  Todd C. Miller  <Todd.Miller@courtesan.com>
11252
11253         * sudo.pod, sudoers.pod, visudo.pod:
11254         add missing over/back
11255         [251a12c89b91]
11256
11257         * sudo.pod, sudoers.pod, visudo.pod:
11258         Change FILES section to use =item
11259         [60b9efc3a0b2]
11260
11261         * env.c:
11262         Add back allocation of the env struct in rebuild_env but save a copy
11263         of the old pointer and free it before returning.
11264         [1100cd4fa997]
11265
11266         * env.c:
11267         Don't init the private environment in rebuild_env() since it may
11268         have already been done implicitly sudo_setenv/sudo_unsetenv.
11269
11270         Multiply length by sizeof(char *) in memcpy/memmove when copying the
11271         environment so we copy the full thing.
11272
11273         Add missing set of parens so we deref the right pointer in
11274         sudo_unsetenv when searching for a matching variable.
11275         [9086a8f756b1]
11276
11277 2007-07-26  Todd C. Miller  <Todd.Miller@courtesan.com>
11278
11279         * sudo.pod, sudoers.pod, visudo.pod:
11280         Use file markup for paths in the FILES section
11281         [940d99f731f2]
11282
11283         * sudo.pod, sudoers.pod, visudo.pod:
11284         Don't capitalize sudo/visudo
11285         [f067a455d44b]
11286
11287         * sudoers.pod:
11288         Sort sudoers options; based on a diff from Igor Sobrado.
11289         [a9b9befe85ac]
11290
11291 2007-07-25  Todd C. Miller  <Todd.Miller@courtesan.com>
11292
11293         * sudo.pod, sudoers.pod, visudo.pod:
11294         Use 8 and 5 instead of @mansectsu@ and @mansectform@ since the
11295         latter confuses pod2man. The Makefile rules for the .man.in file
11296         will add @mansectsu@ and @mansectform@ back in after pod2man is done
11297         anyway.
11298         [b50ea0db727c]
11299
11300 2007-07-22  Todd C. Miller  <Todd.Miller@courtesan.com>
11301
11302         * LICENSE, Makefile.in, license.pod:
11303         Move license info to pod format
11304         [25bdd82e592b]
11305
11306         * configure, configure.in, sudoers.pod:
11307         Substitute value of path_info into sudoers man page.
11308         [9ba661a82798]
11309
11310         * WHATSNEW:
11311         remove features that were back-ported to 1.6.9
11312         [e76d756cbe65]
11313
11314         * sudo.c, sudo.pod, visudo.c, visudo.pod:
11315         Sort SYNOPSIS and sync usage. From Igor Sobrado.
11316         [4970386c9e54]
11317
11318         * env.c:
11319         Only need sudo_setenv/sudo_unsetenv if we are going to use
11320         ldap_sasl_interactive_bind_s() but don't have
11321         gss_krb5_ccache_name().
11322         [f1a73d8b35c5]
11323
11324         * ChangeLog:
11325         rebuild without branch info
11326         [5d5a33494677]
11327
11328         * Makefile.in:
11329         Add ChangeLog target
11330         [a702034fdd89]
11331
11332         * auth/pam.c:
11333         Run cleanup code if the user hits ^C at the password prompt.
11334         [9cf87768e921]
11335
11336         * auth/pam.c:
11337         Some versions of pam_lastlog have a bug that will cause a crash if
11338         PAM_TTY is not set so if there is no tty, set PAM_TTY to the empty
11339         string.
11340         [5b63f6c88866]
11341
11342 2007-07-20  Todd C. Miller  <Todd.Miller@courtesan.com>
11343
11344         * Makefile.in:
11345         ChageLog not Changelog
11346         [1243d8473ceb]
11347
11348         * ChangeLog:
11349         sync
11350         [d887df98c6b0]
11351
11352         * Makefile.in:
11353         CHANGE -> Changelog
11354         [917738df30dd]
11355
11356         * TODO:
11357         sync
11358         [cd382f7d1948]
11359
11360 2007-07-19  Todd C. Miller  <Todd.Miller@courtesan.com>
11361
11362         * config.h.in, configure, configure.in, ldap.c:
11363         Add configure hooks for gss_krb5_ccache_name() and the gssapi
11364         headers.
11365         [139606209991]
11366
11367 2007-07-18  Todd C. Miller  <Todd.Miller@courtesan.com>
11368
11369         * env.c, sudo.c:
11370         rebuild_env() and insert_env_vars() no longer return environment
11371         pointer, they set environ directly.
11372
11373         No longer need to pass around an envp pointer since we just operate
11374         on environ now.
11375
11376         Add dosync argument to insert_env() that indicates whether it should
11377         reset environ when realloc()ing env.envp.
11378
11379         Use an initial size of 128 for the environment.
11380         [4735fd5fddb8]
11381
11382         * env.c:
11383         Split sudo_setenv() into an external version and a version only for
11384         use by rebuild_env().
11385         [fda7d655adb1]
11386
11387 2007-07-16  Todd C. Miller  <Todd.Miller@courtesan.com>
11388
11389         * ldap.c:
11390         Add support for using gss_krb5_ccache_name() instead of setting
11391         KRB5CCNAME. Also use sudo_unsetenv() in the non-
11392         gss_krb5_ccache_name() case if there was no KRB5CCNAME in the
11393         original environment. TODO: configure setup for
11394         gss_krb5_ccache_name()
11395         [fcafa5a49caf]
11396
11397         * README.LDAP:
11398         add krb5_ccname
11399         [fceb8f883886]
11400
11401         * README.LDAP, ldap.c:
11402         Add support for sasl_secprops in ldap.conf
11403         [1f06f4bf7347]
11404
11405         * env.c, sudo.h:
11406         Add sudo_unsetenv() and refactor private env syncing code into
11407         sync_env().
11408         [045ecb3fd22b]
11409
11410         * README.LDAP, ldap.c:
11411         The ldap.conf variable is sasl_auth_id not sasl_authid.
11412         [a5f98491311b]
11413
11414 2007-07-15  Todd C. Miller  <Todd.Miller@courtesan.com>
11415
11416         * ldap.c, sudo.c, sudo.h:
11417         Add support for krb5_ccname in ldap.conf. If specified, it will
11418         override the default value of KRB5CCNAME in the environment for the
11419         duration of the call to ldap_sasl_interactive_bind_s().
11420         [b08a10c3045b]
11421
11422         * env.c, sudo.h:
11423         Remove format_env() Add sudo_setenv() to replace most format_env() +
11424         insert_env() combinations. insert_env() no longer takes a struct
11425         environment *
11426         [131da52f43f3]
11427
11428         * ldap.c:
11429         Fix use_sasl vs. rootuse_sasl logic.
11430         [0c0417b6918c]
11431
11432         * README.LDAP, config.h.in, configure, configure.in, ldap.c:
11433         Add support for SASL auth when connecting to an LDAP server. Adapted
11434         from a diff by Tom McLaughlin.
11435         [a6285f1356ea]
11436
11437 2007-07-14  Todd C. Miller  <Todd.Miller@courtesan.com>
11438
11439         * configure, configure.in:
11440         Only enable AIX or BSD auth if no other exclusive auth method has
11441         been chosen. Allows people to e.g., use PAM on AIX without adding
11442         --without-aixauth. A better solution is needed to deal with default
11443         authentication since if a non-exclusive method is chosen we will
11444         still get an error.
11445         [83f7afdc0ec3]
11446
11447 2007-07-11  Todd C. Miller  <Todd.Miller@courtesan.com>
11448
11449         * HISTORY, Makefile.in, history.pod:
11450         Generate HISTORY from history.pod (which is also used for web pages)
11451         [60bcd5164931]
11452
11453 2007-07-09  Todd C. Miller  <Todd.Miller@courtesan.com>
11454
11455         * sudo.man.in, sudoers.man.in:
11456         regen
11457         [63956a366191]
11458
11459         * sudo.pod:
11460         Better explanation of environment handling in the sudo man page.
11461         [6c247742f7ee]
11462
11463         * env.c, sudo.c:
11464         Defer setting user-specified env vars until after authentication.
11465         [4750b79323ee]
11466
11467         * env.c:
11468         honor def_default_path for PATH set on the command line
11469         [6db31d9b6d65]
11470
11471         * env.c, sudo.c, sudo.pod, sudoers.pod:
11472         Allow user to set environment variables on the command line as long
11473         as they are allowed by env_keep and env_check. Ie: apply the same
11474         restrictions as normal environment variables. TODO: deal with
11475         secure_path
11476         [26c0da3840cf]
11477
11478 2007-07-08  Todd C. Miller  <Todd.Miller@courtesan.com>
11479
11480         * sudo.c, sudo_edit.c:
11481         Call rebuild_env() in call cases. Pass original envp to sudo_edit().
11482         Don't allow -E or env var setting in sudoedit mode. More accurate
11483         usage() when called as sudoedit.
11484         [a4af20658361]
11485
11486         * ldap.c:
11487         warn -> warning
11488         [d87d1192b048]
11489
11490         * sudo.pod:
11491         add -c option to sudoedit synopsis
11492         [15b596a7e2db]
11493
11494         * TODO:
11495         udpate to reality
11496         [e2f8fde89db1]
11497
11498         * parse.c:
11499         Use ALLOW/DENY instead of TRUE/FALSE when dealing with the return
11500         value from {user,host,runas,cmnd}_matches(). Rename *matches
11501         variables -> *match. Purely cosmetic.
11502         [e54a44c00a88]
11503
11504         * parse.c:
11505         Move setting of FLAG_NO_CHECK into the if(pwflag) block. No change
11506         in behavior.
11507         [c6272b4f2127]
11508
11509         * sudoers:
11510         add SETENV tag
11511         [3a3066bb6788]
11512
11513 2007-07-06  Todd C. Miller  <Todd.Miller@courtesan.com>
11514
11515         * parse.c:
11516         Make pwcheck local to the pwflag block. Use pwcheck even if user
11517         didn't match since Defaults options may still apply.
11518         [45da9efbbafd]
11519
11520         * check.c, sudo.c:
11521         Do not update timestamp if user not validated by sudoers.
11522         [a4a9d4364827]
11523
11524         * set_perms.c:
11525         for PERM_RUNAS, set the egid to the runas user's gid and restore to
11526         the user's original in PERM_ROOT
11527         [1514bfb32847]
11528
11529         * logging.c, mon_systrace.c, set_perms.c, sudo.h:
11530         PERM_FULL_ROOT is now no different than PERM_ROOT so remove
11531         PERM_FULL_ROOT
11532         [b9d047a3178c]
11533
11534         * check.c:
11535         don't check timestamp mtime if we are just going to remove it
11536         [5d2470bc6cbd]
11537
11538         * sudoers.pod:
11539         Move sudoers defaults parameters into their own section.
11540         [54701fbc0ff3]
11541
11542         * testsudoers.c:
11543         Reduce a level of indent by a few placed continue statements.
11544         [5d5a9838c8ef]
11545
11546         * parse.c:
11547         Make matching but negated commands/hosts/runas entries override a
11548         previous match as expected. Also reduce some levels of indent by a
11549         few placed continue statements.
11550         [dd59fa4b91a1]
11551
11552 2007-07-05  Todd C. Miller  <Todd.Miller@courtesan.com>
11553
11554         * parse.c:
11555         Print default runas in "sudo -l" if sudoers don't specify one.
11556         [07d408c400bd]
11557
11558         * match.c:
11559         Less hacky way of testing whether the domain was set.
11560         [a537059776e5]
11561
11562 2007-07-04  Todd C. Miller  <Todd.Miller@courtesan.com>
11563
11564         * INSTALL:
11565         Mention pam-devel and openldap-devel for Linux
11566         [9e708c54ecc3]
11567
11568 2007-07-03  Todd C. Miller  <Todd.Miller@courtesan.com>
11569
11570         * README.LDAP:
11571         or vs. are
11572         [abe8c0f3a410]
11573
11574 2007-07-01  Todd C. Miller  <Todd.Miller@courtesan.com>
11575
11576         * sudo.c:
11577         fix typo in Solaris project support
11578         [2ffeb2d80959]
11579
11580         * HISTORY:
11581         update
11582         [df162b36f120]
11583
11584         * sudo.c:
11585         Make -- on the command line match the manual page. The implied shell
11586         case has been simplified as a result.
11587         [cd217a1f6694]
11588
11589 2007-06-28  Todd C. Miller  <Todd.Miller@courtesan.com>
11590
11591         * sudoers2ldif:
11592         add simplistic support for sudoRunas; note that if a sudoers entry
11593         contains multiple Runas users, all will apply to the sudoRole
11594         [65b11421f5c8]
11595
11596         * sudoers2ldif:
11597         honor SETENV and NOSETENV tags
11598         [2c0d5ba7a09b]
11599
11600 2007-06-24  Todd C. Miller  <Todd.Miller@courtesan.com>
11601
11602         * mon_systrace.c:
11603         Redo setting of user_args. We now build up a private copy of argv
11604         first and then replace the NULs?with spaces.
11605         [ccbba72ea112]
11606
11607         * mon_systrace.c:
11608         getcwd() returns NULL on failure, not 0 on success
11609         [88cd9e66e530]
11610
11611         * mon_systrace.c:
11612         allow chunksiz to reach 1 before erroring out
11613         [619d68f14964]
11614
11615         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in, visudo.cat,
11616         visudo.man.in:
11617         regen
11618         [8db512d3caf0]
11619
11620 2007-06-23  Todd C. Miller  <Todd.Miller@courtesan.com>
11621
11622         * def_data.c, def_data.h, def_data.in, env.c, gram.c, gram.h, gram.y,
11623         logging.c, parse.c, parse.h, sudo.c, sudo.h, sudo.pod, sudoers.pod,
11624         toke.c, toke.l:
11625         Add support for setting environment variables on the command line.
11626         This is only allowed if the setenv sudoers options is enabled or if
11627         the command is prefixed with the SETENV tag.
11628         [5744caebd969]
11629
11630         * README.LDAP:
11631         replace Aaron's email address with the sudo-workers list
11632         [2ffce5f9afc0]
11633
11634         * configure:
11635         regen
11636         [8013dff82c0c]
11637
11638 2007-06-22  Todd C. Miller  <Todd.Miller@courtesan.com>
11639
11640         * schema.OpenLDAP, schema.iPlanet:
11641         Break schema out into separate files.
11642         [15e598e4c60b]
11643
11644         * Makefile.in, README.LDAP:
11645         Break schema out into separate files.
11646         [1a53966ca1fa]
11647
11648 2007-06-21  Todd C. Miller  <Todd.Miller@courtesan.com>
11649
11650         * auth/aix_auth.c:
11651         free message if set by authenticate()
11652         [849c220c1236]
11653
11654         * match.c:
11655         deal with NULL gr_mem
11656         [49e4d74f0bbe]
11657
11658 2007-06-20  Todd C. Miller  <Todd.Miller@courtesan.com>
11659
11660         * config.h.in:
11661         regen
11662         [fead999ad3e9]
11663
11664         * configure.in:
11665         add template for HAVE_PROJECT_H
11666         [e6c42c2eaad1]
11667
11668         * closefrom.c:
11669         include fcntl.h
11670         [54d98b382f03]
11671
11672 2007-06-19  Todd C. Miller  <Todd.Miller@courtesan.com>
11673
11674         * INSTALL:
11675         mention --with-project
11676         [d3ea3baad7c5]
11677
11678         * config.h.in, configure.in, sudo.c:
11679         Add Solaris 10 "project" support. From Michael Brantley.
11680         [f14f3c8c6554]
11681
11682         * sudoers.pod:
11683         fix typo
11684         [50db81a19787]
11685
11686         * configure:
11687         regen
11688         [ea71afd3e564]
11689
11690         * configure.in:
11691         Fix preservation of LDFLAGS in the LDAP case.
11692         [40a3a47e8059]
11693
11694         * memrchr.c:
11695         Remove dependecy on NULL
11696         [c957ae5e1733]
11697
11698         * configure:
11699         regen
11700         [4955ce0c6912]
11701
11702         * aclocal.m4, configure.in:
11703         Can't use the regular autoconf fnmatch() check since we need
11704         FNM_CASEFOLD so go back to our custom one.
11705         [f10d76237486]
11706
11707         * env.c:
11708         Fix preserving of variables in env_keep.
11709         [d040049d6b84]
11710
11711         * env.c:
11712         add XAUTHORIZATION
11713         [0d589a5fe015]
11714
11715         * UPGRADE:
11716         expand upon env resetting and mention that it began in 1.6.9 not
11717         1.7.
11718         [dba251655c76]
11719
11720         * sudoers.pod:
11721         Update descriptions of env_keep and env_check to match current
11722         reality.
11723         [dba77357954b]
11724
11725 2007-06-18  Todd C. Miller  <Todd.Miller@courtesan.com>
11726
11727         * env.c:
11728         Add LINGUAS to initial_checkenv_table. Add COLORS, HOSTNAME,
11729         LS_COLORS, MAIL, PS1, PS2, XAUTHORITY to intial_keepenv_table.
11730         [eec4632bd190]
11731
11732         * env.c, logging.c:
11733         Treat USERNAME environemnt variable like LOGNAME/USER
11734         [09f52dcfd70c]
11735
11736         * env.c:
11737         Don't need to populate keepenv table with the contents of the
11738         checkenv table.
11739         [527a14afd973]
11740
11741         * sudo.c:
11742         Don't force sudo into the C locale.
11743         [8a5bd301ef96]
11744
11745         * env.c:
11746         Make env_check apply when env_reset it true. Environment variables
11747         are passed through unless they contain '/' or '%'. There is no need
11748         to have a variable in both env_check and env_keep.
11749         [840c802721e4]
11750
11751 2007-06-16  Todd C. Miller  <Todd.Miller@courtesan.com>
11752
11753         * visudo.c:
11754         Remove an duplicate lock_file() call and add a comment.
11755         [5af9dcdf0eb6]
11756
11757         * UPGRADE:
11758         Add sudo 1.6.9 upgrade note.
11759         [1585149f2914]
11760
11761 2007-06-14  Todd C. Miller  <Todd.Miller@courtesan.com>
11762
11763         * interfaces.c:
11764         Solaris will return EINVAL if the buffer used in SIOCGIFCONF is too
11765         small. From Klaus Wagner.
11766         [d6899fc44f77]
11767
11768         * logging.c, sudo.h:
11769         Redo the long syslog line splitting based on a patch from Eygene
11770         Ryabinkin. Include memrchr() for systems without it.
11771         [66a50e8d553a]
11772
11773         * memrchr.c:
11774         Redo the long syslog line splitting based on a patch from Eygene
11775         Ryabinkin. Include memrchr() for systems without it.
11776         [2f6702b7d41b]
11777
11778         * Makefile.in, config.h.in, configure, configure.in:
11779         Redo the long syslog line splitting based on a patch from Eygene
11780         Ryabinkin. Include memrchr() for systems without it.
11781         [407a46190921]
11782
11783         * configure.in:
11784         Since we need to be able to convert timespec to timeval for utimes()
11785         the last 3 digits in the tv_nsec are not significant. This makes the
11786         sudoedit file date comparison work again.
11787         [9d0258849fa9]
11788
11789 2007-06-13  Todd C. Miller  <Todd.Miller@courtesan.com>
11790
11791         * aclocal.m4, configure, configure.in:
11792         Add SUDO_ADD_AUTH macro to deal with adding things to AUTH_OBJS.
11793         This deals with exclusive authentication methods in a simple way.
11794         [7d70072c0f35]
11795
11796 2007-06-12  Todd C. Miller  <Todd.Miller@courtesan.com>
11797
11798         * LICENSE:
11799         mkstemp.c is BSD code too.
11800         [29e236d98162]
11801
11802         * sudo.pod, sudoers.pod, visudo.pod:
11803         No commercial support for now.
11804         [7c76b3e192dd]
11805
11806 2007-06-11  Todd C. Miller  <Todd.Miller@courtesan.com>
11807
11808         * sudo.c:
11809         cleanenv() is no more.
11810         [518080514408]
11811
11812 2007-06-10  Todd C. Miller  <Todd.Miller@courtesan.com>
11813
11814         * ChangeLog:
11815         Display branch info in Changelog
11816         [44e3b27427c7]
11817
11818         * utimes.c:
11819         Include config.h early so we have it for TIME_WITH_SYS_TIME
11820         [4bf1a00d0703]
11821
11822         * ChangeLog:
11823         Fix Changelog generation and update.
11824         [6e960dbcbece]
11825
11826 2007-06-09  Todd C. Miller  <Todd.Miller@courtesan.com>
11827
11828         * closefrom.c:
11829         Use /proc/self/fd instead of /proc/$$/fd
11830
11831         Move old-style fd closing into closefrom_fallback() and call that if
11832         /proc/self/fd doesn't exist or the F_CLOSEM fcntl() fails
11833         [faa7e4810758]
11834
11835         * auth/kerb5.c, config.h.in, configure.in:
11836         o use krb5_verify_user() if available instead of doing it by hand o
11837         use krb5_init_secure_context() if we have it o pass an encryption
11838         type of 0 to krb5_kt_read_service_key() instead of
11839         ENCTYPE_DES_CBC_MD5 to let kerberos choose.
11840         [df7acf72bd7c]
11841
11842         * env.c:
11843         Check TERM and COLORTERM for '%' and '/' characters. From Debian.
11844         [f92d05197e40]
11845
11846         * configure.in:
11847         Fix closefrom() substitution in the Makefile
11848         [b642b13fcc5c]
11849
11850         * TROUBLESHOOTING:
11851         Mention alternate sudo pronunciation.
11852         [7c71dc73409f]
11853
11854 2007-06-07  Todd C. Miller  <Todd.Miller@courtesan.com>
11855
11856         * env.c:
11857         Remove KRB5_KTNAME from environment. Allow COLORTERM.
11858         [70f35a79f780]
11859
11860         * auth/kerb5.c:
11861         If we cannot get a valid service key using the default keytab it is
11862         a fatal error. Fixes a bug where sudo could be tricked into
11863         allowing access when it should not by a fake KDC. From Thor Lancelot
11864         Simon.
11865         [a3ae6a47cb23]
11866
11867 2007-05-12  Todd C. Miller  <Todd.Miller@courtesan.com>
11868
11869         * aclocal.m4, configure, configure.in:
11870         Update long long checks to use AC_CHECK_TYPES and to cache values.
11871         [047318eaaeb2]
11872
11873         * aclocal.m4, configure.in:
11874         Use AC_FUNC_FNMATCH instead of a homebrew fnmatch checker. We can't
11875         use AC_REPLACE_FNMATCH since that assumes replacing with GNU
11876         fnmatch.
11877         [80513a1003ea]
11878
11879 2007-05-11  Todd C. Miller  <Todd.Miller@courtesan.com>
11880
11881         * configure, configure.in:
11882         Add closefrom() to LIB_OBJS not SUDO_OBJS if it is missing since we
11883         need it for visudo now too.
11884         [50837c7c2b5e]
11885
11886 2007-04-24  Todd C. Miller  <Todd.Miller@courtesan.com>
11887
11888         * sudoers.pod:
11889         Attempt to clarify the bit talking about network numbers w/o
11890         netmasks.
11891         [211e68c1d034]
11892
11893         * sudo.pod:
11894         Clarify timestamp dir ownership sentence.
11895         [9178f132c7f7]
11896
11897 2007-04-20  Todd C. Miller  <Todd.Miller@courtesan.com>
11898
11899         * auth/pam.c:
11900         Linux PAM now defines __LINUX_PAM__, not __LIBPAM_VERSION. From
11901         Dmitry V. Levin.
11902         [81fce91667bc]
11903
11904 2007-04-16  Todd C. Miller  <Todd.Miller@courtesan.com>
11905
11906         * sudo.c:
11907         -i is also one of the mutually exclusive options to list it in the
11908         warning message. Noted by Chris Pepper.
11909         [7da73fb248e9]
11910
11911 2007-04-12  Todd C. Miller  <Todd.Miller@courtesan.com>
11912
11913         * visudo.pod:
11914         The sudoers variable is env_editor, not enveditor. From Jean-
11915         Francois Saucier.
11916         [2a86ec09a6db]
11917
11918 2007-03-29  Todd C. Miller  <Todd.Miller@courtesan.com>
11919
11920         * redblack.c:
11921         I tracked down the original author so credit him and include his
11922         license info.
11923         [3733553a1bba]
11924
11925 2007-02-06  Todd C. Miller  <Todd.Miller@courtesan.com>
11926
11927         * sudo.cat, sudo.man.in, sudo.pod, sudoers.cat, sudoers.man.in,
11928         sudoers.pod:
11929         Fix typos; from Jason McIntyre.
11930         [1ee4ce2512f2]
11931
11932         * logging.c:
11933         Restore signal mask before calling reapchild(). Fixes a possible
11934         race condition that could prevent sudo from properly waiting for the
11935         child.
11936         [9ee4192385dc]
11937
11938 2007-01-31  Todd C. Miller  <Todd.Miller@courtesan.com>
11939
11940         * pwutil.c:
11941         Don't declare pw_free() if we are not going to use it.
11942         [adb79a4289ca]
11943
11944         * env.c:
11945         Add NOEXEC support for AIX 5.3 which supports LDR_PRELOAD and
11946         LDR_PRELOAD64. The 64-bit version is not currently supported.
11947         Remove zero_env() prototype as it no longer exists.
11948         [b4fe65027fb6]
11949
11950 2006-12-11  Todd C. Miller  <Todd.Miller@courtesan.com>
11951
11952         * logging.c:
11953         Add "Auto-Submitted: auto-generated" line to sudo mail for rfc 3834.
11954         [78002ad90f7b]
11955
11956 2006-09-29  Todd C. Miller  <Todd.Miller@courtesan.com>
11957
11958         * auth/pam.c:
11959         If the user enters ^C at the password prompt, abort instead of
11960         trying to authenticate with an empty password (which causes an
11961         annoying delay).
11962         [da3f27b747c7]
11963
11964 2006-08-17  Todd C. Miller  <Todd.Miller@courtesan.com>
11965
11966         * closefrom.c, config.h.in, configure, configure.in:
11967         Add fcntl F_CLOSEM support to closefrom(); adapted from a diff by
11968         Darren Tucker.
11969         [0331b7780759]
11970
11971         * pwutil.c:
11972         pw_free() is only used by sudo_freepwcache() so ifdef it out too.
11973         [0014c0d9eeba]
11974
11975 2006-08-04  Todd C. Miller  <Todd.Miller@courtesan.com>
11976
11977         * config.guess, config.sub:
11978         Update to latest versions from cvs.savannah.gnu.org
11979         [aa0143101c20]
11980
11981 2006-07-31  Todd C. Miller  <Todd.Miller@courtesan.com>
11982
11983         * pwutil.c, sudo_edit.c:
11984         Move password/group cache cleaning out of sudo_end{pw,grp}ent() so
11985         we can close the passwd/group files early.
11986         [559074bd7eb7]
11987
11988         * config.h.in, configure, configure.in, set_perms.c:
11989         Add seteuid() flavor of set_perms() for systems without setreuid()
11990         or setresuid() that have a working seteuid(). Tested on Darwin.
11991         [508d8da99189]
11992
11993 2006-07-30  Todd C. Miller  <Todd.Miller@courtesan.com>
11994
11995         * mon_systrace.c:
11996         systrace_read() returns ssize_t
11997         [9f97d1d1a59d]
11998
11999         * configure, configure.in:
12000         Fix typo, -lldap vs. -ldap; from Tim Knox.
12001         [a8cc43c3bb2a]
12002
12003 2006-07-28  Todd C. Miller  <Todd.Miller@courtesan.com>
12004
12005         * HISTORY:
12006         Fix typo; Matt Ackeret
12007         [86964ee3dfbd]
12008
12009 2006-07-17  Todd C. Miller  <Todd.Miller@courtesan.com>
12010
12011         * sudo.c:
12012         Print sudoers path in -V mode for root.
12013         [dc43f2d75bd9]
12014
12015 2006-06-15  Todd C. Miller  <Todd.Miller@courtesan.com>
12016
12017         * ldap.c:
12018         Do a sub tree search instead of a base search (one level in the tree
12019         only) for sudo right objects. This allows system administrators to
12020         categorize the rights in a tree to make them easier to manage.
12021         [6d2d9abf996e]
12022
12023 2005-12-28  Todd C. Miller  <Todd.Miller@courtesan.com>
12024
12025         * sudo.pod:
12026         fix typo
12027         [1473413bcbda]
12028
12029 2005-12-04  Todd C. Miller  <Todd.Miller@courtesan.com>
12030
12031         * ldap.c:
12032         Convert GET_OPT and GET_OPTI to use just 2 args. Add timelimit and
12033         bind_timelimit support; adapted from gentoo.
12034         [afc816093026]
12035
12036 2005-11-23  Todd C. Miller  <Todd.Miller@courtesan.com>
12037
12038         * ldap.c:
12039         Support comments that start in the middle of a line
12040         [c25df6ee3db8]
12041
12042         * configure, configure.in:
12043         Define LDAP_DEPRECATED until we start using ldap_get_values_len()
12044         [ee249bfe230a]
12045
12046 2005-11-18  Todd C. Miller  <Todd.Miller@courtesan.com>
12047
12048         * closefrom.c:
12049         Silence gcc -Wsign-compare; djm@openbsd.org
12050         [28769ce6418d]
12051
12052         * error.c, sudo.c, sudo.h, testsudoers.c, visudo.c:
12053         cleanup() now takes an int as an arg so it can be used as a signal
12054         handler too.
12055         [2bb0df34d09c]
12056
12057         * sudo.c:
12058         Make a copy of the shell field in the passwd struct for NewArgv to
12059         avoid a use after free situation after sudo_endpwent() is called.
12060         [5dcc9ffd362e]
12061
12062 2005-11-17  Todd C. Miller  <Todd.Miller@courtesan.com>
12063
12064         * config.h.in, configure, configure.in:
12065         Add mkstemp() for those poor souls without it.
12066         [5fdd02e863e0]
12067
12068         * mkstemp.c:
12069         Add mkstemp() for those poor souls without it.
12070         [c99401207860]
12071
12072         * Makefile.in:
12073         Add mkstemp() for those poor souls without it.
12074         [9c1cf2678f24]
12075
12076 2005-11-15  Todd C. Miller  <Todd.Miller@courtesan.com>
12077
12078         * env.c:
12079         Add PERL5DB to list of environment variables to remove.
12080         [7375c27ecf75]
12081
12082 2005-11-13  Todd C. Miller  <Todd.Miller@courtesan.com>
12083
12084         * mon_systrace.c, mon_systrace.h:
12085         Instead of calling the check function twice with a state cookie use
12086         separate check/log functions.
12087
12088         Check more ioctl() calls for failure.
12089
12090         systrace_{read,write} now return the number of bytes read/written or
12091         -1 on error.
12092         [3dc8946d90e9]
12093
12094         * env.c:
12095         Add more environment variables to remove; from gentoo linux Add some
12096         comments about what bad env variables go to what (more to do)
12097         [6918110a6b82]
12098
12099 2005-11-11  Todd C. Miller  <Todd.Miller@courtesan.com>
12100
12101         * sudo.c, sudo_edit.c:
12102         Move sudo_end{gr,pw}ent() until just before the exec since they free
12103         up our cached copy of the passwd structs, including sudo_user and
12104         sudo_runas. Fixes a use-after-free bug.
12105         [54de3778bad0]
12106
12107         * visudo.c:
12108         Close all fd's before executing editor.
12109         [4fcc05e1bec8]
12110
12111         * sudo.c:
12112         Enable malloc debugging on OpenBSD when SUDO_DEVEL is set.
12113         [ef0e8ffa5c9f]
12114
12115         * check.c:
12116         Fix fd leak when lecture file option is enabled. From Jerry Brown
12117         [ce97f9207cd8]
12118
12119 2005-11-07  Todd C. Miller  <Todd.Miller@courtesan.com>
12120
12121         * env.c:
12122         Add PERLLIB, PERL5LIB and PERL5OPT to the default list of
12123         environment variables to remove. From Charles Morris
12124         [c96e1367d1c1]
12125
12126 2005-11-01  Todd C. Miller  <Todd.Miller@courtesan.com>
12127
12128         * env.c:
12129         add JAVA_TOOL_OPTIONS to initial_badenv_table for java 5
12130         [72a6a1571226]
12131
12132 2005-10-28  Todd C. Miller  <Todd.Miller@courtesan.com>
12133
12134         * env.c:
12135         add PS4 and SHELLOPTS to initial_badenv_table for bash
12136         [89dfb3f318f3]
12137
12138 2005-08-15  Todd C. Miller  <Todd.Miller@courtesan.com>
12139
12140         * sudoers.pod:
12141         Fix typo; Toby Peterson
12142         [b7a3222b23f4]
12143
12144 2005-08-02  Todd C. Miller  <Todd.Miller@courtesan.com>
12145
12146         * tsgetgrpw.c:
12147         Make return buffers static so they don't get clobbered
12148         [13323a39b9f5]
12149
12150 2005-07-28  Todd C. Miller  <Todd.Miller@courtesan.com>
12151
12152         * auth/securid5.c:
12153         Fix securid5 authentication, was not checking for ACM_OK. Also add
12154         default cases for the two switch()es. Problem noted by ccon at
12155         worldbank
12156         [14091e418333]
12157
12158 2005-06-27  Todd C. Miller  <Todd.Miller@courtesan.com>
12159
12160         * ldap.c:
12161         Remove ncat() in favor of just counting bytes and pre-allocating
12162         what is needed.
12163         [25b8712adb61]
12164
12165 2005-06-26  Todd C. Miller  <Todd.Miller@courtesan.com>
12166
12167         * ldap.c:
12168         Fix up some comments Add missing fclose() for the rootbinddn case
12169         [ae95c8a89711]
12170
12171         * ldap.c:
12172         align struct ldap_config
12173         [35d0d64c76f8]
12174
12175         * ldap.c:
12176         use LINE_MAX for max conf file line size
12177         [da116cb8853d]
12178
12179         * pathnames.h.in:
12180         add _PATH_LDAP_SECRET
12181         [128b04ecfab7]
12182
12183         * README.LDAP:
12184         Mention rootbinddn Give example ou=SUDOers container
12185         [852edc69bd1c]
12186
12187 2005-06-25  Todd C. Miller  <Todd.Miller@courtesan.com>
12188
12189         * INSTALL, configure, configure.in, ldap.c:
12190         Support rootbinddn in ldap.conf
12191         [1615c91522a1]
12192
12193         * env.c, sudo.pod, sudoers.pod:
12194         Preserve DISPLAY environment variable by default.
12195         [05f503d5f438]
12196
12197         * acsite.m4, configure:
12198         set need_lib_prefix=no for all cases; this is safe for LD_PRELOAD
12199         [18a04dea8d05]
12200
12201         * acsite.m4, configure:
12202         set need_version=no for all cases; this is safe for LD_PRELOAD
12203         [b542560e1a73]
12204
12205         * aclocal.m4:
12206         typo
12207         [c040df0fcd5a]
12208
12209         * configure, configure.in:
12210         Add dragonfly
12211         [f13794618636]
12212
12213         * auth/pam.c:
12214         Fix call to pam_end() when pam_open_session() fails.
12215         [0be47cdfdef1]
12216
12217         * configure:
12218         regen
12219         [7f5c13b4b800]
12220
12221         * acsite.m4:
12222         rebuild acsite.m4 from libtool 1.9f libtool.m4 ltoptions.m4
12223         ltsugar.m4 ltversion.m4
12224         [a7ba9fd1a2ab]
12225
12226         * config.guess, config.sub, ltmain.sh:
12227         merge in local changes: config.guess: o better openbsd support
12228         config.sub: o hiuxmpp support ltmain.sh o remove requirement that
12229         libs must begin with "lib" o don't print a bunch of crap about
12230         library installs o don't run ldconfig
12231         [f4149f2c720f]
12232
12233         * config.guess, config.sub, ltmain.sh:
12234         libtool 1.9f
12235         [82a534e7121f]
12236
12237         * configure.in:
12238         Update with autoupdate and make minor changes for libtool 1.9f
12239         [11b5ae5c1428]
12240
12241 2005-06-23  Todd C. Miller  <Todd.Miller@courtesan.com>
12242
12243         * parse.c:
12244         don't call sudo_ldap_display_cmnd if ldap not setup
12245         [8bcf6c094ffe]
12246
12247         * sudo_edit.c, visudo.c:
12248         Move declatation of struct timespec to its own include files for
12249         systems without it since it needs time_t defined.
12250         [b95c333299a0]
12251
12252         * gettime.c:
12253         Move declatation of struct timespec to its own include files for
12254         systems without it since it needs time_t defined.
12255         [021b4569cc0c]
12256
12257         * fileops.c:
12258         Move declatation of struct timespec to its own include files for
12259         systems without it since it needs time_t defined.
12260         [dd8573b2ee7d]
12261
12262         * emul/timespec.h:
12263         Move declatation of struct timespec to its own include files for
12264         systems without it since it needs time_t defined.
12265         [f95137771564]
12266
12267         * check.c, compat.h:
12268         Move declatation of struct timespec to its own include files for
12269         systems without it since it needs time_t defined.
12270         [2ef2ace8fe85]
12271
12272         * ldap.c:
12273         Don't set safe_cmnd for the "sudo ALL" case.
12274         [ad7fa9e07da0]
12275
12276 2005-05-27  Todd C. Miller  <Todd.Miller@courtesan.com>
12277
12278         * auth/pam.c:
12279         Call pam_open_session() and pam_close_session() to give pam_limits a
12280         chance to run. Idea from Karel Zak.
12281         [fed46d471350]
12282
12283 2005-04-24  Todd C. Miller  <Todd.Miller@courtesan.com>
12284
12285         * check.c, sudo.c:
12286         Add explicit cast from mode_t -> u_int in printf to silence warnings
12287         on Solaris
12288         [17bb961fe22d]
12289
12290         * parse.c:
12291         include grp.h to silence a warning on Solaris
12292         [14386fbab640]
12293
12294 2005-04-23  Todd C. Miller  <Todd.Miller@courtesan.com>
12295
12296         * parse.c:
12297         Fix printing of += and -= defaults.
12298         [a667604c56cd]
12299
12300 2005-04-17  Todd C. Miller  <Todd.Miller@courtesan.com>
12301
12302         * mon_systrace.c:
12303         Sanity check number of syscall args with argsize. Not really needed
12304         but a little paranoia never hurts.
12305         [6bb455a2c2d6]
12306
12307         * mon_systrace.c, mon_systrace.h:
12308         Don't do pointer arithmetic on void * Use int, not size_t/ssize_t
12309         for systrace lengths (since it uses int)
12310         [3cafccffcffd]
12311
12312 2005-04-16  Todd C. Miller  <Todd.Miller@courtesan.com>
12313
12314         * mon_systrace.c:
12315         Add some memsets for paranoia Fix namespace collsion w/ error Check
12316         rval of decode_args() and update_env() Remove improper setting of
12317         validated variable
12318         [3d385158354d]
12319
12320 2005-04-12  Todd C. Miller  <Todd.Miller@courtesan.com>
12321
12322         * parse.c, sudo.c, sudo.h:
12323         In -l mode, only check local sudoers file if def_ignore_sudoers is
12324         not set and call LDAP versions from display_privs() and
12325         display_cmnd() instead of directly from main(). Because of this we
12326         need to defer closing the ldap connection until after -l processing
12327         has ocurred and we must pass in the ldap pointer to display_privs()
12328         and display_cmnd().
12329         [1dfc2e8c9f2b]
12330
12331         * ldap.c:
12332         Reorganize LDAP code to better match normal sudoers parsing.
12333         Instead of storing strings for later printing in -l mode we do
12334         another query since the authenticating user and the user being
12335         listed may not be the same (the new -U flag). Also add support for
12336         "sudo -l command".
12337
12338         There is still a fair bit if duplicated code that can probably be
12339         refactored.
12340         [e9568f19bde5]
12341
12342 2005-04-11  Todd C. Miller  <Todd.Miller@courtesan.com>
12343
12344         * ldap.c:
12345         Replace pass variable with do_netgr for better readability.
12346         [1bba841b6e79]
12347
12348         * ldap.c:
12349         use DPRINTF macro
12350         [02b159b66bb5]
12351
12352         * ldap.c:
12353         estrdup, not strdup
12354         [22cdee7973c1]
12355
12356 2005-04-10  Todd C. Miller  <Todd.Miller@courtesan.com>
12357
12358         * parse.c:
12359         Add macro to test if the tag changed to improve readability.
12360         [4e11b4819556]
12361
12362         * parse.c:
12363         Avoid printing defaults header if there are no defaults to print...
12364         [41a28627df03]
12365
12366         * glob.c:
12367         Fix a warning on systems without strlcpy().
12368         [6814e0f0e4f4]
12369
12370         * pwutil.c:
12371         Use macros where possible for sudo_grdup() like sudo_pwdup().
12372         [30f201ff35cd]
12373
12374 2005-04-08  Todd C. Miller  <Todd.Miller@courtesan.com>
12375
12376         * utimes.c:
12377         It is possible for tv_usec to hold >= 1000000 usecs so add in
12378         tv_usec / 1000000.
12379         [794ac4d53a65]
12380
12381 2005-03-30  Todd C. Miller  <Todd.Miller@courtesan.com>
12382
12383         * auth/kerb5.c:
12384         The component in krb5_principal_get_comp_string() should be 1, not 0
12385         for Heimdal. From Alex Plotnick.
12386         [fefa351c5044]
12387
12388 2005-03-29  Todd C. Miller  <Todd.Miller@courtesan.com>
12389
12390         * alias.c, alloc.c, check.c, defaults.c, find_path.c, gram.c, gram.y,
12391         interfaces.c, ldap.c, logging.c, match.c, mon_systrace.c, pwutil.c,
12392         redblack.c, sudo.c, sudo.h, toke.c, toke.l, visudo.c:
12393         Add efree() for consistency with emalloc() et al. Allows us to rely
12394         on C89 behavior (free(NULL) is valid) even on K&R.
12395         [7876bb80d87c]
12396
12397         * parse.c, sudo.c:
12398         Move initgroups() for -U option into display_privs() so group
12399         matching in sudoers works correctly.
12400         [b074428ad2ca]
12401
12402 2005-03-27  Todd C. Miller  <Todd.Miller@courtesan.com>
12403
12404         * ldap.c:
12405         Removed duplicate call to ldap_unbind_s introduced along with
12406         sudo_ldap_close.
12407         [19acc1c20f7c]
12408
12409         * parse.c:
12410         Add missing space in Defaults printing
12411         [95d2935bf6d4]
12412
12413 2005-03-25  Todd C. Miller  <Todd.Miller@courtesan.com>
12414
12415         * pwutil.c:
12416         Sync sudo_pwdup with OpenBSD changes: use macros for size computaton
12417         and string copies.
12418         [6b6b241495e5]
12419
12420 2005-03-19  Todd C. Miller  <Todd.Miller@courtesan.com>
12421
12422         * pwutil.c:
12423         Zero old pw_passwd before replacing with version from shadow file.
12424         [3251b349dfe1]
12425
12426         * configure, configure.in:
12427         Only attempt shadow password detection if PAM is not being used Add
12428         shadow_* variables to make shadow password detection more generic.
12429         [d498a3423ac9]
12430
12431         * configure.in:
12432         Use OSDEFS for os-specific -D_FOO_BAR stuff rather than CPPFLAGS
12433         [04d55bbd5e35]
12434
12435 2005-03-13  Todd C. Miller  <Todd.Miller@courtesan.com>
12436
12437         * sudoers.pod:
12438         use a non-breaking space to avoid a double space after e.g.
12439         [11cdb54bdf7b]
12440
12441         * sudo.pod:
12442         commna, not colon after e.g.
12443         [8d5875ff72e0]
12444
12445 2005-03-12  Todd C. Miller  <Todd.Miller@courtesan.com>
12446
12447         * sudo_noexec.c:
12448         Add __ variants of the exec functions. GNU libc at least uses
12449         __execve() internally.
12450         [d1880473d790]
12451
12452         * indent.pro:
12453         Match reality a bit more.
12454         [633e3fa875a7]
12455
12456         * pwutil.c:
12457         Missed piece from rev. 1.6, fix sudo_getpwnam() too.
12458         [128f7b21c2ee]
12459
12460         * pwutil.c:
12461         Store shadow password after making a local copy of struct passwd in
12462         case normal and shadow routines use the same internal buffer in
12463         libc.
12464         [f806052a6ffc]
12465
12466 2005-03-11  Todd C. Miller  <Todd.Miller@courtesan.com>
12467
12468         * alloc.c, logging.c:
12469         Make varargs usage consistent with the rest of the code.
12470         [3d45affc9851]
12471
12472 2005-03-10  Todd C. Miller  <Todd.Miller@courtesan.com>
12473
12474         * sudo_noexec.c:
12475         Wrap more of the exec family since on Linux the others do not appear
12476         to go through the normal execve() path.
12477         [8167769b4e19]
12478
12479         * visudo.c:
12480         make print_unused static like proto says
12481         [ecf10e1bae55]
12482
12483         * glob.c:
12484         silence a warning on K&R systems
12485         [2e00425f1a5c]
12486
12487         * alias.c, error.c:
12488         make this build in K&R land
12489         [156f65f8525a]
12490
12491         * parse.c:
12492         make this build in K&R land
12493         [6fc9276889cb]
12494
12495 2005-03-08  Todd C. Miller  <Todd.Miller@courtesan.com>
12496
12497         * toke.c:
12498         regen
12499         [3b349748cd21]
12500
12501 2005-03-06  Todd C. Miller  <Todd.Miller@courtesan.com>
12502
12503         * ldap.c:
12504         return(foo) not return foo optimize _atobool() slightly
12505         [11d09d154ed5]
12506
12507         * ldap.c:
12508         Use TRUE/FALSE
12509         [53999320d98f]
12510
12511         * ldap.c:
12512         Reformat to match the rest of sudo's code.
12513         [1bd0f2afa0e7]
12514
12515         * sudo.pod:
12516         I am the primary author
12517         [5d311ecd85c6]
12518
12519 2005-02-23  Todd C. Miller  <Todd.Miller@courtesan.com>
12520
12521         * Makefile.in, README, RUNSON:
12522         The RUNSON file is toast--it confused too many people and really
12523         isn't needed in a configure-oriented world.
12524         [96a6ef7bbc08]
12525
12526         * INSTALL:
12527         alternate -> alternative
12528         [b65015c5d0a2]
12529
12530         * tgetpass.c:
12531         Use TCSADRAIN instead of TCSAFLUSH since some OSes have issues with
12532         TCSAFLUSH.
12533         [c66b4763ffdc]
12534
12535         * toke.l:
12536         Allow leading blanks before Defaults and Foo_Alias definitions
12537         [2add513d9277]
12538
12539         * Makefile.in:
12540         fix rules to build toke.o and gram.o in devel mode
12541         [96cbb414ebd3]
12542
12543 2005-02-20  Todd C. Miller  <Todd.Miller@courtesan.com>
12544
12545         * sudoers.pod:
12546         env_keep overrides set_logname
12547         [401877193a15]
12548
12549         * env.c:
12550         Fix disabling set_logname and make env_keep override set_logname.
12551         [0906e7a5ed93]
12552
12553         * compat.h, config.h.in, configure, configure.in:
12554         No longer need memmove()
12555         [43bdb6efe3f2]
12556
12557         * env.c, sudo.c:
12558         Just clean the environment once. This assumes that any further
12559         setenv/putenv will be able to handle the fact that we replaced
12560         environ with our own malloc'd copy but all the implementations I've
12561         checked do.
12562         [11658fe92ba2]
12563
12564 2005-02-16  Todd C. Miller  <Todd.Miller@courtesan.com>
12565
12566         * env.c, sudo.c:
12567         In -i mode, base the value of insert_env()'s dupcheck flag on
12568         DID_FOO flags. Move checks for $HOME resetting into rebuild_env()
12569         [8365b0bd0c71]
12570
12571 2005-02-13  Todd C. Miller  <Todd.Miller@courtesan.com>
12572
12573         * env.c, sudo.c:
12574         Move setting of user_path, user_shell, user_prompt and prev_user
12575         into init_vars() since user_shell at least is needed there.
12576         [37e22dce66e9]
12577
12578 2005-02-12  Todd C. Miller  <Todd.Miller@courtesan.com>
12579
12580         * Makefile.in:
12581         fix devel builds
12582         [9fbb15ef164c]
12583
12584         * sudo.c:
12585         Fix some printf format mismatches on error.
12586         [ffc1c3f11740]
12587
12588         * check.c:
12589         Fix some printf format mismatches on error.
12590         [7b3b508adf50]
12591
12592         * configure, gram.c, toke.c:
12593         regen
12594         [aa76f9d8b02a]
12595
12596         * Makefile.in, aclocal.m4, alias.c, alloc.c, auth/afs.c,
12597         auth/aix_auth.c, auth/bsdauth.c, auth/dce.c, auth/fwtk.c,
12598         auth/kerb4.c, auth/kerb5.c, auth/pam.c, auth/passwd.c,
12599         auth/rfc1938.c, auth/secureware.c, auth/securid.c, auth/securid5.c,
12600         auth/sia.c, auth/sudo_auth.c, auth/sudo_auth.h, check.c,
12601         closefrom.c, compat.h, configure.in, defaults.c, defaults.h,
12602         emul/utime.h, env.c, error.c, fileops.c, find_path.c, getprogname.c,
12603         getspwuid.c, gettime.c, goodpath.c, gram.y, interfaces.c,
12604         interfaces.h, ldap.c, logging.c, logging.h, match.c, mon_systrace.c,
12605         parse.c, redblack.c, redblack.h, set_perms.c, sigaction.c,
12606         snprintf.c, strcasecmp.c, strerror.c, strlcat.c, strlcpy.c, sudo.c,
12607         sudo.h, sudo.pod, sudo_edit.c, sudo_noexec.c, sudoers.pod,
12608         testsudoers.c, tgetpass.c, toke.l, utimes.c, version.h, visudo.c,
12609         visudo.pod, zero_bytes.c:
12610         Update copyright years.
12611         [0610c3654739]
12612
12613         * Makefile.binary.in:
12614         Update copyright years.
12615         [d78ffc9f2e2b]
12616
12617         * LICENSE:
12618         Update copyright years.
12619         [f60473bca4b1]
12620
12621         * BUGS, INSTALL, INSTALL.binary, Makefile.in, README, configure.in:
12622         version 1.7
12623         [aa977a544ca1]
12624
12625         * WHATSNEW:
12626         What's new in sudo 1.7, based on the 1.7 CHANGES entries.
12627         [ecfcf7269c14]
12628
12629 2005-02-11  Todd C. Miller  <Todd.Miller@courtesan.com>
12630
12631         * compat.h, logging.h, sudo.h:
12632         Add __printflike and use it with gcc to warn about printf-like
12633         format mismatches
12634         [b192ad4a0548]
12635
12636 2005-02-10  Todd C. Miller  <Todd.Miller@courtesan.com>
12637
12638         * CHANGES, ChangeLog:
12639         Replaced CHANGES file with ChangeLog generated from cvs logs
12640         [d9ace9dab98f]
12641
12642         * set_perms.c:
12643         Use warning/error instead of perror/fatal.
12644         [e33259df7738]
12645
12646         * config.guess:
12647         Update OpenBSD section
12648         [9d2c23de6801]
12649
12650         * UPGRADE:
12651         Add upgrading noted for 1.7
12652         [1fb6b6d6df07]
12653
12654         * env.c, sudo.c, sudoers.pod:
12655         Instead of zeroing out the environment, just prune out entries based
12656         on the env_delete and env_check lists. Base building up the new
12657         environment on the current environment and the variables we removed
12658         initially.
12659         [fc192df8fd15]
12660
12661         * config.h.in, configure, configure.in, sudo.c:
12662         Set locale to "C" if locales are supported, just to be safe.
12663         [91fbaa98f02e]
12664
12665         * toke.c, toke.l:
12666         Cast?argument to ctype functions to unsigned char.
12667         [e096b4d65796]
12668
12669 2005-02-08  Todd C. Miller  <Todd.Miller@courtesan.com>
12670
12671         * env.c:
12672         correct value for DID_USER
12673         [b5b05d36ec15]
12674
12675         * error.c, fnmatch.c, getcwd.c, glob.c, snprintf.c:
12676         #include <compat.h> not "compat.h"
12677         [7a0ad9a0ccd7]
12678
12679         * defaults.c:
12680         Reset the environment by default.
12681         [4ecc6423e0f0]
12682
12683         * sudo.c:
12684         Alloc an extra slot in NewArgv. Removes the need to malloc an new
12685         vector if execve() fails.
12686         [83dfb6f584a7]
12687
12688 2005-02-07  Todd C. Miller  <Todd.Miller@courtesan.com>
12689
12690         * INSTALL, config.h.in, configure, configure.in, sudo.c:
12691         Use execve(2) and wrap the command in sh if we get ENOEXEC.
12692         [c0c6af4e2a21]
12693
12694 2005-02-06  Todd C. Miller  <Todd.Miller@courtesan.com>
12695
12696         * sudo_noexec.c:
12697         Only include time.h on systems that lack struct timespec which gets
12698         defind in compat.h (using time_t).
12699         [e373e518b4cb]
12700
12701         * sudo_noexec.c:
12702         Include time.h for time_t in compat.h for systems w/o struct
12703         timespec.
12704         [a34b5637e458]
12705
12706         * compat.h, config.h.in, configure, configure.in:
12707         use bcopy on systems w/o memmove
12708         [f835eafd78c6]
12709
12710         * compat.h:
12711         __attribute__((__unused__)) doesn't work in gcc 2.7.2.1 so limit its
12712         use to gcc >= 2.8.
12713         [1cb9a4e58566]
12714
12715         * Makefile.in:
12716         Add explicit rule to build sudo_noexec.lo
12717         [df1dfcf8dd77]
12718
12719 2005-02-05  Todd C. Miller  <Todd.Miller@courtesan.com>
12720
12721         * INSTALL.configure, Makefile.in:
12722         No longer depend on VPATH; pointed out a bunch of missed
12723         dependencies.
12724         [601a45d4af6b]
12725
12726         * TROUBLESHOOTING:
12727         Help for PAM when account section is missing
12728         [9b8221256756]
12729
12730         * auth/pam.c:
12731         Give user a clue when there is a missing "account" section in the
12732         PAM config.
12733         [2529625c0495]
12734
12735         * auth/pam.c:
12736         Better error handling.
12737         [518c9bda23d8]
12738
12739         * config.h.in, configure, configure.in:
12740         Move _FOO_SOURCE to CPPFLAGS so it takes effect as early as
12741         possible. Silences a warning about isblank() on linux.
12742         [19c94d7ecdc8]
12743
12744         * auth/pam.c:
12745         Fix typo (missing comma) that caused an incorrect number of args to
12746         be passed to log_error().
12747         [0099dfec560f]
12748
12749 2005-02-01  Todd C. Miller  <Todd.Miller@courtesan.com>
12750
12751         * pwutil.c:
12752         Don't try to destroy a tree we didn't create.
12753         [d43c4fe03aa4]
12754
12755 2005-01-27  Todd C. Miller  <Todd.Miller@courtesan.com>
12756
12757         * alias.c, alloc.c, auth/afs.c, auth/aix_auth.c, auth/bsdauth.c,
12758         auth/dce.c, auth/fwtk.c, auth/kerb4.c, auth/kerb5.c, auth/pam.c,
12759         auth/passwd.c, auth/rfc1938.c, auth/secureware.c, auth/securid.c,
12760         auth/securid5.c, auth/sia.c, auth/sudo_auth.c, check.c, closefrom.c,
12761         compat.h, defaults.c, env.c, error.c, fileops.c, find_path.c,
12762         fnmatch.c, getcwd.c, getprogname.c, getspwuid.c, gettime.c,
12763         goodpath.c, gram.c, gram.y, interfaces.c, ldap.c, logging.c,
12764         match.c, mon_systrace.c, parse.c, pwutil.c, set_perms.c,
12765         sigaction.c, snprintf.c, strcasecmp.c, strerror.c, strlcat.c,
12766         strlcpy.c, sudo.c, sudo_edit.c, sudo_noexec.c, testsudoers.c,
12767         tgetpass.c, toke.c, toke.l, utimes.c, visudo.c, zero_bytes.c:
12768         Add __unused to rcsids
12769         [ad6b4ac45705]
12770
12771 2005-01-21  Todd C. Miller  <Todd.Miller@courtesan.com>
12772
12773         * configure, configure.in:
12774         Fix error message when mixing invalid auth types
12775         [68069b3ff5bc]
12776
12777         * INSTALL:
12778         PAM, AIX auth, BSD auth and login_cap are now on by default if the
12779         OS supports them.
12780         [4e44e9098cf0]
12781
12782         * auth/sudo_auth.h, config.h.in:
12783         s/HAVE_AUTHENTICATE/HAVE_AIXAUTH/g
12784         [2d569b43b23e]
12785
12786         * configure.in:
12787         Better checking for conflicting authentication methods Display the
12788         authentication methods used at the end of configure Rename --with-
12789         authenticate -> --with-aixauth Use --with-aixauth, --with-bsdauth,
12790         --with-pam, --with-logincap by default on systems that support them
12791         unless disabled. Add OSMAJOR variable that replaces old OSREV; now
12792         OSREV has full version number
12793         [a21115b6fe9f]
12794
12795 2005-01-18  Todd C. Miller  <Todd.Miller@courtesan.com>
12796
12797         * def_data.c, def_data.in, sudo.c, sudoers.pod:
12798         s/-O/-C/
12799         [ee73f1b81923]
12800
12801 2005-01-14  Todd C. Miller  <Todd.Miller@courtesan.com>
12802
12803         * configure.in:
12804         Replace: test -n "$FOO" || FOO="bar"
12805
12806         With: : ${FOO='bar'}
12807         [37552d9054fc]
12808
12809 2005-01-09  Todd C. Miller  <Todd.Miller@courtesan.com>
12810
12811         * pwutil.c, testsudoers.c, tsgetgrpw.c:
12812         Use function pointers to only call private passwd/group routines
12813         when using a nonstandard passwd/group file.
12814         [215908681dfb]
12815
12816 2005-01-06  Todd C. Miller  <Todd.Miller@courtesan.com>
12817
12818         * CHANGES:
12819         sync
12820         [2e55c03f5790]
12821
12822         * tsgetgrpw.c:
12823         Can't use strtok() since it doesn't handle empty fields so add
12824         getpwent()/getgrent() functions and call those.
12825         [bdaa5b0db70e]
12826
12827 2005-01-05  Todd C. Miller  <Todd.Miller@courtesan.com>
12828
12829         * Makefile.in:
12830         Fix dummied out toke.c and gram.c dependencies.
12831         [4b909c8b2ebe]
12832
12833         * Makefile.in:
12834         Rename PARSESRCS -> GENERATED since it is only used in the clean
12835         target Add devdir variable and use it to specify the path to parser
12836         sources
12837         [f27b3f41ca23]
12838
12839         * configure:
12840         regen
12841         [22c6435dbd46]
12842
12843         * configure.in:
12844         Add a devdir variables that defaults to $(srcdir) and is set to . if
12845         --devel was specified. Allows for proper dependecies building the
12846         parser.
12847         [a36d694c6d21]
12848
12849         * testsudoers.c:
12850         Add support for custom passwd/group files.
12851         [296549ff4b87]
12852
12853         * Makefile.in:
12854         Build private copy of pwutil.o for testsudoers with MYPW defined so
12855         it uses our own passwd/group routines.
12856         [bafa54ec78ca]
12857
12858         * visudo.c:
12859         Remove sudo_*{pw,gr}* stubs and add sudo_setspent/sudo_endspent
12860         stubs instead. We can now just use the caching sudo_*{pw,gr}*
12861         functions in pwutil.c Add comment about wanting to call
12862         sudo_endpwent/sudo_endgrent in cleanup()
12863         [7e59d6b5510d]
12864
12865         * tsgetgrpw.c:
12866         Remove caching; we will just use what is in pwutil.c Use global
12867         buffers for passwd/group structs Rename functions from sudo_* to
12868         my_*
12869         [8c1e068f574c]
12870
12871         * logging.c, sudo.c:
12872         g/c pwcache_init/pwcache_destroy
12873         [60a24909b947]
12874
12875         * sudo.h:
12876         Undo last commit and add sudo_setspent and sudo_endspent instead.
12877         [bac80db08296]
12878
12879         * getspwuid.c, pwutil.c:
12880         Move all but the shadow stuff from getspwuid.c to pwutil.c and
12881         pwcache_get and pwcache_put as they are no longer needed. Also add
12882         preprocessor magic to use private versions of the passwd and group
12883         routines if MYPW is defined (for use by testsudoers).
12884         [a16b8678a426]
12885
12886         * tsgetgrpw.c:
12887         zero out struct passwd/group before filling it in so if there are
12888         fields we don't handle they end up as 0.
12889         [274cb6a93301]
12890
12891         * logging.c, sudo.c, sudo.h, testsudoers.c, visudo.c:
12892         Adapt to pwutil.c
12893         [43ebd04c8b82]
12894
12895         * Makefile.in:
12896         Add tsgetgrpw.c and pwutil.c Rename the *OBJ variables for better
12897         readability.
12898         [7f88c6061e2d]
12899
12900         * tsgetgrpw.c:
12901         Passwd and group lookup routines for testsudoers that support
12902         alternate passwd and group files.
12903         [d7803101d34e]
12904
12905         * getspwuid.c, pwutil.c:
12906         Split off pw/gr cache and dup code into its own file. This allows
12907         visudo and testsudoers to use the pw/gr cache too.
12908         [ef333d3ffedf]
12909
12910 2005-01-02  Todd C. Miller  <Todd.Miller@courtesan.com>
12911
12912         * parse.c:
12913         Print Defaults info in "sudo -l" output and wrap lines based on the
12914         terminal width.
12915         [e559eae4250e]
12916
12917 2005-01-01  Todd C. Miller  <Todd.Miller@courtesan.com>
12918
12919         * match.c, testsudoers.c, visudo.c:
12920         Only check group vector in usergr_matches() if we are matching the
12921         invoking or list user. Always check the group members, even if
12922         there was a group vector.
12923         [d0c7ceb2a041]
12924
12925 2004-12-17  Todd C. Miller  <Todd.Miller@courtesan.com>
12926
12927         * LICENSE, Makefile.in, fnmatch.3:
12928         No longer bundle fnmatch.3
12929         [72db4a4ff4e1]
12930
12931         * CHANGES, TODO:
12932         checkpoint
12933         [e92781bfd99c]
12934
12935 2004-12-16  Todd C. Miller  <Todd.Miller@courtesan.com>
12936
12937         * sudo.c:
12938         sort usage
12939         [15e3b876ec2c]
12940
12941         * sudo.pod:
12942         Sort command line options
12943         [c1fa56584bc4]
12944
12945         * def_data.c, def_data.h, def_data.in, defaults.c, logging.c, sudo.c,
12946         sudo.pod, sudoers.pod:
12947         Add closefrom sudoers option to start closing at a point other than
12948         3. Add closefrom_override sudoers option and -C sudo flag to allow
12949         the user to specify a different closefrom starting point.
12950         [370652b099d1]
12951
12952         * pathnames.h.in:
12953         Add _PATH_DEVNULL for those without it.
12954         [0c4c3e0ceb8b]
12955
12956         * LICENSE:
12957         no more UCB strcasecmp
12958         [397a6298e07f]
12959
12960         * strcasecmp.c:
12961         replace BSD licensed one with version derived from pdksh
12962         [d7cfda8c57a2]
12963
12964 2004-12-10  Todd C. Miller  <Todd.Miller@courtesan.com>
12965
12966         * sudo.c:
12967         Fix last commit.
12968         [7afb9a180532]
12969
12970         * sudo.c:
12971         Make sure stdin, stdout and stderr are open and dup them to
12972         /dev/null if not.
12973         [590f387068bd]
12974
12975 2004-12-03  Todd C. Miller  <Todd.Miller@courtesan.com>
12976
12977         * ldap.c, mon_systrace.c, sudo.c, sudo.h:
12978         add sudo_ldap_close
12979         [4273a36765a7]
12980
12981         * fileops.c, gettime.c, sudo.c, sudo_edit.c, utimes.c, visudo.c:
12982         Use TIME_WITH_SYS_TIME
12983         [c32b59bf15fb]
12984
12985         * config.h.in, configure, configure.in:
12986         Add TIME_WITH_SYS_TIME_H
12987         [57cb146f451d]
12988
12989 2004-12-02  Todd C. Miller  <Todd.Miller@courtesan.com>
12990
12991         * env.c:
12992         Add missing braces to avoid DYLD_FORCE_FLAT_NAMESPACE being set
12993         unconditionally on darwin. From Toby Peterson.
12994         [d69959681c87]
12995
12996         * getspwuid.c:
12997         Check rbinsert() return value. In the case of faked up entries
12998         there is usually a negative response cached that we need to
12999         overwrite.
13000
13001         In pwfree() don't try to zero out a NULL pw_passwd pointer.
13002         [00b32d1a48c1]
13003
13004         * mon_systrace.c:
13005         Use the double fork trick to avoid the monitor process being waited
13006         for by the main program run through sudo.
13007         [e0ce556712ff]
13008
13009 2004-11-29  Todd C. Miller  <Todd.Miller@courtesan.com>
13010
13011         * sudo.c:
13012         Call initgroups() in -U mode so group matches work normally.
13013         [2235bea15283]
13014
13015         * def_data.h, mkdefaults:
13016         Don't print a trailing comma for the last entry in enum def_tupple
13017         [c43a96bb31df]
13018
13019 2004-11-28  Todd C. Miller  <Todd.Miller@courtesan.com>
13020
13021         * sudoers.cat, sudoers.man.in, sudoers.pod:
13022         Mention values when lecture, listpw and verifypw are used in boolean
13023         context.
13024         [a0b5c0abaccf]
13025
13026         * def_data.c, def_data.in:
13027         verifypw when used in a boolean TRUE context should be "all", not
13028         "any".
13029         [2eb076ddd5e2]
13030
13031 2004-11-26  Todd C. Miller  <Todd.Miller@courtesan.com>
13032
13033         * def_data.in, defaults.c:
13034         Allow tuples that can be used as booleans to be used as boolean
13035         TRUE. In this case the 2nd possible value of the tuple is used for
13036         TRUE.
13037         [bd99aa77e88b]
13038
13039 2004-11-25  Todd C. Miller  <Todd.Miller@courtesan.com>
13040
13041         * configure, configure.in:
13042         Correct the test for 2-parameter timespecsub
13043         [d41c9cb26b97]
13044
13045         * sudo.h:
13046         Add strub struct definitions for passwd, timeval and timespec
13047         [c4ce5c43d8c5]
13048
13049         * config.h.in, configure, configure.in, sudo_edit.c, visudo.c:
13050         Add check for 2-argument form of timespecsub (FreeBSD and BSD/OS)
13051         and fix a typo in the gettimeofday check.
13052         [8ac9893057ce]
13053
13054 2004-11-24  Todd C. Miller  <Todd.Miller@courtesan.com>
13055
13056         * match.c, testsudoers.c:
13057         Deal with user_stat being NULL as it is for visudo and testsudoers.
13058         [3605a6ff64d0]
13059
13060         * parse.c, sudo.c, sudo.cat, sudo.h, sudo.man.in, sudo.pod:
13061         Add -U option to use in conjunction with -l instead of -u. Add
13062         support for "sudo -l command" to test a specific command.
13063         [99638789d415]
13064
13065         * gram.c, gram.y, sudo.c:
13066         Set safe_cmnd after sudoers_lookup() if it has not been set.
13067         Previously it was set by sudo "ALL" in the parser but at that point
13068         the fully-qualified pathname has not yet been found.
13069         [ac30d98f8225]
13070
13071 2004-11-23  Todd C. Miller  <Todd.Miller@courtesan.com>
13072
13073         * parse.c, testsudoers.c:
13074         Correctly handle multiple privileges per userspec and runas
13075         inheritence.
13076         [a98a965181af]
13077
13078 2004-11-21  Todd C. Miller  <Todd.Miller@courtesan.com>
13079
13080         * defaults.c:
13081         Zero out sd_un for each entry in sudo_defs_table in init_defaults.
13082         [031d3cd4a848]
13083
13084 2004-11-19  Todd C. Miller  <Todd.Miller@courtesan.com>
13085
13086         * toke.c, toke.l:
13087         make per-command defaults work with sudoedit
13088         [e56fe33db916]
13089
13090         * ldap.c, parse.c, sudo.c, sudo.h:
13091         Remove the FLAG_NOPASS, FLAG_NOEXEC and FLAG_MONITOR flags.
13092         Instead, we just set the approriate defaults variable.
13093         [756eeecc1d86]
13094
13095         * sample.sudoers, sudoers.cat, sudoers.man.in, sudoers.pod:
13096         Document per-command Defaults.
13097         [92a0f84b91c1]
13098
13099         * defaults.c, defaults.h, gram.c, gram.h, gram.y, mon_systrace.c,
13100         sudo.c, testsudoers.c, toke.c, toke.l, visudo.c:
13101         Add support for command-specific Defaults entries. E.g.
13102         Defaults!/usr/bin/vi noexec
13103         [be3d52bf01cf]
13104
13105         * defaults.c, match.c, parse.c, parse.h, testsudoers.c:
13106         Change an occurence of user_matches() -> runas_matches() missed
13107         previously runas_matches(), host_matches() and cmnd_matches() only
13108         really need to pass in a list of members. user_matches() still
13109         needs to pass in a passwd struct because of "sudo -l"
13110         [833b22fc6fa0]
13111
13112         * parse.c:
13113         Check def_authenticate, def_noexec and def_monitor when setting
13114         return flags. XXX May be better to just set the defaults directly
13115         and get rid of those flags.
13116         [b6db22b59d69]
13117
13118         * alias.c, alloc.c, auth/afs.c, auth/aix_auth.c, auth/bsdauth.c,
13119         auth/dce.c, auth/fwtk.c, auth/kerb4.c, auth/kerb5.c, auth/pam.c,
13120         auth/passwd.c, auth/rfc1938.c, auth/secureware.c, auth/securid.c,
13121         auth/securid5.c, auth/sia.c, auth/sudo_auth.c, check.c, closefrom.c,
13122         defaults.c, env.c, error.c, fileops.c, find_path.c, fnmatch.c,
13123         getcwd.c, getprogname.c, getspwuid.c, gettime.c, glob.c, goodpath.c,
13124         gram.c, gram.y, interfaces.c, ldap.c, logging.c, match.c,
13125         mon_systrace.c, parse.c, redblack.c, set_perms.c, snprintf.c,
13126         strcasecmp.c, strerror.c, strlcat.c, strlcpy.c, sudo.c, sudo_edit.c,
13127         sudo_noexec.c, testsudoers.c, tgetpass.c, toke.c, toke.l, utimes.c,
13128         visudo.c, zero_bytes.c:
13129         Use: #include <config.h> Not: #include "config.h" That way we get
13130         the correct config.h when build dir != src dir
13131         [97e5670a442b]
13132
13133         * Makefile.in:
13134         Back out part of rev 1.263; fix -I order
13135         [197ea01cad5d]
13136
13137         * toke.c, toke.l:
13138         More robust parsing if #include; could be much better still.
13139         [31bc3cd8f045]
13140
13141         * sudo_edit.c, visudo.c:
13142         Make arg splitting in visudo and sudoedit consistent.
13143         [7bc74485f246]
13144
13145         * Makefile.in, alias.c, gram.c, gram.y, parse.h:
13146         Split alias routines out into their own file.
13147         [d90f633cf9ae]
13148
13149         * error.h:
13150         __attribute__ is already defined in compat.h
13151         [676ed3fe9203]
13152
13153         * visudo.c:
13154         quit() should not be __noreturn__ as it is non-void on some
13155         platforms.
13156         [e528c2b6ba10]
13157
13158         * auth/fwtk.c, auth/rfc1938.c, auth/securid.c, auth/securid5.c:
13159         Add local error/warning functions like err/warn but that call an
13160         additional cleanup routine in the error case. This means we no
13161         longer need to compile a special version of alloc.o for visudo.
13162         [e78e8aae882e]
13163
13164         * parse.h:
13165         Clarify comments about the data structures
13166         [ae894e266701]
13167
13168 2004-11-18  Todd C. Miller  <Todd.Miller@courtesan.com>
13169
13170         * visudo.c:
13171         Add support for VISUAL and EDITOR containing command line args. If
13172         env_editor is not set any args in VISUAL and EDITOR are ignored.
13173         Arguments are also now supported in def_editor.
13174         [ff7303b8e298]
13175
13176 2004-11-17  Todd C. Miller  <Todd.Miller@courtesan.com>
13177
13178         * parse.h:
13179         alias_matches() is no more
13180         [b59825e28084]
13181
13182         * CHANGES, TODO:
13183         sync
13184         [2b8f5f63c1de]
13185
13186         * Makefile.in:
13187         When regenerating the parser, don't replace gram.h unless it has
13188         changed.
13189         [819949668018]
13190
13191         * Makefile.in:
13192         remove Makefile.binary for distclean
13193         [351eec8d00b2]
13194
13195         * env.c:
13196         Preserve KRB5CCNAME in zero_env() and add a paranoia check to make
13197         sure we can't overflow new_env.
13198         [3284d17b9c6d]
13199
13200         * sudo_edit.c:
13201         paranoia when stripping trailing slashes from tempdir.
13202         [012f1aa2b81f]
13203
13204         * sudo.c:
13205         Set user_ngroups to 0 if getgroups() returns an error.
13206         [c46d43e9449a]
13207
13208 2004-11-16  Todd C. Miller  <Todd.Miller@courtesan.com>
13209
13210         * config.h.in, configure, configure.in, sudo.c:
13211         Add configure check for getgroups()
13212         [5d8a214e2cef]
13213
13214         * ldap.c:
13215         Use supplementary group vector in struct sudo_user.
13216         [3d0c463c034d]
13217
13218         * match.c:
13219         Only do string comparisons on the group members if there is no
13220         supplemental group list.
13221         [be1c8362f7ef]
13222
13223         * CHANGES, TODO:
13224         sync
13225         [db188bc5b975]
13226
13227         * sudo_edit.c:
13228         On Digital UNIX _PATH_VAR_TMP doesn't end with a trailing slash so
13229         chop off any trailing slashes we see and add an explicit one.
13230         [e1b477dafee1]
13231
13232         * match.c:
13233         remove bogus XXX comment
13234         [8aecb8a28d40]
13235
13236         * match.c:
13237         Get rid of alias_matches and correctly fall through to the non-alias
13238         cases when there is no alias with the specified name.
13239         [2cd555246f09]
13240
13241         * getspwuid.c:
13242         Cache non-existent passwd/group entries too.
13243         [8de9a467d271]
13244
13245         * gram.c:
13246         regen
13247         [9ece18c58f36]
13248
13249         * getspwuid.c:
13250         fix typo
13251         [9a7ae371eac1]
13252
13253         * check.c, getspwuid.c, glob.c, ldap.c, logging.c, match.c,
13254         mon_systrace.h, sudo.c, sudo.h, testsudoers.c, visudo.c:
13255         Implement group caching and use the passwd and group caches
13256         throughout.
13257         [f1d8c5015169]
13258
13259 2004-11-15  Todd C. Miller  <Todd.Miller@courtesan.com>
13260
13261         * match.c:
13262         Properly negate the return value of alias_matches() when
13263         appropriate.
13264         [ce59c4ce77ad]
13265
13266         * match.c:
13267         Make hostname_matches() return TRUE for a match, else FALSE like the
13268         caller expects.
13269         [1dc03902d3a2]
13270
13271         * Makefile.in:
13272         Add missing dependencies on gram.h
13273         [4f94bbb1d50c]
13274
13275         * match.c:
13276         Use runas_matches in alias_matches() now that we have it.
13277         [284d22e91178]
13278
13279         * parse.c, parse.h:
13280         Expand aliases in "sudo -l" mode
13281         [f67a38b79c44]
13282
13283         * gram.y, match.c:
13284         Use ALIAS for the member type when storing an alias instead of
13285         HOSTALIAS/RUNASALIAS/CMNDALIAS/USERALIAS since match.c relies on the
13286         more generic type. Expand runas_matches instead of calling
13287         user_matches() inside of it since user_matches() looks up
13288         USERALIASes, not RUNASALIASes.
13289         [52004d75232b]
13290
13291         * CHANGES, getspwuid.c:
13292         Paranoia; zero out pw_passwd before freeing passwd entry.
13293         [bd1b22638f00]
13294
13295         * LICENSE, Makefile.in, alloc.c, check.c, config.h.in, configure,
13296         configure.in, defaults.c, emul/err.h, env.c, err.c, error.c,
13297         error.h, find_path.c, interfaces.c, logging.c, mon_systrace.c,
13298         sudo.c, sudo.h, sudo_edit.c, testsudoers.c, visudo.c:
13299         Add local error/warning functions like err/warn but that call an
13300         additional cleanup routine in the error case. This means we no
13301         longer need to compile a special version of alloc.o for visudo.
13302         [25000b676cfe]
13303
13304         * match.c:
13305         Use userpw_matches() to compare usernames, not strcmp(), since the
13306         latter checks for "#uid".
13307         [fcbe4b859f66]
13308
13309         * getspwuid.c, mon_systrace.c, mon_systrace.h, sudo.c:
13310         Cache passwd db entries in 2 reb-black trees; one indexed by uid,
13311         the other by user name. The data returned from the cache should be
13312         considered read-only and is destroyed by sudo_endpwent().
13313         [ee2418ff3f86]
13314
13315         * match.c:
13316         add cast to uid_t
13317         [eb6415302d84]
13318
13319         * gram.y:
13320         missing free in alias_destroy
13321         [572ecb680ad8]
13322
13323         * redblack.c:
13324         Can't use rbapply() for rbdestroy since the destructor is passed a
13325         data pointer, not a node pointer.
13326         [11ce713830c0]
13327
13328         * getspwuid.c, logging.c, sudo.c, sudo.h:
13329         Create and use private versions of setpwent() and endpwent() that
13330         set/end the shadow password file too.
13331         [616bc76d23bf]
13332
13333         * gram.c, gram.h, gram.y, match.c, parse.h, testsudoers.c, visudo.c:
13334         Store aliases in a red-black tree.
13335         [ce017d540416]
13336
13337         * Makefile.in, redblack.c, redblack.h:
13338         red-black tree implementation
13339         [cd5586e8f48b]
13340
13341         * visudo.c:
13342         Edit all sudoers file if there were unused or undefined aliases and
13343         we are in strict mode.
13344         [b6d5f5bb7262]
13345
13346 2004-11-12  Todd C. Miller  <Todd.Miller@courtesan.com>
13347
13348         * CHANGES, def_data.c, def_data.h, def_data.in, defaults.c, env.c,
13349         find_path.c, sudoers.cat, sudoers.man.in, sudoers.pod, visudo.c:
13350         Bring back the "secure_path" Defaults option now that Defaults take
13351         effect before the path is searched.
13352         [2e52c0e27606]
13353
13354 2004-11-11  Todd C. Miller  <Todd.Miller@courtesan.com>
13355
13356         * logging.c, parse.c:
13357         A user can always list their own entries, even with -u. Better error
13358         message when failing to list another user's entries.
13359         [e2e24deb0071]
13360
13361         * parse.c, sudo.c, sudo.h:
13362         The syntax to list another user's entries is now "-u otheruser -l".
13363         Only root or users with sudo "ALL" may list other user's entries.
13364         [3c0657e8f5fe]
13365
13366         * sudo.cat, sudo.man.in, sudo.pod:
13367         Update env variable info in SECURITY NOTES
13368         [299716071024]
13369
13370         * env.c:
13371         strip CDPATH too
13372         [9b97643b26f9]
13373
13374         * env.c:
13375         strip exported bash functions from the environment.
13376         [9e5090c8284f]
13377
13378 2004-10-27  Todd C. Miller  <Todd.Miller@courtesan.com>
13379
13380         * sudo.c:
13381         Only reset sudo_user.pw based on SUDO_USER environment variables for
13382         real commands and sudoedit. This avoids a confusing message when a
13383         user tries "sudo -l" or "sudo -v" and is denied.
13384         [3ea6d0053274]
13385
13386         * gram.c, gram.y, parse.h:
13387         Extend LIST_APPEND to deal with appending lists too
13388         [d963e42f622f]
13389
13390 2004-10-26  Todd C. Miller  <Todd.Miller@courtesan.com>
13391
13392         * logging.c:
13393         Convert some bitwise AND to ISSET
13394         [130dc40d268e]
13395
13396         * lex.yy.c, toke.c:
13397         toke.c replaces lex.yy.c
13398         [048858df79e7]
13399
13400         * CHANGES, TODO:
13401         sync
13402         [d19e7abf251c]
13403
13404         * BUGS:
13405         new parser fixes most of the outstanding bugs
13406         [0891f66e3758]
13407
13408         * configure:
13409         regen
13410         [1a3358cc7283]
13411
13412         * visudo.c:
13413         Rework for the new parser. Now checks for unused aliases in sudoers.
13414         [ad462ede3094]
13415
13416         * testsudoers.c:
13417         Rewrite for the new parser. Now supports a -d flag (dump) and adds
13418         a -h flag (host). It now defaults to the local hostname unless
13419         otherwise specified.
13420         [1b69685cc601]
13421
13422         * sudo.h:
13423         Add new prototypes. Remove NOMATCH/UNSPEC (now in parse.h)
13424         [2e4fb3abfef0]
13425
13426         * sudo.c:
13427         Update for new parse. We now call find_path() *after* we have
13428         updated the global defaults based on sudoers. Also adds support for
13429         listing other user's privs if you are root.
13430         [cf3db9fc3024]
13431
13432         * mon_systrace.c:
13433         Working LDAP support; also remove a now-unneeded rewind().
13434         [649ecf1baf6b]
13435
13436         * logging.c, logging.h:
13437         Add NO_STDERR flag.
13438         [6cb935af94e0]
13439
13440         * ldap.c:
13441         Split sudo_ldap_check() into three pieces: sudo_ldap_open(),
13442         udo_ldap_update_defaults() and sudo_ldap_check(). This allows us to
13443         connecto to LDAP, apply the default options, find the command in the
13444         user's path, and then check whether the user is allowed to run it.
13445         The important thing here is that the default runas user may be
13446         specified as a default option and that needs to be set before we
13447         search for the command.
13448         [fc0426abc6f1]
13449
13450         * ldap.c:
13451         Add casts to unsigned char for isspace() to quiet a gcc warning.
13452         [e5358e3df439]
13453
13454         * defaults.h:
13455         Add prototype for update_defaults()
13456         [564dac3db74e]
13457
13458         * defaults.c:
13459         Don't warn about line numbers now that we operate on a set of data
13460         structures (or LDAP) and not a file.
13461         [bcd9ffb9b67c]
13462
13463         * config.h.in:
13464         No long use lsearch()
13465         [9d048c587319]
13466
13467         * Makefile.in:
13468         Update for new and changed file names.
13469         [6f424a7c4515]
13470
13471         * LICENSE:
13472         no more BSD lsearch.c
13473         [463a96d89026]
13474
13475         * match.c:
13476         foo_matches() routines now live in match.c Added user_matches(),
13477         runas_matches(), host_matches(), cmnd_matches() and alias_matches()
13478         that operate on the parsed sudoers file.
13479         [b14da8a0567e]
13480
13481         * parse.lex, toke.l:
13482         Move parse.lex -> toke.l Rename buffer_frob() -> switch_buffer()
13483         WORD no longer needs to exclude '@' kill yywrap()
13484         [a922294eb7b7]
13485
13486         * gram.c, gram.h, gram.y, parse.c, parse.h, parse.yacc, sudo.tab.c,
13487         sudo.tab.h:
13488         Rewritten parser that converts sudoers into a set of data
13489         structures. This eliminates ordering issues and makes it possible to
13490         apply sudoers Defaults entries before searching for the command.
13491         [30d2ec4d203c]
13492
13493         * configure.in, emul/search.h, lsearch.c:
13494         We won't be using lsearch() any longer.
13495         [29c4d54bfac0]
13496
13497         * ldap.c:
13498         sudo should not send mail if someone who runs 'sudo -l' has no
13499         entry.
13500         [6fc27a69fd9c]
13501
13502         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in, visudo.cat,
13503         visudo.man.in:
13504         regen
13505         [8166347917f3]
13506
13507         * visudo.pod:
13508         Update warnings to match new visudo
13509         [004c0766798f]
13510
13511         * sudoers.pod:
13512         The new parser doesn't have the old ordering constraints.
13513         [ffd43bd08661]
13514
13515         * sudo.pod:
13516         Document that -l now takes an optional username argument
13517         [278f9557de8b]
13518
13519 2004-10-25  Todd C. Miller  <Todd.Miller@courtesan.com>
13520
13521         * RUNSON:
13522         AIX 5.2.0.0 works
13523         [523acd29d858]
13524
13525         * ldap.c:
13526         If LDAP_OPT_SUCCESS is not defined, use LDAP_SUCCESS instead. Fixes
13527         a compilation problem with Solaris 9's native LDAP.
13528
13529         Set FLAG_MONITOR when needed.
13530         [35824ade672d]
13531
13532 2004-10-23  Todd C. Miller  <Todd.Miller@courtesan.com>
13533
13534         * mon_systrace.c:
13535         Call sudo_goodpath() *after* changing the cwd to match the traced
13536         process. Fixes relative paths.
13537         [12ee111d0ad7]
13538
13539 2004-10-21  Todd C. Miller  <Todd.Miller@courtesan.com>
13540
13541         * testsudoers.c:
13542         Kill set_perms() stub--it is no longer needed.
13543         [116ed702935d]
13544
13545 2004-10-13  Todd C. Miller  <Todd.Miller@courtesan.com>
13546
13547         * sudoers.cat, sudoers.man.in, sudoers.pod:
13548         stay_setuid now requires set_reuid() or setresuid()
13549         [8511f67e25d5]
13550
13551         * INSTALL, PORTING, TROUBLESHOOTING, config.h.in, configure,
13552         configure.in, set_perms.c, sudo.c, sudo.h:
13553         Kill use of POSIX saved uids; they aren't worth bothering with.
13554         [b3b1f19f18c1]
13555
13556 2004-10-07  Todd C. Miller  <Todd.Miller@courtesan.com>
13557
13558         * glob.c:
13559         remove call to issetugid()
13560         [63f2e492c08f]
13561
13562         * sudoers.cat, sudoers.man.in, sudoers.pod:
13563         Remove warning about wildcards. Now that we use glob() the bug is
13564         fixed.
13565         [b15729d32266]
13566
13567         * parse.c:
13568         Use glob(3) instead of fnmatch(3) for matching pathnames and stat
13569         each result that matches the basename of the user's command. This
13570         makes "cd /usr/bin ; sudo ./blah" work when sudoers allows
13571         /usr/bin/blah. Fixes bug #143.
13572         [e31eb6310340]
13573
13574         * config.h.in, configure, configure.in:
13575         Define HAVE_EXTENDED_GLOB for extended glob (GLOB_TILDE and
13576         GLOB_BRACE)
13577         [677ed6661e17]
13578
13579         * config.h.in, configure, configure.in:
13580         Check for a glob() that supports GLOB_BRACE and GLOB_TILDE
13581         [aaa2329dd266]
13582
13583         * LICENSE:
13584         reference glob
13585         [bedc9a923423]
13586
13587         * glob.c:
13588         4.4BSD glob(3) with fixes from OpenBSD and some unneeded extensions
13589         removed.
13590         [81799451473c]
13591
13592         * emul/glob.h:
13593         4.4BSD glob(3) with fixes from OpenBSD and some unneeded extensions
13594         removed.
13595         [0335cf31fb1e]
13596
13597 2004-10-05  Todd C. Miller  <Todd.Miller@courtesan.com>
13598
13599         * mon_systrace.c:
13600         Just return if STRIOCINJECT or STRIOCREPLACE fail. It probably
13601         means we are out of space in the stack gap...
13602         [5b02b702021e]
13603
13604         * CHANGES:
13605         sync
13606         [be3826273e56]
13607
13608         * mon_systrace.c:
13609         Take a stab at ldap sudoers support here.
13610         [9d023695b0de]
13611
13612         * mon_systrace.c, mon_systrace.h:
13613         Detach from tracee on SIGHUP, SIGINT and SIGTERM. Now "sudo reboot"
13614         doesn't cause reboot to inadvertanly kill itself.
13615         [d4aab2365610]
13616
13617         * mon_systrace.c:
13618         put "monitor" in the proctitle, not "systrace"
13619         [9a9025767d86]
13620
13621         * mon_systrace.c:
13622         When modifying the environment, don't replace envp when we can get
13623         away with just rewriting pointers in the traced process.
13624         [c03622f7a2e2]
13625
13626         * mon_systrace.c, mon_systrace.h:
13627         Add environment updating via STRIOCINJECT (if available).
13628         [037291016870]
13629
13630         * sudoers.cat, sudoers.man.in:
13631         regen
13632         [869acc511046]
13633
13634 2004-10-04  Todd C. Miller  <Todd.Miller@courtesan.com>
13635
13636         * lex.yy.c:
13637         regen
13638         [4e61a9bd3c97]
13639
13640         * parse.lex:
13641         Fix bug introduced in unput() removal; want yyless(0) not yyless(1)
13642         [b70d7bd6e147]
13643
13644         * mon_systrace.c:
13645         Include file is now mon_systrace.h
13646         [ead4e36d92ae]
13647
13648         * Makefile.in, configure, configure.in, def_data.c, def_data.h,
13649         def_data.in, lex.yy.c, parse.c, parse.h, parse.lex, parse.yacc,
13650         sudo.c, sudo.h, sudo.tab.c, sudo.tab.h, sudoers.pod:
13651         No longer call it tracing, it is now "monitoring" which should be
13652         more a obvious name to non-hackers.
13653         [aa811ded0789]
13654
13655 2004-10-01  Todd C. Miller  <Todd.Miller@courtesan.com>
13656
13657         * mon_systrace.c, mon_systrace.h:
13658         Fix some XXX
13659         [a271072dacc6]
13660
13661         * mon_systrace.c, mon_systrace.h:
13662         No need to include syscall.h, use 1024 as the max # of entries (the
13663         max that systrace(4) allows).
13664
13665         Only need to use SYSTR_POLICY_ASSIGN once
13666
13667         Change check_syscall() -> find_handler() and have it return the
13668         handler instead of just running it. We need this since handler now
13669         have two parts: one part that generates and answer and another that
13670         gets called after the answer is accepted (to do logging).
13671
13672         Add some missing check_exec for emul execv
13673         [a89d243f0525]
13674
13675         * sample.pam, sample.sudoers, sample.syslog.conf, sudoers:
13676         Add $Sudo$ tags.
13677         [6f3fedb0daba]
13678
13679         * config.h.in:
13680         Add missing HAVE_LINUX_SYSTRACE_H
13681         [ff75ab7bfc53]
13682
13683         * Makefile.in:
13684         add trace_systrace.o dependency
13685         [88a408668ab2]
13686
13687 2004-09-30  Todd C. Miller  <Todd.Miller@courtesan.com>
13688
13689         * configure, configure.in:
13690         Also look for systrace.h in /usr/include/linux
13691         [98b98b436cf3]
13692
13693         * mon_systrace.c, mon_systrace.h:
13694         Move all struct defs and prototypes into trace_systrace.h and mark
13695         all but systace_attach() static.
13696         [85511253b570]
13697
13698         * mon_systrace.c, mon_systrace.h:
13699         Add support for tracing emulations. At the moment, all emulations
13700         are compiled in. It might make sense to #ifdef them in the future,
13701         though this impeeds readability.
13702         [87bb50abf277]
13703
13704         * Makefile.in, configure, configure.in:
13705         rename systrace.c -> trace_systrace.c
13706         [31cfa4407d93]
13707
13708         * parse.yacc, sudo.tab.c:
13709         Allow this to build with a K&R compiler again
13710         [32876af5bb98]
13711
13712         * TODO:
13713         sync
13714         [46865bd70f7c]
13715
13716         * compat.h, sudo.c, visudo.c:
13717         Use __attribute__((__noreturn__))
13718         [65bbad71fe89]
13719
13720         * visudo.c:
13721         Exit() takes a negative value to indicate it was not called via
13722         signal.
13723         [b93032ed7b60]
13724
13725         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in, visudo.cat,
13726         visudo.man.in:
13727         regen
13728         [45bcf4661558]
13729
13730         * Makefile.in, visudo.c:
13731         Define Err() and Errx() that are like err() and errx() but call
13732         Exit() instead of exit(). Build private copy of alloc.o for visudo
13733         that calls Err() and Errx().
13734         [c6d02bf42edd]
13735
13736 2004-09-29  Todd C. Miller  <Todd.Miller@courtesan.com>
13737
13738         * lex.yy.c, sudo.tab.c:
13739         regen
13740         [39de7e7c59da]
13741
13742         * CHANGES:
13743         sync
13744         [ba481d9ed1aa]
13745
13746         * visudo.c:
13747         Overhaul visudo for editing multiple files: o visudo has been
13748         broken out into functions (more work needed here) o each file is
13749         now edited before sudoers is re-parsed o if a #include line is
13750         added that file will be edited too
13751
13752         TODO: o cleanup temp files when exiting via err() or errx() o
13753         continue breaking things out into separate functions
13754         [80c35cf534eb]
13755
13756         * parse.lex, sudo.c, sudo.h, testsudoers.c, visudo.c:
13757         Add keepopen arg to open_sudoers that open_sudoers can use to
13758         indicate to the caller that the fd should not be closed when it is
13759         done with it. To be used by visudo to keep locked fds from being
13760         closed prematurely (and thus losing the lock).
13761         [f330fe632470]
13762
13763         * parse.yacc, sudo.c:
13764         Add errorfile global that contains the name of the file that caused
13765         the error.
13766         [98079c7a37ed]
13767
13768         * parse.lex:
13769         return COMMENT to yacc grammar for a #include line
13770         [2024a8de4fa8]
13771
13772         * parse.lex:
13773         Remove us of unput() in favor of yyless() which is cheaper.
13774         [c61291902beb]
13775
13776         * parse.yacc:
13777         Allow an empty sudoers file.
13778         [62fb111db2e7]
13779
13780 2004-09-28  Todd C. Miller  <Todd.Miller@courtesan.com>
13781
13782         * mon_systrace.c:
13783         Rewind sudoers_fp now that sudoers_lookup() doesn't do it for us.
13784         [9e15869ef597]
13785
13786         * lex.yy.c, sudo.tab.c:
13787         regen
13788         [c29bdd43bfad]
13789
13790         * visudo.c:
13791         Do signal setup before calling edit_sudoers(). Don't shadow the
13792         "quiet" global.
13793         [74252efd09ff]
13794
13795         * visudo.c:
13796         If a sudoers file includes other files, edit those too. Does not yes
13797         deal with creating the new includes files itself.
13798         [06af7b9c173f]
13799
13800         * testsudoers.c:
13801         init_parser now takes a path
13802         [b5ee186eb192]
13803
13804         * parse.c, parse.h, parse.lex, parse.yacc:
13805         More scaffolding for dealing with multiple sudoers files: o
13806         init_parser() now takes a path used to populate the sudoers global
13807         o the sudoers global is used to print the correct file in yyerror()
13808         o when switching to a new sudoers file, perserve old file name and
13809         line number
13810         [d9be4970b8bd]
13811
13812         * Makefile.in, pathnames.h.in:
13813         Kill _PATH_SUDOERS_TMP; it is not meaningful now that we can have
13814         multiple sudoers files.
13815         [6ccc4e921c43]
13816
13817         * parse.c, sudo.c:
13818         Rewind sudoers_fp in open_sudoers() instead of sudoers_lookup() so
13819         we start at the right file position when reading include files.
13820         [91fcb961e7a4]
13821
13822         * sudoers.pod:
13823         document #include
13824         [fbb92a25a726]
13825
13826         * lex.yy.c:
13827         regen
13828         [50cd7a4c9dff]
13829
13830         * parse.lex:
13831         Add max depth of 128 for the include stack to avoid loops.
13832
13833         Since yyerror() doesn't stop parsing, pass return values back to
13834         yylex and call yyterminate() on error.
13835         [e79dbffb729d]
13836
13837 2004-09-27  Todd C. Miller  <Todd.Miller@courtesan.com>
13838
13839         * sudoers.pod:
13840         document tracing
13841         [165a467eadd8]
13842
13843         * sudo.pod:
13844         Mention PREVENTING SHELL ESCAPES section of sudoers man page
13845         [3217ccecd834]
13846
13847         * lex.yy.c, sudo.tab.c:
13848         regen
13849         [fbd58d1d3a76]
13850
13851         * parse.lex:
13852         Add support for #include in sudoers (visudo support TBD)
13853         [a78015ca81af]
13854
13855         * parse.yacc:
13856         make yyerror()'s argument const
13857         [7d8e168c019a]
13858
13859         * testsudoers.c, visudo.c:
13860         Add open_sudoers() stubs.
13861         [087466787198]
13862
13863         * sudo.c, sudo.h:
13864         Rename check_sudoers() open_sudoers() and make it return a FILE *
13865         [142fc511fc65]
13866
13867 2004-09-26  Todd C. Miller  <Todd.Miller@courtesan.com>
13868
13869         * BUGS, INSTALL, INSTALL.binary, Makefile.in, README, configure.in,
13870         version.h:
13871         Crank version
13872         [1adc3f839480]
13873
13874         * Makefile.in, sudo.psf:
13875         Better HP-UX depot construction
13876         [2d952b000e63]
13877
13878 2004-09-25  Todd C. Miller  <Todd.Miller@courtesan.com>
13879
13880         * mon_systrace.c:
13881         o Made children global so check_exec() can lookup a child. o
13882         Replaced uid in struct childinfo with struct passwd * (for runas) o
13883         new_child() now takes a parent pid so the runas info can be
13884         inherited o Added find_child() to lookup a child by its pid o
13885         update_child() now fills in a struct passwd o Converted the big
13886         if/else mess in set_policy to a switch o Syscalls that change uid
13887         are now "ask" so we get SYSTR_MSG_UGID events
13888         [29b9ea3f09a3]
13889
13890         * getspwuid.c:
13891         Add flag to sudo_pwdup that indicates whether or not to lookup the
13892         shadow password. Will be used to a struct passwd that has the
13893         shadow password already filled in.
13894         [e19d43dd7238]
13895
13896         * mon_systrace.c:
13897         add missing increment of addr in read_string()
13898         [f9eb0f060cb6]
13899
13900         * mon_systrace.c:
13901         Remove bogus call to update_child() and some cosmetic fixes
13902         [701ab0b97fef]
13903
13904         * mon_systrace.c:
13905         Don't leak /dev/systrace fd to tracee Make initialized global for
13906         simplicity If STRIOCATTACH returns EBUSY we are already being traced
13907         Check for user_args == NULL in setproctitle() call Add missing calls
13908         to STRIOCANSWER
13909         [1956edf9bc3a]
13910
13911         * sudo.c:
13912         g/c sudo_pwdup proto
13913         [b7c4d6249ecb]
13914
13915         * Makefile.in, sudo.psf:
13916         Add target for building a depot file
13917         [357019efd99b]
13918
13919         * mon_systrace.c:
13920         trim includes
13921         [501534428471]
13922
13923 2004-09-24  Todd C. Miller  <Todd.Miller@courtesan.com>
13924
13925         * lex.yy.c, sudo.tab.c, sudo.tab.h:
13926         regen
13927         [52fd250c6986]
13928
13929         * INSTALL:
13930         document --with-systrace
13931         [79623927c94e]
13932
13933         * config.h.in, configure, configure.in:
13934         Add check for setproctitle
13935         [1730cf1c26ed]
13936
13937         * mon_systrace.c:
13938         pass struct str_msg_ask in to syscall checker so it can set the
13939         error code
13940         [1703fd2fdef6]
13941
13942         * mon_systrace.c:
13943         systrace(4) support for sudo. On systems with the systrace(4)
13944         kernel facility (OpenBSD, NetBSD, Linux w/ patches) sudo can
13945         intercept exec calls and check the exec args against the sudoers
13946         file. In other words, sudo can now control subcommands and shell
13947         escapes.
13948         [928c9217c386]
13949
13950         * sudo.c, sudo.h:
13951         Call systrace_attach() if FLAG_TRACE is set.
13952         [014ba9402fa5]
13953
13954         * parse.c, parse.h, parse.lex, parse.yacc, sudo.h:
13955         Add trace Defaults option and TRACE/NOTRACE tags and set FLAG_TRACE
13956         [a99904db5e56]
13957
13958         * parse.c, sudo.c:
13959         Don't close sudoers_fp, keep it open and set close on exec flag
13960         instead.
13961         [43a9fec60bee]
13962
13963         * def_data.c, def_data.h, def_data.in:
13964         Add trace option
13965         [5b643b86730a]
13966
13967         * Makefile.in:
13968         Add systrace
13969         [47a0519c427c]
13970
13971         * INSTALL:
13972         SunOS /bin/sh blows up with configure
13973         [005a23cc5615]
13974
13975         * configure, configure.in:
13976         Include sys/param.h before systrace.h
13977         [9345bc8efecf]
13978
13979         * configure:
13980         regen
13981         [a8f53fcbb254]
13982
13983         * pathnames.h.in:
13984         _PATH_DEV_SYSTRACE
13985         [d2ad1e492a00]
13986
13987         * configure.in:
13988         line up options in --help
13989         [fa51f2821d09]
13990
13991         * config.h.in, configure.in:
13992         Add --with-systrace
13993         [a264d54bc413]
13994
13995 2004-09-23  Todd C. Miller  <Todd.Miller@courtesan.com>
13996
13997         * configure:
13998         regen
13999         [a4dad0bcc523]
14000
14001         * aclocal.m4, configure.in:
14002         make this work with autoconf-2.59
14003         [c4a92b6a684a]
14004
14005 2004-09-16  Todd C. Miller  <Todd.Miller@courtesan.com>
14006
14007         * sudo_edit.c:
14008         Simplify logic around open & stat of files and do sanity on edited
14009         file even if we lack fstat (still racable but worth doing).
14010         [adda65ade70c]
14011
14012 2004-09-15  Todd C. Miller  <Todd.Miller@courtesan.com>
14013
14014         * HISTORY:
14015         Add support url
14016         [bf6590fbde9f]
14017
14018         * Makefile.in:
14019         versino 1.6.8p1
14020         [b84ebfaf1552] [SUDO_1_6_8p1]
14021
14022         * CHANGES:
14023         more changes for 1.6.8p1
14024         [e23a9c0393b6]
14025
14026         * version.h:
14027         1.6.8p1
14028         [872f14504b5f]
14029
14030         * CHANGES, sudo_edit.c:
14031         Add sanity check so we don't try to edit something other than a
14032         regular file.
14033         [350134ec6d4e]
14034
14035 2004-09-15  Aaron Spangler  <aaron777@gmail.com>
14036
14037         * CHANGES:
14038         sync
14039         [3091ca9eae00]
14040
14041         * INSTALL:
14042         document --with-ldap-conf-file
14043         [0e2cd6b896f1]
14044
14045 2004-09-14  Todd C. Miller  <Todd.Miller@courtesan.com>
14046
14047         * CHANGES, ins_csops.h:
14048         political correctness strikes again
14049         [428e8bc77f55]
14050
14051         * RUNSON:
14052         sync
14053         [27f44bd423dc]
14054
14055 2004-09-12  Todd C. Miller  <Todd.Miller@courtesan.com>
14056
14057         * Makefile.binary.in, Makefile.in:
14058         Install sudoedit man link
14059         [19a55234fc1f]
14060
14061         * INSTALL:
14062         Update PAM note and mention where HP-UX users can download gcc
14063         binaries.
14064         [d37cdbbabfd4]
14065
14066         * Makefile.in:
14067         libtool wants to install stuff from .libs so fake one up for binary
14068         installations.
14069         [a681bc6fcfba]
14070
14071         * Makefile.binary.in:
14072         rm -f old sudoedit link instead of using ln -f set LIBTOOL correctly
14073         [3e0c4b3372cc]
14074
14075         * Makefile.in:
14076         Deal with "uname -m" having slashes in it rm -f old sudoedit link
14077         instead of using ln -f
14078         [cff33fb97e5b]
14079
14080         * Makefile.binary, Makefile.binary.in:
14081         Makefile.binary -> Makefile.binary.in for config.status substitution
14082         Add support for installing noexec bits
14083         [37d8bb3483c6]
14084
14085         * Makefile.in:
14086         Copy noexec bits into binary dists too No longer use my old arch
14087         script for making binary dists
14088         [e7058bab9e33]
14089
14090         * Makefile.binary:
14091         Install sudoedit link.
14092         [417d1e101711]
14093
14094 2004-09-11  Todd C. Miller  <Todd.Miller@courtesan.com>
14095
14096         * emul/utime.h:
14097         avoid __P so there is no need for compat.h to be included
14098         [6d8d1f1abf7d]
14099
14100         * utimes.c:
14101         Don't use HAVE_UTIME_H before including config.h.
14102         [013b7bb61181]
14103
14104 2004-09-10  Todd C. Miller  <Todd.Miller@courtesan.com>
14105
14106         * compat.h:
14107         Fix Solatis futimes macro
14108         [d4eda2ca0d29]
14109
14110 2004-09-09  Todd C. Miller  <Todd.Miller@courtesan.com>
14111
14112         * sudo_edit.c:
14113         Rename ots -> omtim for improved readability.
14114         [127ca5bb297c]
14115
14116 2004-09-08  Todd C. Miller  <Todd.Miller@courtesan.com>
14117
14118         * sudo_edit.c:
14119         Redo changes in revision 1.7. Don't really need to keep the temp
14120         file open; re-opening it with the invoking user's euid is
14121         sufficient.
14122         [55a883165a95]
14123
14124         * CHANGES:
14125         sync
14126         [9015b291170d]
14127
14128         * sudo.cat, sudo.man.in:
14129         regen
14130         [c0313f6ed783]
14131
14132         * sudo.pod:
14133         back out revision 1.70; it is no long applicable
14134         [b641d503aff6]
14135
14136         * env.c:
14137         Let the loader initialize nep
14138         [bec192139b02]
14139
14140         * config.h.in, configure, configure.in:
14141         Removed unneed check for fchown Add check for gettimeofday Move
14142         autoheader template stuff into separate AH_TEMPLATE lines
14143         [bfc0edbd43f2]
14144
14145         * check.c, compat.h, fileops.c, sudo.h, sudo_edit.c, visudo.c:
14146         Use timespec throughout.
14147         [1a178a23b69b]
14148
14149         * Makefile.in:
14150         gettime.[co]
14151         [6aeb48a7ab7f]
14152
14153         * gettime.c:
14154         function to return the current time in a struct timespec
14155         [bf8eb12cb63f]
14156
14157         * utimes.c:
14158         Not a darpa-sponsored file.
14159         [121ce5e2036c]
14160
14161 2004-09-07  Todd C. Miller  <Todd.Miller@courtesan.com>
14162
14163         * compat.h, config.h.in, configure, configure.in:
14164         Add a check for struct timespec and provide it for those without.
14165         [42124055030d]
14166
14167         * config.h.in, configure, configure.in, sudo_edit.c:
14168         Add checks for st_mtim and st_mtimespec and add macros for pulling
14169         the mtime sec and nsec out of struct stat. These are used in
14170         sudo_edit() to better tell whether or not the file has changed.
14171         [23debfbb3fab]
14172
14173         * check.c, fileops.c, sudo.h, sudo_edit.c, visudo.c:
14174         Add an extra param to touch() for nsec
14175         [56f7a4ba8ddb]
14176
14177         * sudo_edit.c:
14178         Call mkstemp() as the in invoking user so we don't have to chown the
14179         file later. Only touch() the temp file if we can do it via the file
14180         descriptor. Don't check for modification of the temp file if we lack
14181         fstat(). Catch errors read()ing the temp file.
14182         [665f52c70836]
14183
14184         * fileops.c:
14185         If path is NULL and fd == -1 return -1.
14186         [757a518a824c]
14187
14188         * sudo_edit.c:
14189         closefrom() is overkill, the only extra fds are the ones we opened
14190         so just close those in the child.
14191         [f361c9d2a1f4]
14192
14193         * Makefile.in, aclocal.m4, check.c, compat.h, config.h.in, configure,
14194         configure.in, fileops.c, sudo.h, sudo_edit.c, utime.c, utimes.c,
14195         visudo.c:
14196         Use utimes() and futimes() instead of utime() in touch(), emulating
14197         as needed. Not all systems are able to support setting the times of
14198         an fd so touch() takes both an fd and a file name as arguments.
14199         [3d9276f29717]
14200
14201 2004-09-07  Aaron Spangler  <aaron777@gmail.com>
14202
14203         * env.c:
14204         Rare SEGV
14205         [8995f828782d]
14206
14207 2004-09-06  Todd C. Miller  <Todd.Miller@courtesan.com>
14208
14209         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in, visudo.cat,
14210         visudo.man.in:
14211         regen
14212         [b8e9406711c5]
14213
14214         * sudo.pod, sudoers.pod, visudo.pod:
14215         Add SUPPORT section and re-order some of the sections to match the
14216         order we use in OpenBSD.
14217         [fa37bd917e2c]
14218
14219 2004-09-06  Aaron Spangler  <aaron777@gmail.com>
14220
14221         * env.c:
14222         Openldap ~/.ldaprc fix
14223         [1a37afe6850f]
14224
14225 2004-09-06  Todd C. Miller  <Todd.Miller@courtesan.com>
14226
14227         * sudo.pod:
14228         Talk about how the editor must write its changes to the original
14229         file and not just use rename(2).
14230         [c55ed91c5ee9]
14231
14232         * CHANGES:
14233         sync
14234         [62af26bd37a2]
14235
14236         * sudo_edit.c:
14237         Keep the temp file open instead of re-opening after the editor has
14238         exited.
14239         [de41eeb6dcf2]
14240
14241         * sample.pam:
14242         Update for current redhat/fedora core.
14243         [8cf083077333]
14244
14245 2004-09-03  Aaron Spangler  <aaron777@gmail.com>
14246
14247         * README.LDAP:
14248         tls_ examples
14249         [ba783d88a034]
14250
14251 2004-09-02  Aaron Spangler  <aaron777@gmail.com>
14252
14253         * ldap.c:
14254         config tls_* options
14255         [0b0e0797b3b9]
14256
14257 2004-08-29  Todd C. Miller  <Todd.Miller@courtesan.com>
14258
14259         * configure, configure.in:
14260         No need for -lcrypt when using pam.
14261         [41fff3a53e68]
14262
14263 2004-08-27  Todd C. Miller  <Todd.Miller@courtesan.com>
14264
14265         * configure:
14266         regen
14267         [75820aecce2c]
14268
14269 2004-08-27  Aaron Spangler  <aaron777@gmail.com>
14270
14271         * configure.in, ldap.c, pathnames.h.in:
14272         Allow --with-ldap-conf-file option to override LDAP_CONF
14273         [c9909bc484a5]
14274
14275         * ldap.c:
14276         cleanup debug message
14277         [1f6ca4824d8d]
14278
14279 2004-08-26  Aaron Spangler  <aaron777@gmail.com>
14280
14281         * README.LDAP:
14282         more config info
14283         [f2e7147fd507]
14284
14285 2004-08-24  Todd C. Miller  <Todd.Miller@courtesan.com>
14286
14287         * TODO, find_path.c, goodpath.c, parse.c, sudo.c, sudo.h, visudo.c:
14288         Add cmnd_base to struct sudo_user and set it in init_vars(). Add
14289         cmnd_stat to struct sudo_user and set it in sudo_goodpath(). No
14290         longer use gross statics in command_matches(). Also rename some
14291         variables for improved clarity.
14292         [7169a6c7bea4]
14293
14294 2004-08-21  Todd C. Miller  <Todd.Miller@courtesan.com>
14295
14296         * INSTALL:
14297         document HP's crippled compiler deficiency.
14298         [c405ea5a8d4c]
14299
14300         * INSTALL:
14301         Fix some thinkos in --with-editor and --with-env-editor
14302         descriptions. Noticed by Norihiko Murase.
14303         [dd781de1c985]
14304
14305         * configure, configure.in:
14306         --with-noexec takes an optional PATH argument.
14307         [8f6ab77f22cc]
14308
14309         * INSTALL:
14310         document --with-noexec
14311         [50cb1fc627ce]
14312
14313 2004-08-17  Todd C. Miller  <Todd.Miller@courtesan.com>
14314
14315         * RUNSON, TODO:
14316         sync
14317         [f2503bd13373] [SUDO_1_6_8]
14318
14319         * sudo_edit.c:
14320         Better warning message when sudoedit is unable to write to the
14321         destination file.
14322         [f78c18f2ffa8]
14323
14324         * sudo.cat, sudo.man.in:
14325         regen
14326         [7e2bf63d6d9a]
14327
14328         * sudo.pod:
14329         Don't italicize the string "sudoedit"
14330         [c691643bd269]
14331
14332 2004-08-16  Todd C. Miller  <Todd.Miller@courtesan.com>
14333
14334         * HISTORY:
14335         Mention GratiSoft.
14336         [dc53de581b2d]
14337
14338 2004-08-11  Todd C. Miller  <Todd.Miller@courtesan.com>
14339
14340         * sudo.tab.c:
14341         regen
14342         [8ae0484dfc38]
14343
14344         * parse.yacc:
14345         Reset used_runas to FALSE when re-intializing the parser.
14346         [b7403f353a02]
14347
14348 2004-08-09  Todd C. Miller  <Todd.Miller@courtesan.com>
14349
14350         * config.guess:
14351         Correct OpenBSD mips support
14352         [314fc7afc165]
14353
14354         * config.guess:
14355         Add OpenBSD/mips
14356         [ac87d0a773ef]
14357
14358 2004-08-07  Aaron Spangler  <aaron777@gmail.com>
14359
14360         * README.LDAP:
14361         More behavior notes
14362         [13be1d212b47]
14363
14364         * README.LDAP:
14365         Updates on current behavior
14366         [d498a8866d6f]
14367
14368 2004-08-06  Todd C. Miller  <Todd.Miller@courtesan.com>
14369
14370         * sudoers.pod:
14371         =back does not take an indentlevel (makes no difference to formatted
14372         files).
14373         [9c8523bb382a]
14374
14375         * sudo.pod:
14376         =back does not take an indentlevel (makes no difference to formatted
14377         files).
14378         [e5f479e24fa8]
14379
14380         * CHANGES:
14381         new
14382         [2dbd9aba8b33]
14383
14384         * sudo.c:
14385         Consistency. Use same error for bad -u #uid when targetpw is set as
14386         we do when a bad -u username is specified.
14387         [922961c4a9d6]
14388
14389         * TODO:
14390         Add checksum idea from Steve Mancini
14391         [e6ece1b766ba]
14392
14393         * sudoers.cat, sudoers.man.in:
14394         regen
14395         [370d2317829f]
14396
14397         * sudo.cat, sudo.man.in:
14398         regen
14399         [f93d41fc38b1]
14400
14401         * sudo.pod, sudoers.pod:
14402         Document the restriction on uids specified via -u when targetpw is
14403         set.
14404         [878fedb455db]
14405
14406         * sudo.c:
14407         Error out when targetpw is enabled and sudo is run with -u #uid but
14408         #uid does not exist in the passwd database. We can't do target
14409         authentication when the target is not in passwd!
14410         [27c5888c86eb]
14411
14412         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in:
14413         regen
14414         [ceb65711050c]
14415
14416         * TODO:
14417         Some more todo for the next release.
14418         [7b7417be7601]
14419
14420         * INSTALL:
14421         Make it clear that PAM should be used for DCE support when possible.
14422         [7502029fd385]
14423
14424         * sudoers.pod:
14425         o Document problems with wildcards and relative paths. o Make the
14426         order requirements more prominent. o Change a "set" to "reset" for
14427         clarity.
14428         [bacdd181b33f]
14429
14430 2004-08-05  Todd C. Miller  <Todd.Miller@courtesan.com>
14431
14432         * sudo.pod:
14433         Mention --with-secure-path, not SECURE_PATH.
14434         [41283ddde5e1]
14435
14436 2004-08-03  Aaron Spangler  <aaron777@gmail.com>
14437
14438         * ldap.c:
14439         reflect changes to parse.c
14440         [8880fe9b724d]
14441
14442 2004-08-02  Todd C. Miller  <Todd.Miller@courtesan.com>
14443
14444         * sudo.tab.c:
14445         regen
14446         [a57658ca9177]
14447
14448         * parse.c, parse.h, testsudoers.c, visudo.c:
14449         Don't pass user_cmnd and user_args to command_matches(), just use
14450         the globals there. Since we keep state with statics anyway it is
14451         misleading to pretend that passing in different cmnd and cmnd_args
14452         will work.
14453         [0a2544991fd6]
14454
14455         * parse.yacc:
14456         Don't pass user_cmnd and user_args to command_matches(), just use
14457         the globals there. Since we keep state with statics anyway it is
14458         misleading to pretend that passing in different cmnd and cmnd_args
14459         will work.
14460         [a4910bf6032b]
14461
14462         * parse.c:
14463         Fix a bug introduced in rev. 1.149. When checking for pseudo-
14464         commands check for a '/' anywhere in cmnd, not just the first
14465         character.
14466         [ce98142f03ca]
14467
14468 2004-07-31  Aaron Spangler  <aaron777@gmail.com>
14469
14470         * sudo.man.in, sudo.pod:
14471         Clarification thanks to Olivier Blin <oblin@mandrakesoft.com>
14472         [a91800e094b1]
14473
14474         * sudoers.man.in, sudoers.pod:
14475         Add ignore_local_sudoers
14476         [741ddcbf7083]
14477
14478         * README.LDAP:
14479         Sun One schema definition by Andreas.Bussjaeger@t-systems.com and
14480         janth@moldung.no
14481         [742c02e07cd9]
14482
14483 2004-07-29  Todd C. Miller  <Todd.Miller@courtesan.com>
14484
14485         * CHANGES:
14486         typo
14487         [e7cdefbd7a9a]
14488
14489 2004-07-23  Todd C. Miller  <Todd.Miller@courtesan.com>
14490
14491         * CHANGES:
14492         sync
14493         [734dafc4a85e]
14494
14495         * parse.c:
14496         Parse sudoers file as PERM_RUNAS not PERM_ROOT and remove a useless
14497         PERM_SUDOERS. Restore to PERM_ROOT upon exit of the parse.
14498         [151b7f593568]
14499
14500 2004-07-08  Todd C. Miller  <Todd.Miller@courtesan.com>
14501
14502         * CHANGES:
14503         PAM change
14504         [d8fb6d6a22d0]
14505
14506 2004-07-08  Aaron Spangler  <aaron777@gmail.com>
14507
14508         * ldap.c:
14509         Better debugging of ALL command
14510         [9db3e84029dc]
14511
14512 2004-07-08  Todd C. Miller  <Todd.Miller@courtesan.com>
14513
14514         * parse.c:
14515         When matching for "sudoedit" in sudoers check both the command the
14516         user typed *and* the command that is listed in the sudoers entry.
14517         [f36ca1f94095]
14518
14519 2004-07-04  Aaron Spangler  <aaron777@gmail.com>
14520
14521         * ldap.c:
14522         Added !command feature
14523         [ed539574611b]
14524
14525 2004-06-28  Todd C. Miller  <Todd.Miller@courtesan.com>
14526
14527         * auth/pam.c:
14528         Use pam_acct_mgmt() to check for disabled accounts; Brian Farrell
14529         [2be8e0e8813a]
14530
14531 2004-06-11  Todd C. Miller  <Todd.Miller@courtesan.com>
14532
14533         * LICENSE:
14534         License is ISC-style, not BSD-style
14535         [ac0589e1dd5d]
14536
14537         * CHANGES:
14538         sync
14539         [16058a30f404]
14540
14541 2004-06-10  Todd C. Miller  <Todd.Miller@courtesan.com>
14542
14543         * sudo.cat, sudo.man.in:
14544         regen
14545         [8820eb9c809b]
14546
14547         * sudo.pod:
14548         o Update some out of date bits to reality o Change the shell promt
14549         in examples to bourne-shell style o Clarify some details o Add a
14550         CAVEAT about "sudo cd /foo"
14551         [b0af373214b6]
14552
14553         * check.c:
14554         Don't ask for a password if invoking user == target user.
14555         [dd5c96141132]
14556
14557         * sudo.c:
14558         typo in comment
14559         [278d20f9b249]
14560
14561 2004-06-08  Todd C. Miller  <Todd.Miller@courtesan.com>
14562
14563         * sudoers.cat, sudoers.man.in:
14564         regen
14565         [9036c6f39eff]
14566
14567         * sudoers.pod:
14568         Expand on NOEXEC a little.
14569         [9a13756aebe4]
14570
14571         * TODO:
14572         sync
14573         [8d2c1af48de8]
14574
14575         * visudo.cat, visudo.man.in:
14576         regen
14577         [3921f01607c8]
14578
14579         * sudo.tab.c:
14580         regen
14581         [9338c3d68250]
14582
14583         * visudo.pod:
14584         Add a check in visudo for runas_default being set after it has
14585         already been used.
14586         [6700358d7ad8]
14587
14588         * CHANGES, parse.yacc, visudo.c:
14589         Add a check in visudo for runas_default being set after it has
14590         already been used.
14591         [803560986a8a]
14592
14593         * sudo.tab.c:
14594         regen
14595         [b60636e2cf63]
14596
14597         * parse.yacc:
14598         Add a MATCHED macro for testing whether foo_matches has been set to
14599         TRUE or FALSE. This is more readable than checking for >=0 or < 0.
14600         Doesn't change the actual code generated.
14601         [f376da8ccdc8]
14602
14603 2004-06-07  Todd C. Miller  <Todd.Miller@courtesan.com>
14604
14605         * sudoers.cat:
14606         regen
14607         [6cceb6d6c9bd]
14608
14609         * sudoers.man.in:
14610         regen
14611         [5acd12b730b3]
14612
14613         * sudoers.pod:
14614         Correct description of where Defaults specs should go.
14615         [6b11ff53d7ad]
14616
14617         * sudoers:
14618         Correct description of where Defaults specs should go.
14619         [868db857630d]
14620
14621         * testsudoers.c, visudo.c:
14622         update (c) year
14623         [272c8a53604c]
14624
14625         * logging.h:
14626         update (c) year
14627         [3cec76d400ce]
14628
14629         * ldap.c:
14630         update (c) year
14631         [f264632488a0]
14632
14633         * find_path.c:
14634         update (c) year
14635         [40c227af9227]
14636
14637         * auth/pam.c:
14638         update (c) year
14639         [87149e0eed50]
14640
14641         * auth/bsdauth.c, auth/kerb5.c:
14642         update (c) year
14643         [d72eb434c068]
14644
14645 2004-06-06  Todd C. Miller  <Todd.Miller@courtesan.com>
14646
14647         * sudo.tab.c:
14648         regen
14649         [83408d9e9d2e]
14650
14651         * auth/bsdauth.c, auth/kerb5.c, auth/pam.c, visudo.c:
14652         Remove trailing spaces, no actual code changes.
14653         [4c3bf2819293]
14654
14655         * tgetpass.c:
14656         Remove trailing spaces, no actual code changes.
14657         [96f6e0a24c26]
14658
14659         * ldap.c, logging.h, parse.c, parse.yacc, sudo.c, testsudoers.c:
14660         Remove trailing spaces, no actual code changes.
14661         [c7075d1cbed5]
14662
14663         * getcwd.c:
14664         Remove trailing spaces, no actual code changes.
14665         [776cc0374547]
14666
14667         * find_path.c:
14668         Remove trailing spaces, no actual code changes.
14669         [7ed7099f3c71]
14670
14671         * compat.h, defaults.c, env.c:
14672         Remove trailing spaces, no actual code changes.
14673         [893e83c33795]
14674
14675         * check.c:
14676         Remove trailing spaces, no actual code changes.
14677         [f77750f8803b]
14678
14679         * sudo.tab.c:
14680         regen
14681         [62e0ed883b31]
14682
14683         * parse.yacc:
14684         Fix a >=0 that should be <0 that was improperly converted when
14685         UNSPEC was added.
14686         [ad1531a55a49]
14687
14688         * parse.yacc:
14689         Add do {} while(0) around pop macro Set cmnd_matches to UNSPEC, not
14690         NOMATCH when resetting it.
14691         [ae017a12870a]
14692
14693         * parse.yacc:
14694         Fix pastos introduced in SETNMATCH addition.
14695         [6ea1c9d80681]
14696
14697 2004-06-05  Todd C. Miller  <Todd.Miller@courtesan.com>
14698
14699         * README.LDAP:
14700         Update for configure changes
14701         [637a635da287]
14702
14703         * sudo.tab.c:
14704         regen
14705         [4753c2788713]
14706
14707         * sudo.h:
14708         Add NOMATCH and UNSPEC defines (-1 and -2 respectively) and use
14709         these in parse.yacc. Also in parse.yacc initialize the *_matches
14710         vars to UNSPEC and add two macros, SETMATCH and SETNMATCH for use
14711         when setting *_matches to a value that may be
14712         NOMATCH/UNSPEC/TRUE/FALSE.
14713         [2ba622e15a4d]
14714
14715         * parse.yacc:
14716         Add NOMATCH and UNSPEC defines (-1 and -2 respectively) and use
14717         these in parse.yacc. Also in parse.yacc initialize the *_matches
14718         vars to UNSPEC and add two macros, SETMATCH and SETNMATCH for use
14719         when setting *_matches to a value that may be
14720         NOMATCH/UNSPEC/TRUE/FALSE.
14721         [746b519e41a6]
14722
14723         * parse.yacc:
14724         Initialize runas to -2, not -1 since we need to be able to
14725         distinguish between the initialized value and the value of a non-
14726         match when passing along the runas value to multiple commands.
14727
14728         The result of this is that an unmatched runas is now set to -1, not
14729         0. This is required now that parse.c treats a FALSE value for runas
14730         as being explicitly denied.
14731         [7791ed3621f6]
14732
14733 2004-06-03  Todd C. Miller  <Todd.Miller@courtesan.com>
14734
14735         * sudo.c, visudo.c:
14736         Error out if argc < 1.
14737         [ce6b2a9eda3c]
14738
14739         * getprogname.c:
14740         Error out if argc < 1.
14741         [c566cce8dc78]
14742
14743         * configure, configure.in:
14744         Add tests for what libs we need to link with for ldap and for
14745         whether or not lber.h needs to be explicitly included.
14746         [b2e9729cc4e7]
14747
14748 2004-06-03  Aaron Spangler  <aaron777@gmail.com>
14749
14750         * ldap.c:
14751         Solaris native LDAP build fix
14752         [39929e40eb11]
14753
14754 2004-06-01  Todd C. Miller  <Todd.Miller@courtesan.com>
14755
14756         * ldap.c:
14757         Set edn to NULL is ldap_get_dn() fails to avoid potential use of an
14758         unset variable.
14759         [6a4c20a66f98]
14760
14761         * sudo.h:
14762         Add prototype for sudo_ldap_list_matches
14763         [443b007a8dab]
14764
14765         * configure, configure.in:
14766         Better check for dirfd macro--we now set HAVE_DIRFD for the macro
14767         version too. Added check for dd_fd in `DIR' if no dirfd is found;
14768         this is now used to confitionally define the dirfd macro in
14769         compat.h.
14770         [567656978f7e]
14771
14772         * config.h.in:
14773         Better check for dirfd macro--we now set HAVE_DIRFD for the macro
14774         version too. Added check for dd_fd in `DIR' if no dirfd is found;
14775         this is now used to confitionally define the dirfd macro in
14776         compat.h.
14777         [34eace4faec8]
14778
14779         * compat.h:
14780         Better check for dirfd macro--we now set HAVE_DIRFD for the macro
14781         version too. Added check for dd_fd in `DIR' if no dirfd is found;
14782         this is now used to confitionally define the dirfd macro in
14783         compat.h.
14784         [8d50ff1bbf2a]
14785
14786         * closefrom.c:
14787         Only check /proc/$$/fd if we have the dirfd function/macro.
14788         [15e3ccce7553]
14789
14790         * compat.h, config.h.in, configure, configure.in:
14791         Add a check for a dirfd() function (like Linux) and add a dirfd
14792         macro in compat.h if there is no dirfd() function or macro.
14793         [1e95756edb50]
14794
14795         * closefrom.c, getcwd.c:
14796         dirfd() is now defined in compat.h as needed.
14797         [bb1d79271188]
14798
14799         * CHANGES:
14800         Clarify closefrom() note.
14801         [f4e4a5508dda]
14802
14803         * parse.c:
14804         When checking for a command in the directory, only copy the base dir
14805         once.
14806         [7a3276808b87]
14807
14808         * closefrom.c:
14809         If there is a /proc/$$/fd directory, behave like the Solaris
14810         closefrom() and only close the descriptors listed therein.
14811         [19de23779e84]
14812
14813         * alloc.c:
14814         compat.h guarantees INT_MAX is defined.
14815         [1bf0c79d4606]
14816
14817         * compat.h:
14818         Add definitions of OPEN_MAX and INT_MAX for those without it and
14819         remove definition of RLIM_INFINITY (now unused).
14820         [f827d1ebf96e]
14821
14822         * CHANGES, alloc.c, check.c, compat.h, find_path.c, getcwd.c, parse.c,
14823         sudo.c, sudo.h, visudo.c:
14824         Use PATH_MAX, not MAXPATHLEN since the former is standardized.
14825         [59788f211c24]
14826
14827 2004-05-31  Todd C. Miller  <Todd.Miller@courtesan.com>
14828
14829         * CHANGES:
14830         sync
14831         [d32fa124f1ad]
14832
14833         * RUNSON:
14834         Add some entries that were mailed in a while ago
14835         [ff8d5bfec54e]
14836
14837         * closefrom.c:
14838         o sysconf returns a long, not an int. o check for negative return
14839         value from sysconf/getdtablesize and use OPEN_MAX in this case. o
14840         define OPEN_MAX to 256 for those without it (a fair guess...)
14841         [ccf81ae6deb2]
14842
14843 2004-05-30  Todd C. Miller  <Todd.Miller@courtesan.com>
14844
14845         * UPGRADE:
14846         Mention change in parse order for RunAs entries.
14847         [dc73b0bca617]
14848
14849         * configure:
14850         regen
14851         [07cce8e0534e]
14852
14853 2004-05-29  Todd C. Miller  <Todd.Miller@courtesan.com>
14854
14855         * INSTALL, README.LDAP, config.h.in, configure.in:
14856         o --with-ldap now takes an optional dir as a parameter o added
14857         check for ldap_initialize() and start_tls_s()
14858         [2b846c7974c6]
14859
14860         * README.LDAP:
14861         Fix some typos, word choice and formatting issues.
14862         [00dc8ca84b10]
14863
14864 2004-05-28  Todd C. Miller  <Todd.Miller@courtesan.com>
14865
14866         * tgetpass.c:
14867         Use SA_INTERRUPT so SunOS works correctly, avoid stdio and just use
14868         read/write as it is simpler.
14869         [30f5446ee8b0]
14870
14871         * configure, configure.in:
14872         Remove hack overriding cross-compiler check. It should no longer be
14873         needed.
14874         [22a6cbd88608]
14875
14876         * compat.h:
14877         Remove select() compat bits since we no longer use select().
14878         [d7bbf7cd36f5]
14879
14880         * CHANGES, tgetpass.c:
14881         Use alarm() instead of select() for the timeout for systems that
14882         don't fully/properly implement select().
14883         [d7cc60f15800]
14884
14885 2004-05-27  Todd C. Miller  <Todd.Miller@courtesan.com>
14886
14887         * CHANGES:
14888         synbc
14889         [132a39788e07]
14890
14891         * RUNSON:
14892         update
14893         [61ef508380c6]
14894
14895         * set_perms.c:
14896         Deal with systems that have no way of setting the effective uid such
14897         as nsr-tandem-nsk.
14898         [306e00e9b5a4]
14899
14900         * configure, configure.in:
14901         Define NO_SAVED_IDS if we don't find seteuid()
14902         [8588f18345cf]
14903
14904         * config.h.in, configure, configure.in:
14905         Add back check for setreuid() since NSK doesn't have it.
14906         [43127bd703d1]
14907
14908         * sudoers.cat, sudoers.man.in:
14909         regen
14910         [af4f4b20e422]
14911
14912         * CHANGES:
14913         sync
14914         [29ca3b699c24]
14915
14916         * BUGS:
14917         sync
14918         [3593f17f72ed]
14919
14920         * parse.c:
14921         In sudoers_lookup() return VALIDATE_NOT_OK if the runas user was
14922         explicitly denied and the command matched. This fixes a long-
14923         standing bug and makes: foo machine = (ALL) /usr/bin/blah
14924         foo machine = (!bar) /usr/bin/blah
14925
14926         equivalent to: foo machine = (ALL, !bar) /usr/bin/blah
14927         [2f5ee244985a]
14928
14929         * sudoers.pod:
14930         Clarify mail_noperm
14931         [3238b2d41989]
14932
14933 2004-05-20  Aaron Spangler  <aaron777@gmail.com>
14934
14935         * Makefile.in:
14936         Missing DESTDIR in make install for sudo_noexec.la
14937         [91431e821525]
14938
14939 2004-05-17  Todd C. Miller  <Todd.Miller@courtesan.com>
14940
14941         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in, visudo.cat,
14942         visudo.man.in:
14943         regen
14944         [cdfde0dcb556]
14945
14946         * TODO:
14947         sync
14948         [4799b7d8b62c]
14949
14950         * sudoers.pod:
14951         Remove fastboot/fasthalt (who still remembers these?) and add a
14952         minimal sudoedit example.
14953         [19d299f233cd]
14954
14955         * sample.sudoers:
14956         Remove fastboot/fasthalt (who still remembers these?) and add a
14957         minimal sudoedit example.
14958         [b1bca73d6250]
14959
14960         * UPGRADE, sudo.c, visudo.c:
14961         filesystem -> file system
14962         [1e1afaf30469]
14963
14964         * TROUBLESHOOTING:
14965         filesystem -> file system
14966         [39fb594e9338]
14967
14968         * CHANGES, INSTALL:
14969         filesystem -> file system
14970         [85948b608ffe]
14971
14972         * sudo.pod, sudoers.pod:
14973         Fix some minor typos and formatting goofs
14974         [e94d243a0b90]
14975
14976         * lex.yy.c:
14977         regen
14978         [2eed0ab1f4c4]
14979
14980         * visudo.pod:
14981         remove my email addr
14982         [b63262c0389b]
14983
14984         * sudo.pod, sudoers.pod, visudo.pod:
14985         Use @mansectform@ and @mansectsu@ everywhere Make man page
14986         references links with L<>
14987         [f459f4b9ddb9]
14988
14989         * parse.lex:
14990         Accept quoted globbing characters and pass them verbatim for
14991         fnmatch()
14992         [8248b86e9380]
14993
14994         * UPGRADE:
14995         Document that /tmp/.odus is gone.
14996         [3667b66af5bb]
14997
14998         * pathnames.h.in:
14999         No longer use /tmp/.odus as a possible timestamp dir unless
15000         specifically configured to do so. Instead, if no /var/run exists,
15001         use /var/adm/sudo or /usr/adm/sudo.
15002         [48d94c9f9ad4]
15003
15004         * configure:
15005         No longer use /tmp/.odus as a possible timestamp dir unless
15006         specifically configured to do so. Instead, if no /var/run exists,
15007         use /var/adm/sudo or /usr/adm/sudo.
15008         [058d7b8cf07b]
15009
15010         * aclocal.m4:
15011         No longer use /tmp/.odus as a possible timestamp dir unless
15012         specifically configured to do so. Instead, if no /var/run exists,
15013         use /var/adm/sudo or /usr/adm/sudo.
15014         [cf52c4c2803f]
15015
15016         * CHANGES:
15017         No longer use /tmp/.odus as a possible timestamp dir unless
15018         specifically configured to do so. Instead, if no /var/run exists,
15019         use /var/adm/sudo or /usr/adm/sudo.
15020         [6058c4cefcec]
15021
15022         * set_perms.c, sudo.c, tgetpass.c, visudo.c:
15023         Preliminary changes to support nsr-tandem-nsk. Based on patches
15024         from Tom Bates.
15025         [2e5f81834383]
15026
15027         * logging.c:
15028         Preliminary changes to support nsr-tandem-nsk. Based on patches
15029         from Tom Bates.
15030         [934bbe6872b6]
15031
15032         * check.c, compat.h:
15033         Preliminary changes to support nsr-tandem-nsk. Based on patches
15034         from Tom Bates.
15035         [390b698b5924]
15036
15037 2004-05-16  Todd C. Miller  <Todd.Miller@courtesan.com>
15038
15039         * CHANGES:
15040         There was no 1.6.7p6.
15041         [8013d2e6b062]
15042
15043         * BUGS, CHANGES:
15044         sync
15045         [c38b41f32857]
15046
15047         * Makefile.in:
15048         add missing files to DISTFILES
15049         [e6a80ad03039]
15050
15051         * sudo.cat, sudoers.cat, visudo.cat:
15052         regen
15053         [027bc9746dd5]
15054
15055         * sudoers.man.in:
15056         regen
15057         [f5e85ef686cf]
15058
15059         * Makefile.in:
15060         Fix some line wrap and update (c) year
15061         [bad1f46aa1ca]
15062
15063 2004-04-28  Aaron Spangler  <aaron777@gmail.com>
15064
15065         * README.LDAP:
15066         Build Note
15067         [7a061248249b]
15068
15069 2004-04-07  Aaron Spangler  <aaron777@gmail.com>
15070
15071         * Makefile.in:
15072         Fix install-dirs
15073         [be0726dd92e7]
15074
15075 2004-04-05  Todd C. Miller  <Todd.Miller@courtesan.com>
15076
15077         * sudo.tab.c:
15078         regen
15079         [3f4f0d1ab8b9]
15080
15081         * visudo.c:
15082         In Exit() when used as a signal handler, emsg is a pointer so
15083         sizeof() is wrong so make it a #define instead. Also avoid using a
15084         negative exit value. Found by Aaron Campbell
15085         [78716a3a3fdc]
15086
15087 2004-03-24  Todd C. Miller  <Todd.Miller@courtesan.com>
15088
15089         * sudoers.pod:
15090         Remove bogus sentence about uids in a User_List. Document usernames
15091         vs. uid parsing in a Runas_List.
15092         [7ca510b5031c]
15093
15094         * parse.c, parse.h, parse.yacc, sudo.c, testsudoers.c, visudo.c:
15095         If the user specified a uid with the -u flag and the uid exists in
15096         the passwd file, set runas_user to the name, not the uid.
15097
15098         When comparing usernames in sudoers, if a name is really a uid
15099         (starts with '#') compare it numerically to pw_uid.
15100         [8d6935d04673]
15101
15102 2004-03-22  Todd C. Miller  <Todd.Miller@courtesan.com>
15103
15104         * auth/kerb5.c:
15105         krb5_mcc_ops should be const; Johnny C. Lam
15106         [aa8c753e426e]
15107
15108 2004-02-28  Aaron Spangler  <aaron777@gmail.com>
15109
15110         * CHANGES, config.h.in, ldap.c:
15111         Added start_tls support
15112         [7ef864c15b69]
15113
15114 2004-02-14  Todd C. Miller  <Todd.Miller@courtesan.com>
15115
15116         * Makefile.in:
15117         Clean up libtool stuff for 'make distclean' and add def_data.c,
15118         def_data.h to PARSESRCS.
15119         [bf9bb6bb06ab]
15120
15121 2004-02-14  Aaron Spangler  <aaron777@gmail.com>
15122
15123         * strlcat.c, strlcpy.c:
15124         Un-Fix last license munge
15125         [42654b77ac71]
15126
15127 2004-02-13  Todd C. Miller  <Todd.Miller@courtesan.com>
15128
15129         * configure:
15130         regen
15131         [e4de6b23a4dc]
15132
15133         * CHANGES, RUNSON, TODO:
15134         checkpoint
15135         [94e1ace84d5c]
15136
15137         * lex.yy.c, sudo.tab.c:
15138         regen
15139         [8ce784505643]
15140
15141         * auth/passwd.c, auth/rfc1938.c, auth/secureware.c, auth/securid.c,
15142         auth/securid5.c, auth/sia.c, auth/sudo_auth.c, auth/sudo_auth.h,
15143         emul/search.h, emul/utime.h:
15144         More to a less restrictive, ISC-style license.
15145         [a31b20e48003]
15146
15147         * auth/kerb5.c, auth/pam.c:
15148         More to a less restrictive, ISC-style license.
15149         [e41f92b41216]
15150
15151         * auth/dce.c, auth/fwtk.c, auth/kerb4.c:
15152         More to a less restrictive, ISC-style license.
15153         [87534c164a52]
15154
15155         * auth/bsdauth.c:
15156         More to a less restrictive, ISC-style license.
15157         [e21be6594b58]
15158
15159         * auth/afs.c, auth/aix_auth.c, zero_bytes.c:
15160         More to a less restrictive, ISC-style license.
15161         [6d234be91c5e]
15162
15163         * sudoers.man.in, sudoers.pod, testsudoers.c, tgetpass.c, visudo.c,
15164         visudo.man.in, visudo.pod:
15165         More to a less restrictive, ISC-style license.
15166         [b02aea324fd6]
15167
15168         * sudo_noexec.c:
15169         More to a less restrictive, ISC-style license.
15170         [a6da7631e0b2]
15171
15172         * strlcat.c, strlcpy.c, sudo.c, sudo.h, sudo.man.in, sudo.pod,
15173         sudo_edit.c:
15174         More to a less restrictive, ISC-style license.
15175         [71cdcc241e94]
15176
15177         * sigaction.c, strerror.c:
15178         More to a less restrictive, ISC-style license.
15179         [4bccdedca58a]
15180
15181         * ldap.c, logging.c, logging.h, parse.c, parse.h, pathnames.h.in,
15182         set_perms.c:
15183         More to a less restrictive, ISC-style license.
15184         [64d772d70ab3]
15185
15186         * getspwuid.c, goodpath.c, ins_2001.h, ins_classic.h, ins_csops.h,
15187         ins_goons.h, insults.h, interfaces.c, interfaces.h:
15188         More to a less restrictive, ISC-style license.
15189         [520381c60a54]
15190
15191         * find_path.c, getprogname.c:
15192         More to a less restrictive, ISC-style license.
15193         [f605d5eab6f1]
15194
15195         * fileops.c:
15196         More to a less restrictive, ISC-style license.
15197         [4129a8b38a67]
15198
15199         * env.c:
15200         More to a less restrictive, ISC-style license.
15201         [d5bd859757de]
15202
15203         * defaults.h:
15204         More to a less restrictive, ISC-style license.
15205         [008f5d5743f5]
15206
15207         * LICENSE, Makefile.in, alloc.c, check.c, closefrom.c, compat.h,
15208         defaults.c:
15209         More to a less restrictive, ISC-style license.
15210         [d8d7bfc8a18b]
15211
15212         * utime.c, version.h:
15213         More to a less restrictive, ISC-style license.
15214         [e2e038ad8209]
15215
15216         * parse.lex, parse.yacc:
15217         More to a less restrictive, ISC-style license.
15218         [2f5942e847a1]
15219
15220         * Makefile.binary:
15221         More to a less restrictive, ISC-style license.
15222         [1ed561734535]
15223
15224 2004-02-13  Aaron Spangler  <aaron777@gmail.com>
15225
15226         * sudoers2ldif:
15227         Merged in LDAP Support
15228         [3994c4d05947]
15229
15230         * ldap.c, sudo.c, sudo.h:
15231         Merged in LDAP Support
15232         [547eaa346fcc]
15233
15234         * def_data.c, def_data.h, def_data.in:
15235         Merged in LDAP Support
15236         [8fb255280e42]
15237
15238         * CHANGES, Makefile.in, README.LDAP, config.h.in, configure.in:
15239         Merged in LDAP Support
15240         [1038092a161e]
15241
15242 2004-02-08  Todd C. Miller  <Todd.Miller@courtesan.com>
15243
15244         * sudo.h, sudo_noexec.c:
15245         Only do "extern int errno" if errno is not a macro.
15246         [b2e02a08be8b]
15247
15248 2004-02-06  Todd C. Miller  <Todd.Miller@courtesan.com>
15249
15250         * set_perms.c:
15251         setreuid(0, 0) fails on QNX if the euid is not already 0 so set the
15252         euid first, then just call setuid(0) to set the real uid too.
15253         [f08546e2e0ee]
15254
15255         * set_perms.c:
15256         Use setresuid() and setreuid() for PERM_RUNAS when appropriate
15257         instead of seteuid() which may not exist.
15258         [ba508581befb]
15259
15260 2004-02-04  Todd C. Miller  <Todd.Miller@courtesan.com>
15261
15262         * LICENSE:
15263         2004
15264         [37425513a342]
15265
15266         * INSTALL, config.h.in, configure, configure.in, ins_classic.h:
15267         Add --with-pc-insults configure option
15268         [7daa5294c17b]
15269
15270         * visudo.man.in:
15271         Prefer VISUAL over EDITOR like old vipw did.
15272         [996252a4ab65]
15273
15274 2004-02-01  Todd C. Miller  <Todd.Miller@courtesan.com>
15275
15276         * sudo.man.in, sudoers.man.in:
15277         regen
15278         [a247f1c52eb9]
15279
15280         * sudoers.pod:
15281         Add a note that noexec is not a cure-all.
15282         [9e7fc535367d]
15283
15284         * sudoers.pod:
15285         Mention that disabling "root_sudo" is pretty pointless.
15286         [f38a415afba0]
15287
15288         * configure, configure.in:
15289         Substitute for root_sudo in sudoers.pod
15290         [ce483cfc86be]
15291
15292         * sudo.pod:
15293         Add sudoedit to the NAME section
15294         [51bc453ec2f6]
15295
15296         * sudoers.pod:
15297         Document that fact that setting ignore_dot in sudoers has no effect
15298         due to the fact that find_path() is called *before* sudoers is read.
15299         [6808df7e417c]
15300
15301 2004-01-30  Todd C. Miller  <Todd.Miller@courtesan.com>
15302
15303         * sudo_edit.c:
15304         Do not require _PATH_USRTMP to be set.
15305         [546f3270dd10]
15306
15307         * BUGS, CHANGES, TODO:
15308         sync
15309         [4205ddeab781]
15310
15311         * sudo.man.in:
15312         regen
15313         [e2143690a88a]
15314
15315         * sudo.pod:
15316         Clarify that when sudo is run by root with the SUDO_USER variable
15317         set, the sudoers lookup happens for root and not the SUDO_USER user.
15318         [47207bec1bdf]
15319
15320 2004-01-29  Todd C. Miller  <Todd.Miller@courtesan.com>
15321
15322         * auth/pam.c, auth/sudo_auth.c, interfaces.c, logging.c, parse.c,
15323         set_perms.c, sigaction.c, sudo.c, tgetpass.c:
15324         Use the SET, CLR and ISSET macros.
15325         [a8b0d7f1e8fd]
15326
15327         * fnmatch.c:
15328         Use the SET, CLR and ISSET macros.
15329         [1afbcba22ba6]
15330
15331         * defaults.c, env.c:
15332         Use the SET, CLR and ISSET macros.
15333         [2f39431e0a49]
15334
15335         * interfaces.h:
15336         MAIN was replaced with _SUDO_MAIN some time ago.
15337         [ea1b38f2ac9d]
15338
15339         * sudo.c:
15340         Don't look at prev_user until after we've parsed sudoers and done
15341         the password check. That way, if sudo/sudoedit is run from a root
15342         process that was invoked by sudo, we check sudoers for root, not the
15343         previous user. This makes sudoedit much more useful and means that
15344         for the sudo case, we get correct logging on who actually ran the
15345         command.
15346         [431dfbf20552]
15347
15348 2004-01-23  Todd C. Miller  <Todd.Miller@courtesan.com>
15349
15350         * sudo_edit.c:
15351         Add a comment describing why we need to be notified about our child
15352         stopping.
15353         [0bec3ce4b49d]
15354
15355 2004-01-22  Todd C. Miller  <Todd.Miller@courtesan.com>
15356
15357         * def_data.c, def_data.in:
15358         Update the noexec variable descriptions
15359         [9cb7f1aa0e57]
15360
15361         * sudoers.man.in, sudoers.pod:
15362         noexec now replaces more than just execve()
15363         [23cbdc0ee95c]
15364
15365         * sudo_noexec.c:
15366         Alas, all the world does not go through execve(2). Many systems
15367         still have an execv(2) system call, Linux 2.6 provides fexecve(2)
15368         and it is not uncommon for libc to have underscore ('_') versions of
15369         the functions to be used internally by the library. Instead of
15370         stubbing all these out by hand, define a macro and let it do the
15371         work. Extra exec functions pointed out by Reznic Valery.
15372         [9fa0cd871b0c]
15373
15374         * sudo.c, sudo_edit.c:
15375         Fix suspending the editor in -e mode. Because we do a fork() first
15376         we need to be notified when the child has been stopped and then send
15377         that same signal to ourself so the shell can do its job control
15378         thing.
15379         [773165eb6057]
15380
15381         * visudo.c:
15382         Use WIFEXITED and WEXITSTATUS macros. If there are systems out
15383         there that want to run sudo that still don't support these we can
15384         try to deal with that later.
15385         [6af68e4aff60]
15386
15387         * lex.yy.c:
15388         regen
15389         [403435317d5d]
15390
15391         * sudo.man.in, sudo.pod, sudoers.man.in, sudoers.pod:
15392         Document sudo -e / sudoedit
15393         [a80f6ea910af]
15394
15395         * configure, configure.in:
15396         fix typo
15397         [5020fcdc27f4]
15398
15399         * config.h.in, configure.in:
15400         Add SET/CLR/ISSET
15401         [03ff57286e7e]
15402
15403 2004-01-21  Todd C. Miller  <Todd.Miller@courtesan.com>
15404
15405         * sudo.c:
15406         Allow non-exclusive flags when invoked as sudoedit. Pretty print the
15407         long usage() line to not wrap (assumes 80 char display)
15408         [3941fa4004bb]
15409
15410         * Makefile.in, sudo.c:
15411         If sudo is invoked as "sudoedit" the -e flag is implied and no other
15412         flags are permitted.
15413         [929670b01293]
15414
15415         * sudo.h:
15416         Add a new flag, -e, that makes it possible to give users the ability
15417         to edit files with the editor of their choice as the invoking user,
15418         not the runas user. Temporary files are used for the actual edit
15419         and the temp file is copied over the original after the editor is
15420         done.
15421         [c4051414c1f4]
15422
15423         * Makefile.in, parse.c, parse.lex, sudo.c, sudo_edit.c:
15424         Add a new flag, -e, that makes it possible to give users the ability
15425         to edit files with the editor of their choice as the invoking user,
15426         not the runas user. Temporary files are used for the actual edit
15427         and the temp file is copied over the original after the editor is
15428         done.
15429         [37ac05c8ac3c]
15430
15431         * env.c, sudo.c:
15432         If real uid == 0 and the SUDO_USER environment variables is set, use
15433         that to determine the invoking user's true identity. That way the
15434         proper info gets logged by someone who has done "sudo su" but still
15435         uses sudo to as root. We can't do this for non-root users since
15436         that would open up a security hole, though perhaps it would be
15437         acceptable to use getlogin(2) on OSes where this a system call (and
15438         doesn't just look in the utmp file).
15439         [c2f9198708a1]
15440
15441         * pathnames.h.in:
15442         Add _PATH_TMP, _PATH_VARTMP and _PATH_USRTMP
15443         [7d9e5768df93]
15444
15445         * config.h.in, configure, configure.in:
15446         Add check for fchown(2)
15447         [a85df18798ed]
15448
15449 2004-01-20  Todd C. Miller  <Todd.Miller@courtesan.com>
15450
15451         * sudo.c:
15452         Back out portions of the -i commit that set NewArgv[0] in
15453         set_runaspw. It is far to late to set NewArgv[0] there and will have
15454         no effect anyway as cmnd and safe_cmnd have already been set.
15455         [c2d343430c1c]
15456
15457         * visudo.c, visudo.pod:
15458         Prefer VISUAL over EDITOR like old vipw did.
15459         [ae32f477cea3]
15460
15461 2004-01-19  Todd C. Miller  <Todd.Miller@courtesan.com>
15462
15463         * env.c, sudo.c:
15464         In -i mode always set new environment based on the runas user's
15465         passwd entry.
15466         [fa653b7887a8]
15467
15468 2004-01-18  Todd C. Miller  <Todd.Miller@courtesan.com>
15469
15470         * sudo.man.in, sudo.pod:
15471         Document the new -i flag and sync SYNOPSIS section with usage() in
15472         sudo.c. Also sort the flags in the OPTIONS section.
15473         [6aabc0ffc47e]
15474
15475         * sudo.c, sudo.h:
15476         o Add -i that acts similar to "su -", based on patches from David J.
15477         MacKenzie o Sort the flags in the usage message
15478         [c0fe7d6beffd]
15479
15480         * sudoers.man.in, sudoers.pod:
15481         Add a missing @runas_default@ substitution.
15482         [60516fe2d090]
15483
15484 2004-01-17  Todd C. Miller  <Todd.Miller@courtesan.com>
15485
15486         * sudo.c:
15487         Change euid to runas user before calling find_path().
15488         Unfortunately, though runas_user can be modified in sudoers we
15489         haven't parsed sudoers yet.
15490         [f469fdf2e313]
15491
15492         * sudoers.man.in, sudoers.pod:
15493         Add missing defintion of Parameter_List and use single pipes in the
15494         Defaults EBNF definition.
15495         [f7bed6e909bf]
15496
15497         * sudo.c:
15498         Fix a bug when set_runaspw() is used as a callback. We don't want
15499         to reset the contents of runas_pw if the user specified a user via
15500         the -u flag.
15501
15502         Avoid unnecessary passwd lookups in set_authpw(). In most cases we
15503         already have the info in runas_pw.
15504         [efc35623ba09]
15505
15506 2004-01-16  Todd C. Miller  <Todd.Miller@courtesan.com>
15507
15508         * check.c:
15509         Add Stan Lee / Uncle Ben quote to the lecture from RedHat
15510         [ebd5a76ccd7e]
15511
15512         * sudo.h:
15513         Update sudo_getepw() proto and add one for set_runaspw()
15514         [6ed65795c17f]
15515
15516         * parse.c:
15517         If we can't stat the command as root, try as the runas user instead.
15518         [ae713fca0e15]
15519
15520         * testsudoers.c, visudo.c:
15521         Add stub set_runaspw() function
15522         [42aa37050053]
15523
15524         * sudo.c:
15525         Add set_runaspw() function to fill in runas_pw. This will be used
15526         as a callback to update runas_pw when the runas user changes.
15527         [e570aa0088d0]
15528
15529         * env.c, sudo.c:
15530         PERM_RUNAS -> PERM_FULL_RUNAS
15531         [51eec6f9e89a]
15532
15533         * set_perms.c, sudo.h:
15534         Rename PERM_RUNAS -> PERM_FULL_RUNAS and add a PERM_RUNAS that just
15535         changes the euid.
15536         [877c6fe4d12c]
15537
15538         * getspwuid.c:
15539         Make sudo_pwdup() act like OpenBSD pw_dup() and allocate memory in
15540         one chunk for easy free()ing. Also change it from static to extern.
15541         [ab503260a7ec]
15542
15543         * defaults.c, defaults.h:
15544         Add callback support
15545         [a61c4ca983fb]
15546
15547         * mkdefaults:
15548         Add a callback field and use it for runas_default
15549         [96b69c27df5e]
15550
15551         * def_data.c, def_data.in:
15552         Add a callback field and use it for runas_default
15553         [d3e9f06872b8]
15554
15555 2004-01-15  Todd C. Miller  <Todd.Miller@courtesan.com>
15556
15557         * auth/fwtk.c:
15558         Add support for chalnecho and display server responses used by fwtk
15559         >= 2.0
15560         [b1870f7aaf0d]
15561
15562 2004-01-12  Todd C. Miller  <Todd.Miller@courtesan.com>
15563
15564         * sudoers.man.in, sudoers.pod:
15565         ld.so is ld.so.1 on solaris
15566         [2bf9a123fa4c]
15567
15568         * Makefile.in, config.h.in, configure, configure.in, sudo.c, sudo.h:
15569         Use closefrom() instead of doing the equivalent inline.
15570         [7e3ef6072884]
15571
15572         * closefrom.c:
15573         closefrom(3) for systems w/o it
15574         [35caf58bb636]
15575
15576 2004-01-09  Todd C. Miller  <Todd.Miller@courtesan.com>
15577
15578         * sudoers.man.in:
15579         Update from .pod file.
15580         [d4c94fc0e0c9]
15581
15582         * configure, configure.in:
15583         Substitute noexec_file for the sudoers man page
15584         [203d3376a551]
15585
15586         * sudo.man.in, sudo.pod:
15587         Mention noexec
15588         [014375ddbb06]
15589
15590         * sudoers.man.in, sudoers.pod:
15591         Document noexec
15592         [49a65d06201f]
15593
15594         * auth/pam.c, config.h.in, configure.in:
15595         Move PAM_CONST macro definition from config.h to pam.c where it
15596         belongs. We can't have this in config.h since that gets included too
15597         early.
15598         [e64748071637]
15599
15600         * auth/pam.c, config.h.in, configure, configure.in:
15601         Some PAM implementations put their headers in /usr/include/pam
15602         instead of /usr/include/security.
15603         [8cc749e9575c]
15604
15605         * configure.in:
15606         I missed changing the EXEC macro -> EXECV here when I changed this
15607         in config.h.in and sudo.c a while ago.
15608         [6f5afac7789f]
15609
15610         * acsite.m4:
15611         OpenBSD vax/m88k/hppa don't do shared libs
15612         [e4901d958bb7]
15613
15614         * configure, configure.in:
15615         o merge the hpux case entries into a single entry w/ its own sub-
15616         case statement. o HP-UX >= 11 support getspnam(), use it in
15617         preference to getprpwuid()
15618         [0caad428894e]
15619
15620         * configure, configure.in:
15621         eval $shrext so that it expands nicely on MacOS X
15622         [40419343eef8]
15623
15624         * Makefile.in:
15625         Don't lie about making a module, it does the wrong thing on mach
15626         [7629b28f5688]
15627
15628         * ltmain.sh:
15629         Remove requirement that libs must begin with "lib". They don't when
15630         we point directly at the lib using LD_PRELOAD or its equivalent.
15631         [d66f3de6ec85]
15632
15633         * acsite.m4:
15634         Disable support for c++, f77 and java. We don't need it, it takes a
15635         lot of time, and it hosed our check for shared lib support.
15636         [4f5749c52ce4]
15637
15638         * configure:
15639         regen
15640         [160865e9d15f]
15641
15642         * configure.in:
15643         Call AC_ENABLE_SHARED and check the status of enable_shared to know
15644         when shared libs are available.
15645         [42504c1668fc]
15646
15647         * acsite.m4:
15648         Duh, OpenBSD suports shared libs too
15649         [8e3cd9417475]
15650
15651         * config.h.in, configure.in:
15652         Only OpenPAM and Linux PAM use const qualifiers.
15653         [b2f76476e866]
15654
15655         * configure, configure.in:
15656         o No need to check for sed, libtool config does that for us o move
15657         check for --with-noexec until after libtool magic is run so we can
15658         use $can_build_shared and $shrext
15659         [668c656e89cc]
15660
15661         * ltmain.sh:
15662         Don't print a bunch of crap about library installs since we are not
15663         really installing a library.
15664         [83fbcad29fe4]
15665
15666         * env.c:
15667         Make format_env() varargs Add noexec support for Darwin, MacOS X,
15668         Irix, and Tru64
15669         [468885d75d10]
15670
15671         * acsite.m4, ltconfig, ltmain.sh:
15672         Update to libtool 1.5 with local changes: o no ldconfig in the
15673         finish step o assume no libprefix or version is needed
15674         [4961cffc3797]
15675
15676         * sudo_noexec.c:
15677         Fix compilation under K&R
15678         [8b309bf0b1b2]
15679
15680 2004-01-06  Todd C. Miller  <Todd.Miller@courtesan.com>
15681
15682         * CHANGES:
15683         checkpoint
15684         [3c368badab32]
15685
15686         * sudo_noexec.c:
15687         stub execve() that just returns EACCES; used for noexec
15688         functionality
15689         [1297acae283a]
15690
15691         * sudo.tab.h:
15692         Regen w/ updated byacc from OpenBSD; fixes a gcc 3.2 issue with
15693         generated code.
15694         [dcab78c49273]
15695
15696         * sudo.tab.c:
15697         Regen w/ updated byacc from OpenBSD; fixes a gcc 3.2 issue with
15698         generated code.
15699         [0a61c735eabe]
15700
15701 2004-01-05  Todd C. Miller  <Todd.Miller@courtesan.com>
15702
15703         * def_data.c, def_data.h, def_data.in:
15704         Move the environment defaults to the end and shorten a few of the
15705         descriptions.
15706         [66787b9c612c]
15707
15708         * configure, configure.in:
15709         no shared libs on ultris or convexos
15710         [2c5f3c456e32]
15711
15712         * Makefile.in, configure, configure.in:
15713         Build sudo_noexec shared object using libtool; could use some
15714         cleanup.
15715         [373f483555dd]
15716
15717         * acsite.m4, ltconfig, ltmain.sh:
15718         libtool scaffolding
15719         [c903a42e3d90]
15720
15721         * parse.yacc, sudo.tab.c:
15722         Merge the NOPASSWD/PASSWD and NOEXEC/EXEC rules so that order is not
15723         important.
15724         [c6e8a34639a4]
15725
15726         * defaults.c, env.c, lex.yy.c, parse.c, parse.h, parse.lex,
15727         parse.yacc, pathnames.h.in, sudo.c, sudo.h, sudo.tab.c:
15728         update copyright year
15729         [a16372ae1711]
15730
15731         * configure, configure.in, defaults.c, env.c, pathnames.h.in:
15732         Add _PATH_SUDO_NOEXEC and corresponding --with-noexec configure
15733         option. The default value of noexec_file is set to this.
15734         [7d88e1d3c494]
15735
15736         * def_data.c, def_data.h, def_data.in, env.c, lex.yy.c, parse.c,
15737         parse.h, parse.lex, parse.yacc, sudo.c, sudo.h, sudo.tab.c,
15738         sudo.tab.h:
15739         Add support for preloading a shared object containing a dummy
15740         execve() function that just sets error and returns -1. This adds a
15741         "noexec_file" option to load the filename as well as a "noexec" flag
15742         to enable it unconditionally. There is also a NOEXEC tag that can
15743         be attached to specific commands and an EXEC tag to disable it.
15744         [c8b6712feb91]
15745
15746         * mkdefaults:
15747         add missing newline to usage statement
15748         [e84746618362]
15749
15750         * config.h.in, sudo.c:
15751         Rename EXEC macro -> EXECV
15752         [ddaa0c027299]
15753
15754         * logging.c:
15755         Don't truncate usernames to 8 characters in the log message.
15756         [f62a20f27075]
15757
15758         * check.c, sudoers.man.in, sudoers.pod:
15759         Update copyright year
15760         [ca9964054085]
15761
15762         * check.c, def_data.c, def_data.h, def_data.in, sudoers.man.in,
15763         sudoers.pod:
15764         Add a new option, lecture_file, that can be used to point to a
15765         custom sudo lecture.
15766         [940133231216]
15767
15768 2003-12-31  Todd C. Miller  <Todd.Miller@courtesan.com>
15769
15770         * auth/aix_auth.c, auth/bsdauth.c, auth/fwtk.c, auth/pam.c,
15771         auth/sudo_auth.c:
15772         Add a zero_bytes() function to do the equivalent of bzero in such a
15773         way that will heopfully not be optimized away by sneaky compilers.
15774         [161b6d74bfb4]
15775
15776         * zero_bytes.c:
15777         Add a zero_bytes() function to do the equivalent of bzero in such a
15778         way that will heopfully not be optimized away by sneaky compilers.
15779         [d035abf0af94]
15780
15781         * Makefile.in, sudo.h:
15782         Add a zero_bytes() function to do the equivalent of bzero in such a
15783         way that will heopfully not be optimized away by sneaky compilers.
15784         [ff136de3e255]
15785
15786         * err.c:
15787         Use #ifdef __STDC__, not #if __STDC__.
15788         [6889dd6bc51a]
15789
15790 2003-12-30  Todd C. Miller  <Todd.Miller@courtesan.com>
15791
15792         * mkdefaults:
15793         Always put at least one space between the def_* macro name and its
15794         definition.
15795         [6b3ad0e6619a]
15796
15797         * configure, configure.in:
15798         Adjust code for --without-lecture to match new values.
15799         [062aa788a6b9]
15800
15801         * visudo.man.in:
15802         regen after pasto fix
15803         [3deec16906c0]
15804
15805         * sudoers.man.in, sudoers.pod:
15806         Document that "lecture" has changed from a flag to a tuple.
15807         [e2c03062b533]
15808
15809         * check.c, def_data.c, def_data.h, def_data.in, defaults.c,
15810         defaults.h, logging.c, mkdefaults, parse.c, sudo.c, sudo.h:
15811         Add support for tuples in def_data.in; these are implemented as an
15812         enum type. Currently there is only a single tuple enum but in the
15813         future we may have one tuple enum per T_TUPLE entry in def_data.in.
15814         Currently listpw, verifypw and lecture are tuples. This avoids the
15815         need to have two entries (one ival, one str) for pwflags and syslog
15816         values.
15817
15818         lecture is now a tuple with the following values: never, once,
15819         always
15820
15821         We no longer use both an int and string entry for syslog facilities
15822         and priorities. Instead, there are logfac2str() and logpri2str()
15823         functions that get used when we need to print the string values.
15824         [5293f946c836]
15825
15826         * auth/aix_auth.c, auth/bsdauth.c, auth/fwtk.c, auth/pam.c,
15827         auth/rfc1938.c, auth/securid5.c, auth/sia.c, auth/sudo_auth.c,
15828         check.c, def_data.h, defaults.c, defaults.h, env.c, find_path.c,
15829         logging.c, mkdefaults, parse.c, parse.yacc, set_perms.c, sudo.c,
15830         sudo.tab.c, visudo.c:
15831         Create def_* macros for each defaults value so we no longer need the
15832         def_{flag,ival,str,list,mode} macros (which have been removed). This
15833         is a step toward more flexible data types in def_data.in.
15834         [009c02934106]
15835
15836         * TODO:
15837         checkpoint
15838         [0a99a4bb5d15]
15839
15840 2003-12-23  Todd C. Miller  <Todd.Miller@courtesan.com>
15841
15842         * sudo.c:
15843         If we are in -k/-K mode, just spew to stderr. It is not unusual for
15844         users to place "sudo -k" in a .logout file which can cause sudo to
15845         be run during reboot after the YP/NIS/NIS+/LDAP/etc daemon has died.
15846         Previously, this would result in useless mail and logging.
15847         [d282e7ed63af]
15848
15849 2003-12-16  Todd C. Miller  <Todd.Miller@courtesan.com>
15850
15851         * visudo.pod:
15852         fix pasto in VISUAL description
15853         [1c6a6148b5f9]
15854
15855 2003-12-10  Todd C. Miller  <Todd.Miller@courtesan.com>
15856
15857         * configure:
15858         regen
15859         [f44312c63799]
15860
15861         * CHANGES:
15862         checkpoint
15863         [0c42e38f78d5]
15864
15865         * TROUBLESHOOTING:
15866         Some OSes (like Solaris) allow export w/ nosuid too
15867         [973ce85ffa12]
15868
15869 2003-08-12  Todd C. Miller  <Todd.Miller@courtesan.com>
15870
15871         * compat.h:
15872         We don't use FD_ZERO anymore so just define FD_SET (if not already
15873         there).
15874         [d1c8c11905cd]
15875
15876 2003-06-29  Todd C. Miller  <Todd.Miller@courtesan.com>
15877
15878         * auth/pam.c:
15879         Fix a core dump on Solaris by preserving the pam_handle_t we used
15880         during authentication for pam_prep_user(). If we didn't
15881         authenticate (ie: ticket still valid), we call pam_init() from
15882         pam_prep_user(). This is something of a hack; it may be better to
15883         change the auth API and add an auth_final() function that acts like
15884         pam_prep_user().
15885         [f787de49b175]
15886
15887 2003-06-21  Todd C. Miller  <Todd.Miller@courtesan.com>
15888
15889         * set_perms.c:
15890         Add explicit declaration of printerr variable in function header
15891         (was defaulting to int which is OK but oh so K&R :-). From Theo.
15892         [492c2358783f]
15893
15894 2003-06-09  Todd C. Miller  <Todd.Miller@courtesan.com>
15895
15896         * config.h.in, configure.in:
15897         s/HAVE_STOW/USE_STOW/
15898         [4b99e1824ece]
15899
15900         * logging.c:
15901         Also exit waitpid() loop when pid == 0. Fixes a problem where the
15902         sudo process would spin eating up CPU until sendmail finished when
15903         it has to send mail.
15904         [ec3d5792b9b4]
15905
15906 2003-05-30  Todd C. Miller  <Todd.Miller@courtesan.com>
15907
15908         * fnmatch.c:
15909         Remove advertising clause, UCB has disavowed it
15910         [43a26bbd6628]
15911
15912         * fnmatch.3:
15913         Remove advertising clause, UCB has disavowed it
15914         [3ff24291bcfa]
15915
15916 2003-05-22  Todd C. Miller  <Todd.Miller@courtesan.com>
15917
15918         * parse.c:
15919         Don't assume that getgrnam() calls don't modify contents of struct
15920         passwd returned by getpwnam(). On FreeBSD w/ NIS this can happen.
15921         Based on a patch from Kirk Webb.
15922         [5574c68f60f3]
15923
15924 2003-05-06  Todd C. Miller  <Todd.Miller@courtesan.com>
15925
15926         * configure.in:
15927         missing ;;
15928         [22378f2a9d31]
15929
15930         * configure.in:
15931         darwin has a broken setreuid() in at least some versions
15932         [d572aed930d2]
15933
15934         * env.c:
15935         Fix an off by one error when reallocating the environment; Kevin Pye
15936         [3d98e7cf097a]
15937
15938 2003-04-30  Todd C. Miller  <Todd.Miller@courtesan.com>
15939
15940         * sudoers.pod:
15941         Fix User_Spec definition; SEKINE Tatsuo
15942         [49b0da65e090]
15943
15944 2003-04-28  Todd C. Miller  <Todd.Miller@courtesan.com>
15945
15946         * HISTORY:
15947         More info on the early days from Coggs.
15948         [9381ca10b06b]
15949
15950 2003-04-21  Todd C. Miller  <Todd.Miller@courtesan.com>
15951
15952         * auth/kerb5.c:
15953         remove errant semicolon that prevented compilation under heimdal
15954         [d2f2bb73a598]
15955
15956 2003-04-16  Todd C. Miller  <Todd.Miller@courtesan.com>
15957
15958         * testsudoers.c, tgetpass.c, visudo.c, visudo.man.in, visudo.pod:
15959         add DARPA credit on affected files
15960         [7020785ee50d]
15961
15962         * sudoers.pod:
15963         add DARPA credit on affected files
15964         [83b46318750b]
15965
15966         * sigaction.c, strerror.c, sudo.c, sudo.h, sudo.man.in, sudo.pod,
15967         sudoers.man.in:
15968         add DARPA credit on affected files
15969         [d8adf1c2ba22]
15970
15971         * set_perms.c:
15972         add DARPA credit on affected files
15973         [3d79fdabb582]
15974
15975         * pathnames.h.in:
15976         add DARPA credit on affected files
15977         [e334cdda422f]
15978
15979         * logging.c, parse.c:
15980         add DARPA credit on affected files
15981         [8f75f822755b]
15982
15983         * auth/passwd.c, auth/rfc1938.c, auth/secureware.c, auth/securid.c,
15984         auth/securid5.c, auth/sia.c, auth/sudo_auth.c, fileops.c,
15985         find_path.c, getprogname.c, getspwuid.c, goodpath.c, interfaces.c,
15986         interfaces.h:
15987         add DARPA credit on affected files
15988         [da66e28fb3f5]
15989
15990         * auth/kerb5.c, auth/pam.c:
15991         add DARPA credit on affected files
15992         [15da3021b49c]
15993
15994         * auth/afs.c, auth/aix_auth.c, auth/bsdauth.c, auth/dce.c,
15995         auth/fwtk.c, auth/kerb4.c, parse.lex, parse.yacc, utime.c,
15996         version.h:
15997         add DARPA credit on affected files
15998         [868d54cbddea]
15999
16000         * env.c:
16001         add DARPA credit on affected files
16002         [90239f51ef0a]
16003
16004         * defaults.c, defaults.h:
16005         add DARPA credit on affected files
16006         [6a64205fd1eb]
16007
16008         * compat.h:
16009         add DARPA credit on affected files
16010         [316a735783c4]
16011
16012         * Makefile.in, alloc.c, check.c:
16013         add DARPA credit on affected files
16014         [cd939e05c810]
16015
16016         * LICENSE:
16017         slightly different wording for the darpa credit
16018         [e468909c4a21]
16019
16020 2003-04-15  Todd C. Miller  <Todd.Miller@courtesan.com>
16021
16022         * LICENSE:
16023         Add DARPA credit
16024         [8eb20e2cd63e]
16025
16026 2003-04-14  Todd C. Miller  <Todd.Miller@courtesan.com>
16027
16028         * auth/kerb5.c:
16029         Use krb5_princ_component() instead of krb5_princ_realm() for MIT
16030         Kerberos like we did before I messed things up ;-)
16031
16032         Use krb5_principal_get_comp_string() to do the same thing w/
16033         Heimdal. I'm not sure if the component should be 0 or 1 in this
16034         case.
16035
16036         #define ENCTYPE_DES_CBC_MD5 ETYPE_DES_CBC_MD5 for Heimdal since
16037         older versions lack ENCTYPE_DES_CBC_MD5. This is gross and there
16038         should be a configure check for this I guess.
16039         [74919a3933fe]
16040
16041 2003-04-13  Todd C. Miller  <Todd.Miller@courtesan.com>
16042
16043         * sample.sudoers:
16044         builtin -> built-in; Jason McIntyre
16045         [027f2187923e]
16046
16047         * TROUBLESHOOTING, config.h.in, configure, configure.in:
16048         builtin -> built-in; Jason McIntyre
16049         [70b81ac48943]
16050
16051         * sudoers.pod:
16052         built in -> built-in; Jason McIntyre
16053         [da658ef5138d]
16054
16055 2003-04-09  Todd C. Miller  <Todd.Miller@courtesan.com>
16056
16057         * CHANGES:
16058         checkpoint for 1.6.7p3
16059         [da85f989fadf]
16060
16061         * HISTORY:
16062         Update info on the early years @ SUNY-Buffalo from Cliff Spencer.
16063         Amazingly, sudo source from 1985 is available via groups.google.com
16064         [39e0fc85b89f]
16065
16066         * sudo.c:
16067         Don't change rl.rlim_max for RLIMIT_CORE. We need only set
16068         rl.rlim_cur to 0 to turn off core dumps. This may be needed for the
16069         RLIMIT_CORE restoration on some OSes.
16070         [7e2c1a7adfd8]
16071
16072 2003-04-04  Todd C. Miller  <Todd.Miller@courtesan.com>
16073
16074         * auth/kerb5.c:
16075         Make this compile on Heimdal and MIT Kerberos 5
16076         [44c07d615868]
16077
16078         * config.h.in, configure, configure.in:
16079         Check for heimdal even if we found krb5-config and define
16080         HAVE_HEIMDAL.
16081         [aba0126f0059]
16082
16083         * auth/kerb5.c:
16084         Replace ETYPE_DES_CBC_MD5 with ENCTYPE_DES_CBC_MD5. The former is
16085         no longer defined by MIT kerb5 (though it used to be and indeed
16086         remains so in Heimdal).
16087         [e5a6c64d7cd5]
16088
16089 2003-04-03  Todd C. Miller  <Todd.Miller@courtesan.com>
16090
16091         * mkinstalldirs:
16092         Remove newer stuff that passes multiple (possibly duplicate)
16093         directories to "mkdir -p" since that seems to break on Tru64 Unix at
16094         least. This basically brings back what shipped with sudo 1.6.6.
16095         [f2a1abd872b3]
16096
16097 2003-04-02  Todd C. Miller  <Todd.Miller@courtesan.com>
16098
16099         * auth/kerb5.c:
16100         Correct number of args to krb5_principal_get_realm() and fix an
16101         unclosed comment that hid the bug.
16102         [0b37f8ce7824]
16103
16104         * configure:
16105         regen
16106         [1876cb840fe0]
16107
16108         * configure.in:
16109         ++version
16110         [480aff7c048e]
16111
16112         * README:
16113         ++version
16114         [488e0bbff613]
16115
16116         * Makefile.in:
16117         ++version
16118         [97ef63cedc38]
16119
16120         * INSTALL.binary:
16121         ++version
16122         [a506204e77d0]
16123
16124         * INSTALL:
16125         ++version
16126         [555aeba5c2bf]
16127
16128         * CHANGES, version.h:
16129         ++version
16130         [f66985a64063]
16131
16132         * BUGS:
16133         ++version
16134         [ea3573432412]
16135
16136         * configure.in:
16137         use krb5-config to determine Kerberos V details if it exists
16138         [7b46bbdaf774]
16139
16140         * alloc.c, auth/fwtk.c, auth/rfc1938.c, auth/securid.c,
16141         auth/securid5.c, auth/sia.c, check.c, compat.h, defaults.c, env.c,
16142         find_path.c, interfaces.c, logging.c, parse.c, sudo.c, sudo.h,
16143         testsudoers.c, visudo.c:
16144         Use warn/err and getprogname() throughout. The main exception is
16145         openlog(). Since the admin may be filtering logs based on the
16146         program name in the log files, hard code this to "sudo".
16147         [9f180d015cfa]
16148
16149         * Makefile.in:
16150         Add getprogname.c and err.c
16151         [d411c54a07dc]
16152
16153         * configure:
16154         regen
16155         [6d585d391acc]
16156
16157         * config.h.in, configure.in:
16158         Add checks for getprognam(), __progname and err.h
16159         [bcbccf61d34a]
16160
16161         * emul/err.h:
16162         For systems withour err/warn functions.
16163         [1b33118884d9]
16164
16165         * err.c:
16166         For systems withour err/warn functions.
16167         [26721f6b041f]
16168
16169         * getprogname.c:
16170         For systems neither getprogname() nor __progname; uses Argv[0].
16171         [841cf42af1eb]
16172
16173 2003-04-01  Todd C. Miller  <Todd.Miller@courtesan.com>
16174
16175         * CHANGES:
16176         checkpoint for 1.6.7p1
16177         [5bfdaf441dce]
16178
16179         * sudo.c, testsudoers.c:
16180         fix strlcpy() rval check (innocuous)
16181         [e05ac7e0d1f3]
16182
16183         * check.c:
16184         oflow detection in expand_prompt() was faulty (false positives). The
16185         count was based on strlcat() return value which includes the length
16186         of the entire string.
16187         [086c5a0acb25]
16188
16189 2003-03-31  Todd C. Miller  <Todd.Miller@courtesan.com>
16190
16191         * RUNSON, TODO:
16192         checkpoint for the sudo 1.6.7 release
16193         [096bab4da29a] [SUDO_1_6_7]
16194
16195         * CHANGES:
16196         checkpoint for the sudo 1.6.7 release
16197         [87322187ed78]
16198
16199 2003-03-24  Todd C. Miller  <Todd.Miller@courtesan.com>
16200
16201         * logging.c:
16202         g/c unused variable
16203         [c57cd4a17765]
16204
16205         * configure:
16206         regen
16207         [e7c1f581dfac]
16208
16209         * configure.in:
16210         use man sections 8 and 5 for csops
16211         [87de581bda88]
16212
16213 2003-03-21  Todd C. Miller  <Todd.Miller@courtesan.com>
16214
16215         * configure:
16216         regen
16217         [cb1433a9c7a1]
16218
16219         * configure.in:
16220         Add -lskey or -lopie directly to SUDO_LIBS instead of having
16221         AC_CHECK_LIB() add them to LIBS. Fixes visudo linkage.
16222         [ac5667978939]
16223
16224         * configure:
16225         regen
16226         [638459118a2a]
16227
16228         * configure.in:
16229         Add --with-blibpath for AIX. An alternate libpath may be specified
16230         or
16231         -blibpath support can be disabled. Also change conifgure such that
16232         -blibpath is not specified if no -L libpaths were added to
16233         SUDO_LDFLAGS.
16234         [c7d17b480cad]
16235
16236         * aclocal.m4:
16237         Add --with-blibpath for AIX. An alternate libpath may be specified
16238         or
16239         -blibpath support can be disabled. Also change conifgure such that
16240         -blibpath is not specified if no -L libpaths were added to
16241         SUDO_LDFLAGS.
16242         [37022e991575]
16243
16244         * INSTALL:
16245         Add --with-blibpath for AIX. An alternate libpath may be specified
16246         or
16247         -blibpath support can be disabled. Also change conifgure such that
16248         -blibpath is not specified if no -L libpaths were added to
16249         SUDO_LDFLAGS.
16250         [4b4bbe5bbe1b]
16251
16252         * configure.in:
16253         add AIX blibpath support
16254         [16ba788bf086]
16255
16256         * INSTALL, configure.in:
16257         --with-skey and --with-opie now take an option directory argument
16258         This obsoletes a --with-csops hack (/tools/cs/skey)
16259
16260         Also remove the remaining direct uses of "echo"
16261         [5b4986a90c03]
16262
16263 2003-03-20  Todd C. Miller  <Todd.Miller@courtesan.com>
16264
16265         * configure.in:
16266         Detect KTH Kerberos IV and deal with it. Also make -lroken optional
16267         for KTH Kerberos IV and V.
16268         [119f97b48e18]
16269
16270         * aclocal.m4:
16271         Add SUDO_APPEND_LIBPATH function that add -L/path/to/dir (and
16272         -R/path/to/dir if $with_rpath) to the specified variable.
16273         [e55e49d076ce]
16274
16275         * INSTALL, configure.in:
16276         Add -R/path/to/libs for Solaris and SVR4. There is a new configure
16277         option, --with-rpath to control this behavior.
16278         [d4730c5399ab]
16279
16280         * configure.in:
16281         for kerb4 put libdes after libkrb on the link line
16282         [5c566100eab6]
16283
16284         * auth/kerb4.c:
16285         typo
16286         [6541b72b64a3]
16287
16288         * configure.in:
16289         fix kerberos lib check when a path is specified
16290         [ae833a914c6f]
16291
16292         * logging.c:
16293         Fix boolean thinko in SIGCHLD reaper and call reapchild after
16294         sending mail instead of doing a conditional sudo_waitpid.
16295         [86fa9a35df5a]
16296
16297 2003-03-19  Todd C. Miller  <Todd.Miller@courtesan.com>
16298
16299         * configure:
16300         regen
16301         [e6275cf528ba]
16302
16303         * configure.in:
16304         replace =DIR with [=DIR] where sensible
16305         [c39a59173b38]
16306
16307         * configure.in:
16308         o Use AC_MSG_* instead of "echo" o New Kerberos include/lib
16309         detection based on openssh's configure.in
16310         [5b7a340912df]
16311
16312         * INSTALL:
16313         --with-kerb4 and --with-kerb5 now take an optional argument.
16314         [71ed87fc9c64]
16315
16316 2003-03-16  Todd C. Miller  <Todd.Miller@courtesan.com>
16317
16318         * auth/securid.c:
16319         Kill remaining strcpy(), the programmer's guide says username is 32
16320         bytes.
16321         [bdba70fcd08d]
16322
16323         * auth/kerb4.c:
16324         trat uid_t as unsigned long for printf and use snprintf, not sprintf
16325         [8072f5f8966d]
16326
16327         * auth/rfc1938.c:
16328         use snprintf
16329         [fc0c70c665fe]
16330
16331 2003-03-15  Todd C. Miller  <Todd.Miller@courtesan.com>
16332
16333         * auth/afs.c, auth/aix_auth.c, auth/bsdauth.c, auth/dce.c,
16334         auth/fwtk.c, auth/kerb4.c, auth/kerb5.c, auth/pam.c, auth/passwd.c,
16335         auth/rfc1938.c, auth/sudo_auth.c:
16336         update copyright year
16337         [b0a10ccb1d0e]
16338
16339         * sudo.man.in, sudoers.man.in, visudo.man.in:
16340         update copyright year
16341         [8fce0034eb51]
16342
16343         * LICENSE, Makefile.in, aclocal.m4, alloc.c, check.c, compat.h,
16344         configure.in, env.c, find_path.c, interfaces.c, logging.c, parse.c,
16345         parse.lex, parse.yacc, set_perms.c, sudo.c, sudo.h, sudo.pod,
16346         sudoers.pod, testsudoers.c, version.h, visudo.c, visudo.pod:
16347         update copyright year
16348         [d541e75fe520]
16349
16350         * check.c, env.c, sudo.c:
16351         Cast [ug]ids to unsigned long and printf with %lu
16352         [2ede64d3592b]
16353
16354         * configure:
16355         regen
16356         [c7c3245bdf3e]
16357
16358         * configure.in:
16359         correct error messages for --with-sudoers-{mode,uid,gid}
16360         [77fc15b1c9db]
16361
16362         * alloc.c:
16363         make the malloc(0) error specific to each function to aid tracking
16364         down bugs.
16365         [a58c34374b4b]
16366
16367         * alloc.c:
16368         deal with platforms where size_t is signed and there is no SIZE_MAX
16369         or SIZE_T_MAX
16370         [7192abb4ab4e]
16371
16372         * auth/kerb5.c:
16373         Make this compile w/ Heimdal and fix some gcc warnings.
16374         [f52f026f31c2]
16375
16376         * sudo.c:
16377         Use stat_sudoers macro so --with-stow can work
16378         [c3674735c139]
16379
16380         * INSTALL, config.h.in, configure, configure.in:
16381         Add support for --with-stow based on patches from Robert Uhl
16382         [b274cc1dd52c]
16383
16384         * env.c:
16385         fix indentation
16386         [110d9f1721b1]
16387
16388         * configure.in:
16389         back out rev 1.352
16390         [1eee91c83f11]
16391
16392         * lex.yy.c:
16393         regen
16394         [72fba1c9590b]
16395
16396         * parse.lex:
16397         use strlcpy, not strncpy
16398         [4faccbaeccef]
16399
16400         * set_perms.c:
16401         Fix typo; check pw_uid, not pw_gid after setusercontext() failure.
16402         [33bf0d18fdc1]
16403
16404         * logging.c:
16405         use pid_t
16406         [3e0536993d2c]
16407
16408 2003-03-14  Todd C. Miller  <Todd.Miller@courtesan.com>
16409
16410         * strlcat.c, strlcpy.c:
16411         Make gcc shutup about unused rcsid
16412         [1669a0c74e9e]
16413
16414         * interfaces.c:
16415         Move the n == 0 check for the non-getifaddrs cas
16416         [2460be061b2a]
16417
16418         * auth/rfc1938.c:
16419         skeychallenge() on NetBSD take a size parameter
16420         [05acc2012801]
16421
16422         * configure:
16423         regen
16424         [24bccf4749e8]
16425
16426         * configure.in:
16427         put -ldl after -lpam, not before; fixes static linking on Linux
16428         [7f06b7b2b4d8]
16429
16430         * interfaces.c:
16431         Avoid malloc(0) and fix the loop invariant for the getifaddrs()
16432         case.
16433         [239a55068646]
16434
16435         * sudo.cat, sudoers.cat, visudo.cat:
16436         regen
16437         [4a2eed3981ca]
16438
16439         * sudo.man.in, sudoers.man.in, visudo.man.in:
16440         regen
16441         [2c96ea2cf930]
16442
16443         * Makefile.in:
16444         Preserve copyright notice from .pod file in .man.in file
16445         [519fbd09aebc]
16446
16447         * visudo.pod:
16448         Add sudoers(5) to SEE ALSO
16449         [77ecfe3aedf1]
16450
16451 2003-03-13  Todd C. Miller  <Todd.Miller@courtesan.com>
16452
16453         * lex.yy.c:
16454         regen
16455         [6f5751ce0b74]
16456
16457         * parse.lex:
16458         Don't assume libc can realloc() a NULL string. If malloc/realloc
16459         fails, make sure we just return; yyerror() is not terminal.
16460         [1b8618623708]
16461
16462         * lex.yy.c:
16463         regen
16464         [5d31b46191c6]
16465
16466         * parse.lex:
16467         simplify fill_args a little and use strlcpy for paranoia
16468         [0ea35a55542b]
16469
16470         * sudo.tab.c:
16471         regen
16472         [5a8d508d708b]
16473
16474         * check.c, env.c, find_path.c, parse.c, parse.yacc, sudo.c,
16475         testsudoers.c:
16476         Use strlc{at,py} for paranoia's sake and exit on overflow. In all
16477         cases the strings were either pre-allocated to the correct size of
16478         length checks were done before the copy but a little paranoia can go
16479         a long way.
16480         [e73d28f1d14e]
16481
16482         * sudo.h:
16483         Add strlc{at,py} protos
16484         [748ffc7fc7f4]
16485
16486         * env.c, interfaces.c:
16487         Use erealloc3()
16488         [47f2cb46aba8]
16489
16490         * configure:
16491         regen
16492         [e7e2fb79f935]
16493
16494         * alloc.c:
16495         Oflow test of nmemb > SIZE_MAX / size is fine (don't need >=). Use
16496         memcpy() instead of strcpy() in estrdup() so this is strcpy()-free.
16497         [7e0fa4d6fc1d]
16498
16499         * sudo.c:
16500         snprintf() a uid as %lu, not %ld to match the MAX_UID_T_LEN test in
16501         configure.
16502         [09ea4d3959e9]
16503
16504         * aclocal.m4:
16505         In MAX_UID_T_LEN test cast uid_t to unsigned long, just unsigned.
16506         [31b4fdfdb8bf]
16507
16508 2003-03-12  Todd C. Miller  <Todd.Miller@courtesan.com>
16509
16510         * sudo.c:
16511         Use snprintf() for paranoia
16512         [a2659ceb46de]
16513
16514         * parse.yacc:
16515         Use emalloc2 and erealloc3
16516         [90a069842401]
16517
16518         * Makefile.in:
16519         strlc{at,py} for those w/o it
16520         [bac82dc916ee]
16521
16522         * strlcat.c, strlcpy.c:
16523         stlc{at,py} for those w/o it.
16524         [ce7254f5db09]
16525
16526         * config.h.in, configure, configure.in:
16527         Add stlc{at,py} for those w/o it.
16528         [00f08219657a]
16529
16530         * alloc.c, sudo.h:
16531         Add erealloc3(), a realloc() version of emalloc2().
16532         [c96eaf08bbed]
16533
16534         * interfaces.c, sudo.c:
16535         Use emalloc2() to allocate N things of a certain size.
16536         [1e0aba365555]
16537
16538         * alloc.c, sudo.h:
16539         Add emalloc2() -- like calloc() but w/o the bzero and with
16540         error/oflow checking.
16541         [292150bc4153]
16542
16543         * alloc.c:
16544         Error out on malloc(0); suggested by theo
16545         [995279e81326]
16546
16547 2003-03-10  Todd C. Miller  <Todd.Miller@courtesan.com>
16548
16549         * configure, configure.in:
16550         fix a typo; David Krause
16551         [f161213a17ab]
16552
16553 2003-03-07  Todd C. Miller  <Todd.Miller@courtesan.com>
16554
16555         * sudo.pod:
16556         fix typo
16557         [3ae5ad9a351a]
16558
16559 2003-03-04  Todd C. Miller  <Todd.Miller@courtesan.com>
16560
16561         * env.c:
16562         Remove DYLD_ from the environment for MacOS X; from bbraun
16563         [38caad5a3935]
16564
16565 2003-03-01  Todd C. Miller  <Todd.Miller@courtesan.com>
16566
16567         * config.h.in, configure.in:
16568         not not; Anil Madhavapeddy
16569         [d4f4f0bfc66b]
16570
16571 2003-01-23  Todd C. Miller  <Todd.Miller@courtesan.com>
16572
16573         * sudo.pod, sudoers.pod, visudo.pod:
16574         typos; jmc@openbsd.org
16575         [868c0f09bf9e]
16576
16577 2003-01-20  Todd C. Miller  <Todd.Miller@courtesan.com>
16578
16579         * parse.yacc:
16580         Add some missing ';' rule terminators that bison warns about.
16581         [535b0b8dcce5]
16582
16583         * config.sub:
16584         fix typo I introduced in last merge
16585         [81db4e4f43fe]
16586
16587         * configure:
16588         regenerate with autoconf 2.57
16589         [ca0c1e9564f8]
16590
16591         * config.h.in:
16592         Add missing "$HOME"
16593         [209186197ad1]
16594
16595         * configure.in:
16596         Add some more square backets to make autoconf 2.57 happy
16597         [b5639c14faf7]
16598
16599         * config.sub, mkinstalldirs:
16600         Updates from autoconf-2.57
16601         [36be35eb331b]
16602
16603         * config.guess:
16604         Updates from autoconf-2.57
16605         [ea0f8ca622af]
16606
16607 2003-01-17  Todd C. Miller  <Todd.Miller@courtesan.com>
16608
16609         * sudo.tab.h:
16610         regen
16611         [13a65a421567]
16612
16613         * lex.yy.c, sudo.tab.c:
16614         regen
16615         [0b529db7cb6d]
16616
16617         * parse.lex, parse.yacc, sudoers.pod:
16618         Add support for Defaults>RunasUser
16619         [20d726373175]
16620
16621 2003-01-07  Todd C. Miller  <Todd.Miller@courtesan.com>
16622
16623         * visudo.c:
16624         fclose() yyin after each yyparse() is done and use fopen() instead
16625         of using freopen().
16626         [587f8a2df857]
16627
16628         * parse.lex:
16629         Better fix for sudoers files w/o a newline before EOF. It looks
16630         like the issue is that yyrestart() does not reset the start
16631         condition to INITIAL which is an issue since we parse sudoers
16632         multiple times.
16633         [920f8326968a]
16634
16635 2003-01-06  Todd C. Miller  <Todd.Miller@courtesan.com>
16636
16637         * parse.lex:
16638         Work around what appears to be a flex bug when dealing with files
16639         that lack a final newline before EOF. This adds a rule to match EOF
16640         in the non-initial states which resets the state to INITIAL and
16641         throws an error.
16642         [b94943bb1f81]
16643
16644         * visudo.c:
16645         o The parser needs sudoers to end with a newline but some editors
16646         (emacs) may not add one. Check for a missing newline at EOF and
16647         add one if needed. o Set quiet flag during initial sudoers parse (to
16648         get options) o Move yyrestart() call and always use freopen() to
16649         open yyin after initial sudoers parse.
16650         [12d12f9b07aa]
16651
16652 2002-12-15  Todd C. Miller  <Todd.Miller@courtesan.com>
16653
16654         * set_perms.c:
16655         Fix pasto/thinko in setresgid()/setregid() usage. Want to set
16656         effective gid, not real gid, when reading sudoers.
16657         [c7d18b810fcd]
16658
16659         * set_perms.c:
16660         don't compile set_perms_posix if we have setreuid or setresuid
16661         [b9cea7a81a29]
16662
16663 2002-12-14  Todd C. Miller  <Todd.Miller@courtesan.com>
16664
16665         * sudo.pod, sudoers.pod:
16666         document new prompt escapes
16667         [2f088076b640]
16668
16669         * check.c:
16670         Add %U and %H escapes and redo prompt rewriting. "%%" now gets
16671         collapsed to "%" as was originally intended. This also gets rid of
16672         lastchar (does lookahead instead of lookback) which should simplify
16673         the logic slightly.
16674         [4b707b77b3c7]
16675
16676 2002-12-13  Todd C. Miller  <Todd.Miller@courtesan.com>
16677
16678         * tgetpass.c:
16679         Write the prompt *after* turning off echo to avoid some password
16680         characters being echoed on heavily-loaded machines with fast
16681         typists.
16682         [d38c57775915]
16683
16684         * config.sub:
16685         Add support for mipseb; wiz@danbala.tuwien.ac.at
16686         [cfdac87ed5c8]
16687
16688         * configure.in:
16689         Fix IRIX fallout from name changes in man dir/sect Makefile
16690         variables. Patch from erici AT motown DOT cc DOT utexas DOT edu
16691         [9a7618755c23]
16692
16693         * auth/pam.c:
16694         Keep a local copy of tgetpass_flags so we don't add in TGP_ECHO to
16695         the global copy. Problem noted by Peter Pentchev.
16696         [d0a3e189cb06]
16697
16698 2002-11-28  Todd C. Miller  <Todd.Miller@courtesan.com>
16699
16700         * sudo.tab.c:
16701         regen
16702         [23b931359087]
16703
16704         * parse.yacc:
16705         Add missing yyerror() calls; YYERROR does not seem to call this for
16706         us.
16707         [0be7aeb3ac57]
16708
16709 2002-11-26  Todd C. Miller  <Todd.Miller@courtesan.com>
16710
16711         * sudo.c:
16712         fix typo in comment; Pedro Bastos
16713         [d7406c460e99]
16714
16715 2002-11-22  Todd C. Miller  <Todd.Miller@courtesan.com>
16716
16717         * INSTALL:
16718         document --disable-setresuid
16719         [fbd03d03a027]
16720
16721         * auth/aix_auth.c, auth/bsdauth.c, auth/fwtk.c, auth/pam.c,
16722         auth/sudo_auth.c:
16723         Sprinkle some volatile qualifiers to prevent over-enthusiastic
16724         optimizers from removing memset() calls.
16725         [5370ac0e6129]
16726
16727         * logging.c, parse.yacc:
16728         minor sign fixes pointed out by gcc -Wsign-compare
16729         [db872438337f]
16730
16731         * set_perms.c, sudo.c, sudo.h:
16732         Revamp set_perms. We now use a version based on setresuid() or
16733         setreuid() when possible since that allows us to support the
16734         stay_setuid option and we always know exactly what the semantics
16735         will be (various Linux kernels have broken POSIX saved uid support).
16736         [523bc212396c]
16737
16738         * config.h.in, configure:
16739         regen from configure.in
16740         [351877ea2624]
16741
16742         * configure.in:
16743         Add checks for setresuid() and a way to disable using it
16744         [a5b21653d169]
16745
16746         * compat.h:
16747         No long need to emulate set*[ug]id() via setres[ug]id() or
16748         setre[ug]id(). The new set_perms stuff only uses things it knows are
16749         there.
16750         [47884bd5d1d9]
16751
16752         * sudo.c:
16753         Before exec, restore state of signal handlers to be the same as when
16754         we were initialy invoked instead of just reseting to SIG_DFL. Fixes
16755         a problem when using sudo with nohup. Based on a patch from Paul
16756         Markham.
16757         [f8f5a1484faa]
16758
16759         * sudo.c:
16760         o timestamp_uid should be uid_t, not int o clarify error message
16761         when sudo is run by root and no_root_sudo is set
16762         [19dda0734264]
16763
16764 2002-09-19  Todd C. Miller  <Todd.Miller@courtesan.com>
16765
16766         * README:
16767         update ftp link for bison
16768         [98bc191016e3]
16769
16770 2002-07-20  Todd C. Miller  <Todd.Miller@courtesan.com>
16771
16772         * set_perms.c:
16773         Error out if setusercontext() fails and the runas user is not root.
16774         [089f9ade4686]
16775
16776 2002-05-20  Todd C. Miller  <Todd.Miller@courtesan.com>
16777
16778         * auth/securid5.c:
16779         Fix rcsid
16780         [07e9e85dcc2f]
16781
16782         * configure.in:
16783         Fix SecurID API test
16784         [5ec201f454a5]
16785
16786 2002-05-17  Todd C. Miller  <Todd.Miller@courtesan.com>
16787
16788         * env.c:
16789         typo in comment
16790         [9d385c9ac533]
16791
16792         * configure.in:
16793         securid5 stuff needs pthreads. Just adding -lpthread is suboptimal
16794         but I don't see a better way at the moment.
16795         [f89e55cbb313]
16796
16797         * Makefile.in, auth/securid5.c:
16798         SecurID API version 5 support from Michael Stroucken
16799         [68500ac7e531]
16800
16801         * configure.in:
16802         Add check for SecurID 5.0 API
16803         [1ee242e6de6b]
16804
16805 2002-05-08  Todd C. Miller  <Todd.Miller@courtesan.com>
16806
16807         * strerror.c:
16808         We actually do still need config.h to get the 'const' definition for
16809         K&R C.
16810         [d9c982032d85]
16811
16812 2002-05-05  Todd C. Miller  <Todd.Miller@courtesan.com>
16813
16814         * configure:
16815         regen with autoconf 2.5.3
16816         [c71fc086eef5]
16817
16818         * configure.in:
16819         Don't set sysconfdir to '/etc' if the user has specified a --prefix.
16820         [d90da1efafd9]
16821
16822         * configure.in:
16823         Some fixes for autoconf 2.53 from Robert Uhl o don't AC_SUBST
16824         LIBOBJS o force a 4th arg for AC_CHECK_HEADER() to workaround a bug
16825         [dd67afefa90d]
16826
16827         * env.c, sudo.c, sudo.h:
16828         No need for dump_badenv() now that dump_defaults() knows how to dump
16829         lists.
16830         [6bcda468501d]
16831
16832         * BUGS, INSTALL, INSTALL.binary, Makefile.in, README, configure.in,
16833         version.h:
16834         ++version
16835         [44e3b8f95f0b]
16836
16837         * sudoers.pod:
16838         document timestampowner
16839         [37ebd69e9dd1]
16840
16841         * check.c:
16842         Don't call set_perms() when doing timestamp stuff unless
16843         timestamp_uid != 0.
16844         [63a63d41d18c]
16845
16846         * auth/sudo_auth.c, check.c, logging.c, parse.c, set_perms.c, sudo.c,
16847         sudo.h, testsudoers.c:
16848         g/c second arg to set_perms--it is no longer used
16849         [7ac4ce50c612]
16850
16851 2002-05-03  Todd C. Miller  <Todd.Miller@courtesan.com>
16852
16853         * check.c, set_perms.c, sudo.c, sudo.h:
16854         Add support for non-root timestamp dirs. This allows the timestamp
16855         dir to be shared via NFS (though this is not recommended).
16856         [faa83dd2b7fb]
16857
16858         * def_data.c, def_data.h, def_data.in:
16859         Add timestampowner, "Owner of the authentication timestamp dir"
16860         [d47640d4c86a]
16861
16862 2002-05-02  Todd C. Miller  <Todd.Miller@courtesan.com>
16863
16864         * env.c:
16865         Don't try to pre-compute the size of the new envp, just allocate
16866         space up front and realloc as needed. Changes to the new env
16867         pointer must all be made through insert_env() which now keeps track
16868         of spaced used and allocates as needed.
16869         [39bc934a9f2c]
16870
16871 2002-04-26  Todd C. Miller  <Todd.Miller@courtesan.com>
16872
16873         * configure:
16874         regen
16875         [0e12c09bb790]
16876
16877         * configure.in:
16878         Fix two typo/pastos; from jrj@purdue.edu
16879         [b718a4bf1181]
16880
16881 2002-04-25  Todd C. Miller  <Todd.Miller@courtesan.com>
16882
16883         * INSTALL.binary, README:
16884         ++version
16885         [a1e33027278c] [SUDO_1_6_6]
16886
16887         * configure, sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in,
16888         visudo.cat, visudo.man.in:
16889         regen
16890         [19eb2be283ef]
16891
16892         * CHANGES, RUNSON, TODO:
16893         Sync with 1.6.6
16894         [2ff9a9087f63]
16895
16896         * check.c:
16897         The the loop used to expand %h and %u, the lastchar variable was not
16898         being initialized. This means that if the last char in the prompt
16899         is '%' and the first char is 'h' or 'u' a extra copy of the host or
16900         user name would be copied, for which space had not been allocated.
16901         [b2e27197857d]
16902
16903 2002-04-18  Todd C. Miller  <Todd.Miller@courtesan.com>
16904
16905         * BUGS, INSTALL, Makefile.in, configure.in, version.h:
16906         crank version to 1.6.6
16907         [cfd08689e597]
16908
16909         * auth/afs.c:
16910         #undef VOID to get rid of an AFS warning
16911         [b40760564dc1]
16912
16913         * env.c:
16914         Use easprintf instead of emalloc + sprintf for some things.
16915         [e7bfe2e69a03]
16916
16917 2002-03-16  Todd C. Miller  <Todd.Miller@courtesan.com>
16918
16919         * lex.yy.c, sudo.tab.c:
16920         regen
16921         [35327104383d]
16922
16923         * parse.c, parse.lex, parse.yacc, testsudoers.c:
16924         Remove Chris Jepeway's email address so people don't bug him ;-)
16925         [c03410747a69]
16926
16927 2002-03-12  Todd C. Miller  <Todd.Miller@courtesan.com>
16928
16929         * sudo.c:
16930         Move endpwent() to be after set_perms(PERM_RUNAS, ...) and also call
16931         endgrent() at the same time.
16932         [28b6097d5d1a]
16933
16934 2002-02-22  Todd C. Miller  <Todd.Miller@courtesan.com>
16935
16936         * INSTALL:
16937         Make it clear which configure options take arguments.
16938         [38529e7efad0]
16939
16940 2002-01-25  Todd C. Miller  <Todd.Miller@courtesan.com>
16941
16942         * compat.h:
16943         HP-UX 9.x has RLIMIT_* but no RLIM_INFINITY. If there is no
16944         RLIM_INFINITY, just pretend it is -1. This works because we only
16945         check for RLIM_INFINITY and do not set anything to that value.
16946         [53173d34e6eb]
16947
16948 2002-01-22  Todd C. Miller  <Todd.Miller@courtesan.com>
16949
16950         * auth/pam.c:
16951         Zero and free allocated memory when there is a conversation error.
16952         [e342133db579]
16953
16954         * auth/bsdauth.c:
16955         Use sigaction() not signal()
16956         [126c2790561f]
16957
16958         * INSTALL:
16959         Mention that some linux kernels have broken POSIX saved ID support
16960         [571ef1a893d3]
16961
16962         * CHANGES:
16963         checkpoint for 1.6.5p2
16964         [9e9e456f7f43]
16965
16966         * configure:
16967         regen
16968         [d53703a46708]
16969
16970         * configure.in:
16971         Add --disable-setreuid flag
16972         [3b9f2679cb55]
16973
16974         * INSTALL:
16975         Document new --disable-setreuid option and change description for
16976         --disable-saved-ids to match new error message.
16977         [14fd3e5f60a5]
16978
16979         * set_perms.c:
16980         fatal() now takes an argument that determines whether or not to call
16981         perror().
16982         [d826b25e62ff]
16983
16984         * TROUBLESHOOTING:
16985         Update for new error messages from set_perms()
16986         [78007c3f76a9]
16987
16988         * PORTING:
16989         Update for new error messages from set_perms()
16990         [60c545a6bcff]
16991
16992 2002-01-21  Todd C. Miller  <Todd.Miller@courtesan.com>
16993
16994         * auth/pam.c:
16995         Make this compile w/o warnings
16996         [b90843a29af5]
16997
16998         * auth/pam.c:
16999         Mention that we can't use pam_acct_mgmt()
17000         [1dfc5a6e0479]
17001
17002         * auth/aix_auth.c, auth/bsdauth.c, auth/fwtk.c, auth/pam.c:
17003         The user's password was not zeroed after use when AIX
17004         authentication, BSD authentication, FWTK or PAM was in use.
17005         [b18fff30b1e7]
17006
17007 2002-01-20  Todd C. Miller  <Todd.Miller@courtesan.com>
17008
17009         * auth/pam.c:
17010         Avoid giving PAM a NULL password response, use the empty string
17011         instead. This avoids a log warning when the user hits ^C at the
17012         password prompt when PAM is in use.
17013         [c3315805e4e4]
17014
17015         * auth/pam.c:
17016         Don't check the return value of pam_setcred(). In Linux-PAM 0.75
17017         pam_setcred() returns the last saved return code, not the return
17018         code for the setcred module. Because we haven't called
17019         pam_authenticate(), this is not set and so pam_setcred() returns
17020         PAM_PERM_DENIED.
17021         [73db145fa179]
17022
17023         * Makefile.in:
17024         Don't need a '/' between $(DESTDIR) and a directory.
17025         [0901ca618176]
17026
17027         * Makefile.binary:
17028         Don't need a '/' between $(DESTDIR) and a directory.
17029         [cd7eb6098b87]
17030
17031 2002-01-18  Todd C. Miller  <Todd.Miller@courtesan.com>
17032
17033         * configure:
17034         regen
17035         [41b12c039282]
17036
17037         * configure.in:
17038         o BSDi also has a bogus setreuid() o Old FreeBSD has a bogus
17039         setreuid() o new NetBSD has a real setreuid() o add check for
17040         freeifaddrs() if getifaddrs() exists.
17041         [a82ee3b01733]
17042
17043         * config.h.in, interfaces.c:
17044         Older BSDi releases lack freeifaddrs() so add a test for that and if
17045         it is not present just use free().
17046         [6270671ea9d5]
17047
17048 2002-01-17  Todd C. Miller  <Todd.Miller@courtesan.com>
17049
17050         * CHANGES, RUNSON:
17051         Checkpoint for 1.6.5p1
17052         [26134ecf9b36]
17053
17054         * auth/passwd.c:
17055         Return AUTH_FAILURE in passwd_init() if skeyaccess() denies access
17056         to normal passwords, not AUTH_FATAL (which just causes an exit).
17057         [785e0f4bc0e2]
17058
17059         * visudo.c:
17060         Don't use memory after it has been freed.
17061         [c60492739fdb]
17062
17063         * auth/passwd.c:
17064         skeyaccess() wants a struct passwd * not a char *; Patch from
17065         Phillip E. Lobbes
17066         [65a1d3806fcd] [SUDO_1_6_5]
17067
17068         * BUGS:
17069         ++version
17070         [b2e1825e692e]
17071
17072         * CHANGES, RUNSON, TODO:
17073         checkpoint for sudo 1.6.5
17074         [d730945622e7]
17075
17076 2002-01-16  Todd C. Miller  <Todd.Miller@courtesan.com>
17077
17078         * configure:
17079         regen
17080         [49744c403ac9]
17081
17082         * INSTALL, INSTALL.binary, Makefile.in, README, configure.in:
17083         version 1.6.5
17084         [ec30a5f7fc45]
17085
17086         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in, visudo.cat,
17087         visudo.man.in:
17088         sudo version 1.6.5
17089         [458a3bed535d]
17090
17091         * logging.c:
17092         o when invoking the mailer as root use a hard-coded environment that
17093         doesn't include any info from the user's environment. Basically
17094         paranoia.
17095
17096         o Add support for the NO_ROOT_MAILER compile-time option and run the
17097         mailer as the user and not root if NO_ROOT_MAILER is defined.
17098         [4df351ec92ce]
17099
17100         * set_perms.c, sudo.h:
17101         Bring back PERM_FULL_USER
17102         [edb6039bb284]
17103
17104         * configure:
17105         regen
17106         [3eb2943afa03]
17107
17108         * version.h:
17109         version 1.6.5
17110         [044fc9a0c72b]
17111
17112         * INSTALL, config.h.in, configure.in:
17113         Add --disable-root-mailer option to run the mailer as the user and
17114         not root.
17115         [e9f805397963]
17116
17117         * CHANGES:
17118         checkpoint for 1.6.4p2
17119         [b58aae5aa98a]
17120
17121         * PORTING:
17122         Mention the "seteuid(0): Operation not permitted" problem here too
17123         just for good measure.
17124         [90135b37a691]
17125
17126 2002-01-15  Todd C. Miller  <Todd.Miller@courtesan.com>
17127
17128         * env.c, getspwuid.c, sudo.c:
17129         The SHELL environment variable was preserved from the user's
17130         environment instead of being reset based on the passwd database when
17131         the "env_reset" option was used. Now it is reset as it should be.
17132         [300066ef3c71]
17133
17134         * configure:
17135         regen
17136         [a47d779e6552]
17137
17138         * INSTALL, TROUBLESHOOTING, config.h.in, configure.in, set_perms.c,
17139         sudo.c:
17140         Add a configure option to turn off use of POSIX saved IDs
17141         [fb18cc8e94d0]
17142
17143         * configure:
17144         regen
17145         [d4f2f20025b6]
17146
17147         * configure.in:
17148         add --with-efence option
17149         [45c4f33a8e88]
17150
17151         * sudo.c:
17152         Only OR in MODE_RESET_HOME if MODE_RUN is set. Fixes a problem where
17153         "sudo -l" would not work if always_set_home was set.
17154         [c3a6de6c4800]
17155
17156         * lex.yy.c:
17157         regen
17158         [417424452998]
17159
17160         * parse.lex:
17161         Quoted commas were not being treated correctly in command line
17162         arguments.
17163         [753415541b37]
17164
17165         * sudo.c:
17166         o Move the call to rebuild_env() until after MODE_RESET_HOME is set.
17167         Otherwise, the set_home option has no effect.
17168
17169         o Fix use of freed memory when the "fqdn" flag is set. This was
17170         introduced by the fix for the "segv when gethostbynam() fails" bug.
17171         Also, we no longer call set_fqdn() if the "fqdn" flag is not set so
17172         there is no need to check the "fqdn" flag in set_fqdn() itself.
17173         [4b6a4245c04e]
17174
17175         * env.c:
17176         Add 'continue' statements to optimize the switch statement. From
17177         Solar.
17178         [a82c76975ae5]
17179
17180 2002-01-13  Todd C. Miller  <Todd.Miller@courtesan.com>
17181
17182         * sudoers.cat, sudoers.man.in:
17183         Regen from new sudoers.pod
17184         [6ecc07b3d0e1] [SUDO_1_6_4]
17185
17186         * sudoers.pod:
17187         Add caveat about stay_setuid flag
17188         [9d228a7bea1b]
17189
17190         * sudo.c:
17191         If set_perms == set_perms_posix and the stay_setuid flag is not set,
17192         set all uids to 0 and use set_perms_fallback().
17193         [c4e54d1ec86f]
17194
17195         * set_perms.c, sudo.h:
17196         Remove PERM_FULL_USER (which is no longer used) and add
17197         PERM_FULL_ROOT (used when exec'ing the mailer).
17198         [15406c522ea2]
17199
17200         * logging.c:
17201         Use set_perms(PERM_FULL_ROOT, 0) before exec'ing the mailer since we
17202         never want to run the mailer setuid.
17203         [2294853e0666]
17204
17205 2002-01-12  Todd C. Miller  <Todd.Miller@courtesan.com>
17206
17207         * sudo.cat, sudo.man.in, sudo.pod, visudo.cat, visudo.man.in,
17208         visudo.pod:
17209         Use sudo.ws instead of courtesan.com in URLs
17210         [55204002a308]
17211
17212         * Makefile.binary, Makefile.in:
17213         Fix mansect substitution
17214         [b7b5cbc3aa91]
17215
17216         * Makefile.in:
17217         Substitute man sections in Makefile.binary
17218         [040deb785e56]
17219
17220         * Makefile.binary:
17221         Sync install targets with Makefile.in and substitute in man
17222         sections.
17223         [77882a275281]
17224
17225         * INSTALL, INSTALL.binary:
17226         version is 1.6.4
17227         [0f87aabbcb70]
17228
17229         * Makefile.in:
17230         Repair bindist target
17231         [8d43bfe7e2d1]
17232
17233         * CHANGES:
17234         sync for 1.6.4
17235         [13ca3d4a0a72]
17236
17237 2002-01-10  Todd C. Miller  <Todd.Miller@courtesan.com>
17238
17239         * install-sh:
17240         Fix case where neither whoami nor id are found
17241         [424dd270bc47]
17242
17243 2002-01-09  Todd C. Miller  <Todd.Miller@courtesan.com>
17244
17245         * install-sh:
17246         If neither whoami nor id exists, just assume we are root.
17247         [2d2644e42c53]
17248
17249         * alloc.c:
17250         Add explicit cast to (VOID *) on malloc/realloc. Seems to be needed
17251         on AIX which for some reason isn't pulling in the malloc prototype.
17252         [231440d2ee3b]
17253
17254 2002-01-08  Todd C. Miller  <Todd.Miller@courtesan.com>
17255
17256         * Makefile.in, aclocal.m4, compat.h, parse.c, sudo.c:
17257         (c) 2002
17258         [700e3b41a68e]
17259
17260         * CHANGES:
17261         checkpoint
17262         [33e604bd8d5b]
17263
17264         * sudo.c:
17265         Defer assigning new environment until right before the exec.
17266         [f13c49e75c1c]
17267
17268         * parse.c:
17269         kill extra blank line
17270         [12ef22e9dae3]
17271
17272 2002-01-07  Todd C. Miller  <Todd.Miller@courtesan.com>
17273
17274         * configure:
17275         regen
17276         [a6cd2d788f74]
17277
17278         * configure.in:
17279         Use -O not -O2 for m88k-motorola-sysv* since motorola gcc-derived
17280         compiler doesn't recognise -O2.
17281         [5234aa543692]
17282
17283         * HISTORY:
17284         Clarify origins of Root Group sudo a bit based on info from
17285         billp@rootgroup.com
17286         [4deef01c4208]
17287
17288 2002-01-03  Todd C. Miller  <Todd.Miller@courtesan.com>
17289
17290         * LICENSE:
17291         2002
17292         [6c8e089dbd1a]
17293
17294         * CHANGES:
17295         checkpoint for 1.6.4rc1
17296         [3349eb87a49f]
17297
17298 2002-01-02  Todd C. Miller  <Todd.Miller@courtesan.com>
17299
17300         * config.h.in:
17301         now generated via autoheader
17302         [84657d303cb9]
17303
17304         * configure:
17305         regen
17306         [207bfa6a13f6]
17307
17308         * compat.h:
17309         Move in some stuff that was previously in config.h.
17310         [e576d8b6480f]
17311
17312         * aclocal.m4, configure.in:
17313         Add info for autoheader.
17314         [0549cd5da27c]
17315
17316 2002-01-01  Todd C. Miller  <Todd.Miller@courtesan.com>
17317
17318         * Makefile.in:
17319         o Add DESTDIR support o Use -M, -O, and -G instead of -m, -o, and
17320         -g to facilitate non-root installs
17321         [619216038f56]
17322
17323         * install-sh:
17324         Add -M option (like -m but only for root) If we can't find "whoami",
17325         use "id" w/ some sed.
17326         [b39121c8b792]
17327
17328         * configure:
17329         regen
17330         [b39b93ff9804]
17331
17332         * configure.in:
17333         allow user to always override mansectsu and mansectform
17334         [0fca5e63bd90]
17335
17336 2001-12-31  Todd C. Miller  <Todd.Miller@courtesan.com>
17337
17338         * mkinstalldirs:
17339         update from autoconf 2.52
17340         [07bd75a508c3]
17341
17342         * config.guess, config.sub:
17343         Update from autoconf 2.52
17344         [857b90fe31b7]
17345
17346         * configure:
17347         regen with autoconf 2.52
17348         [08e7d1ea2aeb]
17349
17350         * configure.in:
17351         o Call AC_PROG_CC_STDC to find out how to run the compiler in ANSI
17352         mode o Remove compiler-specific checks for HP-UX now that we use
17353         AC_PROG_CC_STDC
17354         [d433a70b6208]
17355
17356         * RUNSON:
17357         Checkpoint
17358         [babf6d2235d1]
17359
17360         * auth/pam.c:
17361         o Add pam_prep_user function to call pam_setcred() for the target
17362         user; on Linux this often sets resource limits. o When calling
17363         pam_end(), try to convert the auth->result to a PAM_FOO value.
17364         This is a hack--we really need to stash the last PAM_FOO value
17365         received and use that instead.
17366         [6ad6f340dd2a]
17367
17368         * set_perms.c, sudo.h:
17369         o Add pam_prep_user function to call pam_setcred() for the target
17370         user; on Linux this often sets resource limits.
17371         [67795421ac82]
17372
17373         * env.c:
17374         Fix off by one error in number of bytes allocated via malloc (does
17375         not affected any released version of sudo).
17376         [5f5915360111]
17377
17378 2001-12-30  Todd C. Miller  <Todd.Miller@courtesan.com>
17379
17380         * lex.yy.c:
17381         regen
17382         [8208c0277775]
17383
17384         * parse.lex:
17385         Allow '@', '(', ')', ':' in arguments to a defaults variable w/o
17386         requiring that they be quoted.
17387         [ae59bc8f68dd]
17388
17389         * sudoers.cat, sudoers.man.in, sudoers.pod:
17390         Mention that no double quotes are needed when
17391         adding/deleting/assigning a single value to a list.
17392         [25efc940a1f0]
17393
17394         * Makefile.in:
17395         Don't rely on mkdefaults being executable, call perl explicitly.
17396         [6edc97ba5f1d]
17397
17398         * sudo.tab.c:
17399         regen
17400         [49130b2e7e4d]
17401
17402         * parse.yacc:
17403         Remove some XXX that are no longer relevant.
17404         [d460ac0d3767]
17405
17406         * defaults.c:
17407         o Roll our own loop instead of using strpbrk() for better
17408         grokability o When adding to a list we must malloc() and use
17409         memcpy(), not strdup() since we must only copy len bytes from str.
17410         [649bef08e1f0]
17411
17412 2001-12-21  Todd C. Miller  <Todd.Miller@courtesan.com>
17413
17414         * sudo.tab.c:
17415         regen
17416         [f0bbf2c38c0e]
17417
17418         * parse.yacc:
17419         typo in comment
17420         [2563711ff593]
17421
17422 2001-12-19  Todd C. Miller  <Todd.Miller@courtesan.com>
17423
17424         * CHANGES:
17425         checkpoint
17426         [a6d8a29fb30e]
17427
17428         * configure:
17429         regen
17430         [bdfcaaf3bd13]
17431
17432         * configure.in:
17433         avoid the -g flag unless --with-devel was specified
17434         [a976707bef30]
17435
17436         * Makefile.in:
17437         mkdefaults, def_data.in and sigaction.c were missing from the
17438         tarball
17439         [6917ffbaa412]
17440
17441         * Makefile.in:
17442         def_data.c was missing
17443         [87c78b11453d]
17444
17445 2001-12-18  Todd C. Miller  <Todd.Miller@courtesan.com>
17446
17447         * env.c:
17448         Fix setting of $USER and $LOGNAME in the non-reset_env case. Also
17449         allow HOME, SHELL, LOGNAME, and USER to be specified in keep_env
17450         [fc8698e6a45e]
17451
17452         * TODO:
17453         Another TODO item
17454         [6f251d6cd466]
17455
17456         * sudoers:
17457         Add comment for Default section so folks know where it should go.
17458         [7edba626f392]
17459
17460 2001-12-17  Todd C. Miller  <Todd.Miller@courtesan.com>
17461
17462         * tgetpass.c:
17463         Use TCSETAF, not TCSETA to set terminal in termio case
17464         [fbd172f6c5d3]
17465
17466         * sudoers.cat, sudoers.man.in:
17467         regen from sudoers.pod
17468         [64edd2de816e]
17469
17470         * sudoers.pod:
17471         o Typo, Runas_User_List should be Runas_List o a User_List can not
17472         contain a uid o mention that the Defaults section should come after
17473         Alias definitions but before the user specifications
17474         [54070ba2092b]
17475
17476 2001-12-15  Todd C. Miller  <Todd.Miller@courtesan.com>
17477
17478         * sudoers.cat, sudoers.man.in:
17479         regen
17480         [e62d1d97693c]
17481
17482         * sudoers.pod:
17483         Fix listpw and verifypw sections, they were not being formatted
17484         properly.
17485         [123868c2f3e9]
17486
17487         * sudoers.cat, sudoers.man.in:
17488         regen
17489         [f94841f8b374]
17490
17491         * sudoers.pod:
17492         fix typos
17493         [f278f1c1184e]
17494
17495         * configure:
17496         regen
17497         [d2270049ba9f]
17498
17499         * config.h.in, configure.in:
17500         use AC_SYS_POSIX_TERMIOS instead of rolling our own
17501         [c1a13f1354b9]
17502
17503         * README:
17504         Reference sudo.ws not courtesan.com
17505         [ca13be67ebd7]
17506
17507         * PORTING:
17508         Add notes on shadow passwords
17509         [aa13863f2314]
17510
17511         * BUGS:
17512         In list mode (sudo -l), characters escaped with a backslash are
17513         shown verbatim with the backslash.
17514         [1a75a2858be2]
17515
17516         * sudoers:
17517         Add simple examples from OpenBSD (Marc Espie)
17518         [3ae9a9ae4125]
17519
17520         * tgetpass.c:
17521         Catch SIGTTIN and SIGTTOU too and treat them like SIGTSTP.
17522         [f8817699ee10]
17523
17524         * CHANGES:
17525         minor prettyification
17526         [f523587929b9]
17527
17528         * CHANGES:
17529         Updated change log
17530         [39d9010ee7a8]
17531
17532         * testsudoers.c:
17533         Fix CIDR handling here too.
17534         [c91db8344c32]
17535
17536         * auth/pam.c:
17537         Apparently a NULL response is OK
17538         [83bae61078d9]
17539
17540         * TODO:
17541         Checkpoint for upcoming beta release
17542         [efb95c09df2a]
17543
17544         * TROUBLESHOOTING:
17545         Many people believe that adding a runas spec should obviate the need
17546         for the -u flag. It does not.
17547         [c698bad85b0e]
17548
17549         * RUNSON:
17550         checkpoint update for upcoming 1.6.4 beta
17551         [009e465a0a45]
17552
17553         * config.h.in:
17554         o Add HAVE_STDLIB_H and HAVE_MEMORY_H o Define HAVE_STRINGS_H even
17555         if HAVE_STRING_H is defined -- this is safe now
17556         [d27c035f4e14]
17557
17558         * PORTING:
17559         Add signals section
17560         [2d24c13cb3c8]
17561
17562         * configure:
17563         regen
17564         [2b80a939e2ed]
17565
17566         * configure.in:
17567         Fix check for sigaction_t
17568         [6fa41c89ab20]
17569
17570         * sudo.c:
17571         XXX - should call find_path() as runas user, not root. Can't do
17572         that until the parser changes though.
17573         [f0b4f85651bd]
17574
17575         * sudo.c:
17576         If find_path() fails as root, try again as the invoking user (useful
17577         for NFS). Idea from Chip Capelik.
17578         [e03fa7872692]
17579
17580         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in:
17581         Regenerate after pod file changes
17582         [48e4bd75ec21]
17583
17584         * def_data.c, def_data.h, def_data.in, set_perms.c, sudo.c, sudo.h,
17585         sudo.pod, sudoers.pod:
17586         Add new sudoers option "preserve_groups". Previously sudo would not
17587         call initgroups() if the target user was root. Now it always calls
17588         initgroups() unless the -P command line option or the
17589         "preserve_groups" sudoers option is set. Idea from TJ Saunders.
17590         [4f730359f101]
17591
17592 2001-12-14  Todd C. Miller  <Todd.Miller@courtesan.com>
17593
17594         * compat.h, config.h.in:
17595         Use new HAVE_SIGACTION_T define
17596         [dfb25f3cae5b]
17597
17598         * logging.c:
17599         Fix compilation on K&C
17600         [7355e3275e34]
17601
17602         * configure:
17603         regen
17604         [a710584f92f0]
17605
17606         * configure.in:
17607         Add check for sigaction_t -- IRIX already defines this so don't
17608         redefine it.
17609         [df9c5737f6da]
17610
17611         * snprintf.c:
17612         fix typo
17613         [3d782b8134c8]
17614
17615         * interfaces.c:
17616         need stdlib.h here too
17617         [c789d8973ab2]
17618
17619         * configure:
17620         regen
17621         [44822856bf46]
17622
17623         * configure.in:
17624         Remove redundant checks for string.h, strings.h and unistd.h
17625         [933c94f8bbf4]
17626
17627         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in, visudo.cat,
17628         visudo.man.in:
17629         Regen from pod files
17630         [ad18c590f638]
17631
17632         * BUGS:
17633         Update for 1.6.4
17634         [26bc88b69d22]
17635
17636         * configure, lex.yy.c, sudo.tab.c:
17637         regen
17638         [bef89fd6fa2d]
17639
17640         * strerror.c:
17641         Return EINVAL if errnum > sys_nerr
17642         [0512374e6661]
17643
17644         * auth/sudo_auth.h:
17645         o Update copyright year
17646         [a877016db6e2]
17647
17648         * LICENSE, Makefile.binary, Makefile.in, aclocal.m4, compat.h,
17649         config.h.in, defaults.h, interfaces.h, pathnames.h.in, sudo.h,
17650         sudo.pod:
17651         o Update copyright year
17652         [e15a1b39039f]
17653
17654         * configure.in:
17655         o Don't define STDC_HEADERS unconditionally for IRIX o Update
17656         copyright year
17657         [82a8cb819e07]
17658
17659         * README:
17660         update version
17661         [d82e523a16b4]
17662
17663         * auth/afs.c, auth/aix_auth.c, auth/bsdauth.c, auth/dce.c,
17664         auth/fwtk.c, auth/kerb4.c, auth/kerb5.c, auth/pam.c, auth/passwd.c,
17665         auth/rfc1938.c, auth/secureware.c, auth/securid.c, auth/sia.c,
17666         auth/sudo_auth.c, logging.c, parse.c, parse.lex, parse.yacc,
17667         set_perms.c, snprintf.c, sudo.c, testsudoers.c, tgetpass.c, utime.c,
17668         visudo.c:
17669         o Reorder some headers and use STDC_HEADERS define properly o Update
17670         copyright year
17671         [fe39f76b3795]
17672
17673         * lsearch.c:
17674         o Reorder some headers and use STDC_HEADERS define properly o Update
17675         copyright year
17676         [764ba3d4fa13]
17677
17678         * getspwuid.c, goodpath.c, interfaces.c:
17679         o Reorder some headers and use STDC_HEADERS define properly o Update
17680         copyright year
17681         [fb46d46140d4]
17682
17683         * getcwd.c:
17684         o Reorder some headers and use STDC_HEADERS define properly o Update
17685         copyright year
17686         [b199d70ac7ab]
17687
17688         * alloc.c, check.c, defaults.c, env.c, fileops.c, find_path.c,
17689         fnmatch.c:
17690         o Reorder some headers and use STDC_HEADERS define properly o Update
17691         copyright year
17692         [dab8f192a3ed]
17693
17694         * configure:
17695         regen
17696         [156658f25cea]
17697
17698         * tgetpass.c:
17699         flags set in signal handlers should be volatile sig_atomic_t
17700         [c22931a5535e]
17701
17702         * config.h.in, configure.in:
17703         Add checks for volatile and sig_atomic_t
17704         [b03b3341381d]
17705
17706         * configure, lex.yy.c:
17707         regen
17708         [ed9daba88217]
17709
17710         * def_data.c, def_data.h, def_data.in, defaults.c, env.c, find_path.c,
17711         sudo.c, sudoers.pod:
17712         Remove "secure_path" Defaults option since it cannot work with the
17713         existing parser.
17714         [c9e54a0f5971]
17715
17716         * find_path.c, sudo.c:
17717         Unset "secure_path" if user_is_exempt()
17718         [fb7544565ae8]
17719
17720         * env.c, pathnames.h.in:
17721         o Remove assumption that PATH and TERM are not listed in env_keep o
17722         If no PATH is in the environment use a default value o If TERM is
17723         not set in the non-reset case also give it a default value.
17724         [c987eb7df268]
17725
17726         * aclocal.m4, configure.in, defaults.c, pathnames.h.in:
17727         _PATH_SENDMAIL -> _PATH_SUDO_SENDMAIL so --without-sendmail works on
17728         systems that define in paths.h
17729         [51865b0cdebf]
17730
17731         * auth/passwd.c, auth/sudo_auth.c, auth/sudo_auth.h:
17732         Add support for skeyaccess(3) if it is present in libskey.
17733         [8add77c7d3e7]
17734
17735 2001-12-13  Todd C. Miller  <Todd.Miller@courtesan.com>
17736
17737         * sudo.c:
17738         Only need to do 'lc = login_getclass(NULL)' if lc == NULL
17739         [5a3d3cbf2c6d]
17740
17741         * parse.lex:
17742         '\\' is a perfectly legal character to have in a command line
17743         argument.
17744         [c15a466ef00e]
17745
17746         * sudo.c:
17747         o Defer call to set_fqdn() until it is safe to use log_error() o
17748         Don't print errno string value if gethostbyname fails, it is not
17749         relevant
17750         [c0c6bcf08bcb]
17751
17752         * parse.c:
17753         Fix CIDR -> in_addr_t conversion.
17754         [2f307ebeb63f]
17755
17756 2001-12-12  Todd C. Miller  <Todd.Miller@courtesan.com>
17757
17758         * sudoers.pod:
17759         Remove an extra "User_List" in the User_Spec definition From
17760         ybertrand AT snoopymail.com
17761         [97bde59ea280]
17762
17763         * parse.c:
17764         Make 'listpw=never' work for users who are not explicitly mentioned
17765         in sudoers.
17766         [258f0f30a428]
17767
17768         * sudoers.pod:
17769         Remove gratuitous '=' in EBNF grammar; era AT iki.fi
17770         [4b0f03872ee1]
17771
17772         * sudoers.pod:
17773         Document new list Defaults type and convert env_keep and env_delete
17774         to lists. Document new env_check option.
17775         [a07f1f079fe3]
17776
17777         * lex.yy.c, sudo.tab.c, sudo.tab.h:
17778         regen parser
17779         [e39ac6c6581b]
17780
17781         * parse.lex:
17782         Don't let '#' appear in a {WORD} and restrict #foo in a Runas spec
17783         to #[0-9-]+.
17784         [69c5388908f3]
17785
17786         * configure:
17787         regen
17788         [0f1877b88cb3]
17789
17790         * aclocal.m4:
17791         Simpler SUDO_FUNC_ISBLANK that uses AC_TRY_LINK
17792         [6545503ae361]
17793
17794         * config.h.in, configure.in:
17795         Add check for skeyaccess(3)
17796         [6caf69fe6359]
17797
17798         * visudo.pod:
17799         Document new -c, -f, and -q options
17800         [13d0203c21d3]
17801
17802         * visudo.c:
17803         o Add -f option (alternate sudoers file) o Convert to use getopt(3)
17804         [4c2b664d617d]
17805
17806         * configure:
17807         regen
17808         [6d5bd932e7b5]
17809
17810         * aclocal.m4, config.h.in, configure.in:
17811         Add check for isblank and a replacement macro if it doesn't exist.
17812         [b524f5e4f953]
17813
17814 2001-12-11  Todd C. Miller  <Todd.Miller@courtesan.com>
17815
17816         * visudo.c:
17817         In check-only mode, don't create sudoers if it does not already
17818         exist.
17819         [c748a2d5acad]
17820
17821         * parse.yacc:
17822         o Add a new token, DEFVAR, to indicate a Defaults variable name o
17823         Add support for "+=" and "-=" list operators o replace some 1 and 0
17824         with TRUE and FALSE for greater legibility.
17825         [554cb174b37e]
17826
17827         * parse.lex:
17828         o Use exclusive start conditions to remove some ambiguity in the
17829         lexer. Also reorder some things for clarity. o Add support for
17830         "+=" and "-=" list operators. o Use the new DEFVAR token to denote
17831         a Defaults variable name.
17832         [3a2cf8323e26]
17833
17834         * sudo.h:
17835         Prototype init_envtables()
17836         [b74916469dab]
17837
17838         * env.c:
17839         o Convert environment handling to use lists instead of strings.
17840         This greatly simplifies routines that need to do "foreach" type
17841         operations. o Add new init_envtables() function to set env_check
17842         and env_delete defaults based on initial_badenv_table and
17843         initial_checkenv_table (formerly sudo_badenv_table).
17844         [0a8b404658b6]
17845
17846         * defaults.c, defaults.h:
17847         o Add a new LIST type and functions to manipulate it. o This is for
17848         use with environment handling variables. o Call new
17849         init_envtables() routine inside init_defaults() to initialize the
17850         environment lists.
17851         [ae73e64f0902]
17852
17853         * def_data.c, def_data.h, def_data.in:
17854         Convert environment options to use the new LIST type and add a new
17855         one, env_check that only deletes if the sanity check fails.
17856         [3019503936de]
17857
17858         * testsudoers.c:
17859         Add dummy version of init_envtables()
17860         [9d9e3ee609d9]
17861
17862         * parse.yacc:
17863         honor quiet mode
17864         [8330fba6167c]
17865
17866         * visudo.c:
17867         Add check-only mode
17868         [dab411bc8c35]
17869
17870         * mkdefaults:
17871         Fix generation of entries with NULL descriptions.
17872         [ea75b9fed02e]
17873
17874 2001-12-09  Todd C. Miller  <Todd.Miller@courtesan.com>
17875
17876         * tgetpass.c:
17877         Use sigaction_t and quiet a gcc warning.
17878         [6f67d719c452]
17879
17880         * sudo.c:
17881         Must reset signal handlers before we exec
17882         [300418120e1a]
17883
17884         * auth/aix_auth.c, auth/bsdauth.c, auth/fwtk.c, auth/pam.c,
17885         auth/sudo_auth.c:
17886         Be carefule now that tgetpass() can return NULL (user hit ^C). PAM
17887         version needs testing. Set SIGTSTP to SIG_DFL during password entry
17888         so user can suspend us.
17889         [00304aa58747]
17890
17891         * tgetpass.c:
17892         Add support for interrupting/suspending tgetpass via keyboard input.
17893         If you suspend sudo from the password prompt and resume it will re-
17894         prompt you.
17895         [4af2b5101d32]
17896
17897         * sudo.c:
17898         Don't block keyboard interrupt signals, just set them to SIG_IGN.
17899         [d46d7f67ef6b]
17900
17901 2001-12-08  Todd C. Miller  <Todd.Miller@courtesan.com>
17902
17903         * config.h.in:
17904         add back HAVE_SIGACTION
17905         [c9c7702c603e]
17906
17907         * configure:
17908         regen
17909         [09fe669d337f]
17910
17911         * config.h.in, configure.in, logging.c, sudo.c, visudo.c:
17912         Kill POSIX_SIGNALS define and old signal support now that we emulate
17913         POSIX ones Also be sure to correctly initialize struct sigaction.
17914         [4bc2a6dbb2be]
17915
17916         * strerror.c:
17917         Don't need config.h or "#ifndef HAVE_STRERROR" wrapper.
17918         [1ad64a19f328]
17919
17920         * compat.h:
17921         Add scaffolding for POSIX signal emulation
17922         [945861d4c93b]
17923
17924         * sigaction.c:
17925         o Add missing ';' so this compiles o Can't use NULL since we don't
17926         include stdio.h
17927         [04d0cac7438f]
17928
17929         * sigaction.c:
17930         Emulate sigaction() using sigvec()
17931         [d0b54a989875]
17932
17933 2001-11-13  Todd C. Miller  <Todd.Miller@courtesan.com>
17934
17935         * sudoers.pod:
17936         Document new behavior of negative values of timestamp_timeout Fix a
17937         typo
17938         [4c0716570d01]
17939
17940         * sudo.pod:
17941         Add security note about command not being logged after 'sudo su' and
17942         friends.
17943         [43294851a33c]
17944
17945         * sudo.pod:
17946         Mention that -V prints default values when run as root, including
17947         the list of environment variables to clear.
17948         [d9e5e550a8c3]
17949
17950         * Makefile.in:
17951         Run pod2man with --quotes=none to avoid stupid quoting of C<>
17952         entries.
17953         [997b23c35dbe]
17954
17955 2001-11-12  Todd C. Miller  <Todd.Miller@courtesan.com>
17956
17957         * auth/sudo_auth.c, def_data.c, def_data.h, def_data.in, sudoers.pod:
17958         Add mail_badpass option Also modify mail_always behavior to also
17959         send mail when the password is wrong
17960         [838d40ccafce]
17961
17962         * env.c, sudo.c, sudo.h:
17963         Dump default bad env table when 'sudo -V' is run by root.
17964         [f67f1b8048b0]
17965
17966         * sudoers.pod:
17967         document env_delete
17968         [d74f893663a2]
17969
17970         * env.c:
17971         Add support for '*' in env_keep when not resetting the environment
17972         (ie: the normal case).
17973         [fd4fb62ea8fd]
17974
17975         * env.c:
17976         Add env_delete variable that lets the user replace/add to the
17977         bad_env_table. Allow '*' wildcard in env_keep entries.
17978         [aa728bc35e29]
17979
17980 2001-11-06  Todd C. Miller  <Todd.Miller@courtesan.com>
17981
17982         * mkinstalldirs:
17983         Force umask to 022 to guarantee sane directory permissions.
17984         [9ab3cfe70569]
17985
17986 2001-11-02  Todd C. Miller  <Todd.Miller@courtesan.com>
17987
17988         * Makefile.in:
17989         add sudo.tab.h and sudo.tab.c to sudo.tab.o dependency
17990         [671010465e6f]
17991
17992         * mkdefaults:
17993         fix breakage in last commit
17994         [8318f8851e56]
17995
17996         * Makefile.in:
17997         acsite.m4 -> aclocal.m4
17998         [30c146873a01]
17999
18000         * check.c:
18001         fix I_TS_TIMEOUT vs. I_TIMESTAMP_TIMEOUT pasto in previous commit
18002         [4dc8b39954da]
18003
18004         * def_data.c:
18005         regenerated from def_data.in
18006         [915ea16ce1eb]
18007
18008         * check.c, defaults.c, defaults.h:
18009         Add new T_UINT type that most things use instead of T_INT If
18010         timestamp_timeout is < 0 then treat the ticket as never expiring (to
18011         be expired manually by the user).
18012         [3a3a636a2a5d]
18013
18014         * def_data.in:
18015         change most T_INT -> T_UINT
18016         [a2228d2457af]
18017
18018         * mkdefaults:
18019         fix warning when no args
18020         [ca70a5394af5]
18021
18022         * visudo.c:
18023         Change 2 Exit() -> exit() Avoid stdio in Exit() and call _exit() if
18024         we are a signal handler. We no longer print the signal number but
18025         the user can just check the exit value for that.
18026         [dc424f631fef]
18027
18028 2001-10-16  Todd C. Miller  <Todd.Miller@courtesan.com>
18029
18030         * logging.c:
18031         when setting up pipes in child process check for case where stdin ==
18032         pipe fd 0
18033         [518112d76184]
18034
18035 2001-10-11  Todd C. Miller  <Todd.Miller@courtesan.com>
18036
18037         * visudo.c:
18038         Ignore editor exit value since XPG4 says vi's exit value is the
18039         count of editing errors made (failed searches, etc).
18040         [b9d952284865]
18041
18042 2001-10-05  Todd C. Miller  <Todd.Miller@courtesan.com>
18043
18044         * configure:
18045         regen
18046         [cb3aa586f03b]
18047
18048         * configure.in:
18049         sco now is identified by config.guess as *-sco-*
18050         [46664bbdea61]
18051
18052         * configure.in:
18053         Check for getspnam() in -lgen if not in -lc for UnixWare.
18054         [0f152ad1ba93]
18055
18056 2001-09-18  Todd C. Miller  <Todd.Miller@courtesan.com>
18057
18058         * sudoers.pod, visudo.pod:
18059         "upper case" -> "uppercase"
18060         [f9151f232326]
18061
18062         * sudoers.pod:
18063         fix typos and grammar; pjanzen@foatdi.harvard.edu
18064         [2855d73d0237]
18065
18066 2001-08-28  Todd C. Miller  <Todd.Miller@courtesan.com>
18067
18068         * sudoers.pod:
18069         Missing word (specify); krapht@secureops.com
18070         [65523eb37a2c]
18071
18072 2001-08-23  Todd C. Miller  <Todd.Miller@courtesan.com>
18073
18074         * sudo.c:
18075         If we fail to lookup a login class, apply the default one.
18076         [d4869faa6816]
18077
18078         * logging.c:
18079         In log_error() free message, not logline unconditionally, then free
18080         logline if it is not the same as message. No function change but
18081         this mirrors how they are allocated.
18082         [565e5f6cc643]
18083
18084 2001-07-17  Todd C. Miller  <Todd.Miller@courtesan.com>
18085
18086         * configure:
18087         regenerate
18088         [834a48f548a2]
18089
18090         * configure.in:
18091         remove some backslash quotes that are unneeded
18092         [50d401d6e2ca]
18093
18094         * configure.in:
18095         o Tweaks to make this work with autoconf-2.50 o Use AC_LIBOBJ
18096         instead of changing LIBOBJS directly o Use AC_REPLACE_FUNCS where we
18097         can o Use AC_CHECK_FUNCS instead of AC_CHECK_FUNC so we don't have
18098         to AC_DEFINE things manually.
18099         [f502c5f15f92]
18100
18101         * config.guess, config.sub:
18102         Updated from autoconf-2.50
18103         [6140205915ef]
18104
18105 2001-05-22  Todd C. Miller  <Todd.Miller@courtesan.com>
18106
18107         * README:
18108         Update mailing list section. We use mailman now, not majordomo.
18109         [b9a8ca45e6dc]
18110
18111 2001-05-10  Todd C. Miller  <Todd.Miller@courtesan.com>
18112
18113         * getspwuid.c, logging.c, sudo.c:
18114         Use setpwent()/endpwent() + all the shadow variants to make sure we
18115         don't inadvertantly leak an fd to the child. Apparently Linux's
18116         shadow routines leave the fd open even if you don't call setspent().
18117         Reported by mike@gistnet.com; different patch used.
18118         [d33792ef6c01]
18119
18120 2001-04-13  Todd C. Miller  <Todd.Miller@courtesan.com>
18121
18122         * sudoers.pod:
18123         s/eg./e.g./
18124         [bd32a0acaf93]
18125
18126         * tgetpass.c:
18127         select() may return EAGAIN. If so, continue like we do for EINTR.
18128         [5f202c943818]
18129
18130         * logging.c:
18131         Fix a non-exploitable buffer overflow in the word splitting code.
18132         This should really be rewritten.
18133         [4c724363863a]
18134
18135         * Makefile.in:
18136         FAQ link goes away
18137         [1d26dd6c8972]
18138
18139         * INSTALL:
18140         Tell people to look in sample.syslog.conf for examples, not FAQ
18141         [affcae3f43ca]
18142
18143         * TROUBLESHOOTING:
18144         Update list of env vars that are cleared
18145         [234e56f1435a]
18146
18147         * sudo.c:
18148         remove struct env_table decl since that stuff has all moved to env.c
18149         [5dd923148777]
18150
18151 2001-04-04  Todd C. Miller  <Todd.Miller@courtesan.com>
18152
18153         * fileops.c:
18154         Fix a pasto in flock-style unlocking and include <sys/file.h> for
18155         flock on older systems; twetzel@gwdg.de
18156         [d5420d9d2861]
18157
18158         * configure:
18159         regen to get NeXT lockf/flock fix
18160         [d3ba6ed70e15]
18161
18162         * configure.in:
18163         force NeXT to use flock since lockf is broken
18164         [bd5391dca1bb]
18165
18166 2001-03-30  Todd C. Miller  <Todd.Miller@courtesan.com>
18167
18168         * check.c:
18169         Use stashed user_gid when checking against exempt gid since sudo
18170         sets its gid to a a value that makes sudoers readable. Previously
18171         if you used gid 0 as the exempt group everyone would be exempt. From
18172         Paul Kranenburg <pk@cs.few.eur.nl>
18173         [0b140cc3a817]
18174
18175 2001-03-29  Todd C. Miller  <Todd.Miller@courtesan.com>
18176
18177         * configure:
18178         regen
18179         [cc455408f32b]
18180
18181         * aclocal.m4:
18182         #include stdio.h in SUDO_CHECK_TYPE since IRIX 6 aparently defines
18183         some types (such as ssize_t) therein.
18184         [b6aee85ca331]
18185
18186 2001-03-02  Todd C. Miller  <Todd.Miller@courtesan.com>
18187
18188         * defaults.c:
18189         Fix negation of paths in a boolean context. Problem found by
18190         apt@UH.EDU
18191         [8aee217a7cdf]
18192
18193 2001-02-23  Todd C. Miller  <Todd.Miller@courtesan.com>
18194
18195         * visudo.c:
18196         pasto
18197         [ad32b277bf68]
18198
18199 2001-02-17  Todd C. Miller  <Todd.Miller@courtesan.com>
18200
18201         * visudo.c:
18202         SA_RESETHAND means the opposite of what I was thinking--oops To
18203         block all signals in old-style signals use ~0, not 0xffffffff
18204         [6ecdd793590a]
18205
18206 2001-02-04  Todd C. Miller  <Todd.Miller@courtesan.com>
18207
18208         * defaults.c:
18209         coerce difference of pointers to int when used in a string length
18210         printf format; deraadt@openbsd.org
18211         [a9d10f07180d]
18212
18213 2001-01-17  Todd C. Miller  <Todd.Miller@courtesan.com>
18214
18215         * visudo.c:
18216         Block all signals in Exit() to avoid a signal race. There is still
18217         a tiny window but I'm not going to worry about it.
18218         [6661805c0458]
18219
18220 2001-01-07  Todd C. Miller  <Todd.Miller@courtesan.com>
18221
18222         * env.c:
18223         glibc uses the LANGUAGE env var so clear that too; Solar Designer
18224         [d4ba95628afb]
18225
18226         * lex.yy.c:
18227         Regenerate with a fix to flex.skl that preserves errno from
18228         clobbering by isatty().
18229         [607eec736e19]
18230
18231 2000-12-31  Todd C. Miller  <Todd.Miller@courtesan.com>
18232
18233         * auth/aix_auth.c, auth/bsdauth.c, auth/fwtk.c, auth/pam.c,
18234         auth/sia.c, auth/sudo_auth.c:
18235         Some defaults I_ defines got renamed.
18236         [ec19b23caaf3]
18237
18238         * Makefile.in, check.c, def_data.c, def_data.h, def_data.in,
18239         defaults.c, defaults.h, env.c, logging.c, mkdefaults, parse.yacc,
18240         set_perms.c, sudo.c, sudo.tab.c:
18241         Move defaults info into its own files from which we generate .h and
18242         .c files. This makes adding or rearranging variables much simpler.
18243         [e91b880b5043]
18244
18245 2000-12-30  Todd C. Miller  <Todd.Miller@courtesan.com>
18246
18247         * configure, configure.in:
18248         fix typo in last commit
18249         [10a6ee2bae71]
18250
18251         * compat.h, config.h.in, configure, configure.in:
18252         Add check + emulation for setegid (like seteuid).
18253         [29492092bd2f]
18254
18255         * env.c:
18256         Make env_keep override badenv_table as documented Fix traversal of
18257         badenv_table (broken in last commit)
18258         [37c9f0d22673]
18259
18260         * set_perms.c, sudo.c, sudo.h:
18261         Don't try and build saved uid version of set_perms on systems w/o
18262         them. Rename set_perms_saved_uid() -> set_perms_posix() Make
18263         set_perms_setreuid simply be set_perms_fallback() and simply include
18264         the appropriate function at compile time (setreuid() vs. setuid()).
18265         [3107333c062c]
18266
18267         * sudoers.cat, sudoers.man.in, sudoers.pod:
18268         PATH is also preserved when env_reset is in effect
18269         [90e45c5711ff]
18270
18271         * CHANGES, Makefile.in, check.c, compat.h, config.h.in, configure,
18272         configure.in, defaults.c, defaults.h, env.c, find_path.c,
18273         getspwuid.c, set_perms.c, sudo.c, sudo.cat, sudo.h, sudo.man.in,
18274         sudo.pod, sudoers.cat, sudoers.man.in, sudoers.pod, testsudoers.c,
18275         visudo.c, visudo.cat, visudo.man.in:
18276         New Defaults options: o stay_setuid - sudo will remain setuid if
18277         system has saved uids or setreuid(2) o env_reset - reset the
18278         environment to a sane default o env_keep - preserve environment
18279         variables that would otherwise be cleared
18280
18281         No longer use getenv/putenv/setenv functions--do environment munging
18282         by hand. Potentially dangerous environment variables can be cleared
18283         only if they contain '/' pr '%' characters to protect buggy
18284         programs. Moved environment routines into env.c (new file)
18285         [c2f97651db4c]
18286
18287         * INSTALL:
18288         Clear up --without-passwd description
18289         [2f336dab6733]
18290
18291         * putenv.c, sudo_setenv.c:
18292         We now build up a new environment from scratch and assign it to
18293         "environ".
18294         [6ae6152f2238]
18295
18296 2000-12-19  Todd C. Miller  <Todd.Miller@courtesan.com>
18297
18298         * sudo.pod, visudo.pod:
18299         Grammatical fixes from Paul Janzen
18300         [e03ead2e56f8]
18301
18302 2000-12-15  Todd C. Miller  <Todd.Miller@courtesan.com>
18303
18304         * visudo.c:
18305         If there was a syntax error and the user just wants to quit, unlink
18306         sudoers if it is zero length.
18307         [74ba7921f520]
18308
18309         * visudo.c:
18310         'Q' means ignore parse error, not 'q'
18311         [e8d0e4491fe6]
18312
18313         * visudo.c:
18314         Open sudoers for writing with mode SUDOERS_MODE From Dimitry Andric
18315         <dim@xs4all.nl>
18316         [b24990a72491]
18317
18318 2000-12-13  Todd C. Miller  <Todd.Miller@courtesan.com>
18319
18320         * set_perms.c:
18321         Add missing #ifdef HAVE_LOGIN_CAP_H; ayamura@ayamura.org
18322         [41a8db10e076]
18323
18324 2000-12-09  Todd C. Miller  <Todd.Miller@courtesan.com>
18325
18326         * config.guess, config.sub:
18327         Darwin / Mac OS X support from Wilfredo Sanchez <wsanchez@apple.com>
18328         [6052da895d2e]
18329
18330 2000-11-03  Todd C. Miller  <Todd.Miller@courtesan.com>
18331
18332         * sudo.c, visudo.c:
18333         Use exit(127), not exit(-1)
18334         [9ff0c3eada34]
18335
18336         * Makefile.in, defaults.c, defaults.h, set_perms.c, sudo.c:
18337         Move set_perms() to its own file and use POSIX saved uid or
18338         setreuid() if available.
18339
18340         Added stay_setuid option for systems that have libraries that
18341         perform extra paranoia checks in system libraries for setuid
18342         programs (ie: anything with issetugid(2)).
18343         [28960f842698]
18344
18345         * sudo.c:
18346         strip more bits from the environment and add a facility for
18347         stripping things only if they contain '/' or '%' to address printf
18348         format string vulnerabilities in other programs.
18349         [b98d6375f299]
18350
18351 2000-11-02  Todd C. Miller  <Todd.Miller@courtesan.com>
18352
18353         * configure:
18354         regen
18355         [7e74e5c91049]
18356
18357         * configure.in:
18358         For NCR, add -lc89 to LIBS, not SUDO_LIBS and cache the existence of
18359         strcasecmp().
18360         [a418e9e70442]
18361
18362         * configure:
18363         regen
18364         [bbff244a52bc]
18365
18366         * configure.in:
18367         Check for strcasecmp(3) in -lc89 for NCR Unix
18368         [361c99576681]
18369
18370 2000-11-01  Todd C. Miller  <Todd.Miller@courtesan.com>
18371
18372         * config.h.in:
18373         Define HAVE_INNETGR #ifdef HAVE__INNETGR
18374         [473cdb92b6db]
18375
18376         * configure:
18377         regen
18378         [4e6364a195e0]
18379
18380         * compat.h, config.h.in, configure.in:
18381         Add check for _innetgr(3) since NCR systems have that instead of
18382         innetgr(3).
18383         [25e6852e7494]
18384
18385 2000-10-31  Todd C. Miller  <Todd.Miller@courtesan.com>
18386
18387         * auth/securid.c:
18388         check return value of creadcfg() call sd_close() after sd_auth()
18389         store username in sd->username so we don't rely on the USER env
18390         variable
18391         [d106b4f42722]
18392
18393 2000-10-30  Todd C. Miller  <Todd.Miller@courtesan.com>
18394
18395         * INSTALL:
18396         document --with-bsdauth
18397         [f1518ecc2ee9]
18398
18399         * configure:
18400         regen
18401         [dceb35071ea8]
18402
18403         * configure.in:
18404         --with-bsdauth assumes --with-logincap
18405         [4200778083fd]
18406
18407         * auth/bsdauth.c, auth/fwtk.c:
18408         When prompting for a response to a challenge, if the user just hits
18409         return then reprompt with echo turned on.
18410         [a539b6474a97]
18411
18412 2000-10-29  Todd C. Miller  <Todd.Miller@courtesan.com>
18413
18414         * sudo.c:
18415         Remove debugging code that should not have been committed, oops.
18416         [9862607b77a7]
18417
18418         * auth/bsdauth.c:
18419         Use lower-level routines and get the password ourselves. Checks for
18420         a challenge and if there is one echo is not turned off.
18421         [2d8fcd166baa]
18422
18423         * auth/pam.c, auth/sudo_auth.h:
18424         minor housekeeping, no real code changes
18425         [d0074a277fb4]
18426
18427 2000-10-27  Todd C. Miller  <Todd.Miller@courtesan.com>
18428
18429         * sudo.c:
18430         Fix a coredump in the logging functions if gethostname(2) fails by
18431         deferring the call to log_error() until things are better setup.
18432
18433         Fix return value of set_loginclass() in non-BSD-auth case.
18434
18435         Hard-code 'sudo' in the usage message so we can fit more options on
18436         a line
18437         [d9d1b7579818]
18438
18439         * logging.c:
18440         Fix errant ';' (typo) that broken MSG_ONLY
18441         [849b2276a470]
18442
18443 2000-10-26  Todd C. Miller  <Todd.Miller@courtesan.com>
18444
18445         * sudo.cat, sudo.man.in:
18446         regen
18447         [bb3c8c6704d1]
18448
18449         * sudo.pod:
18450         Document -a flag
18451         [e18316cebaac]
18452
18453         * Makefile.in, auth/bsdauth.c, auth/sudo_auth.h, config.h.in,
18454         configure, configure.in, getspwuid.c, sudo.c:
18455         Add support for BSD authentication.
18456         [f374cfd9ca0d]
18457
18458 2000-10-19  Todd C. Miller  <Todd.Miller@courtesan.com>
18459
18460         * sudoers.pod:
18461         Fix typo; from sato@complex.eng.hokudai.ac.jp
18462         [3085fee9766e]
18463
18464 2000-10-12  Todd C. Miller  <Todd.Miller@courtesan.com>
18465
18466         * sudoers.pod:
18467         Mention negating umask
18468         [c9e410294dae]
18469
18470         * defaults.c:
18471         Allow user to specify umask of 0777 (same as !umask)
18472         [bb771daa96fe]
18473
18474 2000-10-09  Todd C. Miller  <Todd.Miller@courtesan.com>
18475
18476         * sudo.pod, visudo.pod:
18477         Fix a typo and give a URL for the sudo history.
18478         [77f73199aedb]
18479
18480 2000-10-08  Todd C. Miller  <Todd.Miller@courtesan.com>
18481
18482         * defaults.c, sudo.pod:
18483         fix typos; pepper@reppep.com
18484         [5532c7421340]
18485
18486 2000-09-14  Todd C. Miller  <Todd.Miller@courtesan.com>
18487
18488         * sudo.c, sudo.h, sudo_setenv.c:
18489         sudo_setenv() now exits on memory alloc failure instead of returning
18490         -1.
18491         [71f1cf18f47b]
18492
18493 2000-09-07  Todd C. Miller  <Todd.Miller@courtesan.com>
18494
18495         * sudo.c:
18496         Strip out NLSPATH and PATH_LOCALE from the environment for FreeBSD
18497         and possibly others.
18498         [b69d985b0d22]
18499
18500         * logging.c:
18501         Don't use vsyslog(3) since HP-UX (and others?) lack it. This means
18502         that "%m" won't be expanded but we don't use that anyway since the
18503         logging routines may splat to stderr as well.
18504         [8d37a544d0c0]
18505
18506         * defaults.c, defaults.h, sudo.c, sudoers.cat, sudoers.man.in,
18507         sudoers.pod:
18508         Add always_set_home variable
18509         [dbcaff646e07]
18510
18511         * configure, configure.in:
18512         Have to hard code default values in help since the defaults are set
18513         _after_ the help stuff.
18514         [7b5d6d72f55c]
18515
18516 2000-08-31  Todd C. Miller  <Todd.Miller@courtesan.com>
18517
18518         * lex.yy.c, parse.lex:
18519         Allow special characters (including '#') to be embedded in pathnames
18520         if quoted by a '\\'. The quoted chars will be dealt with by
18521         fnmatch(). Unfortunately, 'sudo -l' still prints the '\\'.
18522         [3ed33cf09977]
18523
18524 2000-08-13  Todd C. Miller  <Todd.Miller@courtesan.com>
18525
18526         * install-sh:
18527         Better path searching for programs we need.
18528         [60517cb1f0d6]
18529
18530         * TROUBLESHOOTING:
18531         Add section on "C compiler cannot create executables" errors.
18532         [e4ada6eaee59]
18533
18534         * Makefile.binary, Makefile.in, version.h:
18535         Crank version
18536         [93d1bd5b7f5e]
18537
18538         * aclocal.m4, configure, configure.in, sudo.cat, sudo.man.in,
18539         sudo.pod, sudoers.cat, sudoers.man.in, sudoers.pod, visudo.cat,
18540         visudo.man.in, visudo.pod:
18541         Substitute values from configure into man pages.
18542         [619854c356c1]
18543
18544 2000-08-12  Todd C. Miller  <Todd.Miller@courtesan.com>
18545
18546         * parse.c, sudo.c:
18547         The listpw and verifypw sudoers options would not take effect
18548         because the value of the default was checked *before* sudoers was
18549         parsed. Instead of passing in the value of PWCHECK_* to
18550         sudoers_lookup(), pass in the arg for def_ival() so the check can be
18551         deferred until after sudoers is parsed.
18552         [4f596e358f72]
18553
18554 2000-08-11  Todd C. Miller  <Todd.Miller@courtesan.com>
18555
18556         * tgetpass.c:
18557         When writing prompt, no need to write the NUL as well;
18558         hag@linnaean.org
18559         [fbcdd7b431ee]
18560
18561 2000-06-09  Todd C. Miller  <Todd.Miller@courtesan.com>
18562
18563         * install-sh:
18564         When looking for chown, check in /sbin too
18565         [657ba6653f8c]
18566
18567 2000-06-05  Todd C. Miller  <Todd.Miller@courtesan.com>
18568
18569         * visudo.c:
18570         Remove extraneous call to init_defaults() and set runas_user to NULL
18571         betweem parses so init_defaults will reset it each time, thus
18572         avoiding a reference to free()d data.
18573         [7421fcd692af]
18574
18575 2000-06-04  Todd C. Miller  <Todd.Miller@courtesan.com>
18576
18577         * config.h.in, interfaces.c, interfaces.h, sudo.c:
18578         Add support for using getifaddrs() to get the list of ip addr /
18579         netmask pairs. Currently IPv4-only.
18580         [a35bc4f7306d]
18581
18582         * visudo.c:
18583         Add a missing check for UserEditor == NULL Add missing '+' before
18584         line number when invoking editor to fix a syntax error
18585         [f0d4635f6082]
18586
18587 2000-05-12  Todd C. Miller  <Todd.Miller@courtesan.com>
18588
18589         * sudo.c:
18590         Call clean_env very early in main() for paranoia's sake. Idea from
18591         Marc Esipovich.
18592         [f8d72ebd0115]
18593
18594 2000-05-10  Todd C. Miller  <Todd.Miller@courtesan.com>
18595
18596         * sudo.h:
18597         Update proto for evasprintf and easprintf
18598         [d147d6e58419]
18599
18600         * alloc.c:
18601         Make easprintf() and evasprintf() return an int.
18602         [b2ca5d089667]
18603
18604         * check.c:
18605         If the targetpw flag is set, use target username as part of the
18606         timestamp path. If tty tickets are in effect cat the tty and the
18607         target username with a ':' as the separator.
18608         [de11abc693c2]
18609
18610 2000-05-09  Todd C. Miller  <Todd.Miller@courtesan.com>
18611
18612         * auth/pam.c:
18613         Backout part of last change; setting PAM_USER to the invoking user
18614         breaks things like targetpw.
18615         [427218a7387f]
18616
18617         * auth/pam.c:
18618         set tty and username via pam_set_item
18619         [85d1922dbcc9]
18620
18621         * auth/sudo_auth.c, check.c, getspwuid.c, sudo.c, sudo.h:
18622         Fix root, runas, and target authentication for non-passwd file auth
18623         methods.
18624         [a14535e7b30c]
18625
18626 2000-04-22  Todd C. Miller  <Todd.Miller@courtesan.com>
18627
18628         * sudo.cat, sudo.man.in, sudo.pod, sudoers.cat, sudoers.man.in,
18629         sudoers.pod, visudo.cat, visudo.man.in, visudo.pod:
18630         Use B<-Z> not C<-Z> for command line flags in all places. This is
18631         more consistent and works around a bug in Pod::Man.
18632         [64b5a05f30c5]
18633
18634         * sudoers.cat, sudoers.man.in, sudoers.pod:
18635         Fix an occurence of 'semicolon' that should be 'colon'
18636         [4ea5aacae3fb]
18637
18638 2000-04-19  Todd C. Miller  <Todd.Miller@courtesan.com>
18639
18640         * configure, configure.in:
18641         Fix --with-badpri help line
18642         [3cc40977c043]
18643
18644 2000-04-17  Todd C. Miller  <Todd.Miller@courtesan.com>
18645
18646         * defaults.c, logging.c, sudo.c:
18647         Bracket calls to syslog with an openlog() and closelog() since some
18648         authentication methods (like PAM) may do their own logging via
18649         syslog. Since we don't use syslog much (usually just once per
18650         session) this doesn't really incur a performance penalty. It also
18651         Fixes a SEGV with pam_kafs.
18652         [fe1cc28529f6]
18653
18654 2000-04-15  Todd C. Miller  <Todd.Miller@courtesan.com>
18655
18656         * sudo.c:
18657         Fix -H flag. runas_homedir is only valid after
18658         set_perms(PERM_RUNAS, mode)
18659         [ce9b1c6f68a6]
18660
18661 2000-04-12  Todd C. Miller  <Todd.Miller@courtesan.com>
18662
18663         * INSTALL:
18664         Clarify the fact that insults are not enabled just by including them
18665         in the binary.
18666         [d5a31d48320c]
18667
18668 2000-04-07  Todd C. Miller  <Todd.Miller@courtesan.com>
18669
18670         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in, visudo.cat,
18671         visudo.man.in:
18672         Regenerated with perl 5.6.0 pod2man
18673         [21751433768b]
18674
18675         * Makefile.in:
18676         Give date string to pod2man since its default is ugly and it ain't
18677         got no alibi.
18678         [0080b2f6298f]
18679
18680         * Makefile.in:
18681         Do section substitution on the output of pod2man and remove hack
18682         needed for old pod2man.
18683         [1ef843d5c78b]
18684
18685         * sudo.pod, sudoers.pod, visudo.pod:
18686         Put back real man sections, we will do the substitution later.
18687         [f728c1abad7e]
18688
18689 2000-04-02  Todd C. Miller  <Todd.Miller@courtesan.com>
18690
18691         * configure, configure.in:
18692         Don't bother checking for the path to vi if user specified --with-
18693         editor
18694         [bf698487e0d5]
18695
18696 2000-04-01  Todd C. Miller  <Todd.Miller@courtesan.com>
18697
18698         * CHANGES, visudo.c:
18699         Visudo now does its own fork/exec instead of calling system(3).
18700         [99bbcd88863b]
18701
18702         * CHANGES, INSTALL, Makefile.in, sudoers.cat, sudoers.man.in,
18703         sudoers.pod, visudo.c:
18704         Visudo now checks for the existence of an editor and gives a
18705         sensible error if it does not exist.
18706
18707         The path to the editor for visudo is now a colon-separated list of
18708         allowable editors. If the user has $EDITOR set and it matches one
18709         of the allowed editors that editor will be used. If not, the first
18710         editor in the list that actually exists is used.
18711         [cc86eb9f5440]
18712
18713         * sudo.cat, sudo.man.in, sudo.pod:
18714         Clear up confusion wrt sudo's return value.
18715         [9385b12d8e79]
18716
18717 2000-03-27  Todd C. Miller  <Todd.Miller@courtesan.com>
18718
18719         * Makefile.in:
18720         Strip sudo and visudo for bindist target
18721         [a995ddd79177]
18722
18723         * sudo.cat, sudo.man.in, sudo.pod, sudoers.cat, sudoers.man.in,
18724         sudoers.pod, visudo.cat, visudo.man.in, visudo.pod:
18725         Use @mansectsu@ and @mansectform@ in the man page bodies as well.
18726         [5eb9e60a726f] [SUDO_1_6_3]
18727
18728         * visudo.cat, visudo.man.in, visudo.pod:
18729         Typo: @sysconf@ -> @sysconfdir@
18730         [f07f52fcd099]
18731
18732         * Makefile.in:
18733         'make dist' should not cause any files to be modified so remove its
18734         dependencies.
18735         [7f44a2666a9c]
18736
18737         * CHANGES:
18738         Whoops, forgot to add release marker
18739         [16c0f16b35b8]
18740
18741 2000-03-26  Todd C. Miller  <Todd.Miller@courtesan.com>
18742
18743         * CHANGES:
18744         Final change for 1.6.3 (or so I hope)
18745         [473c89da6123]
18746
18747         * sudo.cat, sudoers.cat, visudo.cat:
18748         Use SYSV man sections since BSD systems will have nroff...
18749         [0a6bd154324e]
18750
18751 2000-03-24  Todd C. Miller  <Todd.Miller@courtesan.com>
18752
18753         * parse.yacc, sudo.tab.c:
18754         When checking to see if the host/user matches in a defaults spec,
18755         check against TRUE, not just non-zero since it might be -1.
18756         [41f2b7ad3fdd]
18757
18758         * configure, configure.in:
18759         OSF/1 puts file formats in section 4, not 5.
18760         [d77c1301afa9]
18761
18762         * CHANGES, INSTALL, sudo.c:
18763         Make login class support work on BSD/OS
18764         [e9bbe3c08ade]
18765
18766         * RUNSON:
18767         Update for 1.6.3
18768         [c40ce1d76c4d]
18769
18770         * configure, configure.in:
18771         If there is no inet_addr but there *is* an __inet_addr that's ok
18772         since inet_addr is probably just a macro then. The better thing to
18773         do would be to look for the macro, but this is fine for now.
18774         [1b8865ae4d68]
18775
18776         * configure, configure.in:
18777         Don't use shlicc for BSD/OS 4.x
18778         [83fbf6dedd2c]
18779
18780         * Makefile.in, configure, configure.in:
18781         *.man lives in cwd, *.cat lives in $(srcdir), add a @mansrcdir@
18782         configure variable so we can deal with this. Also, only remove *.man
18783         for 'distclean' not 'clean'.
18784         [30d56e6de214]
18785
18786         * sudo.c:
18787         set_loginclass() should be static like the proto says
18788         [d570a2d55fb8]
18789
18790 2000-03-23  Todd C. Miller  <Todd.Miller@courtesan.com>
18791
18792         * fnmatch.c:
18793         Add #ifdef __STDC__ around the rangematch function header to avoid
18794         promotion of test to int, thus violating the prototype. Gcc handles
18795         this gracefully but more std ANSI compilers will complain.
18796         [7d98c3e332b2]
18797
18798         * emul/fnmatch.h:
18799         Pull in newer fnmatch(3) that supports FNM_CASEFOLD
18800         [4e1320852f8b]
18801
18802         * aclocal.m4, configure, fnmatch.3, fnmatch.c:
18803         Pull in newer fnmatch(3) that supports FNM_CASEFOLD Check for
18804         FNM_CASEFOLD in configure
18805         [9ef952bf1896]
18806
18807         * CHANGES, TODO:
18808         update for 1.6.3
18809         [e4ba6368a0c5]
18810
18811         * sudo.tab.c, sudo.tab.h, testsudoers.c, visudo.c:
18812         Fully qualified hosts w/ wildcards were not matching the FQHOST
18813         token type. There's really no need for a separate token for fully-
18814         qualified vs. unqualified anymore so FQHOST is now history and
18815         hostname_matches now decides which hostname (short or long) to check
18816         based on whether or not the pattern contains a '.'.
18817         [fbd2887d9811]
18818
18819         * parse.h:
18820         Fully qualified hosts w/ wildcards were not matching the FQHOST
18821         token type. There's really no need for a separate token for fully-
18822         qualified vs. unqualified anymore so FQHOST is now history and
18823         hostname_matches now decides which hostname (short or long) to check
18824         based on whether or not the pattern contains a '.'.
18825         [dd7bbe223461]
18826
18827         * lex.yy.c, parse.c, parse.lex, parse.yacc:
18828         Fully qualified hosts w/ wildcards were not matching the FQHOST
18829         token type. There's really no need for a separate token for fully-
18830         qualified vs. unqualified anymore so FQHOST is now history and
18831         hostname_matches now decides which hostname (short or long) to check
18832         based on whether or not the pattern contains a '.'.
18833         [630d9d205397]
18834
18835         * parse.c, parse.h, parse.yacc, sudo.tab.c, sudoers.cat,
18836         sudoers.man.in, sudoers.pod, testsudoers.c, visudo.c:
18837         Add support for wildcards in the hostname.
18838         [d8d821ed4238]
18839
18840         * Makefile.in:
18841         Add targets for *.man.in, using config.status to generate *.man from
18842         *.man.in
18843         [640e50ede485]
18844
18845         * sudoers.cat, sudoers.man.in, sudoers.pod:
18846         Document set_logname option and enbolden refs to sudo and visudo.
18847         [9622b3a48707]
18848
18849         * INSTALL, Makefile.in, aclocal.m4, configure, configure.in, sudo.cat,
18850         sudo.man.in, sudo.pod, sudoers.cat, sudoers.man.in, sudoers.pod,
18851         visudo.cat, visudo.man.in, visudo.pod:
18852         Add FreeBSD login.conf support (untested on BSD/OS) based on a patch
18853         from Michael D. Marchionna. configure now does substitution on the
18854         man pages, allowing us to fix up the paths and set the section
18855         correctly. Based on an idea from Michael D. Marchionna.
18856         [463e928a0a2f]
18857
18858         * auth/passwd.c:
18859         Better fix for handling HP-UX aging info.
18860         [3950f42d8549]
18861
18862         * sudo.c:
18863         Add support for set_logname run-time default
18864         [c6a7cc76b8b4]
18865
18866         * sudo.man.in, sudoers.man.in, visudo.man.in:
18867         configure does substitution on these to produce *.man
18868         [b83fc3c1bfc9]
18869
18870         * sudo.man, sudoers.man, visudo.man:
18871         These files now get generated from *.man.in at configure time.
18872         [c499061f79e0]
18873
18874 2000-03-22  Todd C. Miller  <Todd.Miller@courtesan.com>
18875
18876         * defaults.c, defaults.h:
18877         Add set_logname option so users can turn off setting of LOGNAME/USER
18878         environment variables.
18879         [6316869180b8]
18880
18881         * lsearch.c, parse.c, testsudoers.c:
18882         kill register
18883         [6e104e653748]
18884
18885 2000-03-13  Todd C. Miller  <Todd.Miller@courtesan.com>
18886
18887         * auth/passwd.c:
18888         HP-UX adds extra info at the end for password aging so when
18889         comparing the result of crypt to pw_passwd we only compare the first
18890         len(epass) bytes *unless* the user entered an empty string for a
18891         password.
18892         [3d24d4e4e889]
18893
18894         * logging.c:
18895         Get rid of grandchild hack, it was causing problems and there is
18896         really no need for it. This fixes a bug where we spin eating up CPU
18897         when the user runs a long-running process like a shell.
18898         [5743b10b1e81]
18899
18900 2000-03-07  Todd C. Miller  <Todd.Miller@courtesan.com>
18901
18902         * sudo.c:
18903         User can always specify a login class if he/she is already root.
18904         [710d160cef9f]
18905
18906         * config.h.in, configure, configure.in, defaults.c, defaults.h,
18907         sudo.c, sudo.h:
18908         FreeBSD login class (login.conf) support.
18909         [026b981d6328]
18910
18911 2000-03-06  Todd C. Miller  <Todd.Miller@courtesan.com>
18912
18913         * auth/sudo_auth.c:
18914         HAVE_SECUREWARE -> HAVE_GETPRPWNAM; fixes secureware support
18915         [9cd4929f1a78]
18916
18917 2000-03-03  Todd C. Miller  <Todd.Miller@courtesan.com>
18918
18919         * auth/passwd.c:
18920         Truncate unencrypted password to 8 chars if encrypted password is
18921         exactly 13 characters (indicateing standard a DES password). Many
18922         versions of crypt() do this for you, but not all (like HP-UX's).
18923         [a9d0259cb193]
18924
18925 2000-03-02  Todd C. Miller  <Todd.Miller@courtesan.com>
18926
18927         * INSTALL, RUNSON:
18928         Mention that gcc on dynix may have problems
18929         [77b97fa5bf1b]
18930
18931 2000-02-29  Todd C. Miller  <Todd.Miller@courtesan.com>
18932
18933         * Makefile.in:
18934         Link visudo with NET_LIBS since we now call syslog via defaults.c
18935         [9e3830b277cc]
18936
18937         * defaults.c:
18938         Use Argv[0] as the first arg to openlog() since visudo uses this
18939         too.
18940         [e61078f328ec]
18941
18942 2000-02-28  Todd C. Miller  <Todd.Miller@courtesan.com>
18943
18944         * sudo.c:
18945         Stash coredumpsize resource limit and retsore it before the exec()
18946         Otherwise the child ends up with a coredumpsize of 0.
18947         [f6a4783835a3]
18948
18949 2000-02-27  Todd C. Miller  <Todd.Miller@courtesan.com>
18950
18951         * sudo.cat, sudo.man, sudo.pod:
18952         document -S flag
18953         [3ebd805b7142]
18954
18955         * sudo.c:
18956         fix usage string
18957         [66b2dfa47fe8]
18958
18959         * CHANGES, RUNSON, TODO, auth/aix_auth.c, auth/fwtk.c, auth/pam.c,
18960         auth/sudo_auth.c, sudo.c, sudo.h, tgetpass.c:
18961         Added -S flag (read passwd from stdin) and tgetpass_flags global
18962         that holds flags to be passed in to tgetpass(). Change echo_off
18963         param to tgetpass() into a flags field. There are currently 2
18964         possible flags for tgetpass(): TGP_ECHO and TGP_STDIN. In
18965         tgetpass(), abstract the echo set/clear via macros and if (flags &
18966         TGP_ECHO) but echo is not set on the terminal, but sure to set it.
18967         [a4fcbb712cd0]
18968
18969         * tgetpass.c:
18970         Fixed a bug that caused an infinite loop when the password timeout
18971         was disabled.
18972         [2be1ffc5a39f]
18973
18974 2000-02-18  Todd C. Miller  <Todd.Miller@courtesan.com>
18975
18976         * CHANGES, defaults.c, defaults.h, getspwuid.c, sudo.c, sudo.h,
18977         sudoers.cat, sudoers.man, sudoers.pod, visudo.c:
18978         Add rootpw, runaspw, and targetpw options.
18979         [2d4563e46df7]
18980
18981         * CHANGES, defaults.c, sudoers.cat, sudoers.man, sudoers.pod,
18982         visudo.c:
18983         enveditor -> env_editor
18984         [ddc5f856e583]
18985
18986 2000-02-16  Todd C. Miller  <Todd.Miller@courtesan.com>
18987
18988         * BUGS, INSTALL, Makefile.in, README, configure, configure.in,
18989         sudo.cat, sudo.man, sudoers.cat, sudoers.man, version.h, visudo.cat,
18990         visudo.man:
18991         crank versino to 1.6.3
18992         [a5f7d3e74360]
18993
18994         * INSTALL, TODO, defaults.c, defaults.h, sudoers.cat, sudoers.man,
18995         sudoers.pod, visudo.c:
18996         Add 'editor' and 'enveditor' sudoers defaults and make visudo honor
18997         them. This means that visudo will now parse the sudoers file
18998         *before* it is edited so a bogus sudoers file will cause a warning
18999         to go to stderr. Also, visudo checks the variables once--it does not
19000         check them after each editor run since that could be confusing.
19001         [9f5af18e9212]
19002
19003 2000-02-15  Todd C. Miller  <Todd.Miller@courtesan.com>
19004
19005         * RUNSON:
19006         1.6.2 -> 1.6.2p1
19007         [e25b74f1d1af]
19008
19009         * check.c, sudo.c, sudo.h:
19010         Move user_is_exempt prototype into sudo.h
19011         [daf26a6ded8a]
19012
19013 2000-02-13  Todd C. Miller  <Todd.Miller@courtesan.com>
19014
19015         * configure, configure.in:
19016         Fix thinko, some && should have been || in the last commit
19017         [4b9b2d487ded]
19018
19019         * configure, configure.in:
19020         Don't initialized Makefile variables to be NULL since the user may
19021         want to import variables from their environment.
19022         [7be019f4422c]
19023
19024 2000-02-04  Todd C. Miller  <Todd.Miller@courtesan.com>
19025
19026         * configure, configure.in:
19027         typo
19028         [38f4d8971f0a]
19029
19030 2000-01-28  Todd C. Miller  <Todd.Miller@courtesan.com>
19031
19032         * sudo.tab.c:
19033         fix a yacc (skeleton.c) warning
19034         [a2da228a937b]
19035
19036 2000-01-27  Todd C. Miller  <Todd.Miller@courtesan.com>
19037
19038         * INSTALL, RUNSON, configure, configure.in:
19039         Make pam work on HP-UX 11.0;jaearick@colby.edu
19040         [b94de0ff6f42]
19041
19042         * CHANGES:
19043         recent changes; prepare for 1.6.2p1
19044         [b291635ea141]
19045
19046         * find_path.c:
19047         Don't apply SECURE_PATH if user is example; jmknoble@pobox.com
19048         [4306285c4f6e]
19049
19050 2000-01-26  Todd C. Miller  <Todd.Miller@courtesan.com>
19051
19052         * sudo.tab.c:
19053         Regen with yacc that has a memory leak plugged.
19054         [e26383a04eb7]
19055
19056         * sudoers.cat, sudoers.man, sudoers.pod:
19057         Expanded docs on sudoers 'defaults' options based on INSTALL file
19058         info.
19059         [54c3d62d6c74]
19060
19061         * INSTALL:
19062         Fix some while lies
19063         [d15311782150]
19064
19065 2000-01-24  Todd C. Miller  <Todd.Miller@courtesan.com>
19066
19067         * Makefile.in:
19068         When making a bindist, link FAQ to TROUBLESHOOTING instead of
19069         copying.
19070         [2d88a6ac88cf]
19071
19072         * sudoers.cat, sudoers.man, sudoers.pod:
19073         Add netgroup caveat
19074         [28d119f466e3] [SUDO_1_6_2]
19075
19076         * RUNSON:
19077         Last minute updates
19078         [89fb4ed22d52]
19079
19080         * TROUBLESHOOTING:
19081         PAM entry
19082         [a9fd59f39457]
19083
19084         * auth/pam.c:
19085         correct a comment
19086         [a29627225ba9]
19087
19088         * CHANGES, RUNSON:
19089         update for 1.6.2
19090         [b7f1c40ea732]
19091
19092         * auth/pam.c:
19093         Better detection of PAM errors and fix custom prompts with PAM.
19094         Based on patches from "Cloyce D. Spradling" <cloyce@headgear.org>
19095         [ff69234b94a5]
19096
19097 2000-01-20  Todd C. Miller  <Todd.Miller@courtesan.com>
19098
19099         * snprintf.c:
19100         Cast ULONG_MAX to unsigned long long when comparing to an unsigned
19101         long long value.
19102         [9d918c3a2ecd]
19103
19104 2000-01-19  Todd C. Miller  <Todd.Miller@courtesan.com>
19105
19106         * CHANGES, config.h.in, configure, configure.in, visudo.c:
19107         Fix sudoers locking in visudo. We now lock the sudoers file itself,
19108         not the temp file (since locking the temp file can foul up editors).
19109         The previous locking scheme didn't work because the fd was closed
19110         too early.
19111         [de2011bb11ed]
19112
19113         * config.h.in, configure, configure.in:
19114         Don't need test for ftruncate() any more.
19115         [e5f71c848104]
19116
19117         * configure, configure.in:
19118         Add a test for the -Aa flag w/ HP-UX's cc. Fixes compilation with
19119         the unbundled HP-UX cc.
19120         [2c373612c644]
19121
19122 2000-01-18  Todd C. Miller  <Todd.Miller@courtesan.com>
19123
19124         * sudoers.cat, sudoers.man, sudoers.pod:
19125         "a a" -> "a"; Aaron Campbell <aaron@cs.dal.ca>
19126         [05360d2c314e]
19127
19128 2000-01-17  Todd C. Miller  <Todd.Miller@courtesan.com>
19129
19130         * LICENSE, Makefile.in, defaults.c, defaults.h, parse.c, parse.h,
19131         parse.yacc, sudo.c, sudo.h, sudoers.pod, testsudoers.c, tgetpass.c,
19132         version.h, visudo.c:
19133         update copyright year on changed files
19134         [5792a2a28a4c]
19135
19136         * RUNSON:
19137         updates
19138         [edf8f19aa403]
19139
19140         * CHANGES:
19141         aix fix
19142         [4d4a243b31e2]
19143
19144         * INSTALL:
19145         Crank version to 1.6.2
19146         [bcb5cb411624]
19147
19148         * configure:
19149         Crank version to 1.6.2
19150         [32a19f33427f]
19151
19152         * sudo.c:
19153         When using rlimit check for RLIM_INFINITY When computing the value
19154         of maxfd, use min(getdtablesize(), RLIMIT_NOFILE)
19155         [8c16166802e5]
19156
19157         * CHANGES:
19158         recent changes
19159         [09fc7112e44d]
19160
19161         * BUGS, Makefile.in, README, configure.in, sudo.cat, sudo.man,
19162         sudoers.cat, sudoers.man, version.h, visudo.cat, visudo.man:
19163         Crank version to 1.6.2
19164         [055fa61a7c61]
19165
19166         * INSTALL, defaults.c, defaults.h, sudo.c, sudo.h, sudoers.pod:
19167         Add 'shell_noargs' runtime option back in. We have to defer
19168         checking until after the sudoers file has been parsed but since
19169         there are now other options that operate that way this one can too.
19170         Based on a patch from bguillory@email.com.
19171         [231db7a007a6]
19172
19173         * defaults.c, defaults.h, parse.c, sudo.c, sudo.h:
19174         Add "listpw" and "verifypw" options.
19175         [190683bac878]
19176
19177         * sudoers.cat, sudoers.man, sudoers.pod:
19178         o Fix some typos/omissions o Add section on verifypw and listpw o
19179         Define how NOPASSWD interacts with the -v and -l flags
19180         [6feb7350eb79]
19181
19182 2000-01-14  Todd C. Miller  <Todd.Miller@courtesan.com>
19183
19184         * configure, configure.in:
19185         For HP-UX cc, add -Aa to CPPFLAGS. For HP-UX always add
19186         -D_HPUX_SOURCE to CPPFLAGS.
19187         [06cc35d89dc8]
19188
19189         * defaults.c, defaults.h:
19190         In struct sudo_defs_types, move the union to the end and don't
19191         initialize the union member since that only works with an ANSI
19192         compiler. We set the value of the union by hand in init_defaults()
19193         anyway. This allows sudo to compile on a K&R compiler again.
19194         [623487e1fcfa]
19195
19196 2000-01-11  Todd C. Miller  <Todd.Miller@courtesan.com>
19197
19198         * parse.c, parse.h, parse.yacc, sudo.tab.c, testsudoers.c, visudo.c:
19199         netgr_matches needs to check shost as well as host since they may be
19200         different.
19201         [3f43ace23d3e]
19202
19203         * tgetpass.c:
19204         End on \r as well as \n
19205         [cb7c6e6f4202]
19206
19207 2000-01-03  Todd C. Miller  <Todd.Miller@courtesan.com>
19208
19209         * sudo.c:
19210         Update statbuf.st_mode based on SUDOERS_MODE when we are chaning
19211         from 0400 to whatever SUDOERS_MODE is (converting from the old
19212         sudoers mode). Assumes that SUDOERS_MODE is less restrictive than
19213         0400 which should always be the case.
19214         [34cd83d49d20]
19215
19216         * parse.c, parse.yacc, sudo.c, sudo.h, sudo.tab.c:
19217         Make treatment of -l and -v sane wrt NOPASSWD flags. Now allow -l
19218         w/o a passwd if there is *any* entry for the user on the host with a
19219         NOPASSWD flag. For -v, only allow w/o a passwd if *all* entries for
19220         the user on the host w/ the specified runas user have the NOPASSWD
19221         flag set.
19222         [4b3b85697653]
19223
19224         * Makefile.in:
19225         add check target
19226         [3d24d34a76fd]
19227
19228 1999-12-16  Todd C. Miller  <Todd.Miller@courtesan.com>
19229
19230         * visudo.c:
19231         Treat EOF at whatnow prompt like 'x' instead of looping.
19232         [5deffc27114c]
19233
19234 1999-12-10  Todd C. Miller  <Todd.Miller@courtesan.com>
19235
19236         * CHANGES:
19237         recent changes
19238         [5836a9452568] [SUDO_1_6_1]
19239
19240 1999-12-09  Todd C. Miller  <Todd.Miller@courtesan.com>
19241
19242         * config.h.in, configure, configure.in, sudo.c:
19243         Add check for initgroups() since old SYSV lacks this.
19244         [657a6005a569]
19245
19246         * CHANGES, RUNSON, aclocal.m4, config.h.in, configure, configure.in,
19247         parse.c, testsudoers.c:
19248         o Kill HAVE_FNMATCH_H o Only define HAVE_FNMATCH if <fnmatch.h>
19249         exists.
19250         [17d081e917d6]
19251
19252 1999-12-06  Todd C. Miller  <Todd.Miller@courtesan.com>
19253
19254         * auth/sudo_auth.c:
19255         Don't allow insults to be enabled if the insults[] array is empty.
19256         Otherwise there would be division by zero.
19257         [b20c14db6029]
19258
19259         * insults.h:
19260         Don't allow insults to be enabled if the insults[] array is empty.
19261         Otherwise there would be division by zero.
19262         [028f130204b0]
19263
19264         * CHANGES, RUNSON:
19265         Don't allow insults to be enabled if the insults[] array is empty.
19266         Otherwise there would be division by zero.
19267         [974f4780254b]
19268
19269         * insults.h:
19270         Don't care about USE_INSULTS #define since the insult stuff may be
19271         overridden at runtime.
19272         [b873df8b299c]
19273
19274         * auth/sudo_auth.c:
19275         Honor insults flag.
19276         [756111640fdc]
19277
19278         * CHANGES, parse.c:
19279         Don't ask the user for a password if the user is not allowed to run
19280         the command and the authenticate flag (in sudoers) is false.
19281         [cea9fdc09c76]
19282
19283         * CHANGES, RUNSON, lex.yy.c, parse.lex:
19284         o Whenever we get a bare newline we change to the INITIAL state. o
19285         Enter GOTRUNAS when we see Runas_Alias
19286
19287         This allows #uid to work in a RunasAlias.
19288         [a475513e7c7a]
19289
19290 1999-12-05  Todd C. Miller  <Todd.Miller@courtesan.com>
19291
19292         * CHANGES, parse.yacc, sudo.tab.c:
19293         fix parsing of runas lists: o oprunasuser and runaslist now return a
19294         value o in a runasspec, if a runaslist does not return TRUE, set
19295         runas_matches to FALSE. Normally, a runaslist only returns FALSE
19296         for explicitly denied users. o since runaslist does not modify the
19297         stack there is no need for a push/pop in runasalias.
19298         [82b305b34a8c]
19299
19300         * check.c, sudo.c:
19301         Don't kill the user's tickets until after sudoers has been parsed
19302         since tty_tickets and ticket_dir could be set in sudoers.
19303         [f43e25367f3a]
19304
19305         * BUGS, CHANGES, Makefile.binary, Makefile.in, README, RUNSON,
19306         configure, configure.in, sudo.cat, sudo.man, sudoers.cat,
19307         sudoers.man, tgetpass.c, version.h, visudo.cat, visudo.man:
19308         crank version to 1.6
19309         [95f8bdcf9bb2]
19310
19311         * testsudoers.c:
19312         add set_fqdn() stub
19313         [bbc81af5b41a]
19314
19315 1999-12-02  Todd C. Miller  <Todd.Miller@courtesan.com>
19316
19317         * INSTALL, defaults.c, defaults.h, sudo.c, sudo.h, sudoers.cat,
19318         sudoers.man, sudoers.pod, visudo.c:
19319         o Kill shell_noargs option, it cannot work since the command needs
19320         to be set before sudoers is parsed. o Fix the "set_home" sudoers
19321         option (only worked at compile time). o Fix "fqdn" sudoers option.
19322         We now set host/shost via set_fqdn which gets called when the
19323         "fqdn" option is set in sudoers. o Move the openlog() to
19324         store_syslogfac() so this gets overridden correctly from the
19325         sudoers file.
19326         [3dca861f0f5d]
19327
19328         * auth/securid.c:
19329         SecurID support should compile now.
19330         [a544e5c6ea34]
19331
19332 1999-11-29  Todd C. Miller  <Todd.Miller@courtesan.com>
19333
19334         * sudo.cat, sudo.man, sudo.pod, sudoers.cat, sudoers.man, visudo.cat,
19335         visudo.man, visudo.pod:
19336         fix some syntactic goofs
19337         [b3451f0d5239]
19338
19339 1999-11-28  Todd C. Miller  <Todd.Miller@courtesan.com>
19340
19341         * Makefile.in, sudo.html, sudoers.html, visudo.html:
19342         No longer need the .html files as they are generated automatically
19343         on the web site.
19344         [1b4aa4204584]
19345
19346         * CHANGES, LICENSE:
19347         kill characters that made wml unhappy
19348         [b988fbc6da56]
19349
19350         * HISTORY:
19351         typo
19352         [a418963f7fce]
19353
19354 1999-11-25  Todd C. Miller  <Todd.Miller@courtesan.com>
19355
19356         * README:
19357         majordomo@cs.colorado.edu -> majordomo@courtesan.com
19358         [5d151e8ffd3b]
19359
19360         * Makefile.in, configure:
19361         Wrap script execution w/ /bin/sh for the benefit of ctm
19362         [3a9c4766b2c3]
19363
19364 1999-11-24  Todd C. Miller  <Todd.Miller@courtesan.com>
19365
19366         * sudo.c:
19367         Make the -s flag be exclusive too. Also reorder the flags in the
19368         exclusive usage message so they are alphabetical.
19369         [4c7af200db34]
19370
19371 1999-11-23  Todd C. Miller  <Todd.Miller@courtesan.com>
19372
19373         * auth/pam.c:
19374         make pam errors other than PAM_PERM_DENIED fatal
19375         [64bcb3fd2baf]
19376
19377         * auth/API:
19378         fix typo
19379         [f3134c88b12e]
19380
19381         * INSTALL:
19382         make it clear that /etc/pam.d/sudo is required on linux
19383         [213cc3eaad82]
19384
19385         * auth/pam.c:
19386         fix a warning on redhat and spew an error if pam_authenticate()
19387         returns an error other than AUTH_SUCCESS or PAM_PERM_DENIED
19388         [7e46dd19da89]
19389
19390         * sudo.cat, sudo.html, sudo.man, sudo.pod:
19391         Be very clear that the password required is the user's not root's
19392         [a6da127347e5]
19393
19394 1999-11-20  Todd C. Miller  <Todd.Miller@courtesan.com>
19395
19396         * Makefile.in:
19397         add sample.syslog.conf to DISTFILES and BINFILES
19398         [8661c27c007e]
19399
19400 1999-11-19  Todd C. Miller  <Todd.Miller@courtesan.com>
19401
19402         * RUNSON:
19403         updates from Brian Jackson + some formatting
19404         [6d31c6fa63f8]
19405
19406 1999-11-18  Todd C. Miller  <Todd.Miller@courtesan.com>
19407
19408         * INSTALL.binary, Makefile.binary, README, RUNSON:
19409         o One RUNSon update o Changes for automating real binary releases
19410         [dd9585f4406c]
19411
19412         * Makefile.in:
19413         Add bindist target
19414         [546ed3fa94bb]
19415
19416 1999-11-16  Todd C. Miller  <Todd.Miller@courtesan.com>
19417
19418         * TROUBLESHOOTING:
19419         talk about run-time options in addition to compile-time options
19420         [1eb813ff0a9a] [SUDO_1_6_0]
19421
19422         * CHANGES:
19423         fix typos
19424         [65e92bb70a7b]
19425
19426         * sudo.c:
19427         need sys/time.h if HAVE_SETRLIMIT
19428         [ce31655a8a60]
19429
19430         * PORTING, README, RUNSON, sudo.c, sudo.cat, sudo.html, sudo.man,
19431         sudo.pod, visudo.cat, visudo.html, visudo.man, visudo.pod:
19432         get rid of references to sudo-bugs. Now mention the web site or the
19433         sudo@ alias
19434         [a9db861fd8c6]
19435
19436         * sudoers.html:
19437         repair pod2html damage
19438         [62ece4277f1f]
19439
19440         * RUNSON, TODO:
19441         Update for 1.6 release
19442         [98569c57ba2a]
19443
19444         * sudoers.cat, sudoers.html, sudoers.man, sudoers.pod:
19445         Add warning about using ALL in a command context.
19446         [6c77685ab280]
19447
19448 1999-11-09  Todd C. Miller  <Todd.Miller@courtesan.com>
19449
19450         * visudo.c:
19451         Call yyrestart() on a parse error to reset the lexer state.
19452         [1370a27acdb2]
19453
19454         * lex.yy.c, parse.lex:
19455         Don't need YY_FLUSH_BUFFER after all Move yyrestart() into visudo.c
19456         since it might not get called in yywrap if we get a parse error
19457         (and we only reread the file on error anyway).
19458         [37f4b449e28e]
19459
19460         * lex.yy.c, parse.lex:
19461         Call YY_FLUSH_BUFFER macro in yywrap() to clean up any buffers that
19462         might still exist. Call yyrestart() instead of using the deprecated
19463         YY_NEW_FILE macro.
19464         [7d0d873046c6]
19465
19466         * lex.yy.c, parse.lex:
19467         flex doesn't need %N table size declarations
19468         [268b020fd60a]
19469
19470         * sudoers.cat, sudoers.html, sudoers.man, sudoers.pod:
19471         Mention what characters need to be escaped in names.
19472         [72ccbb6b0f31]
19473
19474 1999-11-08  Todd C. Miller  <Todd.Miller@courtesan.com>
19475
19476         * configure:
19477         regen
19478         [65827abb5c7b]
19479
19480         * INSTALL:
19481         clarify Mac OS X entry
19482         [8da1549a71f5]
19483
19484         * RUNSON:
19485         update
19486         [0cff8df7459f]
19487
19488         * configure.in:
19489         o Use AC_MSG_ERROR throughout o Check syslog configure options for
19490         danity
19491         [4cb81e642e5c]
19492
19493 1999-11-05  Todd C. Miller  <Todd.Miller@courtesan.com>
19494
19495         * defaults.c:
19496         Fix printing of type T_MODE in dump_defaults()
19497         [a868bb6f5515]
19498
19499         * strcasecmp.c:
19500         missing sys/types.h
19501         [ca694ca325b6]
19502
19503         * INSTALL:
19504         Break out options that may be overridden at run time into their own
19505         section. Add a not about Max OS X and correct some lies.
19506         [d8bcfd120593]
19507
19508 1999-11-04  Todd C. Miller  <Todd.Miller@courtesan.com>
19509
19510         * CHANGES, config.h.in, configure, configure.in, sudo.c:
19511         o Now use getrlimit to find the highest fd when closing all non-std
19512         fd's o Turn off core dumps via setrlimit for the sake of paranoia
19513         [dd9f651b6def]
19514
19515         * RUNSON:
19516         updates
19517         [f581841fe615]
19518
19519 1999-11-01  Todd C. Miller  <Todd.Miller@courtesan.com>
19520
19521         * CHANGES:
19522         updates
19523         [553baa1d44c7]
19524
19525         * tgetpass.c:
19526         When read()'ing, do a single character at a time to be sure we don't
19527         go oast the newline.
19528         [907d33f55bb4]
19529
19530         * sudo.c:
19531         For the sudo_root option, check against user_uid, not getuid() since
19532         at this point, ruid == euid == 0.
19533         [92d5c51939b4]
19534
19535         * RUNSON:
19536         some updates
19537         [e3ed0c1f312b]
19538
19539         * logging.h:
19540         Fix compilation problem when --with-logging=file was specified.
19541         This means that syslog is now required to build sudo but that should
19542         not be a problem. If it is it can be fixed trivially with a
19543         configure check for syslog() or syslog.h.
19544         [839a4b069190]
19545
19546         * tgetpass.c:
19547         Make this work again for things like "sudo echo hi | more" where the
19548         tty gets put into character at a time mode. We read until we read
19549         end of line or we run out of space (similar to fgets(3)).
19550         [c8f746df2e63]
19551
19552 1999-10-20  Todd C. Miller  <Todd.Miller@courtesan.com>
19553
19554         * sudoers.cat, sudoers.html, sudoers.man, sudoers.pod:
19555         change ital to bold
19556         [f860978e530a]
19557
19558         * RUNSON:
19559         update
19560         [9bcfbb405568]
19561
19562 1999-10-16  Todd C. Miller  <Todd.Miller@courtesan.com>
19563
19564         * defaults.c:
19565         Error out if syslog parameters are given without a value. For
19566         Ultrix or 4.2BSD "syslog" is allowed without a value since there are
19567         no facilities in the 4.2BSD syslog.
19568         [69e7a686f5f0]
19569
19570 1999-10-15  Todd C. Miller  <Todd.Miller@courtesan.com>
19571
19572         * defaults.c:
19573         Ignore the syslog facility for systems w/ old syslog like Ultrix.
19574         [5c250adbbb84]
19575
19576         * TROUBLESHOOTING:
19577         people with "." early in their path can have problems running sudo
19578         from the build dir ;-)
19579         [20a1744a24a4]
19580
19581 1999-10-13  Todd C. Miller  <Todd.Miller@courtesan.com>
19582
19583         * sudo.cat, sudo.html, sudo.man, sudo.pod:
19584         Remove -r realm option
19585         [127caa537f95]
19586
19587         * auth/kerb5.c, auth/sudo_auth.c, auth/sudo_auth.h, configure,
19588         configure.in, sudo.c:
19589         New krb5 code from Frank Cusack <fcusack@iconnet.net>.
19590         [7177a3893a62]
19591
19592         * CHANGES:
19593         update to reality
19594         [766cfbb512d6]
19595
19596 1999-10-12  Todd C. Miller  <Todd.Miller@courtesan.com>
19597
19598         * auth/fwtk.c:
19599         include <auth.h> to get function prototypes.
19600         [d6c7c12d09fe]
19601
19602         * sudo.cat, sudo.html, sudo.man, sudo.pod:
19603         document -L flag
19604         [dc803e1ce0d7]
19605
19606 1999-10-11  Todd C. Miller  <Todd.Miller@courtesan.com>
19607
19608         * sudo.c:
19609         in set_perms(), always call setuid(0) before changing the ruid/euid
19610         so we always know it will succeed.
19611         [8cced1b862bf]
19612
19613         * defaults.h:
19614         #undef T_FOO to avoid conflicts with system defines (like on
19615         ULTRIX).
19616         [d9f0aac092b0]
19617
19618         * TODO, sample.sudoers, sudoers.cat, sudoers.html, sudoers.man,
19619         sudoers.pod:
19620         Docuement "Defaults" lines in /etc/sudoers. Still needs some
19621         fleshing out but this is a start.
19622         [521a1e629bbc]
19623
19624 1999-10-10  Todd C. Miller  <Todd.Miller@courtesan.com>
19625
19626         * use strtol, not strtoul since not everyone has not strtoul
19627         [988462f093cc]
19628
19629         * defaults.c:
19630         use strtol, not strtoul since not everyone has not strtoul
19631         [fce835ce62e3]
19632
19633         * lex.yy.c, parse.lex:
19634         last {WORD} rule should only apply in the INITIAL state
19635         [9b57570bfa83]
19636
19637         * lex.yy.c, parse.lex:
19638         o Add support for escaped characters in the WORD macro o Modify
19639         fill() to squash escape chars
19640         [87572d59e4e0]
19641
19642         * defaults.c, defaults.h:
19643         o Add T_PATH flag to allow simple sanity checks for default values
19644         that are supposed to be pathnames. o Fix a duplicate free when
19645         visudo finds an error.
19646         [bdc6855a6c6d]
19647
19648 1999-10-09  Todd C. Miller  <Todd.Miller@courtesan.com>
19649
19650         * defaults.c, defaults.h, logging.c:
19651         mail_if_foo -> mail_foo
19652         [cbee9415875d]
19653
19654 1999-10-08  Todd C. Miller  <Todd.Miller@courtesan.com>
19655
19656         * compat.h, defaults.c, defaults.h, sudo.c, tgetpass.c:
19657         o Add requiretty option o Move O_NOCTTY to compat.h
19658         [65b8bf0e1795]
19659
19660         * logging.c:
19661         The exit() in log_error() was mistakenly removed in a previous
19662         version. Put it back...
19663         [9473449130a4]
19664
19665 1999-10-07  Todd C. Miller  <Todd.Miller@courtesan.com>
19666
19667         * INSTALL, TODO, auth/aix_auth.c, auth/fwtk.c, auth/pam.c,
19668         auth/rfc1938.c, auth/sia.c, auth/sudo_auth.c, check.c, config.h.in,
19669         configure, configure.in, defaults.c, defaults.h, find_path.c,
19670         getspwuid.c, logging.c, parse.yacc, sudo.c, sudo.tab.c:
19671         o Change defaults stuff to put the value right in the struct. o
19672         Implement mailer_flags o Store syslog stuff both in int and string
19673         form. Setting the string form magically updates the int version.
19674         o Add boolean attribute to strings where it makes sense to say !foo
19675         [4698953f9a36]
19676
19677         * tgetpass.c:
19678         add O_NOCTTY when opening /dev/tty just in case
19679         [4c6d1d1bb300]
19680
19681 1999-10-06  Todd C. Miller  <Todd.Miller@courtesan.com>
19682
19683         * auth/API:
19684         cleanup function no longer takes a status arg
19685         [0819edbfe7f8]
19686
19687         * INSTALL:
19688         the the
19689         [19aadb65ea28]
19690
19691 1999-09-15  Todd C. Miller  <Todd.Miller@courtesan.com>
19692
19693         * TODO, config.h.in, configure, configure.in, logging.c:
19694         Use strftime() instead of ctime() if it is available.
19695         [fb60ea63b514]
19696
19697 1999-09-14  Todd C. Miller  <Todd.Miller@courtesan.com>
19698
19699         * defaults.c:
19700         fix copyright date
19701         [4a53b54aa72f]
19702
19703         * RUNSON:
19704         update ReliantUNIX entry
19705         [de618a4f67d9]
19706
19707         * defaults.c, defaults.h, logging.c:
19708         add log_year option
19709         [251a9e20568a]
19710
19711         * configure, configure.in:
19712         add --without-sendmail to help output
19713         [93162f199902]
19714
19715         * configure, configure.in:
19716         enforce an otctal arg for --with-suoders-mode
19717         [45e1b04ccad3]
19718
19719 1999-09-08  Todd C. Miller  <Todd.Miller@courtesan.com>
19720
19721         * BUGS, INSTALL, Makefile.in, TODO, aclocal.m4, auth/aix_auth.c,
19722         auth/fwtk.c, auth/kerb5.c, auth/pam.c, auth/rfc1938.c, auth/sia.c,
19723         auth/sudo_auth.c, check.c, config.h.in, configure, configure.in,
19724         defaults.c, defaults.h, find_path.c, lex.yy.c, logging.c, parse.h,
19725         parse.lex, parse.yacc, sudo.c, sudo.h, sudo.tab.c, sudo.tab.h,
19726         testsudoers.c, version.c, visudo.c:
19727         Add support for "Defaults" line in sudoers to make configuration
19728         variables changable at runtime (and on a global, per-host and per-
19729         user basis). Both the names and the internal representation are
19730         still subject to change. It was necessary to make sudo_user.runas
19731         but a char ** instead of a char * since this value can be changed by
19732         a Defaults line. There is a similar (but more complicated) issue
19733         with sudo_user.prompt but it is handled differently at the moment.
19734
19735         Add a "-L" flag to list the name of options with their descriptions.
19736         This may only be temporary.
19737
19738         Move some prototypes to parse.h
19739
19740         Be much less restrictive on what is allowed for a username.
19741         [f71abf7ba80c]
19742
19743         * sample.syslog.conf:
19744         Add more info
19745         [e952e6f42d4d]
19746
19747 1999-09-04  Todd C. Miller  <Todd.Miller@courtesan.com>
19748
19749         * LICENSE, fnmatch.3, fnmatch.c, getcwd.c, lsearch.c, snprintf.c,
19750         strcasecmp.c:
19751         UCB has dropped the advertising clause from their license.
19752         [a5602b36a341]
19753
19754 1999-08-31  Todd C. Miller  <Todd.Miller@courtesan.com>
19755
19756         * auth/sudo_auth.h:
19757         move dce_verofy proto to correct section
19758         [972c815af558]
19759
19760         * auth/dce.c:
19761         remove XXX
19762         [820631855be0]
19763
19764 1999-08-28  Todd C. Miller  <Todd.Miller@courtesan.com>
19765
19766         * emul/fnmatch.h:
19767         Add fnmatch() prototype
19768         [79e84576d92a]
19769
19770         * fnmatch.c, parse.c, testsudoers.c:
19771         Move inclusion of emul/fnmatch.h to be after sudo.h for __P
19772         [1182c89fa811]
19773
19774         * sudo.h:
19775         add strcasecmp proto
19776         [512d1d8a6a0c]
19777
19778         * auth/sudo_auth.c:
19779         add check for case where there are no auth methods
19780         [e4af2b91b43e]
19781
19782         * configure, configure.in:
19783         Define _XOPEN_EXTENDED_SOURCE on AIX and __USE_FIXED_PROTOTYPES__ on
19784         SunOS4 w/ gcc
19785         [746ce8bcec23]
19786
19787         * getspwuid.c, lex.yy.c, parse.lex, parse.yacc, sudo.tab.c:
19788         include strings.h everywhere we include string.h
19789         [6f7d5d437e7b]
19790
19791         * version.c:
19792         nicer output when showing auth methods
19793         [0eac4b977f9d]
19794
19795         * version.c:
19796         Add support for SEND_MAIL_WHEN_NO_HOST
19797         [9f20a3a3fae6]
19798
19799         * config.h.in, configure, configure.in:
19800         Add _GNU_SOURCE for Linux
19801         [c7bd8c511847]
19802
19803         * lex.yy.c, parse.lex:
19804         fix definition of OCTECT
19805         [4af30e63244d]
19806
19807         * configure, configure.in:
19808         aix_auth.o not authenticate.o
19809         [fe95dfb08df4]
19810
19811 1999-08-27  Todd C. Miller  <Todd.Miller@courtesan.com>
19812
19813         * sudo.c:
19814         Only block SIGINT, SIGQUIT, SIGTSTP (which can be generated from the
19815         keyboard). Since we run with ruid/euid == 0 the user can't really
19816         signal us in nasty ways.
19817         [a7f6487c0f48]
19818
19819         * visudo.c:
19820         Don't need to worry about catching too many signals since we do
19821         locking on the tmp file. If a lockfile is really stale, it will be
19822         detected and overwritten.
19823         [28983db3e749]
19824
19825         * INSTALL, Makefile.in:
19826         include auth/API in tarball
19827         [014991600252]
19828
19829         * auth/sudo_auth.c:
19830         move memset() of plaintext pw outside of verify loop and only do the
19831         memset if we are *not* in standalone mode.
19832         [66f8e87567e2]
19833
19834         * auth/sudo_auth.c, auth/sudo_auth.h:
19835         DCE is not a standalone method
19836         [34963e2d8a1b]
19837
19838         * sudo.c:
19839         fix --enable-noargs-shell
19840         [4234062abbb0]
19841
19842         * snprintf.c:
19843         "#ifdef __STDC__" not "#if __STDC__" (I missed one)
19844         [c430b80454c6]
19845
19846         * auth/fwtk.c, auth/sia.c:
19847         _cleanup() function returns an int.
19848         [d1a1cc071ec1]
19849
19850         * auth/dce.c:
19851         there were still some return(0)'s hanging around, make them
19852         AUTH_FAILURE
19853         [1002aa1962c3]
19854
19855         * parse.c:
19856         typo in comment
19857         [5abc410dbfd2]
19858
19859         * version.c:
19860         add missing semicolon
19861         [a262283b52a5]
19862
19863         * auth/sudo_auth.h:
19864         missing backslash
19865         [bf89f6bd2900]
19866
19867 1999-08-26  Todd C. Miller  <Todd.Miller@courtesan.com>
19868
19869         * CHANGES, config.h.in, configure, configure.in:
19870         Kill _XOPEN_EXTENDED_SOURCE -- causes problems on some OSes
19871         [f1a9bca0cf67]
19872
19873         * Makefile.in:
19874         add parse.h to HDRS
19875         [a3d054987766]
19876
19877         * Makefile.in, configure, configure.in:
19878         Kill VISUDO_LIBS and VISUDO_LDFLAGS. Add LIBS, NET_LIBS, and
19879         LDFLAGS. Common libs go in LIBS, commong ld flags go in LDFLAGS and
19880         network libs like -lsocket, -lnsl go in NET_LIBS. This allows
19881         testsudoers to build on Solaris and is a bit cleaner in general.
19882         [4e6239e97002]
19883
19884         * UPGRADE:
19885         mention ptmp -> sudoers.tmp
19886         [ec3baa0fe8a1]
19887
19888         * config.h.in, configure, configure.in:
19889         Define _XOPEN_SOURCE_EXTENDED not _XOPEN_SOURCE
19890         [6f93dc7f39f5]
19891
19892         * RUNSON:
19893         add 2 reports
19894         [ce0fcc00ee4e]
19895
19896         * auth/kerb5.c:
19897         Minor changes, mostly cosmetic. verify_krb_v5_tgt() changed to
19898         return a value more like a system function
19899         [0dd56aa21424]
19900
19901         * auth/dce.c:
19902         Add an XXX
19903         [58fc8562c212]
19904
19905         * TODO:
19906         more things todo!
19907         [5a459d0cf339]
19908
19909         * sample.sudoers:
19910         update based on what is in the man page
19911         [1a0477db96fa]
19912
19913         * parse.yacc, sudo.tab.c:
19914         minor change to first line printed in -l mode
19915         [69eb57d96952]
19916
19917         * sudo.cat, sudo.html, sudo.man, sudo.pod:
19918         rename "ENVIRONMENT VARIABLES" section to "ENVIRONMENT" to be more
19919         standard and add "EXAMPLES" section
19920         [7e543335ebe1]
19921
19922         * visudo.cat, visudo.html, visudo.man, visudo.pod:
19923         rename "ENVIRONMENT VARIABLES" section to "ENVIRONMENT" to be more
19924         standard
19925         [f82d87ed65c2]
19926
19927         * logging.c, parse.c, sudo.h:
19928         add FLAG_NO_CHECK
19929         [c7d69176a2d7]
19930
19931         * lex.yy.c, parse.lex:
19932         make an OCTET really be limited to 0-255
19933         [6ee568dd6a02]
19934
19935         * UPGRADE:
19936         mention timestamp changes
19937         [e44d5302bf60]
19938
19939         * PORTING:
19940         cosmetic cleanup
19941         [36fa3a2664dd]
19942
19943         * sudoers.cat, sudoers.html, sudoers.man, sudoers.pod:
19944         new sudoers(8) man page
19945         [e674d06283d0]
19946
19947 1999-08-24  Todd C. Miller  <Todd.Miller@courtesan.com>
19948
19949         * version.c:
19950         Update comments about syslog name tables
19951         [63830a782dcb]
19952
19953         * CHANGES, LICENSE, Makefile.in, configure, configure.in, parse.yacc,
19954         strcasecmp.c, sudo.tab.c:
19955         include strcasecmp() for those without it
19956         [a0d8e2488bbc]
19957
19958         * sample.sudoers:
19959         Use the : operator some more and fix a typo
19960         [18804c70da86]
19961
19962         * HISTORY:
19963         update the history of sudo
19964         [9d9b3d5279b3]
19965
19966         * parse.c, parse.lex, testsudoers.c:
19967         CIDR-style netmask support
19968         [768644467353]
19969
19970         * CHANGES:
19971         recent changes
19972         [a4319e9d07cb]
19973
19974         * sudo.tab.c, sudo.tab.h:
19975         these should be generated with byacc, not bison
19976         [f57b9489b752]
19977
19978         * lex.yy.c:
19979         regen
19980         [522461f95dfa]
19981
19982         * parse.h, parse.yacc, sudo.tab.c, sudo.tab.h:
19983         In "sudo -l" mode, the type of the stored (expanded) alias was not
19984         stored with the contents. This could lead to incorrect output if
19985         the sudoers file had different alias types with the same name.
19986         Normal parsing (ie: not in '-l' mode) is unaffected.
19987         [823fe2bc4b79]
19988
19989 1999-08-23  Todd C. Miller  <Todd.Miller@courtesan.com>
19990
19991         * configure, configure.in:
19992         define _XOPEN_SOURCE to get at crypt() proto on some systems
19993         [1b3769b86fb9]
19994
19995 1999-08-22  Todd C. Miller  <Todd.Miller@courtesan.com>
19996
19997         * snprintf.c:
19998         fix comment
19999         [fc1264df00f7]
20000
20001         * tgetpass.c:
20002         don't need limits.h
20003         [f1631829af45]
20004
20005         * snprintf.c:
20006         kill bogus reference to vfprintf
20007         [a0b99b25d389]
20008
20009         * sample.sudoers, sudoers:
20010         better examples
20011         [b4d87ea64cc8]
20012
20013         * snprintf.c:
20014         Add some const in the K&R defs. This is safe since we define const
20015         away if the compiler doesn't grok it.
20016         [614d6e83d45e]
20017
20018         * aclocal.m4, configure:
20019         Better test for working long long support. Ultrix compiler supports
20020         basic long long but not all operations on them.
20021         [5da1508710ed]
20022
20023         * aclocal.m4, auth/secureware.c, config.h.in, configure, getspwuid.c,
20024         snprintf.c, sudo.c:
20025         Add check for LONG_IS_QUAD #undef MAXINT before including
20026         hpsecurity.h to silence an HP-UX warning Check for U?LONG_LONG_MAX
20027         in snprintf.c and use LONG_IS_QUAD
20028         [a1f7993367fc]
20029
20030 1999-08-21  Todd C. Miller  <Todd.Miller@courtesan.com>
20031
20032         * LICENSE, aclocal.m4, config.h.in, configure, configure.in,
20033         snprintf.c:
20034         UCB-derived snprintf + asprintf support. Supports quads if the
20035         compiler does. No floating point yet, perhaps later...
20036         [0caf05aba945]
20037
20038 1999-08-20  Todd C. Miller  <Todd.Miller@courtesan.com>
20039
20040         * auth/API, auth/sudo_auth.c, auth/sudo_auth.h, check.c, find_path.c,
20041         goodpath.c, logging.c, parse.c, sudo.c:
20042         Run most of the code as root, not the invoking user. It doesn't
20043         really gain us anything to run as the user since an attacker can
20044         just have an setuid(0) in their egg. Running as root solves
20045         potential problems wrt signalling.
20046         [408e530dda01]
20047
20048         * sudo.tab.c:
20049         regen
20050         [f8cfb37e37de]
20051
20052 1999-08-19  Todd C. Miller  <Todd.Miller@courtesan.com>
20053
20054         * logging.c, sudo.c:
20055         Don't wait for child to finish in log_error(), let the signal
20056         handler get it if we are still running, else let init reap it for
20057         us. The extra time it takes to wait lets the user know that mail is
20058         being sent.
20059
20060         Install SIGCHLD handler in main() and for POSIX signals, block
20061         everything
20062         *except* SIGCHLD.
20063         [d2b6ab0ef3be]
20064
20065         * INSTALL, config.h.in, configure, configure.in, logging.c, parse.c,
20066         parse.yacc, sudo.c, sudo.h:
20067         sudoers_lookup() now returns a bitmap instead of an int. This makes
20068         it possible to express things like "failed to validate because user
20069         not listed for this host". Some thigns that were previously
20070         VALIDATE_FOO are now FLAG_FOO. This may change later on.
20071
20072         Reorganized code in log_auth() and sudo.c to deal with above
20073         changes.
20074
20075         Safer versions of push/pushcp with in the do { ... } while (0) style
20076
20077         parse.yacc now saves info on the stack to allow parse.c to determine
20078         if a user was listed, but not for the host he/she tried to run on.
20079
20080         Added --with-mail-if-no-host option
20081         [63326cb01efc]
20082
20083 1999-08-17  Todd C. Miller  <Todd.Miller@courtesan.com>
20084
20085         * parse.yacc, sudo.h, sudo.tab.c, visudo.c, visudo.cat, visudo.html,
20086         visudo.man, visudo.pod:
20087         o NewArgv and NewArgc don't need to be externally visible. o If
20088         pedantic > 1, it is a parse error. o Add -s (strict) option to
20089         visudo which sets pedantic to 2.
20090         [5d7d81b55cd5]
20091
20092         * HISTORY, INSTALL:
20093         Just have sudo-bugs contact info in one place
20094         [e7f6588ea683]
20095
20096         * sudo.cat, sudo.html, sudo.man, sudo.pod:
20097         Add BUGS section
20098         [6607d96ea510]
20099
20100         * Makefile.in, configure, configure.in:
20101         Add testsudoers to default build target if --with-devel Don't clean
20102         generated parser files unless "distclean".
20103         [5827b769dc57]
20104
20105         * parse.yacc, sudo.tab.c:
20106         In pedantic mode we need to save *all* the aliases, not just those
20107         that match, or we get spurious warnings.
20108         [24f5b1f0e1de]
20109
20110         * TROUBLESHOOTING:
20111         reference samples.sylog.conf
20112         [11841668380a]
20113
20114 1999-08-14  Todd C. Miller  <Todd.Miller@courtesan.com>
20115
20116         * sample.syslog.conf:
20117         Sample entries for syslog.conf
20118         [0f7697d878a1]
20119
20120         * CHANGES:
20121         recent changes
20122         [8bca8810c6bd]
20123
20124         * auth/API, auth/afs.c, auth/aix_auth.c, auth/dce.c, auth/fwtk.c,
20125         auth/kerb4.c, auth/kerb5.c, auth/pam.c, auth/passwd.c,
20126         auth/rfc1938.c, auth/secureware.c, auth/securid.c, auth/sia.c,
20127         auth/sudo_auth.c, auth/sudo_auth.h:
20128         In struct sudo_auth, turn need_root and configured into flags and
20129         add a flag to specify an auth method is running alone (the only
20130         one). Pass auth methods their sudo_auth pointer, not the data
20131         pointer. This allows us to get at the flags and tell if we are the
20132         only auth method. That, in turn, allows the method to be able to
20133         decide what should/should not be a fatal error. Currently only
20134         rfc1938 uses it this way, which allows us to kill the OTP_ONLY
20135         define and te hackery that went with it. With access to the
20136         sudo_auth struct, methods can also get at a string holding their
20137         cannonical name (useful in error messages).
20138         [b7e320fc6511]
20139
20140         * INSTALL, Makefile.in, README, config.h.in, configure, configure.in,
20141         getspwuid.c, lex.yy.c, parse.lex, parse.yacc, sudo.tab.c,
20142         sudo.tab.h:
20143         o --with-otp deprecated, use --without-passwd instead o real
20144         dependencies in the Makefile o --with-devel option to enable yacc,
20145         lex, and -Wall o style -- "foo -> bar" becomes "foo->bar" o ALL goes
20146         back to being a token, not a string but don't leak memory o rename
20147         hsotspec -> host in parse.yacc
20148         [912c45226cb2]
20149
20150 1999-08-12  Todd C. Miller  <Todd.Miller@courtesan.com>
20151
20152         * BUGS, CHANGES:
20153         recent changes
20154         [801fa6e55687]
20155
20156         * auth/sudo_auth.c, configure, configure.in, interfaces.c, snprintf.c,
20157         sudo.c, sudo.h:
20158         o Digital UNIX needs to check for *snprintf() before -ldb is added
20159         to LIBS since -ldb includes a bogus snprintf(). o Add forward refs
20160         for struct mbuf and struct rtentry for Digital UNIX. o Reorder some
20161         functions in snprintf.c to fix -Wall o Add missing includes to fix
20162         more -Wall
20163         [8d207203e126]
20164
20165         * INSTALL, auth/sudo_auth.c, check.c, config.h.in, configure,
20166         configure.in, parse.yacc, sudo.tab.c, testsudoers.c, version.c,
20167         visudo.c:
20168         o Add a "pedentic" flag to the parser. This makes sudo warn in
20169         cases where an alias may be used before it is defined. Only turned
20170         on for visudo and testsudoers. o Add --disable-authentication option
20171         that makes sudo not require authentication by default. The PASSWD
20172         tag can be used to require authentication for an entry. We no
20173         longer overload --without-passwd.
20174         [f307e09adf98]
20175
20176         * lex.yy.c, parse.lex:
20177         Break 'WORD' regexp def into HOSTNAME and USERNAME. These days a
20178         username can contain just about anything so be very permissive. Also
20179         drop the unused \. punctuation.
20180         [06a50614ff89]
20181
20182 1999-08-09  Todd C. Miller  <Todd.Miller@courtesan.com>
20183
20184         * parse.yacc, sudo.tab.c:
20185         o add a 'val' element to aliasinfo struct and move -> parse.h o
20186         find_alias() now returns an aliasinfo * instead of boolean o
20187         add_alias() now takes a value parameter to store in the
20188         aliasinfo.val o The cmnd, hostspec, runasuser, and user rules now
20189         return: 1) positive match 0) negative match (due to '!')
20190         -1) no match This means setting $$ explicitly in all cases, which I
20191         should have done in the first place. It also means that we always
20192         store a value that is != -1 and when we see a '!' we can set
20193         *_matches to !rv if rv != -1. The upshot of all of this is that '!'
20194         now works the way it should in lists and some of the rules are more
20195         uniform and sensible.
20196         [ad8e73b5d581]
20197
20198         * Makefile.in:
20199         add parse.h dependency
20200         [4ccccd464d30]
20201
20202         * parse.h:
20203         kill unused *_matched macros
20204         [02cba6dcb732]
20205
20206         * parse.yacc:
20207         Allow a list of users as the first thing in a user spec, not just a
20208         single entry. This makes things more uniform, though it does allow
20209         you to write user specs that are hard to read.
20210         [3c4c91c508ca]
20211
20212         * sudo.tab.c:
20213         parse.yacc
20214         [feca81881bb6]
20215
20216         * configure:
20217         regen
20218         [6f247010bb3b]
20219
20220         * configure.in:
20221         fix check for crypt() in libufc
20222         [82770736f4b0]
20223
20224 1999-08-07  Todd C. Miller  <Todd.Miller@courtesan.com>
20225
20226         * README:
20227         sudo-users list now exists
20228         [4716d2bb0bbf]
20229
20230         * INSTALL, PORTING, README, TODO, TROUBLESHOOTING:
20231         Update to reality.
20232         [1eda2d57e42a]
20233
20234         * CHANGES, Makefile.in, TODO, TROUBLESHOOTING, check.c, compat.h,
20235         config.h.in, configure, configure.in, fileops.c, logging.c, sudo.h,
20236         version.c, visudo.c:
20237         o Move lock_file() and touch() into fileops.c so visudo can use them
20238         o Visudo now locks the sudoers temp file instead of bailing when the
20239         temp file already exists. This fixes the problem of stale temp
20240         files but it does *require* that you not try to put the temp file in
20241         a world-writable directory. This shoud not be an issue as the temp
20242         file should live in the same dir as sudoers. o Visudo now only
20243         installs the temp file as sudoers if it changed.
20244         [2517cd06c070]
20245
20246 1999-08-06  Todd C. Miller  <Todd.Miller@courtesan.com>
20247
20248         * logging.c:
20249         add fcntl locking
20250         [c304adeaf515]
20251
20252         * config.h.in, configure, configure.in, logging.c:
20253         Lock the log file.
20254         [d8652704fbdf]
20255
20256         * Makefile.in, TROUBLESHOOTING, parse.c, pathnames.h.in, sudo.c,
20257         visudo.c, visudo.cat, visudo.html, visudo.man, visudo.pod:
20258         o /etc/stmp -> /etc/sudoers.tmp since solaris uses stmp as shadow
20259         temp file o _PATH_SUDO_SUDOERS -> _PATH_SUDOERS and _PATH_SUDO_STMP
20260         -> _PATH_SUDOERS_TMP
20261         [68cad8975807]
20262
20263 1999-08-05  Todd C. Miller  <Todd.Miller@courtesan.com>
20264
20265         * INSTALL, check.c, config.h.in, configure, configure.in, version.c:
20266         o Kill *_MESSAGE and replace with NO_LECTURE o Add more things to
20267         root sudo -V config reporting
20268         [cdd2613a9dcf]
20269
20270         * configure, configure.in:
20271         aix_auth.o not authenticate.o
20272         [d972e35f6730]
20273
20274         * config.h.in:
20275         Add --with-goodpri and --with-badpri configure options to specify
20276         the syslog priority to use.
20277         [2595ae50ab86]
20278
20279         * INSTALL, configure, configure.in, logging.h:
20280         Add --with-goodpri and --with-badpri configure options to specify
20281         the syslog priority to use.
20282         [8276ee9b2b49]
20283
20284         * compat.h:
20285         kill crufty AIX stuff
20286         [a4f35ef9854e]
20287
20288         * Makefile.in:
20289         Sigh, some versions of make (like Solaris's) don't deal with $< like
20290         I would expect. Both GNU and BSD makes get this right but... So, we
20291         just expand $< inline at the cost of some ugliness.
20292         [b1b456f8801f]
20293
20294         * version.c:
20295         If the invoking user is root, sudo will now print configure info in
20296         -V mode. Currently just prints logging info, to be expanded later.
20297         [392f7ed99267]
20298
20299         * logging.c, logging.h, sudo.c, sudo.h:
20300         o new defines for syslog facility and priority o use new
20301         print_version() functino for -V mode
20302         [78abc5142985]
20303
20304         * check.c:
20305         Don't need version.c
20306         [db9a830ad893]
20307
20308         * aclocal.m4, config.h.in, configure, configure.in:
20309         Add check for syslog facilities and priorities tables in syslog.h
20310         [b86213e5fc5c]
20311
20312         * Makefile.in:
20313         o authenticate -> aix_auth o add version.c
20314         [44b6b9a8d0f5]
20315
20316         * auth/sudo_auth.c:
20317         Missed a prompt -> user_prompt conversion
20318         [e4c60b1f210c]
20319
20320 1999-08-04  Todd C. Miller  <Todd.Miller@courtesan.com>
20321
20322         * TODO:
20323         sudo should lock its logfile
20324         [6d2830b28b07]
20325
20326         * parse.yacc, sudo.tab.c:
20327         o Add '!' correctly when expanding Aliases. o Add shortcut macros
20328         for append() to make things more readable. o The separator in
20329         append() is now a string instead of a char. o In append(), only
20330         prepend the separator if the last char is not a '!'. This is a
20331         hack but it greatly simplifies '!' handling. o In -l mode, Runas
20332         lists and NOPASSWD/PASSWD tags are now inherited across entries in
20333         a list (matches current behavior). o Fix formatting in -l mode such
20334         that items in a list are separated by a space. Greatlt improves
20335         readability. o Space for name field in struct aliasinfo is now
20336         allocated dyanically instead of using a (big) buffer. o In
20337         add_alias(), only search the list once (lsearch instead of lfind +
20338         lsearch)
20339         [51f7e07addb9]
20340
20341         * lex.yy.c, sudo.tab.c, sudo.tab.h:
20342         regen
20343         [5c19bb05dc21]
20344
20345         * configure, configure.in:
20346         Solais pam doesn't require anye xtra setup
20347         [a25ba03d91d1]
20348
20349         * parse.yacc:
20350         o Simpler '!' support now that the lexer deals with multiple !'s for
20351         us. o In the case of opFOO, have FOO give a boolean return value and
20352         set foo_matches in opFOO, not FOO. o Treat 'ALL' as a string since
20353         it gets fill()'d in parse.lex--fixes a small memory leak. In the
20354         long run it may be better to just fix parse.lex and make ALL back
20355         into a token. However, having it be a string is useful since it
20356         can be easily passed back to the parent rule if we so desire.
20357         [b3c64b443018]
20358
20359         * parse.lex:
20360         o Remove some unnecessary backslashes o collapse multiple !'s by
20361         using !+ and checking if yyleng is even or odd. this allows us to
20362         simplify ! handling in parse.yacc
20363         [76330e8da8e3]
20364
20365         * sudo.c:
20366         -u flag was being ignored
20367         [e30283207585]
20368
20369 1999-08-01  Todd C. Miller  <Todd.Miller@courtesan.com>
20370
20371         * Makefile.in:
20372         correct fix
20373         [a0e2377dec8f]
20374
20375         * Makefile.in:
20376         work around pod2man stupididy
20377         [7c755640b67f]
20378
20379         * Makefile.in:
20380         correct dependencies for .cat
20381         [5ed7b0653b68]
20382
20383         * sudo.cat, sudo.man, visudo.cat, visudo.man:
20384         regen
20385         [b74510dd6a0a]
20386
20387         * sudo.pod, visudo.pod:
20388         Add copyright Update to reality
20389         [188e9b046c15]
20390
20391         * parse.c, sudo.c, sudo.h:
20392         rename validate() to the more descriptive sudoers_lookup()
20393         [7a1cb652f379]
20394
20395         * auth/aix_auth.c:
20396         use tgetpass
20397         [b8ba5daec40a]
20398
20399 1999-07-31  Todd C. Miller  <Todd.Miller@courtesan.com>
20400
20401         * CHANGES:
20402         updates
20403         [e61460cdf4a0]
20404
20405         * HISTORY, INSTALL, Makefile.in, README, RUNSON, TROUBLESHOOTING,
20406         configure, configure.in, sudo.c:
20407         Sudo, not CU Sudo
20408         [9061b3573c0c]
20409
20410         * LICENSE:
20411         add 4th term to license similar to term 5 in the apache license
20412         [92712e895afb]
20413
20414         * emul/search.h, emul/utime.h:
20415         add 4th term to license similar to term 5 in the apache license
20416         [4f93a8b9396e]
20417
20418         * auth/afs.c, auth/aix_auth.c, auth/dce.c, auth/fwtk.c, auth/kerb4.c,
20419         auth/kerb5.c, auth/pam.c, auth/passwd.c, auth/rfc1938.c,
20420         auth/secureware.c, auth/securid.c, auth/sia.c, auth/sudo_auth.c,
20421         auth/sudo_auth.h, insults.h, interfaces.c, interfaces.h, lex.yy.c,
20422         logging.c, logging.h, parse.c, parse.h, parse.lex, parse.yacc,
20423         pathnames.h.in, putenv.c, strerror.c, sudo.c, sudo.h, sudo.tab.c,
20424         sudo_setenv.c, testsudoers.c, tgetpass.c, utime.c, version.h,
20425         visudo.c:
20426         add 4th term to license similar to term 5 in the apache license
20427         [afae9f2bf9ec]
20428
20429         * ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h:
20430         add 4th term to license similar to term 5 in the apache license
20431         [c389d3fdafac]
20432
20433         * Makefile.in, alloc.c, check.c, compat.h, config.h.in, find_path.c,
20434         getspwuid.c, goodpath.c:
20435         add 4th term to license similar to term 5 in the apache license
20436         [969e63dbd38e]
20437
20438         * LICENSE, aclocal.m4, auth/rfc1938.c, check.c, configure.in,
20439         insults.h, logging.c, sudo.c, sudo.h:
20440         there was a 1995 release too
20441         [5963fd89457a]
20442
20443 1999-07-28  Todd C. Miller  <Todd.Miller@courtesan.com>
20444
20445         * CHANGES:
20446         updates
20447         [254b794f16ab]
20448
20449         * check.c:
20450         Use dirs instead of files for timestamp. This allows tty and non-
20451         tty schemes to coexist reasonably. Note, however, that when you
20452         update a tty ticket, the mtime on the user dir gets updated as well.
20453         [44bfac32f799]
20454
20455         * configure, configure.in:
20456         Fix getprpwnam() checking on SCO. Need to link with "-lprot -lx"
20457         when linking test program, not just -lprot. Also add check for
20458         getspnam(). The SCO docs indicate that /etc/shadow can be used but
20459         this may be a lie.
20460         [2ba21d36cc1e]
20461
20462 1999-07-24  Todd C. Miller  <Todd.Miller@courtesan.com>
20463
20464         * auth/API:
20465         first cut at auth API description
20466         [3d10df021eb8]
20467
20468 1999-07-22  Todd C. Miller  <Todd.Miller@courtesan.com>
20469
20470         * auth/fwtk.c, auth/kerb4.c, auth/kerb5.c, auth/pam.c, auth/rfc1938.c,
20471         auth/secureware.c, auth/securid.c, auth/sudo_auth.c,
20472         auth/sudo_auth.h:
20473         auth API change. There is now an init method that gets run before
20474         the main loop. This allows auth routines to differentiate between
20475         initialization that happens once vs. setup that needs to run each
20476         time through the loop.
20477         [76df1c0d3478]
20478
20479         * auth/kerb5.c, logging.c:
20480         use easprintf() and evasprintf()
20481         [fd97d96dc12f]
20482
20483         * alloc.c, sudo.h:
20484         add easprintf() and evasprintf(), error checking versions of
20485         asprintf() and vasprintf()
20486         [f54385de20b7]
20487
20488         * TODO:
20489         remove 2 items. One done, one won't do.
20490         [64513b47bc7a]
20491
20492         * lex.yy.c, sudo.tab.c:
20493         regen
20494         [4aa299de2752]
20495
20496         * configure, sudo.cat, sudo.html, sudo.man, sudoers.html, visudo.cat,
20497         visudo.html, visudo.man:
20498         regen
20499         [553c0d1209be]
20500
20501         * CHANGES:
20502         new changes
20503         [d7be00b7e36b]
20504
20505         * sudo.pod:
20506         o Document -K flag and update meaning of -k flag. o BSD-style
20507         copyright o Document clearing of BIND resolver environment variables
20508         o Clarify bit about shared libs o suggest rc files create /tmp/.odus
20509         if your OS gives away files
20510         [4a4092be1455]
20511
20512         * visudo.pod:
20513         BSD license
20514         [ad0bfd0a4630]
20515
20516         * version.h:
20517         BSD-style copyright
20518         [ecc6479325be]
20519
20520         * tgetpass.c:
20521         o BSD copyright o no need to block signals, we now do that in main()
20522         o cosmetic changes
20523         [61958beda7ab]
20524
20525         * testsudoers.c, visudo.c:
20526         o BSD-style copyright o Use "struct sudo_user" instead of old
20527         globals. o some cometic cleanup
20528         [88c0c6924082]
20529
20530         * sudo_setenv.c:
20531         BSD-style copyright
20532         [df20290129a0]
20533
20534         * sudo.h:
20535         o BSD copyright o logging and parser bits moved to their own .h
20536         files o new "struct sudo_user" to encapsulate many of the old
20537         globals.
20538         [50fc86bf25cb]
20539
20540         * sudo.c:
20541         o no longer contains sudo 1.1/1.2 code o BSD copyright o use new
20542         logging routines o simplified flow of control o BIND resolver
20543         additions to badenv_table
20544         [8c53f15bfcb0]
20545
20546         * strerror.c:
20547         BSD-style copyright
20548         [7c906c3a82ac]
20549
20550         * snprintf.c:
20551         Now compiles on more K&R compilers
20552         [07ab1d3231c7]
20553
20554         * putenv.c:
20555         BSD-style copyright, cosmetic changes
20556         [c42371295881]
20557
20558         * pathnames.h.in:
20559         BSD-style copyright
20560         [e5c34ebd4cf1]
20561
20562         * parse.c, parse.h, parse.lex, parse.yacc:
20563         BSD-style copyright. Move parser-specific defines and structs into
20564         parse.h + other cosmetic changes
20565         [d3088efb6228]
20566
20567         * logging.h:
20568         defines for logging routines
20569         [13147941c02d]
20570
20571         * find_path.c, getspwuid.c, goodpath.c, interfaces.c:
20572         BSD-style copyright, cosmetic changes
20573         [e8205e91a4fa]
20574
20575         * ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h, insults.h,
20576         interfaces.h:
20577         BSD-style copyright
20578         [b9499da7cdce]
20579
20580         * configure.in:
20581         o tgetpass.c is no longer optional o kill DCE_OBJS, add AUTH_OBJS o
20582         kill --disable-tgetpass o add --without-passwd o changes to fill in
20583         AUTH_OBJS for new auth api o check for strerror(), v?snprintf() and
20584         v?asprintf() o replace --with-AuthSRV with --with-fwtk
20585         [9a3f39b9c128]
20586
20587         * config.h.in:
20588         BSD-style copyright. Remove USE_GETPASS and HAVE_UTIME_NULL. Add
20589         HAVE_FWTK, HAVE_STRERROR, HAVE_SNPRINTF, HAVE_VSNPRINTF,
20590         HAVE_ASPRINTF, HAVE_VASPRINTF, WITHOUT_PASSWD and NO_PASSWD
20591         [9a09054db53a]
20592
20593         * compat.h:
20594         BSD-style copyright; Add S_IFLNK and MIN/MAX id they are missing.
20595         [25509c566975]
20596
20597         * alloc.c:
20598         BSD-style copyright
20599         [4967be892363]
20600
20601         * TROUBLESHOOTING:
20602         no more --with-getpass
20603         [afd5b670c196]
20604
20605         * TODO:
20606         Take out things I've done...
20607         [375420c8270e]
20608
20609         * README:
20610         Refer to LICENSE
20611         [c486c8db30f6]
20612
20613         * PORTING:
20614         --with-getpass no longer exists
20615         [db48202df1bb]
20616
20617         * Makefile.in:
20618         BSD-style copyright. Update to reflect reality wrt new files and
20619         new auth modules.
20620         [61a2ca7940fb]
20621
20622         * INSTALL:
20623         Remove --with-AuthSRV and --disable-tgetpass. Add --with-fwtk and
20624         --without-passwd.
20625         [64e8f9e1c05e]
20626
20627         * HISTORY:
20628         Update history a bit
20629         [df60c0a871b8]
20630
20631         * COPYING, LICENSE:
20632         Now distributed under a BSD-style license
20633         [d1a184ccabe1]
20634
20635         * auth/sudo_auth.c:
20636         o BSD-style copyright o Add support for NO_PASSWD/WITHOUT_PASSWD
20637         options. o skey/opie replaced by rfc1938 code o new struct sudo_user
20638         global
20639         [891b57060868]
20640
20641         * auth/pam.c, auth/sia.c:
20642         BSD-style copyright and use new log functions
20643         [65c44445ea84]
20644
20645         * auth/kerb5.c:
20646         o BSD-style copyright o Use new log functiongs o Use asprintf() and
20647         snprintf() where sensible.
20648         [1ff0feaacf95]
20649
20650         * check.c:
20651         Rewrote all the old sudo 1.1/1.2 code. Timestamp handling is now
20652         done more reasonably--better sanity checks and tty-based stamps are
20653         now done as files in a directory with the same name as the invoking
20654         user, eg. /var/run/sudo/millert/ttyp1. It is not currently possible
20655         to mix tty and non-tty based ticket schemes but this may change in
20656         the future (it requires sudo to use a directory instead of a file in
20657         the non-tty case). Also, ``sudo -k'' now sets the ticket back to
20658         the epoch and ``sudo -K'' really deletes the file. That way you
20659         don't get the lecture again just because you killed your ticket in
20660         .logout. BSD-style copyright now.
20661         [ec3460f85be8]
20662
20663         * logging.c:
20664         o rewritten logging routines. log_error() now takes printf-style
20665         varargs and log_auth() for the return value of validate(). o BSD-
20666         style copyright
20667         [438292025c4e]
20668
20669         * auth.c, check_sia.c, dce_pwent.c, secureware.c:
20670         superceded by new auth API
20671         [412060590da7]
20672
20673         * auth/kerb4.c:
20674         BSD-style copyright
20675         [cc4e800833c7]
20676
20677         * auth/fwtk.c:
20678         Use snprintf() where it makes sense and add a BSD-style copyright
20679         [1b7502388a74]
20680
20681         * auth/afs.c, auth/aix_auth.c, auth/dce.c, auth/passwd.c,
20682         auth/rfc1938.c, auth/secureware.c, auth/securid.c, auth/sudo_auth.h:
20683         BSD-style copyright
20684         [42583bedae5c]
20685
20686         * emul/utime.h, utime.c:
20687         BSD-style copyright
20688         [3985c90aba47]
20689
20690         * emul/search.h:
20691         this has been rewritten so use my BSD-style copyright
20692         [176df1b0de6f]
20693
20694 1999-07-15  Todd C. Miller  <Todd.Miller@courtesan.com>
20695
20696         * snprintf.c:
20697         include malloc.h if no stdlib.h
20698         [7b123f1d1d03]
20699
20700         * snprintf.c:
20701         KTH snprintf()/asprintf() for systems w/o them
20702         [3ca9aefb9d01]
20703
20704         * strerror.c:
20705         strerror() for systems w/o it
20706         [7f0bd8a1c1b4]
20707
20708 1999-07-12  Todd C. Miller  <Todd.Miller@courtesan.com>
20709
20710         * visudo.c:
20711         stylistic changes
20712         [6f99aceb7170]
20713
20714         * parse.c, parse.lex, parse.yacc:
20715         Add contribution info in the main comment
20716         [e50cec10acd6]
20717
20718 1999-07-11  Todd C. Miller  <Todd.Miller@courtesan.com>
20719
20720         * auth/pam.c:
20721         remove missed ref to PAM_nullpw
20722         [a43e59692cdb]
20723
20724         * auth/sudo_auth.h:
20725         pasto
20726         [891ff138ab89]
20727
20728         * auth/kerb5.c:
20729         more or less complete now--still untested
20730         [21036732faa0]
20731
20732         * auth/afs.c, auth/pam.c:
20733         don't use user_name macro, it will go away
20734         [def7cf727349]
20735
20736         * auth/opie.c, auth/rfc1938.c, auth/skey.c, auth/sudo_auth.h:
20737         combine skey/opie code into rfc1938.c
20738         [44d88ca93d3e]
20739
20740         * auth/dce.c, auth/sudo_auth.h:
20741         DCE authentication method; basically unchanged from dce_pwent.c
20742         [4d468473dd6f]
20743
20744         * auth/aix_auth.c, auth/sudo_auth.h:
20745         AIX authenticate() support. Could probably be much better
20746         [000013321a33]
20747
20748         * auth/sia.c:
20749         Fix an uninitialized variable and some cleanup. Now works (tested)
20750         [fd6ad88ff055]
20751
20752         * auth/sia.c, auth/sudo_auth.h:
20753         SIA support for digital unix
20754         [5335f3e70eab]
20755
20756         * auth/pam.c:
20757         don't use prompt global, it will go away
20758         [fadd22dd6ce4]
20759
20760         * auth/secureware.c:
20761         correct copyright years
20762         [6aa07c49f51b]
20763
20764         * auth/afs.c, auth/fwtk.c, auth/kerb4.c, auth/kerb5.c, auth/opie.c,
20765         auth/pam.c, auth/passwd.c, auth/secureware.c, auth/securid.c,
20766         auth/skey.c, auth/sudo_auth.c, auth/sudo_auth.h:
20767         New authentication API and methods
20768         [9debe9b59c79]
20769
20770 1999-07-08  Todd C. Miller  <Todd.Miller@courtesan.com>
20771
20772         * sudo.tab.c:
20773         regen
20774         [84578e82c1a6]
20775
20776         * parse.yacc:
20777         only save an entry if user_matches && host_matches, even if the
20778         stack is empty (fix for previous commit)
20779         [00984b078d8a]
20780
20781         * sudo.tab.c:
20782         regen
20783         [66acf160b4b7]
20784
20785         * parse.yacc:
20786         1) Always save an entry on the stack if it is empty. This fixes the
20787         -l and -v flags that were broken by earlier parser changes.
20788
20789         2) In a Runas list, don't negate FALSE -> TRUE since that would make
20790         !foo match any time the user specified a runas user (via -u) other
20791         than foo.
20792         [f322eb54b015]
20793
20794         * testsudoers.c:
20795         interfaces and num_interfaces are now auto, not extern
20796         [113add5c6518]
20797
20798 1999-07-07  Todd C. Miller  <Todd.Miller@courtesan.com>
20799
20800         * auth.c:
20801         use a static global to keep stae about empty passwords
20802         [bc02e30807d8]
20803
20804         * check_sia.c:
20805         make PASSWORD_NOT_CORRECT logging consistent with other modules
20806         [21962549d5fd]
20807
20808 1999-07-05  Todd C. Miller  <Todd.Miller@courtesan.com>
20809
20810         * auth.c:
20811         PAM prompt code was wrong, looks like we have to kludge it after
20812         all.
20813         [91f246155ead]
20814
20815         * auth.c:
20816         In the PAM code, when a user hits return at the first password
20817         prompt, exit without a warning just like the normal auth code
20818         [918f59bacdb7]
20819
20820         * configure, configure.in:
20821         kludge around cross-compiler false positives
20822         [5e5fc8356400]
20823
20824         * auth.c, check.c, check_sia.c, logging.c, sudo.h, tgetpass.c:
20825         New (correct) PAM code Tgetpass now takes an echo flag for use with
20826         PAM_PROMPT_ECHO_ON Block SIGINT and SIGTSTP during auth remove a
20827         useless umask setting Change error from BAD_ALLOCATION ->
20828         BAD_AUTH_INIT (for use with sia/PAM) Some cosmetic changes to auth.c
20829         for consistency
20830         [e71397f09dd8]
20831
20832         * sudo.c:
20833         Some -Wall and kill some trailing spaces
20834         [8229b43d5c4e]
20835
20836         * configure.in:
20837         define -D__EXTENSIONS__ for solaris so we get crypt() proto
20838         [7533e4436cab]
20839
20840 1999-06-22  Todd C. Miller  <Todd.Miller@courtesan.com>
20841
20842         * RUNSON:
20843         add Dynix 4.4.4
20844         [b69f773efbce]
20845
20846         * INSTALL, config.h.in, configure, configure.in:
20847         for kerberos V < version, fall back on old kerb4 auth code
20848         [d685ed3a1d8e]
20849
20850         * INSTALL:
20851         clarify some things
20852         [2f5ba2e8e53a]
20853
20854         * UPGRADE, sudoers.cat, sudoers.man, sudoers.pod:
20855         typos
20856         [8925a109c093]
20857
20858 1999-06-14  Todd C. Miller  <Todd.Miller@courtesan.com>
20859
20860         * sudo.c:
20861         mention why DONT_LEAK_PATH_INFO is not the default
20862         [0346260cb4ec]
20863
20864 1999-06-03  Todd C. Miller  <Todd.Miller@courtesan.com>
20865
20866         * tgetpass.c:
20867         Fix open(2) return value checking, was NULL for fopen, should be -1
20868         for open
20869         [355878bf6d8a]
20870
20871         * configure:
20872         regen
20873         [68bf82871862]
20874
20875         * configure.in:
20876         better wording for solaris pam notice
20877         [04e88c7a6c42]
20878
20879         * CHANGES:
20880         document recent changes
20881         [7c922c5622ef]
20882
20883         * TROUBLESHOOTING:
20884         Update shadow password section
20885         [e8448bae7d66]
20886
20887         * auth.c:
20888         move authentication code from check.c to auth.c
20889         [e9f6ecae2399]
20890
20891         * Makefile.in, check.c, sudo.h:
20892         move authentication code to auth.c
20893         [124cded85f46]
20894
20895 1999-05-17  Todd C. Miller  <Todd.Miller@courtesan.com>
20896
20897         * Makefile.in, check.c, check_sia.c, compat.h, find_path.c,
20898         getspwuid.c, goodpath.c, interfaces.c, interfaces.h, lex.yy.c,
20899         logging.c, parse.c, parse.lex, parse.yacc, secureware.c, sudo.c,
20900         sudo.h, sudo.tab.c, sudo_setenv.c, testsudoers.c, tgetpass.c,
20901         visudo.c:
20902         Move interface-related defines to interfaces.h so we don't have to
20903         include <netinet/in.h> everywhere.
20904         [e7599d8ea0bf]
20905
20906 1999-05-14  Todd C. Miller  <Todd.Miller@courtesan.com>
20907
20908         * CHANGES, INSTALL, TODO, check.c, compat.h, getspwuid.c, logging.c,
20909         parse.yacc, sudo.c, sudo.tab.c, tgetpass.c:
20910         o Replace _PASSWD_LEN braindeath with our own SUDO_MAX_PASS. It
20911         turns out the old DES crypt does the right thing with passwords
20912         longert than 8 characters. o Fix common typo (necesary ->
20913         necessary) o Update TODO list
20914         [ad75007a6f13]
20915
20916 1999-05-03  Todd C. Miller  <Todd.Miller@courtesan.com>
20917
20918         * sudo.c:
20919         set $LOGNAME when we set $USER
20920         [391596210fd7]
20921
20922 1999-04-27  Todd C. Miller  <Todd.Miller@courtesan.com>
20923
20924         * INSTALL:
20925         add comment about digital unix and interfaces.c warning with gcc
20926         [e20f815901cc]
20927
20928 1999-04-15  Todd C. Miller  <Todd.Miller@courtesan.com>
20929
20930         * sample.sudoers:
20931         use modern paths and give examples for some of the new parser
20932         features
20933         [e7b2e507c695]
20934
20935 1999-04-10  Todd C. Miller  <Todd.Miller@courtesan.com>
20936
20937         * parse.c:
20938         fix comment
20939         [5eb0d005a65f]
20940
20941         * alloc.c, check.c, check_sia.c, dce_pwent.c, find_path.c,
20942         getspwuid.c, goodpath.c, interfaces.c, lex.yy.c, logging.c, parse.c,
20943         parse.lex, parse.yacc, putenv.c, secureware.c, sudo.c, sudo.tab.c,
20944         sudo_setenv.c, testsudoers.c, tgetpass.c, utime.c, visudo.c:
20945         Function names should be flush with the start of the line so they
20946         can be found trivially in an editor and with grep
20947         [3c400abde574]
20948
20949         * find_path.c, interfaces.c, lex.yy.c, parse.c, parse.lex, parse.yacc,
20950         sudo.c, sudo.tab.c, testsudoers.c, tgetpass.c, visudo.c:
20951         free(3) is already void, no need to cast it
20952         [6981e1ebda0f]
20953
20954         * logging.c, sudo.c, sudo.h:
20955         catch case where cmnd_safe is not set (this should not be possible)
20956         [3e1e3038546c]
20957
20958         * CHANGES, logging.c, parse.c, parse.yacc, sudo.c, sudo.h, sudo.tab.c,
20959         testsudoers.c, visudo.c:
20960         Stash the "safe" path (ie: the one listed in sudoers) to the command
20961         instead of stashing the struct stat. Should be safer.
20962         [aa2883fcf57e]
20963
20964 1999-04-08  Todd C. Miller  <Todd.Miller@courtesan.com>
20965
20966         * INSTALL, Makefile.in, UPGRADE:
20967         notes on updating from an earlier release
20968         [df9fffa4ab2c]
20969
20970         * CHANGES:
20971         updated
20972         [574f5065d15a]
20973
20974 1999-04-07  Todd C. Miller  <Todd.Miller@courtesan.com>
20975
20976         * parse.yacc, sudo.tab.c, sudo.tab.h, sudoers.cat, sudoers.html,
20977         sudoers.man, sudoers.pod:
20978         You can now specifiy a host list instead of just a host or alias.
20979         Ie: user = host1,host2,ALIAS,!host3 my_command now works.
20980         [e3942bb78021]
20981
20982         * testsudoers.c:
20983         Quiet -Wall
20984         [a3edc8b08c3a]
20985
20986         * parse.yacc, sudo.tab.c:
20987         Move the push from the beginning of cmndspec to the end. This means
20988         we no longer have to do a push at the end of privilege, just reset
20989         some values.
20990         [8ea66e5860c6]
20991
20992         * sudoers.cat, sudoers.html, sudoers.man, sudoers.pod:
20993         runas-lists and NOPASSWD/PASSWD modifiers are now sticky and you can
20994         use "!" most everywhere
20995         [aadae4d1c9d5]
20996
20997 1999-04-06  Todd C. Miller  <Todd.Miller@courtesan.com>
20998
20999         * sudoers.pod:
21000         modernize paths and update su example based on sample.sudoers one
21001         [3f6a37e16c83]
21002
21003         * sample.sudoers:
21004         New runas semantics
21005         [756ee92865b7]
21006
21007         * CHANGES, Makefile.in, alloc.c, config.h.in, configure, configure.in,
21008         strdup.c, sudo.h:
21009         In estrdup(), do the malloc ourselves so we don't need to rely on
21010         the system strdup(3) which may or may not exist. There is now no
21011         need to provide strdup() for those w/o it. Also, the prototype for
21012         estrdup() was wrong, it returns char * and its param is const.
21013         [5f1f984da8e3]
21014
21015         * getcwd.c:
21016         $Sudo tag
21017         [e4188a35e68c]
21018
21019         * check.c:
21020         buf should be prompt; Michael Robokoff <mrobo@networkcs.com>
21021         [2aec87c86cde]
21022
21023         * CHANGES, TODO, parse.yacc, sudo.tab.c:
21024         It is now possible to use the '!' operator in a runas list as well
21025         as in a Cmnd_Alias, Host_Alias and User_Alias.
21026         [a4fdaabda990]
21027
21028         * logging.c, sudo.h:
21029         Kill GLOBAL_NO_SPW_ENT (not used) and crank GLOBAL_PROBLEM
21030         [73d0376785ae]
21031
21032         * sudo.h:
21033         Definitions of *_matched were wrong--user top, not top-2 as
21034         subscript.
21035         [5f8350a57362]
21036
21037         * logging.c, parse.c, parse.yacc, sudo.c, sudo.h, sudo.tab.c:
21038         Add VALIDATE_NOT_OK_NOPASS for when user is not allowed to run a
21039         command but the NOPASSWD flag was set. Make runasspec, runaslist,
21040         runasuser, and nopasswd typeless in parse.yacc Add support for '!'
21041         in the runas list Fix double printing of '%' and '+' for groups and
21042         netgroups respectively Add *_matched macros (no need for local stack
21043         variable). Should only be used directly after a pop (since top must
21044         be >= 2).
21045         [392b1400c4e6]
21046
21047         * aclocal.m4, configure.in:
21048         Add copyright, somewhat silly
21049         [55c2cdd82dca]
21050
21051 1999-04-05  Todd C. Miller  <Todd.Miller@courtesan.com>
21052
21053         * BUGS, INSTALL, Makefile.in, README, alloc.c, check.c, check_sia.c,
21054         compat.h, config.h.in, configure, configure.in, dce_pwent.c,
21055         emul/utime.h, find_path.c, getspwuid.c, goodpath.c, ins_2001.h,
21056         ins_classic.h, ins_csops.h, ins_goons.h, insults.h, interfaces.c,
21057         lex.yy.c, logging.c, parse.c, parse.lex, parse.yacc, pathnames.h.in,
21058         putenv.c, secureware.c, strdup.c, sudo.c, sudo.cat, sudo.h,
21059         sudo.man, sudo.tab.c, sudo_setenv.c, sudoers.cat, sudoers.man,
21060         testsudoers.c, tgetpass.c, utime.c, version.h, visudo.c, visudo.cat,
21061         visudo.man:
21062         Crank version to 1.6 and combine copyright statements
21063         [0e1c791658ae]
21064
21065         * sample.sudoers:
21066         Use ! not ^ to do negation
21067         [1480a0761730]
21068
21069         * lex.yy.c, sudo.tab.c:
21070         regen
21071         [89ca5a46684b]
21072
21073         * parse.lex, parse.yacc:
21074         Make runas and NOPASSWD tags persistent across entris in a command
21075         list. Add a PASSWD tag to reverse NOPASSWD. When you override a
21076         runas or *PASSWD tag the value given becomes the new default for the
21077         rest of the command list.
21078         [f1bbb4066542]
21079
21080 1999-04-02  Todd C. Miller  <Todd.Miller@courtesan.com>
21081
21082         * CHANGES, RUNSON:
21083         update for 1.5.9
21084         [a1ae9d4a7d54] [SUDO_1_5_9]
21085
21086         * visudo.c:
21087         Shift return value of system(3) by 8 to get real exit value and if
21088         it is not 1 or 0 print the retval along with the error message.
21089         [c1ff50d743fb]
21090
21091 1999-03-30  Todd C. Miller  <Todd.Miller@courtesan.com>
21092
21093         * Makefile.in:
21094         testsudoers needs LIBOBJS too
21095         [972571b4e4bf]
21096
21097         * parse.c, parse.yacc, sudo.tab.c:
21098         Fix another parser bug. For a sudoers entry like this: millert
21099         ALL=/bin/ls,(daemon) !/bin/ls sudo would not allow millert to run ls
21100         as root.
21101         [51968e1eb33d]
21102
21103         * CHANGES:
21104         new change
21105         [271c6110bb62]
21106
21107         * parse.yacc, sudo.tab.c:
21108         Save entries that match a ! command on the matching stack too
21109         [5afb5107116c]
21110
21111         * sudo.c:
21112         Make sudo's usage info better when mutually exclusive args are given
21113         and don't rely on argument order to detect this; nick@zeta.org.au
21114         [2422753c88fd]
21115
21116 1999-03-29  Todd C. Miller  <Todd.Miller@courtesan.com>
21117
21118         * CHANGES, Makefile.in, RUNSON:
21119         updates from CU
21120         [b37381e3dafb]
21121
21122         * Makefile.in:
21123         use gzip
21124         [94a64e52a166]
21125
21126         * parse.yacc, sudo.tab.c:
21127         Fix off by one error introduced in *alloc changes
21128         [95ede581153a]
21129
21130         * BUGS, CHANGES, INSTALL, Makefile.in, README, alloc.c, check.c,
21131         check_sia.c, compat.h, config.h.in, configure, configure.in,
21132         dce_pwent.c, emul/utime.h, find_path.c, getspwuid.c, goodpath.c,
21133         ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h, insults.h,
21134         interfaces.c, lex.yy.c, logging.c, parse.c, parse.lex, parse.yacc,
21135         pathnames.h.in, putenv.c, secureware.c, strdup.c, sudo.c, sudo.cat,
21136         sudo.h, sudo.man, sudo.tab.c, sudo_setenv.c, sudoers.cat,
21137         sudoers.man, testsudoers.c, tgetpass.c, utime.c, version.h,
21138         visudo.c, visudo.cat, visudo.html, visudo.man, visudo.pod:
21139         ++version
21140         [c6d88f024e37]
21141
21142         * Makefile.in, check.c, find_path.c, getspwuid.c, goodpath.c,
21143         interfaces.c, lex.yy.c, logging.c, parse.c, parse.lex, parse.yacc,
21144         putenv.c, secureware.c, strdup.c, sudo.c, sudo.h, sudo.tab.c,
21145         sudo_setenv.c, testsudoers.c, utime.c, visudo.c:
21146         Use emalloc/erealloc/estrdup
21147         [44221d97361a]
21148
21149         * alloc.c:
21150         error checking memory allocation routines
21151         [5f8c1e7bbc71]
21152
21153         * parse.yacc, sudo.tab.c:
21154         Still not right, this fixes it for real
21155         [ad553b6f5339]
21156
21157         * parse.yacc, sudo.tab.c:
21158         Fix for previous commit
21159         [4d6f989f9bf2]
21160
21161         * CHANGES, INSTALL, parse.yacc:
21162         Fix a parser bug that was exposed when mixing different runas specs
21163         and ! commands. For example: millert ALL=(daemon)
21164         /usr/bin/whoami,!/bin/ls would allow millert to run whoami as root
21165         as well as daemon when it should just allow daemon. The problem was
21166         that comma-separated commands in a list shared the same entry on the
21167         matching stack. Now they get their own entry iff there is a full
21168         match. It may be better to just make the runas spec persistent
21169         across all commands in a list like the user and host entries of the
21170         matching stack. However, since that is a fairly major change it
21171         should gets its own minor rev increase.
21172         [c4b939cdcc8e]
21173
21174 1999-03-28  Todd C. Miller  <Todd.Miller@courtesan.com>
21175
21176         * check.c, config.h.in:
21177         Simplify PAM code and fix a PAM-related warning on Linux
21178         [2468399523b6]
21179
21180 1999-03-26  Todd C. Miller  <Todd.Miller@courtesan.com>
21181
21182         * CHANGES:
21183         updates
21184         [29d4a997769c]
21185
21186         * sample.sudoers:
21187         better su entry
21188         [76d8285a72ba]
21189
21190         * configure:
21191         regen
21192         [b7450cc6975d]
21193
21194         * check.c, configure.in:
21195         new pam code that works on solaris, should work on linux too;
21196         aelberg@home.com
21197         [84c16c0ff259]
21198
21199 1999-03-19  Todd C. Miller  <Todd.Miller@courtesan.com>
21200
21201         * RUNSON:
21202         more entries
21203         [b6bef8660759]
21204
21205         * config.h.in:
21206         only include strings.h if there is no string.h
21207         [b66054a32b00]
21208
21209 1999-03-17  Todd C. Miller  <Todd.Miller@courtesan.com>
21210
21211         * config.guess:
21212         Sinix is now being called ReliantUNIX; bjjackso@us.oracle.com
21213         [c086d2fe63af]
21214
21215 1999-03-13  Todd C. Miller  <Todd.Miller@courtesan.com>
21216
21217         * sudo.c:
21218         shost must be set before log functions are called #ifdef HOST_IN_LOG
21219         [d49a7944358f]
21220
21221 1999-03-07  Todd C. Miller  <Todd.Miller@courtesan.com>
21222
21223         * CHANGES, lex.yy.c, parse.lex:
21224         Fix a bug wrt quoting characters in command args. Stop processing
21225         an arg when you hit a backslash so the quoted-character detection
21226         can catch it.
21227         [2281438d7f41]
21228
21229 1999-02-26  Todd C. Miller  <Todd.Miller@courtesan.com>
21230
21231         * interfaces.c:
21232         include sys/time.h; aparently AIX needs it. ppz@cdu.elektra.ru
21233         [31118a9e9916]
21234
21235 1999-02-24  Todd C. Miller  <Todd.Miller@courtesan.com>
21236
21237         * configure, configure.in:
21238         add missing case statement so --without-sendmail works
21239         [ca25614f7dd9]
21240
21241 1999-02-23  Todd C. Miller  <Todd.Miller@courtesan.com>
21242
21243         * CHANGES:
21244         more
21245         [4d70e44f7f93]
21246
21247 1999-02-22  Todd C. Miller  <Todd.Miller@courtesan.com>
21248
21249         * configure, configure.in:
21250         only search for -lsun in irix <= 4.x
21251         [e604238317b1]
21252
21253         * configure, configure.in:
21254         back out last configure.in change now that I've hacked autoconf to
21255         fix the real problem and add a missing newline
21256         [2dabf59a79b5]
21257
21258         * CHANGES:
21259         updated
21260         [bb35d526552f]
21261
21262         * getcwd.c:
21263         add def of dirfd() for those without it
21264         [95f0173d8441]
21265
21266         * configure, configure.in:
21267         When falling back to checking for socket() when linking with
21268         "-lsocket -lnsl" check for main() instead since autoconf has already
21269         cached the results of checking for socket() in -lsocket. This is
21270         really an autoconf bug as it should use the extra libs as part of
21271         the cache variable name.
21272         [a845f8b710ad]
21273
21274         * configure.in:
21275         typo
21276         [a7d62f62a478]
21277
21278 1999-02-21  Todd C. Miller  <Todd.Miller@courtesan.com>
21279
21280         * configure.in:
21281         fix occurrence of $with_timeout that should be
21282         $with_password_timeout; Michael.Neef@neuroinformatik.ruhr-uni-
21283         bochum.de
21284         [8c4da2cf73d1]
21285
21286 1999-02-17  Todd C. Miller  <Todd.Miller@courtesan.com>
21287
21288         * sudo.cat, sudo.html, sudo.man, sudo.pod:
21289         fix grammar; espie@openbsd.org
21290         [7031d9dfbc3e] [SUDO_1_5_8]
21291
21292 1999-02-11  Todd C. Miller  <Todd.Miller@courtesan.com>
21293
21294         * parse.yacc, sudo.c, testsudoers.c:
21295         add cast for strdup in places it does not have it
21296         [7ce4478d3b0f]
21297
21298 1999-02-09  Todd C. Miller  <Todd.Miller@courtesan.com>
21299
21300         * configure, configure.in:
21301         define for_BSD_TYPES irix
21302         [858337ff4af8]
21303
21304 1999-02-07  Todd C. Miller  <Todd.Miller@courtesan.com>
21305
21306         * Makefile.in, sudo.cat, sudo.html, sudo.man, sudo.pod:
21307         Make it clear that it is the user's password, not root's, that we
21308         want.
21309         [ae0f51b35ee4]
21310
21311         * check.c, sudo.h:
21312         If the user enters an empty password and really has no password,
21313         accept the empty password they entered. Perviously, they could
21314         enter anything
21315         *but* an empty password. Also, add GETPASS macro that calls either
21316         tgetpass() or getpass() depending on how sudo was configured.
21317         Problem noted by jdg@maths.qmw.ac.uk
21318         [2fde21ce94c1]
21319
21320 1999-02-03  Todd C. Miller  <Todd.Miller@courtesan.com>
21321
21322         * Makefile.in, check.c, check_sia.c, compat.h, config.h.in,
21323         dce_pwent.c, emul/utime.h, find_path.c, getspwuid.c, goodpath.c,
21324         ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h, insults.h,
21325         interfaces.c, logging.c, parse.c, parse.lex, parse.yacc,
21326         pathnames.h.in, putenv.c, secureware.c, strdup.c, sudo.c, sudo.h,
21327         sudo_setenv.c, testsudoers.c, tgetpass.c, utime.c, version.h,
21328         visudo.c:
21329         add explicate copyright
21330         [d3b4449834a5]
21331
21332         * CHANGES:
21333         mention -lsocket, -lnsl configure changes
21334         [9140af4ad8ae]
21335
21336 1999-02-02  Todd C. Miller  <Todd.Miller@courtesan.com>
21337
21338         * sudo.c:
21339         Don't clobber errno after calling check_sudoers().
21340         [59bd581b2654]
21341
21342 1999-02-01  Todd C. Miller  <Todd.Miller@courtesan.com>
21343
21344         * configure, configure.in:
21345         When linking with both -lsocket and -lnsl be sure to do so in that
21346         order. Also, when we can't find socket() or inet_addr() and have to
21347         try linking with both libs, issue a warning.
21348         [0ee547163067]
21349
21350         * sudo.cat, sudo.man, sudo.pod:
21351         clarify bad timestamp and fmt
21352         [70e42cf56c75]
21353
21354 1999-01-23  Todd C. Miller  <Todd.Miller@courtesan.com>
21355
21356         * INSTALL, RUNSON:
21357         be clear that pam is linux-only and add a RUNSON entry
21358         [7fdeab875e0d]
21359
21360 1999-01-22  Todd C. Miller  <Todd.Miller@courtesan.com>
21361
21362         * CHANGES, INSTALL, configure, configure.in:
21363         fix and correctly document --with-umask; problem noted by
21364         adap@adap.org
21365         [11cd0481d63a]
21366
21367 1999-01-20  Todd C. Miller  <Todd.Miller@courtesan.com>
21368
21369         * configure, configure.in:
21370         only use /usr/{man,catman}/local to store man pages if suer didn't
21371         override prefix or mandir
21372         [781ad2cbe9be]
21373
21374         * INSTALL, configure, configure.in:
21375         fix typo, make --with-SecurID take an arg
21376         [026a9b4014fc]
21377
21378 1999-01-19  Todd C. Miller  <Todd.Miller@courtesan.com>
21379
21380         * RUNSON:
21381         updates from users
21382         [2286982b31e6]
21383
21384         * CHANGES, INSTALL, check.c, configure, configure.in:
21385         FWTK 'authsrv' support from Kevin Kadow <kadow@MSG.NET>
21386         [23aa4e5c6b02]
21387
21388         * configure, configure.in:
21389         better fix for the problem of unresolved symbols in -lnsl or
21390         -lsocket
21391         [82fe70fc287f]
21392
21393         * configure, configure.in:
21394         when checking for functions in -lnsl and -lsocket link with both of
21395         them to avoid unresolved symbols on some weirdo systems
21396         [1734a591808e]
21397
21398 1999-01-18  Todd C. Miller  <Todd.Miller@courtesan.com>
21399
21400         * BUGS, CHANGES, RUNSON, TODO:
21401         old changes that didn't make it into RCS before the RCS->CVS switch
21402         [846eb2b8f9aa]
21403
21404 1999-01-17  Todd C. Miller  <Todd.Miller@courtesan.com>
21405
21406         * Makefile.in, check.c, check_sia.c, compat.h, config.h.in,
21407         configure.in, dce_pwent.c, emul/search.h, emul/utime.h, find_path.c,
21408         getspwuid.c, goodpath.c, ins_2001.h, ins_classic.h, ins_csops.h,
21409         ins_goons.h, insults.h, interfaces.c, lex.yy.c, logging.c,
21410         lsearch.c, parse.c, parse.lex, parse.yacc, pathnames.h.in, putenv.c,
21411         secureware.c, strdup.c, sudo.c, sudo.pod, sudo_setenv.c,
21412         sudoers.pod, testsudoers.c, tgetpass.c, utime.c, visudo.c,
21413         visudo.pod:
21414         add sudo tags
21415         [962f81eaa5ab]
21416
21417         * sudo.h:
21418         testing Sudo tag
21419         [e84cbc521129]
21420
21421         * version.h:
21422         testing Sudo tag
21423         [a8c3a3998b88]
21424
21425         * BUGS, INSTALL, Makefile.in, README, check.c, check_sia.c, compat.h,
21426         config.h.in, configure, configure.in, dce_pwent.c, emul/utime.h,
21427         find_path.c, getspwuid.c, goodpath.c, ins_2001.h, ins_classic.h,
21428         ins_csops.h, ins_goons.h, insults.h, interfaces.c, lex.yy.c,
21429         logging.c, parse.c, parse.lex, parse.yacc, pathnames.h.in, putenv.c,
21430         secureware.c, strdup.c, sudo.c, sudo.cat, sudo.h, sudo.man,
21431         sudo_setenv.c, sudoers.cat, sudoers.man, testsudoers.c, tgetpass.c,
21432         utime.c, version.h, visudo.c, visudo.cat, visudo.man:
21433         crank version and regen files
21434         [23eacf00a1a4]
21435
21436         * Makefile.in:
21437         kill rcs goop in update_version and fix now that version is a const
21438         [e6e50bd8d1e1]
21439
21440         * INSTALL, check.c, config.h.in, configure, configure.in, logging.c,
21441         sudo.c, sudo.h, sudo.pod:
21442         kerb5 support from fcusack@iconnet.net
21443         [8134027986e2]
21444
21445         * realpath.c, sudo_realpath.c:
21446         we no longer use realpath
21447         [0f5f64abc646]
21448
21449         * qualify.c:
21450         replaced by find_path.c
21451         [9e32a87e09c4]
21452
21453         * options.h:
21454         all options are now configure flags
21455         [ee6bd9610102]
21456
21457         * lex.yy.c:
21458         regen
21459         [bdbf8a18161f]
21460
21461         * getwd.c:
21462         superceded by getcwd.c
21463         [1e54ee0990b4]
21464
21465         * getpass.c:
21466         superceded by tgetpass.c
21467         [4e0d1edc30e3]
21468
21469         * SUPPORTED:
21470         superceded by RUNSON
21471         [854c5a21cb53]
21472
21473         * OPTIONS:
21474         No longer used now that we have configure options for everything.
21475         [9b1ae1c89259]
21476
21477         * configure:
21478         regen based on configure.in
21479         [3a4d73936973]
21480
21481         * sudo.cat, sudo.html, sudo.man, sudoers.cat, sudoers.html,
21482         sudoers.man, visudo.cat, visudo.html, visudo.man:
21483         regen based on sudo.pod, sudoers.pod, and visudo.pod
21484         [c267beb90778]
21485
21486 1998-12-11  Todd C. Miller  <Todd.Miller@courtesan.com>
21487
21488         * check.c:
21489         fix tty tickets in remove_timestamp (didn't use ':')
21490         [fd964a74a32b]
21491
21492 1998-12-07  Todd C. Miller  <Todd.Miller@courtesan.com>
21493
21494         * interfaces.c:
21495         close sock when we are done with it
21496         [95de0380f8a4]
21497
21498 1998-11-28  Todd C. Miller  <Todd.Miller@courtesan.com>
21499
21500         * parse.yacc:
21501         never say "error on line -1"
21502         [361db1491121]
21503
21504 1998-11-24  Todd C. Miller  <Todd.Miller@courtesan.com>
21505
21506         * configure.in:
21507         check for -lnsl before -lsocket
21508         [8e966d6bbcb5]
21509
21510         * configure.in:
21511         quote '[', ']' used in ranges correctly
21512         [fa4f9c6ff651]
21513
21514 1998-11-21  Todd C. Miller  <Todd.Miller@courtesan.com>
21515
21516         * config.h.in:
21517         add missing NO_ROOT_SUDO noted by drno@tsd.edu
21518         [c969f25d1667]
21519
21520 1998-11-20  Todd C. Miller  <Todd.Miller@courtesan.com>
21521
21522         * version.h:
21523         1.5.7
21524         [7a22de0bc148]
21525
21526         * INSTALL:
21527         more info for 1.5.7
21528         [30ad9e784799]
21529
21530         * README:
21531         update for 1.5.7
21532         [cd03a0a27cd2]
21533
21534         * parse.yacc:
21535         make increases of cm_list_size and ga_list_size be similar to
21536         increases of stacksize (ie: >= not > in initial compare).
21537         [6bd450a896c7]
21538
21539         * parse.yacc:
21540         when we get a syntax error, report it for the previous line since
21541         that's generally where the error occurred.
21542         [c4ac84058f0b]
21543
21544 1998-11-18  Todd C. Miller  <Todd.Miller@courtesan.com>
21545
21546         * config.h.in, configure.in, interfaces.c:
21547         add back check for sys/sockio.h but only use it if SIOCGIFCONF is
21548         not defined
21549         [d197f31fd1e4] [SUDO_1_5_7]
21550
21551         * config.h.in:
21552         define BSD_COMP for svr4
21553         [87ac1147ff79]
21554
21555         * check.c, check_sia.c, find_path.c, getcwd.c, getspwuid.c,
21556         goodpath.c, interfaces.c, logging.c, lsearch.c, parse.c, parse.lex,
21557         parse.yacc, putenv.c, secureware.c, strdup.c, sudo.c, sudo_setenv.c,
21558         testsudoers.c, tgetpass.c, utime.c, visudo.c:
21559         more -Wall
21560         [d98e2d32db2a]
21561
21562         * configure.in:
21563         kill check for sockio,h
21564         [4399779014c1]
21565
21566         * config.h.in:
21567         no more HAVE_SYS_SOCKIO_H
21568         [67484528e347]
21569
21570         * check.c, check_sia.c, find_path.c, getcwd.c, getspwuid.c,
21571         goodpath.c, interfaces.c, logging.c, lsearch.c, parse.c, parse.lex,
21572         parse.yacc, putenv.c, secureware.c, strdup.c, sudo.c, sudo_setenv.c,
21573         testsudoers.c, tgetpass.c, utime.c, visudo.c:
21574         -Wall
21575         [2b7e83976788]
21576
21577 1998-11-16  Todd C. Miller  <Todd.Miller@courtesan.com>
21578
21579         * sudo.c:
21580         add missing inform_user()
21581         [8689528c6d55]
21582
21583 1998-11-14  Todd C. Miller  <Todd.Miller@courtesan.com>
21584
21585         * find_path.c:
21586         return NOT_FOUND if given fully qualified path and it does not exist
21587         previously it would perror(ENOENT) which bypasses the option to not
21588         leak path info
21589         [ccbc3d0130ae]
21590
21591         * configure.in:
21592         for kerb5, check for -lkerb4, fall back on -lkrb for kerb, check for
21593         -ldes
21594         [c77d3b484ece]
21595
21596 1998-11-13  Todd C. Miller  <Todd.Miller@courtesan.com>
21597
21598         * INSTALL:
21599         tty tickets are user:tty now
21600         [a53a303a614d]
21601
21602         * check.c:
21603         when using tty tickets make it user:tty not user.tty as a username
21604         could have a '.' in it
21605         [3160b3f5c890]
21606
21607 1998-11-10  Todd C. Miller  <Todd.Miller@courtesan.com>
21608
21609         * sudo.c:
21610         add "ignoring foo found in ." for auth successful case
21611         [24257169e0bd]
21612
21613 1998-11-09  Todd C. Miller  <Todd.Miller@courtesan.com>
21614
21615         * sudo.c:
21616         add missing printf param
21617         [8c905124f777]
21618
21619 1998-11-08  Todd C. Miller  <Todd.Miller@courtesan.com>
21620
21621         * INSTALL, config.h.in, configure.in, find_path.c, sudo.c, sudo.h:
21622         go back to printing "command not found" unless --disable-path-info
21623         specified. Also, tell user when we ignore '.' in their path and it
21624         would have been used but for --with-ignore-dot.
21625         [066e118c11e4]
21626
21627         * check.c, sudo.c:
21628         Only one space after a colon, not two, in printf's
21629         [38452f4c8007]
21630
21631 1998-11-05  Todd C. Miller  <Todd.Miller@courtesan.com>
21632
21633         * sudo.pod:
21634         document setting $USER
21635         [80557fe6aede]
21636
21637         * check.c:
21638         fix bugs with prompt expansion
21639         [44c4fca5f009]
21640
21641         * sudo.c:
21642         set $USER for root too
21643         [4b525e1c6269]
21644
21645 1998-11-04  Todd C. Miller  <Todd.Miller@courtesan.com>
21646
21647         * getspwuid.c:
21648         typo
21649         [5107446f43e0]
21650
21651         * configure.in:
21652         HP-UX's iscomsec is in -lsec, not libc
21653         [03c9f700b795]
21654
21655         * configure.in:
21656         remove some entries in the OS case statement that did nothing
21657         [ea96e7e0f624]
21658
21659         * TROUBLESHOOTING:
21660         add "cd" section and flush out syslog section
21661         [5107f7363b78]
21662
21663         * Makefile.in:
21664         no more sudo-lex.yy.c
21665         [ed50826efbbc]
21666
21667         * check_sia.c:
21668         add custom prompt support
21669         [6a285cea10b7]
21670
21671         * testsudoers.c:
21672         kill perror("malloc") since we already have a good error messages
21673         pw_ent -> pw for brevity
21674         [eee31052921e]
21675
21676         * sudo.c:
21677         kill perror("malloc") since we already have a good error messages
21678         pw_ent -> pw for brevity set $USER if -u specified
21679         [9f3753461f8a]
21680
21681         * parse.yacc:
21682         kill perror("malloc") since we already have a good error messages
21683         [849459088ac3]
21684
21685         * parse.c:
21686         kill perror("malloc") since we already have a good error messages
21687         pw_ent -> pw for brevity when checking if %group matches, look up
21688         user in password file so that %groups works in a RunAs spec.
21689         [0489b4ecc59a]
21690
21691         * logging.c:
21692         kill perror("malloc") since we already have a good error messages
21693         [3191a18b3526]
21694
21695         * check.c, getspwuid.c, interfaces.c:
21696         kill perror("malloc") since we already have a good error messages
21697         pw_ent -> pw for brevity
21698         [7193fdb38cf9]
21699
21700 1998-11-03  Todd C. Miller  <Todd.Miller@courtesan.com>
21701
21702         * tgetpass.c:
21703         the prompt is expanded before tgetpass is called
21704         [0f408f508041]
21705
21706         * sudo.h:
21707         tgetpass now has the same args as getpass again
21708         [b6778cd9d79f]
21709
21710         * getspwuid.c:
21711         add iscomsec, issecure support
21712         [007be7ec7ae7]
21713
21714         * check.c:
21715         we now expand any %h or %u in the prompt before passing to tgetpass
21716         [f3db8c9ee387]
21717
21718         * configure.in:
21719         add check for syslog(3) in -lsocket, -lnsl, -linet
21720         [5a96f902ce00]
21721
21722         * config.h.in:
21723         add HAVE_ISCOMSEC and HAVE_ISSECURE
21724         [f640b0d4cf05]
21725
21726         * configure.in:
21727         add check for iscomsec in HP-UX
21728         [b28b249040f0]
21729
21730         * configure.in:
21731         check for issecure if we have getpwanam on SunOS some options are
21732         incompatible with DUNIX SIA check for dispcrypt on DUNIX
21733         [a49d05d9c913]
21734
21735 1998-10-25  Todd C. Miller  <Todd.Miller@courtesan.com>
21736
21737         * config.h.in:
21738         add HAVE_DISPCRYPT
21739         [7376d543d8d6]
21740
21741         * secureware.c:
21742         add back support for non-dispcrypt based checking for older DUNIX
21743         [977b98e936be]
21744
21745         * INSTALL:
21746         sia changes
21747         [c5387c06e30f]
21748
21749         * configure.in:
21750         SIA becomes the default on Digital UNIX now havbe --disable-sia to
21751         turn it off...
21752         [3b647558ea13]
21753
21754         * check.c:
21755         move local includes after system ones
21756         [b2abad4c4aef]
21757
21758 1998-10-24  Todd C. Miller  <Todd.Miller@courtesan.com>
21759
21760         * check.c, check_sia.c, sudo.h:
21761         add pass_warn() which prints out INCORRECT_PASSWORD or an insult to
21762         stderr
21763         [547cbf299661]
21764
21765         * check_sia.c:
21766         fix while loop in sia_attempt_auth() that checks the password. Only
21767         the first iteration was working.
21768         [1886fd1ac831]
21769
21770 1998-10-22  Todd C. Miller  <Todd.Miller@courtesan.com>
21771
21772         * aclocal.m4:
21773         don't trust UID_MAX or MAXUID
21774         [2aeddb1654d8]
21775
21776         * configure.in:
21777         fix two pastos
21778         [c18f0a10b75d]
21779
21780         * configure.in:
21781         fix typo
21782         [1eb3190ef12d]
21783
21784         * getspwuid.c, secureware.c:
21785         init crypt_type to INT_MAX since it is legal to be negative in DUNX
21786         5.0
21787         [cefbde04822d]
21788
21789         * configure.in:
21790         for secureware on dunix, use -lsecurity -ldb -laud -lm but check for
21791         -ldb since DUNX < 4.0 lacks it
21792         [e6b11d971068]
21793
21794 1998-10-21  Todd C. Miller  <Todd.Miller@courtesan.com>
21795
21796         * check.c, compat.h, config.h.in, configure.in, getspwuid.c,
21797         secureware.c, sudo.c, tgetpass.c:
21798         getprpwuid is broken in HP-UX 10.20 at least (it sleeps for 2
21799         minutes if the shadow files don't exist).
21800         [2f297d095004]
21801
21802 1998-10-20  Todd C. Miller  <Todd.Miller@courtesan.com>
21803
21804         * INSTALL:
21805         updated --with-editor blurb
21806         [77d8a3ea7328]
21807
21808         * TROUBLESHOOTING:
21809         tell how to put sudoers in a different dir
21810         [456cd20eb1d0]
21811
21812         * configure.in:
21813         add missing quotes around $with_editor
21814         [22881748ab1b]
21815
21816         * configure.in:
21817         typo in --with-editor bits
21818         [ab6964580681]
21819
21820         * INSTALL:
21821         I don't expect it to work on Solaris
21822         [1c2fceaaf56e]
21823
21824         * check.c:
21825         add back security/pam_misc.h
21826         [6ffd30033c1e]
21827
21828 1998-10-19  Todd C. Miller  <Todd.Miller@courtesan.com>
21829
21830         * INSTALL:
21831         remove dunix note since configure checks for this now
21832         [e9904512b8e8]
21833
21834         * configure.in:
21835         add check for broken dunix prot.h (4.0 < 4.0D is bad)
21836         [8a4c1e6aef3b]
21837
21838         * getspwuid.c, secureware.c, tgetpass.c:
21839         new dunix shadow code, use dispcrypt(3)
21840         [1b936bc7268c]
21841
21842         * config.h.in:
21843         add HAVE_INITPRIVS
21844         [4369f4c4f914]
21845
21846         * sudo.c:
21847         call initprivs() if we have it for getprpwuid later on
21848         [11cf5915d826]
21849
21850         * Makefile.in:
21851         clean pathnames.h too
21852         [5f1df3262613]
21853
21854         * configure.in:
21855         quote "Sorry, try again." with [] since it has a comma in it set
21856         LIBS when we add stuff to SUDO_LIBS set SECUREWARE when we find
21857         getprpwuid() so we can check for bigcrypt, set_auth_parameters, and
21858         initprivs later.
21859         [e226b0a3f250]
21860
21861         * INSTALL:
21862         update Digital UNIX note about acl.h
21863         [80132b71d73a]
21864
21865         * INSTALL:
21866         add --with-sia
21867         --without-root-sudo -> --disable-root-sudo some reordering
21868         [198386358818]
21869
21870         * secureware.c:
21871         add whitespace
21872         [4aadaf1a54b0]
21873
21874         * Makefile.in, check.c, config.h.in, configure.in, logging.c, sudo.h:
21875         add SIA support
21876         [fa3ddbb9cc51]
21877
21878         * check_sia.c:
21879         Initial revision
21880         [2968551d40e4]
21881
21882 1998-10-18  Todd C. Miller  <Todd.Miller@courtesan.com>
21883
21884         * configure.in:
21885         when checking for -lsocket, -lnsl, and -linet, check for the
21886         specific functions we need from them.
21887         [8d33e64362a3]
21888
21889         * config.h.in, sudo.h:
21890         move Syslog_* defs into sudo.h
21891         [03d1774f25c7]
21892
21893         * Makefile.in, sudo.h:
21894         added check_secureware
21895         [e46e3cbb9a97]
21896
21897         * configure.in:
21898         finished adding AC_MSG_CHECKING and AC_MSG_RESULT bits
21899         [dbefe1856503]
21900
21901         * insults.h:
21902         don't define CLASSIC_INSULTS and CSOPS_INSULTS if no other sets
21903         defined. configure now does that for us
21904         [e4520ea0581f]
21905
21906         * configure.in:
21907         move some --with options around change a bunch of echo's to
21908         AC_MSG_CHECKING, AC_MSG_RESULT pairs
21909         [ffdf6869fdd7]
21910
21911         * configure.in:
21912         change $with_foo-bar -> $with_foo_bar kill extra " that caused a
21913         syntax error add some echo verbage
21914         [3278c49bf74b]
21915
21916 1998-10-17  Todd C. Miller  <Todd.Miller@courtesan.com>
21917
21918         * check.c:
21919         moved SecureWare stuff into secureware.c
21920         [42d3d3ac35dc]
21921
21922         * secureware.c:
21923         Initial revision
21924         [aa7f72a249cf]
21925
21926         * INSTALL:
21927         update url to solaris gcc bins
21928         [36a3eb668777]
21929
21930         * INSTALL:
21931         change option formatter and flesh out someentries
21932         [6fbd1db4a8ad]
21933
21934         * TROUBLESHOOTING, sudo.pod, visudo.pod:
21935         environmental variable -> environment variable
21936         [6f14d708e32d]
21937
21938         * BUGS:
21939         everything is now done via configure
21940         [c217858f58ab]
21941
21942         * README:
21943         prev rev was 1.5.6
21944         [7b4177103c35]
21945
21946         * Makefile.in:
21947         passing SUDOERS_MODE, SUDOERS_UID, SUDOERS_GID correctly
21948         [31c6b0a5e0e2]
21949
21950         * config.h.in:
21951         SUDOERS_MODE, SUDOERS_UID, SUDOERS_GID now come from the Makefile
21952         [d406a1ef6d25]
21953
21954         * Makefile.in:
21955         merge OSDEFS and OPTIONS into DEFS get sudoers_uid, sudoers_gid,
21956         sudoers_mode from configure
21957         [1c509500655a]
21958
21959         * configure.in:
21960         SUDOERS_MODE, SUDOERS_UID, and SUDOERS_GID now get substituted into
21961         the Makefile, not config.h
21962         [d4482f1492fe]
21963
21964         * INSTALL:
21965         document all --with/--enable options
21966         [22d81b312d7f]
21967
21968 1998-10-15  Todd C. Miller  <Todd.Miller@courtesan.com>
21969
21970         * insults.h:
21971         options.h is no more
21972         [560946a33f7f]
21973
21974         * config.h.in:
21975         assimilated options.h
21976         [dd8ce74613c1]
21977
21978         * configure.in:
21979         moved options from options.h to configure
21980         [d39662f71b4e]
21981
21982         * check.c, find_path.c, getspwuid.c, goodpath.c, interfaces.c,
21983         logging.c, parse.c, parse.lex, parse.yacc, sudo.c, sudo.pod,
21984         sudo_setenv.c, visudo.c:
21985         no more options.h
21986         [43924bf0858d]
21987
21988         * INSTALL, Makefile.in, PORTING, TROUBLESHOOTING:
21989         remove references to options.h
21990         [ef3474295395]
21991
21992         * dce_pwent.c, interfaces.c, sudo.c:
21993         kill sys/time.h
21994         [4d833f0034e4]
21995
21996         * tgetpass.c:
21997         if select return < -1 still prompt for pw
21998         [e0009e5c93a2]
21999
22000         * options.h:
22001         convert LOGGING, LOGFAC, MAXLOGFILELEN, IGNORE_DOT_PATH into
22002         configure options
22003         [e60a1e546516]
22004
22005         * parse.c:
22006         FAST_MATCH is no longer an optino
22007         [c448dbb3464b]
22008
22009         * check.c:
22010         remove_timestamp() if timestamp is preposterous
22011         [70d9a86c6ecd]
22012
22013         * options.h:
22014         convert more options to --with/--enable
22015         [34646d9b09dc]
22016
22017         * INSTALL, aclocal.m4:
22018         logfile -> logpath
22019         [42de502bc637]
22020
22021         * configure.in:
22022         convert more options into --with and --enable
22023         [92d0898c9844]
22024
22025         * tgetpass.c:
22026         catch EINTR in select and restart
22027         [f045d2f234d7]
22028
22029         * logging.c:
22030         sys/errno -> errno
22031         [7f0c5beab6f2]
22032
22033 1998-09-24  Todd C. Miller  <Todd.Miller@courtesan.com>
22034
22035         * sudo.c:
22036         UMASK -> SUDO_UMASK.
22037         [48f308661514]
22038
22039         * check.c, logging.c:
22040         time.h, not sys/time.h
22041         [91de049c79e4]
22042
22043 1998-09-21  Todd C. Miller  <Todd.Miller@courtesan.com>
22044
22045         * logging.c:
22046         MAILER -> _PATH_SENDMAIL
22047         [df65d6896639]
22048
22049         * INSTALL, configure.in:
22050         no more --with-C2, now it is --disable-shadow
22051         [18bfcab3b9ab]
22052
22053         * aclocal.m4, check.c, compat.h, config.h.in, configure.in,
22054         getspwuid.c, sudo.c, tgetpass.c:
22055         new shadow password scheme. Always include shadow support if the
22056         platform supports it and the user did not disable it via configure
22057         [2135d93bb4a9]
22058
22059 1998-09-20  Todd C. Miller  <Todd.Miller@courtesan.com>
22060
22061         * configure.in:
22062         --with-getpass -> --{enable,disable}-tgetpass
22063         [451b33fdd4c7]
22064
22065         * Makefile.in:
22066         pathnames.h -> pathnames.h.in
22067         [b109022eca69]
22068
22069         * check.c:
22070         fix version string
22071         [761b25c314ea]
22072
22073         * check.c:
22074         move pam_conv to be static to auth function remove pam_misc.h
22075         (solaris doesn't have one)
22076         [a682e4da987a]
22077
22078         * aclocal.m4:
22079         _CONFIG_PATH_* -> _PATH_* or _PATH_SUDO_* kill SUDO_PROG_PWD
22080         [e6005d0599b5]
22081
22082         * configure.in:
22083         munge pathnames.h.in -> pathnames.h kill SUDO_PROG_PWD
22084         [24c0ac2155ef]
22085
22086         * pathnames.h.in:
22087         convert to pathnames.h.in
22088         [013bddf7f684]
22089
22090 1998-09-19  Todd C. Miller  <Todd.Miller@courtesan.com>
22091
22092         * configure.in:
22093         fix typo in sysv4 matching case /.
22094         [2994c4f88cf5]
22095
22096 1998-09-18  Todd C. Miller  <Todd.Miller@courtesan.com>
22097
22098         * check.c:
22099         pam stuff needs to run as root, not user, for shadow passwords
22100         [d94ff75de503]
22101
22102 1998-09-17  Todd C. Miller  <Todd.Miller@courtesan.com>
22103
22104         * BUGS, INSTALL, README, configure.in:
22105         updated version
22106         [775adc7de7ac]
22107
22108         * Makefile.in, check.c, compat.h, config.h.in, dce_pwent.c,
22109         emul/utime.h, find_path.c, getspwuid.c, goodpath.c, ins_2001.h,
22110         ins_classic.h, ins_csops.h, ins_goons.h, insults.h, interfaces.c,
22111         logging.c, options.h, parse.c, parse.lex, parse.yacc,
22112         pathnames.h.in, putenv.c, strdup.c, sudo.c, sudo.h, sudo_setenv.c,
22113         testsudoers.c, tgetpass.c, utime.c, visudo.c:
22114         updated version
22115         [5ca599fb6b93]
22116
22117         * check.c:
22118         user version.h for long message
22119         [47a52ac7e542]
22120
22121         * check.c:
22122         this is version 1.5.6
22123         [8451ac79eee2]
22124
22125 1998-09-16  Todd C. Miller  <Todd.Miller@courtesan.com>
22126
22127         * Makefile.in:
22128         remove errant backslash
22129         [0222a8a650ff]
22130
22131 1998-09-15  Todd C. Miller  <Todd.Miller@courtesan.com>
22132
22133         * options.h, parse.yacc, pathnames.h.in:
22134         fix version string
22135         [fdee73255d64] [SUDO_1_5_6]
22136
22137         * BUGS, CHANGES, TODO:
22138         updtaed for 1.5.6
22139         [752443bf7f26]
22140
22141         * RUNSON:
22142         updated for 1.5.6
22143         [0f878123fe6a]
22144
22145 1998-09-14  Todd C. Miller  <Todd.Miller@courtesan.com>
22146
22147         * interfaces.c:
22148         kill unused localhost_mask var copy if name to ifr_tmp after we zero
22149         it
22150         [8e89c364cef2]
22151
22152 1998-09-13  Todd C. Miller  <Todd.Miller@courtesan.com>
22153
22154         * INSTALL:
22155         Better description of new vs. old sudoers modes fix some typos
22156         better description of /usr/ucb/cc gotchas on slowaris
22157         [c00b2a6fc1e8]
22158
22159         * Makefile.in:
22160         add sample.pam
22161         [ec7f6cc19b00]
22162
22163         * sudo.c:
22164         set NewArgv[0] to user_shell, not basename(user_shell)
22165         [1e907cbc9f7b]
22166
22167 1998-09-12  Todd C. Miller  <Todd.Miller@courtesan.com>
22168
22169         * README:
22170         mention TROUBLESHOOTING more fix some typos
22171         [2c2e6907d4a4]
22172
22173         * configure.in:
22174         move --enable/--disable to be after --with
22175         [9b30097f76c1]
22176
22177         * INSTALL:
22178         document --enable/--disable
22179         [c522362e38a8]
22180
22181         * INSTALL:
22182         document --with-pam
22183         [7e38932c78ac]
22184
22185 1998-09-11  Todd C. Miller  <Todd.Miller@courtesan.com>
22186
22187         * configure.in:
22188         Add message for pam users
22189         [d224f277e3cd]
22190
22191         * sample.pam:
22192         Initial revision
22193         [3a84d7045f54]
22194
22195         * config.h.in:
22196         fix HAVE_PAM
22197         [2f0f303ebd88]
22198
22199         * check.c, config.h.in, configure.in:
22200         pam support, from Gary Calvin <GCalvin@kenwoodusa.com>
22201         [ea3e0a72d707]
22202
22203 1998-09-10  Todd C. Miller  <Todd.Miller@courtesan.com>
22204
22205         * config.h.in:
22206         add HOST_IN_LOG and WRAP_LOG
22207         [822c36eeb6a8]
22208
22209         * logging.c:
22210         add WRAP_LOG and HOST_IN_LOG
22211         [3cf6052bd27e]
22212
22213         * configure.in:
22214         add --enable-log-host and --enable-log-wrap
22215         [c968cc12b353]
22216
22217         * aclocal.m4:
22218         use AC_DEFINE_UNQUOTED for --with-logfile and --with-timedir
22219         [915fef7e11a1]
22220
22221 1998-09-09  Todd C. Miller  <Todd.Miller@courtesan.com>
22222
22223         * compat.h:
22224         add howmany macro
22225         [9107a057a7c8]
22226
22227         * tgetpass.c:
22228         include sys/param.h to get howmany macro
22229         [7e908b5e1f32]
22230
22231 1998-09-08  Todd C. Miller  <Todd.Miller@courtesan.com>
22232
22233         * OPTIONS, options.h, parse.yacc, sudo.c, testsudoers.c, visudo.c:
22234         add RUNAS_DEFAULT
22235         [1e76398ea3fd]
22236
22237 1998-09-07  Todd C. Miller  <Todd.Miller@courtesan.com>
22238
22239         * fnmatch.c:
22240         bring in stdio.h for NULL
22241         [69c016610cbb]
22242
22243         * aclocal.m4:
22244         allow /bin/{ksh,bach} and /usr/bin/{ksh,bash} as sh
22245         [15ab2972f8d0]
22246
22247         * sudo.c:
22248         use HAVE_SET_AUTH_PARAMETERS
22249         [8abfdc8c80f7]
22250
22251         * config.h.in:
22252         add HAVE_SET_AUTH_PARAMETERS
22253         [673a5ebd5539]
22254
22255         * configure.in:
22256         add *-*-hiuxmpp* add test for set_auth_parameters() if secureware
22257         [a401f5a7469a]
22258
22259         * config.sub:
22260         add support for HI-UX/MPP SR220001 02-03 0 SR2201
22261         [cb657b7acaae]
22262
22263         * interfaces.c:
22264         initialize previfname
22265         [26a1902f56dc]
22266
22267         * interfaces.c:
22268         Don't use SIOCGIFADDR, we don't need it Use SIOCGIFFLAGS if we have
22269         it check ifr_flags against IFF_UP and IFF_LOOPBACK instead of
22270         kludging it
22271         [fa5c890c313b]
22272
22273         * configure.in:
22274         typo
22275         [bff579fbe95c]
22276
22277         * Makefile.in:
22278         don't need special build line for sudo.tab.o
22279         [10c0a0a912e4]
22280
22281         * Makefile.in:
22282         don't clean sudo.tab.[ch]
22283         [c40d5968efbb]
22284
22285         * sudo.c:
22286         Sudo should prompt for a password before telling the user that a
22287         command could not be found.
22288         [d718c85a0047]
22289
22290         * BUGS:
22291         for 1.5.6
22292         [0cc1fe5b9129]
22293
22294         * INSTALL, README:
22295         no longer require yacc
22296         [d9096fc5b8b6]
22297
22298         * Makefile.in:
22299         typo
22300         [70feb1aefbd5]
22301
22302         * Makefile.in:
22303         y.tab -> sudo.tab include pre-yacc'd parse.yacc
22304         [cc802025fd44]
22305
22306         * parse.lex:
22307         include sudo.tab.h, not y.tab.h don't break out of command args if
22308         you get a '='
22309         [728ad26dbda5]
22310
22311         * insults.h:
22312         fix version ,
22313         [242bbce1b2d4]
22314
22315         * ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h:
22316         fix version
22317         [2bb9086fea1e]
22318
22319         * compat.h:
22320         fix version
22321         [7e634d498ce6]
22322
22323         * getcwd.c:
22324         getcwd(3) from OpenBSD for those without it.
22325         [6c68d0df8f6c]
22326
22327         * sudo.h:
22328         HAVE_GETWD -> HAVE_GETCWD
22329         [2ad1e64d60c0]
22330
22331         * configure.in:
22332         pretend sunos doesn't have getcwd(3) since it opens a pipe to
22333         getpwd!
22334         [677992ba5a6a]
22335
22336         * parse.c:
22337         use NAMLEN() macro
22338         [8f5685aa3165]
22339
22340         * fnmatch.c:
22341         remove duplicate include of string.h
22342         [6024f3051ac3]
22343
22344         * configure.in:
22345         call SUDO_TYPE_DEV_T and SUDO_TYPE_INO_T
22346         [3d82a9c22cc2]
22347
22348         * aclocal.m4:
22349         add SUDO_TYPE_DEV_T and SUDO_TYPE_INO_T
22350         [53fbc47282f9]
22351
22352         * config.h.in:
22353         add dev_t and ino_t
22354         [5929bb0c7e1a]
22355
22356 1998-07-28  Todd C. Miller  <Todd.Miller@courtesan.com>
22357
22358         * check.c:
22359         fix OTP_ONLY for opie
22360         [7edcfa78f2ec]
22361
22362 1998-06-24  Todd C. Miller  <Todd.Miller@courtesan.com>
22363
22364         * testsudoers.c, tgetpass.c:
22365         include stdlib.h for malloc proto
22366         [c9f4b99a2fe9]
22367
22368 1998-05-19  Todd C. Miller  <Todd.Miller@courtesan.com>
22369
22370         * Makefile.in:
22371         make update_version saner
22372         [d522f93ee04a]
22373
22374         * config.h.in:
22375         add HAVE_WAITPID, HAVE_WAIT3, and sudo_waitpid()
22376         [c9a2d21dc608]
22377
22378         * configure.in:
22379         check for waitpid and wait3 or no waitpid
22380         [1f18c3224184]
22381
22382         * logging.c:
22383         used waitpid or wait3 if we have 'em
22384         [391c3279ee65]
22385
22386 1998-05-02  Todd C. Miller  <Todd.Miller@courtesan.com>
22387
22388         * visudo.c:
22389         fix some fprintf args, ariel@oz.engr.sgi.com (Ariel Faigon)
22390         [fbf53b18178f]
22391
22392 1998-04-28  Todd C. Miller  <Todd.Miller@courtesan.com>
22393
22394         * configure.in:
22395         don't need to explicately mention -lsocket -lnsl for sequent
22396         [1898dc055352]
22397
22398 1998-04-25  Todd C. Miller  <Todd.Miller@courtesan.com>
22399
22400         * configure.in:
22401         dynix should not link with -linet
22402         [278a4b9cfe2a]
22403
22404 1998-04-10  Todd C. Miller  <Todd.Miller@courtesan.com>
22405
22406         * INSTALL:
22407         mention that HP-UX doesn't ship with yacc
22408         [bde5147198c0]
22409
22410 1998-04-07  Todd C. Miller  <Todd.Miller@courtesan.com>
22411
22412         * check.c:
22413         ignore kerberos if we can't get the local realm
22414         [1e311a091a27]
22415
22416 1998-04-06  Todd C. Miller  <Todd.Miller@courtesan.com>
22417
22418         * BUGS, INSTALL, README, configure.in:
22419         ++version
22420         [499ffc746018]
22421
22422         * version.h:
22423         ++
22424         [35ba1ee01bd3]
22425
22426         * Makefile.in, check.c, config.h.in, dce_pwent.c, emul/utime.h,
22427         find_path.c, getcwd.c, getspwuid.c, goodpath.c, interfaces.c,
22428         logging.c, parse.c, parse.lex, putenv.c, strdup.c, sudo.c, sudo.h,
22429         sudo_setenv.c, testsudoers.c, tgetpass.c, utime.c, visudo.c:
22430         updated version
22431         [b4990a513f31]
22432
22433         * check.c, sudo.h:
22434         fix version
22435         [5710795834e8]
22436
22437         * getcwd.c:
22438         don't use popen/pclose. Do it inline.
22439         [29e57b0646a4]
22440
22441         * lsearch.c:
22442         add rcsid
22443         [b2b55c39858d]
22444
22445         * sudo.c:
22446         typo
22447         [d381ac39ed0f]
22448
22449         * check.c, compat.h, ins_2001.h, ins_classic.h, ins_csops.h,
22450         ins_goons.h, insults.h, options.h, parse.yacc, pathnames.h.in,
22451         sudo.h:
22452         updated version
22453         [462d6e1a2d75]
22454
22455         * check.c, find_path.c, parse.c, sudo.c, testsudoers.c:
22456         MAX* + 1 -> MAX*
22457         [2c2eeb78d34f]
22458
22459         * Makefile.in:
22460         getwd.c -> getcwd.c
22461         [7d718c32fc02]
22462
22463         * config.h.in:
22464         kill HAVE_GETWD
22465         [6ad3d702343f]
22466
22467         * configure.in:
22468         getcwd, not getwd
22469         [33e5b9841f58]
22470
22471         * getcwd.c:
22472         use MAX* not MAX* + 1 always run pwd as using getwd() defeats the
22473         purpose
22474         [24e58d340161]
22475
22476 1998-03-31  Todd C. Miller  <Todd.Miller@courtesan.com>
22477
22478         * OPTIONS, options.h:
22479         add STUB_LOAD_INTERFACES
22480         [d747cb23ca83]
22481
22482         * Makefile.in, check.c, compat.h, config.h.in, dce_pwent.c,
22483         emul/utime.h, find_path.c, getspwuid.c, getwd.c, goodpath.c,
22484         ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h, insults.h,
22485         interfaces.c, logging.c, options.h, parse.c, parse.lex, parse.yacc,
22486         pathnames.h.in, putenv.c, strdup.c, sudo.c, sudo.h, sudo_setenv.c,
22487         testsudoers.c, tgetpass.c, utime.c, visudo.c:
22488         updated version
22489         [0798229312cc]
22490
22491         * configure.in:
22492         support *-ccur-sysv4 and fix two typos
22493         [24a823ad7cc9]
22494
22495 1998-03-28  Todd C. Miller  <Todd.Miller@courtesan.com>
22496
22497         * configure.in:
22498         don't echo about with_logfile and with_timedir
22499         [31e4a1e2d9ad]
22500
22501         * INSTALL:
22502         document --with-logfile and --with-timedir
22503         [674f811a40e0]
22504
22505         * aclocal.m4:
22506         support --with-logfile and --with-timedir
22507         [2fc36b35db12]
22508
22509         * configure.in:
22510         Add --with-logfile and --with-timedir
22511         [09045bf07e29]
22512
22513         * sudo.c:
22514         change size computation of NewArgv for UNICOS
22515         [b50df07da3a1]
22516
22517 1998-02-19  Todd C. Miller  <Todd.Miller@courtesan.com>
22518
22519         * configure.in:
22520         treate -*-sysv4* like *-*-svr4
22521         [471b7ef4dbf2]
22522
22523 1998-02-18  Todd C. Miller  <Todd.Miller@courtesan.com>
22524
22525         * configure.in:
22526         fix spacing for --with-authenticate help
22527         [8321cb37c410]
22528
22529         * Makefile.in, check.c, compat.h, config.h.in, dce_pwent.c,
22530         emul/utime.h, find_path.c, getspwuid.c, getwd.c, goodpath.c,
22531         ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h, insults.h,
22532         interfaces.c, logging.c, options.h, parse.c, parse.lex, parse.yacc,
22533         pathnames.h.in, putenv.c, strdup.c, sudo.c, sudo.h, sudo_setenv.c,
22534         testsudoers.c, tgetpass.c, utime.c, visudo.c:
22535         updated version
22536         [dc1ab97312eb]
22537
22538         * parse.yacc:
22539         fix off by one error in push macro
22540         [bece59c8c3a9]
22541
22542 1998-02-17  Todd C. Miller  <Todd.Miller@courtesan.com>
22543
22544         * configure.in:
22545         removed bogus alloca hack
22546         [a68dd720462d]
22547
22548         * check.c:
22549         added AIX 4.x authenticate() support
22550         [12985eb448a0]
22551
22552         * parse.yacc:
22553         include alloca.h if using bison and not gcc and it exists. fixes an
22554         alloca problem on hpux 10.x
22555         [e3b5c4f26072]
22556
22557         * INSTALL:
22558         mention --with-authenticate
22559         [78a1c96820e7]
22560
22561         * configure.in:
22562         added AIX authenticate() support
22563         [c983193ec252]
22564
22565         * config.h.in:
22566         add HAVE_AUTHENTICATE
22567         [7b0e5f5db5d9]
22568
22569         * interfaces.c:
22570         dynamically size ifconf buffer
22571         [10afb0e9b2f9]
22572
22573         * configure.in:
22574         quote '[' and ']'
22575         [8fc38a4defad]
22576
22577         * Makefile.in, check.c, compat.h, config.h.in, dce_pwent.c,
22578         emul/utime.h, find_path.c, getspwuid.c, getwd.c, goodpath.c,
22579         ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h, insults.h,
22580         logging.c, options.h, parse.c, parse.lex, parse.yacc,
22581         pathnames.h.in, putenv.c, strdup.c, sudo.c, sudo.h, sudo_setenv.c,
22582         testsudoers.c, tgetpass.c, utime.c, visudo.c:
22583         updated version
22584         [5f66de71ec61]
22585
22586         * visudo.pod:
22587         add ERRORS section
22588         [3df3edb73cf6]
22589
22590 1998-02-16  Todd C. Miller  <Todd.Miller@courtesan.com>
22591
22592         * TROUBLESHOOTING:
22593         add busy stmp file explanation
22594         [6c555d469b6f]
22595
22596 1998-02-15  Todd C. Miller  <Todd.Miller@courtesan.com>
22597
22598         * configure.in:
22599         the name of the cached var that signals whether or not you are cross
22600         compiling changed. It is now ac_cv_prog_cc_cross
22601         [123911c0658c]
22602
22603 1998-02-11  Todd C. Miller  <Todd.Miller@courtesan.com>
22604
22605         * INSTALL:
22606         mention glibc 2.07 is fixed wrt lsearch()\.
22607         [ded758524582]
22608
22609 1998-02-07  Todd C. Miller  <Todd.Miller@courtesan.com>
22610
22611         * sample.sudoers, sudoers.pod:
22612         better example of su but not root su
22613         [b3199610be21]
22614
22615 1998-02-06  Todd C. Miller  <Todd.Miller@courtesan.com>
22616
22617         * Makefile.in, check.c, compat.h, config.h.in, dce_pwent.c,
22618         emul/utime.h, find_path.c, getspwuid.c, getwd.c, goodpath.c,
22619         ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h, insults.h,
22620         interfaces.c, logging.c, options.h, parse.c, parse.lex, parse.yacc,
22621         pathnames.h.in, putenv.c, strdup.c, sudo.c, sudo.h, sudo_setenv.c,
22622         testsudoers.c, tgetpass.c, utime.c, visudo.c:
22623         updated version
22624         [46922b84e86b]
22625
22626         * Makefile.in:
22627         correct regexp for updating version
22628         [8032728b2a8a]
22629
22630         * tgetpass.c:
22631         remove bogus flush of stderr spew prompt before turning off echo.
22632         Seems to fix a weird problem where if sudo complained about a bogus
22633         stamp file the user would sometimes not have a chance to enter a
22634         password
22635         [7aa1493cc141]
22636
22637         * check.c:
22638         fix bogus flush of stderr
22639         [6d047871c5e8]
22640
22641         * sudo.c:
22642         close fd's <=2 not <=3 and move that chunk of code up
22643         [553e4faac195]
22644
22645         * configure.in:
22646         support hpux1[0-9] not just hpux10
22647         [5a34a000ff8a]
22648
22649 1998-01-30  Todd C. Miller  <Todd.Miller@courtesan.com>
22650
22651         * parse.c:
22652         set sudoers_fp to nil after closing
22653         [221a8b4bbf34]
22654
22655 1998-01-24  Todd C. Miller  <Todd.Miller@courtesan.com>
22656
22657         * config.guess, config.sub:
22658         updated from autoconf 2.12
22659         [6fc86a0fc61b]
22660
22661         * configure.in:
22662         add *-*-svr4 rule
22663         [38f0427f7c9d]
22664
22665 1998-01-23  Todd C. Miller  <Todd.Miller@courtesan.com>
22666
22667         * tgetpass.c:
22668         fix select usage for high fd's (dynamically allocate readfds)
22669         [c2d1f76e0321]
22670
22671         * check.c:
22672         kill extra whitespace
22673         [d784b6c9c514]
22674
22675         * sudo.c:
22676         do an initgroups() before running a command, unless the target user
22677         is root.
22678         [4ca561287480]
22679
22680 1998-01-22  Todd C. Miller  <Todd.Miller@courtesan.com>
22681
22682         * TROUBLESHOOTING:
22683         tell people to use tabs, not spaces, in syslog.conf
22684         [8ae90a205134]
22685
22686 1998-01-21  Todd C. Miller  <Todd.Miller@courtesan.com>
22687
22688         * Makefile.in, config.h.in, dce_pwent.c, emul/utime.h, getwd.c,
22689         parse.lex, putenv.c, strdup.c, testsudoers.c, utime.c:
22690         updated version
22691         [4d855ff5de26]
22692
22693         * check.c, find_path.c, getspwuid.c, goodpath.c, interfaces.c,
22694         logging.c, parse.c, sudo.c, sudo_setenv.c, tgetpass.c, visudo.c:
22695         updated version
22696         [8e007e178b33]
22697
22698         * compat.h, ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h,
22699         insults.h, options.h, parse.yacc, pathnames.h.in, sudo.h:
22700         updated version
22701         [9ddea5c8814d]
22702
22703         * Makefile.in:
22704         more tweaks to update_version
22705         [047698752855]
22706
22707         * Makefile.in:
22708         fixed up update_version rule
22709         [47b6fa34b77f]
22710
22711         * configure.in:
22712         ++version
22713         [c1ca664e30b7]
22714
22715         * Makefile.in:
22716         removed supe of check.c
22717         [8f340a05296a]
22718
22719         * INSTALL:
22720         ++version I missed
22721         [a298e6c17491]
22722
22723         * RUNSON:
22724         updated
22725         [a14f6057bc15]
22726
22727         * BUGS, INSTALL, Makefile.in, README, check.c, compat.h, config.h.in,
22728         dce_pwent.c, emul/utime.h, find_path.c, getspwuid.c, getwd.c,
22729         goodpath.c, ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h,
22730         insults.h, interfaces.c, logging.c, options.h, parse.c, parse.lex,
22731         parse.yacc, pathnames.h.in, putenv.c, strdup.c, sudo.c, sudo.h,
22732         sudo_setenv.c, testsudoers.c, tgetpass.c, utime.c, version.h,
22733         visudo.c:
22734         updated version
22735         [02231b1a3ab3]
22736
22737         * CHANGES:
22738         updated for 1.5.5
22739         [634e5fcaf40b]
22740
22741         * Makefile.in:
22742         add rules to update version stuff in files so I don't need to do it
22743         by hand
22744         [3620ad60485a]
22745
22746         * sudo.h:
22747         sudoers_fp is now extern
22748         [88c6e9b9ea84]
22749
22750         * sudo.c:
22751         in check_sudoers, cache the sudoers file handle in sudoers_fp so we
22752         don't have to open it again in the parse. This may help with weird
22753         solaris problems where EAGAIN sometime occurrs.
22754         [d3c26451ed1d]
22755
22756         * parse.c:
22757         sudoers file open is now done only in check_sudoers() so we just do
22758         a rewind() instead of an open. May help people on solaris who were
22759         getting EAGAIN.
22760         [c8b8c7722fa5]
22761
22762 1998-01-16  Todd C. Miller  <Todd.Miller@courtesan.com>
22763
22764         * INSTALL:
22765         mention that newer glibc is fixed
22766         [20f06f5d3ef3]
22767
22768 1998-01-13  Todd C. Miller  <Todd.Miller@courtesan.com>
22769
22770         * sudo.c:
22771         newer irix uses _RLDN32_* envariables for 32-bit binaries so ignore
22772         _RLD* instead of _RLD_*
22773         [1e22c588d602]
22774
22775         * parse.c:
22776         typo
22777         [d0b7cb85f08a]
22778
22779         * parse.c:
22780         fix that bug for real
22781         [5a6eeca6d04b]
22782
22783         * INSTALL:
22784         document Linux's libc6 brokenness.
22785         [0246c1aa64ee]
22786
22787         * parse.yacc:
22788         -Wall
22789         [d0e452fb1e2d]
22790
22791         * RUNSON:
22792         updated
22793         [4949a1bbd0a9] [SUDO_1_5_4]
22794
22795         * TROUBLESHOOTING:
22796         remind people to HUP syslogd
22797         [590962faa4f0]
22798
22799         * Makefile.in:
22800         add -O flag to tar
22801         [622d02de339d]
22802
22803         * RUNSON:
22804         updated
22805         [a72930d6e615]
22806
22807         * TODO:
22808         updated
22809         [4a51bd458390]
22810
22811         * sudo.pod:
22812         remove author's email addr. people should mail sudo-bugs
22813         [9b6bbdb3a6d9]
22814
22815         * INSTALL:
22816         fix version
22817         [246274c6c8af]
22818
22819         * README, check.c, compat.h, config.h.in, configure.in, dce_pwent.c,
22820         find_path.c, getspwuid.c, getwd.c, goodpath.c, ins_2001.h,
22821         ins_classic.h, ins_csops.h, ins_goons.h, insults.h, interfaces.c,
22822         logging.c, options.h, parse.c, parse.lex, parse.yacc,
22823         pathnames.h.in, putenv.c, strdup.c, sudo.c, sudo.h, sudo_setenv.c,
22824         testsudoers.c, tgetpass.c, utime.c, version.h, visudo.c:
22825         ++version
22826         [f532ff4ee766]
22827
22828         * RUNSON:
22829         updated
22830         [62d5c71358b5]
22831
22832         * INSTALL, Makefile.in:
22833         ++version
22834         [1a7c7628edfc]
22835
22836         * CHANGES:
22837         updated fort 1.5.4
22838         [7e4873508c99]
22839
22840         * check.c:
22841         exit(1) if user enters no passwd
22842         [f382c0e35e4e]
22843
22844         * BUGS:
22845         ++version
22846         [fab6a867ab67]
22847
22848         * parse.c:
22849         commands can start with ./* not just /* -- fixes a serious security
22850         hole.
22851         [244d2fe35ee3]
22852
22853 1997-12-21  Todd C. Miller  <Todd.Miller@courtesan.com>
22854
22855         * sudo.c:
22856         Don't set the tty variable to NULL when we lack a tty, leave it as
22857         "unknown".
22858         [193b26daba03]
22859
22860 1997-11-23  Todd C. Miller  <Todd.Miller@courtesan.com>
22861
22862         * sample.sudoers:
22863         fix usage of (username) in conjunction with , and !
22864         [7ae68607f68f]
22865
22866         * visudo.c:
22867         catch the case where the user is not in the passwd file
22868         [31650258deb0]
22869
22870         * tgetpass.c:
22871         use fileno(input) + 1 instead of getdtablesize() as the nfds arg to
22872         select(2)
22873         [60ab2d9a9ee8]
22874
22875         * sudo.c:
22876         define tty global to an initial value to avoid dumping core in
22877         logging functions when passwd file is unavailable.
22878         [77056c7bc908]
22879
22880         * sudo.c:
22881         do the set_perms(PERM_USER, sudo_mode) after we have gotten the
22882         passwd entry
22883         [1fdb8e579a5a]
22884
22885         * sudo.pod:
22886         talk about problem of ALL
22887         [1cd1905c9f6f]
22888
22889 1997-10-10  Todd C. Miller  <Todd.Miller@courtesan.com>
22890
22891         * README:
22892         new web location
22893         [d24dc26f6da5]
22894
22895         * INSTALL:
22896         fdesc bug is fixed in Open/Net BSD
22897         [7d4d81b08ac3]
22898
22899         * HISTORY:
22900         updates from Nieusma
22901         [3a43769a1b78]
22902
22903 1997-10-09  Todd C. Miller  <Todd.Miller@courtesan.com>
22904
22905         * dce_pwent.c:
22906         move compat.h after the system includes
22907         [5ea43a5968ac]
22908
22909 1997-08-06  Todd C. Miller  <Todd.Miller@courtesan.com>
22910
22911         * logging.c:
22912         save errno from being clobbered by wait(). From Theo
22913         [f2d1c48cd592]
22914
22915 1997-05-21  Todd C. Miller  <Todd.Miller@courtesan.com>
22916
22917         * compat.h:
22918         fix an occurence of setresuid -> setreuid (typo)
22919         [394de35c9b1c]
22920
22921 1997-03-19  Todd C. Miller  <Todd.Miller@courtesan.com>
22922
22923         * install-sh:
22924         check for path to strip
22925         [2b7ef824bd55]
22926
22927 1997-01-16  Todd C. Miller  <Todd.Miller@courtesan.com>
22928
22929         * logging.c:
22930         deal with maxfilelen < 0 case
22931         [f0af095178d7]
22932
22933         * OPTIONS:
22934         fixed descriptin
22935         [629f60bd4b5f]
22936
22937 1996-12-12  Todd C. Miller  <Todd.Miller@courtesan.com>
22938
22939         * sudo.c:
22940         correct error message if mode/owner wrong and not statable by owner
22941         but is statable by root.
22942         [cb631ce2e85e]
22943
22944 1996-11-23  Todd C. Miller  <Todd.Miller@courtesan.com>
22945
22946         * config.guess, config.sub:
22947         autoconf 2.11
22948         [f3cbe59e0756]
22949
22950 1996-11-16  Todd C. Miller  <Todd.Miller@courtesan.com>
22951
22952         * CHANGES, RUNSON, TODO:
22953         sudo 1.5.3.
22954         [2be3229b8626]
22955
22956 1996-11-14  Todd C. Miller  <Todd.Miller@courtesan.com>
22957
22958         * parse.yacc, sudo.h:
22959         command_alias -> generic_alias
22960         [c404ca8c510d] [SUDO_1_5_3]
22961
22962         * sample.sudoers:
22963         added Runas_Alias example and fixed syntax errors
22964         [c304053f4a8a]
22965
22966         * OPTIONS, options.h:
22967         updated MAILSUBJECT
22968         [18d1573fcd2a]
22969
22970         * logging.c:
22971         added %h expansion
22972         [a4bff9b284fd]
22973
22974         * INSTALL, Makefile.in, README, check.c, compat.h, config.h.in,
22975         configure.in, dce_pwent.c, find_path.c, getspwuid.c, getwd.c,
22976         goodpath.c, ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h,
22977         insults.h, interfaces.c, logging.c, options.h, parse.c, parse.lex,
22978         parse.yacc, pathnames.h.in, putenv.c, strdup.c, sudo.c, sudo.h,
22979         sudo_setenv.c, testsudoers.c, tgetpass.c, utime.c, version.h,
22980         visudo.c:
22981         ++version
22982         [211ff20f956f]
22983
22984         * BUGS, emul/utime.h:
22985         ++version
22986         [cde5376579e3]
22987
22988         * sudoers.pod:
22989         document Runas_Alias
22990         [b1a58f28fb2c]
22991
22992         * visudo.pod:
22993         q (uid) -> Q
22994         [d256649a0e6b]
22995
22996         * visudo.c:
22997         buffer oflow checking q (uit) -> Q if yyparse() fails drop into
22998         whatnow
22999         [1cb183d15626]
23000
23001         * parse.yacc:
23002         add size params to sprintf
23003         [9228f698921f]
23004
23005         * parse.lex:
23006         allow trailing space after '\\' but before '\n'
23007         [f51dbbf69fdf]
23008
23009         * find_path.c:
23010         off by one error in path size check
23011         [a6d75ccd7632]
23012
23013         * check.c:
23014         sprintf paranoia
23015         [3ffb12d198dd]
23016
23017 1996-11-12  Todd C. Miller  <Todd.Miller@courtesan.com>
23018
23019         * parse.yacc:
23020         fixed more_aliases
23021         [aab12f2a50af]
23022
23023         * visudo.c:
23024         now warns if killed by signal ./
23025         [310c186a0fd7]
23026
23027 1996-11-11  Todd C. Miller  <Todd.Miller@courtesan.com>
23028
23029         * parse.yacc:
23030         fix Runas_Alias stuff Alias's in runas list now get expanded (but it
23031         is gross)
23032         [45590b83120f]
23033
23034         * sudo.c:
23035         Can now deal with SUDOERS_UID == 0 and SUDOERS_MODE == 0400
23036         [d53e01c14c58]
23037
23038         * parse.yacc:
23039         add Runas_Alias support change FOO to FOO_ALIAS (ie: USER_ALIAS)
23040         [7a4a040aae2d]
23041
23042         * parse.lex:
23043         Add Runas_Alias and simplify a rule.
23044         [6f794a769a37]
23045
23046         * parse.yacc:
23047         always store User_Alias's since they can be used inside of a runas
23048         list. Sigh. Really need a Runas_Alias instead.
23049         [3bab058a873e]
23050
23051 1996-10-30  Todd C. Miller  <Todd.Miller@courtesan.com>
23052
23053         * visudo.c:
23054         deal with case where there is no sudoers file
23055         [fa38b3bb244d]
23056
23057 1996-10-12  Todd C. Miller  <Todd.Miller@courtesan.com>
23058
23059         * TROUBLESHOOTING:
23060         added one
23061         [e61346d06725]
23062
23063 1996-10-11  Todd C. Miller  <Todd.Miller@courtesan.com>
23064
23065         * HISTORY, testsudoers.c:
23066         developement -> development
23067         [4df55e293941]
23068
23069         * INSTALL:
23070         added a note
23071         [3845fb83dbc0]
23072
23073         * RUNSON:
23074         for 1.5.2
23075         [5489b7298942]
23076
23077         * CHANGES:
23078         updated
23079         [0741834929e6]
23080
23081 1996-10-10  Todd C. Miller  <Todd.Miller@courtesan.com>
23082
23083         * PORTING:
23084         removed seteuid() notes
23085         [1010a60f281d] [SUDO_1_5_2]
23086
23087 1996-10-09  Todd C. Miller  <Todd.Miller@courtesan.com>
23088
23089         * compat.h:
23090         better seteuid() emulatino
23091         [e807623b662c]
23092
23093         * configure.in:
23094         added check for seteuid
23095         [8cf9fabc6f4f]
23096
23097         * config.h.in:
23098         added HAVE_SETEUID
23099         [596db46aa828]
23100
23101 1996-10-08  Todd C. Miller  <Todd.Miller@courtesan.com>
23102
23103         * configure.in:
23104         first stab at sequent support
23105         [b85a7bfcac76]
23106
23107         * config.h.in:
23108         added HAVE_SYS_SELECT_H
23109         [93ecdd042463]
23110
23111         * compat.h:
23112         sequent -> _SEQUENT_
23113         [63a38b6da98c]
23114
23115         * compat.h:
23116         added seteuid() macro for DYNIX
23117         [695bd63c5ea6]
23118
23119         * tgetpass.c:
23120         _AIX -> HAVE_SYS_SELECT_H
23121         [b31221211bc2]
23122
23123 1996-10-07  Todd C. Miller  <Todd.Miller@courtesan.com>
23124
23125         * BUGS, INSTALL, Makefile.in, OPTIONS, README, config.h.in, logging.c,
23126         parse.c, parse.lex, parse.yacc, putenv.c, strdup.c, sudo_setenv.c,
23127         testsudoers.c, tgetpass.c, utime.c, visudo.c:
23128         ++version
23129         [8052992fd453]
23130
23131         * check.c, compat.h, dce_pwent.c, emul/utime.h, find_path.c,
23132         getspwuid.c, getwd.c, goodpath.c, ins_2001.h, ins_classic.h,
23133         ins_csops.h, ins_goons.h, insults.h, interfaces.c, options.h,
23134         pathnames.h.in, version.h:
23135         ++version
23136         [f7ad15e1598a]
23137
23138         * sudo.pod:
23139         added -H and SUDO_PS1
23140         [bb965241e30c]
23141
23142         * configure.in:
23143         use SUDO_FUNC_FNMATCH
23144         [6a8350d85fb2]
23145
23146         * aclocal.m4:
23147         added SUDO_FUNC_FNMATCH
23148         [45b32c91c4ba]
23149
23150         * sudo.c:
23151         added -H flag
23152         [11ebc6872fd6]
23153
23154         * sudo.h:
23155         added MODE_RESET_HOME /
23156         [67a7f8bcbbd6]
23157
23158 1996-10-05  Todd C. Miller  <Todd.Miller@courtesan.com>
23159
23160         * INSTALL:
23161         mention OPIE
23162         [5723515d5bbd]
23163
23164         * options.h:
23165         SKEY -> OTP
23166         [c1d268130bc4]
23167
23168         * configure.in:
23169         added opie support
23170         [123872b41b20]
23171
23172         * compat.h, config.h.in:
23173         added HAVE_OPIE
23174         [528c71afc1e5]
23175
23176         * check.c:
23177         added HAVE_OPIE and changed to *_OTP_*
23178         [4c62f5db872a]
23179
23180         * OPTIONS:
23181         SKEY -> OTP
23182         [bd858e5e9652]
23183
23184 1996-10-04  Todd C. Miller  <Todd.Miller@courtesan.com>
23185
23186         * check.c:
23187         moved fclose() in skey stuff.
23188         [11f7dc8431a6]
23189
23190 1996-10-03  Todd C. Miller  <Todd.Miller@courtesan.com>
23191
23192         * putenv.c:
23193         index -> strchr remove unnecesary stuff
23194         [af2d05238062]
23195
23196         * check.c:
23197         now call skeychallenge() to get challenge instead of making one up
23198         ourselves. this way, we get extra goodies in the prompt.
23199         [49b770d98d3a]
23200
23201 1996-09-10  Todd C. Miller  <Todd.Miller@courtesan.com>
23202
23203         * CHANGES:
23204         added one
23205         [3f5149357e2a] [SUDO_1_5_1]
23206
23207         * parse.lex:
23208         allow logins to start with a number (YUCK!)
23209         [7ed7ef324741]
23210
23211 1996-09-08  Todd C. Miller  <Todd.Miller@courtesan.com>
23212
23213         * TROUBLESHOOTING:
23214         added soalris 2.5 vs 2.4 note
23215         [16160a251aae]
23216
23217         * configure.in:
23218         DUNIX doesn't need -lnsl
23219         [be924cc322c3]
23220
23221         * CHANGES:
23222         *** empty log message ***
23223         [1b2937521981]
23224
23225         * check.c, compat.h, config.h.in, dce_pwent.c, find_path.c,
23226         getspwuid.c, getwd.c, goodpath.c, ins_2001.h, ins_classic.h,
23227         ins_csops.h, ins_goons.h, insults.h, interfaces.c, logging.c,
23228         options.h, parse.c, parse.lex, parse.yacc, pathnames.h.in, putenv.c,
23229         strdup.c, sudo.c, sudo.h, sudo_setenv.c, testsudoers.c, tgetpass.c,
23230         utime.c, version.h, visudo.c:
23231         courtesan
23232         [5f203589bbfe]
23233
23234         * PORTING, README, RUNSON:
23235         courtesan
23236         [d72517f4937e]
23237
23238         * INSTALL, Makefile.in, TROUBLESHOOTING:
23239         courtesan
23240         [5c007e3c7a71]
23241
23242         * visudo.pod:
23243         *** empty log message ***
23244         [37ebe85bd4e1]
23245
23246         * sudo.pod, visudo.pod:
23247         courtesan
23248         [37f02e2130ea]
23249
23250 1996-09-07  Todd C. Miller  <Todd.Miller@courtesan.com>
23251
23252         * HISTORY:
23253         added courtesan ./
23254         [b01435226276]
23255
23256 1996-09-06  Todd C. Miller  <Todd.Miller@courtesan.com>
23257
23258         * sudo.c:
23259         added $SUDO_PROMPT support
23260         [cb1fa72c093d]
23261
23262 1996-09-04  Todd C. Miller  <Todd.Miller@courtesan.com>
23263
23264         * check.c:
23265         print long skey challemged to stderr, not stdout
23266         [750fc775b3b2]
23267
23268 1996-09-01  Todd C. Miller  <Todd.Miller@courtesan.com>
23269
23270         * CHANGES:
23271         updated for 1.5.1
23272         [9b615f393057]
23273
23274         * emul/utime.h:
23275         ++version
23276         [a94de18deafb]
23277
23278 1996-08-31  Todd C. Miller  <Todd.Miller@courtesan.com>
23279
23280         * RUNSON:
23281         updated for 1.5.1
23282         [4092f20ab634]
23283
23284 1996-08-30  Todd C. Miller  <Todd.Miller@courtesan.com>
23285
23286         * check.c:
23287         use shost, not host for tgetpass
23288         [6061c49ff9be]
23289
23290         * sudo.pod:
23291         documented %u and %h
23292         [6d2922d29897]
23293
23294         * OPTIONS:
23295         documented %u and %h
23296         [1a71da13a864]
23297
23298         * configure.in:
23299         fixed typo
23300         [1230dec2b062]
23301
23302         * INSTALL, Makefile.in, README, check.c, compat.h, config.h.in,
23303         dce_pwent.c, find_path.c, getspwuid.c, getwd.c, goodpath.c,
23304         ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h, insults.h,
23305         interfaces.c, logging.c, options.h, parse.c, parse.lex, parse.yacc,
23306         pathnames.h.in, putenv.c, strdup.c, sudo.c, sudo.h, sudo_setenv.c,
23307         testsudoers.c, tgetpass.c, utime.c, version.h, visudo.c:
23308         ++version
23309         [65ce8eabf77a]
23310
23311         * BUGS:
23312         ++version
23313         [afecab53aab7]
23314
23315 1996-08-29  Todd C. Miller  <Todd.Miller@courtesan.com>
23316
23317         * Makefile.in, configure.in, version.h:
23318         ++version
23319         [fb3ff940d672]
23320
23321         * sudo.h:
23322         new tgetpass() params
23323         [9eccc5b0f8ae]
23324
23325         * check.c:
23326         pass use and host to tgetpass
23327         [c56d9d13c401]
23328
23329         * tgetpass.c:
23330         added %u and %h escapes
23331         [04ae775d3e5d]
23332
23333         * OPTIONS, check.c, options.h:
23334         added NO_MESSAGE
23335         [3927dad19057]
23336
23337         * configure.in:
23338         added cray (unicos) support
23339         [1122210c5fb1]
23340
23341 1996-08-27  Todd C. Miller  <Todd.Miller@courtesan.com>
23342
23343         * OPTIONS, options.h, sudo.c:
23344         added SHELL_SETS_HOME
23345         [0b26909b0929]
23346
23347 1996-08-25  Todd C. Miller  <Todd.Miller@courtesan.com>
23348
23349         * INSTALL:
23350         added note about "make install"
23351         [7e56ea76d4b4]
23352
23353         * parse.yacc:
23354         changed length/size params from int to size_t
23355         [5654e5ceb1b3]
23356
23357         * OPTIONS:
23358         now get CSOPS insults as well by default
23359         [297323d0179a]
23360
23361         * insults.h:
23362         use csops insults too by default
23363         [07fafc136169]
23364
23365         * INSTALL, Makefile.in, README, config.h.in, configure.in, version.h:
23366         version = 1.5
23367         [4b8772b11e3b]
23368
23369         * sudo.c:
23370         added runas_homedir
23371         [b0e0d4417a15]
23372
23373         * TODO:
23374         updated for 1.5
23375         [66259df825d5]
23376
23377         * RUNSON:
23378         updated for 1.5
23379         [e08bc9ebfe95]
23380
23381         * CHANGES:
23382         1.5 release
23383         [8c16942fea41]
23384
23385         * INSTALL:
23386         added "upgrading" notes
23387         [210d968964ff]
23388
23389 1996-08-22  Todd C. Miller  <Todd.Miller@courtesan.com>
23390
23391         * visudo.c:
23392         now do chmod and chown after edit of temp file and before rename
23393         [de174e34faa7] [SUDO_1_5_0]
23394
23395 1996-08-18  Todd C. Miller  <Todd.Miller@courtesan.com>
23396
23397         * Makefile.in:
23398         ++version added INSTALL.configure
23399         [c9e9214f52ae]
23400
23401         * configure.in, version.h:
23402         ++version
23403         [5985abed3eb2]
23404
23405         * TROUBLESHOOTING:
23406         *** empty log message ***
23407         [d65c540ec52e]
23408
23409         * parse.yacc:
23410         added missing cast
23411         [e7247319a7d5]
23412
23413         * sudo.c:
23414         sets $HOME to pw_dir of runas user
23415         [d3f7f4d05752]
23416
23417         * sudo.pod:
23418         document $HOME change
23419         [854454d458c4]
23420
23421 1996-08-17  Todd C. Miller  <Todd.Miller@courtesan.com>
23422
23423         * sudo.pod:
23424         fixed up some wording
23425         [b0c8582f2c97]
23426
23427         * check.c, dce_pwent.c, find_path.c, getspwuid.c, getwd.c, goodpath.c,
23428         interfaces.c, logging.c, parse.c, parse.lex, parse.yacc, putenv.c,
23429         strdup.c, sudo.c, sudo_setenv.c, testsudoers.c, tgetpass.c, utime.c,
23430         visudo.c:
23431         ++version
23432         [748be723fd8b]
23433
23434         * compat.h, ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h,
23435         insults.h, options.h, pathnames.h.in, sudo.h:
23436         ++version
23437         [acdf8b1b2a1b]
23438
23439         * emul/utime.h:
23440         ++version
23441         [b3f35298ab8d]
23442
23443         * sudo.h:
23444         name nad type changes
23445         [db24ab3da141]
23446
23447         * testsudoers.c:
23448         now works with new sudo
23449         [379346c42cc2]
23450
23451         * parse.yacc:
23452         fixed some XXX
23453         [f5fe4c990052]
23454
23455         * parse.yacc:
23456         some variable name changes + comment headers for functions.
23457         [3dc3bd9aa73d]
23458
23459         * tgetpass.c:
23460         added extra paren's to make compilers happy
23461         [9e4968a34d56]
23462
23463         * sudo.c:
23464         *** empty log message ***
23465         [70c924c1ed69]
23466
23467         * parse.c:
23468         now uses init_parser() if not in sudoers and tries "list" or
23469         "validate" scold but don't be nasty.
23470         [c0d8fb3f8c9e]
23471
23472         * TROUBLESHOOTING:
23473         now can use upper case login names
23474         [c772fffcefe5]
23475
23476         * visudo.c:
23477         now uses init_parser()
23478         [b9efae7243fd]
23479
23480         * INSTALL, README:
23481         updated
23482         [27dc8283fdc8]
23483
23484         * PORTING:
23485         added info about PASSWORD_TIMEOUT
23486         [980e15d892f8]
23487
23488         * INSTALL.configure:
23489         Initial revision
23490         [8292e89a08d3]
23491
23492         * BUGS:
23493         fixed a bug ,
23494         [c6e46f5624f9]
23495
23496         * parse.yacc:
23497         now dynamically allocates memory for the stacks -- no more
23498         overflows!
23499         [8615c35b6ad3]
23500
23501         * sudo.pod:
23502         -l now explands command aliases
23503         [39f45605935d]
23504
23505         * parse.yacc:
23506         hacks to expand command aliases for `sudo -l'
23507         [e4eb752608f9]
23508
23509         * sudo.c:
23510         remove $ENV and $BASH_ENV (dangerous in ksh, posix sh, and bash)
23511         [01327ca5084b]
23512
23513         * sudo.h:
23514         added struct command_alias
23515         [dd2f32764082]
23516
23517         * sudo.pod:
23518         fixed a bug
23519         [e708ff08d2eb]
23520
23521         * lsearch.c:
23522         in compar() key should be first arg
23523         [fc14c3fa62ee]
23524
23525 1996-08-15  Todd C. Miller  <Todd.Miller@courtesan.com>
23526
23527         * BUGS:
23528         fixed some bugs
23529         [639dfe425bd5]
23530
23531         * parse.yacc:
23532         can now deal with upcase HOST and USER names
23533         [c6aa7bcfb00d]
23534
23535         * sudo.c:
23536         don't yell too loudly at non-sudoers if they do "sudo -l"
23537         [4ef146128d89]
23538
23539         * sudo.pod:
23540         fixed thinko
23541         [830f2f0f22e7]
23542
23543         * parse.c:
23544         fix comment
23545         [d20ce9e17ddc]
23546
23547 1996-08-09  Todd C. Miller  <Todd.Miller@courtesan.com>
23548
23549         * parse.c, parse.yacc:
23550         added support for new `sudo -l' stuff
23551         [7dceaef3c733]
23552
23553         * sudo.c:
23554         now uses list_matches()
23555         [293364821b61]
23556
23557         * sudo.h:
23558         added struct sudo_match
23559         [b2684179d179]
23560
23561         * configure.in:
23562         now more -lgnumalloc
23563         [4f8ae42617d8]
23564
23565 1996-08-01  Todd C. Miller  <Todd.Miller@courtesan.com>
23566
23567         * install-sh:
23568         added more paths for chown and whoami
23569         [6e685a19426c]
23570
23571 1996-07-31  Todd C. Miller  <Todd.Miller@courtesan.com>
23572
23573         * check.c:
23574         typo
23575         [3adfa01c04bc]
23576
23577 1996-07-30  Todd C. Miller  <Todd.Miller@courtesan.com>
23578
23579         * aclocal.m4:
23580         fixed DUNIX check for shadow pw
23581         [c25324bcd27b]
23582
23583         * tgetpass.c:
23584         now only turn off echo if it is already on. this fixes a race when
23585         you use sudo in a pipelin
23586         [28388c2de21c]
23587
23588         * INSTALL:
23589         updated
23590         [b45ac9366b7e]
23591
23592         * configure.in:
23593         changed "test -z $foo && do_this" to if; then construct
23594         [2183c4426bca]
23595
23596 1996-07-29  Todd C. Miller  <Todd.Miller@courtesan.com>
23597
23598         * configure.in:
23599         added missing defines of SHADOW_TYPE
23600         [be89ea68a7f3]
23601
23602 1996-07-26  Todd C. Miller  <Todd.Miller@courtesan.com>
23603
23604         * check.c:
23605         protect AUTH_CRYPT_OLDCRYPT and AUTH_CRYPT_C1CRYPT since they are
23606         only in dunix 4.x
23607         [1e7c1c677263]
23608
23609         * getspwuid.c:
23610         added AUTH_CRYPT_C1CRYPT support
23611         [88d6b0058b20]
23612
23613         * parse.c:
23614         no longer return VALIDATE_NOT_OK if there was a runas that didn't
23615         match. Now we can have runas stuff on more than one line.
23616         [52b68920d7b7]
23617
23618         * getspwuid.c, sudo.c, tgetpass.c:
23619         use SHADOW_TYPE instead of HAVE_C2_SECURITY
23620         [cf401dfcbc06]
23621
23622         * configure.in:
23623         got rid of HAVE_C2_SECURITY SHADOW_TYPE is always defined to
23624         something
23625         [c7a233c4dd93]
23626
23627         * config.h.in:
23628         removed HAVE_C2_SECURITY added SPW_BSD
23629         [8314405e9754]
23630
23631         * compat.h:
23632         use SHADOW_TYPE instead of HAVE_C2_SECURITY
23633         [6f94870df17f]
23634
23635         * check.c:
23636         SHADOW_TYPE is always defined so just against its value
23637         [72c69a55d02f]
23638
23639         * aclocal.m4:
23640         added SUDO_CHECK_SHADOW_DUNIX
23641         [ef025ae9d496]
23642
23643 1996-07-25  Todd C. Miller  <Todd.Miller@courtesan.com>
23644
23645         * sudoers.pod:
23646         * -> ?* in one example added another instance of (runas) and one of
23647         NOPASSWD:
23648         [d74fe1dcbe7d]
23649
23650 1996-07-24  Todd C. Miller  <Todd.Miller@courtesan.com>
23651
23652         * configure.in:
23653         added back check for config.cache from other host type
23654         [0ba87871f585]
23655
23656         * parse.lex:
23657         removed an instance of \"
23658         [1e008d3709f6]
23659
23660         * sample.sudoers:
23661         added an example
23662         [dbfcf68ee330]
23663
23664         * sudoers.pod:
23665         updated wrt new wildcard matching
23666         [193fa44a475b]
23667
23668         * configure.in:
23669         new check for shadow passwords if we don't know anything
23670         [67465df7dc9a]
23671
23672         * aclocal.m4:
23673         new SUDO_CHECK_SHADOW_GENERIC
23674         [3563b16a41b8]
23675
23676         * configure.in:
23677         added back check for -lsocket (oops)
23678         [a80882ee1cb6]
23679
23680         * configure.in:
23681         better (working) check for shadow passwd type if we know to use C2.
23682         [3cdd2a59a641]
23683
23684         * configure.in:
23685         now uses AC_CANONICAL_HOST to figure out os type
23686         [80db7fe6e704]
23687
23688         * Makefile.in:
23689         added config.{guess,sub}
23690         [c6be7e3ca384]
23691
23692         * aclocal.m4:
23693         removed unused stuff to figure out os type
23694         [c9a0f3b57123]
23695
23696         * config.sub:
23697         added openbsd
23698         [bfc6bfec3668]
23699
23700         * config.sub:
23701         Initial revision
23702         [e6e06ce0d17d]
23703
23704         * config.guess:
23705         Initial revision
23706         [99dd06f79199]
23707
23708         * testsudoers.c:
23709         don't call fnmatch() with FNM_PATHNAME flag unless it can only be a
23710         pathname. need to check against sudoers_args even if user_args is
23711         nil
23712         [66e6cf77f5d6]
23713
23714         * parse.c:
23715         don't call fnmatch() with FNM_PATHNAME flag unless it can only be a
23716         pathname need to check against sudoers_args even if user_args is nil
23717         [74374df17311]
23718
23719 1996-07-23  Todd C. Miller  <Todd.Miller@courtesan.com>
23720
23721         * check.c:
23722         added support for AUTH_CRYPT_OLDCRYPT w/ DUNIX C2
23723         [cbb00261c415]
23724
23725         * testsudoers.c:
23726         now takes command line args and uses cmnd_args
23727         [f0c2fd35a527]
23728
23729         * parse.lex:
23730         fill_args was adding an extra leading space
23731         [692fc999b2e8]
23732
23733 1996-07-22  Todd C. Miller  <Todd.Miller@courtesan.com>
23734
23735         * visudo.c:
23736         fixed dummy command_matches()
23737         [93d9543db6e2]
23738
23739         * parse.yacc:
23740         fixed prototype
23741         [7b0addfbd429]
23742
23743         * sudo.h:
23744         added cmnd_args
23745         [8f47c4ae65ef]
23746
23747         * parse.yacc:
23748         now uses flat args string
23749         [016e65877da3]
23750
23751         * parse.c, parse.lex:
23752         now uses flat arg string
23753         [5b5f2e3f4c09]
23754
23755         * visudo.c:
23756         added cmnd_args def
23757         [876867134775]
23758
23759         * sudo.c:
23760         now sets cmnd_args global
23761         [e6fee70cb59b]
23762
23763         * logging.c:
23764         cmnd_args is now exported from sudo.[ch]
23765         [7a9cd36e356f]
23766
23767 1996-07-21  Todd C. Miller  <Todd.Miller@courtesan.com>
23768
23769         * parse.yacc:
23770         can't rely on cmnd_matches as much as I thought -- added some $$
23771         stuff back in to prevent namespace pollution problems.
23772         [3c45fedb5af3]
23773
23774         * parse.yacc:
23775         Simplified parse rules wrt runas and NOPASSWD (more consistent).
23776         [e6d838c8a4c7]
23777
23778 1996-07-20  Todd C. Miller  <Todd.Miller@courtesan.com>
23779
23780         * parse.lex:
23781         NOPASSWD may now have blanks before the ':' '(' only starts a
23782         'runas' if in the initial state to avoid collision with command args
23783         [c5c01172f499]
23784
23785         * configure.in:
23786         added checks for specific shadow passwd schemes
23787         [b7e3d1f7b84f]
23788
23789         * aclocal.m4:
23790         added routines to check for specific shadow passwd types
23791         [e5e1d19960a6]
23792
23793 1996-07-18  Todd C. Miller  <Todd.Miller@courtesan.com>
23794
23795         * configure.in:
23796         added support for ncr boxen
23797         [bea9dc5aae7f]
23798
23799         * aclocal.m4:
23800         added support for detecting ncr boxen
23801         [8653a158a924]
23802
23803 1996-07-16  Todd C. Miller  <Todd.Miller@courtesan.com>
23804
23805         * configure.in:
23806         added sinix support
23807         [5de2b2173ee1]
23808
23809 1996-07-14  Todd C. Miller  <Todd.Miller@courtesan.com>
23810
23811         * TROUBLESHOOTING:
23812         added info about "config.cache from other other" error.
23813         [845b10198e0b]
23814
23815         * aclocal.m4:
23816         now makes sure you don't have a config.cache file from another OS
23817         [4fe32571c021]
23818
23819         * configure.in:
23820         now sets $LIBS when needed to configure links with libs when doing
23821         tests hpux10 now uses SPW_SECUREWARE for C2 added check for
23822         bigcrypt(3) if SPW_SECUREWARE
23823         [2df6b8ca538f]
23824
23825         * getspwuid.c:
23826         fixed typo
23827         [fe1cb1d792d6]
23828
23829         * tgetpass.c:
23830         now include stuff for SPW_SECUREWARE to get AUTH_MAX_PASSWD_LENGTH
23831         [f71138372c07]
23832
23833         * getspwuid.c:
23834         no more SPW_HPUX10
23835         [cfdeb18bc16b]
23836
23837         * config.h.in:
23838         no more SPW_HPUX10 added HAVE_BIGCRYPT
23839         [00d296479a61]
23840
23841         * compat.h:
23842         now uses AUTH_MAX_PASSWD_LENGTH if SPW_SECUREWARE
23843         [6c6d9e680417]
23844
23845         * check.c:
23846         SPW_SECUREWARE now uses bigcrypt
23847         [be71fc66690f]
23848
23849 1996-07-13  Todd C. Miller  <Todd.Miller@courtesan.com>
23850
23851         * sample.sudoers:
23852         fixed 2 syntax errors
23853         [45eee19ef4ac]
23854
23855         * sudoers:
23856         root may now run ALL as ALL
23857         [1b54c6b9b212]
23858
23859 1996-07-12  Todd C. Miller  <Todd.Miller@courtesan.com>
23860
23861         * interfaces.c:
23862         fixed a typo/thinko that broke BSD's with sa_len
23863         [603438360126]
23864
23865 1996-07-08  Todd C. Miller  <Todd.Miller@courtesan.com>
23866
23867         * check.c, configure.in:
23868         updated AFS support
23869         [e572eb8d177a]
23870
23871         * TROUBLESHOOTING:
23872         added entry about /usr/ucb/cc
23873         [025b353aa9d3]
23874
23875         * INSTALL:
23876         prep no longer holds gcc binaries
23877         [8b0942958049]
23878
23879         * INSTALL:
23880         updated AFS note
23881         [7af6efd5abe4]
23882
23883         * Makefile.in:
23884         added @AFS_LIBS@
23885         [97b6fe6ad7d6]
23886
23887         * compat.h:
23888         AFS allows long passwords
23889         [5fb17122c302]
23890
23891         * testsudoers.c:
23892         fixed -u user support
23893         [b1a0c1648639]
23894
23895         * parse.c:
23896         sudo -v now groks VALIDATE_OK_NOPASS
23897         [74fc03fffe7e]
23898
23899         * parse.yacc:
23900         fixed no_passwd vs. runas_matched
23901         [549a9b791a6a]
23902
23903         * TROUBLESHOOTING:
23904         took out stuff about NFS-mounting since it is no longer an issue
23905         [d95ab7fbbc61]
23906
23907         * INSTALL:
23908         added --with-libraries > --with-libpath --with-incpath
23909         [d5d15a7a0f4c]
23910
23911         * parse.yacc:
23912         was setting runas_matches to -1 in wrong place
23913         [db2b1deb8d33]
23914
23915         * check.c:
23916         removed usersec.h which is not present in new AFS versions
23917         [618b016dd17f]
23918
23919         * tgetpass.c:
23920         now deals with timeout <= 0
23921         [ba53a1257255]
23922
23923         * OPTIONS:
23924         updated
23925         [75093bd8fdca]
23926
23927         * configure.in:
23928         BSD/OS >= 2.0 now uses shlicc instead of just gcc
23929         [ff6dbf7825c2]
23930
23931         * sudo.c:
23932         fixed backwards compatibility with sudo 1.4 sudoers mode for root
23933         readable/writable filesystems
23934         [2694ed627221]
23935
23936         * Makefile.in:
23937         now gives INSTALL -c flag
23938         [63db055a2fd1]
23939
23940         * parse.yacc:
23941         slightly simpler initialization of no_passwd and runas_matches
23942         [463a1b5fa323]
23943
23944         * testsudoers.c:
23945         added -u username support
23946         [38b072fcd6b3]
23947
23948         * configure.in:
23949         improved --with-libraries support
23950         [047dbc5f0af2]
23951
23952 1996-07-07  Todd C. Miller  <Todd.Miller@courtesan.com>
23953
23954         * configure.in:
23955         added --with-incpath, --with-libpath, --with-libraries
23956         [20f20d6c718c]
23957
23958         * parse.yacc:
23959         now initializes some fields that weren't getting set to -1 pretty
23960         gross -- need a rewrite.
23961         [021c160390c6]
23962
23963 1996-06-26  Todd C. Miller  <Todd.Miller@courtesan.com>
23964
23965         * alloca.c:
23966         removed emacs'isms
23967         [9d4ec2efe057]
23968
23969         * configure.in:
23970         no longer add -lPW to *_LIBS since we include alloca.c
23971         [a626d1bbea80]
23972
23973         * config.h.in:
23974         added HAVE_ALLOCA_H
23975         [15491e2a6cff]
23976
23977         * Makefile.in:
23978         added alloca.c
23979         [0400f25e1fe4]
23980
23981         * alloca.c:
23982         Initial revision
23983         [06d033aa4882]
23984
23985         * configure.in:
23986         ++version
23987         [f52c0fb98f90]
23988
23989 1996-06-25  Todd C. Miller  <Todd.Miller@courtesan.com>
23990
23991         * sudo.c:
23992         now set uid to 1 instead of nobody for PERM_SUDOERS since nobody is
23993         not always set to a valid uid.
23994         [c2669f77704d]
23995
23996         * OPTIONS:
23997         fixed entry for SUDO_MODE
23998         [d7272f6035b8]
23999
24000         * sudo.c:
24001         Fixed NFS-mounted sudoers file under solaris both uid *and* gid were
24002         being set to -2. Now beat NFS to the punch and set uid to "nobody"
24003         ourselves, preserving group 0 to read sudoers.
24004         [b1fbc5dd1e34]
24005
24006         * parse.c:
24007         moved set_perms(PERM_ROOT) to be before yyparse()
24008         [7619d8080735]
24009
24010         * logging.c:
24011         fixed a typo
24012         [318acc48cde0]
24013
24014         * configure.in:
24015         no longer need AC_PROG_INSTALL
24016         [de01b1336dc8]
24017
24018         * Makefile.in:
24019         always use install-sh to avoid install(1)'s that use get{pw,gr}nam
24020         [ea2351986406]
24021
24022         * INSTALL:
24023         make clean -> make distclean
24024         [704a98e8ba10]
24025
24026 1996-06-20  Todd C. Miller  <Todd.Miller@courtesan.com>
24027
24028         * parse.yacc:
24029         removed some unnecsary if's
24030         [f00db6508132]
24031
24032         * Makefile.in, version.h:
24033         ++version
24034         [bdb6740b24c8]
24035
24036         * parse.c, testsudoers.c:
24037         now includes netgroup.h
24038         [93f5a06352bc]
24039
24040         * interfaces.c:
24041         removed cats of ioctl to int since they didn't shut up -Wall
24042         [83e9f912cd7a]
24043
24044         * interfaces.c:
24045         explicately cast ioctl() to int since it it not always declared
24046         [2ff9294e469e]
24047
24048         * sudo.h:
24049         added declarations for yyparse() and yylex()
24050         [6071321ab771]
24051
24052         * parse.yacc:
24053         fixed an occurence of '==' -> '='
24054         [2c46d2e11d57]
24055
24056         * config.h.in, configure.in:
24057         added check for netgroup.h
24058         [73403050f4e3]
24059
24060         * sudo.c:
24061         fixed 2 compiler warnings
24062         [680929b0bd97]
24063
24064         * sudo.c:
24065         SHELL_IF_NO_ARGS caused core dump since NewArg[cv] weren't being
24066         initialized
24067         [18707ecd07c2]
24068
24069 1996-06-19  Todd C. Miller  <Todd.Miller@courtesan.com>
24070
24071         * sudo.pod:
24072         fixed a typo
24073         [e4b5c12aa130]
24074
24075 1996-06-17  Todd C. Miller  <Todd.Miller@courtesan.com>
24076
24077         * parse.yacc:
24078         fixed a formatting thingie
24079         [c79327b6f19b]
24080
24081         * parse.c, parse.yacc:
24082         fixed -u support with multiple user lists on a line
24083         [e4d1066adca2]
24084
24085         * configure.in:
24086         unixware needs -lgen
24087         [b5bf9bca63cc]
24088
24089         * README:
24090         updated ftp location
24091         [b25a033f7921]
24092
24093         * sudoers.pod:
24094         add net_addr/netmask support
24095         [674e83516d1e]
24096
24097         * sample.sudoers:
24098         added net_addr/mask example
24099         [774878e89b28]
24100
24101         * parse.c, parse.lex:
24102         added support for net_addr/netmask
24103         [e33de27325d8]
24104
24105 1996-06-16  Todd C. Miller  <Todd.Miller@courtesan.com>
24106
24107         * sudoers.pod:
24108         ^ -> !
24109         [1a084950d6ef]
24110
24111 1996-06-15  Todd C. Miller  <Todd.Miller@courtesan.com>
24112
24113         * RUNSON:
24114         updated for 1.4.3
24115         [c82019025d09]
24116
24117         * CHANGES:
24118         udpated for 1.4.3
24119         [ceaa81adb8f0]
24120
24121         * BUGS, TODO, TROUBLESHOOTING:
24122         updated
24123         [ff94fae4b853]
24124
24125         * sample.sudoers:
24126         updated with examples of new stuff
24127         [99d0b4cb4c9c]
24128
24129         * INSTALL, README:
24130         ++version
24131         [b763b80fe836]
24132
24133         * sudoers.pod:
24134         updated wrt -u and NOPASSWD
24135         [0b5b722ea0f4]
24136
24137         * sudo.pod:
24138         updated wrt -u and CAVEATS
24139         [71d5d53b5d18]
24140
24141 1996-06-09  Todd C. Miller  <Todd.Miller@courtesan.com>
24142
24143         * sudo.c:
24144         fixed usage()
24145         [114c7d09b550]
24146
24147         * parse.lex:
24148         now use :foo: character classes (makes no diff for generated lexer)
24149         [7b0aeb737a02]
24150
24151 1996-06-07  Todd C. Miller  <Todd.Miller@courtesan.com>
24152
24153         * check.c:
24154         fixed LONG_SKEY_PROMPT stuff
24155         [0efe78b4bdda]
24156
24157 1996-06-06  Todd C. Miller  <Todd.Miller@courtesan.com>
24158
24159         * visudo.c:
24160         fixed a comment
24161         [3d289017104b]
24162
24163         * lsearch.c:
24164         make more like NetBSD one -- now compiles w/o warnings
24165         [932206296a54]
24166
24167         * emul/search.h:
24168         fixed decls of lsearch()
24169         [c58cf4584c45]
24170
24171         * config.h.in, configure.in, getspwuid.c:
24172         added SPW_HPUX10
24173         [d74e5eaa5f17]
24174
24175         * check.c:
24176         hpux 10 uses bigcrypt() if C2
24177         [359eb63f4021]
24178
24179 1996-06-04  Todd C. Miller  <Todd.Miller@courtesan.com>
24180
24181         * parse.c:
24182         now always uses fnmatch to match args
24183         [a9d91f35256a]
24184
24185         * tgetpass.c:
24186         back to using stdio instead of raw i/o since that caused some
24187         problems
24188         [e7ce2bc92974]
24189
24190 1996-05-29  Todd C. Miller  <Todd.Miller@courtesan.com>
24191
24192         * sudo.c:
24193         now give usage warning if use -l,-v,-k with args
24194         [6b48180c4fea]
24195
24196 1996-05-28  Todd C. Miller  <Todd.Miller@courtesan.com>
24197
24198         * sudo.c:
24199         NewArgc is now set to 1 for -l, -v, -k
24200         [7497cb1416a8]
24201
24202         * sudo.c:
24203         now sets sudoers to correct group if mode is 0400
24204         [484c43d99718]
24205
24206         * install-sh:
24207         updated to version used by inn and bind
24208         [28683ad8725a]
24209
24210         * configure.in:
24211         now uses -lgnumalloc if it exists
24212         [3651ca4415a2]
24213
24214         * Makefile.in:
24215         "make install" now sets uid/gid and mode on sudoers if it exists
24216         [1f5216191ae9]
24217
24218         * sudo.c:
24219         rmeoved debugging statements
24220         [aeda278e2c26]
24221
24222         * parse.yacc:
24223         added a missing free()
24224         [592c9482a159]
24225
24226         * sudo.c:
24227         now uses user_gid instead of getegid (which was wrong anyway) to set
24228         SUDO_GID Now sets command line args in SUDO_COMMAND envariabled
24229         (logging.c depends on args being in the environment)
24230         [9f5328a3b942]
24231
24232         * logging.c:
24233         now uses SUDO_COMMAND envariable to get command args rather than
24234         building it up again.
24235         [7f8edc5bccb7]
24236
24237         * parse.c:
24238         now uses user_gid
24239         [4b9303ae45fe]
24240
24241         * sudo.c:
24242         fixed off by one error in allocation NewArgv
24243         [921ea1a4e7c6]
24244
24245         * parse.c:
24246         in sudoers, 'command ""' now means command with no args
24247         [a5273648ace2]
24248
24249         * configure.in:
24250         added check for fnmatch(3) and fnmatch.h
24251         [258916a7866f]
24252
24253         * config.h.in:
24254         added HAVE_FNMATCH
24255         [b9860d361e93]
24256
24257         * Makefile.in:
24258         replaced wildcat.* with fnmatch.*
24259         [03ad9ee21a1c]
24260
24261         * testsudoers.c:
24262         now uses fnmatch()
24263         [5a7f7de987a9]
24264
24265 1996-05-27  Todd C. Miller  <Todd.Miller@courtesan.com>
24266
24267         * parse.c:
24268         now uses fnmatch() instead of wildmat a trailing star (*) by itself
24269         now matches multiple args added support for wildcards in the
24270         pathname in sudoers
24271         [1f7fb950b868]
24272
24273 1996-05-25  Todd C. Miller  <Todd.Miller@courtesan.com>
24274
24275         * fnmatch.c:
24276         now includes compat.h and config.h
24277         [090206b95cf8]
24278
24279         * config.h.in:
24280         added HAVE_FNMATCH_H
24281         [90eb42150173]
24282
24283         * configure.in:
24284         now checks for alloca() (if needed by bison or dce) and links with
24285         -lPW if it contains alloca() and libv and compiler do not.
24286         [cfa2b3cef49a]
24287
24288         * emul/fnmatch.h, fnmatch.3, fnmatch.c:
24289         Initial revision
24290         [20b1f762a32a]
24291
24292 1996-04-29  Todd C. Miller  <Todd.Miller@courtesan.com>
24293
24294         * sudo.c:
24295         now fixes mode on sudoers if set to 0400 to aid in upgrade
24296         [d4bdfd521820]
24297
24298 1996-04-28  Todd C. Miller  <Todd.Miller@courtesan.com>
24299
24300         * Makefile.in:
24301         fixed pod2man usage
24302         [5adf2ec77b27]
24303
24304         * Makefile.in, configure.in, version.h:
24305         ++version
24306         [b4029de876d0]
24307
24308         * testsudoers.c, visudo.c:
24309         runas_user is now initialized to "root"
24310         [8537d97bff39]
24311
24312         * sudo.h:
24313         removed PERM_FULL_ROOT
24314         [241f8bbf647f]
24315
24316         * sudo.c:
24317         runas_user defaults to "root" so no more need to PERM_RUNAS
24318         [fc0c0dfc72ba]
24319
24320         * parse.c:
24321         will now only running commands as root if there was no runas list
24322         (or if root is in the runas list)
24323         [40c587666c81]
24324
24325         * logging.c:
24326         now logs "USER=%s"
24327         [b733504c87fd]
24328
24329         * parse.yacc:
24330         runas_matches is now set to false if we get a negative match
24331         [5495b150b300]
24332
24333         * parse.lex:
24334         make #uid work + some minor cleanup
24335         [07851bbce03a]
24336
24337         * sample.sudoers:
24338         added support for NOPASSWD and "runas" from garp@opustel.com /
24339         [7a9c67b51fa5]
24340
24341         * visudo.c:
24342         added support for "runas" from garp@opustel.com replaced
24343         SUDOERS_OWNER with SUDOERS_UID, SUDOERS_GID added support for
24344         SUDOERS_MODE
24345         [e714209b9885]
24346
24347         * testsudoers.c:
24348         added support for "runas" from garp@opustel.com
24349         [b837f856da10]
24350
24351         * sudo.h:
24352         added support for NO_PASSWD and runas from garp@opustel.com replaced
24353         SUDOERS_OWNER with SUDOERS_UID and SUDOERS_GID and added support
24354         fro SUDOERS_MODE
24355         [cea6f26679b7]
24356
24357         * sudo.c:
24358         added support for NO_PASSWD and runas from garp@opustel.com replaced
24359         SUDOERS_OWNER with SUDOERS_UID and SUDOERS_GID and added support fro
24360         SUDOERS_MODE
24361         [61b5434237c5]
24362
24363         * parse.yacc:
24364         added support for NO_PASSWD and runas from garp@opustel.com
24365         [72ebd3056f22]
24366
24367         * parse.c, parse.lex:
24368         added support for NO_PASSWD and runas from garp@opustel.com
24369         [fef6dbdd114d]
24370
24371         * logging.c:
24372         added support for SUDOERS_WRONG_MODE and "runas"
24373         [e794efc2b443]
24374
24375         * configure.in:
24376         added --with-CC only link with -lshadow on linux (with shadow pw) if
24377         libc lacks getspnam()
24378         [3ecf4ae21002]
24379
24380         * OPTIONS, options.h:
24381         removed NO_PASSWD since it is not possible to do this in the sudoers
24382         file itself. Replaced SUDOERS_OWNER with SUDOERS_UID and
24383         SUDOERS_GID. Added SUDOERS_MODE.
24384         [2eaa4891ef48]
24385
24386         * Makefile.in:
24387         now uses SUDOERS_UID and SUDOERS_GID
24388         [8d615f0fdb2a]
24389
24390 1996-04-27  Todd C. Miller  <Todd.Miller@courtesan.com>
24391
24392         * INSTALL:
24393         added --with-CC
24394         [a1b8286a81b8]
24395
24396 1996-04-06  Todd C. Miller  <Todd.Miller@courtesan.com>
24397
24398         * parse.lex:
24399         added double quote support
24400         [a5e4fc7e3a2b]
24401
24402         * sudoers.pod:
24403         documented double quoting
24404         [c6ea47969a44]
24405
24406 1996-04-05  Todd C. Miller  <Todd.Miller@courtesan.com>
24407
24408         * mkinstalldirs:
24409         Initial revision
24410         [dcb86d65ad8f]
24411
24412         * check.c:
24413         fixed some indentation
24414         [4d1c5ab8072b]
24415
24416         * Makefile.in:
24417         fixed a typo
24418         [0d27eebc7227]
24419
24420         * Makefile.in:
24421         added install-dirs .
24422         [f499b99b8be7]
24423
24424 1996-04-04  Todd C. Miller  <Todd.Miller@courtesan.com>
24425
24426         * dce_pwent.c:
24427         new version from "Jeff A. Earickson" <jaearick@colby.edu>
24428         [422481be5fbd]
24429
24430 1996-04-03  Todd C. Miller  <Todd.Miller@courtesan.com>
24431
24432         * configure.in:
24433         $CSOPS -> $with_csops (whoops, missed one)
24434         [b04c6948130e]
24435
24436         * BUGS:
24437         updated
24438         [c4d5713e227d]
24439
24440         * parse.lex:
24441         FQHOST now has same constraints as non-FQHOST
24442         [e1c3bf2381d1]
24443
24444         * INSTALL:
24445         added note about OS's w/ shadow passwords turned on by default
24446         [166257f43be4]
24447
24448 1996-04-02  Todd C. Miller  <Todd.Miller@courtesan.com>
24449
24450         * configure.in:
24451         fixed a typo
24452         [e5c3e2e9a359]
24453
24454         * configure.in:
24455         added support for --without-THING sanitized shadow pw situtation by
24456         adding support for
24457         --without-C2
24458         [65dc6bf64cce]
24459
24460         * tgetpass.c:
24461         fixed a typo wrt placement of an end paren
24462         [a8780f818231]
24463
24464         * check.c:
24465         was closing an fd that may not have been opened
24466         [760271c7bdc9]
24467
24468 1996-03-22  Todd C. Miller  <Todd.Miller@courtesan.com>
24469
24470         * OPTIONS, options.h, sudo.c:
24471         added NO_PASSWD
24472         [28ff1dc93d7a]
24473
24474 1996-03-20  Todd C. Miller  <Todd.Miller@courtesan.com>
24475
24476         * configure.in:
24477         now always use shadow pw on some arches
24478         [069161ccffda]
24479
24480 1996-03-19  Todd C. Miller  <Todd.Miller@courtesan.com>
24481
24482         * configure.in:
24483         added pyramid support
24484         [a0eb57a3a531]
24485
24486         * configure.in:
24487         no longer check for C2 if alternate passwd method is used no longer
24488         check for some libs twice
24489         [2d0c3c902b40]
24490
24491         * parse.yacc:
24492         moved fqdn stuff into parse.lex (FQHOST)
24493         [d9c9abd481d8]
24494
24495         * parse.lex:
24496         added FQHOST rules
24497         [4a1695acff6d]
24498
24499         * tgetpass.c:
24500         now define TCSASOFT in necesary
24501         [3fac2e21c9ab]
24502
24503         * tgetpass.c:
24504         now uses read/write instead of stdio string goop to avoid problems
24505         with select(2)
24506         [67fd174e518c]
24507
24508         * OPTIONS, find_path.c, options.h:
24509         -DNO_DOT_PATH -> -DIGNORE_DOT_PATH
24510         [d05ba5100d28]
24511
24512 1996-03-17  Todd C. Miller  <Todd.Miller@courtesan.com>
24513
24514         * INSTALL:
24515         added note about no shadow auto-detect if using alternate auth
24516         schemes
24517         [b425592232a3]
24518
24519         * configure.in:
24520         don't check for C2 if AFS or DCE (unless they said --with-C2)
24521         [61342962171a]
24522
24523         * testsudoers.c:
24524         now groks shost
24525         [85dda17303f6]
24526
24527         * OPTIONS, find_path.c, options.h:
24528         added NO_DOT_PATH
24529         [c261ca1fb196]
24530
24531 1996-03-16  Todd C. Miller  <Todd.Miller@courtesan.com>
24532
24533         * find_path.c:
24534         checkdot now works correctly
24535         [3bc4835bb3e9]
24536
24537 1996-03-12  Todd C. Miller  <Todd.Miller@courtesan.com>
24538
24539         * configure.in:
24540         can't have DCE and C2 passwords both...
24541         [fb9a8ab7ca66]
24542
24543 1996-03-11  Todd C. Miller  <Todd.Miller@courtesan.com>
24544
24545         * parse.yacc, sudo.c, sudo.h, visudo.c:
24546         now uses shost even if not FQDN
24547         [87f7498b3a1f]
24548
24549         * configure.in:
24550         now looks for skey in /usr/lib and doesn't require libskey to be in
24551         /usr/local/lib just because skey.h is (for my netbsd box :-)
24552         [ceb1763e37d2]
24553
24554         * aclocal.m4, config.h.in, pathnames.h.in:
24555         _SUDO_PATH_ -> _CONFIG_PATH_
24556         [84d97ad13d75]
24557
24558         * aclocal.m4, sudo.pod:
24559         /var/run/.odus -> /var/run/sudo
24560         [922da220b8f5]
24561
24562         * pathnames.h.in:
24563         now uses _SUDO_PATH_TIMEDIR
24564         [5ecab0155fdf]
24565
24566         * OPTIONS:
24567         udpated FQDN
24568         [361b6f7440c0]
24569
24570         * aclocal.m4, configure.in:
24571         added SUDO_TIMEDIR
24572         [368c95c8c950]
24573
24574         * config.h.in:
24575         added _SUDO_PATH_TIMEDIR
24576         [3879864d808c]
24577
24578         * sudo.pod:
24579         updated wrt /var/run/sudo
24580         [9e14f2a429d3]
24581
24582         * sudo.c, sudo.h:
24583         added support for shost if FQDN
24584         [51a3f51a09a1]
24585
24586         * parse.yacc, visudo.c:
24587         now uses shost if FQDN
24588         [d19da2e92b42]
24589
24590         * check.c:
24591         Now use skeylookup() instead off skeychallenge()
24592         [4c7438bb2ae0]
24593
24594 1996-02-28  Todd C. Miller  <Todd.Miller@courtesan.com>
24595
24596         * logging.c:
24597         mail_argv should not contain ALERTMAIL as it includes "-t"
24598         [67ffaaa8f843]
24599
24600 1996-02-22  Todd C. Miller  <Todd.Miller@courtesan.com>
24601
24602         * INSTALL, Makefile.in, README, configure.in, version.h:
24603         ++version
24604         [e08fd4a809fc]
24605
24606         * compat.h:
24607         added more _PASSWD_LEN stuff -- now uses PASS_MAX too
24608         [2f20c3153689]
24609
24610         * tgetpass.c:
24611         now includes limits.h moved _PASSWD_LEN -> compat.h
24612         [b1ca3cafdacc]
24613
24614 1996-02-06  Todd C. Miller  <Todd.Miller@courtesan.com>
24615
24616         * INSTALL, README:
24617         ++version
24618         [3eacf32803f5]
24619
24620         * Makefile.in:
24621         ++versoin
24622         [3b91c317630a]
24623
24624         * Makefile.in:
24625         fixed a typo
24626         [3661ac4a7803]
24627
24628         * configure.in:
24629         ++version
24630         [60e842973745]
24631
24632 1996-02-05  Todd C. Miller  <Todd.Miller@courtesan.com>
24633
24634         * RUNSON:
24635         updated
24636         [def2c3c24195]
24637
24638         * CHANGES:
24639         done for 1.4.1 (I hope)
24640         [2ab543769a40]
24641
24642         * sudoers.pod:
24643         added info on wildcards
24644         [ce3bd41bc063]
24645
24646         * sample.sudoers:
24647         added wildcard example
24648         [762feb0577bd]
24649
24650         * Makefile.in:
24651         now uses *.pod to build *.man and *.cat & *.html
24652         [3ec14962028b]
24653
24654         * configure.in:
24655         addedSUDO_PROG_BSHELL !ll
24656         [3c80b320bf16]
24657
24658         * visudo.pod:
24659         fixed up some formatting
24660         [12166c434526]
24661
24662         * sudoers.pod:
24663         redid section describing sample sudoers stuff
24664         [b8065cceec71]
24665
24666         * sudo.pod:
24667         fixed some formatting
24668         [aa9a681add0f]
24669
24670         * getspwuid.c:
24671         now treats "" as bourne shell
24672         [30194a72ad56]
24673
24674         * Makefile.in:
24675         TESTOBJS nwo includes wildmat.o
24676         [86cc6500f84d]
24677
24678         * testsudoers.c:
24679         now works with NewArg[cv]
24680         [2f72674ce942]
24681
24682         * sudo.c:
24683         removed an XXX (fixed it in getspwuid.c)
24684         [e791ee0d1a68]
24685
24686         * aclocal.m4:
24687         added check for bourne shell
24688         [a2fd51676b8a]
24689
24690         * pathnames.h.in:
24691         added _PATH_BSHELL
24692         [e7c10011d47b]
24693
24694         * config.h.in:
24695         added _SUDO_PATH_BSHELL
24696         [6a1182898de9]
24697
24698 1996-02-04  Todd C. Miller  <Todd.Miller@courtesan.com>
24699
24700         * visudo.c:
24701         unixware vi returns 256 instead of 0
24702         [234ffc7c6786]
24703
24704         * INSTALL:
24705         added Linux note
24706         [5f85efcd2b58]
24707
24708         * logging.c:
24709         fixed up some XXX's. file log format now looks a little more like
24710         real syslog(3) format.
24711         [6df55707bfc3]
24712
24713         * README, TROUBLESHOOTING:
24714         updated wrt lex/flex
24715         [eb787d69156b]
24716
24717         * Makefile.in:
24718         commented out rule to build lex.yy.c from parse.lex since we ship
24719         with a pre-flex'd parser
24720         [7507e2ce4a95]
24721
24722         * parse.c, parse.yacc, visudo.c:
24723         path_matches -> command_matches
24724         [0bd469424f86]
24725
24726         * logging.c:
24727         eliminated some strcat()'s
24728         [9878a79bc374]
24729
24730         * configure.in:
24731         no longer checks for lex/flex (now assumes flex)
24732         [a086ccc73798]
24733
24734         * configure.in:
24735         now checks for $kerb_dir_candidate/krb.h instead of just
24736         kerb_dir_candidate
24737         [9133bc3c5208]
24738
24739 1996-02-03  Todd C. Miller  <Todd.Miller@courtesan.com>
24740
24741         * parse.yacc:
24742         now use a 'hook' expression instead of an iffy one :-)
24743         [9560df01b8c0]
24744
24745 1996-02-02  Todd C. Miller  <Todd.Miller@courtesan.com>
24746
24747         * visudo.c:
24748         now works with new sudo arg stuff
24749         [310a0d43ddad]
24750
24751         * parse.yacc:
24752         fixed dereferencing deadbeef
24753         [474ef8a8006b]
24754
24755         * sudo.c:
24756         changed an occurrence of Argv to NewArgv
24757         [205b012b7691]
24758
24759         * parse.lex:
24760         took out support for quoted commands since there is no need...
24761         [5c5036d353b1]
24762
24763         * parse.c:
24764         fixed a typo in a for() loop
24765         [7e8d5283c43b]
24766
24767         * logging.c:
24768         protected against dereferencing rogue pointers
24769         [56debd517717]
24770
24771         * sudo.c:
24772         now uses NewArgv amd NewArgc so cmnd_aegs is no longer needed this
24773         also allows us to eliminate some kludges in parse_args() and
24774         eliminate superfluous code.
24775         [5122f66ad150]
24776
24777         * logging.c:
24778         no longer uses cmnd_args, now uses NewArgv instead.
24779         [abddd23cf068]
24780
24781         * sudo.h:
24782         added struct sudo_command, NewArgc, and NewArgv removed cmnd_args
24783         (no longer used)
24784         [78410984fb05]
24785
24786         * Makefile.in:
24787         added wildmat.c to SRCS & SUDOBJS
24788         [3800efb41794]
24789
24790         * parse.yacc:
24791         COMMAND is now a struct containing the path and args
24792         [5c32822c5b94]
24793
24794         * parse.lex:
24795         replaced append() with fill_cmnd() and fill_args. command args from
24796         a sudoers entry are now stored in an arrary for easy matching.
24797         [a981d7f4eb0d]
24798
24799         * parse.c:
24800         command line args from sudoers file are now in an array like ones
24801         passed in from the command line
24802         [1d9e37e84519]
24803
24804 1996-02-01  Todd C. Miller  <Todd.Miller@courtesan.com>
24805
24806         * parse.c:
24807         wildwat stuff now works
24808         [49d16488531f]
24809
24810 1996-01-29  Todd C. Miller  <Todd.Miller@courtesan.com>
24811
24812         * version.h:
24813         ++version
24814         [53e55463ef89]
24815
24816         * Makefile.in:
24817         ++version added wildmat.*
24818         [0508297a4711]
24819
24820 1996-01-28  Todd C. Miller  <Todd.Miller@courtesan.com>
24821
24822         * parse.lex:
24823         added support for quoted commands (w/ or w/o args)
24824         [b9a637155673]
24825
24826 1996-01-22  Todd C. Miller  <Todd.Miller@courtesan.com>
24827
24828         * sudo.pod, visudo.pod:
24829         cleaned up formatting
24830         [4591d4195437]
24831
24832         * sudo.pod, visudo.pod:
24833         Initial revision
24834         [7564a8242750]
24835
24836 1996-01-21  Todd C. Miller  <Todd.Miller@courtesan.com>
24837
24838         * sudoers.pod:
24839         looks reasonable, could be mroe readable
24840         [a5be2d19d9e0]
24841
24842         * sudoers.pod:
24843         Initial revision
24844         [957888be31a6]
24845
24846 1996-01-16  Todd C. Miller  <Todd.Miller@courtesan.com>
24847
24848         * RUNSON:
24849         updated
24850         [633743aa924b]
24851
24852         * OPTIONS:
24853         updated NO_ROOT_SUDO entry
24854         [f1c15b1dec9e]
24855
24856 1996-01-15  Todd C. Miller  <Todd.Miller@courtesan.com>
24857
24858         * RUNSON:
24859         *** empty log message ***
24860         [5b63de579ff7] [SUDO_1_4_0]
24861
24862         * sudo.c:
24863         fixed SECURE_PATH
24864         [6002889f606d]
24865
24866         * RUNSON:
24867         udpa`ted for 1.4
24868         [6014a8592815]
24869
24870         * configure.in:
24871         AIX aixcrypt.exp now uses $(srcdir)
24872         [b0d57674fef4]
24873
24874         * TROUBLESHOOTING:
24875         added entry for anal ansi compilers
24876         [4193cec1c6b1]
24877
24878 1996-01-14  Todd C. Miller  <Todd.Miller@courtesan.com>
24879
24880         * INSTALL:
24881         added info on libcrypt_i for SCO
24882         [575497d56698]
24883
24884         * TODO:
24885         *** empty log message ***
24886         [d0aaf67b9913]
24887
24888         * sample.sudoers:
24889         added comments
24890         [a7773f7eda8d]
24891
24892         * TODO:
24893         1.4 release
24894         [1dade29e9fd9]
24895
24896         * CHANGES:
24897         ++version
24898         [67241be40780]
24899
24900         * INSTALL, OPTIONS, README, config.h.in, configure.in:
24901         ++version
24902         [2e0a37897f68]
24903
24904         * BUGS:
24905         ++version and fixed ISC
24906         [78963f01a0e3]
24907
24908         * check.c, compat.h, dce_pwent.c, find_path.c, getspwuid.c, getwd.c,
24909         goodpath.c, ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h,
24910         insults.h, logging.c, options.h, pathnames.h.in, putenv.c, strdup.c,
24911         sudo.c, sudo.h, sudo_setenv.c, testsudoers.c, tgetpass.c, utime.c,
24912         visudo.c:
24913         ++version
24914         [b6227f29b3d9]
24915
24916         * interfaces.c:
24917         added STUB_LOAD_INTERFACES ++version
24918         [d8150a3fd577]
24919
24920         * Makefile.in, emul/utime.h, parse.c, parse.lex, parse.yacc,
24921         version.h:
24922         ++version
24923         [da9e90e69bdc]
24924
24925         * PORTING:
24926         added info about fd_set in tgetpass added info on interfaces.c
24927         [a39902febd17]
24928
24929 1996-01-11  Todd C. Miller  <Todd.Miller@courtesan.com>
24930
24931         * dce_pwent.c:
24932         added sudo header
24933         [fc0f2c48682e]
24934
24935         * tgetpass.c:
24936         fixed a typo
24937         [43d40b72ee8f]
24938
24939         * Makefile.in:
24940         tgetpass.o is now only linked in with sudo (not visudo)
24941         [7407c5ff11f8]
24942
24943 1996-01-09  Todd C. Miller  <Todd.Miller@courtesan.com>
24944
24945         * BUGS, INSTALL, Makefile.in, OPTIONS, README, config.h.in,
24946         configure.in:
24947         ++version
24948         [9b82ad805d6b]
24949
24950         * emul/utime.h:
24951         added copyright notice
24952         [4380f16cd075]
24953
24954         * check.c, compat.h, find_path.c, getspwuid.c, getwd.c, goodpath.c,
24955         ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h, insults.h,
24956         interfaces.c, logging.c, options.h, parse.c, parse.lex, parse.yacc,
24957         pathnames.h.in, putenv.c, strdup.c, sudo.c, sudo.h, sudo_setenv.c,
24958         testsudoers.c, tgetpass.c, utime.c, version.h, visudo.c:
24959         ++version
24960         [32717fdb5d05]
24961
24962         * tgetpass.c:
24963         minor cleanup and now includes sys/bsdtypes for svr4'ish boxen
24964         [326864428da2]
24965
24966         * configure.in:
24967         ISC now gets -lcrypt now check for sys/bsdtypes.h
24968         [e064799c054b]
24969
24970         * config.h.in:
24971         added check for sys/bsdtypes.h
24972         [9adb9533c363]
24973
24974 1996-01-07  Todd C. Miller  <Todd.Miller@courtesan.com>
24975
24976         * parse.yacc:
24977         removed debugging stuff (setting freed ptr to NULL)
24978         [02fe8eec63a0]
24979
24980         * TROUBLESHOOTING:
24981         added 2 entries
24982         [02884e2733e2]
24983
24984         * Makefile.in:
24985         added FAQ
24986         [074d8dfcf28d]
24987
24988         * TROUBLESHOOTING:
24989         added section on syslog
24990         [e6bc02a22b86]
24991
24992         * configure.in:
24993         added AC_ISC_POSIX for better ISC support
24994         [8436b3e12af2]
24995
24996         * config.h.in:
24997         fixed typo
24998         [f1b3922babf4]
24999
25000         * config.h.in:
25001         added define for _POSIX_SOURCE
25002         [ded6d92b34f9]
25003
25004 1996-01-04  Todd C. Miller  <Todd.Miller@courtesan.com>
25005
25006         * configure.in:
25007         fixed check for lsearch()
25008         [75baa5bc28a3]
25009
25010 1995-12-22  Todd C. Miller  <Todd.Miller@courtesan.com>
25011
25012         * interfaces.c:
25013         fixed for AIX now deal if num_interfaces == 0 (should not happen)
25014         [ae450e859227]
25015
25016 1995-12-20  Todd C. Miller  <Todd.Miller@courtesan.com>
25017
25018         * configure.in:
25019         now only define HAVE_LSEARCH if there is a corresponding search.h
25020         [8ce645c5d17f]
25021
25022         * interfaces.c:
25023         works on ISC again
25024         [ccac920d424c]
25025
25026 1995-12-18  Todd C. Miller  <Todd.Miller@courtesan.com>
25027
25028         * configure.in:
25029         now define HAVE_LSEARCH if we find lsearch() in libcompat
25030         [7343e4313a87]
25031
25032         * lsearch.c:
25033         char * -> const char *
25034         [1c0b11c2300a]
25035
25036         * configure.in:
25037         now looks in -lcompat for lsearch()
25038         [a1cc1d6fcd09]
25039
25040         * Makefile.in:
25041         remove sudo.core visudo.core for clan target
25042         [b523456a85df]
25043
25044         * aclocal.m4:
25045         added UID_MAX support in check for MAX_UID_T_LEN
25046         [7ab262b1173f]
25047
25048         * Makefile.in:
25049         fixed another occurence of sudo_getpwuid.*
25050         [fb5809c07da2]
25051
25052         * Makefile.in, getspwuid.c:
25053         sudo_getpwuid.c -> getspwuid.c
25054         [875f2ef808b4]
25055
25056         * configure.in:
25057         moved the "echo"
25058         [ad7b8f966076]
25059
25060         * BUGS, CHANGES, INSTALL, Makefile.in, OPTIONS, README, check.c,
25061         compat.h, config.h.in, configure.in, find_path.c, getspwuid.c,
25062         getwd.c, goodpath.c, ins_2001.h, ins_classic.h, ins_csops.h,
25063         ins_goons.h, insults.h, interfaces.c, logging.c, options.h, parse.c,
25064         parse.lex, parse.yacc, pathnames.h.in, putenv.c, strdup.c, sudo.c,
25065         sudo.h, sudo_setenv.c, testsudoers.c, tgetpass.c, utime.c,
25066         version.h, visudo.c:
25067         ++version
25068         [ee57c6410ffa]
25069
25070         * testsudoers.c:
25071         added group support
25072         [54d8097df8bd]
25073
25074         * sample.sudoers:
25075         added group entry
25076         [50994d31fd49]
25077
25078         * sudoers.man:
25079         documented group support
25080         [0a16707f8fed]
25081
25082         * parse.c, parse.lex, parse.yacc, visudo.c:
25083         added group support
25084         [427218c879c8]
25085
25086 1995-12-15  Todd C. Miller  <Todd.Miller@courtesan.com>
25087
25088         * check.c:
25089         tkfile was too short and overflowed the kerberos realm
25090         [53823a1ff5af]
25091
25092 1995-12-11  Todd C. Miller  <Todd.Miller@courtesan.com>
25093
25094         * sudo.c:
25095         now copy command args directly from Argv
25096         [77408278b6fd]
25097
25098         * sudo.c:
25099         replaced code to copy cmnd_args so that is does not use realloc
25100         since most realloc()'s really stink
25101         [b29a0ff73fb6]
25102
25103 1995-12-08  Todd C. Miller  <Todd.Miller@courtesan.com>
25104
25105         * configure.in:
25106         syslog() fixed in hpux 10.01
25107         [2648e6f0cdb0]
25108
25109 1995-12-06  Todd C. Miller  <Todd.Miller@courtesan.com>
25110
25111         * configure.in:
25112         AC_CHECK_LIB() now sets SUDO_LIBS (and VISUDO_LIBS if appropriate)
25113         [8f108b8d8711]
25114
25115         * configure.in:
25116         better error if cannot find skey incs or libs
25117         [5887662ee9d3]
25118
25119         * aclocal.m4:
25120         now use a temp file for determining max len of uid_t in string form.
25121         the old hacky way broke on netbsd
25122         [b68f470fa9f8]
25123
25124         * sudo.c:
25125         added set of parens and a space
25126         [8a3d4826d022]
25127
25128 1995-12-05  Todd C. Miller  <Todd.Miller@courtesan.com>
25129
25130         * dce_pwent.c:
25131         fixes from Jeff Earickson <jaearick@colby.edu> ,
25132         [bde0f0b756ec]
25133
25134         * check.c:
25135         modified a comment
25136         [e2a97f1afbbe]
25137
25138         * Makefile.in:
25139         fixed up testsudoers target
25140         [d39c4e7bb609]
25141
25142         * configure.in:
25143         DCE changes from Jeff Earickson <jaearick@colby.edu> LIBS ->
25144         SUDO_LIBS and VISUDO_LIBS LDFLAGS -> SUDO_FDFLAGS and VISUDO_LDFLAGS
25145         [da7a1c433828]
25146
25147         * Makefile.in:
25148         LIBS -> SUDO_LIBS , VISUDO_LIBS LDFLAGS -> SUDO_LDFLAGS,
25149         VISUDO_LDFLAGS
25150         [4b69503e8487]
25151
25152 1995-11-28  Todd C. Miller  <Todd.Miller@courtesan.com>
25153
25154         * configure.in:
25155         fix for C2 on hpux 10 now uses -linet if it exists
25156         [8d300112263d]
25157
25158         * check.c:
25159         LONG_SKEY_PROMPT is less of a klusge /
25160         [dcc144abaac3]
25161
25162         * configure.in:
25163         fixed typos w/ dce stuff
25164         [f7dfd6d4e149]
25165
25166         * Makefile.in:
25167         added dce_pwent.c
25168         [79047acdc516]
25169
25170 1995-11-26  Todd C. Miller  <Todd.Miller@courtesan.com>
25171
25172         * INSTALL:
25173         amended section on combining authentication mechanisms
25174         [dc5138c7c716]
25175
25176         * PORTING:
25177         minor updates for 1.3.6
25178         [fe80c13bd994]
25179
25180         * TROUBLESHOOTING:
25181         added 2 more entries
25182         [c7201439a0f5]
25183
25184         * BUGS:
25185         updated for 1.3.6
25186         [979b414d2a2d]
25187
25188         * README:
25189         overhauled
25190         [3af8b60eb594]
25191
25192         * INSTALL:
25193         rewrote for sudo 1.3.6
25194         [b16027b9c726]
25195
25196         * TROUBLESHOOTING:
25197         added 3 entries
25198         [934c9ee3f153]
25199
25200 1995-11-25  Todd C. Miller  <Todd.Miller@courtesan.com>
25201
25202         * find_path.c, getspwuid.c, sudo.c:
25203         added explict casts for strdup since many includes don't prototype
25204         it. gag me.
25205         [3e19a11f2fcc]
25206
25207         * sudo.h:
25208         removed prototype for sudo_getpwuid() since convex C compiler choked
25209         on it.
25210         [c3ea74ca67b0]
25211
25212         * sudo.c:
25213         added prototype for sudo_getpwuid()
25214         [4a8e3cdc2b98]
25215
25216         * lsearch.c:
25217         now compiles on strict ANSI compilers
25218         [3ce5d72d0b08]
25219
25220         * check.c:
25221         added LONG_SKEY_PROMPT support
25222         [48a18b8a2332]
25223
25224         * Makefile.in:
25225         added extra $'s for make to eat up, yum.
25226         [2995b214e12b]
25227
25228         * OPTIONS, options.h:
25229         added LONG_SKEY_PROMPT
25230         [f23ae799b5a4]
25231
25232 1995-11-24  Todd C. Miller  <Todd.Miller@courtesan.com>
25233
25234         * check.c:
25235         s/key support now works with normal s/key as well as logdaemon
25236         [d67573f523bf]
25237
25238         * OPTIONS, options.h:
25239         added SKEY_ONLY
25240         [bbf07654e0de]
25241
25242         * compat.h:
25243         set _PASSWD_LEN to 256 for any of KERB4, DCE, SKEY
25244         [205895b96a36]
25245
25246         * INSTALL:
25247         added DCE note added more AIX notes
25248         [6345403b3522]
25249
25250         * sudo.c:
25251         now include pthread.h for DCE support
25252         [6fe02865f679]
25253
25254         * check.c:
25255         dce_pwent() is ok after all .,
25256         [d26a8746a55d]
25257
25258         * logging.c:
25259         now uses SYSLOG() macro that equates to either syslog() or
25260         syslog_wrapper
25261         [42ac4cff8045]
25262
25263         * dce_pwent.c:
25264         minor formatting changes. renamed check() to somthing less generic
25265         [71859f217be1]
25266
25267         * check.c, logging.c, parse.yacc, sudo.c, sudo.h, testsudoers.c,
25268         visudo.c:
25269         now uses user_pw_ent and simple macros to get at the contents
25270         [f4cbf3e7145a]
25271
25272 1995-11-23  Todd C. Miller  <Todd.Miller@courtesan.com>
25273
25274         * check.c:
25275         simpler dec unix C2 support
25276         [86bc8f75250e]
25277
25278         * getspwuid.c:
25279         now sets crypt_type for DEC unix C2
25280         [99aeadd18266]
25281
25282 1995-11-21  Todd C. Miller  <Todd.Miller@courtesan.com>
25283
25284         * configure.in:
25285         added csops paths for skey
25286         [b8ca672e2117]
25287
25288         * getspwuid.c:
25289         now includes string.h for strdup() prototype
25290         [3605259c3620]
25291
25292         * getspwuid.c:
25293         fixed a few typos
25294         [46c97e4ea417]
25295
25296         * check.c:
25297         now includes skey.h
25298         [11e611ce1b61]
25299
25300         * getspwuid.c:
25301         fixed up comments
25302         [223dac56f0c8]
25303
25304         * check.c:
25305         moved a lot of the shadow passwd crap to sudo_getpwuid()
25306         [97d8887fb7d3]
25307
25308         * sudo.c:
25309         now uses sudo_pw_ent
25310         [d014dadbef48]
25311
25312         * testsudoers.c:
25313         now uses sudo_pw_ent
25314         [d92936ed7e34]
25315
25316         * visudo.c:
25317         now sets sudo_pw_ent
25318         [ff75cdfcf8b3]
25319
25320         * getspwuid.c:
25321         Initial revision
25322         [6deb6df9d7bc]
25323
25324         * tgetpass.c:
25325         moved dce stuff into compat.h
25326         [1124284396e7]
25327
25328         * logging.c, sudo.h:
25329         now uses sudo_pw_ent
25330         [404ff20a5067]
25331
25332         * Makefile.in:
25333         added sudo_getpwuid.c
25334         [6666d0644512]
25335
25336         * compat.h:
25337         added dce support
25338         [3c3b36a7ce0e]
25339
25340         * parse.yacc:
25341         now uses sudo_pw_ent
25342         [9f5e8d11bd68]
25343
25344 1995-11-20  Todd C. Miller  <Todd.Miller@courtesan.com>
25345
25346         * check.c:
25347         fixed exempt_group stuff for OS's that don't put base gid in group
25348         vector
25349         [003f153bd396]
25350
25351         * check.c:
25352         S/Key support now works with sunos4 shadow passwords
25353         [1eb64a5efff1]
25354
25355         * Makefile.in:
25356         fixed clean rule
25357         [5695a2c62816]
25358
25359         * config.h.in, configure.in:
25360         added DCE support
25361         [f53c766c1947]
25362
25363         * tgetpass.c:
25364         DCE & KERB support
25365         [904cf436506a]
25366
25367         * check.c:
25368         first stab at dce support
25369         [aea5ca07b1e3]
25370
25371         * dce_pwent.c:
25372         now smells like sudo
25373         [8b3d609b49cd]
25374
25375         * dce_pwent.c:
25376         Initial revision
25377         [b573555f2399]
25378
25379         * check.c:
25380         skey'd sudo now works w/ normal password as well
25381         [8d038f9f6e94]
25382
25383 1995-11-19  Todd C. Miller  <Todd.Miller@courtesan.com>
25384
25385         * Makefile.in, OPTIONS, check.c, compat.h, config.h.in, find_path.c,
25386         getwd.c, goodpath.c, ins_2001.h, ins_classic.h, ins_csops.h,
25387         ins_goons.h, insults.h, interfaces.c, logging.c, options.h, parse.c,
25388         parse.lex, parse.yacc, pathnames.h.in, putenv.c, strdup.c, sudo.c,
25389         sudo.h, sudo_setenv.c, testsudoers.c, tgetpass.c, utime.c,
25390         version.h, visudo.c:
25391         updated version number
25392         [ba7e346d7904]
25393
25394         * README:
25395         updated to reflect version change
25396         [1d15cf1d8cc8]
25397
25398         * configure.in:
25399         --with options now line up ++version
25400         [08ebf625fbca]
25401
25402         * sudo.h:
25403         removed unecesary S/Key stuff
25404         [68188cba90af]
25405
25406         * configure.in:
25407         fixed S/Key support
25408         [f6d9cbc36618]
25409
25410         * Makefile.in:
25411         -I stuff now goes in CPPFLAGS
25412         [7b8e53c5b046]
25413
25414         * check.c:
25415         fixed SKey support
25416         [52c1a5cf4435]
25417
25418         * README:
25419         updated version
25420         [bed6498a10bb]
25421
25422         * OPTIONS:
25423         fixed description of EXEMPTGROUP
25424         [cfeead55edc2]
25425
25426         * sudo.c:
25427         more people use _RLD_ than just alphas...
25428         [6a3c7090a6f6]
25429
25430         * Makefile.in:
25431         replaced $man_prefix with $mandir
25432         [dc4b36a550e2]
25433
25434         * configure.in:
25435         fixed a typo
25436         [a38a4acddcaf]
25437
25438         * Makefile.in:
25439         now use more GNU'ish dir names
25440         [c5498391a520]
25441
25442         * configure.in:
25443         now set *dir correctly (can override from command line)
25444         [523ff98fd438]
25445
25446         * sudo.c:
25447         now deal with situations where we getwd() fails
25448         [88a9e61dccbb]
25449
25450 1995-11-17  Todd C. Miller  <Todd.Miller@courtesan.com>
25451
25452         * Makefile.in:
25453         added etc_dir, bin_dir, sbin_dir
25454         [75fd08d92842]
25455
25456         * configure.in:
25457         added sbin_dir
25458         [3cb318c0d8d1]
25459
25460         * Makefile.in:
25461         now ship a flex-generated lex.yy.c
25462         [4d083ed70dce]
25463
25464         * Makefile.in:
25465         now sets _PATH_SUDO_SUDOERS, _PATH_SUDO_STMP, SUDOERS_OWNER
25466         [4d51dc9c3780]
25467
25468         * pathnames.h.in:
25469         _PATH_SUDO_SUDOERS & _PATH_SUDO_STMP are now overridden via Makefile
25470         [773fd163d52f]
25471
25472         * options.h:
25473         no more error for redefining SUDOERS_OWNER
25474         [4ba336644c6a]
25475
25476         * OPTIONS:
25477         expanded SUDOERS_OWNER section
25478         [12fae405759e]
25479
25480 1995-11-16  Todd C. Miller  <Todd.Miller@courtesan.com>
25481
25482         * visudo.c:
25483         now warn if chown(2) failed
25484         [d0d1db6e3a1f]
25485
25486         * logging.c:
25487         better default warning for NO_SUDOERS_FILE
25488         [5260b458ac64]
25489
25490         * sudo.c:
25491         added missing set_perms() no more cryptic message if the sudoers
25492         file is zero length, now just give a parse error
25493         [b81ea724838a]
25494
25495         * logging.c:
25496         better diagnostics if NO_SUDOERS_FILE
25497         [877e878663c5]
25498
25499         * sudo.c:
25500         check_sudoers() now catches sudoers files that are not readable (but
25501         are stat'able).
25502         [fea05663b3de]
25503
25504 1995-11-13  Todd C. Miller  <Todd.Miller@courtesan.com>
25505
25506         * configure.in:
25507         now add -D__STDC__ for convex cc (not gcc)
25508         [c80fc53ff51b]
25509
25510         * configure.in:
25511         MAN_PREFIX -> man_prefix now sets prefix and exec_prefix
25512         [fe238226a057]
25513
25514         * Makefile.in:
25515         now uses exec_prefix & prefix from configure
25516         [f62fca5f56bd]
25517
25518         * find_path.c, getwd.c, goodpath.c, interfaces.c, logging.c, parse.c,
25519         parse.lex, parse.yacc, sudo.c, sudo.h, sudo_setenv.c, tgetpass.c,
25520         utime.c, visudo.c:
25521         options.h is now <> instead of "" so shadow build trees can have a
25522         custom copy of options.h
25523         [e6782676099c]
25524
25525         * check.c:
25526         user_is_exempt() is no longer a hack, it now uses getgrnam()
25527         [287f8d5356f7]
25528
25529         * options.h:
25530         EXEMPTGROUP is now "sudo"
25531         [61487304dbe1]
25532
25533         * configure.in:
25534         MAN_POSTINSTALL now contains a leading space
25535         [eaad4ac34012]
25536
25537         * Makefile.in:
25538         removed leading tab if @MAN_POSTINSTALL@ not defined now removes
25539         testsudoers in clean:
25540         [e01711baceb8]
25541
25542         * tgetpass.c:
25543         includes pwd.h to get _PASSWD_LEN definition
25544         [8ec174f263f1]
25545
25546 1995-10-30  Todd C. Miller  <Todd.Miller@courtesan.com>
25547
25548         * sudo.c:
25549         unset the KRB_CONF envariable if using kerberos so we don't get
25550         spoofed into using a bogus server
25551         [2561a0274fca]
25552
25553 1995-09-29  Todd C. Miller  <Todd.Miller@courtesan.com>
25554
25555         * parse.yacc:
25556         now explicately initialize match[] tp be FALSE
25557         [0e45e5c47766]
25558
25559 1995-09-23  Todd C. Miller  <Todd.Miller@courtesan.com>
25560
25561         * sudo.c:
25562         removed unused variable now passes -Wall
25563         [3452508bc16d]
25564
25565         * parse.yacc:
25566         yyerror and dumpaliases are now void's now passes -Wall
25567         [2769dfb51993]
25568
25569         * parse.lex:
25570         added prototype for yyerror
25571         [1f3f0c1b4ab4]
25572
25573         * check.c, logging.c, parse.c:
25574         now passes -Wall
25575         [eab57e5e81d2]
25576
25577         * interfaces.c:
25578         rmeoved unused cruft now passes -Wall
25579         [7a47e1866f4b]
25580
25581         * Makefile.in:
25582         fixed headers that moved to emul dir
25583         [e680c1e5049b]
25584
25585         * logging.c:
25586         fixed deref of nil pointer if no args
25587         [973b9bea432f]
25588
25589 1995-09-15  Todd C. Miller  <Todd.Miller@courtesan.com>
25590
25591         * OPTIONS:
25592         added a caveat to FQDN section
25593         [dcf6e2a5fff4]
25594
25595 1995-09-13  Todd C. Miller  <Todd.Miller@courtesan.com>
25596
25597         * Makefile.in:
25598         more $srcdir support for install targets
25599         [f6eac78436dd]
25600
25601         * find_path.c, interfaces.c, parse.c, parse.lex, parse.yacc, putenv.c,
25602         strdup.c, sudo.c, sudo_setenv.c, testsudoers.c, visudo.c:
25603         don't include malloc.h if we include stdlib.h
25604         [fca2ff307cd8]
25605
25606         * parse.yacc:
25607         local search.h now lives in emul
25608         [51c458904424]
25609
25610         * check.c, utime.c:
25611         local utime.h now lives in emul dir
25612         [f92fc9e8c8de]
25613
25614         * lsearch.c:
25615         local search.h now lives in emul
25616         [579efc407439]
25617
25618         * Makefile.in:
25619         added support for building in other than the sourcedir
25620         [2ab53a43f7d4]
25621
25622 1995-09-10  Todd C. Miller  <Todd.Miller@courtesan.com>
25623
25624         * OPTIONS:
25625         annotated CSOPS_INSULTS option
25626         [9e57d45a0afa]
25627
25628         * TROUBLESHOOTING:
25629         updated shadow passwords blurb
25630         [39b785bc7253]
25631
25632         * sudo.c:
25633         if SHELL_IF_NO_ARGS is set, "sudo -- foo" now runs a shell and
25634         passes along foo as the arguments
25635         [a91077aa8fc5]
25636
25637 1995-09-09  Todd C. Miller  <Todd.Miller@courtesan.com>
25638
25639         * parse.lex:
25640         collapsed pathname and dir sections into one -- its now less
25641         expensive
25642         [89caa03bec25]
25643
25644         * parse.lex:
25645         fixed spacing quoting [,:\\=] now works correctly append() and
25646         fill() now take args to make the above work
25647         [09d023d9ef3a]
25648
25649         * sudo.c:
25650         fixed a typo that caused commands with no tty on fd 0 but a tty on
25651         fd 1 to erroneously have "none" as their tty
25652         [07d2c0e7977c]
25653
25654 1995-09-04  Todd C. Miller  <Todd.Miller@courtesan.com>
25655
25656         * check.c:
25657         timestampfile is now a global static removed decl of timestampfile
25658         in remove_timestamp since we can just use the global one
25659         [f0cbdc6aab1c]
25660
25661         * check.c:
25662         created touch() to update timestamps added USE_TTY_TICKETS support
25663         (bit of a kludge)
25664         [cee1dd0318f8]
25665
25666         * compat.h:
25667         added _S_IFDIR and S_ISDIR
25668         [b4a51cc9628e]
25669
25670         * OPTIONS, options.h:
25671         added USE_TTY_TICKETS
25672         [b4e22f81f25e]
25673
25674         * parse.yacc:
25675         removed const from casts for lsearch() & lfind() to placate irix 4.x
25676         C compiler
25677         [5003081f76ea]
25678
25679 1995-09-03  Todd C. Miller  <Todd.Miller@courtesan.com>
25680
25681         * sudo.c:
25682         now only strip '/dev/' off of a tty if it starts with '/dev/'
25683         [7f62bcd24039]
25684
25685         * pathnames.h.in:
25686         added _PATH_DEV
25687         [6375f44d1910]
25688
25689         * configure.in:
25690         AC_HAVE_HEADERS -> AC_CHECK_HEADERS now check for tcgetattr only if
25691         have termios.h
25692         [9c60391235fd]
25693
25694         * tgetpass.c:
25695         fixed incorrect #ifdef termio uses "unsigned short" not int for
25696         c_?flag
25697         [d032e6a29845]
25698
25699         * parse.lex, parse.yacc:
25700         fixed a spelling error
25701         [cad6a944c7b1]
25702
25703         * Makefile.in:
25704         fixed typo
25705         [204a65403e7c]
25706
25707 1995-09-02  Todd C. Miller  <Todd.Miller@courtesan.com>
25708
25709         * Makefile.in:
25710         fixed a comment
25711         [268f760e57ad]
25712
25713         * parse.yacc:
25714         added dotcat() to cat 2 strings w/ a dot effeciently now that we
25715         dynamically allocate strings they need to be free()'d
25716         [ec2e2152f415]
25717
25718         * parse.lex:
25719         dynamically allocates space for strings
25720         [d10ac3533d66]
25721
25722         * sudo.h:
25723         no more MAXCOMMANDLENGTH
25724         [e2e1219bff8a]
25725
25726         * sudo.h:
25727         added decl of tty
25728         [c8ae81303ee5]
25729
25730         * logging.c, sudo.c:
25731         moved tty stuff into sudo.c
25732         [e028abefeb07]
25733
25734 1995-09-01  Todd C. Miller  <Todd.Miller@courtesan.com>
25735
25736         * parse.c:
25737         fixed a logic bug. Was denying a command if user gave command line
25738         args but there were none in the sudoers file which is wrong.
25739         [7489a99b8e8a]
25740
25741         * sudo.h:
25742         MAXCOMMMANDLEN dropped down to 1K
25743         [38ef54ba290b]
25744
25745         * parse.lex:
25746         return foo; -> return(foo);
25747         [0e8be1b57001]
25748
25749         * parse.yacc:
25750         fixed netgr_matches() prototype
25751         [e69f15910464]
25752
25753         * parse.lex:
25754         added support for escaping "termination" characters
25755         [8bd4ef50f35c]
25756
25757         * parse.c:
25758         buf is now of size MAXPATHLEN+1 since it never holds command args
25759         [2ce4b763058c]
25760
25761         * sudo.c:
25762         fixed comments
25763         [0c74a3d2ebb0]
25764
25765         * goodpath.c:
25766         fixed negation problem (doh!)
25767         [782814e3a2d1]
25768
25769         * parse.yacc:
25770         fixed 2nd parameter to lfind()
25771         [63d7b1623c08]
25772
25773         * parse.lex:
25774         now do bounds checking in fill() and append()
25775         [54381b563251]
25776
25777         * sudo.c:
25778         include netdb.h as we should added a missing void cast added
25779         SHELL_IF_NO_ARGS support now use realloc() properly. would fail if
25780         realloc actually moved the string instead of shrinking it
25781         [897ccdec9c06]
25782
25783         * sample.sudoers:
25784         updated with examples of new features
25785         [9b3ed00e8aa6]
25786
25787         * goodpath.c:
25788         now set errno to EACCES if not a regular file or not executable
25789         [2d069548a5ea]
25790
25791         * find_path.c:
25792         if given a fully-qualified or relative path we now check it with
25793         sudo_goodpath() and error out with the appropriate error message if
25794         the file does not exist or is not executable
25795         [590f89dd8dec]
25796
25797         * emul/search.h, lsearch.c:
25798         now use correct args for lfind
25799         [fccdcdbf020e]
25800
25801         * logging.c:
25802         added a comment
25803         [fab9f49708ea]
25804
25805         * insults.h:
25806         added in CSOps insults
25807         [ad8eb1862adc]
25808
25809         * ins_csops.h:
25810         Initial revision
25811         [de5a475ec018]
25812
25813         * tgetpass.c:
25814         added RCS id
25815         [c3ffd550a482]
25816
25817         * sudo.h:
25818         increased MAXCOMMANDLENGTH to 8k HAVE_GETCWD -> HAVE_GETWD
25819         [aba25c90d08a]
25820
25821         * OPTIONS:
25822         added CLASSIC_INSULTS, CSOPS_INSULTS, SHELL_IF_NO_ARGS
25823         [e27bd62e9ccf]
25824
25825         * sudo.c:
25826         fixed -k load_interfaces() now gets called if FQDN is set
25827         -p now works with -s
25828         [07ca2a34bae8]
25829
25830         * parse.c:
25831         don't try to stat() "pseudo commands" like "validate"
25832         [75527045984b]
25833
25834         * options.h:
25835         added CLASSIC_INSULTS added CSOPS_INSULTS added SHELL_IF_NO_ARGS
25836         [07b157a0eafd]
25837
25838         * configure.in:
25839         added SecurID support added other insults to --with-csops
25840         [6c992ceb244c]
25841
25842         * config.h.in:
25843         added HAVE_SECURID
25844         [e734ff617fe8]
25845
25846         * Makefile.in:
25847         added clobber target added ins_csops.h now gets CFLAGS from
25848         configure
25849         [d1e29c7cec25]
25850
25851         * aclocal.m4:
25852         relaxed SUDO_FULL_VOID
25853         [fb4084f27406]
25854
25855         * visudo.c:
25856         function comment blocks are now in same style as rest of code
25857         [04a2931354c5]
25858
25859         * testsudoers.c:
25860         added support for command line args in /etc/sudoers
25861         [bfe4e1bcc655]
25862
25863         * sudoers.man:
25864         updated to have command args in the sudoers file
25865         [1cd34355e9ea]
25866
25867         * sudo.man:
25868         added -s and -- flags added SHELL to ENVIRONMENT VARIABLES section
25869         [930b48023b68]
25870
25871 1995-08-19  Todd C. Miller  <Todd.Miller@courtesan.com>
25872
25873         * parse.yacc:
25874         PATH renamed to COMMAND
25875         [4e109a6de3cd]
25876
25877         * parse.lex:
25878         it is now a parse error for directories to have args attached to
25879         them
25880         [2ab10a146b54]
25881
25882         * logging.c:
25883         now say command args if telling user to buzz off
25884         [933de26ded8b]
25885
25886         * sudo.c:
25887         -s no longer indicates end of args sped up loading on cmnd_args in
25888         load_cmnd()
25889         [eac99a4da862]
25890
25891         * parse.c:
25892         removed an unreachable statement
25893         [634302623c49]
25894
25895         * parse.lex:
25896         made more efficient by pulling out the terminators when in GOTCMND
25897         state and making them their own rule
25898         [80798f1e1166]
25899
25900 1995-08-14  Todd C. Miller  <Todd.Miller@courtesan.com>
25901
25902         * sudo.h:
25903         removed MAXLOGLEN since it is no longer used
25904         [102824196b71]
25905
25906         * parse.lex:
25907         now allows command args
25908         [d29dfa1e5254]
25909
25910         * parse.c:
25911         now groks command arguments
25912         [6c414cb7f105]
25913
25914         * logging.c:
25915         now sets tty correctly when piped input
25916         [de46a30c0406]
25917
25918         * sudo.c:
25919         fixed loading of cmnd_args (was including command name too)
25920         [15319a425ea6]
25921
25922         * logging.c:
25923         fixed a core dump due to incorrect if construct
25924         [582363c7d7fa]
25925
25926 1995-08-13  Todd C. Miller  <Todd.Miller@courtesan.com>
25927
25928         * configure.in:
25929         only add -lsun is irix < 5 don't look for -lnsl or -lsocket if irix
25930         [da591fe9b931]
25931
25932         * aclocal.m4:
25933         fixed check for ISC
25934         [52e59f2082a7]
25935
25936         * sudo.c:
25937         now sets cmnd_args used by log_error() and that will be used by the
25938         parse to check against command args
25939         [c6804389723b]
25940
25941         * sudo.h:
25942         added cmnd_args
25943         [4d00446b4a8d]
25944
25945         * logging.c:
25946         now dynamically allocate logline since we can guess at its size
25947         [4bed8c8446aa]
25948
25949 1995-08-05  Todd C. Miller  <Todd.Miller@courtesan.com>
25950
25951         * logging.c:
25952         cleaned up a bunch of unnecesary #ifdef's eliminated a buffer remove
25953         "register" since the compiler knows more than I do now do a
25954         "basename" of the tty
25955         [3b1bbf0b3da1]
25956
25957 1995-07-31  Todd C. Miller  <Todd.Miller@courtesan.com>
25958
25959         * configure.in:
25960         ++version
25961         [5ce552f9a5f1]
25962
25963         * sudo.h:
25964         added shell extern changed MODE_* to be bit masks to allow for
25965         several options together
25966         [06f9dc4f400c]
25967
25968         * sudo.c:
25969         added -s (shell) option made MODE_* masks so we can do bitwise & and
25970         | to see if multiple flags are set.
25971         [01f8143010ad]
25972
25973         * check.c:
25974         added securid support
25975         [909e078005fe]
25976
25977 1995-07-30  Todd C. Miller  <Todd.Miller@courtesan.com>
25978
25979         * logging.c:
25980         removed a bunch of unnecesary strncpy()'s and replaced with strcat()
25981         [644506b57d61]
25982
25983 1995-07-29  Todd C. Miller  <Todd.Miller@courtesan.com>
25984
25985         * Makefile.in, version.h:
25986         ++version
25987         [3cd6f1fbc3d9]
25988
25989 1995-07-27  Todd C. Miller  <Todd.Miller@courtesan.com>
25990
25991         * parse.yacc:
25992         fixed free() of an uninitialized pointer (yuck)
25993         [8c404ee502ee]
25994
25995         * testsudoers.c:
25996         added netgr_matches
25997         [e7c9fa2f774c]
25998
25999         * parse.c:
26000         cleaned up netgr_matches
26001         [8108f00b810e]
26002
26003 1995-07-26  Todd C. Miller  <Todd.Miller@courtesan.com>
26004
26005         * RUNSON:
26006         updated for 1.3.4
26007         [4741704310a1]
26008
26009 1995-07-25  Todd C. Miller  <Todd.Miller@courtesan.com>
26010
26011         * Makefile.in:
26012         now installs sudoers.man -- really should clean this up though.
26013         [455631d45a1d]
26014
26015         * Makefile.in:
26016         added sudoers.cat and sudoers.man
26017         [0bdedd6c7363]
26018
26019         * sudo.man:
26020         pulled out stuff on the sudoers file format into a separate man page
26021         [de215d999cb9]
26022
26023         * sudoers.man:
26024         Initial revision
26025         [f25eafbb7095]
26026
26027         * HISTORY:
26028         fixed up my email address
26029         [254fbf80be74]
26030
26031         * configure.in:
26032         added checks for innetgr and getdomainname
26033         [24a99cb7e97e]
26034
26035         * visudo.c:
26036         added dummy netgr_matches function
26037         [1841ff2c01da]
26038
26039         * parse.c:
26040         added netgr_matches
26041         [ec90db6a97b8]
26042
26043         * parse.lex, parse.yacc:
26044         added NETGROUP support
26045         [c9dd93e3bc4b]
26046
26047         * config.h.in:
26048         added HAVE_INNETGR & HAVE_GETDOMAINNAME
26049         [14abd494d875]
26050
26051 1995-07-24  Todd C. Miller  <Todd.Miller@courtesan.com>
26052
26053         * sudo.c:
26054         rewrote clean_env() that has rm_env() builtin
26055         [55cb43818a95]
26056
26057 1995-07-23  Todd C. Miller  <Todd.Miller@courtesan.com>
26058
26059         * check.c:
26060         now cast uid to long in sprintf
26061         [b549eea40aeb]
26062
26063         * OPTIONS:
26064         added _INSULTS suffix to HAL & GOONS end
26065         [ed620d0aad30]
26066
26067         * options.h:
26068         added _INSULTS suffix to HAL & GOONS
26069         [9f72e9b83afd]
26070
26071         * ins_2001.h, ins_classic.h, ins_goons.h, insults.h:
26072         converted to new scheme of insult "unions" end
26073         [2f6d2b412132]
26074
26075         * sudo.c:
26076         now uses MAX_UID_T_LEN
26077         [c1df79e0f389]
26078
26079         * configure.in:
26080         added SUDO_UID_T_LEN !l
26081         [195f0b9f5f84]
26082
26083         * config.h.in:
26084         added MAX_UID_T_LEN
26085         [73f42ae4f14d]
26086
26087         * check.c:
26088         now use MAX_UID_T_LEN
26089         [df9c063234cb]
26090
26091         * aclocal.m4:
26092         added check for max len of uid_t fixed sco vs. isc check
26093         [d558f36d2223]
26094
26095 1995-07-19  Todd C. Miller  <Todd.Miller@courtesan.com>
26096
26097         * configure.in:
26098         corrected version
26099         [828dd1571e86]
26100
26101         * configure.in:
26102         added sco support
26103         [af1e2f616638]
26104
26105         * aclocal.m4:
26106         hack to check for sco
26107         [549ab99a9a43]
26108
26109         * interfaces.c:
26110         removed #include <net/route.h> since it was hosing some OS's
26111         [ac78a7c04005]
26112
26113 1995-07-18  Todd C. Miller  <Todd.Miller@courtesan.com>
26114
26115         * find_path.c:
26116         fixed prreadlink() prototype
26117         [b380fe1f2b11]
26118
26119         * check.c:
26120         added parens in #if's
26121         [e96ade691b82]
26122
26123         * configure.in:
26124         added SPW_ prefix
26125         [a302683a1483]
26126
26127         * sudo.h:
26128         moved SPW_* to config.h.in
26129         [6b3be70e34cf]
26130
26131         * sudo.c:
26132         added a set of parens
26133         [8188d735d695]
26134
26135         * config.h.in:
26136         added SPW_*
26137         [5ead6371cf60]
26138
26139         * sudo.h:
26140         added SPW_* reordered error codes
26141         [dead25b4ed0a]
26142
26143         * check.c:
26144         moved SPW_* to sudo.h
26145         [ca51fb04caf4]
26146
26147 1995-07-17  Todd C. Miller  <Todd.Miller@courtesan.com>
26148
26149         * sudo.c:
26150         SPW_AUTH -> SPW_SECUREWARE
26151         [6b512b2bc5dc]
26152
26153         * logging.c:
26154         GLOBAL_NO_AUTH_ENT -> GLOBAL_NO_SPW_ENT
26155         [defdd0944e2f]
26156
26157         * configure.in:
26158         AUTH -> SECUREWARE
26159         [d1f8a17001dd]
26160
26161         * check.c:
26162         SPW_AUTH -> SPW_SECUREWARE
26163         [af0e8d8b89b2]
26164
26165         * check.c:
26166         now uses SHADOW_TYPE to make shadow pw support more readable and
26167         modular. It's a start...
26168         [8c2a59667014]
26169
26170         * configure.in:
26171         added autodetection of shadow passwords
26172         [85f81fa54b1b]
26173
26174         * sudo.c:
26175         now uses SHADOW_TYPE define
26176         [355e5dc09b07]
26177
26178         * config.h.in:
26179         added SHADOW_TYPE which replaces SUNOS4 & __svr4__ defines
26180         [c0c06e83e483]
26181
26182         * aclocal.m4:
26183         added SUDO_CHECK_SHADOW
26184         [464301301639]
26185
26186 1995-07-12  Todd C. Miller  <Todd.Miller@courtesan.com>
26187
26188         * configure.in:
26189         define SVR4 for ISC define BROKEN_SYSLOG for hpux took out test for
26190         memmove() since we dno longer use it...
26191         [8aefa87d7d31]
26192
26193         * CHANGES:
26194         updated
26195         [ce97b3fd7182]
26196
26197         * logging.c:
26198         added BROKEN_SYSLOG support
26199         [a45c3bca36f6]
26200
26201         * config.h.in:
26202         added BROKEN_SYSLOG
26203         [6f6abf0a6268]
26204
26205         * check.c:
26206         now only bitch it timestamp > time_now + 2 * timeout to allow for a
26207         machine udpating its time from a server
26208         [546bc8d35325]
26209
26210         * sudo.man:
26211         added 2 security notes updated Nieusma's email addr
26212         [616756c56977]
26213
26214         * lsearch.c:
26215         changed a memmove() to memcpy() since we don't have to worry about
26216         overlapping segments.
26217         [30baa478526b]
26218
26219 1995-07-11  Todd C. Miller  <Todd.Miller@courtesan.com>
26220
26221         * interfaces.c:
26222         cleanup up the loop when interfaces are groped in so that it is
26223         readable
26224         [1fa39446bd69]
26225
26226         * Makefile.in, version.h:
26227         ++version
26228         [b46bd2b1770f]
26229
26230 1995-07-09  Todd C. Miller  <Todd.Miller@courtesan.com>
26231
26232         * CHANGES:
26233         annotated 124-126
26234         [b82a2b3ec7ce]
26235
26236 1995-07-07  Todd C. Miller  <Todd.Miller@courtesan.com>
26237
26238         * check.c:
26239         fixed permissions check on /tmp/.odus
26240         [cc2431a65468]
26241
26242 1995-07-06  Todd C. Miller  <Todd.Miller@courtesan.com>
26243
26244         * check.c:
26245         fixed some comments
26246         [8896d09b4fda]
26247
26248         * check.c:
26249         now checks owner & mode of timedir also checks for bogus dates on
26250         timestamp file
26251         [a0fad5df5b0a]
26252
26253         * OPTIONS:
26254         updated TIMEOUT info
26255         [033cc22d9e04]
26256
26257         * logging.c, sudo.h:
26258         added BAD_STAMPDIR and BAD_STAMPFILE
26259         [31d9ce691101]
26260
26261         * compat.h:
26262         added definition of S_IRWXU
26263         [ff2dab091a9b]
26264
26265         * CHANGES:
26266         updated
26267         [a40df90284f1]
26268
26269 1995-07-03  Todd C. Miller  <Todd.Miller@courtesan.com>
26270
26271         * interfaces.c:
26272         added #ifdef to make it compile on strange arches
26273         [4a127f12afce]
26274
26275 1995-07-02  Todd C. Miller  <Todd.Miller@courtesan.com>
26276
26277         * aclocal.m4:
26278         fixed check for fulkl void impl.
26279         [b6f2a4a361d8]
26280
26281         * check.c:
26282         added mssing "static"
26283         [520552f2772b]
26284
26285         * insults.h:
26286         replaced #elif with #else #if constructs for ancient C compilers
26287         [39ab2d365b57]
26288
26289         * INSTALL:
26290         updated irix c2 & kerb5 info
26291         [ae79b99b4905]
26292
26293         * configure.in:
26294         added shadow pw support for irix
26295         [632469d9c528]
26296
26297 1995-07-01  Todd C. Miller  <Todd.Miller@courtesan.com>
26298
26299         * BUGS, TODO:
26300         updated
26301         [2a96bb18ac30]
26302
26303         * CHANGES:
26304         last changes for sudo 1.3.3
26305         [c1c0cd1034b8]
26306
26307         * configure.in:
26308         now calls SUDO_SOCK_SA_LEN
26309         [14ea78159d45]
26310
26311         * config.h.in:
26312         added HAVE_SA_LEN
26313         [cc2a346aa905]
26314
26315         * aclocal.m4:
26316         added SUDO_SOCK_SA_LEN
26317         [456a2025644a]
26318
26319         * interfaces.c:
26320         now works with ip implementations that use sa_len in sockaddr
26321         [90be6e028077]
26322
26323         * INSTALL:
26324         added note about buggy AIX compiler
26325         [c0f6d427e4e4]
26326
26327         * interfaces.c:
26328         now include sys/time.h for AIX
26329         [2510858ab38b]
26330
26331 1995-06-28  Todd C. Miller  <Todd.Miller@courtesan.com>
26332
26333         * Makefile.in:
26334         getcwd -> getwd
26335         [66085ebca98e]
26336
26337         * interfaces.c:
26338         now works for ISC and others. yay.
26339         [f336d4ffc927]
26340
26341 1995-06-26  Todd C. Miller  <Todd.Miller@courtesan.com>
26342
26343         * Makefile.in, version.h:
26344         version++
26345         [836cffc2078d]
26346
26347 1995-06-23  Todd C. Miller  <Todd.Miller@courtesan.com>
26348
26349         * aclocal.m4:
26350         fixed test for full void impl
26351         [fb004107e7b9]
26352
26353         * sudo.c:
26354         now check to see that st_dev is non-zero before assuming that we are
26355         being spoofed
26356         [1b0e1c30c506]
26357
26358 1995-06-20  Todd C. Miller  <Todd.Miller@courtesan.com>
26359
26360         * aclocal.m4, configure.in:
26361         SUDO_FUNC_UTIME_NULL -> AC_FUNC_UTIME_NULL
26362         [4953379bfb01]
26363
26364 1995-06-19  Todd C. Miller  <Todd.Miller@courtesan.com>
26365
26366         * aclocal.m4:
26367         fixed include file order for SUDO_FUNC_UTIME_POSIX
26368         [ff64ab7df44f]
26369
26370         * logging.c:
26371         added cast for ttyname()
26372         [444f05f56758]
26373
26374         * configure.in:
26375         fixed typo
26376         [de068e748431]
26377
26378         * check.c:
26379         now deal correctly with all known variation of utime() -- yippe
26380         [b778a4195a89]
26381
26382         * configure.in:
26383         added SUDO_FUNC_UTIME_POSIX
26384         [cf635f2269d6]
26385
26386         * aclocal.m4:
26387         added SUDO_FUNC_UTIME_NULL and SUDO_FUNC_UTIME_POSIX
26388         [d79593be4b73]
26389
26390         * config.h.in:
26391         added HAVE_UTIME_POSIX
26392         [c67b4ac0dca5]
26393
26394         * check.c:
26395         fixed a typo
26396         [b14df5680f59]
26397
26398         * check.c:
26399         no longer assume !HAVE_UTIME_NULL means old BSD utime()
26400         [0aeaf4b2f38b]
26401
26402         * check.c:
26403         fixed fascist C compiler warning
26404         [c61ddf2f1f93]
26405
26406         * interfaces.c:
26407         now set strioctl.ic_timout in STRSET() now initialize num_interfaces
26408         to 0 (just to be anal)
26409         [c54cc2ba0052]
26410
26411 1995-06-18  Todd C. Miller  <Todd.Miller@courtesan.com>
26412
26413         * sudo.h:
26414         increaed MAXLOGLEN by MAXPATHLEN to account for ttyname
26415         [74cf585a54fb]
26416
26417         * logging.c:
26418         added tty logging
26419         [e27d8dcfbd78]
26420
26421         * interfaces.c:
26422         reworked the ISC code
26423         [bcf57ce8ae69]
26424
26425         * Makefile.in, version.h:
26426         updated version
26427         [032941c9b94d]
26428
26429         * check.c:
26430         now expect old-style utime(3) if utime() can't take NULL as an arg
26431         [018dd4a73030]
26432
26433         * configure.in:
26434         added check for utime.h
26435         [0b76e8feb618]
26436
26437         * config.h.in:
26438         added HAVE_UTIME_H
26439         [62ee42feda46]
26440
26441         * Makefile.in:
26442         added CPPFLAGS STATIC_FLAGS -> LDFLAGS
26443         [fa3201d294e1]
26444
26445         * configure.in:
26446         now search for kerb libs and includes
26447         [cc332401e571]
26448
26449         * check.c:
26450         added support for utime(2)'s that can't take a NULL parameter
26451         [98797fedf69f]
26452
26453         * utime.c:
26454         moved HAVE_UTIME_NULL stuff to update_timestamp() where t belongs
26455         [6ce6d825fb44]
26456
26457         * configure.in:
26458         added utime(s) stuff
26459         [a2afb744403e]
26460
26461         * check.c:
26462         now use utime()
26463         [48902240a51e]
26464
26465         * config.h.in:
26466         added HAVE_UTIME and HAVE_UTIME_NULL
26467         [9a56ab65d4f4]
26468
26469 1995-06-17  Todd C. Miller  <Todd.Miller@courtesan.com>
26470
26471         * utime.c:
26472         now use HAVE_UTIME_NULL
26473         [e3944de09a92]
26474
26475         * emul/utime.h, utime.c:
26476         Initial revision
26477         [a2cbf2ef3427]
26478
26479         * check.c:
26480         need to setuid(0) to make kerb4 stuff work.
26481         [c6cfda4039d7]
26482
26483         * tgetpass.c:
26484         no more special case for kerberos
26485         [4a5c33145be9]
26486
26487         * config.h.in:
26488         took out setreuid and setresuid stuff added kerb5 stuff (use kerb4
26489         emulation)
26490         [a607ee43e650]
26491
26492         * compat.h:
26493         no longer need setreuid() emulation now set _PASSWD_LEN to 128 if
26494         kerberos
26495         [02fb274cc136]
26496
26497         * check.c:
26498         now use private ticket file for kerberos support to avoid trouncing
26499         on system one
26500         [28d8b6b812c7]
26501
26502 1995-06-15  Todd C. Miller  <Todd.Miller@courtesan.com>
26503
26504         * sudo.h:
26505         added SPOOF_ATTEMPT & cmnd_st
26506         [d3b42a1f4d0d]
26507
26508         * sudo.c:
26509         added anti-spoofing support
26510         [ab1e2aa44a57]
26511
26512         * parse.c:
26513         now use global cmnd_st
26514         [47018265a1a6]
26515
26516         * logging.c:
26517         added SPOOF_ATTEMPT suypport
26518         [7bbe9dd2a021]
26519
26520         * testsudoers.c, visudo.c:
26521         added void casts where appropriate
26522         [f191441ba333]
26523
26524         * parse.yacc:
26525         fixed up spacing and added void casts where appropriate
26526         [15d886fc809c]
26527
26528         * sudo.c:
26529         fixed problem with "-p prompt" but no args
26530         [6fc048261a3e]
26531
26532 1995-06-14  Todd C. Miller  <Todd.Miller@courtesan.com>
26533
26534         * sudo.man:
26535         added BUGS and annotated -l description
26536         [e5c506de2603]
26537
26538         * sudo.h:
26539         validate() now takes a flag
26540         [26627becc60a]
26541
26542         * sudo.c:
26543         validate() now takes a flag added -l
26544         [a4f7bb97fe54]
26545
26546         * parse.yacc:
26547         added support for -l
26548         [e7a9b10b0ad3]
26549
26550         * parse.c:
26551         validate() now takes a flag that says whether or not to check the
26552         command
26553         [9e1e67f4e281]
26554
26555 1995-06-08  Todd C. Miller  <Todd.Miller@courtesan.com>
26556
26557         * logging.c:
26558         now deals with Argv == 1
26559         [0acb637ab635]
26560
26561         * sudo.man:
26562         added -p option
26563         [e60382fc0561]
26564
26565         * sudo.c:
26566         added prompt support reworked parse_args()
26567         [2f605267ed4a]
26568
26569         * sudo.h:
26570         added prompt
26571         [5ab021bdb419]
26572
26573         * options.h:
26574         added PASSPROMPT
26575         [614727ff44a2]
26576
26577         * check.c:
26578         now use BUFSIZ as length of kerb password added kpass so pass is
26579         always a char * now use prompt global when asking for a password
26580         [76be09af784f]
26581
26582         * tgetpass.c:
26583         now use BUFSIZ as _PASSWD_LEN if using kerberos
26584         [1e907eed312b]
26585
26586         * OPTIONS:
26587         added PASSPROMPT
26588         [ddb2f405ce40]
26589
26590 1995-06-07  Todd C. Miller  <Todd.Miller@courtesan.com>
26591
26592         * configure.in:
26593         only look for -lufc or -lcrypt if crypt() not in libc
26594         [9717d315661f]
26595
26596         * check.c:
26597         don't exit on kerb error, just warn if k_errno == KDC_PR_UNKNOWN
26598         (unknown user) silently fail
26599         [2b48693d4ee9]
26600
26601         * INSTALL:
26602         added kerb4 note
26603         [986e393f740c]
26604
26605         * tgetpass.c:
26606         HAVE_KERBEROS -> HAVE_KERB4
26607         [e438bfb5e6aa]
26608
26609         * check.c:
26610         removed debugging printf
26611         [1cf9f5cbffa5]
26612
26613         * configure.in:
26614         KERBEROS -> KERB4 added checks for setreuid & setresuid
26615         [01e9945beb1e]
26616
26617         * config.h.in:
26618         HAVE_KERBEROS -> HAVE_KERB4 added HAVE_SETREUID and HAVE_SETRESUID
26619         [0e0bb5b8ac3e]
26620
26621         * compat.h:
26622         added deif of UID_NO_CHANGE & GID_NO_CHANGE added setreuid emulation
26623         with setresuid if applic
26624         [9dae24c47696]
26625
26626         * check.c:
26627         HAVE_KERBEROS -> HAVE_KERB4 now only do the stupid chown() hack if
26628         no setreuid() or a broken one
26629         [1fca642bdb8e]
26630
26631 1995-06-06  Todd C. Miller  <Todd.Miller@courtesan.com>
26632
26633         * configure.in:
26634         added kerberos support
26635         [da5639b9b8e7]
26636
26637         * config.h.in:
26638         added HAVE_KERBEROS
26639         [fcc5be550e65]
26640
26641         * tgetpass.c:
26642         added KERBEROS support (long passwords)
26643         [303ba6924dd2]
26644
26645         * check.c:
26646         added kerberos support
26647         [e40afe98fc1d]
26648
26649 1995-06-03  Todd C. Miller  <Todd.Miller@courtesan.com>
26650
26651         * sudo.h:
26652         added MODE_BACKGROUND
26653         [9b483c932016]
26654
26655         * sudo.man:
26656         escaped dashes added -b option
26657         [62e84f1a7714]
26658
26659         * sudo.c:
26660         added -b option
26661         [7e78aaefeb95]
26662
26663         * check.c:
26664         added crypt() for osf/1 3.x enhanced secuiry
26665         [e9aa5abdb7d5]
26666
26667         * configure.in:
26668         now check for -lcrypt
26669         [5cb9c67e9fa2]
26670
26671         * interfaces.c:
26672         added ENXIO like EADDRNOTAVAIL
26673         [74223bb1ba75]
26674
26675 1995-05-08  Todd C. Miller  <Todd.Miller@courtesan.com>
26676
26677         * configure.in:
26678         now emulate getwd(), not getcwd()
26679         [3e5439d9a5f4]
26680
26681         * sudo.c:
26682         getcwd() -> getwd()
26683         [6392a96a658e]
26684
26685         * getwd.c:
26686         getcwd -> getwd
26687         [1b0ab9bae11e]
26688
26689 1995-05-02  Todd C. Miller  <Todd.Miller@courtesan.com>
26690
26691         * ins_2001.h, ins_classic.h, ins_goons.h:
26692         Initial revision
26693         [86db60d8cf00]
26694
26695         * insults.h:
26696         broke out insults into separate include files
26697         [0a01993bd38a]
26698
26699         * OPTIONS, options.h:
26700         added GOONS
26701         [e283203c6515]
26702
26703         * Makefile.in:
26704         added ins_2001.h ins_classic.h ins_goons.h
26705         [2a39cd6a4cd2]
26706
26707         * Makefile.in, version.h:
26708         ++version
26709         [05ebf4f5e41a]
26710
26711         * visudo.c:
26712         moved signal handler setup to setup_signals()
26713         [3dd976c04540]
26714
26715         * sudo.h:
26716         added load_interfaces()
26717         [af2d473b09e2]
26718
26719         * sudo.c:
26720         moved load_interfaces to interfaces.c
26721         [5c8c138e5d4c]
26722
26723         * parse.yacc:
26724         added clearaliases
26725         [aeb4ff301daa]
26726
26727         * OPTIONS, options.h:
26728         added FAST_MATCH
26729         [f49ea3d1b525]
26730
26731         * parse.lex:
26732         now uses clearaliases variable
26733         [a2dda415bf61]
26734
26735         * interfaces.c:
26736         Initial revision
26737         [a1990e3f5c69]
26738
26739         * Makefile.in:
26740         added interfaces.[co]
26741         [1e8e5984de97]
26742
26743         * testsudoers.c:
26744         now uses ip addrs and netmasks via load_interfaces()
26745         [54b8f7a6835e]
26746
26747         * sudo.c:
26748         now remove IFS instead of setting to "sane" value
26749         [ce7eec9f115e]
26750
26751 1995-05-01  Todd C. Miller  <Todd.Miller@courtesan.com>
26752
26753         * parse.c:
26754         added FAST_MATCH
26755         [816d4f5fe81a]
26756
26757 1995-04-30  Todd C. Miller  <Todd.Miller@courtesan.com>
26758
26759         * Makefile.in:
26760         sudo_goodpath.c-> goodpath.c
26761         [a5072c4e1de2]
26762
26763         * sudo.c:
26764         added Andy's new ISC changes
26765         [caa6bbee358e]
26766
26767 1995-04-14  Todd C. Miller  <Todd.Miller@courtesan.com>
26768
26769         * OPTIONS:
26770         added a sentence to SECURE_PATH info
26771         [cad6e1569d15]
26772
26773         * BUGS:
26774         added one
26775         [4b35cf699a83]
26776
26777         * CHANGES:
26778         updated
26779         [5fded9dc62f0]
26780
26781         * RUNSON:
26782         updated
26783         [33cb993cfd39]
26784
26785 1995-04-13  Todd C. Miller  <Todd.Miller@courtesan.com>
26786
26787         * RUNSON:
26788         updated for beta3
26789         [a05dc6a91995]
26790
26791         * Makefile.in, version.h:
26792         ++version
26793         [54aaf3fadc75]
26794
26795         * aclocal.m4:
26796         sendmail is now looked for in \17/usr/ucblib
26797         [231ac1a4662f]
26798
26799         * sudo.c:
26800         fixed indentation
26801         [fb137400c8c2]
26802
26803         * aclocal.m4:
26804         fixed a typo
26805         [e03f1acc468b]
26806
26807         * sudo.c:
26808         updated ISC mods
26809         [070290d4754b]
26810
26811         * configure.in:
26812         added unixware case
26813         [e90250bae0d9]
26814
26815         * check.c:
26816         user_is_exempt is no longer hidden
26817         [1a341765b8af]
26818
26819         * RUNSON:
26820         updated
26821         [a9c4898b26dd]
26822
26823         * aclocal.m4:
26824         isc and riscos changes
26825         [98b5d86585d1]
26826
26827         * OPTIONS:
26828         added NOTE about new interaction of EXEMPTGROUP and SECURE_PATH
26829         [e1ecc464ce4b]
26830
26831         * Makefile.in:
26832         fixed a typo and added testsudoers stuff
26833         [435d60e163dc]
26834
26835         * testsudoers.c:
26836         Initial revision
26837         [6ce14a448662]
26838
26839 1995-04-12  Todd C. Miller  <Todd.Miller@courtesan.com>
26840
26841         * parse.yacc:
26842         applied fixed patch from Chris
26843         [cd6144203d13]
26844
26845 1995-04-11  Todd C. Miller  <Todd.Miller@courtesan.com>
26846
26847         * Makefile.in:
26848         fixed a typo
26849         [34f8a54ba041]
26850
26851         * parse.yacc:
26852         added a set of braces for bison
26853         [f0e43b938914]
26854
26855         * parse.yacc:
26856         merged in Chris' changes to dekludge the parser.
26857         [82d6e373ab1c]
26858
26859         * logging.c:
26860         send_mail() was calling find_path() which is wrong since find_path()
26861         stores cmnd in a static var. Anyhow, it doesn't make much sense
26862         since MAILER should always be fully qualified
26863         [6eae6a0b8098]
26864
26865 1995-04-10  Todd C. Miller  <Todd.Miller@courtesan.com>
26866
26867         * sample.sudoers:
26868         added User_Alias stuff
26869         [aaba8c8e918d]
26870
26871         * aclocal.m4:
26872         SUDO_NEXT now looks for /usr/lib/NextStep/software_version
26873         [52bd81f34b32]
26874
26875         * RUNSON:
26876         added DEC UNIX 3.0 w/ gcc
26877         [7daf570775b5]
26878
26879         * visudo.c:
26880         Exit was being used in places where exit should be used
26881         [6026a89c07ed]
26882
26883         * sudoers:
26884         added "User alias specification"
26885         [a487b6e234f8]
26886
26887         * parse.yacc:
26888         fixed probs caused by making nslots and naliases a size_t
26889         [0be919384f3f]
26890
26891         * RUNSON:
26892         added KSR, upped rev to 1.3.1b2
26893         [ce04ee6faadf]
26894
26895         * logging.c, parse.yacc:
26896         1024 -> BUFSIZ
26897         [cd6dda45fa11]
26898
26899         * parse.yacc:
26900         void * -> VOID * naliases and nslots are now size_t to appease
26901         lsearch on 64-bit machines
26902         [bf2f807c0dc1]
26903
26904 1995-04-09  Todd C. Miller  <Todd.Miller@courtesan.com>
26905
26906         * TODO:
26907         did a bunch of things and added a bunch :-)
26908         [42afd957b829]
26909
26910         * PORTING:
26911         updated
26912         [972f95c85776]
26913
26914         * visudo.man:
26915         closer to BSD manpage style
26916         [07ae88f50325]
26917
26918         * sudo.man:
26919         closer to standard BSD man format
26920         [372c28dcc135]
26921
26922         * compat.h, config.h.in, emul/search.h, insults.h, options.h,
26923         pathnames.h.in, sudo.h, version.h:
26924         added RCS id
26925         [c0ec90b81002]
26926
26927         * sudo.h:
26928         removed crufty #defines that are no longer used
26929         [35e2b4b477f0]
26930
26931         * BUGS:
26932         fixed a bug
26933         [5bb3e1bee85e]
26934
26935         * sudo.man:
26936         updated based on sudo changes
26937         [e65de1cae438]
26938
26939         * parse.yacc:
26940         now allow ALL keyword in User_Aliases now allow ALL keyword as well
26941         as a NAME or ALIAS
26942         [1fb31404dd0f]
26943
26944         * CHANGES:
26945         updated
26946         [b24018ac610b]
26947
26948         * sudo.c:
26949         now sets SUDO_COMMAND and SUDO_GID envariables.
26950         [e9d791557fb7]
26951
26952         * aclocal.m4:
26953         fixed bug with full void impl check
26954         [35715301023c]
26955
26956         * parse.yacc:
26957         fixed User_Alias supoprt
26958         [4c30dfbaaa07]
26959
26960         * parse.yacc:
26961         added stubs for User_Alias support
26962         [f4afbd247edf]
26963
26964         * sudo.c:
26965         now sets removes # bogus interfaces from num_interfaces
26966         [6f077fac9ab1]
26967
26968         * parse.lex:
26969         added User_Alias support
26970         [bc7997e5df85]
26971
26972 1995-04-08  Todd C. Miller  <Todd.Miller@courtesan.com>
26973
26974         * Makefile.in:
26975         removed extraneous TODO
26976         [bc87a3b14d6d]
26977
26978 1995-04-07  Todd C. Miller  <Todd.Miller@courtesan.com>
26979
26980         * visudo.c:
26981         ntwk_matches -> addr_matches
26982         [475044e288b8]
26983
26984         * parse.yacc:
26985         ntwk_matches -> addr_matches
26986         [dd1f4093fd2d]
26987
26988         * parse.c:
26989         ntwk_matches -> addr_matches now use inet_addr() not inet_network()
26990         (which expects octet boundaries) fixes for OSF (sizeof(int) !=
26991         sizeof(long))
26992         [acd2f556940f]
26993
26994         * sudo.c:
26995         took out debugging info
26996         [044023063eca]
26997
26998         * aclocal.m4:
26999         OS was being set to unknown before non-uname based host checks.
27000         This caused no checks to happen since $OS was not zero-length.
27001         [335a7267479d]
27002
27003         * sudo.c:
27004         fixed loading of interfaces struct still has debugging info in
27005         though
27006         [2d1a18998c1e]
27007
27008         * parse.c:
27009         fixed typo
27010         [175674a3a9fa]
27011
27012 1995-04-06  Todd C. Miller  <Todd.Miller@courtesan.com>
27013
27014         * Makefile.in:
27015         ++version
27016         [55d191b5daa3]
27017
27018         * version.h:
27019         ++
27020         [d7d1f115696a]
27021
27022         * visudo.c:
27023         removed extraneous extern decl of "top
27024         [50355621047d]
27025
27026         * visudo.c:
27027         now zeros "top"
27028         [4e683210345b]
27029
27030         * parse.yacc:
27031         removed parser_cleanup (no need for it now)
27032         [afa59f222b6c]
27033
27034         * parse.lex:
27035         now calls reset_aliases() directly
27036         [3a23cbd60fc0]
27037
27038 1995-04-04  Todd C. Miller  <Todd.Miller@courtesan.com>
27039
27040         * OPTIONS:
27041         added a sentence to SECURE_PATH description
27042         [c5bf75b85af0]
27043
27044         * parse.c:
27045         fixed my stupid bug where I used NAMLEN on something I wanted to
27046         just get the name from. argh.
27047         [111f460f6540]
27048
27049 1995-04-03  Todd C. Miller  <Todd.Miller@courtesan.com>
27050
27051         * lsearch.c:
27052         fixed argument order of memmove() that i hosed when converting from
27053         bcopy(). arghh.
27054         [2f5336045c8b]
27055
27056         * Makefile.in:
27057         finally fixed DISTFILES line
27058         [a1b419e73a63]
27059
27060         * Makefile.in:
27061         tabs -> spaces
27062         [280fb03e5764]
27063
27064         * Makefile.in:
27065         added missing files to DISTFILES
27066         [991fc1cd2263]
27067
27068         * Makefile.in:
27069         SUPPORTED -> RUNSON
27070         [7580e65b05fb]
27071
27072 1995-04-01  Todd C. Miller  <Todd.Miller@courtesan.com>
27073
27074         * TODO:
27075         updated
27076         [fe764a29c1cc]
27077
27078         * RUNSON:
27079         updated for pl5b1 release
27080         [aefc35bd2291]
27081
27082         * BUGS, TODO:
27083         updated
27084         [8f0ea249b687]
27085
27086         * check.c:
27087         fixed bug where if you hit return at first sudo prompt it would
27088         still log as a failure
27089         [24539c854692]
27090
27091         * CHANGES:
27092         updated
27093         [251cc7b3ede4]
27094
27095         * aclocal.m4:
27096         better test for bogus void * implementation
27097         [efe23180cb88]
27098
27099         * logging.c:
27100         added PASSWORDS_NOT_CORRECT
27101         [bd12c73f83f7]
27102
27103         * check.c:
27104         added PASSWORDS_NOT_CORRECT stuff]
27105         [90de391a979f]
27106
27107         * sudo.h:
27108         added PASSWORDS_NOT_CORRECT
27109         [727fbeb76fc5]
27110
27111         * tgetpass.c:
27112         moved pathnames.h
27113         [4f910e5a8df7]
27114
27115         * sudo.c:
27116         removed some unused vars and fixed up uid2str
27117         [70e92c7f9076]
27118
27119         * putenv.c:
27120         moved compat.h
27121         [b271091586f6]
27122
27123         * getcwd.c, getwd.c:
27124         added pathnames.h
27125         [6f25218f133f]
27126
27127 1995-03-31  Todd C. Miller  <Todd.Miller@courtesan.com>
27128
27129         * parse.yacc:
27130         fixed a typo I introduced in the last checkin :-(
27131         [62c3af75c4fe]
27132
27133         * parse.lex:
27134         can't have #ifdef's where N is defined so just do this the broken
27135         way for AIX
27136         [c5648a5594e4]
27137
27138         * parse.yacc:
27139         better hack from Chris (but still a hack)
27140         [6b6d8aed93f3]
27141
27142         * parse.lex:
27143         stupid hack for broken aix lex
27144         [efc3f9e5280e]
27145
27146         * tgetpass.c:
27147         now includes compat.h \ 6
27148         [401822173f77]
27149
27150         * visudo.c:
27151         now includes fcntl.h
27152         [63865c2f8ac6]
27153
27154         * compat.h:
27155         added FD_SET and FD_ZERO for 4.2BSD
27156         [00c5597c0bb0]
27157
27158         * parse.yacc:
27159         dirty hack to fix parser bug. i don't really like this but it works
27160         for now...
27161         [5b8bbdc81569]
27162
27163         * sudo.c:
27164         uid2str is now static like the prototype says
27165         [f2a97b5cb870]
27166
27167 1995-03-30  Todd C. Miller  <Todd.Miller@courtesan.com>
27168
27169         * CHANGES, SUPPORTED, TODO, TROUBLESHOOTING:
27170         updated
27171         [6f79c3e92716]
27172
27173         * RUNSON:
27174         Initial revision
27175         [12a09ef9e884]
27176
27177         * sudo.c:
27178         check_sudoers now returns an error code and sudo calls inform_user
27179         and log_error based on the return value.
27180         [340eca188d9a]
27181
27182         * logging.c, sudo.h:
27183         added entries for new errors
27184         [6050d8542e1f]
27185
27186         * parse.c:
27187         now set uid to that of SUDOERS_OWNER while parsing sudoers file
27188         [3683c42bc9b0]
27189
27190         * Makefile.in:
27191         took out testsudoers \ 6
27192         [65317d49db48]
27193
27194         * sudo.c:
27195         now explicately checks that it is setuid root
27196         [2fe1be60ef6a]
27197
27198         * sudo.c:
27199         If a user has no passwd entry sudo would segv (writing to a garbage
27200         pointer). Now allocate space before writing :-)
27201         [d08e7eb5e5ef]
27202
27203         * configure.in:
27204         reordered AC_CHECK_FUNCS
27205         [4c82e56c6f4f]
27206
27207         * config.h.in:
27208         fixed memset macro
27209         [77ede6b714ab]
27210
27211         * tgetpass.c, visudo.c:
27212         bzero -> memset
27213         [1a005bb322c8]
27214
27215         * logging.c:
27216         bzero -> memset when a parse error is logged the line number of the
27217         error is now logged too
27218         [a42d68047723]
27219
27220         * INSTALL:
27221         added Sunos to blurb about c2 security
27222         [af750a1d131e]
27223
27224         * configure.in:
27225         added a SUN4 define for C2 security
27226         [6ad5b23a3eb0]
27227
27228         * config.h.in:
27229         bcopy -> memmove bzero -> memset
27230         [5494460c8464]
27231
27232         * lsearch.c:
27233         bcopy -> memmove char * -> VOID *
27234         [a15f5c316e16]
27235
27236         * check.c:
27237         added support for sunos with C2 security
27238         [03fea5bb21e6]
27239
27240         * OPTIONS, options.h:
27241         reordered
27242         [1686265af3e1]
27243
27244         * pathnames.h.in:
27245         _PATH_SUDO_LOGFILE now set based on configure
27246         [5867b58e4a04]
27247
27248         * configure.in:
27249         added SUDO_LOGFILE and SUDO_TYPE_SIZE_T
27250         [1984d9fd1b5c]
27251
27252         * config.h.in:
27253         added _SUDO_PATH_LOGFILE
27254         [dd3eebe62580]
27255
27256         * aclocal.m4:
27257         added SUDO_LOGFILE to find where to put sudo.log added
27258         SUDO_CHECK_TYPE (just AC_CHECK_TYPE but checks unistd.h too) added
27259         SUDO_TYPE_SIZE_T (calls SUDO_CHECK_TYPE)
27260         [c589a515a99a]
27261
27262 1995-03-29  Todd C. Miller  <Todd.Miller@courtesan.com>
27263
27264         * TROUBLESHOOTING:
27265         Initial revision
27266         [f42f1baba3a8]
27267
27268         * sudo.c:
27269         now do set_perms(PERM_ROOT) before the getpwuid() in load_global()
27270         to work around a problem is trusted hpux shadow passwords. yuck.
27271         [ae1f13b54687]
27272
27273         * parse.yacc:
27274         backed out a change in malloc/realloc
27275         [ab868db0ad69]
27276
27277         * parse.yacc:
27278         now include stdlib.h
27279         [957eef0631eb]
27280
27281         * visudo.c:
27282         now do an freopen() of the stmp file so that yyin will always point
27283         to the same thing. This is important for flex since we are doing a
27284         YY_NEWFILE
27285         [44558922fd3e]
27286
27287         * parse.yacc:
27288         replaced yywrap() with parser_cleanup() since yywrap() needs to be
27289         in parse.lex to be able to use YY_NEW_FILE. sigh.
27290         [12dd09921074]
27291
27292         * parse.lex:
27293         now have a rule that matches anything that doesn't match an
27294         explicite rule. well, you know what i mean (. matches anything not
27295         yet matched). However, this means that there is input still queued
27296         up so we need to do a YY_NEW_FILE; in yywrap. So, yywrap has moved
27297         into parse.lex and it calls parser_cleanup() which is most of the
27298         old yywrap() sigh.
27299         [7f4042bc48d6]
27300
27301         * SUPPORTED:
27302         no longer used
27303         [8f220be4da94]
27304
27305         * getcwd.c, getwd.c:
27306         moved compat.h to be the last include file
27307         [9f3a65e2d485]
27308
27309         * parse.yacc:
27310         fixed type of aliascmp() args
27311         [1c27eb989bdf]
27312
27313         * find_path.c:
27314         NULL -> '\0'
27315         [5c8d8cf1692e]
27316
27317         * parse.yacc:
27318         added casts to lfind and lsearch args for irix
27319         [61027ddeecf8]
27320
27321         * Makefile.in:
27322         bsdinstall -> install-sh
27323         [61de6612c5a5]
27324
27325         * INSTALL:
27326         added info about make realclean
27327         [29c6324d727f]
27328
27329         * Makefile.in:
27330         updated VERSION added dependencies for visudo.cat
27331         [09077d7229d4]
27332
27333         * version.h:
27334         -> pl5b1
27335         [5d21c7ad1a41]
27336
27337         * sudo.c:
27338         took out -l
27339         [fc1478d81b38]
27340
27341         * Makefile.in:
27342         now there is a real visudo.man and visudo.cat
27343         [58aeac43a6dd]
27344
27345         * sudo.man:
27346         took out visudo stuff
27347         [4a6ac4393343]
27348
27349         * visudo.man:
27350         Initial revision
27351         [cba348843db8]
27352
27353         * parse.c, parse.lex, parse.yacc:
27354         updated copyright
27355         [ffa16b70944a]
27356
27357         * README:
27358         updated for pl5
27359         [a26e423e9e5f]
27360
27361         * sudo.man:
27362         updated Nieusma & Hieb email addresses
27363         [f0083e71989d]
27364
27365         * INSTALL:
27366         updated to include options.h and OPTIONS
27367         [ee59e2b76c94]
27368
27369         * CHANGES, TODO:
27370         updated
27371         [51e011ad5220]
27372
27373         * BUGS:
27374         eliminated bug #1 (yay)
27375         [e7e88515494e]
27376
27377         * configure.in:
27378         sunos no longer gets linked statically
27379         [2e5b3ff3108f]
27380
27381 1995-03-28  Todd C. Miller  <Todd.Miller@courtesan.com>
27382
27383         * parse.lex:
27384         prototype now uses __P()
27385         [68ecdcab4c70]
27386
27387         * parse.lex:
27388         make fill() non-ansi
27389         [d6509972260b]
27390
27391         * parse.c:
27392         made -v (validate) work
27393         [13c9d520638c]
27394
27395         * logging.c:
27396         now gives host
27397         [f04859cdba5a]
27398
27399         * find_path.c:
27400         don't check for execute/statable if fq or relative path given
27401         [4bbe851f3973]
27402
27403         * parse.c:
27404         added a cast
27405         [345c308f72f3]
27406
27407         * visudo.c:
27408         now include ctype.h for islower and tolower macros
27409         [582c0aa332d5]
27410
27411         * goodpath.c:
27412         moved _S_IFMT & _S_ISREG to compat.h
27413         [828e4ca4e7b4]
27414
27415         * sudo.c:
27416         moved a set of parens
27417         [5783474ecf37]
27418
27419         * strdup.c:
27420         now include compat.h
27421         [75e2036b94af]
27422
27423         * emul/search.h:
27424         void * -> VOID *
27425         [cedcfaf04161]
27426
27427         * parse.yacc:
27428         now cast malloc & realloc return vals added search for HAVE_LSEARCH
27429         now use strcmp if no strcasecmp available
27430         [d6a42bc3d4ae]
27431
27432         * lsearch.c:
27433         void * -> VOID *
27434         [886adc44f607]
27435
27436         * config.h.in:
27437         removed HAVE_FLEX added VOID added HAVE_DIRENT_H, HAVE_SYS_NDIR_H,
27438         HAVE_SYS_DIR_H, HAVE_NDIR_H added HAVE_LSEARCH
27439         [3b50d7fb4349]
27440
27441         * compat.h:
27442         added _S_IFMT, _S_IFREG, and S_ISREG
27443         [73d506c7d53c]
27444
27445         * aclocal.m4:
27446         took out SUDO_PROG_INSTALL 1.x to 2.x changes added echo and results
27447         to most SUDO_* macros
27448         [8442155f5936]
27449
27450         * Makefile.in:
27451         no more -I.
27452         [63462f195bd4]
27453
27454         * configure.in:
27455         various 1.x ro 2.x autoconf changes now check for strcasecmp now use
27456         AC_INSTALL_PROG instead of custom one added check for fully woorking
27457         void implementation
27458         [5ac6b6e6230f]
27459
27460         * Makefile.in:
27461         added lsearch & search.h visudo links into $(LIBOBJS)
27462         [bc119cda4598]
27463
27464         * aclocal.m4:
27465         partial 1.x to 2.x changes added SUDO_FULL_VOID
27466         [1194d01fa5c5]
27467
27468         * visudo.c:
27469         whatnow_help was prototyped to be static be was not declared as
27470         such
27471         [0f85489dd426]
27472
27473         * configure.in:
27474         autoconf 2.x changes took out HAVE_FLEX (no longer used) added check
27475         for dirent/dir/ndir.h
27476         [7408f3854948]
27477
27478         * parse.c:
27479         now use groovy gnu autoconf macro AC_HEADER_DIRENT
27480         [e465db9f5dfa]
27481
27482         * getcwd.c, getwd.c:
27483         MAXPATHLEN -> MAXPATHLEN+1
27484         [714d87424e21]
27485
27486         * emul/search.h, lsearch.c:
27487         Initial revision
27488         [55d79482c535]
27489
27490 1995-03-27  Todd C. Miller  <Todd.Miller@courtesan.com>
27491
27492         * parse.yacc:
27493         eliminated bison warnings
27494         [61ca0a96da22]
27495
27496         * parse.lex:
27497         added missing case
27498         [6be0f849747c]
27499
27500         * visudo.c:
27501         now iincludes signal.h
27502         [221e0fcc144f]
27503
27504         * parse.yacc:
27505         only clear data structures on a parse error
27506         [7b1c0f1a4527]
27507
27508         * visudo.c:
27509         whatnow() now gives help on invalid input
27510         [e5a4cd88c587]
27511
27512         * visudo.c:
27513         added a whatnow() function (sort of like mh)
27514         [932d9b145f1c]
27515
27516         * parse.yacc:
27517         kill_aliases -> reset_aliases yywrap() now cleans up by calling
27518         reset_aliases() and clearing top took reset stuff out of yyerror()
27519         since it doesn't beling there (and doesn't work anyway). errorlineno
27520         is now initially set to -1 so we can set it to the first error that
27521         occurrs (it was getting set to the last)
27522         [2f71f95a974c]
27523
27524         * parse.lex:
27525         added a void cast
27526         [18ae6042dce4]
27527
27528         * visudo.c:
27529         rewrote from scratch based on 4.3BSD vipw.c
27530         [2f6814f18576]
27531
27532 1995-03-26  Todd C. Miller  <Todd.Miller@courtesan.com>
27533
27534         * sudo.c, sudo.h:
27535         removed ocmnd
27536         [a31735f41ad4]
27537
27538         * sudo.h:
27539         no more sudo_realpath() and find_path() changed params
27540         [8e85c3b39159]
27541
27542         * sudo.c:
27543         find_path() changed since no more realpath()
27544         [b25366c7f2ee]
27545
27546         * parse.yacc:
27547         on error, errorlineno is set to the line where the error occurred
27548         added kill_aliases() to free the aliases struct now clean up in
27549         yyerror() so we can reparse cleanly
27550         [2342f578c27a]
27551
27552         * options.h, parse.c:
27553         no more USE_REALPATH
27554         [cfc59babeaff]
27555
27556         * logging.c:
27557         changed to use new find_path()
27558         [91c7a38e7751]
27559
27560         * find_path.c:
27561         removed all the realpath() stuff
27562         [cc21a43a8562]
27563
27564         * Makefile.in:
27565         sudo_realpath.c -> sudo_goodpath.c
27566         [03a9b1ddec2f]
27567
27568         * visudo.c:
27569         now works correctly with utk parser
27570         [08aa554a0ce8]
27571
27572         * goodpath.c:
27573         Initial revision
27574         [1ea607e1ffb2]
27575
27576         * sudo_realpath.c:
27577         eliminated a compiler warning
27578         [198bcccc55b6]
27579
27580         * sudo.c:
27581         elinated compiler warning
27582         [e2384f9a878b]
27583
27584         * sudo_realpath.c:
27585         added sudo_goodpath()
27586         [43878c4cc540]
27587
27588         * sudo.h:
27589         added prototype for sudo_goodpath
27590         [23e8627a2265]
27591
27592         * parse.c:
27593         added support for /sys/dir.h
27594         [eca897087741]
27595
27596         * options.h:
27597         USE_REALPATH turned off
27598         [620ac8b63d85]
27599
27600         * find_path.c:
27601         added calls to sudo_goodpath()
27602         [ad170904fbcd]
27603
27604         * configure.in:
27605         added check for dirent.h
27606         [7964a8c26855]
27607
27608         * config.h.in:
27609         added HAVE_DIRENT_H
27610         [1f785fec7e19]
27611
27612         * configure.in:
27613         added in linux shadow pass stuff \ 6
27614         [e585a5785f50]
27615
27616 1995-03-24  Todd C. Miller  <Todd.Miller@courtesan.com>
27617
27618         * visudo.c:
27619         added back host, user, cmnd, parse_error
27620         [0ec19f3d64f4]
27621
27622         * visudo.c:
27623         added in utk changes plus some minor cosmetic changes
27624         [c5c1921c8a58]
27625
27626         * sudo.c, sudo_realpath.c:
27627         added void casts for printf's
27628         [9c6ff11c0082]
27629
27630         * options.h:
27631         added a define of USE_REALPATH
27632         [db3711c9efc5]
27633
27634         * configure.in:
27635         there is no more visudoers/Makefile
27636         [36e1bc1f78d0]
27637
27638         * Makefile.in:
27639         added in utk changes (visudo is now built from the toplevel)
27640         [76203d4b345d]
27641
27642         * find_path.c:
27643         added (void) casts to printf's
27644         [dd5cb1e060ac]
27645
27646         * parse.c, parse.lex, parse.yacc, sudo.h, sudo_realpath.c:
27647         merged in utk changes
27648         [35563307fd8e]
27649
27650 1995-03-23  Todd C. Miller  <Todd.Miller@courtesan.com>
27651
27652         * find_path.c:
27653         now check to see that what we are trying to run is a file (or a link
27654         to a file, we do a stat(2) so there is no diff)
27655         [05889c4bcace]
27656
27657 1995-03-13  Todd C. Miller  <Todd.Miller@courtesan.com>
27658
27659         * CHANGES:
27660         updated
27661         [3e8047bb26fb]
27662
27663         * Makefile.in:
27664         aclocal.m4 -> acsite.m4 make realclean updated for new autoconf \ 6
27665         [0bdbaa7c4c7d]
27666
27667         * sudo.man:
27668         added myself as maintainer
27669         [77a9d75aab84]
27670
27671 1995-02-17  Todd C. Miller  <Todd.Miller@courtesan.com>
27672
27673         * sudo.c:
27674         changed setegid -> setgid
27675         [7f4788d73b6f]
27676
27677 1995-02-06  Todd C. Miller  <Todd.Miller@courtesan.com>
27678
27679         * configure.in:
27680         fixed the test for irix 5.x to skip bad libs
27681         [bfef896de013]
27682
27683         * aclocal.m4:
27684         now initialize OS and OSREV
27685         [cc302756e440]
27686
27687 1995-01-27  Todd C. Miller  <Todd.Miller@courtesan.com>
27688
27689         * configure.in:
27690         irix5 changes
27691         [ac985b23f5f2]
27692
27693         * configure.in:
27694         AC_WITH -> AC_ARG_WITH changes other misc changes for autoconf 2.1
27695         compatibility
27696         [0cf8c92a06d7]
27697
27698 1995-01-19  Todd C. Miller  <Todd.Miller@courtesan.com>
27699
27700         * visudo.c:
27701         use YY_NEW_FILE, not yyrestart since OSF flex doesn't do the righ
27702         thing wrt yyrestart (grrrr)
27703         [18e8eabfbb82]
27704
27705 1995-01-16  Todd C. Miller  <Todd.Miller@courtesan.com>
27706
27707         * Makefile.in:
27708         added visudoers/compat.h to DISTFILES
27709         [db23b574b034]
27710
27711         * configure.in:
27712         fixed an echo
27713         [7cbc0462b89d]
27714
27715         * sudo.c:
27716         added ocmnd declaration adjusted for find_path()'s new parameters
27717         [d929cd156474]
27718
27719         * sudo.h:
27720         added ocmnd extern adjusted find_path() prototype
27721         [e0004daf5d3c]
27722
27723         * parse.c:
27724         cmndcmp() now takes 3 arguments and checks against the qualified as
27725         well as the unqualified pathname. more code that should use
27726         cmndcmp() but did not, now does
27727         [6f70a8c17bee]
27728
27729         * options.h:
27730         added to a comment
27731         [7a78680426b2]
27732
27733         * logging.c:
27734         changed to use new find_path() parameter passing
27735         [840981d30db4]
27736
27737         * find_path.c:
27738         find_path() now takes 2 copyout parameters (one for the qualified
27739         pathname and one for the unqualified pathname). The third parameter
27740         may be NULL.
27741         [851503b005e9]
27742
27743         * configure.in:
27744         no longer munge pathnames.h
27745         [427d8796c5a9]
27746
27747         * pathnames.h.in:
27748         changed _PATH_* to use _SUDO_PATH_* (which are defined in config.h)
27749         as a result, pathnames.h does not need to be run through configure
27750         and the user can override the configured values easily.
27751         [2e378f2ebe88]
27752
27753         * config.h.in:
27754         added _SUDO_PATH_* entries
27755         [0857de7cebab]
27756
27757         * aclocal.m4:
27758         _PATH* -> _SUDO_PATH_*
27759         [7601193f56cc]
27760
27761         * Makefile.in:
27762         updated DISTFILES and HDRS .o's now depend on config.h
27763         [39d8601965cf]
27764
27765 1995-01-13  Todd C. Miller  <Todd.Miller@courtesan.com>
27766
27767         * compat.h:
27768         removed extraneous #endif
27769         [27d4c5f2ce7e]
27770
27771         * aclocal.m4:
27772         added SUDO_PROG_MV
27773         [76dda3bdd816]
27774
27775         * configure.in:
27776         added SUDO_PROG_MV added riscos and isc os types took out
27777         -DSHORT_MESSAGE from --with-csops since it is now the default
27778         [68c206ad976e]
27779
27780         * sudo.c:
27781         move the include of id.h to compat.h now includes options.h
27782         [45a1eaafb3a8]
27783
27784         * sudo.h:
27785         moved compatibility #defines to compat.h
27786         [0eee27057698]
27787
27788         * pathnames.h.in:
27789         added _PATH_MV
27790         [e830797ab320]
27791
27792         * config.h.in:
27793         move __P to compat.h
27794         [188e12e0ba93]
27795
27796         * getcwd.c, getwd.c, putenv.c:
27797         now includes compat.h
27798         [c72cb6d73981]
27799
27800         * compat.h:
27801         Initial revision
27802         [d4d2f359ae03]
27803
27804 1995-01-12  Todd C. Miller  <Todd.Miller@courtesan.com>
27805
27806         * sudo.h:
27807         pull user-configurable stuff out and put in options.h
27808         [ef929467b070]
27809
27810 1995-01-11  Todd C. Miller  <Todd.Miller@courtesan.com>
27811
27812         * parse.lex, parse.yacc, visudo.c:
27813         now includes options.h
27814         [e36d7c82add1]
27815
27816         * check.c, find_path.c, logging.c, parse.c, sudo_realpath.c,
27817         sudo_setenv.c:
27818         now includes options.h
27819         [f186ba03de07]
27820
27821         * Makefile.in:
27822         added visudoers/options.h
27823         [e5350c476494]
27824
27825         * OPTIONS, options.h:
27826         Initial revision
27827         [9b6b5001e318]
27828
27829         * Makefile.in:
27830         added OPTIONS and options.h
27831         [25448341e16a]
27832
27833         * logging.c:
27834         changed #ifdef's to use LOGGING and SLOG_SYSLOG/SLOG_FILE
27835         [5dd6385dd1d3]
27836
27837         * check.c, sudo.h:
27838         changed PASSWORD_TIMEOUT to minutes
27839         [0ec6aab98738]
27840
27841 1994-12-17  Todd C. Miller  <Todd.Miller@courtesan.com>
27842
27843         * visudo.c:
27844         now only do Editor +line_num if line_num != 0
27845         [b69f04b5e3c7]
27846
27847 1994-12-16  Todd C. Miller  <Todd.Miller@courtesan.com>
27848
27849         * visudo.c:
27850         now use mv if rename(2) fails
27851         [83210dca1bab]
27852
27853         * BUGS:
27854         added a visudo bug
27855         [d61a806f9aa7]
27856
27857         * check.c:
27858         expanded comment
27859         [641f2cba94cb]
27860
27861 1994-11-12  Todd C. Miller  <Todd.Miller@courtesan.com>
27862
27863         * check.c:
27864         fixed user_is_exempt to return 0 if EXEMPTGROUP is not set
27865         [7a11135039a8]
27866
27867 1994-11-10  Todd C. Miller  <Todd.Miller@courtesan.com>
27868
27869         * sudo.c:
27870         added mips & isc support
27871         [e258dc053119]
27872
27873         * parse.c:
27874         added support for non-root owned sudoers file
27875         [fea07e65a0fc]
27876
27877         * check.c:
27878         added exempt group support
27879         [928fb4bd9ad5]
27880
27881         * sudo.h:
27882         added set_perms() support added SUDOERS_OWNER so can have non-root
27883         own sudoers file added exempt group support added isc support
27884         [61c578d31fc1]
27885
27886         * visudo.c:
27887         now copy sudoers to temp file via read/write (not stdio) now chown
27888         new sudoers file to SUDOERS_OWNER
27889         [a5176c59df70]
27890
27891 1994-11-08  Todd C. Miller  <Todd.Miller@courtesan.com>
27892
27893         * configure.in:
27894         added skey support
27895         [35a8d2fabdb7]
27896
27897         * sudo_realpath.c:
27898         be_* -> setperms()
27899         [a1631d686e1c]
27900
27901         * sudo.h:
27902         fixed typo added set_perms support added skey support added
27903         seteuid()/setegid() emulation for AIX
27904         [c0c8d6771406]
27905
27906         * sudo.c:
27907         be_* -> setperms() now check to make sure sudoers file is owned by
27908         root nread/write by only root
27909         [13ab1e261f1a]
27910
27911         * logging.c, parse.c:
27912         be_* -> setperms()
27913         [21499d845c8f]
27914
27915         * check.c:
27916         be_* -> set_perms() added skey support
27917         [df51b56871c1]
27918
27919 1994-11-06  Todd C. Miller  <Todd.Miller@courtesan.com>
27920
27921         * Makefile.in:
27922         ++version
27923         [3c1abbe4e43c]
27924
27925         * version.h:
27926         ++
27927         [1d2f9b540a95]
27928
27929 1994-10-21  Todd C. Miller  <Todd.Miller@courtesan.com>
27930
27931         * sudo.c:
27932         now sets IFS
27933         [eabbb41b9f08]
27934
27935         * insults.h:
27936         fixed typo
27937         [c7997f19216e]
27938
27939 1994-10-15  Todd C. Miller  <Todd.Miller@courtesan.com>
27940
27941         * config.h.in:
27942         added HAVE_SKEY
27943         [da948ec4186b]
27944
27945 1994-10-04  Todd C. Miller  <Todd.Miller@courtesan.com>
27946
27947         * CHANGES:
27948         updated
27949         [f4b55ab007ea]
27950
27951         * Makefile.in:
27952         ++version
27953         [0489068b8c95]
27954
27955         * version.h:
27956         ++
27957         [d189faedf423]
27958
27959         * sudo.c:
27960         now bail if ARgv[1] > MAXPATHLEN
27961         [0cea8ecc9dc2]
27962
27963         * configure.in:
27964         added function check for tcgetattr(3)
27965         [e03289b22c2f]
27966
27967         * config.h.in:
27968         only define HAVE_TERMIOS_H if you have tcgetattr(3)
27969         [757eab83d1a2]
27970
27971         * config.h.in:
27972         added check for tcgetattr
27973         [c5ae92715930]
27974
27975 1994-09-26  Todd C. Miller  <Todd.Miller@courtesan.com>
27976
27977         * CHANGES:
27978         updated
27979         [cbc419883108]
27980
27981 1994-09-22  Todd C. Miller  <Todd.Miller@courtesan.com>
27982
27983         * parse.lex:
27984         now only include unistd.h for linux
27985         [e9adeab95ef0]
27986
27987 1994-09-21  Todd C. Miller  <Todd.Miller@courtesan.com>
27988
27989         * Makefile.in:
27990         added visudo.8 generation
27991         [d6a3f0f887f8]
27992
27993         * configure.in:
27994         added -Wl,-bI:./aixcrypt.exp to aix flags
27995         [72594a21edcf]
27996
27997 1994-09-20  Todd C. Miller  <Todd.Miller@courtesan.com>
27998
27999         * BUGS:
28000         added one
28001         [9993a349e096]
28002
28003         * CHANGES:
28004         updated
28005         [297b31ec4cdd]
28006
28007         * README:
28008         added mailing list info
28009         [10372f94a2b2]
28010
28011         * parse.yacc:
28012         now use sudolineno instead of yylineno fixed bison warnings
28013         [25a83e62057b]
28014
28015         * configure.in:
28016         now use -no_library_replacement for osf don't make a static binary
28017         for hpux >= 9.0
28018         [1fa7b892f1a3]
28019
28020         * tgetpass.c:
28021         added string.h/strings.h inclusion
28022         [71faa98fc0a1]
28023
28024         * config.h.in:
28025         added ssize_t def
28026         [406284bd1ac0]
28027
28028         * parse.lex:
28029         added inclusion of string.h/strings.h
28030         [6985b1df5d09]
28031
28032         * aclocal.m4:
28033         fixed uname | sed (needed to quote the '[')
28034         [4cd2d3415c1a]
28035
28036         * parse.lex:
28037         replaced yylineno with sudolineno fixed bison syntax errors
28038         [0bd31a5fab26]
28039
28040         * visudo.c:
28041         changed yylineno to sudolineno since yylineno cannot be counted
28042         upon.
28043         [38c30104d0ae]
28044
28045         * TODO:
28046         updated
28047         [5d4746f1a752]
28048
28049         * parse.c:
28050         added code to support command listings
28051         [030172e133fd]
28052
28053         * sudo.c:
28054         added code for -l flag
28055         [801dbbc82778]
28056
28057         * sudo.man:
28058         fixed typo added info for -l flag
28059         [8916ca945d65]
28060
28061         * configure.in:
28062         AC_SSIZE_T -> SUDO_SSIZE_T
28063         [c61f7f47013f]
28064
28065         * aclocal.m4:
28066         added SUDO_SSIZE_T
28067         [0ccdb77be84d]
28068
28069         * sudo.h:
28070         added MODE_LIST
28071         [9b2bd844c76c]
28072
28073         * configure.in:
28074         added AC_SSIZE_T
28075         [35cca208f9b5]
28076
28077         * find_path.c, sudo_realpath.c:
28078         readlink() is now declared as returning ssize~_t
28079         [0640a08d1407]
28080
28081         * configure.in:
28082         added -laud for OSF c2
28083         [b7539c905efc]
28084
28085 1994-09-02  Todd C. Miller  <Todd.Miller@courtesan.com>
28086
28087         * Makefile.in, visudo.c:
28088         changed sudo-bugs.cs.colorado.edu -> sudo-bugs@cs.colorado.edu
28089         [067fd9bcb5e1]
28090
28091         * config.h.in, parse.lex, parse.yacc, pathnames.h.in:
28092         changed sudo-bugs.cs.colorado.edu -> sudo-bugs@cs.colorado.edu
28093         [fc46e7c7110a]
28094
28095         * check.c, find_path.c, getcwd.c, getwd.c, insults.h, logging.c,
28096         parse.c, putenv.c, strdup.c, sudo.c, sudo.h, sudo_realpath.c,
28097         sudo_setenv.c, tgetpass.c, version.h:
28098         changed sudo-bugs.cs.colorado.edu -> sudo-bugs@cs.colorado.ed
28099         [d1d4fbc53a98]
28100
28101 1994-09-01  Todd C. Miller  <Todd.Miller@courtesan.com>
28102
28103         * Makefile.in:
28104         ++version
28105         [b7066d97633f]
28106
28107         * version.h:
28108         ++
28109         [65ec69d88110]
28110
28111         * logging.c:
28112         added host to alertmail messages
28113         [d973c19ce777]
28114
28115         * CHANGES, TODO:
28116         udpated
28117         [5a65eb16faeb]
28118
28119         * logging.c:
28120         fixed logging problem where mail would not say which user it was
28121         [35723edcc5d2]
28122
28123         * configure.in:
28124         added -laud for gcc if osf & c2
28125         [18f1e0ae5548]
28126
28127         * check.c:
28128         moved set_auth_parameters to sudo.c
28129         [d23112fe01db]
28130
28131         * sudo.c:
28132         added set_auth_parameters for osf
28133         [eb70f65214ac]
28134
28135         * configure.in:
28136         cleaned up -static stuff
28137         [01e9575f0422]
28138
28139         * Makefile.in:
28140         ++version
28141         [7ac3bff5c770]
28142
28143         * version.h:
28144         ++
28145         [10a4ff478469]
28146
28147         * sudo.c:
28148         changed setenv() to sudo_setenv()
28149         [40a78abb9946]
28150
28151         * check.c:
28152         fixed osf problem
28153         [3d69b118efb8]
28154
28155         * configure.in:
28156         added OSF C2 stuff
28157         [38cff3ad4093]
28158
28159         * CHANGES:
28160         updated
28161         [cd341dd0581a]
28162
28163         * check.c:
28164         added osf auth support & removed some extra spaces
28165         [a448cdd81514]
28166
28167         * INSTALL, SUPPORTED:
28168         added osf C2 stuff
28169         [f70484796146]
28170
28171 1994-08-31  Todd C. Miller  <Todd.Miller@courtesan.com>
28172
28173         * TODO:
28174         added 2 suggestions
28175         [695fbdbd86e6]
28176
28177         * Makefile.in:
28178         removed README.v1.3.1 and added VERSION stuff
28179         [f69403eb04c6]
28180
28181         * version.h:
28182         pl1
28183         [21580c0f8cb1]
28184
28185 1994-08-30  Todd C. Miller  <Todd.Miller@courtesan.com>
28186
28187         * version.h:
28188         1.3.1final
28189         [630114970298]
28190
28191         * Makefile.in:
28192         added HISTORY
28193         [901bff251614]
28194
28195         * sudo.man:
28196         mention HISTPRY file
28197         [86dbcfd4326e]
28198
28199         * sudo.c:
28200         use sizeof instead of a constant in 1 place
28201         [d819604c68ca]
28202
28203         * parse.yacc:
28204         added unistd.h
28205         [6f9500f9fe7e]
28206
28207         * parse.lex:
28208         added unistd.h
28209         [468b81a276eb]
28210
28211         * README:
28212         udpated
28213         [7e275618923a]
28214
28215         * HISTORY:
28216         Initial revision
28217         [5db1b0a3939b]
28218
28219 1994-08-17  Todd C. Miller  <Todd.Miller@courtesan.com>
28220
28221         * version.h:
28222         ++
28223         [7dfbb4a810bb] [SUDO_1_3_1]
28224
28225         * CHANGES:
28226         updated
28227         [7820ee610bf8]
28228
28229         * sudo_setenv.c:
28230         added unistd.h include
28231         [30cf2b654525]
28232
28233 1994-08-16  Todd C. Miller  <Todd.Miller@courtesan.com>
28234
28235         * sudo.c:
28236         added sys/time.h for AIX
28237         [199fc8caf3a3]
28238
28239 1994-08-15  Todd C. Miller  <Todd.Miller@courtesan.com>
28240
28241         * configure.in:
28242         added check for -lsocket and sys/sockio.h
28243         [f9abfbb31031]
28244
28245         * config.h.in:
28246         took out libshadow check and added in sys/sockio.h check
28247         [0c4b0393ac80]
28248
28249         * sudo.c:
28250         now include sockio.h instead of ioctl.h if it exists "sudo -" now
28251         gets a better error message
28252         [53041bea5483]
28253
28254         * sample.sudoers:
28255         now has a dir and subnet entry
28256         [56b820f65438]
28257
28258 1994-08-13  Todd C. Miller  <Todd.Miller@courtesan.com>
28259
28260         * sudo.c:
28261         removed if_ether.h
28262         [b4f64507493e]
28263
28264         * TODO:
28265         added an item
28266         [ea2a1bb6922a]
28267
28268         * sudo.man:
28269         added network and ip addresses to man page
28270         [01c85016511f]
28271
28272         * sudo.c:
28273         no error if can't get interfaces or netmask since networking may not
28274         be in the kernel.
28275         [50b8890e2134]
28276
28277         * parse.c:
28278         nwo check for interfaces == NULL
28279         [dc1b3eef0db2]
28280
28281         * parse.c:
28282         fixed a bug that caused directory specs in a Cmnd_Alias to fail if
28283         the last entry in the spec failed (ie: it was only looking at the
28284         last entry). CLeaned things up by adding the cmndcmp() function--all
28285         neat & tidy
28286         [007e93578e5e]
28287
28288         * CHANGES:
28289         added one
28290         [40e8a2cef497]
28291
28292 1994-08-12  Todd C. Miller  <Todd.Miller@courtesan.com>
28293
28294         * sudo.c:
28295         now do two passes to skip bogus interfaces (lo0, etc)
28296         [465e30aecaf7]
28297
28298         * parse.lex, parse.yacc, visudo.c:
28299         added include of netinet/in.h
28300         [11e3816ed362]
28301
28302         * logging.c, sudo_realpath.c, sudo_setenv.c:
28303         added ninclude of netinet/in.h
28304         [daccfa40fe1e]
28305
28306         * check.c, find_path.c, getcwd.c, getwd.c:
28307         added include of netinet/in.h
28308         [0222f95e06ad]
28309
28310         * version.h:
28311         ++
28312         [d6b0cfa35a38]
28313
28314         * sudo.h:
28315         added interfaces global
28316         [ba52fa8ad75e]
28317
28318         * parse.c:
28319         now uses new interfaces global
28320         [17473ad5ecba]
28321
28322         * sudo.c:
28323         now ip addresses are gleaned fw/o dns
28324         [8828bb2007e0]
28325
28326 1994-08-10  Todd C. Miller  <Todd.Miller@courtesan.com>
28327
28328         * sudo.c:
28329         added load_ip_addrs() to load the ip_addrs global var
28330         [60c825f04238]
28331
28332         * parse.c:
28333         added hostcmp() to compare hostnames, ip addrs, and network addrs
28334         [ab0e40e37537]
28335
28336         * sudo.h:
28337         added ip_addrs def added load_ip_addrs prototype
28338         [c41c565d0777]
28339
28340 1994-08-08  Todd C. Miller  <Todd.Miller@courtesan.com>
28341
28342         * CHANGES:
28343         updated
28344         [2a128dbe9bcb]
28345
28346         * Makefile.in:
28347         removed multiple entries in DISTFILES
28348         [2490f4f371e6]
28349
28350         * visudo.c:
28351         ansified the !STDC_HEADERS decls
28352         [646ba06d17ae]
28353
28354         * find_path.c, getcwd.c, getwd.c, putenv.c, strdup.c:
28355         don't do malloc decl if gnuc
28356         [f1bad1925f98]
28357
28358         * sudo.c:
28359         can't use getopt(3) since it munges args to the command to be run as
28360         root don't do malloc decl if gnuc
28361         [38e78f6da14e]
28362
28363         * find_path.c, getcwd.c, getwd.c, putenv.c, strdup.c, sudo.c,
28364         sudo_realpath.c, sudo_setenv.c:
28365         ansi-fied !STDC_HEADER function prottypes
28366         [51d8cad89976]
28367
28368         * getcwd.c, getwd.c:
28369         added missing paren
28370         [6a1fae70e27e]
28371
28372         * Makefile.in:
28373         added putenv.c to DISTFILES
28374         [a5e4523eabbb]
28375
28376         * sudo_setenv.c:
28377         added params to func decls when STDC_HEADERS is not defined now can
28378         count on putenv() being there
28379         [fd587796189b]
28380
28381         * sudo_realpath.c:
28382         took out errno decl since sudo.h does it for us fixed up a next cc
28383         warning added params to func decls when STDC_HEADERS is not defined
28384         [70fa5152ace6]
28385
28386         * sudo.h:
28387         took out environ extern added local declaratio of putenv() if local
28388         version is needed
28389         [a84bae6c020d]
28390
28391         * find_path.c, getcwd.c, getwd.c, strdup.c, sudo.c:
28392         added params to func decls when STDC_HEADERS is not defined
28393         [f406f0e47ac0]
28394
28395         * config.h.in:
28396         added memcpy check check to see that ansi vs bsd macros are ntot
28397         already defiend before defining (ie: avoid redefinition)
28398         [879ae026e19f]
28399
28400         * configure.in:
28401         removed fluff setenv check plus check w/ replace for putenv if also
28402         no setenv
28403         [e3c03814ad4b]
28404
28405         * putenv.c:
28406         Initial revision
28407         [3cff63e2dc1b]
28408
28409 1994-08-06  Todd C. Miller  <Todd.Miller@courtesan.com>
28410
28411         * sudo_setenv.c:
28412         Initial revision
28413         [4d637631fa6b]
28414
28415         * sudo.h:
28416         rm'd s realp[ath added sudo_realpath and sudo_setenv
28417         [07ba001ff57e]
28418
28419         * sudo.c:
28420         now use sudo_setenvc
28421         [fd81e04d5ef0]
28422
28423         * configure.in:
28424         added puteenv and setenv, removed realpath
28425         [27bfacfb513b]
28426
28427         * config.h.in:
28428         added putenv & setenv
28429         [515f14eaf6e4]
28430
28431         * Makefile.in:
28432         added sudo_setenv
28433         [217731a717c5]
28434
28435         * version.h:
28436         ++
28437         [eadb346d7129]
28438
28439 1994-08-05  Todd C. Miller  <Todd.Miller@courtesan.com>
28440
28441         * configure.in:
28442         added MAN_POSTINSTALL and /usr/share/catman for irix
28443         [2a9496c1bdba]
28444
28445         * Makefile.in:
28446         added MAN_POSTINSTALL
28447         [89b0d4695529]
28448
28449         * CHANGES:
28450         added
28451         [48c021ba8a70]
28452
28453         * sudo.man:
28454         added SUDO_* plus new options
28455         [c0759cff5683]
28456
28457         * CHANGES:
28458         added one
28459         [7d44a3922d56]
28460
28461         * configure.in:
28462         took out shadow lib
28463         [07cf3de18701]
28464
28465         * TODO:
28466         adde done
28467         [a27a578e8afe]
28468
28469         * visudo.c:
28470         now use yyrestart() if flex now reset yylineno to 0
28471         [77d67ce0b677]
28472
28473         * Makefile.in:
28474         support for installing a cat page instead of a man page if no nroff
28475         [44671c0fc0fa]
28476
28477         * configure.in:
28478         now defines HAVE_FLEX fixed up man stuff so that it looks for nroff
28479         to determine whether or not to install a cat or man page
28480         [0562d069c135]
28481
28482         * config.h.in:
28483         added HAVE_FLEX
28484         [c5490bae39d3]
28485
28486         * sudo.c:
28487         not set ret to MODE_RUN initially
28488         [88b4983c195b]
28489
28490         * find_path.c:
28491         made command (and therefor cmnd dynamically allocated)
28492         [95b82e32b6de]
28493
28494         * TODO:
28495         did #8
28496         [fb6f41308cdf]
28497
28498         * version.h:
28499         ++
28500         [14112ecab5ae]
28501
28502         * sudo_realpath.c:
28503         changed bufs from MAXPATHLEN to MAXPATHLEN+1
28504         [0ad4f34e55c0]
28505
28506         * sudo.h:
28507         added MODE_ removed validate_only and added remove_timestamp()
28508         [dd5f99c57728]
28509
28510         * sudo.c:
28511         usage() now takes an int (exit value) added parse_args() to parse
28512         command line arguments moved call to find_path() from load_globals
28513         to new function load_cmnd() removed validate_only global -- now use
28514         the concept of "modes" added -h and -k options
28515         [c3887090b28a]
28516
28517         * parse.c:
28518         no longer use global validate_only now checks for command called
28519         "validate" removed check for non-fully qualified commands since that
28520         is done by find_path
28521         [7d56fbd26369]
28522
28523         * find_path.c:
28524         changed MAXPATHLEN r to MAXPATHLEN+1
28525         [a86e8664d971]
28526
28527         * find_path.c:
28528         fixed off by one error with MAXPATHLEN and fixed a comment
28529         [58adcef8c981]
28530
28531         * check.c:
28532         check_timestamp no longer runs reminder(), it is implied in the
28533         return val added remove_timestamp()
28534         [42ab5a77066f]
28535
28536         * CHANGES:
28537         updated
28538         [8e69b31df024]
28539
28540 1994-08-04  Todd C. Miller  <Todd.Miller@courtesan.com>
28541
28542         * BUGS:
28543         fixed on
28544         [bc34f1ac4280]
28545
28546         * sudo_realpath.c:
28547         took out old_errno
28548         [a168d00a0768]
28549
28550         * CHANGES:
28551         updated
28552         [04ba80922df7]
28553
28554 1994-08-03  Todd C. Miller  <Todd.Miller@courtesan.com>
28555
28556         * logging.c:
28557         moved send_mail to after syslog
28558         [4d4188087834]
28559
28560         * sudo.c:
28561         now set SUDO_ envariables
28562         [e5963f1bd3bb]
28563
28564 1994-08-01  Todd C. Miller  <Todd.Miller@courtesan.com>
28565
28566         * version.h:
28567         ++
28568         [2a4534845d8c]
28569
28570         * sudo_realpath.c:
28571         now print error if chdir fails
28572         [0d75c8973d49]
28573
28574         * find_path.c:
28575         removed an XXX
28576         [e2077bcb35aa]
28577
28578 1994-07-26  Todd C. Miller  <Todd.Miller@courtesan.com>
28579
28580         * CHANGES:
28581         updated
28582         [e30a2b39b41a]
28583
28584         * configure.in:
28585         no more static binaries for aix
28586         [77a0beb6bd80]
28587
28588 1994-07-25  Todd C. Miller  <Todd.Miller@courtesan.com>
28589
28590         * INSTALL:
28591         fixed typo
28592         [ba5e0d391bc4]
28593
28594         * sudo_realpath.c:
28595         took out stuff not needed for sudo now does be_root/be_user itself
28596         now uses cwd global
28597         [4f6d4641d793]
28598
28599         * version.h:
28600         +=2
28601         [97da927b297c]
28602
28603         * logging.c, sudo.c:
28604         be_root/be_user is now down in sudo_realpath()
28605         [f331662fa50f]
28606
28607         * logging.c, sudo.h:
28608         now works with 4.2BSD syslog (blech)
28609         [98e39d89dd36]
28610
28611         * find_path.c:
28612         now use sudo_realpath()
28613         [ab436a8ebd02]
28614
28615         * config.h.in:
28616         took out realpth() stuff since we now use sudo_realpath()
28617         [8de5ef9f6044]
28618
28619         * configure.in:
28620         ultrix enhanced sec
28621         [815fb7fffcc0]
28622
28623         * SUPPORTED:
28624         added ultrix enhanced sec.
28625         [6466766c8062]
28626
28627         * INSTALL:
28628         updated
28629         [d681a634297a]
28630
28631         * check.c:
28632         ultrix enhanced security suport
28633         [f10c8decbcc2]
28634
28635         * Makefile.in:
28636         added sudo_realpath.c
28637         [6b9bcd3be022]
28638
28639         * CHANGES:
28640         updated
28641         [2fa8084c1b53]
28642
28643         * tgetpass.c:
28644         increased passwd len to 24 for c2 security
28645         [ec64838be62d]
28646
28647         * BUGS:
28648         updated BUGS
28649         [ca00d8fec2ce]
28650
28651 1994-07-15  Todd C. Miller  <Todd.Miller@courtesan.com>
28652
28653         * check.c:
28654         now use user global var
28655         [568769719013]
28656
28657         * configure.in:
28658         took out -ls
28659         [490a44180d5f]
28660
28661 1994-07-14  Todd C. Miller  <Todd.Miller@courtesan.com>
28662
28663         * configure.in:
28664         added AFS libs
28665         [4fb40c8c01ba]
28666
28667         * sudo.h:
28668         user is now a char * added epasswd
28669         [27a919fafdfb]
28670
28671         * sudo.c:
28672         added tzset() to load_globals added epasswd (encrypted password)
28673         global made user dynamically allocated
28674         [b99ef9bdbfce]
28675
28676         * configure.in:
28677         added tzset test
28678         [27592dd1214b]
28679
28680         * config.h.in:
28681         added HAVE_TZSET
28682         [b13f4213f3d0]
28683
28684         * check.c:
28685         cleaned up encrypted passwd grab somewhat
28686         [c8ba9a4db38a]
28687
28688         * configure.in:
28689         fixed AFS typo
28690         [2bfcbce237b6]
28691
28692         * INSTALL:
28693         added AFS not
28694         [80c67329393c]
28695
28696         * CHANGES:
28697         udpated
28698         [2f09ecdd5d31]
28699
28700         * logging.c:
28701         can now log to both syslog & a file
28702         [4d5c0932bc01]
28703
28704         * sudo.h:
28705         added BOTH_LOGS
28706         [623c539be824]
28707
28708         * CHANGES:
28709         updated
28710         [a1c7f5ef3616]
28711
28712         * configure.in:
28713         --with-AFS
28714         [28718d8f5daf]
28715
28716         * config.h.in:
28717         added HAVE_AFS
28718         [2e32bb4e63e4]
28719
28720         * check.c:
28721         added afs changes
28722         [fe4d0ff320a2]
28723
28724         * sudo.h:
28725         removed AFS stuff :-)
28726         [a40387e6fa27]
28727
28728         * tgetpass.c:
28729         include sys/select for AIX
28730         [f32c5a8f2c84]
28731
28732         * sudo.h:
28733         added AFS
28734         [da2ab3dd0348]
28735
28736         * version.h:
28737         ++
28738         [452d4dfe25af]
28739
28740 1994-07-07  Todd C. Miller  <Todd.Miller@courtesan.com>
28741
28742         * CHANGES, SUPPORTED:
28743         updated
28744         [e7dfe6f23a37]
28745
28746         * logging.c:
28747         can now have MAILER undefined
28748         [1d33b98b35e1]
28749
28750         * INSTALL:
28751         new sub-note about MAILER
28752         [d35c636a0574]
28753
28754         * sudo.man:
28755         added blurb about password timeout
28756         [70c2ee50de20]
28757
28758         * configure.in:
28759         convex c2 changes
28760         [367138a6232e]
28761
28762         * aclocal.m4:
28763         took out duplicate define of _CONVEX_SOURCE
28764         [647182138450]
28765
28766         * Makefile.in:
28767         added OSDEFS
28768         [7fdcd50602d1]
28769
28770         * config.h.in:
28771         added spaces
28772         [f2b8a05e48f3]
28773
28774         * tgetpass.c:
28775         added a goto if fgets fails
28776         [68a6586d9c45]
28777
28778         * sudo.h:
28779         use __hpux not hpux convex c2 stuff
28780         [5c377a8d5f34]
28781
28782         * sudo.c:
28783         use __hpux not hpux
28784         [9363bc0f9f9e]
28785
28786         * logging.c:
28787         convex c2 stuff
28788         [ea5630975ac4]
28789
28790         * config.h.in:
28791         define ansi-ish cpp os defines if non-ansi are defined for hpux &
28792         convex
28793         [664f53a5e786]
28794
28795         * INSTALL:
28796         updated to say we support sonvex C2
28797         [5f2f8b87013e]
28798
28799         * check.c:
28800         added convex c2 support
28801         [9a665d4918fa]
28802
28803 1994-07-01  Todd C. Miller  <Todd.Miller@courtesan.com>
28804
28805         * tgetpass.c:
28806         no more ioctl never returns NULL uses fgets() and select() to
28807         timeout
28808         [b333e6d63e97]
28809
28810 1994-06-29  Todd C. Miller  <Todd.Miller@courtesan.com>
28811
28812         * configure.in:
28813         things were testing -n "$GCC" instead of -z "$GCC"
28814         [059a9b15ede2]
28815
28816         * tgetpass.c:
28817         now works + uses fgets()
28818         [353d7ebcb7bb]
28819
28820 1994-06-28  Todd C. Miller  <Todd.Miller@courtesan.com>
28821
28822         * tgetpass.c:
28823         select doesn't seem to recognize a single '\n' as input waiting so
28824         we can;t use it, sigh.
28825         [f76e3218b835]
28826
28827 1994-06-26  Todd C. Miller  <Todd.Miller@courtesan.com>
28828
28829         * PORTING:
28830         updated tgetpass() blurb
28831         [95baac736b49]
28832
28833         * configure.in:
28834         added --with-getpass
28835         [42ac0bdf58ed]
28836
28837         * Makefile.in:
28838         added tgetpass stuff
28839         [e2b38c635663]
28840
28841         * tgetpass.c:
28842         now uses stdio
28843         [36af8ff66e35]
28844
28845         * version.h:
28846         ++
28847         [4e81c9db19bd]
28848
28849 1994-06-24  Todd C. Miller  <Todd.Miller@courtesan.com>
28850
28851         * PORTING:
28852         updated ,.
28853         [54f523770a05]
28854
28855         * config.h.in:
28856         added USE_GETPASS && HAVE_C2_SECURITY
28857         [86b355cb2953]
28858
28859         * configure.in:
28860         fixed a test aded --with-C2 and --with-tgetpass
28861         [abf6181588ef]
28862
28863         * check.c:
28864         added hpux C2 shit
28865         [20d4177ffa88]
28866
28867         * Makefile.in:
28868         took out tgetpass.*
28869         [cc82fd9984b4]
28870
28871         * INSTALL:
28872         added C2 blurb
28873         [1d2bfc35e4b6]
28874
28875 1994-06-13  Todd C. Miller  <Todd.Miller@courtesan.com>
28876
28877         * configure.in:
28878         no termio(s) for ultrix since it is broken
28879         [d3e82e835350]
28880
28881         * check.c:
28882         added a space (yeah, anal)
28883         [05e4b31ca68c]
28884
28885         * realpath.c, sudo_realpath.c:
28886         fixed it (duh, rtfm)
28887         [f13097cb8cb6]
28888
28889 1994-06-08  Todd C. Miller  <Todd.Miller@courtesan.com>
28890
28891         * config.h.in:
28892         took out bsd signal stuff for irix
28893         [e179cdafc97a]
28894
28895         * visudo.c:
28896         comments in #endif
28897         [e3a629190f5e]
28898
28899         * configure.in:
28900         don't define BSD signals for irix
28901         [3ce57bffb7f0]
28902
28903         * TODO:
28904         did some...
28905         [274241cd0f74]
28906
28907         * CHANGES:
28908         updated
28909         [8f29fc755faf]
28910
28911         * realpath.c, sudo_realpath.c:
28912         took out unneeded code by changing where a strings was terminated
28913         [b5564d62d30e]
28914
28915 1994-06-07  Todd C. Miller  <Todd.Miller@courtesan.com>
28916
28917         * realpath.c, sudo_realpath.c:
28918         fix bug where /dirname would return NULL
28919         [b85f470daf26]
28920
28921         * sudo.h:
28922         move __P to config.h
28923         [7763c0ff3f28]
28924
28925         * getcwd.c, getwd.c, realpath.c, sudo_realpath.c:
28926         added errno definition
28927         [4cc9d2d9782a]
28928
28929         * config.h.in:
28930         added __P
28931         [ca06f5aa58f3]
28932
28933         * config.h.in:
28934         added HAVE_FCHDIR
28935         [206d714641e0]
28936
28937         * strdup.c:
28938         now include stdio
28939         [0d8458da0e1d]
28940
28941         * realpath.c, sudo_realpath.c:
28942         now works if no fchdir
28943         [e035911b6722]
28944
28945         * visudo.c:
28946         define SA_RESETHAND to null if not defined
28947         [afec03e84342]
28948
28949         * configure.in:
28950         added check & replace
28951         [c1a65481441c]
28952
28953         * configure.in:
28954         took out -static for nextstep -- it doesn't work
28955         [fa1a1a611743]
28956
28957 1994-06-06  Todd C. Miller  <Todd.Miller@courtesan.com>
28958
28959         * logging.c:
28960         moved #endif to where it belongs
28961         [07d3a8972097]
28962
28963         * SUPPORTED:
28964         correction
28965         [0c1ecba3e5a3]
28966
28967         * configure.in:
28968         now checks for strdup realpath getcwd bzero
28969         [f029a1917515]
28970
28971         * config.h.in:
28972         emulate bzero
28973         [d792352e44a3]
28974
28975         * visudo.c:
28976         added posic signals
28977         [2ed0005f90fc]
28978
28979         * tgetpass.c:
28980         bzero cast
28981         [6d91b1a1526f]
28982
28983         * logging.c:
28984         added posix signals
28985         [67ede9c22a05]
28986
28987         * configure.in:
28988         removed BROKEN_GETPASS added new srcs toreplace missing functions
28989         [cf44274bb1c8]
28990
28991         * config.h.in:
28992         added posix signal stuff
28993         [a3c1c98fe8ef]
28994
28995         * Makefile.in:
28996         added new srcs
28997         [b6a079afee47]
28998
28999         * visudo.c:
29000         updated useag
29001         [589ed091c44f]
29002
29003         * tgetpass.c:
29004         now uses posix signals
29005         [30f74964074f]
29006
29007         * PORTING:
29008         updated sto reflect major changes
29009         [bcfc309e017b]
29010
29011         * CHANGES, TODO:
29012         updated
29013         [23aacbd54278]
29014
29015         * tgetpass.c:
29016         uses sysconf() if available
29017         [a27431c90bab]
29018
29019         * sudo.h:
29020         added PASSWORD_TIMEOUT + prototypes for new functions
29021         [d7473c2f77c4]
29022
29023         * realpath.c, sudo_realpath.c:
29024         for those w/o this in libc
29025         [1e47aa7a9d46]
29026
29027         * getcwd.c, getwd.c:
29028         Initial revision
29029         [c90dea57a84f]
29030
29031         * find_path.c:
29032         rewrote to use realpath(3) - nis now all my code
29033         [d2c3bb8fb37d]
29034
29035         * config.h.in:
29036         added HAVE_REALPATH
29037         [02c10352a8c7]
29038
29039         * check.c:
29040         now use tgetpass
29041         [b5c021fc179f]
29042
29043         * Makefile.in:
29044         added LIBOBJS use tgetpass.c
29045         [230a7b3eeaa3]
29046
29047 1994-06-05  Todd C. Miller  <Todd.Miller@courtesan.com>
29048
29049         * tgetpass.c:
29050         works now :-)
29051         [025e7a3875ba]
29052
29053         * tgetpass.c:
29054         Initial revision
29055         [3316ab33b230]
29056
29057         * pathnames.h.in:
29058         added /dev/tty
29059         [29242585e53f]
29060
29061 1994-06-04  Todd C. Miller  <Todd.Miller@courtesan.com>
29062
29063         * version.h:
29064         incremented
29065         [f2e54b48280f]
29066
29067         * sudo.c:
29068         always use getcwd
29069         [c6068e8a4029]
29070
29071         * config.h.in:
29072         added check for getwd
29073         [ab1e102ad673]
29074
29075         * configure.in:
29076         replace strdup & realpath & getcwd if missing
29077         [b0eb14f2a1c3]
29078
29079         * pathnames.h.in:
29080         added _PATH_PWD
29081         [309d2388f69a]
29082
29083         * aclocal.m4:
29084         added SUDO_PROG_PWD
29085         [e16e85deb96c]
29086
29087         * strdup.c:
29088         Initial revision
29089         [810efdc15007]
29090
29091         * realpath.c, sudo_realpath.c:
29092         Initial revision
29093         [d85eee438e09]
29094
29095 1994-06-03  Todd C. Miller  <Todd.Miller@courtesan.com>
29096
29097         * configure.in:
29098         quoted quare brackets
29099         [d0e7ca111d98]
29100
29101 1994-06-02  Todd C. Miller  <Todd.Miller@courtesan.com>
29102
29103         * sudo.c:
29104         no need to strdup() a constant
29105         [a8c44712df9a]
29106
29107         * CHANGES:
29108         updated
29109         [71364129cca0]
29110
29111         * sudo.man:
29112         added validate
29113         [0bb198095a26]
29114
29115         * sudo.c:
29116         added -v to usage
29117         [31ea71f11dbb]
29118
29119         * parse.c, sudo.c, sudo.h:
29120         added validate_only stuff
29121         [9bcd853d3c90]
29122
29123 1994-05-30  Todd C. Miller  <Todd.Miller@courtesan.com>
29124
29125         * configure.in:
29126         now finds sed
29127         [6374bb0d3f28]
29128
29129         * aclocal.m4:
29130         $OSREV is now an int
29131         [ace0666d66cf]
29132
29133 1994-05-29  Todd C. Miller  <Todd.Miller@courtesan.com>
29134
29135         * configure.in:
29136         added mtxinu to caser
29137         [73a776887b16]
29138
29139         * sudo.h:
29140         added EXEC macro
29141         [2e8eb28b710a]
29142
29143         * sudo.c:
29144         now use the EXEC nmacro now only do a gethostbyname() if FQDN is set
29145         [56afb4f658d5]
29146
29147         * logging.c:
29148         changed mail_argv[] def now use EXEC() macro
29149         [ddcabd28edb1]
29150
29151         * check.c:
29152         took out crypt() definition
29153         [0e657724cf5f]
29154
29155         * version.h:
29156         upped the version
29157         [62c5d66119fc]
29158
29159         * configure.in:
29160         always look for -lnsl
29161         [d7b594f0313b]
29162
29163         * aclocal.m4:
29164         added an echo
29165         [1caae3491dc5]
29166
29167         * sudo.h:
29168         SHORT_MESSAGE is now the default
29169         [cfce35c3119a]
29170
29171         * config.h.in:
29172         fixed typo
29173         [6499a564bf75]
29174
29175         * configure.in:
29176         added missing AC_DEFINE(SVR4) for solaris
29177         [feef0b17b94f]
29178
29179         * sudo.man:
29180         documented the -v flag
29181         [a6429f2bc2cf]
29182
29183         * SUPPORTED:
29184         updated
29185         [088886e79540]
29186
29187         * check.c:
29188         proto-ized crypt()
29189         [801e4ff5b121]
29190
29191         * config.h.in:
29192         added LIBSHADOW undef
29193         [8df588e9ee2b]
29194
29195         * configure.in:
29196         nwo set OS to be lowercase
29197         [561ebed833e4]
29198
29199 1994-05-28  Todd C. Miller  <Todd.Miller@courtesan.com>
29200
29201         * configure.in:
29202         now use SUDO_OSTYPE to set $OS
29203         [0e60aee23098]
29204
29205         * aclocal.m4:
29206         now use uname to determine os
29207         [99705e58d400]
29208
29209         * visudo.c:
29210         added prototypes & moved sig handler around
29211         [1f0bc8d23b51]
29212
29213         * sudo.h:
29214         added prototyppes
29215         [be3935a2b163]
29216
29217         * check.c, logging.c, sudo.c:
29218         added prototypes
29219         [2079b4605ab8]
29220
29221         * parse.c:
29222         added comment
29223         [a34d147d8399]
29224
29225         * config.h.in:
29226         nwo use _BSD_SIGNALS not _BSD_COMPAT
29227         [63663195f047]
29228
29229         * aixcrypt.exp:
29230         Initial revision
29231         [890aed08357e]
29232
29233         * Makefile.in:
29234         added aixcrypt.exp
29235         [1005a183105f]
29236
29237         * parse.lex, parse.yacc:
29238         moved config.h to top of includes
29239         [9569c49aa5f3]
29240
29241 1994-05-25  Todd C. Miller  <Todd.Miller@courtesan.com>
29242
29243         * find_path.c:
29244         now don't bitch if get EACCESS (treat like EPERM)
29245         [dbeffb638de4]
29246
29247         * visudo.c:
29248         added -v flag and usage()
29249         [4d44ed60ed75]
29250
29251         * version.h:
29252         fixed a typo
29253         [cf3f9347ae41]
29254
29255         * sudo.c:
29256         cast Argv to a const for exec added -v flag
29257         [d11b6efc0e45]
29258
29259         * logging.c:
29260         mail_argv is now a const
29261         [93bb5d90bb6f]
29262
29263         * configure.in:
29264         only set RETSIGTYPE if it is not set already
29265         [c97aac260b77]
29266
29267         * aclocal.m4:
29268         now defines & STDC_HEADERS for Irix
29269         [9c2b24ad1fc5]
29270
29271         * Makefile.in:
29272         added version.h
29273         [9f79e880229a]
29274
29275         * insults.h, sudo.h:
29276         prevent multiple inclusion
29277         [d68c8a9243ce]
29278
29279         * version.h:
29280         Initial revision
29281         [dbb39c5ef8d9]
29282
29283         * parse.lex, parse.yacc:
29284         now includes config.h
29285         [f117e036a56b]
29286
29287         * aclocal.m4:
29288         now talks about sunos 4.x
29289         [c9054aa92d4e]
29290
29291         * visudo.c:
29292         calls to Exit now pass an arg
29293         [a92104670551]
29294
29295 1994-05-24  Todd C. Miller  <Todd.Miller@courtesan.com>
29296
29297         * visudo.c:
29298         signal handler now takes an int argument
29299         [26f480c41523]
29300
29301         * CHANGES:
29302         updated
29303         [8c166a9d796b]
29304
29305         * sudo.c:
29306         ok, the getcwd() is now *really* done as the user
29307         [ab86cf85134a]
29308
29309         * configure.in:
29310         changed AIX STATIC_FLAGS
29311         [b9c0a3ba5663]
29312
29313         * aclocal.m4:
29314         solaris now defines SVR4
29315         [c3e20cac96f5]
29316
29317         * sudo.h:
29318         added cwd and fixed stupid core dump that makes no sense. sigh.
29319         [7a9755436dbb]
29320
29321         * sudo.c:
29322         moved getcwd stuff into load_globals
29323         [ec2bc90df1f3]
29324
29325         * parse.c:
29326         took out externs that are in suod.h
29327         [93c4b3f856d7]
29328
29329         * logging.c:
29330         moved cwd into load_globals
29331         [050de754d228]
29332
29333         * find_path.c:
29334         moved cwd stuff
29335         [22f3f3b4c34d]
29336
29337         * Makefile.in:
29338         fixed make distclean & realclean
29339         [c9964d89bcef]
29340
29341         * TODO:
29342         updated .,
29343         [e513581ef0e3]
29344
29345         * CHANGES:
29346         added solaris changes
29347         [505d930daf27]
29348
29349         * aclocal.m4:
29350         added solaris changes, need to rework
29351         [33f20fb16c49]
29352
29353         * configure.in:
29354         cleaned up for solaris
29355         [2fb8cfa05d0f]
29356
29357         * logging.c:
29358         reinstall reapchild signal handler for non-bsd signals
29359         [3d1dc545113d]
29360
29361         * sudo.h:
29362         took out getdtablesize() emulation for HP-UX (no longer needed)
29363         [1fc83d170f34]
29364
29365         * sudo.c:
29366         support for HAVE_SYSCONF
29367         [50ca2a7a224a]
29368
29369         * visudo.c:
29370         added <fcntl.h> for solaris & reorg'd the includes + minor prettying
29371         up /
29372         [0a570e826dd4]
29373
29374         * config.h.in:
29375         added HAVE_SYSCONF
29376         [2b9a9f3a4e94]
29377
29378 1994-05-16  Todd C. Miller  <Todd.Miller@courtesan.com>
29379
29380         * configure.in:
29381         now tells you what os you are running /.
29382         [06c6332a895b]
29383
29384         * aclocal.m4:
29385         took out extra ','
29386         [e8c75ce59f4a]
29387
29388 1994-05-14  Todd C. Miller  <Todd.Miller@courtesan.com>
29389
29390         * config.h.in:
29391         added _BSD_COMPAT
29392         [73c5099806c2]
29393
29394         * aclocal.m4:
29395         fixed for irix5
29396         [1047d1f6c0eb]
29397
29398         * CHANGES:
29399         updated
29400         [1bc4969fee96]
29401
29402         * sudo.c:
29403         uid seinitialized to -2
29404         [8d7812b1878b]
29405
29406 1994-04-28  Todd C. Miller  <Todd.Miller@courtesan.com>
29407
29408         * sudo.c:
29409         now removes LIBPATH for AIX
29410         [075392eb1dd9]
29411
29412 1994-03-13  Todd C. Miller  <Todd.Miller@courtesan.com>
29413
29414         * configure.in:
29415         now uses ufc if it finds it
29416         [ab6ce30a5958]
29417
29418 1994-03-12  Todd C. Miller  <Todd.Miller@courtesan.com>
29419
29420         * sudo.h:
29421         no longer define yyval & yylval since yacc does it
29422         [09d250aea50a]
29423
29424         * parse.lex:
29425         now defines yylval as extenr
29426         [8ec2b88952bc]
29427
29428         * configure.in:
29429         BROKEN_GETPASS is now an OPTION
29430         [3714f4bb8312]
29431
29432         * config.h.in:
29433         took out BROKEN_GETPASS
29434         [9c4f6aa50137]
29435
29436         * Makefile.in:
29437         took out big comment
29438         [4c13cff0e556]
29439
29440         * README:
29441         updated
29442         [b8b9902b620d]
29443
29444         * Makefile.in:
29445         took out README.beta
29446         [ed2cd861e82b]
29447
29448         * SUPPORTED:
29449         Initial revision
29450         [2fffc51e6606]
29451
29452         * INSTALL:
29453         now reference SUPPORTED .,
29454         [d112c30be1f2]
29455
29456         * config.h.in:
29457         now check for convex OR __convex__
29458         [a0e5701a3069]
29459
29460         * aclocal.m4:
29461         now check for convex or __convex__
29462         [5dae2bfbe3bc]
29463
29464         * Makefile.in:
29465         added dist target
29466         [400a54de57db]
29467
29468         * aclocal.m4:
29469         use __convex__
29470         [58a19470ed0b]
29471
29472         * find_path.c:
29473         now use _S_* stat stuff to be ansi-like
29474         [28cce560e048]
29475
29476         * INSTALL:
29477         updated for configure directions
29478         [a034ccc7c30a]
29479
29480         * Makefile.in:
29481         distclean now removes config.h and pathnames.h
29482         [300f2349b4ab]
29483
29484         * CHANGES:
29485         updated
29486         [646f7e9430c1]
29487
29488         * TODO:
29489         fixed typoe
29490         [70fd6361b2bc]
29491
29492         * visudo.c:
29493         updated version
29494         [cf13d87d789f]
29495
29496         * Makefile.in:
29497         updated version
29498         [8c5dacc27a7a]
29499
29500         * config.h.in, pathnames.h.in:
29501         added copyright header
29502         [747ce3d3d6b7]
29503
29504         * check.c, find_path.c, insults.h, logging.c, parse.c, parse.lex,
29505         parse.yacc, sudo.c, sudo.h:
29506         udpated version
29507         [4751c39bad18]
29508
29509         * visudo.c:
29510         udpated to use configure + pathnames.h
29511         [d45dff76a1cd]
29512
29513         * aclocal.m4:
29514         updated
29515         [f05a367a55be]
29516
29517         * Makefile.in, config.h.in, configure.in:
29518         updated
29519         [524778598879]
29520
29521         * sudo.h:
29522         now works with configure
29523         [83fc40e533f4]
29524
29525         * check.c, find_path.c, getpass.c, logging.c, parse.c, sudo.c:
29526         updated to work with configure + pathnames.h
29527         [cb67fa6ab52d]
29528
29529         * Makefile.in:
29530         added LEXLIB
29531         [f43cad4ab0a2]
29532
29533 1994-03-10  Todd C. Miller  <Todd.Miller@courtesan.com>
29534
29535         * COPYING:
29536         updated gnu general licence to versio 2
29537         [2b0b56112ddc]
29538
29539         * config.h.in, pathnames.h.in:
29540         Initial revision
29541         [4b586f39ec2d]
29542
29543         * sudo.h:
29544         changed to work with configure
29545         [13f3506ddf16]
29546
29547 1994-03-09  Todd C. Miller  <Todd.Miller@courtesan.com>
29548
29549         * Makefile.in, aclocal.m4, configure.in:
29550         Initial revision
29551         [a8636ae77371]
29552
29553         * visudo.c:
29554         now uses defines used by configure
29555         [de438d118993]
29556
29557 1994-03-01  Todd C. Miller  <Todd.Miller@courtesan.com>
29558
29559         * find_path.c:
29560         sudo won't bitch about EPERM now, for real
29561         [ce26d9ef7e3f]
29562
29563 1994-02-28  Todd C. Miller  <Todd.Miller@courtesan.com>
29564
29565         * logging.c:
29566         renamed exec_argv to eliminate a libc name clash with ksros
29567         [bcb4350d8411]
29568
29569         * CHANGES:
29570         corrected
29571         [dae68d422efd]
29572
29573         * logging.c, sudo.c, sudo.h:
29574         execve -> execv
29575         [40cc2c4bdb15]
29576
29577         * TODO:
29578         upated
29579         [9275a8b8fc45]
29580
29581         * PORTING:
29582         added 2 mroe items
29583         [6cbb5c56993c]
29584
29585         * CHANGES:
29586         updated
29587         [73f34f8e571a]
29588
29589         * sudo.h:
29590         added UMASK and mode_t declaration
29591         [7c2015e1d171]
29592
29593         * sudo.c:
29594         added UMASK
29595         [d37be7523680]
29596
29597         * logging.c:
29598         now opens log file with mode 077
29599         [0825cc3ee841]
29600
29601         * check.c:
29602         saved current umask ans restores it
29603         [659c1aaae8e8]
29604
29605         * sudo.h:
29606         added MAXLOGFILELEN
29607         [34331c7dee90]
29608
29609         * logging.c:
29610         split long log lines. FOr syslog, split into multiple entries, for
29611         a log file, indent the extra for readability
29612         [72c9e4cdba6e]
29613
29614 1994-02-27  Todd C. Miller  <Todd.Miller@courtesan.com>
29615
29616         * CHANGES:
29617         added changes
29618         [81196833673d]
29619
29620         * sudo.h:
29621         MAXLOGLEN & MAXSYSLOGLEN are now different (as they should be)
29622         [1aa69e903840]
29623
29624 1994-02-25  Todd C. Miller  <Todd.Miller@courtesan.com>
29625
29626         * TODO:
29627         added input from Brett M Hogden <hogden@rge.com>
29628         [80f01fc88ce9]
29629
29630 1994-02-16  Todd C. Miller  <Todd.Miller@courtesan.com>
29631
29632         * sudo.c:
29633         added rmenv() to remove stuff from environ. can now uses execvp()
29634         OR execve() becuase of this.
29635         [e7fc2535bd67]
29636
29637         * logging.c:
29638         now uses execvp() OR execve()
29639         [56391aa1f99d]
29640
29641         * sudo.h:
29642         added USE_EXECVE
29643         [f21f38050b95]
29644
29645         * sudo.h:
29646         added environ
29647         [6b805e23c6f6]
29648
29649         * find_path.c:
29650         now ignore EPERM
29651         [c8fd7117a1d7]
29652
29653         * sudo.h:
29654         moved some func decls out of sudo.h and into sudo.c as statics /.
29655         [5f555c267d27]
29656
29657         * CHANGES:
29658         updated
29659         [431f478af320]
29660
29661         * sudo.h:
29662         took out Envp
29663         [6f722be7793d]
29664
29665 1994-02-14  Todd C. Miller  <Todd.Miller@courtesan.com>
29666
29667         * BUGS:
29668         Initial revision
29669         [4a8ecf0da95c]
29670
29671 1994-02-10  Todd C. Miller  <Todd.Miller@courtesan.com>
29672
29673         * CHANGES:
29674         added SECURE_PATH
29675         [1c72cb222609]
29676
29677         * sudo.c, sudo.h:
29678         added SECURE_PATH
29679         [5bf5357a63c5]
29680
29681         * sudo.h:
29682         added SECURE_PATH
29683         [3976a74405ac]
29684
29685         * INSTALL:
29686         added sample.sudoers note
29687         [1b395d29aaeb]
29688
29689         * sudoers:
29690         Initial revision
29691         [485888d07477]
29692
29693 1994-02-09  Todd C. Miller  <Todd.Miller@courtesan.com>
29694
29695         * find_path.c:
29696         fixed typo
29697         [bfc3cc4d41ca]
29698
29699         * PORTING:
29700         took out SAVED_UID garbage
29701         [b7c2d3469661] [SUDO_1_3_0]
29702
29703         * INSTALL:
29704         mentioned HAL
29705         [253d6695df90]
29706
29707         * sudo.h:
29708         added HAL line
29709         [29ec1a4ac6de]
29710
29711         * insults.h:
29712         added HAL insults
29713         [7d7c96d77c74]
29714
29715         * TODO:
29716         updated
29717         [aa2ed9790586]
29718
29719         * logging.c:
29720         more verbose error if mailer not found
29721         [fca47fd00cb6]
29722
29723         * check.c:
29724         now do getpwent as root for soem shadow password systems (bsdi)
29725         [e0339e110d46]
29726
29727 1994-02-08  Todd C. Miller  <Todd.Miller@courtesan.com>
29728
29729         * sudo.h:
29730         took out SAVED_UID garbade
29731         [fcb0e81dcdb5]
29732
29733         * sudo.c:
29734         took out SAVED_UID garbage since it don't work
29735         [507e9513e9c2]
29736
29737 1994-02-06  Todd C. Miller  <Todd.Miller@courtesan.com>
29738
29739         * README:
29740         updated
29741         [d2b6b253dae5]
29742
29743         * insults.h:
29744         added a missing space :-)
29745         [8940ea991f87]
29746
29747         * sudo.c, sudo.h:
29748         took out multimax cruft
29749         [c2606b365181]
29750
29751         * INSTALL:
29752         minor update
29753         [05fb6ee73131]
29754
29755         * PORTING:
29756         finished
29757         [c4ac47c84dc5]
29758
29759         * sudo.c:
29760         fixed a typo + indentation
29761         [7eab40aae8fa]
29762
29763 1994-02-05  Todd C. Miller  <Todd.Miller@courtesan.com>
29764
29765         * sudo.h:
29766         took outumoved some defines to the config file ,. ,.
29767         [defff05beb52]
29768
29769         * PORTING:
29770         Initial revision
29771         [c803e9127959]
29772
29773         * TODO:
29774         did #6
29775         [c6fa1c946c31]
29776
29777         * sudo.h:
29778         added HAS_SAVED_UID
29779         [6a88a39c0a07]
29780
29781         * sudo.c:
29782         put back AIX cruft
29783         [a24d2507ddd4]
29784
29785 1994-02-03  Todd C. Miller  <Todd.Miller@courtesan.com>
29786
29787         * sudo.c:
29788         aix changes
29789         [1663915f754a]
29790
29791 1994-02-02  Todd C. Miller  <Todd.Miller@courtesan.com>
29792
29793         * CHANGES:
29794         updated
29795         [a8cc73747cae]
29796
29797         * check.c, logging.c, parse.c, sudo.c, sudo.h:
29798         now is only root when abs necesary
29799         [3c9d12c5cdfe]
29800
29801         * check.c:
29802         added missing %s\n
29803         [609320b72d89]
29804
29805 1994-01-31  Todd C. Miller  <Todd.Miller@courtesan.com>
29806
29807         * install-sh:
29808         Initial revision
29809         [b5bba140a175]
29810
29811         * TODO:
29812         updated
29813         [c9d2eba602af]
29814
29815         * CHANGES:
29816         updated
29817         [932f1fc3bb14]
29818
29819         * sudo.c:
29820         now removed _RLD_* for alphas
29821         [54a36e648158]
29822
29823         * INSTALL:
29824         updated for new config scheme
29825         [61c8ae800444]
29826
29827         * find_path.c:
29828         more verbose eror messages
29829         [b4fd123db42d]
29830
29831 1994-01-27  Todd C. Miller  <Todd.Miller@courtesan.com>
29832
29833         * TODO:
29834         now have solaris
29835         [371002fbf266]
29836
29837         * sudo.h:
29838         define __svr4__ for SOLARIS
29839         [0b5cf5ed936d]
29840
29841         * check.c:
29842         added svr4 junk for shadow pws for solaris 2.x
29843         [91ed58f21618]
29844
29845         * check.c, sudo.c:
29846         took out setuid(0) and setreuid(udi) garbage. Its not needed since
29847         we start out setuid with the correct perms.
29848         [07689e782b0b]
29849
29850         * check.c, sudo.c, sudo.h:
29851         now use setreuid()
29852         [7d64d685d78e]
29853
29854 1994-01-26  Todd C. Miller  <Todd.Miller@courtesan.com>
29855
29856         * sudo.man:
29857         revised AUTHORS secrtion & added ENV_EDITOR stuff to VARIABLES
29858         sectoin
29859         [b26967b1e19b]
29860
29861         * visudo.c:
29862         now uses ENV_EDITOR if you want to use the EDITOR envar
29863         [a4f8fcb9bd1d]
29864
29865         * sudo.h:
29866         now uses ENV_EDITOR if you want to use the EDITOR envar >> .
29867         [028cc55c4328]
29868
29869 1993-12-07  Todd C. Miller  <Todd.Miller@courtesan.com>
29870
29871         * INSTALL:
29872         rewrote most of this
29873         [a6750923f9c9]
29874
29875         * README:
29876         minor update + spell fix
29877         [a411717a7249]
29878
29879         * sudo.h:
29880         added all options that are in the Makefile
29881         [6db3b3b841b3]
29882
29883         * getpass.c:
29884         now use USE_TERMIO #define for sgi & hpux
29885         [b91f89ae6be1]
29886
29887         * TODO:
29888         todo: posix sigs
29889         [4548a56eb2ef]
29890
29891 1993-12-06  Todd C. Miller  <Todd.Miller@courtesan.com>
29892
29893         * check.c, find_path.c:
29894         always include strings.h
29895         [1fc20bda92c0]
29896
29897         * visudo.c:
29898         added STATICEDITOR
29899         [0596f820716e]
29900
29901         * sudo.h:
29902         sgi has vi in /usr/bin too
29903         [94203b62bfd9]
29904
29905         * sudo.man:
29906         added VISUAL
29907         [87c2844c4cac]
29908
29909 1993-12-03  Todd C. Miller  <Todd.Miller@courtesan.com>
29910
29911         * sudo.h:
29912         sue /usr/bin/vi on some systems
29913         [e3ad9190f35e]
29914
29915         * sudo.c:
29916         fixed warning (include strings.h)
29917         [0b896de4d8a0]
29918
29919         * sudo.man:
29920         added John_Rouillard@dl5000.bc.edu's changes (new features)
29921         [f41b4205a8cf]
29922
29923         * CHANGES:
29924         changes from John_Rouillard@dl5000.bc.edu
29925         [6bdef8e948d5]
29926
29927         * visudo.c:
29928         added EDITOR envar
29929         [5c4bf716de21]
29930
29931         * check.c, find_path.c, parse.c, sudo.c:
29932         added patches from John_Rouillard directory spec
29933         uses EDITOR
29934         [f62a435f8c41]
29935
29936 1993-12-02  Todd C. Miller  <Todd.Miller@courtesan.com>
29937
29938         * getpass.c:
29939         added flush for hpux
29940         [07cfdd6a7b55]
29941
29942 1993-11-30  Todd C. Miller  <Todd.Miller@courtesan.com>
29943
29944         * sudo.c:
29945         no longer assume malloc returns a char *
29946         [7480bd2756f3]
29947
29948         * sudo.c:
29949         alpha change to remove LD_-like thing fixed SHLIB_PATH stuff -- now
29950         gets removed correctly
29951         [8587166c6ac8]
29952
29953         * sudo.h:
29954         added STD_HEADERS macro
29955         [480f5a9a516c]
29956
29957         * sudo.c:
29958         now uses STD_HEADERS macor for ansi
29959         [c5018806fd59]
29960
29961         * find_path.c:
29962         now uses STD_HEADERS macro
29963         [ad821e0788ea]
29964
29965         * check.c:
29966         niceties for C compiler bitches -- no real change
29967         [0fc0b1a5fb64]
29968
29969 1993-11-29  Todd C. Miller  <Todd.Miller@courtesan.com>
29970
29971         * visudo.c:
29972         now doesn't fclose a file never opened.
29973         [ee888ec9427d]
29974
29975 1993-11-28  Todd C. Miller  <Todd.Miller@courtesan.com>
29976
29977         * sudo.man:
29978         added visudo line
29979         [698d51c66407]
29980
29981         * sudo.man:
29982         added error stuff added me in there...
29983         [d202fd34b906]
29984
29985         * CHANGES:
29986         noted insults
29987         [998a22c2230c]
29988
29989         * INSTALL:
29990         added blurb about reading stuff
29991         [e71db100798f]
29992
29993         * sudo.h:
29994         added insults
29995         [c110431cec56]
29996
29997         * insults.h:
29998         corrected somments and removed newlines
29999         [493706fd488c]
30000
30001         * check.c:
30002         now uses insults
30003         [6d23cf06a0ef]
30004
30005         * insults.h:
30006         Initial revision
30007         [83153c26b4a3]
30008
30009         * INSTALL:
30010         added dec syslog note
30011         [555437273237]
30012
30013         * sample.sudoers:
30014         added real stuff in there
30015         [53442a7fba78]
30016
30017         * TODO:
30018         added a todo
30019         [c630472bd4dc]
30020
30021         * TODO:
30022         added one
30023         [806464453284]
30024
30025 1993-11-27  Todd C. Miller  <Todd.Miller@courtesan.com>
30026
30027         * sample.sudoers:
30028         Initial revision
30029         [7db0a9f1ca8f]
30030
30031         * sudo.man:
30032         updated with changes
30033         [d9bf254c6c08]
30034
30035         * sudo.man:
30036         Initial revision
30037         [dd6f11174ac6]
30038
30039         * indent.pro:
30040         Initial revision
30041         [dbfbb494fad9]
30042
30043         * CHANGES, COPYING, INSTALL, README, TODO:
30044         Initial revision
30045         [6d98f489a079]
30046
30047         * visudo.c:
30048         updated version number and took out jeff's old addr since it is no
30049         good
30050         [ee47c24818cb]
30051
30052         * check.c, find_path.c, logging.c, parse.c, parse.lex, parse.yacc,
30053         sudo.c, sudo.h:
30054         updated version number and took out jeff's email (since it is
30055         invalid)
30056         [54616458a52e]
30057
30058 1993-10-28  Todd C. Miller  <Todd.Miller@courtesan.com>
30059
30060         * check.c:
30061         added fflush()
30062         [145c881f4fb4]
30063
30064 1993-10-23  Todd C. Miller  <Todd.Miller@courtesan.com>
30065
30066         * find_path.c:
30067         now return NULL instead pf\b\bof exiting for nopn\b\bn-fatal errors
30068         [8bc74f8cb1ae]
30069
30070 1993-10-21  Todd C. Miller  <Todd.Miller@courtesan.com>
30071
30072         * check.c:
30073         new banner
30074         [5387ab2af516]
30075
30076         * parse.lex:
30077         now sudo.h gets included first
30078         [2acb01c18e18]
30079
30080 1993-10-18  Todd C. Miller  <Todd.Miller@courtesan.com>
30081
30082         * parse.lex:
30083         now can use flex
30084         [164d3839adf0]
30085
30086         * sudo.h:
30087         linux patch
30088         [f1b6b1b1a2ca]
30089
30090         * sudo.c:
30091         hpux 9 fix, removes SHLIB_PATH linux patch
30092         [67611dc1737f]
30093
30094         * check.c:
30095         linux diff
30096         [c24536682397]
30097
30098 1993-10-15  Todd C. Miller  <Todd.Miller@courtesan.com>
30099
30100         * find_path.c:
30101         stat now ignores EINVAL
30102         [c7761a5dc642]
30103
30104 1993-10-06  Todd C. Miller  <Todd.Miller@courtesan.com>
30105
30106         * find_path.c, sudo.c:
30107         now declare strdup as extern
30108         [6b7d6f8784b5]
30109
30110 1993-10-04  Todd C. Miller  <Todd.Miller@courtesan.com>
30111
30112         * visudo.c:
30113         reformatted with indent + by hand
30114         [9d43084e4990]
30115
30116         * check.c, find_path.c, getpass.c, logging.c, parse.c, sudo.c, sudo.h:
30117         used indent to "fix" coding style
30118         [489ffacbdc70]
30119
30120         * find_path.c:
30121         now checks '.' or '.' or '' in PATH -- but does it LAST should maybe
30122         move the code that does this into the loop body. makes it messier
30123         tho. hmmm.
30124         [c4d22b48da9a]
30125
30126 1993-09-08  Todd C. Miller  <Todd.Miller@courtesan.com>
30127
30128         * find_path.c:
30129         redid the fix for non-executable files in an easier to read way plus
30130         some minor aethetic changes
30131         [84fe337f1426]
30132
30133         * find_path.c:
30134         fixed bug with non-executable tings of same name in path introduced
30135         by checkig errno after stat(2).
30136         [c2a812cfcbc1]
30137
30138 1993-09-05  Todd C. Miller  <Todd.Miller@courtesan.com>
30139
30140         * sudo.c:
30141         fixed off by one error
30142         [fabb7cee0041]
30143
30144         * find_path.c:
30145         now handles decending below '/' correctly
30146         [5d2ddfc0b220]
30147
30148         * sudo.c:
30149         now actually builds Envp instead of munging envp
30150         [bdc4b08f6898]
30151
30152 1993-09-04  Todd C. Miller  <Todd.Miller@courtesan.com>
30153
30154         * parse.yacc:
30155         now includes sys/param.h
30156         [efbb494ab4de]
30157
30158         * visudo.c:
30159         now includes sys/param.h
30160         [ad6c91d59958]
30161
30162         * sudo.h:
30163         fixed ifndef -> ifdef
30164         [7aebe822d863]
30165
30166         * qualify.c:
30167         make more like find_path.c
30168         [853b2dab2e03]
30169
30170         * find_path.c:
30171         rewritten by millert
30172         [c6a043cc11b3]
30173
30174         * sudo.h:
30175         fixed MAXCOMMANDLENGTH now uses USE_CWD and NEED_STRDUP added info
30176         about new defines in the comment
30177         [39ffefce3aec]
30178
30179         * logging.c:
30180         now uses USE_CWD
30181         [fa0f3b118bb3]
30182
30183         * sudo.h:
30184         added delc for clean_envp() and Envp
30185         [a12034e300c2]
30186
30187         * sudo.c:
30188         now rips LD_* env vars out of envp and passed sanitized Envp to exec
30189         [d201a218e056]
30190
30191         * logging.c:
30192         now uses execve()
30193         [f3e01032cd33]
30194
30195         * find_path.c:
30196         ENOTDIR is ok now too (in case part of the path is bogus)
30197         [b5cbbb201bb5]
30198
30199         * qualify.c:
30200         now works correctly (ttaltotal rewrite)
30201         [0c25d64a5c68]
30202
30203         * parse.lex:
30204         now includes sys/param.h didn't match trailing / -- fix from
30205         rouilj@cs.umb.edu
30206         [b6363ba110af]
30207
30208 1993-06-11  Todd C. Miller  <Todd.Miller@courtesan.com>
30209
30210         * sudo.c:
30211         moved around the #ifndef _AIX
30212         [7d4330950c20]
30213
30214         * check.c, logging.c, parse.c:
30215         Initial revision
30216         [c101e9572d7f]
30217
30218 1993-03-20  Todd C. Miller  <Todd.Miller@courtesan.com>
30219
30220         * qualify.c:
30221         Initial revision
30222         [5a5f21d0e0bf]
30223
30224 1993-03-13  Todd C. Miller  <Todd.Miller@courtesan.com>
30225
30226         * find_path.c:
30227         now works if you do sudo bin/test
30228         [07835120ce43]
30229
30230         * find_path.c:
30231         works
30232         [c3da8b5efa20]
30233
30234 1993-03-02  Todd C. Miller  <Todd.Miller@courtesan.com>
30235
30236         * sudo.h:
30237         Initial revision
30238         [28a1caa38b72]
30239
30240         * visudo.c:
30241         Initial revision
30242         [0e5cd7c3cdbe]
30243
30244         * parse.lex, parse.yacc:
30245         Initial revision
30246         [5f2d0cccb06b]
30247
30248 1993-02-16  Todd C. Miller  <Todd.Miller@courtesan.com>
30249
30250         * sudo.c:
30251         took out errno.h
30252         [7466431a2655]
30253
30254         * sudo.c:
30255         now spews error if exec fails and exits with -1
30256         [e5c41ea725c1]
30257
30258         * sudo.c:
30259         Initial revision
30260         [8aeabe39a0c2]
30261
30262         * find_path.c:
30263         now only execs files with (an) executable bit set.
30264         [0a451f9c0e58]
30265
30266         * find_path.c:
30267         Initial revision
30268         [02a534891a35]
30269
30270 1993-02-15  Todd C. Miller  <Todd.Miller@courtesan.com>
30271
30272         * getpass.c:
30273         added nice comment
30274         [ea8b2aaa9389]
30275
30276         * getpass.c:
30277         now works on sgi's
30278         [bf2b7c6d0960]
30279
30280         * getpass.c:
30281         Initial revision
30282         [9f4de251c1b5]
30283