Imported Upstream version 1.8.3
[debian/sudo] / ChangeLog
1 2011-10-21  Todd C. Miller  <Todd.Miller@courtesan.com>
2
3         * .hgtags:
4         Added tag SUDO_1_8_3 for changeset 82bec4d3a203
5         [6c953ef6f577] [tip] <1.8>
6
7         * Update Japanese sudoers translation from translationproject.org
8         [82bec4d3a203] [SUDO_1_8_3] <1.8>
9
10 2011-10-12  Todd C. Miller  <Todd.Miller@courtesan.com>
11
12         * configure, configure.in:
13         Override and ignore the --disable-static option. Sudo already runs
14         libtool with -tag=disable-static where applicable and we need non-
15         PIC objects to build the executables.
16         [dff177464029] <1.8>
17
18 2011-10-10  Todd C. Miller  <Todd.Miller@courtesan.com>
19
20         * NEWS:
21         Add sudoedit fix
22         [3238dc7e4fb2] <1.8>
23
24         * plugins/sudoers/po/sudoers.pot:
25         regen pot files
26         [7981d6cbf1ab] <1.8>
27
28         * Ignore set_logname (which is now the default) for sudoedit since we
29         want the LOGNAME, USER and USERNAME environment variables to refer
30         to the calling user since that is who the editor runs as. This
31         allows the editor to find the user's startup files. Fixes bugzilla
32         #515
33         [3b9486e5fddb] <1.8>
34
35         * Instead of trying to grow the buffer in make_grlist_item(), simply
36         increase the total length, free the old buffer and allocate a new
37         one. This is less error prone and saves us from having to adjust
38         all the pointers in the buffer. This code path is only taken when
39         there are groups longer than the length of the user field in struct
40         utmp or utmpx, which should be quite rare.
41         [cb7c5ac834b5] <1.8>
42
43         * Add Italian translation for sudo from translationproject.org
44         [c7876fccbc38] <1.8>
45
46         * NEWS:
47         Japanese translation for sudo and sudoers from
48         translationproject.org
49         [9945a3ef7ff7] <1.8>
50
51 2011-10-07  Todd C. Miller  <Todd.Miller@courtesan.com>
52
53         * sudoreplay depends on timestr.lo too; from Mike Frysinger
54         [ad9ae493205f] <1.8>
55
56 2011-10-04  Todd C. Miller  <Todd.Miller@courtesan.com>
57
58         * plugins/sudoers/po/sudoers.pot:
59         Regen sudoers pot file.
60         [2c4d99361994] <1.8>
61
62         * NEWS:
63         Update with latest sudo 1.8.3 news
64         [4e7f59d339d4] <1.8>
65
66         * ldap_start_tls_s() on Debian (at least) sets the effective and saved
67         uids to the same value as the real uid. This prevents sudo from
68         setting the uid or gid later on. As a workaround, we now set perms
69         to root during sudoers_policy_open().
70         [eb4c4f15833a] <1.8>
71
72         * Better warning message on setuid() failure for the setreuid()
73         version of set_perms().
74         [308c72f601e4] <1.8>
75
76 2011-10-02  Todd C. Miller  <Todd.Miller@courtesan.com>
77
78         * NEWS:
79         Combine new translations in NEWS item
80         [0aa07471a5e6] <1.8>
81
82 2011-09-27  Todd C. Miller  <Todd.Miller@courtesan.com>
83
84         * Delref auth_pw at the end of check_user() instead of getting a ref
85         twice.
86         [1c882f2fb46c] <1.8>
87
88         * Make sudo_auth_{init,cleanup} return TRUE on success and check for
89         sudo_auth_init() return value in check_user().
90         [573bf35ecac9] <1.8>
91
92         * Do not return without restoring permissions.
93         [2444a0b96469] <1.8>
94
95         * plugins/sudoers/po/sudoers.pot, src/po/sudo.pot:
96         regen pot files
97         [d286bce8dbb1] <1.8>
98
99         * NEWS:
100         Update for latest release candidate
101         [63d184ba6263] <1.8>
102
103         * plugins/sudoers/po/sudoers.pot, src/po/sudo.pot:
104         regen pot files
105         [ac3ec1315df7] <1.8>
106
107         * Modify the authentication API such that the init and cleanup
108         functions are always called, regardless of whether or not we are
109         going to verify a password. This is needed for proper PAM session
110         support.
111         [ea281ca46d94] <1.8>
112
113         * Add missing dependency for getspwgen other depends.
114         [9c124272910d] <1.8>
115
116         * Fix a PAM_USER mismatch in session open/close. We update PAM_USER
117         to the target user immediately before setting resource limits, which
118         is after the monitor process has forked (so it has the old value).
119         Also, if the user did not authenticate, there is no pamh in the
120         monitor so we need to init pam here too. This means we end up
121         calling pam_start() twice, which should be fixed, but at least the
122         session is always properly closed now.
123         [d0866ee5f190] <1.8>
124
125         * Add check for old being NULL in utmp_setid(); from Steven McDonald
126         [30cc283ac2b4] <1.8>
127
128 2011-09-25  Todd C. Miller  <Todd.Miller@courtesan.com>
129
130         * If the invoking user cannot be resolved by uid fake the struct
131         passwd and store it in the cache so we can delref it on exit.
132         [19d44f44d45d] <1.8>
133
134 2011-09-24  Todd C. Miller  <Todd.Miller@courtesan.com>
135
136         * Don't error out if the group plugin cannot be loaded, just warn.
137         [e91d9912c9a0] <1.8>
138
139 2011-09-23  Todd C. Miller  <Todd.Miller@courtesan.com>
140
141         * Quiet a false positive found by several static analysis tools. These
142         tools don't know that log_error() does not return (it longjmps to
143         error_jmp which returns to the sudo front-end).
144         [3cc319e31ed6] <1.8>
145
146 2011-09-22  Todd C. Miller  <Todd.Miller@courtesan.com>
147
148         * Add Italian translation for sudo from translationproject.org Regen
149         .mo files
150         [c0b27f9d7e57] <1.8>
151
152         * .hgtags:
153         Added tag SUDO_1_8_2 for changeset 3682e51af1d0
154         [f0be566e9ea2] <1.8>
155
156 2011-09-21  Todd C. Miller  <Todd.Miller@courtesan.com>
157
158         * Update to current reality and add bit about ssh auth
159         [48dcb86ce9be] <1.8>
160
161         * Make "verbose" static; fixes a namespace clash with
162         pam_ssh_agent_auth (and it doesn't need to be extern these days).
163         [b60fdd82de94] <1.8>
164
165         * configure, configure.in:
166         FreeBSD has libutil.h not util.h
167         [c03b121e0193] <1.8>
168
169         * configure, configure.in:
170         Define _BSD_SOURCE on FreeBSD, OpenBSD and DragonflyBSD
171         [002e3e0bb173] <1.8>
172
173         * Update po files from translationproject.org
174         [2b36af902213] <1.8>
175
176 2011-09-16  Todd C. Miller  <Todd.Miller@courtesan.com>
177
178         * NEWS:
179         Mention DEREF support
180         [dfeb152f1686] <1.8>
181
182         * plugins/sudoers/po/sudoers.pot:
183         sync pot files
184         [1fba22e927a3] <1.8>
185
186         * doc/sudoers.ldap.cat, doc/sudoers.ldap.man.in:
187         Add support for DEREF in ldap.conf.
188         [fe1cf6ad0add] <1.8>
189
190         * Makefile.in:
191         install target should depend on ChangeLog too, not just install-doc
192         [f54e2ab633b8] <1.8>
193
194         * NEWS, configure.in, doc/sudoers.cat, doc/sudoers.man.in:
195         Only iolog_file (not iolog_dir) supports mktemp-style suffixes.
196         [44a25099594e] <1.8>
197
198         * configure.in, plugins/sudoers/po/sudoers.pot, src/po/sudo.pot:
199         regen pot files
200         [e14ee85cf49b] <1.8>
201
202         * configure, configure.in:
203         Fix some square brackets in case statements that needed to be
204         doubled up. While here, use $OSMAJOR when it makes sense.
205         [853c6e5f994c] <1.8>
206
207         * Fix a crash in make_grlist_item() on 64-bit machines with strict
208         alignment.
209         [e877c89ae32f] <1.8>
210
211         * Remove list_options() function that is no longer used now that "sudo
212         -L" is gone.
213         [f31543c80b98] <1.8>
214
215         * configure, configure.in:
216         Error message if user tries --with-CC
217         [0ed7558b8924] <1.8>
218
219         * configure, configure.in:
220         Check for -libmldap too when looking for ldap libs, which is the
221         Tivoli Directory Server client library.
222         [831e32d1453c] <1.8>
223
224         * plugins/sudoers/po/sudoers.pot, src/po/sudo.pot:
225         regen pot files for 1.8.3
226         [df2fb085cff2] <1.8>
227
228         * NEWS, configure, configure.in, doc/sudo.cat, doc/sudo.man.in,
229         doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudoers.cat,
230         doc/sudoers.ldap.cat, doc/sudoers.ldap.man.in, doc/sudoers.man.in,
231         doc/sudoreplay.cat, doc/sudoreplay.man.in, doc/visudo.cat,
232         doc/visudo.man.in:
233         Update for version 1.8.3
234         [38cf153add0a] <1.8>
235
236 2011-09-09  Todd C. Miller  <Todd.Miller@courtesan.com>
237
238         * Honor NOPASSWD tag for denied commands too.
239         [f473c443ad54] <1.8>
240
241         * INSTALL, configure, configure.in:
242         Remove --with-CC option; it doesn't work correctly now that we use
243         libtool. Users can get the same effect by setting the CC
244         environment variable when running configure.
245         [4f04869d74fd] <1.8>
246
247 2011-08-31  Todd C. Miller  <Todd.Miller@courtesan.com>
248
249         * configure, configure.in:
250         Assume all modern systems support fstat(2).
251         [0422b19dced3] <1.8>
252
253 2011-08-30  Todd C. Miller  <Todd.Miller@courtesan.com>
254
255         * configure, configure.in:
256         Add configure test for missing errno declaration and only declare it
257         ourselves if it is missing.
258         [6d26974f7e16] <1.8>
259
260         * Include errno.h before sudo.h to avoid conflicting with the system
261         definition of errno.
262         [8000bdc0968f] <1.8>
263
264 2011-08-29  Todd C. Miller  <Todd.Miller@courtesan.com>
265
266         * Only print individual check status when there is a failure.
267         [bbdd669e7615] <1.8>
268
269         * Add calls to setprogname() for test programs.
270         [c721f3466a3a] <1.8>
271
272         * configure, configure.in:
273         Add -Wall and -Werror after all tests so they don't cause failures.
274         [20d75ce40086] <1.8>
275
276         * Actually run check_addr in the check target
277         [dcd96ef0dc57] <1.8>
278
279         * Split out address matching into its own file and add regression
280         tests for it.
281         [863f28589c24] <1.8>
282
283 2011-08-27  Todd C. Miller  <Todd.Miller@courtesan.com>
284
285         * Fix matching a network number with netmask when the network number
286         is not the first address in the CIDR block.
287         [719942c986e9] <1.8>
288
289 2011-08-26  Todd C. Miller  <Todd.Miller@courtesan.com>
290
291         * Don't assume all editors support the +linenumber command line
292         argument, use a whitelist of known good editors.
293         [d8d884af3b05] <1.8>
294
295 2011-08-23  Todd C. Miller  <Todd.Miller@courtesan.com>
296
297         * Silence compiler warnings on Solaris with gcc 3.4.3
298         [8047cdb5d6a1] <1.8>
299
300         * Fix building on RHEL 3
301         [6bb0464a7450] <1.8>
302
303         * INSTALL, configure, configure.in:
304         Add --enable-werror configure option.
305         [aa40fd459836] <1.8>
306
307         * setgroups() proto lives in grp.h on RHEL4, perhaps others.
308         [92f98cbaebf0] <1.8>
309
310         * configure, configure.in:
311         Use PAM by default on AIX 6 and higher.
312         [7ef53d5ac819] <1.8>
313
314 2011-08-22  Todd C. Miller  <Todd.Miller@courtesan.com>
315
316         * Add new Esperanto translation from translationproject.org
317         [109ed683b885] <1.8>
318
319 2011-08-19  Todd C. Miller  <Todd.Miller@courtesan.com>
320
321         * Quiet an innocuous valgrind warning.
322         [fc453e49f9dd] <1.8>
323
324 2011-08-18  Todd C. Miller  <Todd.Miller@courtesan.com>
325
326         * Fix expansion of strftime() escapes in log_dir and add a regress
327         test that exhibited the problem.
328         [784e60d21f11] <1.8>
329
330         * plugins/sudoers/po/sudoers.pot, src/po/sudo.pot:
331         Fix "make check" return value.
332         [d3608efd8da6] <1.8>
333
334 2011-08-17  Todd C. Miller  <Todd.Miller@courtesan.com>
335
336         * plugins/sudoers/po/sudoers.pot:
337         Regen pot files
338         [3682e51af1d0] [SUDO_1_8_2] <1.8>
339
340         * Makefile.in:
341         Fix logic inversion in pot file up to date check.
342         [343dbbca9422] <1.8>
343
344         * doc/sudo.cat, doc/sudo.man.in, doc/sudoers.cat,
345         doc/sudoers.ldap.cat, doc/sudoers.ldap.man.in, doc/sudoers.man.in,
346         doc/visudo.cat, doc/visudo.man.in:
347         regen docs
348         [96234478bde2] <1.8>
349
350 2011-08-15  Todd C. Miller  <Todd.Miller@courtesan.com>
351
352         * configure, configure.in:
353         Add caching for gettext() checks.
354         [4039d21424c3] <1.8>
355
356         * configure, configure.in:
357         Better handling of libintl header and library mismatch.
358         [cc9faee8e486] <1.8>
359
360 2011-08-14  Todd C. Miller  <Todd.Miller@courtesan.com>
361
362         * NEWS:
363         sync
364         [73649a44d934] <1.8>
365
366 2011-08-13  Todd C. Miller  <Todd.Miller@courtesan.com>
367
368         * Also check sudoers gid if sudoers is group writable.
369         [3d345347f6ac] <1.8>
370
371         * NEWS:
372         Update for 1.8.2 final
373         [441c22fea363] <1.8>
374
375 2011-08-12  Todd C. Miller  <Todd.Miller@courtesan.com>
376
377         * configure, configure.in:
378         If dlopen is present but libtool doesn't find it, error out since it
379         probably means that libtool doesn't support the system.
380         [6fc7c0de4f6d] <1.8>
381
382         * configure args on the command line should override builtin defaults.
383         Disable NLS for non-Linux/Solaris unless explicitly enabled.
384         [0ef165f892c2] <1.8>
385
386         * Fix loop that calls authenticate(). If there was an error message
387         from authenticate(), display it.
388         [f0686011ff2e] <1.8>
389
390 2011-08-11  Todd C. Miller  <Todd.Miller@courtesan.com>
391
392         * configure, configure.in:
393         Update to autoconf 2.68 and libtool 2.4
394         [00df5f3647e1] <1.8>
395
396         * Fix typo; OPT should be OTP
397         [31da1f989740] <1.8>
398
399         * Rename libsudoers convenience library to libparsesudoers to avoid
400         libtool confusion.
401         [e9ae9d611dd5] <1.8>
402
403 2011-08-10  Todd C. Miller  <Todd.Miller@courtesan.com>
404
405         * Add Danish sudoers translation from translationproject.org
406         [fa9cd9758249] <1.8>
407
408         * Add dedicated callback function for runas_default sudoers setting
409         that only sets runas_pw if no runas user or group was specified by
410         the user.
411         [3fb4b18525de] <1.8>
412
413 2011-08-09  Todd C. Miller  <Todd.Miller@courtesan.com>
414
415         * Update Finish, Polish, Russian and Ukrainian translations from
416         translationproject.org.
417         [0fcd8f6aff0a] <1.8>
418
419         * Makefile.in:
420         Go back to using a callback for runas_default to keep runas_pw in
421         sync. This is needed to make per-entry runas_default settings work
422         with LDAP-based sudoers. Instead of declaring it a callback in
423         def_data.in, sudo and testsudoers poke sudo_defs_table[] which is a
424         bit naughty, but avoids requiring stub functions in visudo and the
425         tests.
426         [4e8e70832f06] <1.8>
427
428 2011-08-05  Todd C. Miller  <Todd.Miller@courtesan.com>
429
430         * plugins/sudoers/po/sudoers.pot, src/po/sudo.pot:
431         Regen pot files
432         [ca5c58c599a6] <1.8>
433
434         * Makefile.in:
435         Add check for out of date message catalogs when doing "make dist".
436         [36414e5c762b] <1.8>
437
438 2011-08-02  Todd C. Miller  <Todd.Miller@courtesan.com>
439
440         * configure, configure.in:
441         Make sure compiler supports static-libgcc before using it.
442         [6c98e8809291] <1.8>
443
444 2011-08-01  Todd C. Miller  <Todd.Miller@courtesan.com>
445
446         * Link libsudo_noexec.la with LDLDFLAGS for -static-libgcc
447         [a0a3a3fa6470] <1.8>
448
449 2011-07-30  Todd C. Miller  <Todd.Miller@courtesan.com>
450
451         * Add new Russian sudo translation from translationproject.org and
452         rebuild the other translation files.
453         [e953d7d1ca6d] <1.8>
454
455 2011-07-29  Todd C. Miller  <Todd.Miller@courtesan.com>
456
457         * Update Finish and Polish translations from translationproject.org
458         [17e408d73c85] <1.8>
459
460         * Go back to escaping the command args for "sudo -i" and "sudo -s"
461         before calling the plugin. Otherwise, spaces in the command args
462         are not treated properly. The sudoers plugin will unescape non-
463         spaces to make matching easier.
464         [f666191a4e80] <1.8>
465
466 2011-07-28  Todd C. Miller  <Todd.Miller@courtesan.com>
467
468         * Fix some potential problems found by the clang static analyzer, none
469         serious.
470         [c1ab4b940980] <1.8>
471
472         * Updated Ukranian and Chinese (simplified) po files from
473         translationproject.org
474         [792a66672715] <1.8>
475
476 2011-07-27  Todd C. Miller  <Todd.Miller@courtesan.com>
477
478         * Updated Polish translation from translationproject.org
479         [5f434cc04482] <1.8>
480
481         * plugins/sudoers/po/sudoers.pot, src/po/sudo.pot:
482         Rebuild pot files
483         [639230dbd741] <1.8>
484
485         * Don't try to audit failure if the runas user does not exist. We
486         don't have the user's command at this point so there is nothing to
487         audit. Add a NULL check in audit_success() and audit_failure() just
488         to be on the safe side.
489         [2bfb96a32b00] <1.8>
490
491         * Add -g to CFLAG for PIE builds.
492         [e4c94977ca4e] <1.8>
493
494 2011-07-25  Todd C. Miller  <Todd.Miller@courtesan.com>
495
496         * Remove fallback to per-group lookup when matching groups in sudoers.
497         The sudo front-end will now use getgrouplist() to get the user's
498         list of groups if getgroups() fails or returns zero groups so we
499         always have a list of the user's groups. For systems with
500         mbr_check_membership() which support more that NGROUPS_MAX groups
501         (Mac OS X), skip the call to getgroups() and use getgrouplist() so
502         we get all the groups.
503         [168d6d4a386b] <1.8>
504
505 2011-07-22  Todd C. Miller  <Todd.Miller@courtesan.com>
506
507         * Fix setgroups() fallback code on EINVAL.
508         [dd1310945ab3] <1.8>
509
510         * Fix two PERM_INITIAL cases that were still using user_gids.
511         [d497d0d47a23] <1.8>
512
513         * Add Polish sudo message catalog
514         [1a0aa3f9f179] <1.8>
515
516         * user_group is no longer used, remove it
517         [379185a76094] <1.8>
518
519 2011-07-21  Todd C. Miller  <Todd.Miller@courtesan.com>
520
521         * Add Polish translation from translationproject.org
522         [2e7cdfe4ef41] <1.8>
523
524         * Add a wrapper for setgroups() that trims off extra groups and
525         retries if setgroups() fails. Also add some missing addrefs for
526         PERM_USER and PERM_FULL_USER.
527         [bacb4170a510] <1.8>
528
529         * configure, configure.in:
530         Instead of keeping separate groups and gids arrays, create struct
531         group_info and use it to store both, along with a count for each.
532         Cache group info on a per-user basis using getgrouplist() to get the
533         groups. We no longer need special to special case the user or list
534         user for user_in_group() and thus no longer need to reset the groups
535         list when listing another user.
536         [f1d8962821a0] <1.8>
537
538         * Don't rely on NULL since we don't include a header for it.
539         [ed46286f848b] <1.8>
540
541         * Fix typo
542         [a38b8fbb0e70] <1.8>
543
544         * Do not shadow global sudo_mode with a local variable in set_cmnd()
545         [8e462ebafea4] <1.8>
546
547 2011-07-17  Todd C. Miller  <Todd.Miller@courtesan.com>
548
549         * bash 2.x doesd not support the -l flag and exits with an error if it
550         is specified so use --login instead. This causes an error with bash
551         1.x (which uses -login instead) but this version is hopefully less
552         used than 2.x.
553         [73020a67b9d5] <1.8>
554
555         * Add Polish translation from translationproject.org
556         [8cac0da9ffb1] <1.8>
557
558 2011-07-13  Todd C. Miller  <Todd.Miller@courtesan.com>
559
560         * Make error strings translatable.
561         [d1ff594f27b5] <1.8>
562
563         * Only run configure with --with-pam-login for RHEL 5 and above.
564         [2f1a0ff5230e] <1.8>
565
566         * Fix typo in summary
567         [1e1d7dcae9ab] <1.8>
568
569 2011-07-11  Todd C. Miller  <Todd.Miller@courtesan.com>
570
571         * Add missing logwrap.c
572         [abcd28c194d2] <1.8>
573
574         * Split out log file word wrap code into its own file and add unit
575         tests. Fixes an off-by one in the word wrap when the log line
576         length matches loglinelen.
577         [0ae1c7aa9ef1] <1.8>
578
579 2011-07-05  Todd C. Miller  <Todd.Miller@courtesan.com>
580
581         * For SuSE, only use /usr/lib64 as libexec if generating 64-bit
582         binaries.
583         [4448fa1c639f] <1.8>
584
585         * Fix build error when --without-noexec configure option is used.
586         [f6bfd748ae45] <1.8>
587
588         * configure, configure.in:
589         Disable noexec for AIX < 5. LDR_PRELOAD is only available in AIX
590         5.3 and above.
591         [9d957ae1840d] <1.8>
592
593 2011-07-03  Todd C. Miller  <Todd.Miller@courtesan.com>
594
595         * NEWS, doc/UPGRADE:
596         Document group lookup change and possible side effects.
597         [fe4b2d2701b2] <1.8>
598
599 2011-07-01  Todd C. Miller  <Todd.Miller@courtesan.com>
600
601         * Resolve the list of gids passed in from the sudo frontend (the
602         result of getgroups()) to names and store both the group names and
603         ids in the sudo_user struct. When matching groups in the sudoers
604         file, match based on the names in the groups list first and only do
605         a gid-based match when we absolutely have to. By matching on the
606         group name (as it is listed in sudoers) instead of id (which we
607         would have to resolve) we save a lot of group lookups for sudoers
608         files with a lot of groups in them.
609         [c10d208bd7e5] <1.8>
610
611 2011-06-29  Todd C. Miller  <Todd.Miller@courtesan.com>
612
613         * NEWS:
614         Update for 1.8.2rc5
615         [f6a3aa2edf7a] <1.8>
616
617 2011-06-26  Todd C. Miller  <Todd.Miller@courtesan.com>
618
619         * Workaround for "sudo -i command" and newer versions of bash which
620         don't go into login mode when -c is specified unless -l is too.
621         [381e74d35006] <1.8>
622
623 2011-06-23  Todd C. Miller  <Todd.Miller@courtesan.com>
624
625         * Rewrite logfile word wrapping code to be more straight-forward and
626         actually wrap at the correct place.
627         [8a7862d6a82f] <1.8>
628
629 2011-06-22  Todd C. Miller  <Todd.Miller@courtesan.com>
630
631         * NEWS:
632         Fix typo
633         [2456ad2ad3e3] <1.8>
634
635         * NEWS:
636         Mention use_pty bug fix
637         [f4eab5193452] <1.8>
638
639         * Set use_pty=true in command details when use_pty is set in sudoers.
640         From Ludwig Nussel
641         [abaafc5793d9] <1.8>
642
643 2011-06-20  Todd C. Miller  <Todd.Miller@courtesan.com>
644
645         * Sync Chinese (simplified) PO files from translationproject.org
646         [a4cf84dd9ddf] <1.8>
647
648 2011-06-18  Todd C. Miller  <Todd.Miller@courtesan.com>
649
650         * Add Danish translation from translationproject.org and add missing
651         Basque mo files.
652         [672b88adcc34] <1.8>
653
654         * Makefile.in, configure, configure.in:
655         No longer need to specify LINGUAS in configure, "make install-nls"
656         now just installs all the .mo files it finds.
657         [c226a39ece48] <1.8>
658
659 2011-06-17  Todd C. Miller  <Todd.Miller@courtesan.com>
660
661         * Build CONTRIBUTORS from newly-added contributors.pod
662         [b8871dd293ff] <1.8>
663
664         * Rework the wording in the leading paragraph
665         [d8b081dedeb3] <1.8>
666
667 2011-06-16  Todd C. Miller  <Todd.Miller@courtesan.com>
668
669         * Add a CONTRIBUTORS file with the names of folks who have contributed
670         code or patches to sudo since I started maintaining it (plus the
671         original authors).
672         [8b064e8996af] <1.8>
673
674 2011-06-13  Todd C. Miller  <Todd.Miller@courtesan.com>
675
676         * Preserve SHELL variable for "sudo -s". Otherwise we can end up with
677         a situation where the SHELL variable and the actual shell being run
678         do not match.
679         [8f5bb61a8b76] <1.8>
680
681 2011-06-10  Todd C. Miller  <Todd.Miller@courtesan.com>
682
683         * configure, configure.in:
684         Only enable Solaris project support when setproject() is present in
685         libproject.
686         [bf370ff3c194] <1.8>
687
688         * Explicitly set mode and owner of /etc/sudoers instead of relying on
689         "cp -p" to work in the postinstall script. On AIX 6.1 at least the
690         postinstall script runs before the final file permissions are set.
691         [7a4a87405349] <1.8>
692
693         * Refer the user to the "Command Environment" section in description
694         of sudo's -i option.
695         [1a063eaf9670] <1.8>
696
697         * Fix typo
698         [442c50370c44] <1.8>
699
700         * If there is no old dependency for an object file, use the MANIFEST
701         to find its source.
702         [d95c77ad283f] <1.8>
703
704         * Remove dependency for getgrouplist.lo as we don't ship that source
705         file.
706         [bbede77e6256] <1.8>
707
708         * Do not declare yyparse() static as the actual function generated by
709         yacc is extern.
710         [8e615bd15a4c] <1.8>
711
712         * Makefile.in:
713         Remove locale files in "make uninstall"
714         [9791be90d5ac] <1.8>
715
716 2011-06-06  Todd C. Miller  <Todd.Miller@courtesan.com>
717
718         * configure.in:
719         Add Basque translation and sync Finish and Ukranian translations.
720         [64af34789164] <1.8>
721
722         * NEWS:
723         Update PAM change to reflect latest checkin.
724         [657cddf2077a] <1.8>
725
726         * configure, configure.in:
727         FreeBSD no longer needs the main sudo binary to link with -lpam now
728         that plug-ins are loaded with RTLD_GLOBAL.
729         [573a6f4b29af] <1.8>
730
731         * Load plugins with RTLD_GLOBAL instead of RTLD_LOCAL. This fixes
732         problems with pam modules not having access to symbols provided by
733         libpam on some platforms. Affects FreeBSD and SLES 10 at least.
734         [4ec864fdba46] <1.8>
735
736         * Makefile.in:
737         Move xgettext invocation out of update-po target into update-pot
738         [421ac1a073ea] <1.8>
739
740 2011-06-04  Todd C. Miller  <Todd.Miller@courtesan.com>
741
742         * plugins/sudoers/po/sudoers.pot, src/po/sudo.pot:
743         Regenerate .pot files for 1.8.2rc2
744         [d2a891e3d3dd] <1.8>
745
746         * Makefile.in:
747         Move nls targets to the top level Makefile so the paths in the pot
748         file are saner
749         [6c256cb77f78] <1.8>
750
751         * NEWS:
752         Update 1.8.2 news
753         [17bd04278b04] <1.8>
754
755         * Add compiled version of sudo Finish translation
756         [ff9d20a02aa0] <1.8>
757
758         * Update MANIFEST with .po and .mo files Rebuild sudoers fi and uk .mo
759         files
760         [60c4f3b3829c] <1.8>
761
762         * configure, configure.in:
763         Add Finish translation from translationproject.org
764         [ade788a35521] <1.8>
765
766         * The group named by exempt_group should not have a % prefix.
767         [1f74c691c1e1] <1.8>
768
769         * Fix typo; "Defaults group_plugin" not "Defaults sudo_plugin"
770         [58d36c0e76f9] <1.8>
771
772         * Fix compressed io log corruption in background mode by using _exit()
773         instead of exit() to avoid flushing buffers twice.
774
775         Improved background mode support. When not allocating a pty, the
776         command is run in its own process group. This prevents write access
777         to the tty. When running in a pty, stdin is not hooked up and we
778         never read from /dev/tty, which results in similar behavior.
779         [fe50d6a5c5b9] <1.8>
780
781 2011-05-31  Todd C. Miller  <Todd.Miller@courtesan.com>
782
783         * Clean up regress files Generate proper dependencies for regress objs
784         in compat
785         [264196584549] <1.8>
786
787         * Add missing dependency for check_fill.o.
788         [c41f4e6ff078] <1.8>
789
790 2011-05-30  Todd C. Miller  <Todd.Miller@courtesan.com>
791
792         * INSTALL, configure, configure.in:
793         Add support for --enable-nls[=location]
794         [0ea8e7bd1739] <1.8>
795
796 2011-05-28  Todd C. Miller  <Todd.Miller@courtesan.com>
797
798         * Include gettext.h
799         [fe8bab6403c6] <1.8>
800
801         * Quiet gcc warnings.
802         [aa16d09710a7] <1.8>
803
804         * configure, configure.in:
805         Don't install .mo files if gettext was not found.
806         [c6b233e829aa] <1.8>
807
808 2011-05-27  Todd C. Miller  <Todd.Miller@courtesan.com>
809
810         * Always allocate a pty when running a command in the background but
811         call setsid() after forking to make sure we don't end up with a
812         controlling tty.
813         [77c6b2923714] <1.8>
814
815         * Add missing space between command name and the first command line
816         argument.
817         [d0a36b9c0f38] <1.8>
818
819         * Quiet a compiler warning on some platforms.
820         [654e76cf0574] <1.8>
821
822         * README file that directs people to translationproject.org
823         [5545e9a5ae37] <1.8>
824
825         * Sync translations with TP
826         [b054ce577022] <1.8>
827
828         * Makefile.in:
829         Add 'sync-po' target to top-level Makefile to rsync the po files
830         from translationproject.org.
831         [87a5011b0410] <1.8>
832
833         * install nls files from install target
834         [a3feba9ef323] <1.8>
835
836         * Makefile.in:
837         Include .mo files in sudo binary packags.
838         [bc3ee7e7fb44] <1.8>
839
840         * configure, configure.in:
841         Add simplified chinese translation
842         [c22e6842c766] <1.8>
843
844 2011-05-26  Todd C. Miller  <Todd.Miller@courtesan.com>
845
846         * configure, configure.in:
847         Add ukranian translation
848         [0bb9e6437f0f] <1.8>
849
850         * refer to siglist.c, not ./siglist.c since not all makes will treat
851         foo and ./foo the same.
852         [909051ff6061] <1.8>
853
854         * Set def_preserve_groups before searching for the command when the -P
855         flag is specified.
856         [08e9378f50e4] <1.8>
857
858         * Makefile.in:
859         Add dependency for siglist.lo in compat. This is a generated file
860         so "make depend" needs to depend on it.
861         [e6c0daf36af0] <1.8>
862
863         * More dependency fixes.
864         [7fed03624689] <1.8>
865
866         * Fix a few dependencies.
867         [7cb86c721961] <1.8>
868
869         * Place compiled mo files in the src dir, not the build dir. When
870         installing compiled mo files, display a status message.
871         [b87aa18a9968] <1.8>
872
873 2011-05-25  Todd C. Miller  <Todd.Miller@courtesan.com>
874
875         * Tivoli Directory Server requires that seconds be present in a
876         timestamp, even though RFC 4517 states that they are optional.
877         [47ebf110ea7a] <1.8>
878
879         * Add missing bit of copyright
880         [d05d28a91bc4] <1.8>
881
882         * Mention cycle detection warnings
883         [ee8231aa1aed] <1.8>
884
885         * When checking aliases, also check the contents of the alias in case
886         there are problems with an alias that is referenced inside another.
887         Replace the self reference check with real alias cycle detection.
888         [abcfe1bc95d8] <1.8>
889
890         * Set errno to ELOOP in alias_find() if there is a cycle. Set errno to
891         ENOENT in alias_find() and alias_remove() if the entry could not be
892         found.
893         [e73d169f4e9b] <1.8>
894
895         * Increment alias_seqno before calls to alias_remove_recursive() to
896         avoid false positives with the alias loop detection. Fixes spurious
897         warnings about unused aliases when they are nested.
898         [ac094820ef19] <1.8>
899
900         * add mkdep.pl
901         [3721e9654ba6] <1.8>
902
903         * Add dependency on convenience libs to binaries
904         [8a4db8226dfe] <1.8>
905
906         * Makefile.in:
907         mkdep.pl only works when run from the src dir
908         [2480427a0680] <1.8>
909
910         * Makefile.in:
911         Auto-generate Makefile dependencies with a perl script.
912         [ef5f56907d97] <1.8>
913
914 2011-05-23  Todd C. Miller  <Todd.Miller@courtesan.com>
915
916         * If the user specifies a runas group via sudo's -g option that
917         matches the runas user's group in the passwd database and that group
918         is not denied in the Runas_Spec, allow it. Thus, if user root's gid
919         in /etc/passwd is 0, then "sudo -u root -g root id" is allow even if
920         no groups are present in the Runas_Spec.
921         [942e1e7c5090] <1.8>
922
923 2011-05-22  Todd C. Miller  <Todd.Miller@courtesan.com>
924
925         * NEWS:
926         Mention what is new in 1.8.2 (for now)
927         [d44b26eceee5] <1.8>
928
929         * Add dependencies on gettext.h
930         [32c61c6af852] <1.8>
931
932         * Fix install-nls target with HP-UX sh when gettext is not present.
933         [3441cece9638] <1.8>
934
935         * doc/sudo.cat, doc/sudo.man.in, doc/sudo_plugin.cat,
936         doc/sudo_plugin.man.in, doc/sudoers.cat, doc/sudoers.ldap.cat,
937         doc/sudoers.ldap.man.in, doc/sudoers.man.in, doc/sudoreplay.cat,
938         doc/sudoreplay.man.in, doc/visudo.cat, doc/visudo.man.in:
939         Regen for sudo 1.8.2
940         [9ea124b542cc] <1.8>
941
942 2011-05-20  Todd C. Miller  <Todd.Miller@courtesan.com>
943
944         * plugins/sudoers/po/sudoers.pot, src/po/sudo.pot:
945         regenerate .pot files for lbuf changes
946         [a8a9cc62c3a5] <1.8>
947
948         * configure, configure.in:
949         Add missing "checking" message for gettext when using the cache.
950         [4136bc346576] <1.8>
951
952         * Add primitive format string support to the lbuf code to make
953         translations simpler.
954         [22fc74618d09] <1.8>
955
956         * configure, configure.in, plugins/sudoers/po/sudoers.pot,
957         src/po/sudo.pot:
958         Bump version to 1.8.2
959         [999de1ac5b3e] <1.8>
960
961         * Add message catalog template files for sudo and the sudoers module.
962         [6afad75e7afa] <1.8>
963
964         * configure.in:
965         Add gettext.h convenience header. This is similar to but distinct
966         from the one included with the gettext package.
967         [5ae5a86e0d06] <1.8>
968
969         * configure, configure.in:
970         Add checks for nroff -c and -Tascii flags
971         [580c21905280] <1.8>
972
973         * configure, configure.in:
974         Add check for HP bundled C Compiler (which cannot create shared
975         libs)
976         [34f616cbb0f3] <1.8>
977
978         * Fix C format warnings.
979         [f20a43a817f0] <1.8>
980
981         * Add __printflike
982         [76bf8a4bf075] <1.8>
983
984         * Translate help / usage strings.
985         [16c5b7902d4c] <1.8>
986
987         * Set --msgid-bugs-address to the bugzilla url
988         [3e3cfa7b4ceb] <1.8>
989
990         * INSTALL, Makefile.in, README, configure, configure.in:
991         Add scaffolding to update .po files and install .mo files.
992         [a51e60b35e47] <1.8>
993
994         * Minor warning/error cleanup
995         [593144ac87ff] <1.8>
996
997         * configure.in:
998         Emulate ngettext for the non-nls case
999         [7cdf82de4dee] <1.8>
1000
1001         * Do not mark untranslatable strings for translation
1002         [088271ed02d0] <1.8>
1003
1004         * Use ROOT_UID not 0.
1005         [f901fa2fdaf2] <1.8>
1006
1007         * Minor warning/error message cleanup
1008         [b99c7ef46236] <1.8>
1009
1010         * cannot -> "unable to" in warning/error messages can't -> "unable to"
1011         in warning/error messages
1012         [5119140fabc7] <1.8>
1013
1014         * configure, configure.in:
1015         FreeBSD needs the main sudo executable to link with -lpam when
1016         loading dynaic pam modules for some reason.
1017         [738b6778a505] <1.8>
1018
1019         * We don't want to translate debugging messages.
1020         [357a575c2dfd] <1.8>
1021
1022         * configure, configure.in:
1023         Add calls to bindtextdomain() and textdomain() Currently there are
1024         two domains, one for the sudo front-end and one for the sudoers
1025         plugin and its associated utilities.
1026         [907f39439d80] <1.8>
1027
1028         * configure, configure.in:
1029         Fix caching of libc gettext check.
1030         [e229c21f412f] <1.8>
1031
1032         * Mark defaults descriptions for translation
1033         [65e03d1f8203] <1.8>
1034
1035         * NEWS:
1036         Update for sudo 1.8.1p2
1037         [89c31f2aa11e] <1.8>
1038
1039         * Quiet compiler warning when SELinux is enabled.
1040         [51b1d7c8aa86] <1.8>
1041
1042         * dd missing includes of libintl.h.
1043         [25662143d36d] <1.8>
1044
1045         * Fix gettext marker.
1046         [7618856ba5de] <1.8>
1047
1048         * Include libint.h where needed.
1049         [cc256b297b9d] <1.8>
1050
1051         * Prepare sudoers module messages for translation.
1052         [1b7f0bbaa55f] <1.8>
1053
1054         * Only check gid of sudoers file if it is group-readable.
1055         [f3cae943f35a] <1.8>
1056
1057         * For AIX, keep calling authenticate() until reenter reaches 0.
1058         [e412676bac73] <1.8>
1059
1060         * configure, configure.in:
1061         Cache the status of the initial gettext() check.
1062         [c32281768c0f] <1.8>
1063
1064         * INSTALL, configure, configure.in:
1065         Add --disable-nls flag and improve checks for gettext.
1066         [b39674c1e538] <1.8>
1067
1068         * configure, configure.in:
1069         When building with gcc on HP-UX, use -march=1.1 to produce portable
1070         binaries on a pa-risc2 host. Previously, the +Dportable option was
1071         used for the HP-UX C compiler but gcc always produced native
1072         binaries.
1073         [41351c23ad41] <1.8>
1074
1075         * Prepare sudo front end messages for translation.
1076         [7807d6f74dac] <1.8>
1077
1078         * configure, configure.in:
1079         Add initial scaffolding to support localization via gettext()
1080         [cdbbff7e6376] <1.8>
1081
1082 2011-05-19  Todd C. Miller  <Todd.Miller@courtesan.com>
1083
1084         * doc/license.pod:
1085         update copyright year
1086         [d681661f03cc] <1.8>
1087
1088         * INSTALL, README:
1089         No need to include version number at the top of these files.
1090         [7e11f673f773] <1.8>
1091
1092         * README:
1093         This is sudo 1.8.1 not 1.8.0
1094         [4d674f230d8a] <1.8>
1095
1096 2011-05-04  Todd C. Miller  <Todd.Miller@courtesan.com>
1097
1098         * Don't let the fnmatch/glob macros expand the function prototype.
1099         [d449e9a8f447] <1.8>
1100
1101 2011-05-03  Todd C. Miller  <Todd.Miller@courtesan.com>
1102
1103         * Resolve namespace collisions on HP-UX ia64 and possibly others by
1104         adding a rpl_ prefix to our fnmatch and glob replacements and
1105         #defining rpl_foo to foo in the header files.
1106         [d23889375b21] <1.8>
1107
1108 2011-04-29  Todd C. Miller  <Todd.Miller@courtesan.com>
1109
1110         * Split ALL, ROLE and TYPE into their own actions. Since you can only
1111         have #ifdefs inside of braces, ROLE and TYPE use a naughty goto in
1112         the non-SELinux case. This is safe because the actions are in one
1113         big switch() statement.
1114         [0bd9b7e37ab1] <1.8>
1115
1116         * Fix regexp for matching a CIDR-style IPv4 netmask. From Marc Espie.
1117         [8dec97b359e0] <1.8>
1118
1119         * askpass moved from sudoers to sudo.conf in sudo 1.8.0
1120         [1001d87d82ed] <1.8>
1121
1122         * Remove obsolete warning about runas_default and ordering. Move
1123         syslog facility and priority lists into the section where the
1124         relevant options are described.
1125         [1286b9624021] <1.8>
1126
1127 2011-04-26  Todd C. Miller  <Todd.Miller@courtesan.com>
1128
1129         * Fix SIA support; we no longer have access to the real argc and argv
1130         so allocate space for a fake one and use the argv passed to the
1131         plugin with "sudo" for argv[0].
1132         [7c11eeffb91c] <1.8>
1133
1134         * Remove useless realloc when trying to get the buffer size right.
1135         [58128e7f4e28] <1.8>
1136
1137         * Be explicit when setting euid to 0 before call to setreuid(0, 0)
1138         [95769a564ab8] <1.8>
1139
1140 2011-04-18  Todd C. Miller  <Todd.Miller@courtesan.com>
1141
1142         * NEWS:
1143         sudo 1.8.1p1 updates
1144         [de3d688b5bb1] <1.8>
1145
1146         * configure, configure.in:
1147         Need to do checks for krb5_verify_user, krb5_init_secure_context and
1148         krb5_get_init_creds_opt_alloc regardless of whether or
1149         notkrb5-config is present.
1150         [456c4a9cd5d6] <1.8>
1151
1152 2011-04-15  Todd C. Miller  <Todd.Miller@courtesan.com>
1153
1154         * Work around weird AIX saved uid semantics on setuid() and
1155         setreuid(). On AIX, setuid() will only set the saved uid if the euid
1156         is already 0.
1157         [5d0a69e9d181] <1.8>
1158
1159 2011-04-14  Todd C. Miller  <Todd.Miller@courtesan.com>
1160
1161         * update copyright year
1162         [fa8da6d55783] <1.8>
1163
1164         * Treat a missing includedir like an empty one and do not return an
1165         error.
1166         [5fd9fe004728] <1.8>
1167
1168 2011-04-12  Todd C. Miller  <Todd.Miller@courtesan.com>
1169
1170         * Fix ARCH setting in cross-compile Solaris packages.
1171         [8ce40940f6c9] <1.8>
1172
1173         * Fix aix version setting.
1174         [02a9e25d46ba] <1.8>
1175
1176         * Remove extraneous parens in LDAP filter when sudoers_search_filter
1177         is enabled that causes a search error. From Matthew Thomas.
1178         [b67be9b51ec6] <1.8>
1179
1180 2011-04-11  Todd C. Miller  <Todd.Miller@courtesan.com>
1181
1182         * Correct sizeof() to fix test failure.
1183         [a11b89fd13f9] <1.8>
1184
1185         * "install" target should depend on "install-dirs". Fixes "make -j"
1186         problem and closes bz #487. From Chris Coleman.
1187         [06ab0558f848] <1.8>
1188
1189 2011-04-09  Todd C. Miller  <Todd.Miller@courtesan.com>
1190
1191         * .hgtags:
1192         Added tag SUDO_1_8_1 for changeset 0ed6281995f0
1193         [543d41a163e9] <1.8>
1194
1195         * doc/sudo.cat, doc/sudo.man.in, doc/sudo_plugin.cat,
1196         doc/sudo_plugin.man.in, doc/sudoers.cat, doc/sudoers.ldap.cat,
1197         doc/sudoers.ldap.man.in, doc/sudoers.man.in, doc/sudoreplay.cat,
1198         doc/sudoreplay.man.in, doc/visudo.cat, doc/visudo.man.in:
1199         Regen man pages for 1.8.1
1200         [0ed6281995f0] [SUDO_1_8_1] <1.8>
1201
1202 2011-04-07  Todd C. Miller  <Todd.Miller@courtesan.com>
1203
1204         * Add HAVE_RFC1938_SKEYCHALLENGE
1205         [c0d7eb39799d] <1.8>
1206
1207 2011-04-06  Todd C. Miller  <Todd.Miller@courtesan.com>
1208
1209         * Mention plugin loading and libgcc changes
1210         [b74929cba37c] <1.8>
1211
1212         * Load plugins after parsing arguments and potentially printing the
1213         version. That way, an error loading or initializing a plugin
1214         doesn't break "sudo -h" or "sudo -V".
1215         [c1ecb5979cf0] <1.8>
1216
1217         * Makefile.in:
1218         When using a sub-shell to invoke the sub-make, exec make instead of
1219         running it inside the shell to avoid an extra process.
1220         [9439f016c993] <1.8>
1221
1222         * Stop testing unspecified behavior in fnmatch Make glob test more
1223         portable
1224         [87a91d76fbff] <1.8>
1225
1226         * No need to add current dir to include path and having it breaks the
1227         test programs that expect to get the system glob.h and fnmatch.h
1228         [3ae7f9e7b710] <1.8>
1229
1230         * configure, configure.in:
1231         Fix and document --with-plugindir; partially from Diego Elio Petteno
1232         [0220a0c2606f] <1.8>
1233
1234         * Fix fnmatch and glob tests to not use hard-coded flag values in the
1235         input file. Link test programs with libreplace so we get our
1236         replacement verions as needed.
1237         [66bab80241e0] <1.8>
1238
1239         * Makefile.in:
1240         If make in a subdir fails, fail the target in the upper level
1241         Makefile too. Adapted from a patch from Diego Elio Petteno
1242         [bc35b7813507] <1.8>
1243
1244         * configure, configure.in:
1245         Add check for NetBSD-style 4-argument skeychallenge() as Gentoo also
1246         has this. Adapted from a patch from Diego Elio Petteno
1247         [bb6228f484b9] <1.8>
1248
1249         * Make SUDOERS_LDFLAGS reference $(LDFLAGS) instead of using @LDFLAGS@
1250         directly.
1251         [47e6d5fadc6d] <1.8>
1252
1253         * configure, configure.in:
1254         Fix warnings when -without-skey, --without-opie, --without-kerb4,
1255         --without-kerb5 or --without-SecurID were specified.
1256         [1b75035dd129] <1.8>
1257
1258         * Add plugins/sudoers/sudoers_version.h
1259         [1d470c6033ca] <1.8>
1260
1261         * configure, configure.in:
1262         Back out the --with-libpath addition to SUDOERS_LDFLAGS since that
1263         now include LDFLAGS in the sudoers Makefile.in. Add missing settng
1264         of @LDFLAGS@ in plugin Makefile.in files.
1265         [dd237f43aa12] <1.8>
1266
1267 2011-04-05  Todd C. Miller  <Todd.Miller@courtesan.com>
1268
1269         * Mention %#gid support in User_List and Runas_List
1270         [37e259b9181b] <1.8>
1271
1272         * Keep track of sudoers grammar version and report it in the -V
1273         output.
1274         [0e0b891dd8a4] <1.8>
1275
1276         * Add multiple inclusion guard
1277         [ec6884f51ea8] <1.8>
1278
1279         * configure, configure.in:
1280         The --with-libpath option now adds to SUDOERS_LDFLAGS as well as
1281         LDFLAGS. Remove old -static hack for HP-UX < 9. Add LTLDFLAGS and
1282         set it to -Wc,-static-libgcc if not using GNU ld so we don't
1283         have a dependency on the shared libgcc in sudoers.so.
1284         [28d03f3eb0d2] <1.8>
1285
1286         * Fix typo; from Petr Uzel
1287         [d19b9bd92bd3] <1.8>
1288
1289 2011-04-01  Todd C. Miller  <Todd.Miller@courtesan.com>
1290
1291         * In dump-only mode, use "root" as the default username instead of
1292         "nobody" as the latter may not be available on all systems.
1293         [b304111616dd] <1.8>
1294
1295 2011-03-31  Todd C. Miller  <Todd.Miller@courtesan.com>
1296
1297         * Remove NewArgv/NewArgc, they are no longer needed.
1298         [c0a36a42a68c] <1.8>
1299
1300         * Fix setting of user_args
1301         [529e79ea95d1] <1.8>
1302
1303         * Add '!' token to lex tracing
1304         [aef295d428e7] <1.8>
1305
1306         * Use group bin in test, not wheel as most systems have the bin group
1307         but the same is no longer true of wheel.
1308         [350347f09c1a] <1.8>
1309
1310         * Avoid using pre or post increment in a parameter to a ctype(3)
1311         function as it might be a macro that causes the increment to happen
1312         more than once.
1313         [8a94ebdd53b8] <1.8>
1314
1315 2011-03-30  Todd C. Miller  <Todd.Miller@courtesan.com>
1316
1317         * Strip off the beta or release candidate version when building AIX
1318         packages.
1319         [00ad950764e2] <1.8>
1320
1321         * configure, configure.in:
1322         We need to include OSDEFS in CFLAGS when doing the utmp/utmpx
1323         structure checks for glibc which only has __e_termination visible
1324         when _GNU_SOURCE is *not* defined.
1325         [1d58420a4a4a] <1.8>
1326
1327         * getuserattr(user, ...) will fall back to the "default" entry
1328         automatically, there's no need to check "default" manually.
1329         [cefffa82967d] <1.8>
1330
1331         * Document parser changes.
1332         [5038238f60eb] <1.8>
1333
1334 2011-03-29  Todd C. Miller  <Todd.Miller@courtesan.com>
1335
1336         * Makefile.in:
1337         If there is an existing sudoers file, only install if it passes a
1338         syntax check.
1339         [b1e4c9c56fe0] <1.8>
1340
1341         * Add runasgroup support to testsudoers
1342         [30838590e9de] <1.8>
1343
1344         * For "make check", keep going even if a test fails.
1345         [d3a72f67227e] <1.8>
1346
1347         * More useful exit codes:
1348          * 0 - parsed OK and command matched.
1349          * 1 - parse error
1350          * 2 - command not matched
1351          * 3 - command denied
1352         [59301e0769cd] <1.8>
1353
1354         * Document %#gid, and %:#nonunix_gid syntax.
1355         [39ee15af58e9] <1.8>
1356
1357         * Add support to user_in_group() for treating group names that begin
1358         with a '#' as gids.
1359         [0eb19980cf5f] <1.8>
1360
1361         * configure, configure.in:
1362         Add explicit check for struct utmpx.ut_exit.e_termination and struct
1363         utmpx.ut_exit.__e_termination. HP-UX uses the latter. Only update
1364         ut_exit if we detect one or the other.
1365         [ab5b665fc04b] <1.8>
1366
1367 2011-03-28  Todd C. Miller  <Todd.Miller@courtesan.com>
1368
1369         * Add back missing #include of config.h
1370         [9c82bec81018] <1.8>
1371
1372         * Avoid a NULL deref on unrecognized escapes. Collapse %% -> % like
1373         strftime() does.
1374         [1ae630470f8a] <1.8>
1375
1376         * Quote first argument to AC_DEFUN(); from Elan Ruusamae
1377         [c467e9e3b399] <1.8>
1378
1379 2011-03-27  Todd C. Miller  <Todd.Miller@courtesan.com>
1380
1381         * add new sudoers tests
1382         [05f2a0924acc] <1.8>
1383
1384         * Add test for a newline in the middle of a string when no line
1385         continuation character is used.
1386         [24b79be5822b] <1.8>
1387
1388         * Use bitwise AND instead of modulus to check for length being odd. A
1389         newline in the middle of a string is an error unless a line
1390         continuation character is used.
1391         [65c468599688] <1.8>
1392
1393         * Move lexer globals initialization into init_lexer.
1394         [07a1171a1853] <1.8>
1395
1396         * Fix a potential crash when a non-regular file is present in an
1397         includedir. Fixes bz #452
1398         [5057cb9516e4] <1.8>
1399
1400         * On some Linux systems, "uname -p" contains detailed processor info
1401         so check "uname -m" first and then "uname -p" if needed. Recognize
1402         PLD Linux.
1403         [56226c84a060] <1.8>
1404
1405 2011-03-25  Todd C. Miller  <Todd.Miller@courtesan.com>
1406
1407         * Don't need all sudoers.h here.
1408         [43b6ae5999c5] <1.8>
1409
1410         * Print sudo version early, in case policy plugin init fails.
1411         [620f2d0ec4b1] <1.8>
1412
1413 2011-03-24  Todd C. Miller  <Todd.Miller@courtesan.com>
1414
1415         * Update to match change in input.
1416         [69540f84721d] <1.8>
1417
1418         * Make an empty group or netgroup a syntax error.
1419         [4b85bddc494e] <1.8>
1420
1421         * An empty group or netgroup should be a syntax error.
1422         [6ec796972eff] <1.8>
1423
1424         * Check that uids work in per-user and per-runas Defaults Check that
1425         uids and gids work in a Command_Spec
1426         [68cf62353420] <1.8>
1427
1428         * Test empty string in User_Alias and Command_Spec
1429         [017d487c31be] <1.8>
1430
1431         * Allow a group ID in the User_Spec.
1432         [37e0bf69c8d8] <1.8>
1433
1434         * Return an error for the empty string when a word is expected. Allow
1435         an ID for per-user or per-runas Defaults.
1436         [4c9020779582] <1.8>
1437
1438 2011-03-23  Todd C. Miller  <Todd.Miller@courtesan.com>
1439
1440         * Fix printing "User_Alias FOO = ALL"
1441         [97c9fd7caeb7] <1.8>
1442
1443 2011-03-22  Todd C. Miller  <Todd.Miller@courtesan.com>
1444
1445         * Better error message about invalid -C argument
1446         [2301e7a3835b] <1.8>
1447
1448         * fix typo
1449         [c5acde62a309] <1.8>
1450
1451         * Fix placement of equal size ('=') in user specification summary.
1452         [4d0ffef77ae4] <1.8>
1453
1454 2011-03-21  Todd C. Miller  <Todd.Miller@courtesan.com>
1455
1456         * update to match sudoers regress
1457         [0efb8dc9092a] <1.8>
1458
1459         * Restore ability to define TRACELEXER and have trace output go to
1460         stderr.
1461         [441c8b372217] <1.8>
1462
1463         * Restore old behavior of setting sawspace = TRUE for command line
1464         args when a line continuation character is hit to avoid causing
1465         problems for existing sudoers files.
1466         [963ded6ce070] <1.8>
1467
1468         * Add test for line continuation and aliases
1469         [5703d11a3c46] <1.8>
1470
1471         * Make test output line up nicely for parse vs. toke
1472         [15321ce2d7d9] <1.8>
1473
1474         * plugins/sudoers/regress/testsudoers/test1.ok,
1475         plugins/sudoers/regress/testsudoers/test2.out,
1476         plugins/sudoers/regress/testsudoers/test2.sh,
1477         plugins/sudoers/regress/testsudoers/test3.ok,
1478         plugins/sudoers/regress/testsudoers/test3.sh,
1479         plugins/sudoers/regress/visudo/test1.ok,
1480         plugins/sudoers/regress/visudo/test1.sh:
1481         Move parser tests to sudoers directory and test the tokenizer output
1482         too.
1483         [111c1ccda334] <1.8>
1484
1485         * If we match a rule anchored to the beginning of a line after parsing
1486         a line continuation character, return an ERROR token. It would be
1487         nicer to use REJECT instead but that substantially slows down the
1488         lexer.
1489         [67e54b14aa9d] <1.8>
1490
1491         * Move LEXTRACE macro to toke.h so we can use it in yyerror().
1492         [e6e04037deed] <1.8>
1493
1494         * Make lex tracing settable at run-time in testsudoers via the -t
1495         flag. Trace output goes to stderr. Will be used by regress tests
1496         to check lexer.
1497         [a973f43cc0c2] <1.8>
1498
1499         * Allow whitespace after the modifier in a Defaults entry. E.g.
1500         "Defaults: username set_home"
1501         [bf876c9fc5bb] <1.8>
1502
1503 2011-03-18  Todd C. Miller  <Todd.Miller@courtesan.com>
1504
1505         * Don't set CC when cross-compiling.
1506         [d3c33dcb02f2] <1.8>
1507
1508         * Credit Matthew Thomas for the sudoers_search_filter changes.
1509         [2209b80664af] <1.8>
1510
1511         * Add the .sym files to the MANIFEST
1512         [bb452b28a009] <1.8>
1513
1514         * Update for sudo 1.8.1 beta
1515         [700d42d80e00] <1.8>
1516
1517         * user_shell -> run_shell to avoid confusion with the user's SHELL
1518         variable.
1519         [451b96d5f97e] <1.8>
1520
1521         * Save the controlling tty process group before suspending in pty
1522         mode. Previously, we assumed that the child pgrp == child pid
1523         (which is usually, but not always, the case).
1524         [b0841d861191] <1.8>
1525
1526         * Add support for sudoers_search_filter setting in ldap.conf. This
1527         can be used to restrict the set of records returned by the LDAP
1528         query.
1529         [70c5f496e2b3] <1.8>
1530
1531 2011-03-17  Todd C. Miller  <Todd.Miller@courtesan.com>
1532
1533         * configure, configure.in:
1534         Remove the hack to disable -g in CFLAGS unless --with-devel
1535         [9459839f50ba] <1.8>
1536
1537         * The '@' character does not normally need to be quoted.
1538         [e66c4c64e514] <1.8>
1539
1540         * We normaly transition from GOTDEFS to STARTDEFS on whitespace, but
1541         if that whitespace is followed by a comma, we want to treat it as
1542         part of a list and not transition.
1543         [52ae2df9959d] <1.8>
1544
1545         * Add check for whitespace when a User_List is used for a per-user
1546         Defaults entry.
1547         [44a4db95be86] <1.8>
1548
1549         * Expand quoted name checks to cover recent fixes.
1550         [bd494b5c2bed] <1.8>
1551
1552         * Fix parsing of double-quoted names in Defaults and Aliases which was
1553         broken in 601d97ea8792.
1554         [dfdd58c3eb3b] <1.8>
1555
1556         * toke_util.c lives in $(srcdir) not $(devdir)
1557         [94f8f024782e] <1.8>
1558
1559 2011-03-16  Todd C. Miller  <Todd.Miller@courtesan.com>
1560
1561         * configure, configure.in:
1562         Update version to 1.8.1
1563         [531a7d520f18] <1.8>
1564
1565         * Document major changes in 1.8.1 and add upgrade notes.
1566         [116821646140] <1.8>
1567
1568         * Be careful not to deref user_stat if it is NULL. This cannot
1569         currently happen in sudo but might in other programs using the
1570         parser.
1571         [d72a9c7151c4] <1.8>
1572
1573         * configure will not add -O2 to CFLAGS if it is already defined to add
1574         -O2 to the CFLAGS we pass in when PIE is being used.
1575         [2c7fe82be93d] <1.8>
1576
1577         * Warn about the dangers of log_input and mention iolog_file and
1578         iolog_dir in the log_input and log_output descriptions.
1579         [edc6aa59aa45] <1.8>
1580
1581         * sync with git version
1582         [b121cf739c77] <1.8>
1583
1584         * It seems that h comes after i
1585         [99ad15015f05] <1.8>
1586
1587         * Move log_input and log_output to their proper, sorted, location.
1588         Document set_utmp and utmp_runas.
1589         [216ce8b0ae1a] <1.8>
1590
1591         * Save the controlling tty process group before suspending so we can
1592         restore it when we resume. Fixes job control problems on Linux
1593         caused by the previous attemp to fix resuming a shell when I/O
1594         logging not enabled.
1595         [dfe038f733be] <1.8>
1596
1597         * Fix printing of the remainder after a newline. Fixes "sudo -l"
1598         output corruption that could occur in some cases.
1599         [ab2f0a629e0d] <1.8>
1600
1601         * Add support for ut_exit
1602         [7039ec6a73fa] <1.8>
1603
1604         * Add support for controlling whether utmp is updated and which user
1605         is listed in the entry.
1606         [1b008ce71eab] <1.8>
1607
1608         * Fix typo; tupple vs. tuple
1609         [67bb5c67ae3d] <1.8>
1610
1611         * For legacy utmp, strip the /dev/ prefix before trying to determine
1612         slot since the ttys file does not include the /dev/ prefix.
1613         [8f597114381d] <1.8>
1614
1615         * Add check for _PATH_UTMP
1616         [fe7e2456f017] <1.8>
1617
1618         * Adapt check_iolog_path to sessid changes
1619         [3016201869b6] <1.8>
1620
1621         * Redo utmp handling. If no getutent()/getutxent() is available,
1622         assume a ttyslot-based utmp. If getttyent() is available, use that
1623         directly instead of ttyslot() so we don't have to do the stdin dup2
1624         dance.
1625         [817490c7c20e] <1.8>
1626
1627         * Move utmp handling into utmp.c
1628         [e4729d9259e9] <1.8>
1629
1630         * Update copyright years.
1631         [1065afc00233] <1.8>
1632
1633 2011-03-11  Todd C. Miller  <Todd.Miller@courtesan.com>
1634
1635         * Add "user_shell" boolean as a way to indicate to the plugin that the
1636         -s flag was given.
1637         [6e8bc49b7ea7] <1.8>
1638
1639         * Move sessid out of sudo_user.
1640         [00d67d5ba894] <1.8>
1641
1642         * Log the TSID even if it is not a simple session ID.
1643         [490cf0adae29] <1.8>
1644
1645         * Document noexec in sample.sudo.conf and add back noexec_file section
1646         in sudoers with a note that it is deprecated.
1647         [c7a2d8d0c563] <1.8>
1648
1649         * Fix running commands as non-root on systems where setreuid() changes
1650         the saved uid based on the effective uid we are changing to.
1651         [f3b27db56ba6] <1.8>
1652
1653 2011-03-10  Todd C. Miller  <Todd.Miller@courtesan.com>
1654
1655         * Move noexec path into sudo.conf now that sudo itself handles noexec.
1656         Currently can be configured in sudoers too but is now undocumented
1657         and will be removed in a future release.
1658         [9c5f64709994] <1.8>
1659
1660         * Document "Path noexec ..." in sudo.conf. No longer document
1661         noexec_file in sudoers, it will be removed in a future release.
1662         [959fa6b5217b] <1.8>
1663
1664         * Move noexec handling to sudo front-end where it is documented as
1665         being.
1666         [ef6cd4a40c61] <1.8>
1667
1668         * Add support for disabling exec via solaris privileges. Includes
1669         preparation for moving noexec support out of sudoers and into front
1670         end as documented.
1671         [d9c05ba9a24f] <1.8>
1672
1673         * Only export the symbols corresponding to the plugin structs.
1674         [cb07af1d9b39] <1.8>
1675
1676         * Install plugins manually instead of using libtool. This works
1677         around a problem on AIX where libtool will install a .a file
1678         containing the .so file instead of the .so file itself.
1679         [1ccf5af58c05] <1.8>
1680
1681         * Makefile.in:
1682         Move check into its own rule since some versions of make will run
1683         both targets as the default rule.
1684         [7159f37eb552] <1.8>
1685
1686         * Update to libtool 2.2.10
1687         [9e49773b32b7] <1.8>
1688
1689         * In handle_signals(), restart the read() on EINTR to make sure we
1690         keep up with the signal pipe. Don't return -1 on EAGAIN, it just
1691         means we have emptied the pipe.
1692         [dc2926097b2d] <1.8>
1693
1694         * Reorder functions to quiet a compiler warning.
1695         [5201367e5db4] <1.8>
1696
1697         * Use the Sun Studio C compiler on Solaris if possible
1698         [b8d43b423fb9] <1.8>
1699
1700 2011-03-08  Todd C. Miller  <Todd.Miller@courtesan.com>
1701
1702         * Fix default setting of osversion variable.
1703         [e12905851be5] <1.8>
1704
1705         * Make two login_class entris consistent.
1706         [0671d7b204be] <1.8>
1707
1708         * Add support for adding a utmp entry when allocating a new pty.
1709         Requires the BSD login(3) or SYSV/POSIX getutent()/getutxent().
1710         Currently only creates a new entry if the existing tty has a utmp
1711         entry.
1712         [40ff30099e79] <1.8>
1713
1714         * Avoid pulling in headers we don't need on Linux For getutx?id(),
1715         call setutx?ent() first and always call endutx?ent().
1716         [b86f7a13aae9] <1.8>
1717
1718         * Add some more libs to SUDOERS_LIBS instead of relying on them to be
1719         pulled in by SUDO_LIBS.
1720         [bcbd16ec56c6] <1.8>
1721
1722         * Fix return value of "sudo -l command" when command is not allowed,
1723         broken in [c7097ea22111]. The default return value is now TRUE and
1724         a bad: label is used when permission is denied. Also fixed missing
1725         permissions restoration on certain errors. On error()/errorx(), the
1726         password and group files are now closed before returning.
1727         [757c941a47b2] <1.8>
1728
1729 2011-03-07  Todd C. Miller  <Todd.Miller@courtesan.com>
1730
1731         * Fix passing of login class back to sudo front end.
1732         [5e649de6b7f5] <1.8>
1733
1734         * Add --osversion flag to specify OS instead of running "pp
1735         --probeonly"
1736         [8a03943ac5e8] <1.8>
1737
1738         * Fix expr usage w/ GNU expr
1739         [bdecfa1f54fc] <1.8>
1740
1741 2011-03-06  Todd C. Miller  <Todd.Miller@courtesan.com>
1742
1743         * Fix exit value for validate and list mode.
1744         [6f8b20199935] <1.8>
1745
1746         * Fix non-interactive mode with sudoers plugin.
1747         [cf5aca4fcbcf] <1.8>
1748
1749 2011-03-05  Todd C. Miller  <Todd.Miller@courtesan.com>
1750
1751         * sudoreplay can now find IDs other than %{seq} and display the
1752         session.
1753         [60396b417633] <1.8>
1754
1755         * Add support for replaying sessions when iolog_file is set to
1756         something other than %{seq}.
1757         [1cd2baa74d56] <1.8>
1758
1759 2011-03-04  Todd C. Miller  <Todd.Miller@courtesan.com>
1760
1761         * If we are killed by a signal, display the name of the signal that
1762         got us.
1763         [1b38c4d42282] <1.8>
1764
1765         * Move libs used for authentication from SUDO_LIBS to SUDOERS_LIBS
1766         where they belong.
1767         [78e97a921104] <1.8>
1768
1769         * Fix bug in skey/opie check that could cause a shell warning.
1770         [f20229a04f30] <1.8>
1771
1772         * No longer need sudo_getepw() stubs.
1773         [795631ac7db0] <1.8>
1774
1775 2011-03-03  Todd C. Miller  <Todd.Miller@courtesan.com>
1776
1777         * Fix exit value of "sudo -l command" in sudoers module.
1778         [4a05d6019b3d] <1.8>
1779
1780 2011-03-02  Todd C. Miller  <Todd.Miller@courtesan.com>
1781
1782         * Use fgets() not fgetln() for portability.
1783         [1f2050745096] <1.8>
1784
1785         * Don't use the beta or release candidate version as the rpm release.
1786         [a5b049477646] <1.8>
1787
1788 2011-02-25  Todd C. Miller  <Todd.Miller@courtesan.com>
1789
1790         * Makefile.in:
1791         Adjust ChangeLog rule now that 1.8 is branched
1792         [a994ac361e44] <1.8>
1793
1794         * .hgtags:
1795         Added tag SUDO_1_8_0 for changeset f6530d56f6ae
1796         [99a2b3801419] <1.8>
1797
1798 2011-02-25  Todd C. Miller  <Todd.Miller@courtesan.com>
1799
1800         * configure, configure.in:
1801         version 1.8.0
1802         [f6530d56f6ae] [SUDO_1_8_0]
1803
1804         * NEWS:
1805         update sudo 1.8 section
1806         [f2ee2cf95d18]
1807
1808 2011-02-23  Todd C. Miller  <Todd.Miller@courtesan.com>
1809
1810         * plugins/sudoers/regress/testsudoers/test2.sh:
1811         fix test description
1812         [cd5730fa9f09]
1813
1814         * plugins/sudoers/regress/testsudoers/test2.out,
1815         plugins/sudoers/regress/testsudoers/test2.sh,
1816         plugins/sudoers/regress/visudo/test2.out,
1817         plugins/sudoers/regress/visudo/test2.sh:
1818         convert test2 to use testsudoers
1819         [b5ec3f0b69f1]
1820
1821         * include/sudo_plugin.h, src/sudo_plugin_int.h:
1822         Move struct generic_plugin to sudo_plugin_int.h
1823         [6f7bc629329c]
1824
1825         * plugins/sudoers/gram.c, plugins/sudoers/gram.y,
1826         plugins/sudoers/parse.c, plugins/sudoers/parse.h,
1827         plugins/sudoers/set_perms.c, plugins/sudoers/sudoers.c,
1828         plugins/sudoers/sudoers.h:
1829         Allow sudoers file name, mode, uid and gid to be specified in the
1830         settings list. The sudo front end does not currently set these but
1831         may in the future.
1832         [22f38a0fda2a]
1833
1834 2011-02-21  Todd C. Miller  <Todd.Miller@courtesan.com>
1835
1836         * configure, configure.in, doc/sudo.cat, doc/sudo.man.in,
1837         doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudoers.cat,
1838         doc/sudoers.ldap.cat, doc/sudoers.ldap.man.in, doc/sudoers.man.in,
1839         doc/sudoreplay.cat, doc/sudoreplay.man.in, doc/visudo.cat,
1840         doc/visudo.man.in:
1841         1.8.0rc1
1842         [5d4588b9c057]
1843
1844         * doc/sudo.pod, doc/sudoreplay.pod, doc/visudo.pod,
1845         plugins/sudoers/sudoreplay.c, plugins/sudoers/visudo.c,
1846         src/parse_args.c, src/sudo.h:
1847         add help text to sudo, visudo and sudoreplay for the -h option
1848         [52e7378d8476]
1849
1850 2011-02-19  Todd C. Miller  <Todd.Miller@courtesan.com>
1851
1852         * compat/snprintf.c:
1853         avoid using "howmany" for a parameter name since it is a select-
1854         related macro
1855         [a14d565401a1]
1856
1857         * doc/sudoers.pod:
1858         mention group_plugin when describing nonunix_group
1859         [e0d1d0034b17]
1860
1861         * doc/sudo_plugin.pod:
1862         Add missing period at end of sentence
1863         [6744d7e9056d]
1864
1865         * Makefile.in, doc/Makefile.in, include/Makefile.in,
1866         plugins/sample/Makefile.in, plugins/sample_group/Makefile.in,
1867         plugins/sudoers/Makefile.in, src/Makefile.in:
1868         add localstatedir; closes bug 471
1869         [7aefcab85088]
1870
1871         * config.h.in, configure, configure.in, plugins/sudoers/sudoreplay.c,
1872         src/exec.c, src/exec_pty.c:
1873         The howmany macro lives in sys/sysmacros.h on SVR5 systems Closes
1874         Bug 470
1875         [927ed6740f32]
1876
1877         * configure.in:
1878         add missing AH_TEMPLATE for ENV_RESET
1879         [16300010c986]
1880
1881         * src/exec.c:
1882         SVR5 systems return non-zero for success on socketpair(), check for
1883         -1 instead. Closes Bug 469
1884         [4d276494bf8e]
1885
1886 2011-02-16  Todd C. Miller  <Todd.Miller@courtesan.com>
1887
1888         * configure, configure.in:
1889         1.8.0b5
1890         [d611cd5d73d3]
1891
1892         * doc/sudo.cat, doc/sudo.man.in, doc/sudo_plugin.cat,
1893         doc/sudo_plugin.man.in, doc/sudoers.cat, doc/sudoers.ldap.cat,
1894         doc/sudoers.ldap.man.in, doc/sudoers.man.in, doc/sudoreplay.cat,
1895         doc/sudoreplay.man.in, doc/visudo.cat, doc/visudo.man.in:
1896         regen
1897         [85e96eeaed82]
1898
1899         * doc/sudo.pod:
1900         Document that a sudo.conf file with no Pligin lines uses the default
1901         sudoers plugins.
1902         [88bd52da977f]
1903
1904         * src/load_plugins.c:
1905         If sudo.conf contains no Plugin lines, use the default sudoers
1906         policy and I/O plugins.
1907         [fd8f4cb811ab]
1908
1909 2011-02-14  Todd C. Miller  <Todd.Miller@courtesan.com>
1910
1911         * plugins/sudoers/sudo_nss.c:
1912         Avoid printing empty "Runas and Command-specific defaults for user"
1913         line.
1914         [2dd330fe4f8b]
1915
1916         * common/lbuf.c:
1917         Truncate the buffer at buf.len before printing in the non-wordwrap
1918         case.
1919         [901e9833f80d]
1920
1921         * common/lbuf.c:
1922         Remove extra newline when the tty width is very small or unavailable
1923         [245c05506c0e]
1924
1925 2011-02-11  Todd C. Miller  <Todd.Miller@courtesan.com>
1926
1927         * plugins/sudoers/alias.c:
1928         Remove unneeded variable.
1929         [2c086d30b796]
1930
1931 2011-02-09  Todd C. Miller  <Todd.Miller@courtesan.com>
1932
1933         * configure, configure.in:
1934         Prefer getutxid over getutid
1935         [3f3322e9c93e]
1936
1937         * plugins/sudoers/boottime.c:
1938         Include utmp.h / utmpx.h before missing.h as apparently including it
1939         afterwards causes a compilation problem on GNU Hurd.
1940         [a528029ae962]
1941
1942 2011-02-07  Todd C. Miller  <Todd.Miller@courtesan.com>
1943
1944         * plugins/sudoers/sudoreplay.c, plugins/sudoers/toke_util.c:
1945         #include "foo.h", not <foo.h> for local includes.
1946         [f65ec693998e]
1947
1948         * src/parse_args.c:
1949         remove bogus XXX
1950         [9136c17d53ce]
1951
1952         * compat/mksiglist.c:
1953         Fix typo
1954         [1a3bb7b455c9]
1955
1956         * compat/glob.c, plugins/sudoers/ldap.c, plugins/sudoers/logging.c,
1957         plugins/sudoers/match.c:
1958         return foo not return(foo)
1959         [5c9e0647359a]
1960
1961 2011-02-06  Todd C. Miller  <Todd.Miller@courtesan.com>
1962
1963         * src/exec.c:
1964         Remove duplicate FD_SET of signal_pipe[0]
1965         [3096527d2215]
1966
1967 2011-02-05  Todd C. Miller  <Todd.Miller@courtesan.com>
1968
1969         * compat/mksiglist.c:
1970         Use "missing.h" not <missing.h> in generated code.
1971         [d8e09cffbe09]
1972
1973 2011-02-04  Todd C. Miller  <Todd.Miller@courtesan.com>
1974
1975         * aclocal.m4, configure:
1976         fix --with-iologdir=no
1977         [a89699cb5f5f]
1978
1979         * aclocal.m4, configure:
1980         fix typo that broke --with-iologdir
1981         [91b54eb22403]
1982
1983 2011-02-03  Todd C. Miller  <Todd.Miller@courtesan.com>
1984
1985         * configure, configure.in, doc/sudo.cat, doc/sudo.man.in,
1986         doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudoers.cat,
1987         doc/sudoers.ldap.cat, doc/sudoers.ldap.man.in, doc/sudoers.man.in,
1988         doc/sudoreplay.cat, doc/sudoreplay.man.in, doc/visudo.cat,
1989         doc/visudo.man.in:
1990         Bump version to 1.8.0b4
1991         [e2b7f2cdc02e]
1992
1993         * NEWS:
1994         sync
1995         [decf5a0a8a33]
1996
1997         * doc/sudoers.cat, doc/sudoers.man.in, doc/sudoers.pod:
1998         Attempt to clarify how users and groups interact in Runas_Specs
1999         [e6fb3a2dbd77]
2000
2001         * plugins/sudoers/regress/visudo/test2.out,
2002         plugins/sudoers/regress/visudo/test2.sh:
2003         Add test for quoted group that contains escaped double quotes
2004         [44596c48c629]
2005
2006         * src/exec.c, src/exec_pty.c:
2007         Pass SIGUSR1/SIGUSR2 through to the child.
2008         [c3108a827b01]
2009
2010         * src/exec_pty.c, src/sudo_exec.h:
2011         Use special values SIGCONT_FG and SIGCONT_BG instead of SIGUSR1 and
2012         SIGUSR2 to indicate whether the child should be continued in the
2013         foreground or background.
2014         [35ca47cc6785]
2015
2016         * src/exec.c:
2017         Use pid_t not int and check the return value of kill()
2018         [36ae7d37d7f9]
2019
2020 2011-02-02  Todd C. Miller  <Todd.Miller@courtesan.com>
2021
2022         * src/exec_pty.c:
2023         Remove obsolete comment
2024         [baebef4919f6]
2025
2026         * src/exec.c:
2027         In non-pty mode before continuing the child, make it the foreground
2028         pgrp if possible. Fixes resuming a shell.
2029         [fef5b1d02ddb]
2030
2031         * src/exec_pty.c:
2032         If we get a signal other than SIGCHLD in the monitor, pass it
2033         directly to the child.
2034         [b3ecb28163a0]
2035
2036         * src/exec.c, src/exec_pty.c, src/sudo.h:
2037         Save signal state before changing handlers and restore before we
2038         execute the command.
2039         [faf7475dc4bf]
2040
2041 2011-02-01  Todd C. Miller  <Todd.Miller@courtesan.com>
2042
2043         * plugins/sudoers/iolog.c:
2044         Use a char array to map a number to a base36 digit.
2045         [257576c51f8b]
2046
2047         * doc/sudoers.ldap.cat, doc/sudoers.ldap.man.in, doc/sudoers.ldap.pod:
2048         Be clear about what versions of sudo support new LDAP attributes.
2049         Fix up some formatting of attribute names. Minor other tweaks.
2050         [39f65df71f65]
2051
2052 2011-01-31  Todd C. Miller  <Todd.Miller@courtesan.com>
2053
2054         * plugins/sudoers/toke.c, plugins/sudoers/toke.l:
2055         match quoted strings the same way whether in a Defaults line or as a
2056         user/group/netgroup name. Fixes escaped double quotes in quoted
2057         user/group/netgroup names.
2058         [601d97ea8792]
2059
2060         * plugins/sudoers/Makefile.in:
2061         'make check' depends on visudo and testsudoers
2062         [127c5a24df8f]
2063
2064         * plugins/sudoers/sudoers2ldif:
2065         Add sudoOrder attribute to each entry Parse LOG_{INPUT,OUTPUT} tags
2066         [9029163a58c3]
2067
2068 2011-01-30  Todd C. Miller  <Todd.Miller@courtesan.com>
2069
2070         * doc/UPGRADE:
2071         Mention LDAP attribute compatibility status.
2072         [2c3595aaec63]
2073
2074 2011-01-28  Todd C. Miller  <Todd.Miller@courtesan.com>
2075
2076         * README.LDAP:
2077         Mention phpQLAdmin
2078         [9304c9064fbe]
2079
2080         * INSTALL, NEWS, config.h.in, configure, configure.in,
2081         doc/sudoers.man.in, doc/sudoers.pod, plugins/sudoers/defaults.c:
2082         Add --disable-env-reset configure option.
2083         [8a753aa13a46]
2084
2085         * doc/sudoers.cat, doc/sudoers.man.in, doc/sudoers.pod:
2086         Document that sudoers_locale also affects logging and email.
2087         [998d6ac11277]
2088
2089         * NEWS, config.h.in, configure, configure.in,
2090         plugins/sudoers/logging.c:
2091         Do logging and email sending in the locale specified by the
2092         "sudoers_locale" setting ("C" by default). Email send by sudo
2093         includes MIME headers when the sudoers locale is not "C".
2094         [cb7e55408400]
2095
2096 2011-01-27  Todd C. Miller  <Todd.Miller@courtesan.com>
2097
2098         * plugins/sudoers/check.c:
2099         Fix indentation
2100         [65ae7e92b9e4]
2101
2102 2011-01-25  Todd C. Miller  <Todd.Miller@courtesan.com>
2103
2104         * NEWS, src/parse_args.c, src/sudo.c:
2105         Perform command escaping for "sudo -s" and "sudo -i" after
2106         validating sudoers so the sudoers entries don't need to have all the
2107         backslashes.
2108         [4e168c103f4b]
2109
2110 2011-01-24  Todd C. Miller  <Todd.Miller@courtesan.com>
2111
2112         * plugins/sudoers/logging.c:
2113         Prepend "list " to the command logged when "sudo -l command" is used
2114         to make it clear that the command was listed, not run.
2115         [f392a6056cd6]
2116
2117         * plugins/sudoers/parse.c:
2118         cosmetic change
2119         [7c0951dbc2dd]
2120
2121         * common/aix.c, common/alloc.c, common/fileops.c, common/fmt_string.c,
2122         common/list.c, common/term.c, compat/fnmatch.c, compat/getcwd.c,
2123         compat/glob.c, compat/isblank.c, compat/memrchr.c, compat/mktemp.c,
2124         compat/nanosleep.c, compat/regress/glob/globtest.c,
2125         compat/snprintf.c, compat/strlcat.c, compat/strlcpy.c,
2126         compat/strsignal.c, compat/utimes.c, plugins/sample/sample_plugin.c,
2127         plugins/sample_group/getgrent.c, plugins/sample_group/plugin_test.c,
2128         plugins/sudoers/alias.c, plugins/sudoers/auth/afs.c,
2129         plugins/sudoers/auth/aix_auth.c, plugins/sudoers/auth/bsdauth.c,
2130         plugins/sudoers/auth/dce.c, plugins/sudoers/auth/fwtk.c,
2131         plugins/sudoers/auth/kerb4.c, plugins/sudoers/auth/kerb5.c,
2132         plugins/sudoers/auth/pam.c, plugins/sudoers/auth/passwd.c,
2133         plugins/sudoers/auth/rfc1938.c, plugins/sudoers/auth/secureware.c,
2134         plugins/sudoers/auth/securid.c, plugins/sudoers/auth/securid5.c,
2135         plugins/sudoers/auth/sia.c, plugins/sudoers/bsm_audit.c,
2136         plugins/sudoers/check.c, plugins/sudoers/defaults.c,
2137         plugins/sudoers/find_path.c, plugins/sudoers/goodpath.c,
2138         plugins/sudoers/gram.c, plugins/sudoers/gram.y,
2139         plugins/sudoers/iolog.c, plugins/sudoers/ldap.c,
2140         plugins/sudoers/match.c, plugins/sudoers/mon_systrace.c,
2141         plugins/sudoers/parse.c, plugins/sudoers/pwutil.c,
2142         plugins/sudoers/redblack.c, plugins/sudoers/set_perms.c,
2143         plugins/sudoers/sudo_nss.c, plugins/sudoers/sudoers.c,
2144         plugins/sudoers/sudoreplay.c, plugins/sudoers/testsudoers.c,
2145         plugins/sudoers/timestr.c, plugins/sudoers/toke.c,
2146         plugins/sudoers/toke.l, plugins/sudoers/toke_util.c,
2147         plugins/sudoers/tsgetgrpw.c, plugins/sudoers/visudo.c,
2148         src/exec_pty.c, src/get_pty.c, src/load_plugins.c, src/parse_args.c,
2149         src/sudo_noexec.c, src/tgetpass.c:
2150         standardize on "return foo;" rather than "return(foo);" or "return
2151         (foo);"
2152         [32d76c5aaf8c]
2153
2154         * plugins/sudoers/sudoers.c:
2155         Do not reject sudoers file just because it is root-writable.
2156         [0febc579185b]
2157
2158 2011-01-21  Todd C. Miller  <Todd.Miller@courtesan.com>
2159
2160         * NEWS:
2161         sync
2162         [1ab03f8278ff]
2163
2164         * plugins/sudoers/sudo_nss.c:
2165         For "sudo -U user -l" if user is not authorized on the host, say so.
2166         [289afe6dd15c]
2167
2168         * plugins/sudoers/ldap.c:
2169         In sudo_ldap_lookup(), always do the initial sudoers check as the
2170         invoking user. If we are listing another user's privs we will do a
2171         separate lookup using list_pw later.
2172         [e52bc15de76d]
2173
2174 2011-01-20  Todd C. Miller  <Todd.Miller@courtesan.com>
2175
2176         * MANIFEST:
2177         add parser fill tests
2178         [4f65140d3515]
2179
2180         * compat/regress/glob/globtest.c, compat/regress/glob/globtest.in:
2181         Don't test features not supported by the bundled glob()
2182         [8ec7ace11949]
2183
2184         * Makefile.in, aclocal.m4, common/Makefile.in, common/term.c,
2185         compat/Makefile.in, configure.in, doc/LICENSE, doc/Makefile.in,
2186         doc/sudo_plugin.man.in, doc/sudo_plugin.pod,
2187         doc/sudoers.ldap.man.in, doc/sudoers.ldap.pod, doc/sudoers.man.in,
2188         doc/sudoers.pod, include/Makefile.in, plugins/sample/Makefile.in,
2189         plugins/sample_group/Makefile.in, plugins/sudoers/Makefile.in,
2190         plugins/sudoers/check.c, plugins/sudoers/defaults.c,
2191         plugins/sudoers/gram.c, plugins/sudoers/gram.y,
2192         plugins/sudoers/iolog.c, plugins/sudoers/iolog_path.c,
2193         plugins/sudoers/ldap.c, plugins/sudoers/match.c,
2194         plugins/sudoers/pwutil.c, plugins/sudoers/sudo_nss.c,
2195         plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h,
2196         plugins/sudoers/sudoreplay.c, plugins/sudoers/testsudoers.c,
2197         plugins/sudoers/toke.c, plugins/sudoers/toke.l,
2198         plugins/sudoers/toke_util.c, src/Makefile.in, zlib/Makefile.in:
2199         Update copyright year to 2011
2200         [ac1b45cb1809]
2201
2202         * plugins/sudoers/sudo_nss.c:
2203         When listing, use separate lbufs for the defaults and the privileges
2204         and only print something if the number of privileges is non-zero.
2205         Fixes extraneous Defaults output for "sudo -U unauthorized_user -l".
2206         [d0854d39f8ef]
2207
2208         * plugins/sudoers/ldap.c:
2209         Stash pointer to user group vector in LDAP handle and only reuse the
2210         query if it has not changed. We always allocate a new buffer when
2211         we reset the group vector so a simple pointer check is sufficient.
2212         [88861d4eba69]
2213
2214         * plugins/sudoers/sudo_nss.c:
2215         Check initgroups() return value.
2216         [3bdaf58408a7]
2217
2218         * plugins/sudoers/Makefile.in,
2219         plugins/sudoers/regress/parser/check_fill.c:
2220         Add tests for the fill functions in toke_util.c
2221         [bca587ab4956]
2222
2223 2011-01-19  Todd C. Miller  <Todd.Miller@courtesan.com>
2224
2225         * plugins/sudoers/regress/iolog_path/check_iolog_path.c:
2226         fix copyright year
2227         [e2038cdaf055]
2228
2229         * NEWS:
2230         sync
2231         [56ca5d5eaebe]
2232
2233 2011-01-18  Todd C. Miller  <Todd.Miller@courtesan.com>
2234
2235         * common/term.c:
2236         Clear, don't set, OPOST in c_oflag as was intended in 506ad5ae9b4e.
2237         [b91f266624ec]
2238
2239 2011-01-14  Todd C. Miller  <Todd.Miller@courtesan.com>
2240
2241         * mkpkg, sudo.pp:
2242         Add Requires line for audit-libs >= 1.4 for RHEL5+
2243         [6c02f976171b]
2244
2245         * pp:
2246         sync with git version
2247         [d301c32d5865]
2248
2249 2011-01-13  Todd C. Miller  <Todd.Miller@courtesan.com>
2250
2251         * doc/sudoers.cat, doc/sudoers.man.in, doc/sudoers.pod:
2252         fix typo
2253         [39353f92976f]
2254
2255 2011-01-12  Todd C. Miller  <Todd.Miller@courtesan.com>
2256
2257         * NEWS:
2258         Update for sudo 1.7.4p5
2259         [b444da76901f]
2260
2261         * doc/schema.OpenLDAP, doc/schema.iPlanet:
2262         Add sudoNotBefore and sudoNotAfter attributes as optional attributes
2263         to the sudoRole object class. From Andreas Mueller
2264         [dacfad7e7a95]
2265
2266 2011-01-11  Todd C. Miller  <Todd.Miller@courtesan.com>
2267
2268         * NEWS:
2269         Mention "sudo -g group" password check fix.
2270         [1eb8fb14e53b]
2271
2272         * plugins/sudoers/sudoers.c:
2273         Fix "sudo -g" support in the sudoers module.
2274         [07d1b0ce530e]
2275
2276         * plugins/sudoers/check.c:
2277         If the user is running sudo as himself but as a different group we
2278         need to prompt for a password.
2279         [caf1fcc9a117]
2280
2281 2011-01-10  Todd C. Miller  <Todd.Miller@courtesan.com>
2282
2283         * NEWS, config.h.in, configure, configure.in, doc/sudoers.ldap.cat,
2284         doc/sudoers.ldap.man.in, doc/sudoers.ldap.pod,
2285         plugins/sudoers/ldap.c:
2286         Add support for TIMEOUT in ldap.conf, mapping to the OpenLDAP
2287         LDAP_OPT_TIMEOUT. There is no corresponding option for mozilla-
2288         derived LDAP SDKs but we can pass the timeout parameter to
2289         ldap_search_ext_s() or ldap_search_st() when possible.
2290         [5537049991f7]
2291
2292         * doc/sudoers.ldap.cat, doc/sudoers.ldap.man.in:
2293         regen
2294         [5b361c3c4324]
2295
2296         * NEWS, doc/sudoers.ldap.pod, plugins/sudoers/ldap.c:
2297         Add NETWORK_TIMEOUT as an alias for BIND_TIMELIMIT for compatibility
2298         with OpenLDAP ldap.conf files.
2299         [e97843bd16fb]
2300
2301         * plugins/sudoers/pwutil.c:
2302         If user has no supplementary groups, fall back on checking the group
2303         file expliticly.
2304         [5223ad4eb690]
2305
2306 2011-01-08  Todd C. Miller  <Todd.Miller@courtesan.com>
2307
2308         * plugins/sudoers/toke.h, plugins/sudoers/toke_util.c:
2309         constify
2310         [6e132a4cca61]
2311
2312         * plugins/sudoers/toke.c, plugins/sudoers/toke.h,
2313         plugins/sudoers/toke.l:
2314         Move fill macro to toke.h
2315         [623d430798cf]
2316
2317         * MANIFEST, plugins/sudoers/Makefile.in, plugins/sudoers/toke.c,
2318         plugins/sudoers/toke.h, plugins/sudoers/toke.l,
2319         plugins/sudoers/toke_util.c:
2320         Split tokenizer utility functions out into toke_util.c
2321         [89a97bd51618]
2322
2323         * plugins/sudoers/gram.c, plugins/sudoers/gram.y,
2324         plugins/sudoers/toke.c, plugins/sudoers/toke.l:
2325         ANSIfy
2326         [ca0eba1dfaa9]
2327
2328 2011-01-07  Todd C. Miller  <Todd.Miller@courtesan.com>
2329
2330         * MANIFEST:
2331         sync
2332         [a43f94064bb3]
2333
2334         * plugins/sudoers/Makefile.in:
2335         Add visudo tests to check target
2336         [8c82fb4ed40f]
2337
2338         * compat/Makefile.in, compat/regress/fnmatch/fnm_test.c,
2339         compat/regress/fnmatch/fnm_test.in, compat/regress/glob/files,
2340         compat/regress/glob/globtest.c, compat/regress/glob/globtest.in:
2341         Add my regress tests for fnmatch() and glob() from OpenBSD.
2342         [6e8c1f211723]
2343
2344         * plugins/sudoers/regress/testsudoers/test1.sh,
2345         plugins/sudoers/regress/visudo/test1.ok,
2346         plugins/sudoers/regress/visudo/test1.sh:
2347         Add regress test for command tags using visudo -c
2348         [18b0ef207c0f]
2349
2350         * plugins/sudoers/Makefile.in,
2351         plugins/sudoers/regress/testsudoers/test1.ok,
2352         plugins/sudoers/regress/testsudoers/test1.sh:
2353         Add support for regress tests using testsudoers
2354         [1fa94bd2671b]
2355
2356         * plugins/sudoers/testsudoers.c:
2357         Need to set user_name explicitly due to internal changes made when
2358         converting sudoers to a plugin.
2359         [1fa54e86a364]
2360
2361 2011-01-06  Todd C. Miller  <Todd.Miller@courtesan.com>
2362
2363         * MANIFEST, Makefile.in, common/Makefile.in, compat/Makefile.in,
2364         doc/Makefile.in, include/Makefile.in, plugins/sample/Makefile.in,
2365         plugins/sample_group/Makefile.in, plugins/sudoers/Makefile.in,
2366         plugins/sudoers/regress/iolog_path/check_iolog_path.c,
2367         plugins/sudoers/regress/iolog_path/data, src/Makefile.in,
2368         zlib/Makefile.in:
2369         Add regression tests for iolog_path()
2370         [afa4b416e559]
2371
2372         * Makefile.in, common/Makefile.in, compat/Makefile.in,
2373         doc/Makefile.in, include/Makefile.in, plugins/sample/Makefile.in,
2374         plugins/sample_group/Makefile.in, plugins/sudoers/Makefile.in,
2375         src/Makefile.in, zlib/Makefile.in:
2376         Add support for "make Makefile" to regenerate Makefile from
2377         Makefile.in
2378         [98bd2dda3294]
2379
2380         * plugins/sudoers/iolog_path.c:
2381         Quiest a bogus compiler warning.
2382         [5ff932a7ad67]
2383
2384 2011-01-05  Todd C. Miller  <Todd.Miller@courtesan.com>
2385
2386         * plugins/sudoers/iolog_path.c:
2387         Protect call to setlocale() with HAVE_SETLOCALE
2388         [2c29ee3ccc81]
2389
2390 2011-01-04  Todd C. Miller  <Todd.Miller@courtesan.com>
2391
2392         * MANIFEST:
2393         mkstemps.c was renamed mktemp.c
2394         [ae299c3b1827]
2395
2396         * NEWS:
2397         Update from 1.7 branch
2398         [20817d79717b]
2399
2400         * Makefile.in:
2401         Use "mv -f" when regenerating ChangeLog
2402         [c163635206c6]
2403
2404         * plugins/sudoers/match.c:
2405         Fix NULL dereference with "sudo -g group" when the sudoers rule has
2406         no runas user or group listed. Fixes RedHat bug Bug 667103.
2407         [41a6a1243d9e]
2408
2409 2011-01-03  Todd C. Miller  <Todd.Miller@courtesan.com>
2410
2411         * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod:
2412         Correct the default sudo.conf example
2413         [4e791698cad1]
2414
2415 2010-12-31  Todd C. Miller  <Todd.Miller@courtesan.com>
2416
2417         * plugins/sudoers/iolog_path.c:
2418         Reset slashp if we allocate a new buffer for strftime()
2419         [e491daa4203b]
2420
2421         * plugins/sudoers/iolog_path.c, plugins/sudoers/sudoers.c,
2422         plugins/sudoers/sudoers.h:
2423         Add extra out parameter to expand_iolog_path() to allow the caller
2424         to split the path into dir and file components if needed.
2425         [88346bc5ae39]
2426
2427 2010-12-30  Todd C. Miller  <Todd.Miller@courtesan.com>
2428
2429         * plugins/sudoers/iolog.c:
2430         mkdir_iopath() returns size_t now that it uses strlcpy() and not
2431         snprintf()
2432         [3c4c64d265eb]
2433
2434         * plugins/sudoers/iolog.c, plugins/sudoers/iolog_path.c:
2435         Trim leading slashes from iolog_file and trailing slashes from
2436         iolog_dir
2437         [a803b51f8948]
2438
2439         * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod,
2440         plugins/sudoers/iolog.c, plugins/sudoers/iolog_path.c,
2441         plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h:
2442         Pass a single I/O log file name in command_details instead of
2443         separate dir + file parameters.
2444         [d672a3e46e80]
2445
2446         * plugins/sudoers/sudoreplay.c:
2447         change an error() to errorx()
2448         [8013dcfdd69d]
2449
2450         * plugins/sudoers/iolog.c:
2451         Add missing cwd line to I/O log info file that got dropped when
2452         iolog_deserialize_info() was added
2453         [7cf84f208423]
2454
2455 2010-12-29  Todd C. Miller  <Todd.Miller@courtesan.com>
2456
2457         * plugins/sudoers/iolog.c:
2458         Avoid relying on globals filled in by the sudoers policy module for
2459         the sudoers I/O log module. The I/O log open function now pulls the
2460         bits it needs out of user_info and command_info.
2461         [c02f6951b0cc]
2462
2463         * plugins/sudoers/iolog.c, plugins/sudoers/sudoers.c,
2464         plugins/sudoers/sudoers.h:
2465         If no iolog file is specified by the policy plugin, use io_nextid()
2466         to determine the next file in the sequence.
2467         [faa1130b1020]
2468
2469 2010-12-28  Todd C. Miller  <Todd.Miller@courtesan.com>
2470
2471         * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod:
2472         Document iolog_compress in command_info
2473         [58895c7d12f5]
2474
2475         * plugins/sudoers/iolog.c, plugins/sudoers/sudoers.c:
2476         Add support for the iolog_compress variable in command_info.
2477         [36f13a2fd1c1]
2478
2479         * plugins/sudoers/iolog.c, plugins/sudoers/sudoers.c:
2480         Add sigsetjmp() calls to all plugin entry points just to be safe.
2481         [3fa482355bc4]
2482
2483         * src/sudo.c, src/sudo.h:
2484         Don't need iolog variables in struct command_details, they are for
2485         the I/O log plugins to handle.
2486         [5111579ffd9d]
2487
2488 2010-12-27  Todd C. Miller  <Todd.Miller@courtesan.com>
2489
2490         * doc/sudoers.cat, doc/sudoers.man.in, doc/sudoers.pod:
2491         Document use of mkdtemp() for iolog path teplates
2492         [5db6101408a9]
2493
2494         * doc/sudo.cat, doc/sudo.man.in, doc/sudo_plugin.cat,
2495         doc/sudo_plugin.man.in, doc/sudoers.cat, doc/sudoers.ldap.cat,
2496         doc/sudoers.ldap.man.in, doc/sudoers.man.in, doc/sudoreplay.cat,
2497         doc/sudoreplay.man.in, doc/visudo.cat, doc/visudo.man.in:
2498         regen
2499         [1ee11fd6d4eb]
2500
2501         * doc/sudo_plugin.pod, doc/sudoers.pod:
2502         Document iolog_file and supported escape sequences for sudoers.
2503         Clarify that iolog_file can contain directories.
2504         [da611dedcbdb]
2505
2506         * compat/Makefile.in, configure, configure.in:
2507         Fix building of mkstemps/mkdtemp replacements.
2508         [793a5e303122]
2509
2510         * compat/mkstemps.c, compat/mktemp.c, config.h.in, configure,
2511         configure.in, include/missing.h:
2512         Provide mkdtemp() for systems without it.
2513         [b0527dfa965c]
2514
2515         * plugins/sudoers/iolog_path.c:
2516         Fix typo
2517         [277f6c514cba]
2518
2519         * plugins/sudoers/iolog.c:
2520         Only use mkdtemp() if the path ends in at least 6 Xs since otherwise
2521         glibc mkdtemp() returns EINVAL.
2522         [2e7323b05579]
2523
2524         * plugins/sudoers/Makefile.in, plugins/sudoers/def_data.c,
2525         plugins/sudoers/def_data.h, plugins/sudoers/def_data.in,
2526         plugins/sudoers/defaults.c, plugins/sudoers/iolog.c,
2527         plugins/sudoers/iolog_path.c, plugins/sudoers/plugin_error.c,
2528         plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h:
2529         Allow sudoers to specify the iolog file in addition to the iolog
2530         dir. Add escape sequence support to iolog file and dir: sequence
2531         number, user, group, runas_user, runas_group, hostname and
2532         command in addition to any escape sequence recognized by
2533         strftime(3).
2534         [75cd32ee0435]
2535
2536         * plugins/sudoers/iolog.c:
2537         Add missing sigsetjmp() call in I/O plugin open function. Fixes a
2538         crash when the I/O plugin calls error(), errorx() or log_error().
2539         [1a6718bd817d]
2540
2541 2010-12-21  Todd C. Miller  <Todd.Miller@courtesan.com>
2542
2543         * doc/sudo_plugin.pod, plugins/sudoers/iolog.c,
2544         plugins/sudoers/sudoers.c:
2545         Give the policy module fine-grained control over what the I/O plugin
2546         logs.
2547         [d29784fd2a66]
2548
2549         * common/term.c:
2550         Clear OPOST from c_oflag like we used to. Fixes screen-based
2551         editors such as vi.
2552         [506ad5ae9b4e]
2553
2554         * doc/sudoers.pod:
2555         Clarify umask option description. From Reuben Thomas.
2556         [1294ac84222b]
2557
2558 2010-12-20  Todd C. Miller  <Todd.Miller@courtesan.com>
2559
2560         * doc/sudoers.ldap.pod, plugins/sudoers/ldap.c:
2561         Pick last match in LDAP sudoers too
2562         [fbfd8e85703b]
2563
2564         * doc/sudo_plugin.pod:
2565         Document iolog_file, iolog_dir and use_pty
2566         [26120a59c20e]
2567
2568         * plugins/sample/sample_plugin.c, plugins/sudoers/iolog.c,
2569         plugins/sudoers/sudoers.c:
2570         Adapt plugins to version I/O logging ABI 1.1
2571         [880dd64bc1e8]
2572
2573         * src/exec.c, src/sudo.h:
2574         Add use_pty command_info flag for policies to indicate that a pty
2575         should be allocated even if no I/O logging is performed.
2576         [e7b167f8a6e5]
2577
2578         * src/sudo.c:
2579         Add remaining plugin convenience functions
2580         [ffeaf96da031]
2581
2582         * include/sudo_plugin.h, src/sudo.c, src/sudo.h,
2583         src/sudo_plugin_int.h:
2584         Change I/O log API to pass in command info to the I/O log open
2585         function. Add iolog_file and iolog_dir parameters to command info.
2586         This allows the policy plugin to specify the I/O log pathname. Add
2587         convenience functions for calling plugin functions that handle ABI
2588         backwards compatibility.
2589         [9b81dce76ce5]
2590
2591         * compat/dlopen.c:
2592         Remove useless cast
2593         [7cecce969739]
2594
2595 2010-12-17  Todd C. Miller  <Todd.Miller@courtesan.com>
2596
2597         * configure, configure.in:
2598         Bump version to 1.8.0b3
2599         [1dc9f040aae0]
2600
2601 2010-12-13  Todd C. Miller  <Todd.Miller@courtesan.com>
2602
2603         * configure.in:
2604         Remove extraneous newline
2605         [71c94551eea5]
2606
2607 2010-12-10  Todd C. Miller  <Todd.Miller@courtesan.com>
2608
2609         * doc/sudoers.pod, plugins/sudoers/def_data.c,
2610         plugins/sudoers/def_data.h, plugins/sudoers/def_data.in,
2611         plugins/sudoers/defaults.c, plugins/sudoers/iolog.c:
2612         Make I/O log dir configurable.
2613         [99b576667a38]
2614
2615         * aclocal.m4, configure, configure.in, doc/sudoers.pod:
2616         Rename io_logdir to iolog_dir
2617         [0731662acc8d]
2618
2619 2010-12-07  Todd C. Miller  <Todd.Miller@courtesan.com>
2620
2621         * pp:
2622         Add missing '*' that prevented the generic ELF case from matching.
2623         [be77ca26bfb2]
2624
2625         * pp:
2626         If file(1) can't identify the ELF binary type, try readelf(1).
2627         [38a18d32a9e3]
2628
2629 2010-11-30  Todd C. Miller  <Todd.Miller@courtesan.com>
2630
2631         * plugins/sudoers/auth/kerb4.c, plugins/sudoers/check.c,
2632         plugins/sudoers/env.c, plugins/sudoers/pwutil.c,
2633         plugins/sudoers/sudoers.c, src/sudo.c:
2634         Use %u to print uid/gid, not %lu and adjust casts to match.
2635         [03c43b8749cf]
2636
2637         * doc/sudoers.ldap.pod:
2638         Clarify ordering of entries and attributes.
2639         [924e2a6bb603]
2640
2641         * doc/sudoers.ldap.pod:
2642         Fix typo and editing goof.
2643         [79dc7ccd85a8]
2644
2645         * doc/schema.ActiveDirectory, doc/schema.OpenLDAP, doc/schema.iPlanet,
2646         doc/sudoers.ldap.pod:
2647         Merge in ordered LDAP entry support from Andreas Mueller.
2648         [ea5885989bad]
2649
2650         * plugins/sudoers/ldap.c:
2651         Make sure we don't dereference a NULL handle.
2652         [1a9f9ee15371]
2653
2654 2010-11-24  Todd C. Miller  <Todd.Miller@courtesan.com>
2655
2656         * pp:
2657         Add support for RHEL 6 file modes that include a trailing dot on
2658         files with an SELinux security context
2659         [dc09be959547]
2660
2661 2010-11-23  Todd C. Miller  <Todd.Miller@courtesan.com>
2662
2663         * src/sudo.c:
2664         exec_setup() does not need to setuid(0), the Ubuntu issue was in the
2665         sudoers module.
2666         [d6dd99fc6062]
2667
2668         * plugins/sudoers/sudoers.c:
2669         create_admin_success_flag() should use restore_perms() rather than
2670         set_perms() to restore the uid.
2671         [eba7a91c1f57]
2672
2673         * src/sudo.c:
2674         In exec_setup() call setuid(0) to make certain the subsequent uid
2675         and gid changes will succeed. Fixes a problem on Ubuntu.
2676         [c5d32abf0645]
2677
2678         * src/sudo_edit.c:
2679         Error out if we cannot change to root's uid so we catch the failure
2680         early.
2681         [7a2e7f8f2c80]
2682
2683 2010-11-22  Todd C. Miller  <Todd.Miller@courtesan.com>
2684
2685         * doc/sudoers.pod:
2686         fix typo; from Michael T Hunter
2687         [a574a9d0db5b]
2688
2689         * plugins/sudoers/match.c:
2690         In sudoedit mode, assume command line arguments are paths and pass
2691         FNM_PATHNAME to fnmatch().
2692         [ce0abff8ce9f]
2693
2694 2010-11-20  Todd C. Miller  <Todd.Miller@courtesan.com>
2695
2696         * configure, configure.in:
2697         Add workaround for an error in sys/types.h on HP-UX 11.23 when large
2698         file support is enabled. Defining _XOPEN_SOURCE_EXTENDED avoids the
2699         broken bits of the header file.
2700         [e337217f097a]
2701
2702         * aclocal.m4:
2703         Fix SUDO_MAILDIR usage of AC_LANG_PROGRAM
2704         [fbbcee28961f]
2705
2706         * sudo.pp:
2707         For Tru64, strip off beta version.
2708         [eeccd762df5e]
2709
2710         * MANIFEST, plugins/sudoers/testsudoers.c,
2711         plugins/sudoers/tsgetgrpw.c, plugins/sudoers/tsgetgrpw.h:
2712         Avoid conflicts with system definitions in grp.h and pwd.h
2713         [b219ffe1da09]
2714
2715         * zlib/gzguts.h:
2716         Include stdio.h after zlib.h, not before. We need the large file
2717         defines to come first.
2718         [21d6df39790f]
2719
2720 2010-11-19  Todd C. Miller  <Todd.Miller@courtesan.com>
2721
2722         * doc/sudoers.ldap.cat, doc/sudoers.ldap.man.in:
2723         regen
2724         [3ff8750d0aac]
2725
2726         * Makefile.in:
2727         Don't clean ChangeLog
2728         [ab0d30d289d4]
2729
2730         * plugins/sudoers/testsudoers.c, plugins/sudoers/visudo.c:
2731         Add prototype for cleanup()
2732         [75626fd3769a]
2733
2734 2010-11-18  Todd C. Miller  <Todd.Miller@courtesan.com>
2735
2736         * plugins/sudoers/group_plugin.c:
2737         Avoid deferencing group_plugin if it is NULL in
2738         group_plugin_query(). This should not happen.
2739         [4f2933c8da7e]
2740
2741         * plugins/sudoers/group_plugin.c:
2742         group plugin init function return TRUE when successful
2743         [198024477030]
2744
2745 2010-11-17  Todd C. Miller  <Todd.Miller@courtesan.com>
2746
2747         * plugins/sudoers/ldap.c:
2748         Enlarge the array of entry wrappers int blocks of 100 entries to
2749         save on allocation time. From Andreas Mueller
2750         [375c916bb03b]
2751
2752         * plugins/sudoers/ldap.c:
2753         Add back call to sudo_ldap_timefilter() in sudo_ldap_build_pass2()
2754         that was mistakenly dropped.
2755         [1555f5bc132d]
2756
2757 2010-11-16  Todd C. Miller  <Todd.Miller@courtesan.com>
2758
2759         * doc/TROUBLESHOOTING:
2760         Mention that sudo needs "ar" to build.
2761         [65582ace2d09]
2762
2763         * configure, configure.in:
2764         Fail with a more useful error if "ar" is not found.
2765         [d1cb83719c17]
2766
2767 2010-11-14  Todd C. Miller  <Todd.Miller@courtesan.com>
2768
2769         * plugins/sudoers/ldap.c:
2770         Merge in ordered LDAP entry support from Andreas Mueller and add
2771         local changes from the 1.7 branch.
2772         [bca29e461618]
2773
2774 2010-11-12  Todd C. Miller  <Todd.Miller@courtesan.com>
2775
2776         * doc/schema.ActiveDirectory, doc/schema.OpenLDAP, doc/schema.iPlanet,
2777         doc/sudoers.ldap.pod, plugins/sudoers/ldap.c:
2778         Add timed entry support from Andreas Mueller.
2779         [e18d1df46a8d]
2780
2781         * plugins/sudoers/group_plugin.c:
2782         Don't try to unload if group_plugin is NULL. Don't call dlclose() if
2783         group_handle is NULL
2784         [de2273da37d5]
2785
2786         * plugins/sudoers/sudoers.h:
2787         It is now plugin_cleanup(), not cleanup()
2788         [da62a4e1a78c]
2789
2790         * plugins/sudoers/logging.c, plugins/sudoers/sudoers.c:
2791         Call plugin_cleanup(), not cleanup()
2792         [e800ad8b33ad]
2793
2794 2010-11-11  Todd C. Miller  <Todd.Miller@courtesan.com>
2795
2796         * plugins/sudoers/ldap.c:
2797         Use efree() not free() and remove malloc.h include since we never
2798         directly call malloc() or free().
2799         [107fffd134bb]
2800
2801 2010-11-09  Todd C. Miller  <Todd.Miller@courtesan.com>
2802
2803         * sudo.pp:
2804         set PSTAMP for Solaris and move the backend-specific bits to their
2805         own %if [xxx] %endif blocks in %set.
2806         [a94ebe8920c1]
2807
2808         * pp:
2809         sync with git repo
2810         [75ff509696b4]
2811
2812         * configure, configure.in:
2813         Only substitute file zlib files when using the builtin zlib
2814         [6c8145b2deb4]
2815
2816         * common/Makefile.in, compat/Makefile.in, plugins/sample/Makefile.in,
2817         plugins/sample_group/Makefile.in, plugins/sudoers/Makefile.in,
2818         src/Makefile.in, zlib/Makefile.in:
2819         Give up on using VPATH to find sources as it is implemented
2820         inconsistenly in different versions of make.
2821         [60517c69aaee]
2822
2823         * plugins/sudoers/Makefile.in, plugins/sudoers/getdate.c,
2824         plugins/sudoers/gram.c, plugins/sudoers/toke.c:
2825         Include config.h before any other includes to make sure we get the
2826         right value for _FILE_OFFSET_BITS.
2827         [8fb007ca832e]
2828
2829         * MANIFEST:
2830         Add zlib
2831         [04a3e23dfaa9]
2832
2833         * zlib/Makefile.in:
2834         Add missing targets
2835         [40e45a177168]
2836
2837         * src/Makefile.in:
2838         g/c unused $(GENERATED)
2839         [c8758068c1bc]
2840
2841 2010-11-08  Todd C. Miller  <Todd.Miller@courtesan.com>
2842
2843         * plugins/sudoers/group_plugin.c:
2844         Zero out group_plugin on unload just to be safe.
2845         [0b10f4d101ca]
2846
2847         * plugins/sudoers/group_plugin.c:
2848         Unload group plugin if its init function fails.
2849         [6552cdac4b7c]
2850
2851         * src/sudo.c:
2852         Only chdir to cwd if it is different from the current cwd or there
2853         is a new root (chroot).
2854         [b8203e875e84]
2855
2856         * configure, configure.in, doc/sudo.cat, doc/sudo.man.in,
2857         doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudoers.ldap.cat,
2858         doc/sudoers.ldap.man.in, doc/visudo.cat, doc/visudo.man.in:
2859         Bump version to 1.8.0b2
2860         [6dadeb75a878]
2861
2862 2010-10-28  Todd C. Miller  <Todd.Miller@courtesan.com>
2863
2864         * INSTALL:
2865         Better --enable-zlib description
2866         [e0da54fa59a6]
2867
2868         * mkpkg:
2869         Use system zlib on Linux Let configure decide on Solaris For all
2870         others, use builtin zlib
2871         [3d52eddb523c]
2872
2873         * zlib/zconf.h.in:
2874         Add large file support.
2875         [bec01215270d]
2876
2877         * config.h.in:
2878         Add large file support.
2879         [244e95b034ec]
2880
2881         * Makefile.in, configure, configure.in, doc/LICENSE, doc/license.pod,
2882         zlib/Makefile.in, zlib/adler32.c, zlib/compress.c, zlib/crc32.c,
2883         zlib/crc32.h, zlib/deflate.c, zlib/deflate.h, zlib/gzclose.c,
2884         zlib/gzguts.h, zlib/gzlib.c, zlib/gzread.c, zlib/gzwrite.c,
2885         zlib/infback.c, zlib/inffast.c, zlib/inffast.h, zlib/inffixed.h,
2886         zlib/inflate.c, zlib/inflate.h, zlib/inftrees.c, zlib/inftrees.h,
2887         zlib/trees.c, zlib/trees.h, zlib/uncompr.c, zlib/zconf.h.in,
2888         zlib/zlib.h, zlib/zutil.c, zlib/zutil.h:
2889         Add local copy of zlib for systems that lack it.
2890         [7542ca465c5a]
2891
2892 2010-10-15  Todd C. Miller  <Todd.Miller@courtesan.com>
2893
2894         * src/exec.c:
2895         If perform_io() fails, kill the child before exiting so it doesn't
2896         complain about connection reset. We can get an I/O error if, for
2897         example, and we get EIO reading from stdin.
2898         [e59a05fa729f]
2899
2900 2010-10-12  Todd C. Miller  <Todd.Miller@courtesan.com>
2901
2902         * plugins/sudoers/sudoers.c, src/sudo.c:
2903         Fix complilation on systems with set_auth_parameters() Sprinkle
2904         volatile to quiet warnings from gcc 2.8.0
2905         [a34c2b924ba7]
2906
2907         * compat/dlfcn.h, compat/dlopen.c:
2908         Avoid potential namespace issues with dlopen() emulation.
2909         [aedfababd6ca]
2910
2911         * MANIFEST:
2912         sync
2913         [6afb97e6d308]
2914
2915         * plugins/sudoers/interfaces.c:
2916         Use INADDR_NONE instead of casting -1 to in_addr_t (which may not
2917         exist).
2918         [ddfca5af1a36]
2919
2920         * Makefile.in:
2921         Mark ChangeLog as PHONY Don't overwrite ChangeLog if we can't run hg
2922         [e9d04bfa4505]
2923
2924         * configure, configure.in:
2925         HP-UX 10.20 libc has an incompatible getline
2926         [2e7bc202e78d]
2927
2928         * plugins/sudoers/visudo.c:
2929         Quiet an HP-UX compiler warning.
2930         [55b9d587ac8c]
2931
2932         * configure, configure.in:
2933         Check for vi even with --with-editor specified; the sample plugin
2934         needs it.
2935         [94dfc3643f76]
2936
2937 2010-10-11  Todd C. Miller  <Todd.Miller@courtesan.com>
2938
2939         * compat/dlopen.c:
2940         Fix remaining syntax errors.
2941         [9d729b5b577e]
2942
2943         * src/Makefile.in:
2944         sudo binary depends on the libtool-generated libs
2945         [9e6148406adb]
2946
2947         * plugins/sudoers/group_plugin.c, src/load_plugins.c:
2948         Use HAVE_DLOPEN instead of HAVE_DLFCN_H when determining whether to
2949         include the local or system dlfcn.h
2950         [68cfe4c1089b]
2951
2952         * pp:
2953         Don't use run_as_superuser=false on HP-UX
2954         [532242370b09]
2955
2956         * src/net_ifs.c:
2957         Use memset() instead of zero_bytes() since we don't include
2958         sudoers.h
2959         [a187c18c2472]
2960
2961         * plugins/sudoers/interfaces.c:
2962         Fix pasto; AF_INET not AF_INET6
2963         [2d2e9d7dc6f9]
2964
2965         * compat/dlopen.c:
2966         Actually call shl_load()
2967         [ed8153b8a3cd]
2968
2969         * pp:
2970         Update from git repo. Debian: version numbers now compliant with
2971         policy section 5.6.12 HP-UX: minimal changes needed to work on HP-UX
2972         10.20
2973         [ecf2692bceeb]
2974
2975         * configure, configure.in:
2976         Fix dlopen() detection for systems where dlopen() is in a separate
2977         library.
2978         [fa6b175582b6]
2979
2980         * plugins/sudoers/auth/pam.c:
2981         If pam_acct_mgmt() returns PAM_AUTH_ERR print a (hopefully) more
2982         useful message and return AUTH_FATAL so sudo does not keep trying to
2983         validate the user.
2984         [1be8857e5291]
2985
2986         * src/preload.c:
2987         sudo_preload_table is an array
2988         [b7704e72a9da]
2989
2990         * compat/dlopen.c:
2991         Quiet a compiler warning and fix sudo_preload_table external
2992         definition.
2993         [8234987664cc]
2994
2995         * compat/dlfcn.h:
2996         Fix multiple inclusion guard in dlfcn.h and fix dlerror() prototype.
2997         [8bab6a4053cc]
2998
2999         * plugins/sudoers/group_plugin.c:
3000         Make this compile correctly when no dlopen is available.
3001         [57643879bd2b]
3002
3003 2010-10-07  Todd C. Miller  <Todd.Miller@courtesan.com>
3004
3005         * plugins/sudoers/check.c:
3006         Having a timestamp file defined is no longer indicative of tty
3007         tickets being enabled. Check def_tty_tickets directly.
3008         [efcc11ad157f]
3009
3010         * src/exec_pty.c, src/sudo.h, src/ttysize.c:
3011         Fix TCGETWINSZ compat.
3012         [da3a8b17cf7a]
3013
3014 2010-10-02  Todd C. Miller  <Todd.Miller@courtesan.com>
3015
3016         * src/exec_pty.c, src/ttysize.c:
3017         Prefer newer TIOCGWINSZ ioctl to old TIOCGSIZE
3018         [926492dd10a6]
3019
3020 2010-10-01  Todd C. Miller  <Todd.Miller@courtesan.com>
3021
3022         * plugins/sudoers/sudoers.c, src/sudo.c:
3023         Move set_project() from sudoers module into sudo proper.
3024         [beabafac03b4]
3025
3026         * configure, configure.in:
3027         Fix typo and regenerate
3028         [4a3caf4234f3]
3029
3030         * plugins/sudoers/ldap.c:
3031         When iterating over returned LDAP entries, keep looking at remaining
3032         matches even if we have a positive match. This catches negative
3033         matches that may exist in other entries and more closely match the
3034         sudoers file behavior.
3035         [f47db6e609b0]
3036
3037         * pp:
3038         Add support for multiple package instances on Solaris.
3039         [7f2a8b942545]
3040
3041         * src/exec.c:
3042         Add missing signal_pipe[0] to fdsr for the non-pty case.
3043         [79d01e11b19c]
3044
3045         * mkpkg:
3046         Add --with-project for Solaris
3047         [ffa4c2bb93f7]
3048
3049         * README:
3050         Need ar and ranlib too
3051         [5c2f679172ef]
3052
3053 2010-09-27  Todd C. Miller  <Todd.Miller@courtesan.com>
3054
3055         * plugins/sudoers/env.c:
3056         Preserve ODMDIR environment variable by default on AIX.
3057         [bd47cb1e804f]
3058
3059 2010-09-26  Todd C. Miller  <Todd.Miller@courtesan.com>
3060
3061         * Makefile.in, compat/Makefile.in, compat/dlfcn.h, compat/dlopen.c,
3062         config.h.in, configure, configure.in, plugins/sample/Makefile.in,
3063         plugins/sample_group/Makefile.in, plugins/sudoers/Makefile.in,
3064         plugins/sudoers/group_plugin.c, plugins/sudoers/plugin_error.c,
3065         plugins/sudoers/sudoers.c, src/Makefile.in, src/load_plugins.c,
3066         src/preload.c:
3067         Add dlopen() emulation for systems without it. For HP-UX 10, emulate
3068         using shl_load(). For others, link sudoers plugin statically and use
3069         a lookup table to emulate dlsym().
3070         [e92edfb3c642]
3071
3072 2010-09-24  Todd C. Miller  <Todd.Miller@courtesan.com>
3073
3074         * compat/fnmatch.c, compat/glob.c, compat/mksiglist.c,
3075         compat/nanosleep.c, compat/utimes.c:
3076         When including compat headers, use the compat dir as part of the
3077         path so we are sure to get the correct header.
3078         [6c2a45da6af5]
3079
3080 2010-09-21  Todd C. Miller  <Todd.Miller@courtesan.com>
3081
3082         * plugins/sudoers/linux_audit.c:
3083         Ignore ECONNREFUSED from audit_log_user_command() which will occur
3084         if auditd is not running.
3085         [d314fe4c8d03]
3086
3087 2010-09-17  Todd C. Miller  <Todd.Miller@courtesan.com>
3088
3089         * pp:
3090         Sync with git version
3091         [1c0357744222]
3092
3093 2010-09-16  Todd C. Miller  <Todd.Miller@courtesan.com>
3094
3095         * common/fileops.c, plugins/sudoers/defaults.c:
3096         Cast isblank argument to unsigned char.
3097         [c822dbb3ca54]
3098
3099 2010-09-14  Todd C. Miller  <Todd.Miller@courtesan.com>
3100
3101         * INSTALL, config.h.in, configure, configure.in, doc/sudoers.cat,
3102         doc/sudoers.man.in, doc/sudoers.pod, plugins/sudoers/defaults.c:
3103         Implement --with-umask-override configure flag.
3104         [863e3047df22]
3105
3106         * plugins/sudoers/env.c:
3107         Take MODE_LOGIN_SHELL into account when initially setting reset_home
3108         instead of special-casing it later.
3109         [5d6b16480fd6]
3110
3111         * plugins/sudoers/sudoers.c:
3112         In login mode, make a copy of the runas user's pw_shell for
3113         NewArgv[0] because 1) we modify it and 2) it will runas_pw gets
3114         freed before exec.
3115         [1d1ccb568dfa]
3116
3117         * plugins/sudoers/env.c:
3118         Reset HOME for "sudo -i" even if HOME was listed in env_keep.
3119         [c1c1c65a2d63]
3120
3121         * src/sudo.c:
3122         Use SIG_SETMASK when resetting signal mask instead of SIG_UNBLOCK.
3123         [7443454e5f88]
3124
3125         * src/sudo.c:
3126         Reset signal mask at sudo startup time; we need to be able to rely
3127         on normal signal delivery to control the child process.
3128         [95800163ff94]
3129
3130 2010-09-13  Todd C. Miller  <Todd.Miller@courtesan.com>
3131
3132         * install-sh:
3133         Use sed instead of expr to split a flag from its argument. Fixes a
3134         problem with expr interpreting its arguments as a flag when they
3135         start with a dash.
3136         [736065e14301]
3137
3138         * common/lbuf.c:
3139         Do not need sys/time.h after all
3140         [91f6f668ccda]
3141
3142         * common/lbuf.c:
3143         Include sys/time.h for utimes() and struct timeval. No longer need
3144         ioctl.h or termios.h
3145         [2d75273d3213]
3146
3147         * compat/snprintf.c:
3148         Quiet bogus compiler warnings.
3149         [fe252e1968f5]
3150
3151         * include/missing.h:
3152         Declare innetgr() for HP-UX which is missing a declaration. Declare
3153         domainname() for HP-UX and Solaris which are missing a declaration.
3154         [b37c50751138]
3155
3156         * plugins/sudoers/bsm_audit.c:
3157         Use __sun for consistency with the rest of the sources.
3158         [6b086b61ccb6]
3159
3160         * plugins/sudoers/group_plugin.c:
3161         Quiet a bogus compiler warning.
3162         [ebc069842c4a]
3163
3164         * plugins/sudoers/pwutil.c:
3165         Don't try to delref a NULL group.
3166         [f6ff0838be21]
3167
3168         * common/alloc.c, common/lbuf.c:
3169         Include memory.h on systems that need it.
3170         [4e676da81c6f]
3171
3172 2010-09-11  Todd C. Miller  <Todd.Miller@courtesan.com>
3173
3174         * src/exec.c:
3175         Quiet gcc warnings on glibc systems that use warn_unused_result for
3176         write(2).
3177         [0532da0b7cf7]
3178
3179         * doc/sudoers.cat, doc/sudoers.man.in, doc/sudoers.pod:
3180         sudo_plugin is in section 8; from Ted Percival
3181         [b4506a0de87e]
3182
3183         * plugins/sudoers/Makefile.in:
3184         testsudoers depends on libsudoers.la, not sudoreplay
3185         [cdb1cc3bf06a]
3186
3187 2010-09-10  Todd C. Miller  <Todd.Miller@courtesan.com>
3188
3189         * src/exec.c:
3190         Read as many signals on the signal pipe as we can before returning.
3191         [b181671da047]
3192
3193         * src/exec.c, src/exec_pty.c, src/sudo_exec.h:
3194         Instead of using a array to store received signals, open a pipe and
3195         have the signal handler write the signal number to one end and
3196         select() on the other end. This makes it possible to handle signals
3197         similar to I/O without race conditions.
3198         [ee84d65c16b6]
3199
3200 2010-09-09  Todd C. Miller  <Todd.Miller@courtesan.com>
3201
3202         * doc/visudo.pod, plugins/sudoers/visudo.c:
3203         Make "visudo -c -f -" check the standard input.
3204         [195a3d2a9a26]
3205
3206         * doc/sudoers.pod:
3207         set_home and always_set_home have an effect if HOME is present in
3208         the env_keep list.
3209         [159d0b9dc5c8]
3210
3211         * plugins/sudoers/env.c:
3212         Make -H flag work when HOME is listed in env_keep. Also makes
3213         "set_home" and "always_set_home" override override HOME in env_keep.
3214         [a3e5b966193f]
3215
3216 2010-09-08  Todd C. Miller  <Todd.Miller@courtesan.com>
3217
3218         * plugins/sudoers/Makefile.in, plugins/sudoers/interfaces.c,
3219         plugins/sudoers/interfaces.h, plugins/sudoers/match.c,
3220         plugins/sudoers/sudoers.c, plugins/sudoers/testsudoers.c,
3221         plugins/sudoers/visudo.c, src/net_ifs.c:
3222         Convert sudoers plugin to use interface list passed in settings.
3223         [87d9b5f4f586]
3224
3225         * doc/sudo_plugin.pod, src/Makefile.in, src/net_ifs.c,
3226         src/parse_args.c, src/sudo.h:
3227         Query local network interfaces in the main sudo driver and pass to
3228         the plugin as "network_addrs" in the settings list.
3229         [7f35bcfe77a7]
3230
3231         * plugins/sudoers/bsm_audit.c:
3232         Solaris BSM audit return EINVAL when auditing is not enabled,
3233         whereas OpenBSM returns ENOSYS.
3234         [411b980ec58b]
3235
3236 2010-09-07  Todd C. Miller  <Todd.Miller@courtesan.com>
3237
3238         * compat/fnmatch.c:
3239         missing.h should come before most local includes
3240         [53921a7b8b5b]
3241
3242         * plugins/sudoers/sudoreplay.c:
3243         missing.h should come before most local includes
3244         [e9abb0db1aac]
3245
3246         * plugins/sudoers/sudoers.h:
3247         Make local includes consistent; use double quotes for local includes
3248         except for generated ones where we use angle brackets.
3249         [09de4faa9547]
3250
3251         * plugins/sudoers/sudoers.c:
3252         Always fill in NewArgv for audit code.
3253         [7c3aca60519f]
3254
3255         * plugins/sudoers/toke.c, plugins/sudoers/toke.l:
3256         Add missing LOG_INPUT/LOG_OUTPUT support in the lexer.
3257         [007cf6560f92]
3258
3259         * common/alloc.c, common/atobool.c, common/fileops.c,
3260         common/fmt_string.c, common/lbuf.c, common/list.c, common/term.c,
3261         common/zero_bytes.c, compat/closefrom.c, compat/fnmatch.c,
3262         compat/getcwd.c, compat/getgrouplist.c, compat/getline.c,
3263         compat/getprogname.c, compat/glob.c, compat/isblank.c,
3264         compat/memrchr.c, compat/mksiglist.c, compat/mkstemps.c,
3265         compat/nanosleep.c, compat/setenv.c, compat/snprintf.c,
3266         compat/strlcat.c, compat/strlcpy.c, compat/strsignal.c,
3267         compat/unsetenv.c, compat/utimes.c, include/compat.h,
3268         plugins/sample/sample_plugin.c, plugins/sample_group/getgrent.c,
3269         plugins/sample_group/plugin_test.c,
3270         plugins/sample_group/sample_group.c, plugins/sudoers/audit.c,
3271         plugins/sudoers/auth/afs.c, plugins/sudoers/boottime.c,
3272         plugins/sudoers/getdate.c, plugins/sudoers/getdate.y,
3273         plugins/sudoers/linux_audit.c, plugins/sudoers/match.c,
3274         plugins/sudoers/plugin_error.c, plugins/sudoers/sudoreplay.c,
3275         plugins/sudoers/timestr.c, src/error.c, src/sesh.c, src/sudo.h,
3276         src/sudo_noexec.c, src/ttysize.c:
3277         Make local includes consistent; use double quotes for local includes
3278         except for generated ones where we use angle brackets. Also g/c
3279         unused compat.h.
3280         [e57070dc8f04]
3281
3282 2010-09-06  Todd C. Miller  <Todd.Miller@courtesan.com>
3283
3284         * plugins/sudoers/match.c:
3285         When matching the runas user and runas group (-u and -g command line
3286         options), keep track of runas group and runas user matches
3287         separately. Only return a positive match if we have a match for
3288         both runas user and runas group (if specified).
3289         [815219e04cc8]
3290
3291 2010-09-04  Todd C. Miller  <Todd.Miller@courtesan.com>
3292
3293         * doc/sudoers.ldap.pod, plugins/sudoers/ldap.c:
3294         Add support for multiple URI lines by joining the contents and
3295         passing the result to ldap_initialize.
3296         [a47cae3b72e8]
3297
3298         * plugins/sudoers/ldap.c, plugins/sudoers/parse.c:
3299         Do not return -1 on error from the display functions; the caller
3300         expects a return value >= 0.
3301         [101456a7dd00]
3302
3303         * plugins/sudoers/sudoers.c:
3304         Do not set both MODE_EDIT and MODE_RUN
3305         [8faa36694d54]
3306
3307 2010-09-03  Todd C. Miller  <Todd.Miller@courtesan.com>
3308
3309         * include/missing.h:
3310         Move includes to the top of the file.
3311         [a51436798e8c]
3312
3313 2010-08-30  Todd C. Miller  <Todd.Miller@courtesan.com>
3314
3315         * plugins/sudoers/Makefile.in:
3316         Add missing definition of timedir
3317         [458a749c2c5e]
3318
3319         * compat/fnmatch.c, compat/getprogname.c, compat/isblank.c,
3320         compat/mksiglist.c, compat/strsignal.c,
3321         plugins/sudoers/plugin_error.c, src/error.c, src/sudo_noexec.c:
3322         Add #include of sys/types.h for .c files that include missing.h to
3323         be sure that size_t and ssize_t are defined.
3324         [08e3132dbf4f]
3325
3326         * plugins/sudoers/Makefile.in:
3327         Install sudoers file from the build dir not hte src dir.
3328         [ca89e962dbf4]
3329
3330 2010-08-26  Todd C. Miller  <Todd.Miller@courtesan.com>
3331
3332         * plugins/sudoers/set_perms.c:
3333         If runas_pw changes, reset the stashed runas aux group vector.
3334         Otherwise, if runas_default is set in a per-command Defaults
3335         statement, the command runs with root's aux group vector (i.e. the
3336         one that was used when locating the command).
3337         [24f9107cedd2]
3338
3339         * plugins/sudoers/Makefile.in:
3340         Add target to generate sudoers file Remove generated sudoers file as
3341         part of distclean
3342         [fb7422e90f03]
3343
3344 2010-08-24  Todd C. Miller  <Todd.Miller@courtesan.com>
3345
3346         * src/exec.c:
3347         When not logging I/O install a handler for SIGCONT and deliver it to
3348         the command upon resume. Fixes bugzilla #431
3349         [495dce52a5aa]
3350
3351 2010-08-21  Todd C. Miller  <Todd.Miller@courtesan.com>
3352
3353         * plugins/sudoers/sudoers.h:
3354         g/c unused auth_pw extern definition
3355         [40eb7477ba17]
3356
3357         * plugins/sudoers/check.c, plugins/sudoers/sudoers.c:
3358         Move get_auth() into check.c where it is actually used.
3359         [e31db0ce3a61]
3360
3361 2010-08-20  Todd C. Miller  <Todd.Miller@courtesan.com>
3362
3363         * common/lbuf.c:
3364         Convert a remaining puts() and putchar() to use the output function.
3365         [d69e363a506b]
3366
3367         * plugins/sudoers/plugin_error.c:
3368         Plug memory leak
3369         [68895469ea8d]
3370
3371 2010-08-18  Todd C. Miller  <Todd.Miller@courtesan.com>
3372
3373         * plugins/sudoers/env.c:
3374         Set dupcheck to TRUE when setting new HOME value if !env_reset but
3375         always_set_home is true. Prevents a duplicate HOME in the
3376         environment (old value plus the new one) introduced in f421f8827340.
3377         [9ca19183794f]
3378
3379         * configure, configure.in, plugins/sudoers/sudoers,
3380         plugins/sudoers/sudoers.in:
3381         Substitute sysconfdir in the installed sudoers file to get the
3382         correct path for sudoers.d.
3383         [86072b6cd55d]
3384
3385 2010-08-17  Todd C. Miller  <Todd.Miller@courtesan.com>
3386
3387         * src/get_pty.c:
3388         Fix typo that prevented compilation on Irix; Friedrich Haubensak
3389         [b48be51b65fc]
3390
3391 2010-08-16  Todd C. Miller  <Todd.Miller@courtesan.com>
3392
3393         * MANIFEST, common/Makefile.in, common/aix.c, common/alloc.c,
3394         common/atobool.c, common/fileops.c, common/fmt_string.c,
3395         common/lbuf.c, common/list.c, common/term.c, common/zero_bytes.c,
3396         compat/Makefile.in, compat/closefrom.c, compat/fnmatch.c,
3397         compat/getcwd.c, compat/getgrouplist.c, compat/getline.c,
3398         compat/getprogname.c, compat/glob.c, compat/isblank.c,
3399         compat/memrchr.c, compat/mksiglist.c, compat/mkstemps.c,
3400         compat/nanosleep.c, compat/setenv.c, compat/snprintf.c,
3401         compat/strlcat.c, compat/strlcpy.c, compat/strsignal.c,
3402         compat/unsetenv.c, compat/utimes.c, include/compat.h,
3403         include/missing.h, plugins/sample/sample_plugin.c,
3404         plugins/sample_group/getgrent.c,
3405         plugins/sample_group/sample_group.c, plugins/sudoers/Makefile.in,
3406         plugins/sudoers/audit.c, plugins/sudoers/boottime.c,
3407         plugins/sudoers/getdate.c, plugins/sudoers/getdate.y,
3408         plugins/sudoers/linux_audit.c, plugins/sudoers/plugin_error.c,
3409         plugins/sudoers/sudoers.h, plugins/sudoers/sudoreplay.c,
3410         plugins/sudoers/timestr.c, src/Makefile.in, src/error.c, src/sesh.c,
3411         src/sudo.h, src/sudo_noexec.c, src/ttysize.c:
3412         Merge compat.h and missing.h into missing.h
3413         [572909ae9716]
3414
3415 2010-08-14  Todd C. Miller  <Todd.Miller@courtesan.com>
3416
3417         * plugins/sudoers/auth/pam.c:
3418         If the user hits ^C while a password is being read, error out before
3419         reading any further passwords in the pam conversation function.
3420         Otherwise, if multiple PAM auth methods are required, the user will
3421         have to hit ^C for each one.
3422         [23782631748c]
3423
3424 2010-08-12  Todd C. Miller  <Todd.Miller@courtesan.com>
3425
3426         * plugins/sudoers/check.c:
3427         Update comment
3428         [a5296cb3a20a]
3429
3430         * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod:
3431         Document sudo_conv_t function and sudo_printf_t return values.
3432         [745c0017814c]
3433
3434         * src/conversation.c:
3435         Make _sudo_printf return the number of characters printed on success
3436         like printf(3).
3437         [8eeefe8d7e77]
3438
3439 2010-08-10  Todd C. Miller  <Todd.Miller@courtesan.com>
3440
3441         * plugins/sudoers/sudoers.c:
3442         sudoers.h includes sudo_plugin.h for us
3443         [cabe68e07807]
3444
3445         * common/Makefile.in, common/gettime.c, compat/mkstemps.c,
3446         plugins/sudoers/sudoers.h, plugins/sudoers/visudo.c, src/sudo.h,
3447         src/sudo_edit.c:
3448         Use gettimeofday() directly instead of via the gettime() wrapper.
3449         [7490426c99ae]
3450
3451         * common/gettime.c, compat/snprintf.c, compat/strcasecmp.c,
3452         compat/strerror.c, config.h.in, configure, configure.in,
3453         include/compat.h, include/missing.h, plugins/sudoers/logging.c,
3454         plugins/sudoers/sudoers.c, plugins/sudoers/visudo.c, src/sudo.c:
3455         Remove some obsolete configure tests, ancient Unix systems are no
3456         longer supported.
3457         [2be6218c3a36]
3458
3459 2010-08-07  Todd C. Miller  <Todd.Miller@courtesan.com>
3460
3461         * sudo.pp:
3462         Set pp_kit_version and strip off patch level
3463         [aacfda1b676d]
3464
3465         * sudo.pp:
3466         Better handling of versions with a patchlevel. For rpm and deb, use
3467         the patchlevel+1 as the release. For AIX, use the patchlevel as the
3468         4th version number. For the rest, just leave the patchlevel in the
3469         version string.
3470         [638bd35f2346]
3471
3472 2010-08-06  Todd C. Miller  <Todd.Miller@courtesan.com>
3473
3474         * plugins/sudoers/auth/sudo_auth.c:
3475         For non-standalone auth methods, stop reading the password if the
3476         user enters ^C at the prompt.
3477         [82c2911bb264]
3478
3479         * configure, configure.in, plugins/sudoers/Makefile.in,
3480         plugins/sudoers/auth/passwd.c, plugins/sudoers/auth/secureware.c,
3481         plugins/sudoers/auth/sudo_auth.c, plugins/sudoers/auth/sudo_auth.h,
3482         plugins/sudoers/pwutil.c:
3483         No need to look up shadow password unless we are doing password-
3484         style authentication. This moves the shadow password lookup to the
3485         auth functions that need it.
3486         [ba9e3eba2b72]
3487
3488         * plugins/sudoers/sudoers.c:
3489         Retain final passwd/group refs until the policy close() function.
3490         Note that this doesn't get called in all cases so putting this in a
3491         cleanup function is probably better.
3492         [bbe214cb4119]
3493
3494         * plugins/sudoers/check.c:
3495         Fix mismerge
3496         [395115f89dd6]
3497
3498         * plugins/sudoers/check.c:
3499         When removing/resetting the timestamp file ignore the tty ticket
3500         contents.
3501         [b709f5667a0b]
3502
3503         * plugins/sudoers/sudoers.c:
3504         delref sudo_user.pw, runas_pw and runas_gr immediately before we
3505         return.
3506         [4d67d15dfd3b]
3507
3508 2010-08-04  Todd C. Miller  <Todd.Miller@courtesan.com>
3509
3510         * plugins/sudoers/check.c, plugins/sudoers/ldap.c,
3511         plugins/sudoers/match.c, plugins/sudoers/pwutil.c,
3512         plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h:
3513         Reference count cached passwd and group structs. The cache holds
3514         one reference itself and another is added by sudo_getgr{gid,nam} and
3515         sudo_getpw{uid,nam}. The final ref on the runas and user passwd and
3516         group structs are persistent for now.
3517         [e544685523c3]
3518
3519         * doc/UPGRADE:
3520         fix typo
3521         [e32f2d35e6c9]
3522
3523 2010-08-03  Todd C. Miller  <Todd.Miller@courtesan.com>
3524
3525         * plugins/sudoers/check.c:
3526         Do not produce a warning for "sudo -k" if the ticket file does not
3527         exist.
3528         [1598f6061b75]
3529
3530         * plugins/sudoers/pwutil.c:
3531         Instead of caching struct passwd and struct group in the red-black
3532         tree, store a struct cache_item which includes both the key and
3533         datum. This allows us to user the actual name that was looked up as
3534         the key instead of the contents of struct passwd or struct group.
3535         This matters because the name in the database may not match what we
3536         looked up, due either to case folding or truncation (historically at
3537         8 characters). Also mark the disabled calls to sudo_freepwcache()
3538         and sudo_freegrcache() as broken since we use cached data for things
3539         like set_perms() and the logging functions. Fixing this would
3540         require making a copy of the structs for user and runas or adding a
3541         reference count (better).
3542         [225d4a22f60e]
3543
3544         * plugins/sudoers/Makefile.in:
3545         Fix path to mkinstalldirs
3546         [b4968379b12d]
3547
3548         * plugins/sudoers/check.c, plugins/sudoers/logging.c,
3549         plugins/sudoers/sudoreplay.c, plugins/sudoers/visudo.c,
3550         src/exec_pty.c, src/get_pty.c, src/tgetpass.c:
3551         Quiet gcc warnings on glibc systems that use warn_unused_result for
3552         write(2) and others.
3553         [c99f138960e0]
3554
3555 2010-08-02  Todd C. Miller  <Todd.Miller@courtesan.com>
3556
3557         * plugins/sudoers/toke.c, plugins/sudoers/toke.l:
3558         Add %option noinput
3559         [72b9cd49b4f1]
3560
3561         * aclocal.m4, configure, configure.in:
3562         Add cross-compile defaults for remaining AC_TRY_RUN usage. Also add
3563         back getgroups() check since AC_FUNC_GETGROUPS defaults to "no" when
3564         cross-compiling.
3565         [e385c176d0ee]
3566
3567 2010-07-31  Todd C. Miller  <Todd.Miller@courtesan.com>
3568
3569         * aclocal.m4, compat/snprintf.c, config.h.in, configure, configure.in:
3570         Use AC_CHECK_MEMBER in SUDO_SOCK_SA_LEN Use AC_TYPE_LONG_LONG_INT
3571         and AC_CHECK_SIZEOF([long int]) instead of rolling our own.
3572         [cf3e60d9c440]
3573
3574 2010-07-29  Todd C. Miller  <Todd.Miller@courtesan.com>
3575
3576         * pp:
3577         Update to latest version
3578         [32f93be33961]
3579
3580 2010-07-28  Todd C. Miller  <Todd.Miller@courtesan.com>
3581
3582         * sudo.pp:
3583         Let pp determine pp_aix_version itself.
3584         [7cf0245d84ed]
3585
3586         * INSTALL, config.h.in, configure, configure.in, mkpkg,
3587         plugins/sudoers/sudoers.c:
3588         Add support for Ubuntu admin flag file and enable it when building
3589         Ubuntu packages.
3590         [00e27cff2dfb]
3591
3592         * plugins/sudoers/sudoers, sudo.pp:
3593         Add commented out SuSE-like targetpw settings
3594         [4605d47b7413]
3595
3596         * configure, configure.in:
3597         Only try to use +DAportable for non-GCC on hppa
3598         [75d0f284ccf7]
3599
3600         * configure, configure.in:
3601         Prevent configure from adding the -g flag unless in devel mode
3602         [b1fd3f8d45c0]
3603
3604 2010-07-27  Todd C. Miller  <Todd.Miller@courtesan.com>
3605
3606         * sudo.pp:
3607         Go back to sudo-flavor to match existing packages and only use an
3608         underscore for those that need it.
3609         [d737069d1e1c]
3610
3611         * sudo.pp:
3612         Use sudo_$flavor instead of sudo-$flavor since that causes the least
3613         amount of trouble for the various package managers.
3614         [71f547af35fc]
3615
3616         * mkpkg:
3617         Fix handling of the ldap flavor Remove destdir unless --debug was
3618         specified Make distclean before running configure if there is a
3619         Makefile present
3620         [6316f08de7d3]
3621
3622         * sudo.pp:
3623         Add back include file.
3624         [195627bf68b8]
3625
3626         * mkpkg:
3627         Pass extra args on to configure on HP-UX, if we don't have the HP C
3628         compiler, disable zlib to prevent gcc from finding it in
3629         /usr/local/lib.
3630         [473efa0e2bac]
3631
3632         * mkpkg:
3633         Use the HP ANSI C compiler on HP-UX if possible
3634         [fb249b6b175d]
3635
3636         * plugins/sudoers/sudoreplay.c:
3637         Some getline() implementations (FreeBSD 8.0) do not ignore the
3638         length pointer when the line pointer is NULL as they should.
3639         [2410a1a3543c]
3640
3641         * plugins/sudoers/sudoreplay.c:
3642         Don't need to check for *cp being non-zero, isdigit() will do that.
3643         [7df11ea8a487]
3644
3645         * plugins/sudoers/sudoreplay.c:
3646         Add setlocale() so the command line arguments that use floating
3647         point work in different locales. Since sudo now logs the timing
3648         data in the C locale we must Parse the seconds in the timing file
3649         manually instead of using strtod(). Furthermore, sudo 1.7.3 logged
3650         the number of seconds with the user's locale so if the decimal point
3651         is not '.' try using the locale-specific version.
3652         [4d385765f23b]
3653
3654         * src/exec.c:
3655         Do I/O logging in the C locale so the floating point numbers in the
3656         timing file are not locale-dependent.
3657         [5961cec044ec]
3658
3659         * plugins/sudoers/sudoreplay.c:
3660         Use errorx() not error() for thingsthat don't set errno.
3661         [0fe5e692af84]
3662
3663 2010-07-26  Todd C. Miller  <Todd.Miller@courtesan.com>
3664
3665         * pp:
3666         Better support for 1.2.3 style versions in Tru64 kits
3667         [997c549bb777]
3668
3669         * sudo.pp:
3670         Add Tru64 kit support
3671         [e273a954f981]
3672
3673         * pp:
3674         Remove apparently unnecessary use of sudo
3675         [be8840d85125]
3676
3677         * Makefile.in, plugins/sudoers/Makefile.in:
3678         Create timedir as part of install-dirs target.
3679         [c736bc2fb14f]
3680
3681         * src/exec_pty.c:
3682         Handle ENXIO from read/write which can occur when reading/writing a
3683         pty that has gone away.
3684         [fa2e8059879f]
3685
3686         * plugins/sudoers/pwutil.c:
3687         sudo_pwdup() was not expanding an empty pw_shell to _PATH_BSHELL
3688         [3a045475d5ee]
3689
3690         * mkpkg:
3691         platform is a pp flag not a variable
3692         [12eba39a47c1]
3693
3694         * Makefile.in, mkpkg, sudo.pp:
3695         Add simple arg parsing for mkpkg so we can set debug, flavor or
3696         platform.
3697         [ada839fe252d]
3698
3699         * pp:
3700         Make rpm backend work on AIX 5.x
3701         [549a76d11393]
3702
3703 2010-07-25  Todd C. Miller  <Todd.Miller@courtesan.com>
3704
3705         * plugins/sudoers/sudoers:
3706         Add commented out Defaults entry for log_output
3707         [7e67d7588900]
3708
3709 2010-07-23  Todd C. Miller  <Todd.Miller@courtesan.com>
3710
3711         * doc/Makefile.in:
3712         Remove sudo docdir completely
3713         [dce8e82878ef]
3714
3715         * doc/sample.sudo.conf:
3716         Add sample sudo.conf
3717         [aafdba3fc411]
3718
3719 2010-07-22  Todd C. Miller  <Todd.Miller@courtesan.com>
3720
3721         * plugins/sudoers/Makefile.in:
3722         Add PACKAGE_TARNAME for docdir
3723         [930c92b8f8f0]
3724
3725 2010-07-23  Todd C. Miller  <Todd.Miller@courtesan.com>
3726
3727         * src/Makefile.in:
3728         Pass install-sh -b~ here too.
3729         [c3f5eb446c38]
3730
3731         * plugins/sample/Makefile.in, plugins/sample_group/Makefile.in,
3732         plugins/sudoers/Makefile.in, src/Makefile.in:
3733         Install binary files with -b~ to make a backup. Fixes "text file
3734         busy" error on HP-UX during install.
3735         [81f306f54f8c]
3736
3737         * install-sh:
3738         "mv -f" on HP-UX doesn't unlink the destination first so add an
3739         explicit rm before moving the temporary into place.
3740         [fb719a79582d]
3741
3742         * configure, configure.in:
3743         Some more ${foo} -> $(foo) conversion for consistent Makefiles.
3744         [0aa098770074]
3745
3746         * doc/Makefile.in, plugins/sudoers/Makefile.in:
3747         Install sudoers2ldif in the doc dir
3748         [33ac3b53d7f5]
3749
3750 2010-07-22  Todd C. Miller  <Todd.Miller@courtesan.com>
3751
3752         * pathnames.h.in:
3753         Add missing include of maillock.h for Solaris
3754         [5a58883be23a]
3755
3756         * NEWS, configure, configure.in, doc/TROUBLESHOOTING, doc/UPGRADE,
3757         doc/sample.syslog.conf, doc/sudoers.cat:
3758         Change the default syslog facility from local2 to authpriv (or auth
3759         if the operating system doesn't support authpriv).
3760         [3b70ba514f49]
3761
3762         * Makefile.in, sudo.pp:
3763         Install sudoers as /etc/sudoers on RPM and debian systems where the
3764         package manager will not replace a user-modified configuration file.
3765         This fixes upgrades from the vendor sudo packages.
3766         [d886b6d60b5b]
3767
3768         * pp:
3769         RPM: use %config(noreplace) instead of %config for volatile This
3770         results in the new file being installed with a .rpmnew suffix
3771         instead of the file being replaced and the old one renamed with a
3772         .rpmsave suffix.
3773         [58be2119f8e8]
3774
3775 2010-07-21  Todd C. Miller  <Todd.Miller@courtesan.com>
3776
3777         * compat/mkstemps.c, plugins/sudoers/boottime.c:
3778         Include time.h for struct timeval
3779         [ddf8b04f0276]
3780
3781         * src/exec_pty.c:
3782         The return value of strsignal() may be const and should be treated
3783         as const regardless.
3784         [620074ae1e77]
3785
3786         * doc/sudoers.cat, doc/sudoers.man.in, doc/sudoers.pod:
3787         Mention that 127.0.0.1 will not match, nor will localhost unless
3788         that is the actual host name.
3789         [8b574122eb8f]
3790
3791         * MANIFEST, NEWS, README, WHATSNEW, doc/Makefile.in, doc/UPGRADE:
3792         Rename WHATSNEW -> NEWS
3793         [d1a2c8c47d89]
3794
3795         * pp:
3796         Updated pp with latest patches
3797         [98e16b9b8f62]
3798
3799         * WHATSNEW:
3800         Sync with 1.7.4
3801         [65ac4dafeef7]
3802
3803         * doc/UPGRADE, doc/sudoers.cat, doc/sudoers.man.in, doc/sudoers.pod,
3804         plugins/sudoers/sudoers:
3805         Add commented out line to add HOME to env_keep and add a warning to
3806         the note about the HOME change in UPGRADE.
3807         [0d6a775bb6c8]
3808
3809 2010-07-20  Todd C. Miller  <Todd.Miller@courtesan.com>
3810
3811         * plugins/sudoers/sudoreplay.c:
3812         Add LINE_MAX define for those without it.
3813         [446d9dbe7859]
3814
3815         * INSTALL, WHATSNEW, config.h.in, configure, configure.in,
3816         doc/UPGRADE, doc/sudoers.cat, doc/sudoers.man.in, doc/sudoers.pod,
3817         plugins/sudoers/defaults.c:
3818         The tty_tickets option is now on by default.
3819         [a01c48206d80]
3820
3821         * WHATSNEW:
3822         Mention that AIX authdb support has been fixed.
3823         [87bd7f4eba6a]
3824
3825         * common/aix.c:
3826         setauthdb() only sets the "old" registry if it was set by a previous
3827         call to setauthdb(). To restore the original value, passing NULL
3828         (or an empty string) to setauthdb() is sufficient.
3829         [470da190a254]
3830
3831 2010-07-19  Todd C. Miller  <Todd.Miller@courtesan.com>
3832
3833         * WHATSNEW, doc/UPGRADE, doc/sudo.cat, doc/sudo.man.in, doc/sudo.pod,
3834         doc/sudoers.cat, doc/sudoers.man.in, doc/sudoers.pod,
3835         plugins/sudoers/env.c:
3836         Reset HOME when env_reset is enabled unless it is in env_keep
3837         [f421f8827340]
3838
3839         * doc/sudoers.cat, doc/sudoers.man.in, doc/sudoers.pod:
3840         The default for set_logname has been "true" for some time now.
3841         [f489da5674c3]
3842
3843         * plugins/sudoers/boottime.c:
3844         Add missing include of time.h
3845         [624d7014932f]
3846
3847         * plugins/sudoers/logging.c:
3848         Fix check for dup2() return value.
3849         [140ea2d50d20]
3850
3851         * plugins/sudoers/env.c:
3852         Add PYTHONUSERBASE to initial_badenv_table
3853         [3149aae5b12c]
3854
3855         * plugins/sudoers/visudo.c:
3856         Treat an unknown defaults entry as a parse error.
3857         [b3ebad73efb2]
3858
3859         * plugins/sudoers/defaults.c, plugins/sudoers/sudoers.c:
3860         Check return value of setdefs() but don't stop setting defaults if
3861         we hit an unknown one.
3862         [945e752239ab]
3863
3864         * WHATSNEW, aclocal.m4, config.h.in, configure, configure.in,
3865         doc/sudo.cat, doc/sudo.man.in, doc/sudo.pod, doc/sudoers.cat,
3866         doc/sudoers.man.in, doc/sudoers.pod, pathnames.h.in,
3867         plugins/sudoers/env.c:
3868         If env_reset is enabled, set the MAIL environment variable based on
3869         the target user unless MAIL is explicitly preserved in sudoers.
3870         [a1b03e2e0e96]
3871
3872 2010-07-17  Todd C. Miller  <Todd.Miller@courtesan.com>
3873
3874         * pp:
3875         decode debian code names
3876         [8741280d9960]
3877
3878         * WHATSNEW:
3879         fix typo
3880         [a8a19451110b]
3881
3882 2010-07-16  Todd C. Miller  <Todd.Miller@courtesan.com>
3883
3884         * WHATSNEW:
3885         Merge with 1.7.4
3886         [9348fa7e15b8]
3887
3888         * src/sudo.c:
3889         Restore RLIMIT_NPROC after the uid switch if it appears that
3890         runas_setup() did not do it for us. Fixes a bash script problem on
3891         SuSE with RLIMIT_NPROC set to RLIM_INFINITY.
3892         [786fb272e5fd]
3893
3894 2010-07-15  Todd C. Miller  <Todd.Miller@courtesan.com>
3895
3896         * mkpkg, pp, sudo.pp:
3897         Restore the dot removal in the os version reported by polypkg. Adapt
3898         mkpkg and sudo.pp to the change.
3899         [dcafdd53b88f]
3900
3901 2010-07-16  Todd C. Miller  <Todd.Miller@courtesan.com>
3902
3903         * INSTALL:
3904         document --with-pam-login
3905         [ea93e4c6873c]
3906
3907         * doc/sudoers.cat, doc/sudoers.man.in, doc/sudoers.pod:
3908         The tag is NOSETENV, not UNSETENV. From Petr Uzel.
3909         [2ac90d8de36e]
3910
3911 2010-07-15  Todd C. Miller  <Todd.Miller@courtesan.com>
3912
3913         * sudo.pp:
3914         Include flavor in solaris package name
3915         [e605f6364c9f]
3916
3917         * mkpkg:
3918         Older shells don't support IFS= so set explictly to space, tab,
3919         newline.
3920         [7773960bc8a0]
3921
3922         * mkpkg:
3923         Use '=' not '==' in test
3924         [c99d42bc48e6]
3925
3926         * mkpkg:
3927         Fix typo that prevented debian from matching
3928         [84421078fcb7]
3929
3930         * mkpkg:
3931         Add missing prefix setting for debian
3932         [6466f23de4aa]
3933
3934         * sudo.pp:
3935         Use tab indents to reduce the chance of problem with <<- Fix the
3936         debian %set section, pp does not set pp_deb_distro Uncomment %sudo
3937         line in sudoers for debian Uncomment some env_keep lines for RHEL,
3938         SLES and debian to more closely match the vendor sudoers files.
3939         Add /etc/pam.d to %files Remove the /etc/sudo-ldap.conf symlink on
3940         debian for ldap flavor
3941         [c5b49feb1a0c]
3942
3943         * plugins/sudoers/sudoers:
3944         Add commented out env_keep entries, sample Aliases and a %sudo line
3945         for debian.
3946         [387719e52d0f]
3947
3948         * configure, configure.in:
3949         Move zlib check later on in the script to avoid a strange shell
3950         problem on SLES11.
3951         [1a3153bb1291]
3952
3953         * configure.in:
3954         Remove check for egrep; configure has its own
3955         [a3b9d98cb5d2]
3956
3957 2010-07-14  Todd C. Miller  <Todd.Miller@courtesan.com>
3958
3959         * mkpkg:
3960         Enable zlib for linux distros
3961         [8fa51a1405a4]
3962
3963         * mkpkg:
3964         Add ldap flavor to default build
3965         [97644f5a555f]
3966
3967         * mkpkg, sudo.pp:
3968         Simplify rpm linux distro settings
3969         [b9dcf10cdf20]
3970
3971         * aclocal.m4, configure, configure.in, doc/UPGRADE, doc/sudoers.cat:
3972         Move time stamp files from /var/run/sudo to /var/{db,lib,adm}/sudo.
3973         [2c549c1acde9]
3974
3975         * Makefile.in:
3976         Fix ChangeLog creation from build dir
3977         [3d0c7904f173]
3978
3979         * plugins/sudoers/sudoers.c:
3980         Handle getcwd() failure.
3981         [aef7bef87394]
3982
3983         * doc/Makefile.in, mkpkg, sudo.pp:
3984         Add ldap "flavor" for debian, controlled by the SUDO_FLAVOR
3985         environment variable.
3986         [be6ed611b7a8]
3987
3988         * sudo.pp:
3989         Create sudo group on debian
3990         [6ed6c032042e]
3991
3992         * mkpkg, sudo.pp:
3993         Add debian 4/5/6 and use the dot when doing version matches
3994         [6bcb664d1f4f]
3995
3996         * aclocal.m4, configure:
3997         Use a loop when searching for mv, sendmail and sh
3998         [d5e9369f8d13]
3999
4000         * doc/sudoers.cat, doc/sudoers.man.in, doc/sudoers.pod:
4001         Remove spurious "and"; from debian
4002         [a21e6f7c5b99]
4003
4004         * aclocal.m4, configure, configure.in, doc/sudoers.cat,
4005         doc/sudoers.man.in, doc/sudoers.pod, doc/visudo.cat,
4006         doc/visudo.man.in, doc/visudo.pod:
4007         Substitute the value of EDITOR into the sudoers and visudo manuals.
4008         [cd79e587dd7f]
4009
4010 2010-07-13  Todd C. Miller  <Todd.Miller@courtesan.com>
4011
4012         * mkpkg, pp, sudo.pp:
4013         Initial support for debian 4.0
4014         [ac6707915fa8]
4015
4016         * mkpkg:
4017         Some platforms need -fPIE instead of -fpie
4018         [fd6be19e5bc2]
4019
4020         * plugins/sudoers/auth/pam.c:
4021         Only set PAM_RHOST for Solaris, where it is needed to avoid a bug.
4022         On Linux it causes a DNS lookup via libaudit.
4023         [1e10105ade5b]
4024
4025         * MANIFEST:
4026         Update MANIFEST to match packaging changes
4027         [ef86ee557b5b]
4028
4029         * sudo.psf:
4030         We now use pp to generate HP-UX packages
4031         [f7aa8da7844e]
4032
4033         * INSTALL.binary, plugins/sudoers/Makefile.binary.in:
4034         Remove vestiges of old binary package bits.
4035         [afffd005452f]
4036
4037         * INSTALL, Makefile.in, common/Makefile.in, compat/Makefile.in,
4038         doc/Makefile.in, include/Makefile.in, plugins/sample/Makefile.in,
4039         plugins/sample_group/Makefile.in, plugins/sudoers/Makefile.in,
4040         src/Makefile.in:
4041         install-man -> install-doc
4042         [99b5fa05567c]
4043
4044         * Makefile.in, doc/Makefile.in, include/Makefile.in, mkpkg,
4045         plugins/sudoers/Makefile.in, pp, src/Makefile.in, sudo.pp:
4046         Use http://rc.quest.com/topics/polypkg/ for packaging
4047         [5ca8eb75b223]
4048
4049         * install-sh:
4050         Just ignore the -c option, it is the default Add support for -d
4051         option
4052         [a8b6b0a131e8]
4053
4054 2010-07-12  Todd C. Miller  <Todd.Miller@courtesan.com>
4055
4056         * pathnames.h.in, plugins/sudoers/env.c, plugins/sudoers/logging.c:
4057         Use _PATH_STDPATH instead of _PATH_DEFPATH
4058         [137fa911908e]
4059
4060         * plugins/sudoers/Makefile.in, src/Makefile.in:
4061         Do not strip binaries.
4062         [20166e287176]
4063
4064         * INSTALL, configure, configure.in:
4065         Add --insults=disabled configure option to allow people to build in
4066         insult support but have the insults disabled unless explicitly
4067         enabled in sudoers.
4068         [523b8c552e90]
4069
4070         * compat/mkstemps.c:
4071         Add prototype for gettime()
4072         [275eee40473b]
4073
4074         * config.h.in, configure, configure.in, plugins/sudoers/auth/pam.c,
4075         plugins/sudoers/env.c, plugins/sudoers/sudoers.c,
4076         plugins/sudoers/sudoers.h:
4077         Add support for a sudo-i pam.d file to be used for "sudo -i".
4078         Adapted from a RedHat patch.
4079         [06d34f16520b]
4080
4081 2010-07-09  Todd C. Miller  <Todd.Miller@courtesan.com>
4082
4083         * include/missing.h:
4084         Fix mkstemps() prototype
4085         [2421841e815b]
4086
4087         * MANIFEST, compat/Makefile.in, compat/mkstemp.c, compat/mkstemps.c,
4088         config.h.in, configure, configure.in, include/missing.h,
4089         src/sudo_edit.c:
4090         Use mkstemps() instead of mkstemp() in sudoedit. This allows
4091         sudoedit to preserve the file extension (if any) which may be used
4092         by the editor (like emacs) to choose the editing mode.
4093         [d33172d2c086]
4094
4095 2010-07-08  Todd C. Miller  <Todd.Miller@courtesan.com>
4096
4097         * doc/sudoers.ldap.cat, doc/sudoers.ldap.man.in, doc/sudoers.ldap.pod,
4098         plugins/sudoers/ldap.c:
4099         TLS_CACERT is now an alias for TLS_CACERTFILE. OpenLDAP uses
4100         TLS_CACERT, not TLS_CACERTFILE in its ldap.conf. Other LDAP client
4101         code, such as nss_ldap, uses TLS_CACERTFILE. Also document why you
4102         should avoid disabling TLS_CHECKPEER is possible.
4103         [196622436212]
4104
4105 2010-07-07  Todd C. Miller  <Todd.Miller@courtesan.com>
4106
4107         * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod:
4108         Make sudo_plugin format a bit more like a man page
4109         [048d596e32da]
4110
4111         * plugins/sudoers/toke.c, plugins/sudoers/toke.l:
4112         Add suport for negated user/host/command lists in a Defaults entry.
4113         E.g. Defaults:!baduser noexec
4114         [d41112cf0342]
4115
4116         * Makefile.in, common/Makefile.in, compat/Makefile.in,
4117         doc/Makefile.in, include/Makefile.in, plugins/sample/Makefile.in,
4118         plugins/sample_group/Makefile.in, plugins/sudoers/Makefile.in,
4119         src/Makefile.in:
4120         Add uninstall target
4121         [fea66ebf136a]
4122
4123         * common/Makefile.in, compat/Makefile.in:
4124         Remove unused AR, SED and RANLIB variables
4125         [2ff9928bfdb3]
4126
4127         * Makefile.in:
4128         Do not install sample plugins
4129         [5443b87bd1c3]
4130
4131 2010-07-06  Todd C. Miller  <Todd.Miller@courtesan.com>
4132
4133         * MANIFEST, aclocal.m4, compat/setenv.c, compat/unsetenv.c, configure,
4134         configure.in, plugins/sudoers/env.c:
4135         Now that sudoers is a dynamically loaded module we cannot override
4136         the libc environment functions because the symbols may already have
4137         been resolved via libc. Remove getenv/putenv/setenv/unsetenv
4138         replacements from sudoers and add replacements for setenv/unsetenv
4139         for systems that lack them.
4140         [3f2b43cb8851]
4141
4142         * configure, configure.in, plugins/sudoers/Makefile.in:
4143         Link testsudoers with -ldl when needed
4144         [f79606f9fcd7]
4145
4146         * plugins/sample_group/plugin_test.c:
4147         Remove unused time.h and add limits.h for PATH_MAX
4148         [3f5d0074d621]
4149
4150         * doc/sudoers.ldap.pod:
4151         Fix typo.
4152         [bc855fd57397]
4153
4154 2010-07-05  Todd C. Miller  <Todd.Miller@courtesan.com>
4155
4156         * plugins/sample_group/plugin_test.c:
4157         Do not depend on strlcpy/strlcat
4158         [6e7e2b5af051]
4159
4160         * plugins/sample_group/plugin_test.c:
4161         Standalone test driver for sudoers group plugin.
4162         [eb1235fc3b8e]
4163
4164 2010-07-02  Todd C. Miller  <Todd.Miller@courtesan.com>
4165
4166         * plugins/sudoers/group_plugin.c, src/load_plugins.c:
4167         Use RTLD_LAZY instead of RTLD_NOW; was using RTLD_NOW as a debugging
4168         aid.
4169         [2a34e616229b]
4170
4171         * plugins/sample_group/sample_group.c:
4172         Fix style nit in function declarations
4173         [ab87c7c76bf9]
4174
4175         * doc/sudoers.cat, doc/sudoers.man.in, doc/sudoers.pod:
4176         Document group_plugin syntax.
4177         [ed1faf72ddcb]
4178
4179         * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod:
4180         Document the sudoers group plugin.
4181         [f19a62dc8cfc]
4182
4183         * INSTALL, MANIFEST, Makefile.in, config.h.in, configure,
4184         configure.in, doc/LICENSE, doc/license.pod, include/sudo_plugin.h,
4185         plugins/sample_group/Makefile.in, plugins/sample_group/getgrent.c,
4186         plugins/sample_group/sample_group.c, plugins/sudoers/Makefile.in,
4187         plugins/sudoers/def_data.c, plugins/sudoers/def_data.h,
4188         plugins/sudoers/def_data.in, plugins/sudoers/group_plugin.c,
4189         plugins/sudoers/match.c, plugins/sudoers/nonunix.h,
4190         plugins/sudoers/set_perms.c, plugins/sudoers/sudoers.c,
4191         plugins/sudoers/sudoers.h, plugins/sudoers/testsudoers.c,
4192         plugins/sudoers/vasgroups.c, plugins/sudoers/visudo.c, src/sudo.c:
4193         Replace built-in non-unix group support with a sudoers group plugin.
4194         Include a sample plugin that can read Unix-format group files.
4195         [8fc58ce0b1a8]
4196
4197         * configure, configure.in, src/load_plugins.c:
4198         Add a trailing slash to _PATH_SUDO_PLUGIN_DIR to simplify usage.
4199         [5c491dddb8ef]
4200
4201 2010-07-01  Todd C. Miller  <Todd.Miller@courtesan.com>
4202
4203         * doc/sudo.cat, doc/sudo.man.in, doc/sudo.pod, doc/sudoers.cat,
4204         doc/sudoers.man.in, doc/sudoers.pod:
4205         Move sudoers-specific bits out of sudo(8) and into sudoers(5)
4206         [e8a5a5830cfe]
4207
4208         * aclocal.m4, configure, configure.in:
4209         Substitute @io_logdir@ for the sudoers I/O log directory.
4210         [21a75ca7b0ab]
4211
4212 2010-06-29  Todd C. Miller  <Todd.Miller@courtesan.com>
4213
4214         * MANIFEST, common/Makefile.in, common/aix.c, common/alloc.c,
4215         common/atobool.c, common/fileops.c, common/fmt_string.c,
4216         common/lbuf.c, common/term.c, compat/fnmatch.c, compat/getcwd.c,
4217         compat/getgrouplist.c, compat/getline.c, compat/glob.c,
4218         compat/snprintf.c, config.h.in, configure, configure.in,
4219         include/fileops.h, plugins/sample/sample_plugin.c,
4220         plugins/sudoers/alias.c, plugins/sudoers/auth/afs.c,
4221         plugins/sudoers/auth/aix_auth.c, plugins/sudoers/auth/bsdauth.c,
4222         plugins/sudoers/auth/dce.c, plugins/sudoers/auth/fwtk.c,
4223         plugins/sudoers/auth/kerb4.c, plugins/sudoers/auth/kerb5.c,
4224         plugins/sudoers/auth/pam.c, plugins/sudoers/auth/passwd.c,
4225         plugins/sudoers/auth/rfc1938.c, plugins/sudoers/auth/secureware.c,
4226         plugins/sudoers/auth/securid.c, plugins/sudoers/auth/securid5.c,
4227         plugins/sudoers/auth/sia.c, plugins/sudoers/auth/sudo_auth.c,
4228         plugins/sudoers/boottime.c, plugins/sudoers/check.c,
4229         plugins/sudoers/defaults.c, plugins/sudoers/env.c,
4230         plugins/sudoers/find_path.c, plugins/sudoers/getdate.c,
4231         plugins/sudoers/getdate.y, plugins/sudoers/getspwuid.c,
4232         plugins/sudoers/goodpath.c, plugins/sudoers/gram.c,
4233         plugins/sudoers/gram.y, plugins/sudoers/interfaces.c,
4234         plugins/sudoers/iolog.c, plugins/sudoers/ldap.c,
4235         plugins/sudoers/logging.c, plugins/sudoers/match.c,
4236         plugins/sudoers/parse.c, plugins/sudoers/pwutil.c,
4237         plugins/sudoers/set_perms.c, plugins/sudoers/sudo_nss.c,
4238         plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h,
4239         plugins/sudoers/sudoreplay.c, plugins/sudoers/testsudoers.c,
4240         plugins/sudoers/toke.c, plugins/sudoers/toke.l,
4241         plugins/sudoers/tsgetgrpw.c, plugins/sudoers/visudo.c,
4242         src/Makefile.in, src/aix.c, src/conversation.c, src/exec.c,
4243         src/exec_pty.c, src/get_pty.c, src/load_plugins.c, src/parse_args.c,
4244         src/sudo.c, src/sudo.h, src/sudo_edit.c, src/tgetpass.c:
4245         Set usrinfo for AIX Set adminstrative domain for the process when
4246         looking up user's password or group info and when preparing for
4247         execve(). Include strings.h even if string.h exists since they may
4248         define different things. Fixes warnings on AIX and others.
4249         [cf8b93e872c9]
4250
4251         * Makefile.in:
4252         Add a separate all target for AIX make which was using the entire
4253         LHS (not just the first entry) of the first target as the implicit
4254         target.
4255         [a45b980a01ef]
4256
4257         * plugins/sudoers/env.c:
4258         Do not rely on env.env_len when unsetting a variable, just use the
4259         NULL terminator.
4260         [ca6eb239c829]
4261
4262         * plugins/sudoers/env.c:
4263         In unsetenv() check for NULL or empty name as per POSIX 1003.1-2008
4264         [7046ba7caa4e]
4265
4266 2010-06-25  Todd C. Miller  <Todd.Miller@courtesan.com>
4267
4268         * plugins/sudoers/vasgroups.c:
4269         Use warningx() instead of log_error() since the latter is not
4270         available to visudo or testsudoers. This does mean that they don't
4271         end up in syslog.
4272         [152b7c50f426]
4273
4274         * plugins/sudoers/sudoers.c:
4275         Defer call to sudo_nonunix_groupcheck_cleanup() until after we have
4276         closed the sudoers sources. From Quest sudo.
4277         [c1cd573bab94]
4278
4279         * plugins/sudoers/pwutil.c:
4280         Ignore case when matching user/group names in the cache. From Quest
4281         sudo.
4282         [2aa4ecc7d7f5]
4283
4284 2010-06-24  Todd C. Miller  <Todd.Miller@courtesan.com>
4285
4286         * config.h.in, configure, configure.in, src/selinux.c:
4287         Add check for setkeycreatecon() when --with-selinux is specified.
4288         [affae247b4e0]
4289
4290         * configure, configure.in:
4291         Error out if libaudit.h is missing or ununable when --with-linux-
4292         audit was specified
4293         [d82e743fac04]
4294
4295         * doc/HISTORY, doc/history.pod:
4296         Add =head3 entries, mostly for the html version
4297         [ee93112d0308]
4298
4299 2010-06-22  Todd C. Miller  <Todd.Miller@courtesan.com>
4300
4301         * doc/HISTORY, doc/history.pod:
4302         Mention when LDAP was incorporate.
4303         [2923dc17f79c]
4304
4305 2010-06-21  Todd C. Miller  <Todd.Miller@courtesan.com>
4306
4307         * configure, configure.in:
4308         Define _LINUX_SOURCE_COMPAT on AIX for strsignal() prototype, it is
4309         not covered by _ALL_SOURCE.
4310         [c92fd69809d0]
4311
4312 2010-06-18  Todd C. Miller  <Todd.Miller@courtesan.com>
4313
4314         * plugins/sudoers/iolog.c:
4315         Add a cast to quiet a compiler warning.
4316         [a200e07ee1bc]
4317
4318         * plugins/sudoers/getdate.c, plugins/sudoers/getdate.y:
4319         Quiet a compiler warning.
4320         [c9acfc927cea]
4321
4322         * plugins/sudoers/defaults.c, plugins/sudoers/sudoers.c:
4323         Call set_fqdn() after sudoers has parsed instead of inline as a
4324         callback.
4325         [5f4e5d075f2d]
4326
4327         * WHATSNEW, plugins/sudoers/sudoers.c:
4328         Do not call set_fqdn() until sudoers parses (where is gets run as a
4329         callback).
4330         [09040fca6d40]
4331
4332         * WHATSNEW:
4333         mention the change in tty ticket behavior when there is no tty
4334         [575a1fd98f05]
4335
4336         * plugins/sudoers/check.c:
4337         Do not update tty ticket if there is no tty.
4338         [63f9c33ce6a7]
4339
4340         * doc/LICENSE, doc/license.pod:
4341         Update copyright year
4342         [0722ab5d404b]
4343
4344         * doc/Makefile.in:
4345         Do not rely on BSD make's $>
4346         [936a86398bd9]
4347
4348         * configure, configure.in:
4349         Set timedir to /var/db/sudo for darwin to match Apple sudo's
4350         location
4351         [d5b9b03096f1]
4352
4353 2010-06-16  Todd C. Miller  <Todd.Miller@courtesan.com>
4354
4355         * plugins/sudoers/sudoers.h:
4356         Add stub declarations for struct stat and struct timeval
4357         [f6d90551a4fd]
4358
4359         * MANIFEST:
4360         Remove compat/sigaction.c
4361         [d0ed6d9a770e]
4362
4363         * config.h.in, configure, configure.in, plugins/sudoers/defaults.c,
4364         plugins/sudoers/iolog.c, plugins/sudoers/sudoreplay.c:
4365         Check for zlib.h in addition to libz.
4366         [6e191b4a6065]
4367
4368         * MANIFEST, src/Makefile.in, src/exec.c, src/exec_pty.c, src/sudo.h,
4369         src/sudo_exec.h:
4370         Move functions and symbols shared between exec.c and exec_pty.c into
4371         sudo_exec.h.
4372         [14ae63403544]
4373
4374         * doc/Makefile.in:
4375         Comment out rules to build .man.in and .cat files unless --with-
4376         devel
4377         [3cf7e5606a85]
4378
4379         * doc/Makefile.in:
4380         Comment out rules to build .man.in and .cat files unless --with-
4381         devel
4382         [d30495b0e29e]
4383
4384         * src/parse_args.c:
4385         Quote any non-alphanumeric characters other than '_' or '-' when
4386         passing a command to be run via the shell for the -s and -i options.
4387         [d633f74fe2d9]
4388
4389         * doc/Makefile.in:
4390         Add back .man suffix
4391         [6e63b60a2739]
4392
4393         * INSTALL, MANIFEST, WHATSNEW, config.h.in, configure, configure.in,
4394         plugins/sudoers/Makefile.in, plugins/sudoers/audit.c,
4395         plugins/sudoers/bsm_audit.c, plugins/sudoers/linux_audit.c,
4396         plugins/sudoers/linux_audit.h, plugins/sudoers/logging.h,
4397         src/selinux.c:
4398         Add Linux audit support.
4399         [5a2f445e0bd4]
4400
4401 2010-06-15  Todd C. Miller  <Todd.Miller@courtesan.com>
4402
4403         * plugins/sudoers/iolog.c:
4404         Remove an XXX
4405         [a170cbe651d1]
4406
4407         * doc/sudoreplay.cat, doc/sudoreplay.man.in, doc/sudoreplay.pod,
4408         plugins/sudoers/sudoreplay.c:
4409         Add -f (filter) option to sudoreplay to allow certain streams to be
4410         replayed and others ignored.
4411         [62e51b432ea1]
4412
4413         * src/load_plugins.c, src/parse_args.c, src/sudo.c, src/sudo.h,
4414         src/tgetpass.c:
4415         Fix -A flag when askpass is specified in sudo.conf or if sudo
4416         doesn't need to read a password.
4417         [2e401e4a00e3]
4418
4419         * src/exec.c, src/exec_pty.c, src/parse_args.c, src/sudo.c,
4420         src/sudo.h, src/sudo_edit.c, src/tgetpass.c:
4421         Clean up some XXXs
4422         [689f0b002d3d]
4423
4424         * WHATSNEW, doc/sudoers.ldap.cat, doc/sudoers.ldap.man.in,
4425         doc/sudoers.ldap.pod, plugins/sudoers/ldap.c:
4426         Add support for multiple sudoers_base entries in ldap.conf. From
4427         Joachim Henke
4428         [e3e4a3c2bd5b]
4429
4430         * config.h.in, configure, configure.in, plugins/sudoers/logging.c,
4431         src/exec_pty.c:
4432         remove setsid check, we require a POSIX system
4433         [cc73cb9e22c0]
4434
4435         * plugins/sudoers/logging.c, src/exec_pty.c, src/selinux.c,
4436         src/sudo.c, src/tgetpass.c:
4437         Check for dup2() failure.
4438         [5d46d66794f5]
4439
4440         * config.h.in, configure, configure.in:
4441         Remove dup2() check, it is not optional.
4442         [5f1d56de4384]
4443
4444 2010-06-14  Todd C. Miller  <Todd.Miller@courtesan.com>
4445
4446         * WHATSNEW:
4447         sync with sudo 1.7.3
4448         [88e5c0bd6d59]
4449
4450         * INSTALL:
4451         SunOS does not ship with an ANSI compiler
4452         [f13c85c67069]
4453
4454         * INSTALL:
4455         Update OS specific notes. Delete some really ancient ones and move
4456         older ones to the end of the list.
4457         [59ce592c4c52]
4458
4459         * README:
4460         Sudo can be downloaded from the web site too Mention "OS dependent
4461         notes" section in INSTALL
4462         [191871538984]
4463
4464         * src/exec_pty.c, src/selinux.c:
4465         Call selinux_restore_tty() as part of cleanup() so it gets called
4466         from error()/errorx()
4467         [bb017da6b6da]
4468
4469         * MANIFEST, doc/PORTING:
4470         Remove obsolete porting guide
4471         [321e35591344]
4472
4473         * plugins/sudoers/interfaces.h, plugins/sudoers/match.c:
4474         Move union sudo_in_addr_un into interfaces.h
4475         [b2c8b19ee094]
4476
4477         * doc/Makefile.in:
4478         Remove useless circular dependencies
4479         [5682181b59cf]
4480
4481         * plugins/sudoers/auth/afs.c, plugins/sudoers/auth/aix_auth.c,
4482         plugins/sudoers/auth/bsdauth.c, plugins/sudoers/auth/dce.c,
4483         plugins/sudoers/auth/fwtk.c, plugins/sudoers/auth/kerb4.c,
4484         plugins/sudoers/auth/kerb5.c, plugins/sudoers/auth/pam.c,
4485         plugins/sudoers/auth/passwd.c, plugins/sudoers/auth/rfc1938.c,
4486         plugins/sudoers/auth/secureware.c, plugins/sudoers/auth/securid.c,
4487         plugins/sudoers/auth/securid5.c, plugins/sudoers/auth/sia.c:
4488         Convert to ANSI C function declarations
4489         [a4f76927d034]
4490
4491         * common/alloc.c, common/fileops.c, common/gettime.c, common/list.c,
4492         common/zero_bytes.c, compat/charclass.h, compat/closefrom.c,
4493         compat/fnmatch.c, compat/glob.c, compat/isblank.c, compat/memrchr.c,
4494         compat/mkstemp.c, compat/nanosleep.c, compat/snprintf.c,
4495         compat/strcasecmp.c, compat/strerror.c, compat/strlcat.c,
4496         compat/strlcpy.c, compat/timespec.h, compat/utime.h,
4497         compat/utimes.c, doc/HISTORY, doc/history.pod, doc/license.pod,
4498         include/alloc.h, include/error.h, include/lbuf.h, include/list.h,
4499         include/missing.h, pathnames.h.in, plugins/sudoers/alias.c,
4500         plugins/sudoers/audit.c, plugins/sudoers/auth/sudo_auth.h,
4501         plugins/sudoers/boottime.c, plugins/sudoers/bsm_audit.c,
4502         plugins/sudoers/bsm_audit.h, plugins/sudoers/defaults.c,
4503         plugins/sudoers/defaults.h, plugins/sudoers/find_path.c,
4504         plugins/sudoers/getspwuid.c, plugins/sudoers/goodpath.c,
4505         plugins/sudoers/gram.y, plugins/sudoers/interfaces.c,
4506         plugins/sudoers/interfaces.h, plugins/sudoers/logging.c,
4507         plugins/sudoers/logging.h, plugins/sudoers/match.c,
4508         plugins/sudoers/parse.h, plugins/sudoers/plugin_error.c,
4509         plugins/sudoers/pwutil.c, plugins/sudoers/redblack.c,
4510         plugins/sudoers/redblack.h, plugins/sudoers/sudo_nss.h,
4511         plugins/sudoers/sudoers.h, plugins/sudoers/sudoreplay.c,
4512         plugins/sudoers/testsudoers.c, plugins/sudoers/timestr.c,
4513         plugins/sudoers/toke.l, plugins/sudoers/visudo.c, src/aix.c,
4514         src/conversation.c, src/error.c, src/load_plugins.c,
4515         src/parse_args.c, src/sesh.c, src/sudo.h, src/sudo_noexec.c,
4516         src/sudo_plugin_int.h, src/sudo_usage.h.in, src/tgetpass.c:
4517         Update copyright year
4518         [26ac7991f7d8]
4519
4520         * doc/Makefile.in:
4521         Fix commented DEVDOCS when not in devel mode.
4522         [e0a97eaf3793]
4523
4524         * plugins/sudoers/match.c:
4525         Quiet a compiler warning.
4526         [b2a17ebd5d38]
4527
4528         * plugins/sudoers/getdate.c, plugins/sudoers/getdate.y:
4529         Quiet a compiler warning.
4530         [687843bc593d]
4531
4532         * plugins/sudoers/ldap.c, plugins/sudoers/sudoers.h:
4533         Make all functions in ldap.c static
4534         [b2111e89eeba]
4535
4536         * doc/schema.ActiveDirectory:
4537         Updates from Alain Roy to provide better examples for importing the
4538         schema and to fix problems caused by Windows validating attributes
4539         which have not yet been added before committing the changes.
4540         [69f4c5ccaf89]
4541
4542 2010-06-11  Todd C. Miller  <Todd.Miller@courtesan.com>
4543
4544         * configure, configure.in, doc/Makefile.in, doc/sudo.cat,
4545         doc/sudo.man.in, doc/sudo_plugin.cat, doc/sudo_plugin.man.in,
4546         doc/sudoers.cat, doc/sudoers.ldap.cat, doc/sudoers.ldap.man.in,
4547         doc/sudoers.man.in, doc/sudoreplay.cat, doc/sudoreplay.man.in,
4548         doc/visudo.cat, doc/visudo.man.in:
4549         Leave rules to build .man.in and .cat files uncommented but only
4550         make them part of the "all" rule in devel mode. Generate .cat files
4551         directly from .man.in instead of .man using default values in
4552         configure.in
4553         [c3054a44f6a5]
4554
4555         * configure, configure.in:
4556         Bump sudo version to 1.8.0b1
4557         [8f79c85135e1]
4558
4559         * configure, configure.in, src/sudo.c, src/sudo_usage.h.in:
4560         Print configure args with verbose version information.
4561         [1ce690660ed2]
4562
4563         * TODO, plugins/sudoers/visudo.c:
4564         Remove tfd from struct sudoersfile; it is not used. Add prev pointer
4565         to struct sudoersfile. Declare list of sudoersfile using TQ_DECLARE.
4566         Use tq_append to append sudoers entries to the tail queue.
4567         [1743f9a286e4]
4568
4569 2010-06-10  Todd C. Miller  <Todd.Miller@courtesan.com>
4570
4571         * WHATSNEW:
4572         Describe tty timestamp improvements
4573         [e214e863a313]
4574
4575         * plugins/sudoers/toke.c, plugins/sudoers/toke.l:
4576         A comment character may not be part of a command line argument
4577         unless it is quoted with a backslash. Fixes parsing of:
4578         testuser ALL=NOPASSWD: /usr/bin/wl #comment foo bar closes bz #441
4579         [ea2e990f85ed]
4580
4581         * doc/sudoers.pod:
4582         Make this read a little bit better when passwd_timeout is 0.
4583         [39d362757f31]
4584
4585         * doc/sudo.man.in, doc/sudo.man.pl, doc/sudo.pod:
4586         Attempt to handle a default password prompt timeout of zero more
4587         gracefully.
4588         [ea47d43acf5b]
4589
4590         * plugins/sudoers/toke.c, plugins/sudoers/toke.l:
4591         Do not override value of keepopen global, instead restore it to the
4592         value we pushed onto the stack when popping.
4593         [fe282e5a3402]
4594
4595         * plugins/sudoers/Makefile.in:
4596         Add dependency for utility programs on libreplace and libcommon
4597         [2339aba64928]
4598
4599         * compat/sigaction.c, config.h.in, configure.in, include/compat.h,
4600         plugins/sudoers/logging.c, plugins/sudoers/mon_systrace.c,
4601         src/exec.c, src/exec_pty.c, src/tgetpass.c:
4602         Remove sigaction emulation Use SA_INTERRUPT in sa_flags
4603         [7dd61f1bd8d2]
4604
4605         * MANIFEST, config.h.in, configure, configure.in, include/missing.h:
4606         We don't use getgrouplist() at the moment so there's no need to
4607         provide a compat version.
4608         [1597536fbada]
4609
4610         * TODO:
4611         sync with reality
4612         [9e1a874e7885]
4613
4614         * include/sudo_plugin.h, plugins/sudoers/auth/sudo_auth.c,
4615         src/conversation.c, src/sudo.h, src/tgetpass.c:
4616         Fix visiblepw sudoers option; the plugin API portion still needs
4617         documenting
4618         [60b6933ef5e0]
4619
4620         * src/sudo.c:
4621         Print sudo version as well.
4622         [987ed459b459]
4623
4624         * plugins/sudoers/iolog.c, plugins/sudoers/sudoers.c:
4625         Use sudo_printf for I/O log version Clarify policy plugin version
4626         string
4627         [5a58b7e8c80b]
4628
4629         * plugins/sudoers/getdate.c, plugins/sudoers/getdate.y,
4630         plugins/sudoers/ldap.c, plugins/sudoers/sudoreplay.c:
4631         Silence some compiler warnings
4632         [afb1eba90915]
4633
4634         * src/load_plugins.c, src/tgetpass.c:
4635         Store askpass path in a global instead of uses setenv() which many
4636         systems lack.
4637         [b440bcc0e660]
4638
4639 2010-06-09  Todd C. Miller  <Todd.Miller@courtesan.com>
4640
4641         * doc/sudo.cat, doc/sudo.man.in, doc/sudo.pod, doc/sudo_plugin.cat,
4642         doc/sudo_plugin.man.in, doc/sudo_plugin.pod,
4643         plugins/sudoers/check.c, plugins/sudoers/def_data.c,
4644         plugins/sudoers/def_data.h, plugins/sudoers/def_data.in,
4645         plugins/sudoers/defaults.c, plugins/sudoers/sudoers.c,
4646         plugins/sudoers/sudoers.h, src/load_plugins.c, src/parse_args.c,
4647         src/tgetpass.c:
4648         Move askpass path specification from sudoers to sudo.conf.
4649         [5507ab867c26]
4650
4651         * src/exec.c, src/exec_pty.c, src/sudo.c, src/sudo.h:
4652         Use a flag bit in struct command_details for selinux instead of a
4653         separate field.
4654         [c59ca4acded9]
4655
4656         * src/exec.c, src/exec_pty.c, src/sudo.c, src/sudo.h:
4657         Implement background mode. If I/O logging we use pipes instead of a
4658         pty.
4659         [c07a4b356cbd]
4660
4661         * compat/mksiglist.c, compat/strsignal.c, include/compat.h,
4662         src/exec.c, src/exec_pty.c, src/tgetpass.c:
4663         Move compat definition of NSIG to compat.h
4664         [ab0385467f25]
4665
4666         * doc/sudo.cat, doc/sudo.man.in, doc/sudo.pod, doc/sudo_plugin.cat,
4667         doc/sudo_plugin.man.in, doc/sudo_plugin.pod:
4668         Mention plugins in the sudo manual and add some missing path
4669         substitution in the sudo_plugin manual.
4670         [570f831f47a3]
4671
4672         * src/Makefile.in:
4673         Set _PATH_SUDO_CONF based on $(sysconfdir)
4674         [fde51869cf07]
4675
4676         * common/lbuf.c, common/term.c, config.h.in, configure, configure.in,
4677         src/exec.c, src/exec_pty.c, src/ttysize.c:
4678         Require POSIX termios to build sudo
4679         [9ec6b41f3f95]
4680
4681         * src/tgetpass.c:
4682         Ignore SIGPIPE for "sudo -S"
4683         [7ad27fde0c06]
4684
4685         * src/tgetpass.c:
4686         Fix uninitialized variable in TGP_ECHO case and print a newline if
4687         the user interrupted password input.
4688         [ce19204d8dd4]
4689
4690         * src/tgetpass.c:
4691         Make TGP_ECHO override TGP_MASK and don't try to restore the
4692         terminal if we didn't modify it.
4693         [a7e11abfe7e4]
4694
4695         * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod,
4696         include/sudo_plugin.h, plugins/sudoers/auth/sudo_auth.c,
4697         src/conversation.c, src/sudo.h, src/tgetpass.c:
4698         Add SUDO_CONV_PROMPT_MASK define which corresponds to the
4699         "pwfeedback" sudoers option. Do not disable echo if TGP_ECHO is
4700         set.
4701         [e0550590cabe]
4702
4703         * src/exec_pty.c:
4704         Use POSIX tcgetpgrp() instead of BSD TIOCGPGRP ioctl
4705         [762448182fe3]
4706
4707 2010-06-08  Todd C. Miller  <Todd.Miller@courtesan.com>
4708
4709         * src/exec.c, src/exec_pty.c, src/selinux.c, src/sudo.c, src/sudo.h:
4710         Add selinux_enabled flag into struct command_details and set it in
4711         command_info_to_details(). Return an error from selinux_setup()
4712         instead of exiting. Call selinux_setup() from exec_setup().
4713         [011bea23a5a0]
4714
4715 2010-06-09  Todd C. Miller  <Todd.Miller@courtesan.com>
4716
4717         * src/exec_pty.c:
4718         Remove commented out copy of old sudo_execve() function.
4719         [9c5e21380472]
4720
4721 2010-06-08  Todd C. Miller  <Todd.Miller@courtesan.com>
4722
4723         * plugins/sudoers/sudoers.c:
4724         Fix setting selinux type on command line.
4725         [814b20a0b3be]
4726
4727         * plugins/sudoers/iolog.c:
4728         In sudoers_io_close(), skip NULL io_fds[] elements.
4729         [4011ff7d4daf]
4730
4731         * include/compat.h:
4732         No longer need NGROUPS_MAX define
4733         [cae4c49d7077]
4734
4735         * compat/nanosleep.c, config.h.in, configure, configure.in,
4736         include/compat.h, plugins/sudoers/check.c, plugins/sudoers/iolog.c,
4737         plugins/sudoers/visudo.c, src/sudo_edit.c:
4738         Replace timerfoo macros with timevalfoo since the timer macros are
4739         known to be busted on some systems.
4740         [4f97d79f2d41]
4741
4742         * src/exec_pty.c:
4743         Remove duplicate call to selinux_setup().
4744         [82bd52764e21]
4745
4746         * plugins/sudoers/auth/pam.c:
4747         If pam_open_session() fails, pass its status to pam_end.
4748         [1d8de4cf8ff3]
4749
4750         * plugins/sudoers/toke.c, plugins/sudoers/toke.l:
4751         If a file in a #includedir has improper permissions or owner just
4752         skip it. This prevents packages that incorrectly install a file
4753         into /etc/sudoers.d from breaking sudo so easily. Syntax errors in
4754         #includedir files still result in a parse error (for now).
4755         [ade99a4549a4]
4756
4757         * WHATSNEW, doc/sudoers.cat, doc/sudoers.man.in, doc/sudoers.pod,
4758         plugins/sudoers/def_data.c, plugins/sudoers/def_data.h,
4759         plugins/sudoers/def_data.in, plugins/sudoers/iolog.c:
4760         Add use_pty sudoers option to force use of a pty even when not
4761         logging I/O.
4762         [b280a8972a79]
4763
4764         * plugins/sudoers/env.c, plugins/sudoers/sudoers.h:
4765         Make env_init() void as it never fails.
4766         [d3890e55daa7]
4767
4768         * plugins/sudoers/env.c:
4769         No longer use _NSGetEnviron so don't need crt_externs.h
4770         [9b4e0e139881]
4771
4772         * plugins/sudoers/env.c:
4773         Remove unused VNULL define
4774         [a42cacb263e3]
4775
4776 2010-06-07  Todd C. Miller  <Todd.Miller@courtesan.com>
4777
4778         * plugins/sudoers/iolog.c:
4779         Add #define for maximum session id
4780         [9e18c17a28c2]
4781
4782         * MANIFEST, src/Makefile.in, src/exec.c, src/exec_pty.c, src/sudo.h:
4783         Split exec.c into exec.c and exec_pty.c
4784         [d52376327332]
4785
4786         * MANIFEST:
4787         Sync with source file moves.
4788         [4a62c6c9e846]
4789
4790         * src/Makefile.in, src/get_pty.c, src/pty.c:
4791         Rename pty.c -> get_pty.c
4792         [5696a12bd29b]
4793
4794 2010-06-06  Todd C. Miller  <Todd.Miller@courtesan.com>
4795
4796         * plugins/sudoers/iolog.c:
4797         Only use I/O input log file if def_log_input is set and output file
4798         if def_log_output is set.
4799         [d866992f1681]
4800
4801 2010-06-04  Todd C. Miller  <Todd.Miller@courtesan.com>
4802
4803         * compat/strsignal.c:
4804         Update copyright year
4805         [a96f2593fd4e]
4806
4807         * src/pty.c:
4808         uid -> ttyuid
4809         [c3454d74ebcb]
4810
4811         * plugins/sudoers/sudoers.c:
4812         For sudoedit, make a local copy of editor string si become part of
4813         argv. If no editor environment variable, split def_editor on ':'
4814         since it may be a colon-delimited path.
4815         [2ee298506a6e]
4816
4817         * src/sudo_edit.c:
4818         Remove unneeded endpwent()/endgrent()
4819         [623f6743d101]
4820
4821         * doc/Makefile.in:
4822         Use value of nroff from configure
4823         [b2ce649125ab]
4824
4825         * src/exec.c:
4826         Add missing const to I/O log action function
4827         [d764a3955e04]
4828
4829         * plugins/sudoers/check.c:
4830         Update copyright year and fix whitespace
4831         [e648c35b16be]
4832
4833         * configure, configure.in:
4834         Fix typo
4835         [8e0bdfc47da4]
4836
4837         * plugins/sudoers/iolog.c:
4838         Remove redundant tty signal blocking in log function.
4839         [f17f575dabd4]
4840
4841 2010-06-03  Todd C. Miller  <Todd.Miller@courtesan.com>
4842
4843         * plugins/sudoers/iolog.c:
4844         Place static keyword where it belongs
4845         [b01aec7c86b4]
4846
4847         * plugins/sudoers/logging.c:
4848         Always use a printf format string for send_mail()
4849         [13b1ada644c9]
4850
4851         * common/atobool.c, plugins/sudoers/ldap.c:
4852         Extend atobool() so we can use it in the LDAP code.
4853         [73f8e6807044]
4854
4855         * doc/sudo.cat, doc/sudo.man.in, doc/sudo.pod:
4856         Sudo now stashes tty ctime for tty_tickets on Solaris too.
4857         [e82df13ad3fd]
4858
4859         * plugins/sudoers/boottime.c:
4860         Fix dummy version of get_boottime()
4861         [01d69c06013b]
4862
4863 2010-06-02  Todd C. Miller  <Todd.Miller@courtesan.com>
4864
4865         * plugins/sudoers/check.c:
4866         Enable tty_is_devpts() support for Solaris with the "devices"
4867         filesystem.
4868         [237c6b25fa84]
4869
4870         * src/exec.c:
4871         Unbreak the non-io logging case.
4872         [4822b9f709fb]
4873
4874         * src/conversation.c, src/sudo.c, src/sudo_plugin_int.h:
4875         Fix symbol name conflict with sudo_printf.
4876         [0d44eab0a8f6]
4877
4878         * plugins/sudoers/auth/pam.c:
4879         Fix OpenPAM detection for newer versions.
4880         [1b2abed232d8]
4881
4882         * plugins/sudoers/vasgroups.c:
4883         Sync with Quest sudo git repo
4884         [f1d98b3cba02]
4885
4886         * aclocal.m4, configure, configure.in:
4887         HP-UX ld uses +b instead or -R or -rpath Fix typo in libvas check
4888         Add missing template for ENV_DEBUG Adapted from Quest sudo
4889         [695dbd7b28f4]
4890
4891         * README.LDAP:
4892         Fix typos; from Quest Sudo
4893         [4eba9da33b8e]
4894
4895 2010-06-01  Todd C. Miller  <Todd.Miller@courtesan.com>
4896
4897         * plugins/sudoers/Makefile.in:
4898         Add back -I$(top_srcdir); we need it for including compat/foo.h
4899         since we cannot rely on "foo.h" being found relative to the source
4900         file when the cwd is different.
4901         [bbf24695f325]
4902
4903         * src/exec.c:
4904         Fix a bug where we could treat EAGAIN as a permanent error. Also set
4905         cstat if perform_io() returns an error.
4906         [200475c4326f]
4907
4908         * common/alloc.c, plugins/sudoers/boottime.c,
4909         plugins/sudoers/sudoers.c:
4910         Add casts to quiet compiler warnings.
4911         [85eb1c336697]
4912
4913         * plugins/sudoers/sudoreplay.c, plugins/sudoers/testsudoers.c,
4914         plugins/sudoers/visudo.c:
4915         Fix typo in ternary operator usage.
4916         [6492ac1450e2]
4917
4918 2010-05-30  Todd C. Miller  <Todd.Miller@courtesan.com>
4919
4920         * INSTALL, configure, configure.in:
4921         Add --enable-warnings and fix typo in SUDO_IO_LOGDIR
4922         [92121d693b30]
4923
4924         * doc/sudoers.cat, doc/sudoers.man.in, doc/sudoers.pod,
4925         doc/sudoreplay.cat, doc/sudoreplay.man.in, doc/sudoreplay.pod:
4926         Update docs to match sudoers I/O logging changes
4927         [18d651989e49]
4928
4929         * INSTALL, WHATSNEW, aclocal.m4, configure, configure.in,
4930         pathnames.h.in, plugins/sudoers/def_data.c,
4931         plugins/sudoers/def_data.h, plugins/sudoers/def_data.in,
4932         plugins/sudoers/defaults.c, plugins/sudoers/gram.c,
4933         plugins/sudoers/gram.h, plugins/sudoers/gram.y,
4934         plugins/sudoers/iolog.c, plugins/sudoers/parse.c,
4935         plugins/sudoers/parse.h, plugins/sudoers/sudoers.c,
4936         plugins/sudoers/sudoreplay.c:
4937         Break sudoers transcript feature up into log_input and log_output.
4938         [db3c1248d2ad]
4939
4940         * plugins/sudoers/sudoreplay.c, plugins/sudoers/testsudoers.c,
4941         plugins/sudoers/visudo.c:
4942         Use setprogname() as needed.
4943         [6beee63a4553]
4944
4945         * plugins/sudoers/iolog.c, plugins/sudoers/sudoreplay.c:
4946         Adapt sudoreplay to iolog changes.
4947         [581f52c05f0f]
4948
4949 2010-05-29  Todd C. Miller  <Todd.Miller@courtesan.com>
4950
4951         * plugins/sudoers/iolog.c:
4952         Log all input and output into separate files and store a number on
4953         each timing file line to indicate which file the data is in.
4954         [fb460c5273dd]
4955
4956         * plugins/sudoers/iolog.c, plugins/sudoers/sudoers.c,
4957         plugins/sudoers/sudoers.h:
4958         Make sudoers_io functions static to iolog.c
4959         [b2df3cc3eecb]
4960
4961 2010-05-28  Todd C. Miller  <Todd.Miller@courtesan.com>
4962
4963         * doc/sudo.cat, doc/sudo.man.in, doc/sudo.pod, src/parse_args.c,
4964         src/sudo_usage.h.in:
4965         Completely remove the -L flag from the sudo front end.
4966         [3d220030b720]
4967
4968         * plugins/sudoers/sudoreplay.c:
4969         Fix EAGAIN handling when writing to stdout.
4970         [4766d77cea49]
4971
4972         * plugins/sudoers/sudoers.c:
4973         Eliminate unused variables
4974         [83bd711e79c4]
4975
4976         * plugins/sudoers/sudoers.c, src/exec.c, src/sudo.c:
4977         Re-enable cleanup functions in sudoers plugin and sudo driver for
4978         error()/errorx().
4979         [43093f937dd8]
4980
4981         * plugins/sudoers/auth/sudo_auth.c, plugins/sudoers/defaults.c,
4982         plugins/sudoers/interfaces.c, plugins/sudoers/iolog.c,
4983         plugins/sudoers/parse.c, plugins/sudoers/sudoers.c,
4984         plugins/sudoers/testsudoers.c, plugins/sudoers/visudo.c:
4985         Use sudo_printf to display verbose version information.
4986         [435cc9f8d4a2]
4987
4988         * common/Makefile.in, compat/Makefile.in, plugins/sample/Makefile.in,
4989         plugins/sudoers/Makefile.in, src/Makefile.in:
4990         Minor Makefile cleanup: fix a typo, change the removal order in the
4991         clean targets, and remove a superfluous include path for the sudoers
4992         plugin.
4993         [6e3b2d6b4437]
4994
4995         * plugins/sudoers/env.c:
4996         Handle duplicate variables in the environment. For unsetenv(), keep
4997         looking even after remove the first instance. For sudo_putenv(),
4998         check for and remove dupes after we replace an existing value.
4999         [c1bbb88d0435]
5000
5001 2010-05-27  Todd C. Miller  <Todd.Miller@courtesan.com>
5002
5003         * plugins/sudoers/Makefile.in:
5004         Use explicit path to source file instead of $< for files that live
5005         in devdir and top_srcdir.
5006         [358ab7f6cc64]
5007
5008         * plugins/sudoers/Makefile.in:
5009         Add explicit rules to compile gram.c and toke.c for HP-UX Pevent
5010         ending LIBSUDOERS_OBJS with a backslash
5011         [481a5c96d47e]
5012
5013         * plugins/sudoers/Makefile.in, src/Makefile.in:
5014         Link libcommon before libreplace since libcommon may use functions
5015         only present in libreplace.
5016         [1847c496ff5b]
5017
5018         * common/Makefile.in:
5019         Move code common to sudo and the sudoers plugin to a convenience
5020         library, libcommon. Removes the need to make links in the sudoers
5021         plugin dir and reduces re-compilation of duplicate object files.
5022         [4c8986352937]
5023
5024         * Makefile.in, common/alloc.c, common/atobool.c, common/fileops.c,
5025         common/fmt_string.c, common/gettime.c, common/lbuf.c, common/list.c,
5026         common/term.c, common/zero_bytes.c, configure, configure.in,
5027         plugins/sample/Makefile.in, plugins/sudoers/Makefile.in,
5028         src/Makefile.in, src/alloc.c, src/atobool.c, src/fileops.c,
5029         src/fmt_string.c, src/gettime.c, src/lbuf.c, src/list.c, src/term.c,
5030         src/zero_bytes.c:
5031         Move code common to sudo and the sudoers plugin to a convenience
5032         library, libcommon. Removes the need to make links in the sudoers
5033         plugin dir and reduces re-compilation of duplicate object files.
5034         [1d1d98bd55b9]
5035
5036         * src/exec.c, src/sudo.c, src/sudo.h:
5037         Rename script_execve to sudo_execve and rename script_foo in exec.c
5038         [a35ec80de96a]
5039
5040         * MANIFEST, src/Makefile.in, src/exec.c, src/script.c:
5041         rename script.c exec.c and fix up the MANIFEST file
5042         [36bc3bff9578]
5043
5044         * src/script.c, src/sudo.c, src/sudo.h:
5045         Rename script_setup() to pty_setup() and call from script_execve()
5046         directly.
5047         [899b0fb2a14d]
5048
5049         * configure, configure.in:
5050         bump version to 1.8.0a2
5051         [0b1c1ca9d4e5]
5052
5053         * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod:
5054         Document init_session
5055         [b5324785a406]
5056
5057         * plugins/sudoers/auth/API, plugins/sudoers/auth/sudo_auth.c,
5058         plugins/sudoers/auth/sudo_auth.h:
5059         Clean up the sudoers auth API a bit and update the docs.
5060         [c40fd4cb6e68]
5061
5062         * include/sudo_plugin.h, plugins/sudoers/auth/pam.c,
5063         plugins/sudoers/auth/sudo_auth.c, plugins/sudoers/sudoers.c,
5064         plugins/sudoers/sudoers.h, src/script.c, src/sudo.c:
5065         Add init_session function to struct policy_plugin that gets called
5066         before the uid/gid/etc changes. A struct passwd pointer is passed
5067         in,which may be NULL if the user does not exist in the passwd
5068         database.The sudoers module uses init_session to open the pam
5069         session as needed.
5070         [d71723320ee8]
5071
5072 2010-05-26  Todd C. Miller  <Todd.Miller@courtesan.com>
5073
5074         * plugins/sudoers/auth/pam.c, plugins/sudoers/auth/sudo_auth.c,
5075         plugins/sudoers/auth/sudo_auth.h, plugins/sudoers/set_perms.c,
5076         plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h:
5077         Add open/close session to sudo auth, only used by PAM. This allows
5078         us to open (and close) the PAM session from sudoers.
5079         [2665e2920d0d]
5080
5081         * plugins/sudoers/Makefile.in:
5082         Add explicit rule to build getdate.o for HP-UX make.
5083         [7f049e989956]
5084
5085         * plugins/sudoers/Makefile.in:
5086         Back out most of change 45e406ebdea2. Create dummy .l.c and .y.c
5087         rules as an alternate way to prevent HP-UX make (and others) from
5088         trying to rebuild the parser in non-dev mode.
5089         [f84badad98c5]
5090
5091         * plugins/sudoers/sudoers.c:
5092         Re-enable PATH_MAX check for command
5093         [40d8a50da136]
5094
5095         * Makefile.in:
5096         For distclean, clean the main directory last since the subdirs need
5097         to be able to run libtool to clean things.
5098         [8949a9861634]
5099
5100         * compat/Makefile.in:
5101         Fix generation of mksiglist.h
5102         [b7cdc9b36650]
5103
5104         * src/script.c:
5105         Now that we defer sending cstat until the end of script_child() we
5106         cannot reuse cstat when reading command status from parent.
5107         [25c882643466]
5108
5109 2010-05-25  Todd C. Miller  <Todd.Miller@courtesan.com>
5110
5111         * configure, configure.in, doc/sudo.man.in, doc/sudo.man.pl,
5112         doc/sudoers.cat, doc/sudoers.ldap.cat, doc/sudoers.ldap.man.in,
5113         doc/sudoers.man.in, doc/sudoers.man.pl, doc/sudoreplay.cat,
5114         doc/sudoreplay.man.in, doc/visudo.cat, doc/visudo.man.in:
5115         Use numeric registers to handle conditionals instead of trying to do
5116         it all with text processing.
5117         [478079c3fd4b]
5118
5119         * doc/sudoers.pod:
5120         Document per-command SELinux settings
5121         [13840d566805]
5122
5123         * plugins/sudoers/sudoers.c:
5124         Repair "sudo -l -U username"
5125         [10a0dcdf2ddf]
5126
5127         * plugins/sudoers/sudoers.c:
5128         Set selinux role and type in command details.
5129         [8ae6d35a126d]
5130
5131         * src/script.c, src/selinux.c, src/sudo.h:
5132         Rework SELinux support.
5133         [83279cc94bf2]
5134
5135 2010-05-24  Todd C. Miller  <Todd.Miller@courtesan.com>
5136
5137         * src/script.c, src/selinux.c, src/sudo.h:
5138         Make SELinux support compile again. Needs more work to be complete.
5139         [3d3addebcf82]
5140
5141         * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod,
5142         plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h,
5143         src/parse_args.c, src/script.c, src/selinux.c, src/sudo.c,
5144         src/sudo.h:
5145         Bring back closefrom settings.
5146         [b1c6257d4bbb]
5147
5148         * plugins/sudoers/iolog.c, plugins/sudoers/sudoers.c,
5149         plugins/sudoers/sudoers.h:
5150         If running a command or sudoedit in transcript mode, call
5151         io_nextid() before log_allowed() so the session id is logged.
5152         [c42f3ae40150]
5153
5154         * configure, configure.in:
5155         Use mandoc(1) if nroff(1) is not present.
5156         [daad4bbd04af]
5157
5158         * doc/Makefile.in:
5159         Use the --file argument to config.status instead of setting
5160         CONFIG_FILES in the environment.
5161         [c89411a8bf70]
5162
5163         * plugins/sudoers/Makefile.in:
5164         We cannot conditionally update gram.h or the dependency ordering
5165         gets messed up in devel mode.
5166         [c938953231d9]
5167
5168 2010-05-21  Todd C. Miller  <Todd.Miller@courtesan.com>
5169
5170         * Makefile.in, compat/Makefile.in, configure, configure.in,
5171         doc/Makefile.in, include/Makefile.in, plugins/sample/Makefile.in,
5172         plugins/sudoers/Makefile.in, src/Makefile.in:
5173         Substitute @SHELL@ into Makefiles
5174         [36aa6a095335]
5175
5176         * config.sub:
5177         Fix typo
5178         [16d294d26b58]
5179
5180         * config.guess, config.sub, configure, configure.in:
5181         Update to autoconf 2.65
5182         [4fa6ea8caea3]
5183
5184         * Makefile.in:
5185         Fix libtool target (space vs. tabs)
5186         [755cf3892618]
5187
5188         * config.h.in, plugins/sudoers/logging.h, plugins/sudoers/visudo.c:
5189         Remove use of RETSIGTYPE; all modern systems have signal handlers
5190         that return void.
5191         [42b4e3aee668]
5192
5193         * Makefile.in, aclocal.m4, acsite.m4, configure, configure.in,
5194         ltmain.sh, m4/libtool.m4, m4/ltoptions.m4, m4/ltsugar.m4,
5195         m4/ltversion.m4, m4/lt~obsolete.m4, plugins/sample/Makefile.in,
5196         plugins/sudoers/Makefile.in, src/Makefile.in:
5197         Update to libtool-2.2.6b. I haven't made any local modifications
5198         this time, which should be OK since we install sudo_noexec.so by
5199         hand now.
5200         [6f79ced593bb]
5201
5202         * compat/Makefile.in, plugins/sample/Makefile.in,
5203         plugins/sudoers/Makefile.in, src/Makefile.in:
5204         Use libtool to clean objects
5205         [1581057d6472]
5206
5207         * include/Makefile.in:
5208         Install sudo_plugin.h as part of "make install" and make other
5209         install targets callable from the top-level Makefile
5210         [aaaeb027d774]
5211
5212         * configure, configure.in:
5213         regen with autoupdate to eliminate AC_TRY_LINK
5214         [5d5541c230f5]
5215
5216         * Makefile.in, compat/Makefile.in, configure, configure.in,
5217         doc/Makefile.in, plugins/sample/Makefile.in,
5218         plugins/sudoers/Makefile.in, src/Makefile.in:
5219         Install sudo_plugin.h as part of "make install" and make other
5220         install targets callable from the top-level Makefile
5221         [b258b8401b1c]
5222
5223         * plugins/sample/sample_plugin.c:
5224         The sample plugin doesn't support being run with no args so return a
5225         usage error in this case.
5226         [473b3cf965be]
5227
5228         * plugins/sudoers/iolog.c:
5229         Set close on exec flag for descriptors used for I/O logging so they
5230         are not present in the command being run.
5231         [2c7e8708df76]
5232
5233         * plugins/sudoers/tsgetgrpw.c:
5234         Set close on exec flag in private versions of setpwent() and
5235         setgrent().
5236         [64fef78cb833]
5237
5238         * src/script.c:
5239         Close the I/O pipes aftering dup2()ing them to std{in,out,err}.
5240         Fixes extra fds being present in the command when it is part of a
5241         pipeline.
5242         [060451617713]
5243
5244         * plugins/sudoers/sudoers.c:
5245         Set user_tty to "unknown" if there is no tty, like sudo 1.7 does (it
5246         is used when logging). Note that user_ttypath will still be NULL if
5247         there is no tty.
5248         [31b69a6ecda7]
5249
5250         * src/script.c, src/sudo.h:
5251         Cosmetic changes: add comments, remove orphaned prototype and
5252         make a global static.
5253         [f7851af0143e]
5254
5255 2010-05-20  Todd C. Miller  <Todd.Miller@courtesan.com>
5256
5257         * src/script.c:
5258         Move check for maxfd == -1 to flush_output where it belongs.
5259         [b826a95b4491]
5260
5261         * src/script.c:
5262         Break out of select loop if all the fds we want to select on are -1.
5263         [f5b387024238]
5264
5265         * src/sudo.c:
5266         Avoid possible malloc(0) if plugin returns an empty groups list.
5267         [9765a8fe5ce7]
5268
5269         * src/sudo.c:
5270         Add debugging info when calling plugin close function
5271         [95a273c7ff66]
5272
5273         * src/script.c:
5274         Avoid closing stdin/stdout/stderr when we are piping output.
5275         [330e76423caf]
5276
5277         * src/script.c:
5278         When execve() of the command fails, it is possible to receive
5279         SIGCHLD before we've read the error status from the pipe. Re-order
5280         things such that we send the final status at the very end and prefer
5281         error status over wait status.
5282         [b0dcf825244f]
5283
5284 2010-05-19  Todd C. Miller  <Todd.Miller@courtesan.com>
5285
5286         * plugins/sudoers/auth/sudo_auth.c:
5287         Fix compilation for non PAM/BSD auth/AIX auth
5288         [e382b39d2e4f]
5289
5290 2010-05-18  Todd C. Miller  <Todd.Miller@courtesan.com>
5291
5292         * src/script.c:
5293         Additional checks to make sure we don't close /dev/tty by mistake.
5294         When flushing, sleep in select as long as we have buffers that need
5295         to be written out.
5296         [8139cbd3dd54]
5297
5298         * src/script.c:
5299         Now that we can use pipes for stdin/stdout/stderr there is no longer
5300         a need to error out when there is no tty. We just need to make sure
5301         we don't try to use the tty fd if it is -1.
5302         [666621635d26]
5303
5304 2010-05-17  Todd C. Miller  <Todd.Miller@courtesan.com>
5305
5306         * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod,
5307         include/sudo_plugin.h, plugins/sample/sample_plugin.c,
5308         plugins/sudoers/iolog.c, plugins/sudoers/sudoers.h, src/sudo.c:
5309         Add argc and argv to I/O logger open function.
5310         [0d7faa007d27]
5311
5312         * doc/sudo_plugin.man.in, doc/sudo_plugin.pod, include/sudo_plugin.h,
5313         plugins/sample/sample_plugin.c, plugins/sudoers/sudoers.c,
5314         src/parse_args.c, src/sudo.c, src/sudo_edit.c:
5315         Remove check_sudoedit function pointer in struct sudo_policy.
5316         Instead, sudo will set sudoedit=true in the settings array. The
5317         plugin should check for this and modify argv_out as appropriate in
5318         check_policy.
5319         [c0328e3276b8]
5320
5321 2010-05-16  Todd C. Miller  <Todd.Miller@courtesan.com>
5322
5323         * plugins/sample/sample_plugin.c, src/sudo.c, src/sudo.h,
5324         src/sudo_edit.c:
5325         If plugin sets "sudoedit=true" in the command info, enable sudoedit
5326         mode even if not invoked as sudoedit. This allows a plugin to
5327         enable sudoedit when the user runs an editor.
5328         [96d67b99e42e]
5329
5330 2010-05-15  Todd C. Miller  <Todd.Miller@courtesan.com>
5331
5332         * plugins/sudoers/Makefile.in:
5333         gram.h must not depend on gram.y if we want to avoid unnecessary
5334         rebuilding of targets dependent on gram.h when gram.y changes.
5335         [9db4b767fdca]
5336
5337         * plugins/sample/sample_plugin.c:
5338         Refactor common bits of check_policy and check_edit
5339         [ac4d366a04cf]
5340
5341         * plugins/sample/sample_plugin.c:
5342         Add sudoedit support
5343         [a1a6cc4c0cef]
5344
5345 2010-05-14  Todd C. Miller  <Todd.Miller@courtesan.com>
5346
5347         * plugins/sudoers/Makefile.in:
5348         Rely more on VPATH; fixes a dependency issue with the parser.
5349         [45e406ebdea2]
5350
5351         * include/compat.h:
5352         Fix typo introduced in last commit
5353         [3ccb0f853d11]
5354
5355         * include/compat.h:
5356         Emulate seteuid using setreuid() or setresuid() as needed. There are
5357         still a few places that call seteuid() directly.
5358         [36e8efa3a99d]
5359
5360         * src/parse_args.c, src/sudo_edit.c:
5361         Attempt to fix building on systems that only have setuid.
5362         [8e9ba4083318]
5363
5364         * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod:
5365         Clarify sudoedit a tad.
5366         [d39dfaa14ade]
5367
5368 2010-05-13  Todd C. Miller  <Todd.Miller@courtesan.com>
5369
5370         * src/sudo_edit.c:
5371         Fix compilation on HP-UX
5372         [f6e47843d139]
5373
5374         * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod:
5375         Document sudoedit
5376         [4cbf5196d993]
5377
5378         * plugins/sudoers/sudoers.c, src/sudo.c, src/sudo.h, src/sudo_edit.c:
5379         Change how we handle the sudoedit argv. We now require that there
5380         be a "--" in argv to separate the editor and any command line
5381         arguments from the files to be edited.
5382         [20623d549a3c]
5383
5384         * include/sudo_plugin.h, plugins/sample/sample_plugin.c,
5385         plugins/sudoers/Makefile.in, plugins/sudoers/gettime.c,
5386         plugins/sudoers/set_perms.c, plugins/sudoers/sudoers.c,
5387         src/Makefile.in, src/gettime.c, src/parse_args.c, src/sudo.c,
5388         src/sudo.h, src/sudo_edit.c:
5389         Work in progress support for sudoedit. The actual interface used by
5390         the plugin for sudoedit is likely to change.
5391         [c31262a31997]
5392
5393         * plugins/sudoers/find_path.c, plugins/sudoers/sudoers.c,
5394         plugins/sudoers/sudoers.h, plugins/sudoers/visudo.c:
5395         Make find_path() a little more generic by not checking def_foo
5396         variables inside it. Instead, pass in ignore_dot as a function
5397         argument.
5398         [9c23101a094d]
5399
5400         * plugins/sudoers/env.c:
5401         Add version of getenv(3) that uses our own environ pointer.
5402         [0e3783e63534]
5403
5404 2010-05-12  Todd C. Miller  <Todd.Miller@courtesan.com>
5405
5406         * src/script.c:
5407         Avoid a potential race condition if SIGCHLD is received immediately
5408         before we call select().
5409         [99adc5ea7f0a]
5410
5411         * plugins/sudoers/sudoers.c:
5412         Call env_init() before we open the sudoers sources as those may call
5413         our setenv() replacement.
5414         [5f82601f5ab0]
5415
5416         * plugins/sudoers/env.c:
5417         Initialize env_len in env_init()
5418         [7ae02b3029b5]
5419
5420 2010-05-11  Todd C. Miller  <Todd.Miller@courtesan.com>
5421
5422         * doc/sudo.cat, doc/sudo.man.in, doc/sudo.pod:
5423         Document time stamp shortcomings under SECURITY NOTES Use "time
5424         stamp" instead of timestamp.
5425         [2b86120815b2]
5426
5427         * doc/Makefile.in:
5428         Make sed substitution of mansectsu and mansectform global.
5429         [94588632dba0]
5430
5431         * plugins/sudoers/check.c:
5432         If the tty lives on a devpts filesystem, stash the ctime in the tty
5433         ticket file, as it is not updated when the tty is written to. This
5434         helps us determine when a tty has been reused without the user
5435         authenticating again with sudo.
5436         [0e62a31bceb0]
5437
5438         * src/tgetpass.c:
5439         Fix pasto in mulitple signal fix and use _NSIG not NSIG since that
5440         is what our compat checks set.
5441         [df50f0a040c9]
5442
5443         * configure, configure.in:
5444         Add check for whether sudo need to link with -ldl to get dlopen().
5445         This is a bit of a hack that will get reworked when libtool is
5446         updated.
5447         [63bdcf579533]
5448
5449         * plugins/sudoers/check.c:
5450         Fix timestamp removal with -k/-K
5451         [6b4639fef973]
5452
5453         * plugins/sudoers/Makefile.in:
5454         audit.c is now private to the sudoers plugin
5455         [1974f342ae0b]
5456
5457         * configure, configure.in:
5458         Link with -lpthread on HP-UX since a plugin may be linked with
5459         -lpthread and dlopen() will fail if the shared object has a
5460         dependency on -lpthread but the main program is not linked with it.
5461         [d42139391263]
5462
5463         * config.h.in, configure, configure.in, plugins/sudoers/set_perms.c:
5464         Add separate test for getresuid() since HP-UX has setresuid() but no
5465         getresuid().
5466         [910fe727a374]
5467
5468         * doc/Makefile.in:
5469         Remove errant backslash
5470         [dd5464257c69]
5471
5472         * src/script.c:
5473         Fix SIGPIPE handling. Now that we use may use pipes for
5474         stdin/stdout we need to pass any SIGPIPE we receive to the running
5475         command.
5476         [3f6b1991f4fd]
5477
5478         * src/script.c:
5479         Also start the command in the background if stdin is not a tty.
5480         [d93bc33a3740]
5481
5482 2010-05-10  Todd C. Miller  <Todd.Miller@courtesan.com>
5483
5484         * plugins/sudoers/sudoreplay.c, src/script.c, src/sudo.h, src/term.c:
5485         No need to use pseudo-cbreak mode now that we use pipes when stdout
5486         is not a tty. Instead, check whether stdin is a tty and if not,
5487         delay setting the tty to raw mode until the command tries to access
5488         it itself (and receives SIGTTIN or SIGTTOU).
5489         [e68315cf8c6b]
5490
5491         * src/tgetpass.c:
5492         Use an array for signals received instead of a single variable so we
5493         don't lose any when there are multiple different signals.
5494         [2ac726dac864]
5495
5496         * src/tgetpass.c:
5497         Do signal setup after turning off echo, not before. If we are using
5498         a tty but are not the foreground pgrp this will generate SIGTTOU so
5499         we want the default action to be taken (suspend process).
5500         [bebb6209c795]
5501
5502 2010-05-07  Todd C. Miller  <Todd.Miller@courtesan.com>
5503
5504         * src/script.c:
5505         Flush the iobufs on suspend or child exit using the same logic as
5506         the main event loop.
5507         [c627feee1035]
5508
5509         * src/script.c:
5510         Free memory after we are done with it.
5511         [8db9b611b45a]
5512
5513 2010-05-06  Todd C. Miller  <Todd.Miller@courtesan.com>
5514
5515         * doc/HISTORY:
5516         Quest now sponsors Sudo development
5517         [6cc490083bc7]
5518
5519 2010-05-05  Todd C. Miller  <Todd.Miller@courtesan.com>
5520
5521         * doc/Makefile.in:
5522         Install sudo_plugin man page.
5523         [c253729790b2]
5524
5525         * src/script.c:
5526         Go back to reseting io_buffer offset and length (and now also the
5527         EOF handling) in the loop we do the FD_SET, not after we drain the
5528         buffer after write() since we don't know what order reads and writes
5529         will occur in.
5530         [5f38bfa8497f]
5531
5532         * MANIFEST:
5533         audit files moved to sudoers plugin directory
5534         [b1ead182428e]
5535
5536         * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod:
5537         Document plugin_printf and new logging functions.
5538         [fe9430b60ab5]
5539
5540         * src/script.c:
5541         Add support for logging stdin when it is not a tty. There is still a
5542         bug where "cat | sudo cat" has problems because both cat and sudo
5543         are trying to read from the tty.
5544         [04c9c59fcfba]
5545
5546         * include/sudo_plugin.h, plugins/sample/sample_plugin.c,
5547         plugins/sudoers/sudoers.c, src/script.c:
5548         Add separate I/O logging functions for tty in/out and
5549         stdin/stdout/stderr. NOTE: stdin logging does not currently work and
5550         is disabled for now.
5551         [a36dfd4ca935]
5552
5553 2010-05-04  Todd C. Miller  <Todd.Miller@courtesan.com>
5554
5555         * include/sudo_plugin.h, plugins/sample/sample_plugin.c,
5556         plugins/sudoers/iolog.c, plugins/sudoers/ldap.c,
5557         plugins/sudoers/logging.c, plugins/sudoers/plugin_error.c,
5558         plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h,
5559         src/conversation.c, src/sudo.c, src/sudo_plugin_int.h:
5560         Add pointer to a printf like function to plugin open functon. This
5561         can be used instead of the conversation function to display info and
5562         error messages.
5563         [98734eea8ef1]
5564
5565         * Makefile.in:
5566         Stop if make in a subdir fails
5567         [228bb3ad2dbc]
5568
5569         * src/script.c:
5570         Only set user's tty to blocking mode when doing the final flush.
5571         Flush pipes as well as pty master when the process is done.
5572         [20ff67218666]
5573
5574 2010-05-03  Todd C. Miller  <Todd.Miller@courtesan.com>
5575
5576         * plugins/sudoers/ldap.c:
5577         Use print_error() when displaying ldap config info in debugging
5578         mode.
5579         [d142e0cacb22]
5580
5581         * compat/Makefile.in, compat/strdup.c, compat/strndup.c:
5582         No longer need strdup() or strndup() replacements.
5583         [df53697174ec]
5584
5585         * plugins/sudoers/logging.c, plugins/sudoers/plugin_error.c,
5586         plugins/sudoers/sudoers.h:
5587         Add print_error() function that uses the conversation function to
5588         print a variable number of error strings and use it in log_error().
5589         [b1fa2861b575]
5590
5591         * src/script.c, src/sudo.h, src/term.c:
5592         Do not need the opost flag to term_copy() now that we use pipes for
5593         stdout/stderr when they are not a tty.
5594         [f42811f70a19]
5595
5596         * src/script.c:
5597         Use pipes to the sudo process if stdout or stderr is not a tty.
5598         Still needs some polishing and a decision as to whether it is
5599         desirable to add additonal entry points for logging
5600         stdout/stderr/stdin when they are not ttys. That would allow a
5601         replay program to keep things separate and to know whether the
5602         terminal needs to be in raw mode at replay time.
5603         [1a945e0ab2da]
5604
5605 2010-04-30  Todd C. Miller  <Todd.Miller@courtesan.com>
5606
5607         * plugins/sudoers/Makefile.in, plugins/sudoers/audit.c,
5608         plugins/sudoers/bsm_audit.c, plugins/sudoers/bsm_audit.h,
5609         src/audit.c, src/bsm_audit.c, src/bsm_audit.h:
5610         Move audit sources into the sudoers plugin dir; the driver does not
5611         use them.
5612         [50ec36422cd0]
5613
5614         * compat/getline.c, compat/mksiglist.c, compat/nanosleep.c,
5615         compat/strdup.c, compat/strndup.c, plugins/sample/sample_plugin.c,
5616         plugins/sudoers/boottime.c, plugins/sudoers/getdate.c,
5617         plugins/sudoers/match.c, plugins/sudoers/sudoreplay.c,
5618         plugins/sudoers/timestr.c, plugins/sudoers/vasgroups.c, src/alloc.c,
5619         src/atobool.c, src/audit.c, src/lbuf.c, src/list.c, src/sesh.c,
5620         src/term.c, src/ttysize.c:
5621         Use angle brackets when including headers that can only be found
5622         when an -I flag is specified. The files in the compat dir could get
5623         away with double quotes here but I've converted all the source files
5624         to use angle brackets for consistency.
5625         [9e30a8fc6d4b]
5626
5627         * plugins/sudoers/Makefile.in:
5628         Add missing -I$(top_srcdir) to CPPFLAGS so includes in the compat
5629         dir can be found when building outside the source tree.
5630         [1150934b79dd]
5631
5632         * plugins/sudoers/Makefile.in:
5633         Clean up links in distclean
5634         [78595028be8b]
5635
5636         * plugins/sudoers/Makefile.in:
5637         Hack around VPATH semantic differences by symlinking files we need
5638         from ../../src into the current directory and build those. A better
5639         fix would be to either make a .a or .la file with those files in it
5640         or simply use a single, flat, Makefile instead of per-subdirs
5641         Makefiles.
5642         [892c332d3f05]
5643
5644         * plugins/sudoers/Makefile.in, src/Makefile.in, src/fmt_string.c:
5645         fmt_string is used by the sudoers plugin too so do not include
5646         sudo.h (which is not really needed here anyway)
5647         [231c35e3941f]
5648
5649         * compat/Makefile.in, plugins/sample/Makefile.in,
5650         plugins/sudoers/Makefile.in, src/Makefile.in:
5651         Fix building with non-BSD versions of make such as GNU make.
5652         Requires VPATH support, which should be in any non-neolithic make.
5653         [dc174f135919]
5654
5655         * configure, configure.in, plugins/sudoers/Makefile.in,
5656         plugins/sudoers/auth/sudo_auth.c, plugins/sudoers/sudoers.c,
5657         src/Makefile.in:
5658         Re-enable bsm audit. Currently auditing is done within the sudoers
5659         plugin itself. If possible, this should really be done in the main
5660         driver but we don't presently have the needed data to do that. This
5661         will be re-evaluated when Linux audit support is added.
5662         [1d05a3236bfe]
5663
5664         * compat/Makefile.in, plugins/sample/Makefile.in,
5665         plugins/sudoers/Makefile.in, src/Makefile.in:
5666         Remove extraneous $srcdir and use more .c.lo and .c.o rules instead
5667         of explicit rules in the dependency.
5668         [88f80efd25f0]
5669
5670         * plugins/sudoers/visudo.c:
5671         Fix mismerge; alias_remove_recursive() now returns int
5672         [6257a4849641]
5673
5674 2010-04-29  Todd C. Miller  <Todd.Miller@courtesan.com>
5675
5676         * plugins/sudoers/visudo.c:
5677         Fix a crash when checking a sudoers file that has aliases that
5678         reference themselves. Based on a diff from David Wood.
5679         [545d194484a7]
5680
5681         * src/script.c:
5682         Print signal info after restoring the tty mode, not before.
5683         [a68618e67435]
5684
5685         * src/script.c:
5686         Defer call to alarm() until after we fork the child. Pass correct
5687         pid to terminate_child() If the command exits due to signal, set
5688         alive to false like we do when it exits normally. Add missing
5689         check for errpipe[0] != -1 before using it in FD_ISSET
5690         [22f0a1549391]
5691
5692 2010-04-28  Todd C. Miller  <Todd.Miller@courtesan.com>
5693
5694         * plugins/sudoers/boottime.c:
5695         Use 1/0 instead of TRUE/FALSE so we don't need sudoers.h
5696         [0e627170c6e8]
5697
5698 2010-04-27  Todd C. Miller  <Todd.Miller@courtesan.com>
5699
5700         * src/Makefile.in:
5701         Simplify dependencies by using .c.o and .c.lo rules.
5702         [6abcaef5d1ac]
5703
5704         * configure, configure.in, plugins/sudoers/Makefile.in,
5705         src/Makefile.in:
5706         Substitute in @PROGS@ into src/Makefile to add sesh
5707         [cc46d3b6208f]
5708
5709 2010-04-26  Todd C. Miller  <Todd.Miller@courtesan.com>
5710
5711         * plugins/sudoers/sudoers.c:
5712         Add back calls to log_denial() if sudoers does not allow the
5713         command.
5714         [9783316207f0]
5715
5716         * plugins/sudoers/sudoers.c:
5717         Pass in correct pwflag for list and validate.
5718         [973dd56d4b81]
5719
5720         * plugins/sudoers/env.c:
5721         Add missing check for NULL in validate_env_vars
5722         [1d6eb6957824]
5723
5724         * src/Makefile.in:
5725         Add sudo_noexec.la to "all" target, otherwise it only gets built at
5726         install time.
5727         [644a9694d2ef]
5728
5729         * plugins/sudoers/sudoers.c:
5730         Only set sudo_user.env_vars if the env_add list is empty.
5731         [fccdf6f0e0e2]
5732
5733         * plugins/sudoers/sudoers.c:
5734         Set sudo_user.env_vars so that environment variables specified on
5735         the command line get logged correctly.
5736         [9b51012c491e]
5737
5738         * plugins/sudoers/env.c, plugins/sudoers/logging.c,
5739         plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h:
5740         Re-enable environment files and setting environment variables on the
5741         command line.
5742         [5662d5645dbd]
5743
5744 2010-04-24  Todd C. Miller  <Todd.Miller@courtesan.com>
5745
5746         * plugins/sudoers/check.c:
5747         Fix typo in last commit (ifndef vs ifdef) Make sure we pass ctime()
5748         a pointer to time_t as tv_sec in struct timeval may be long.
5749         [4de0c46e788e]
5750
5751         * plugins/sudoers/check.c:
5752         Don't stash ctime in on-disk tty ticket info for now; on many
5753         (most?) systems the ctime is updated when the tty is written to.
5754         Once I have a better idea of what systems do not update ctime on
5755         ttys (and have a way to test for this) the ctime stash will be
5756         conditionally re-enabled.
5757         [a90eeec0f648]
5758
5759 2010-04-23  Todd C. Miller  <Todd.Miller@courtesan.com>
5760
5761         * MANIFEST, Makefile.in:
5762         Add back "dist" target, this time using a MANIFEST file
5763         [29277c05499f]
5764
5765         * Makefile.in:
5766         Remove Makefile in distclean target
5767         [83d695f4f450]
5768
5769         * Makefile.in, src/Makefile.in:
5770         Update clean and cleandir targets
5771         [ad7b2afeb9c1]
5772
5773         * include/fileops.h, plugins/sudoers/sudoers.h, src/fileops.c,
5774         src/sudo.h:
5775         Move fileops.c defines and prototypes to filesops.h
5776         [4545e9b6892d]
5777
5778         * plugins/sudoers/check.c:
5779         Lock the tty timestamp when writing. We shouldn't have to lock when
5780         reading since the file is updated via a single write system call.
5781         [0c7276f02696]
5782
5783 2010-04-22  Todd C. Miller  <Todd.Miller@courtesan.com>
5784
5785         * plugins/sudoers/alias.c, plugins/sudoers/check.c,
5786         plugins/sudoers/defaults.c, plugins/sudoers/find_path.c,
5787         plugins/sudoers/getspwuid.c, plugins/sudoers/gettime.c,
5788         plugins/sudoers/goodpath.c, plugins/sudoers/interfaces.c,
5789         plugins/sudoers/iolog.c, plugins/sudoers/ldap.c,
5790         plugins/sudoers/logging.c, plugins/sudoers/match.c,
5791         plugins/sudoers/nonunix.h, plugins/sudoers/parse.c,
5792         plugins/sudoers/pwutil.c, plugins/sudoers/redblack.c,
5793         plugins/sudoers/sudo_nss.c, plugins/sudoers/sudoers.c,
5794         plugins/sudoers/sudoreplay.c, plugins/sudoers/testsudoers.c,
5795         plugins/sudoers/timestr.c, plugins/sudoers/tsgetgrpw.c,
5796         plugins/sudoers/vasgroups.c, plugins/sudoers/visudo.c:
5797         Convert to ANSI C function declarations
5798         [9c45def57cf7]
5799
5800         * plugins/sudoers/sudoers.h:
5801         Remove extraneous bits and classify by source file.
5802         [e8ea9f109ebb]
5803
5804         * include/compat.h:
5805         Add timercmp macro for systems without it
5806         [d3bf87b1d08e]
5807
5808         * plugins/sudoers/boottime.c, plugins/sudoers/check.c,
5809         plugins/sudoers/sudoers.h:
5810         get_boottime() now fills in a timeval struct
5811         [3573c3f44e11]
5812
5813         * plugins/sudoers/check.c:
5814         Store info from stat(2)ing the tty in the tty ticket when tty
5815         tickets are in use. On most systems, this closes the loophole
5816         whereby a user can log out of a tty, log back in and still have the
5817         timestamp be valid.
5818         [53380f9f5242]
5819
5820         * config.h.in, configure.in:
5821         Add timespec2timeval and use it when getting ctime/mtime
5822         [4cb7f7caec2c]
5823
5824 2010-04-20  Todd C. Miller  <Todd.Miller@courtesan.com>
5825
5826         * plugins/sudoers/auth/sudo_auth.c, plugins/sudoers/set_perms.c,
5827         plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h,
5828         plugins/sudoers/testsudoers.c:
5829         Convert perm setting to push/pop model; still needs some work Use
5830         the stashed runas groups instead of using getgrouplist() Reset perms
5831         to the initial value on error
5832         [09c072ebde8b]
5833
5834         * config.h.in, configure.in:
5835         fix ctim_get and mtim_get macros
5836         [58773dc1e360]
5837
5838         * config.h.in, configure, configure.in, include/compat.h,
5839         plugins/sudoers/check.c, plugins/sudoers/gettime.c,
5840         plugins/sudoers/sudoers.h, plugins/sudoers/visudo.c, src/fileops.c:
5841         Use timeval directly instead of converting to timespec when dealing
5842         with file times and time of day.
5843         [a0ce1ae00a67]
5844
5845         * plugins/sudoers/Makefile.in:
5846         Don't like sudoreplay with libsudoers.la due to a yacc symbol
5847         conflict.
5848         [f1a59cc63a15]
5849
5850 2010-04-18  Todd C. Miller  <Todd.Miller@courtesan.com>
5851
5852         * configure, configure.in:
5853         Darwin >= 9.x has real setreuid(2)
5854         [7ec942a64275]
5855
5856 2010-04-17  Todd C. Miller  <Todd.Miller@courtesan.com>
5857
5858         * plugins/sudoers/env.c, plugins/sudoers/sudoers.h:
5859         Ansify env.c
5860         [f58551bad10a]
5861
5862         * plugins/sudoers/env.c, plugins/sudoers/sudoers.c,
5863         plugins/sudoers/sudoers.h:
5864         Remove remaining references to the environ pointer.
5865         [96faa530816a]
5866
5867 2010-04-16  Todd C. Miller  <Todd.Miller@courtesan.com>
5868
5869         * config.h.in, configure, configure.in, plugins/sudoers/env.c:
5870         Don't change the environ directly in the sudoers plugin
5871         [6db48ed3f7e0]
5872
5873 2010-04-15  Todd C. Miller  <Todd.Miller@courtesan.com>
5874
5875         * plugins/sudoers/sudoers.c:
5876         Fix typo
5877         [4aa452b07f8f]
5878
5879         * plugins/sudoers/alias.c:
5880         Fix use after free in error message when a duplicate alias exists.
5881         [ce1d2812ee34]
5882
5883 2010-04-14  Todd C. Miller  <Todd.Miller@courtesan.com>
5884
5885         * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod,
5886         src/parse_args.c:
5887         Add a "noninteractive" boolean to the settings passed in to the
5888         plugin's open function that is set when the user specifies the -n
5889         flag.
5890         [68f8d9d6d4d0]
5891
5892         * config.h.in, configure, configure.in, plugins/sudoers/env.c:
5893         Add workaround for the lack of the environ pointer on Mac OS X in
5894         dlopen()ed modules. Use of environ in the sudoers plugin should
5895         ultimately be removed but this will do for the moment.
5896         [80c61647434f]
5897
5898         * plugins/sudoers/visudo.c:
5899         Set errorfile to the sudoers path if we set parse_error manually.
5900         This prevents a NULL dereference in printf() when checking a sudoers
5901         file in strict mode when alias errors are present.
5902         [45e249ca99f7]
5903
5904         * plugins/sudoers/sudoers.c:
5905         Main sudo no longer print "unable to execute" on exec failure so do
5906         it here.
5907         [50aaf62b43b5]
5908
5909 2010-04-13  Todd C. Miller  <Todd.Miller@courtesan.com>
5910
5911         * src/script.c:
5912         Use a pipe to pass back errno to the parent if execve() fails. If we
5913         get an error in script_child(), kill the command and exit.
5914         [dc3bf870f91b]
5915
5916         * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod,
5917         src/parse_args.c, src/sudo.c:
5918         Handle plugin's open function returning -2 (usage error).
5919         [aadf900c1de8]
5920
5921         * src/script.c:
5922         If execve() fails, leave it to the plugin to print an error string.
5923         [e25748f2d5b9]
5924
5925         * src/script.c:
5926         If execve fails in logging mode, pass the errno directly to the
5927         grandparent on the backchannel and exit. The immediate parent will
5928         get SIGCHLD and try to report that status but its parent will no
5929         longer be listening. It would probably be cleaner to pass this over
5930         a pipe in script_child().
5931         [cb122acc81a8]
5932
5933         * plugins/sudoers/sudoers.c:
5934         Don't override rval with results of check_user() unless it failed.
5935         [46fb7e87ac7d]
5936
5937 2010-04-12  Todd C. Miller  <Todd.Miller@courtesan.com>
5938
5939         * doc/sudoers.cat, doc/sudoers.man.in, doc/sudoers.pod:
5940         Fix typo
5941         [ccd0b693f3da]
5942
5943         * src/parse_args.c:
5944         NULL-terminate env_add
5945         [2c534368a0c3]
5946
5947 2010-04-11  Todd C. Miller  <Todd.Miller@courtesan.com>
5948
5949         * src/sudo.c:
5950         Call the I/O log open function before the I/O version function.
5951         [e88bf898990b]
5952
5953         * plugins/sudoers/iolog.c:
5954         Remove io_conv and just use sudo_conv
5955         [a280052468eb]
5956
5957         * plugins/sudoers/set_perms.c:
5958         Fix set/restore perms for systems w/o setresuid
5959         [4160517f6666]
5960
5961 2010-04-10  Todd C. Miller  <Todd.Miller@courtesan.com>
5962
5963         * plugins/sudoers/check.c, plugins/sudoers/logging.c,
5964         plugins/sudoers/parse.c, plugins/sudoers/set_perms.c,
5965         plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h:
5966         Primitive set/restore permissions. Will be replaced by a push/pop
5967         model.
5968         [aae102290866]
5969
5970         * src/script.c:
5971         Only need to take action on SIGCHLD in parent if no I/O logger. If
5972         there is an I/O logger we will receive ECONNRESET or EPIPE when we
5973         try to read from the socketpair.
5974         [e1e4560401f6]
5975
5976 2010-04-09  Todd C. Miller  <Todd.Miller@courtesan.com>
5977
5978         * compat/memrchr.c, doc/sudoers.cat, doc/sudoers.man.in,
5979         doc/sudoers.pod, plugins/sudoers/find_path.c:
5980         Merge fb4d571495fa from the 1.7 branch to trunk.
5981         [c8fb424ad4d2]
5982
5983 2010-04-08  Todd C. Miller  <Todd.Miller@courtesan.com>
5984
5985         * src/script.c:
5986         Don't set SA_RESTART when registering SIGALRM handler. Do set
5987         SA_RESTART when registering SIGWINCH handler.
5988         [173472b76525]
5989
5990         * doc/Makefile.in:
5991         Add dev targets for *.man.in and *.cat that don't specfify the
5992         $(srcdir) prefix.
5993         [b62f425da2e4]
5994
5995         * src/script.c:
5996         If log_input or log_output returns false, terminate the command.
5997         [074f4c0c34a0]
5998
5999         * src/script.c:
6000         Better signal handling. Instead of using a single variable to store
6001         the received signal, use an array so we can't lose a signal when
6002         multiple are sent. Fix process termination by SIGALRM in non-I/O
6003         logger mode. Fix relaying terminal signals to the child in non-I/O
6004         logger mode.
6005         [7a4723aca99d]
6006
6007         * src/script.c:
6008         Fix a race between when we get the child pid in the parent and when
6009         the child process exits. The problem exhibited as a hang after a
6010         short-lived process, e.g. "sudo id" when no IO logger was enabled.
6011         [80bcc0aca70b]
6012
6013 2010-04-07  Todd C. Miller  <Todd.Miller@courtesan.com>
6014
6015         * doc/sudoers.cat, doc/sudoers.man.in, doc/sudoers.pod:
6016         Add a note about the security implications of the fast_glob option.
6017         [c37a92ab7c93]
6018
6019 2010-04-06  Todd C. Miller  <Todd.Miller@courtesan.com>
6020
6021         * config.h.in, configure, configure.in:
6022         Fix up some AC_DEFINE descriptions and regen config.h.in
6023         [f4655adc0db3]
6024
6025 2010-04-05  Todd C. Miller  <Todd.Miller@courtesan.com>
6026
6027         * include/missing.h:
6028         No longer check for strdup or strndup for LIBOBJ replacement.
6029         [fdc764ee8109]
6030
6031         * src/script.c:
6032         Avoid installing signal handlers that are io-logger specific. Fixes
6033         job control when no io logger is enabled.
6034         [0853dd0906d4]
6035
6036         * doc/Makefile.in:
6037         Only regen man pages from pod when configured with --with-devel
6038         [ab1995f8103d]
6039
6040 2010-04-04  Todd C. Miller  <Todd.Miller@courtesan.com>
6041
6042         * Makefile, Makefile.in, configure, configure.in:
6043         Top-level Makefile.in. Nothing is currently substituted but this is
6044         needed for separate build dirs.
6045         [e80873cbd201]
6046
6047         * compat/Makefile.in, doc/Makefile.in, plugins/sample/Makefile.in,
6048         plugins/sudoers/Makefile.in, src/Makefile.in:
6049         Fix out-of-tree builds
6050         [59a35bef07b8]
6051
6052         * Merge
6053         [386b848047e9]
6054
6055         * doc/Makefile.in:
6056         We always install sudoreplay in 1.8
6057         [ce52ba6617c9]
6058
6059 2010-04-03  Todd C. Miller  <Todd.Miller@courtesan.com>
6060
6061         * compat/siglist.in:
6062         SIGPOLL is sometimes the same as SIGIO (like on HP-UX)
6063         [6d69e1b05faf]
6064
6065 2010-04-02  Todd C. Miller  <Todd.Miller@courtesan.com>
6066
6067         * configure, configure.in:
6068         No need to provide strdup() or strndup(), sudo uses estrdup() and
6069         estrndup()
6070         [57ec23b72958]
6071
6072 2010-04-04  Todd C. Miller  <Todd.Miller@courtesan.com>
6073
6074         * plugins/sudoers/iolog.c, plugins/sudoers/sudoers.c:
6075         Free str after using it in the version method. Use sudo_conv, not
6076         io_conv since we don't have the IO conversation function pointer in
6077         the I/O version method anymore now that io_open is delayed.
6078         [f2ed132adeb0]
6079
6080 2010-04-02  Todd C. Miller  <Todd.Miller@courtesan.com>
6081
6082         * compat/Makefile.in, compat/mksiglist.c, compat/mksiglist.h,
6083         compat/siglist.in:
6084         Add license to mksiglist.c and note that the bits from pdksh are
6085         public domain
6086         [d8121a2467e8]
6087
6088         * compat/Makefile.in:
6089         Fix LIBOBJDIR vs. srcdir wrt the siglist bits
6090         [164160148421]
6091
6092         * plugins/sudoers/Makefile.in:
6093         Add sudoreplay testsudoers and visudo to clean target
6094         [138a17e51c0c]
6095
6096         * compat/Makefile.in, compat/mksiglist.c, compat/mksiglist.h,
6097         compat/siglist.in, compat/strsignal.c, configure, configure.in,
6098         include/missing.h, src/script.c:
6099         Create our own sys_siglist for systems without it for use by
6100         strsignal()
6101         [2e5da011ebc3]
6102
6103         * compat/Makefile.in:
6104         Remove duplicate $(LIBOBJDIR)
6105         [adf9abc9432f]
6106
6107 2010-04-01  Todd C. Miller  <Todd.Miller@courtesan.com>
6108
6109         * plugins/sudoers/sudoers.c, src/sudo.c, src/sudo_edit.c:
6110         Main sudo should not block signals; the plugin should do this in
6111         check_policy.
6112         [3f3736a7c5ed]
6113
6114 2010-03-31  Todd C. Miller  <Todd.Miller@courtesan.com>
6115
6116         * src/script.c:
6117         Fix a sizeof(ptr) vs. sizeof(*ptr)
6118         [aa1bcf5afcce]
6119
6120         * src/script.c:
6121         Unlike most operating systems, HP-UX select() is not interrupted by
6122         SIGCHLD when the signal is registered with SA_RESTART. If we clear
6123         SA_RESTART when calling sigaction() for SIGCHLD we get the expected
6124         behavior and the code in the select() loops already handles EINTR
6125         correctly.
6126         [9eba0115e35a]
6127
6128         * compat/getprogname.c:
6129         progname should be const
6130         [130228f062b7]
6131
6132         * plugins/sudoers/Makefile.in:
6133         Move --tag=disable-static to when we link sudoers.la, not when we
6134         install.
6135         [ceb5e6c3b78b]
6136
6137         * src/load_plugins.c:
6138         Load the sudoers I/O plugin by default too now that it is hooked up.
6139         [ea38befd0742]
6140
6141 2010-03-30  Todd C. Miller  <Todd.Miller@courtesan.com>
6142
6143         * src/pty.c:
6144         It looks like AIX doesn't need to push STREAMS modules for ptys.
6145         [22da618ba0a1]
6146
6147 2010-03-28  Todd C. Miller  <Todd.Miller@courtesan.com>
6148
6149         * src/parse_args.c, src/sudo.c:
6150         Delay calling the I/O plugin open function until the policy plugin
6151         returns success.
6152         [f3297c325b48]
6153
6154 2010-03-27  Todd C. Miller  <Todd.Miller@courtesan.com>
6155
6156         * plugins/sudoers/Makefile.in, plugins/sudoers/iolog.c,
6157         plugins/sudoers/set_perms.c, plugins/sudoers/sudoers.c,
6158         plugins/sudoers/sudoers.h:
6159         Add back io logging (transcript) support. Currently, the open
6160         function runs too early and it is not possible to use the io module
6161         independently of the policy module.
6162         [9bd932f66226]
6163
6164         * plugins/sudoers/set_perms.c:
6165         Comment out dead code; will be removed when set_perms is rewritten.
6166         [af7a995284f8]
6167
6168 2010-03-23  Todd C. Miller  <Todd.Miller@courtesan.com>
6169
6170         * plugins/sudoers/sudoers.c:
6171         Fix off by one error when allocating user_groups.
6172         [6281fcf9c3bb]
6173
6174 2010-03-22  Todd C. Miller  <Todd.Miller@courtesan.com>
6175
6176         * configure, configure.in, plugins/sudoers/Makefile.in:
6177         Add REPLAY_LIBS for sudoreplay and add -lrt to it on Solaris.
6178         [fbce3e9eda3a]
6179
6180         * plugins/sudoers/sudoers.c:
6181         Fix typo in preserve groups case
6182         [1fd72024fb5a]
6183
6184         * plugins/sudoers/sudoers.c:
6185         In command_info it is "runas_groups" not "groups".
6186         [5c64dce4f285]
6187
6188         * src/sudo.c:
6189         Fix iteration over runas_groups list.
6190         [b3c45a0cd643]
6191
6192         * configure, configure.in, plugins/sudoers/env.c,
6193         plugins/sudoers/match.c, src/script.c:
6194         Merge 5177a284b9ff 549f8f7c2463 88f3181692fe from 1.7 branch.
6195         [a8108a0776c2]
6196
6197         * compat/getgrouplist.c:
6198         getgrouplist(3) for those without it
6199         [4ab4d21e3b16]
6200
6201         * plugins/sudoers/sudoers.c:
6202         Set preserve_groups or groups list in command_info
6203         [1266119ad654]
6204
6205         * src/sudo.c:
6206         Fix setting of groups list
6207         [e75315e40bd4]
6208
6209         * config.h.in, configure, configure.in, include/compat.h,
6210         include/missing.h:
6211         Add checks for getgrset and getgrouplist and use replacement
6212         getgrouplist if the system doesn't support it.
6213         [a62b8ba50863]
6214
6215         * src/parse_args.c:
6216         Pass in preserve_groups when the -P flag is specified as per the
6217         design
6218         [7420c5d15474]
6219
6220         * plugins/sudoers/sudoers.c:
6221         Check preserve_groups and ignore_ticket args with atobool instead of
6222         assuming they are true if present.
6223         [71c905702697]
6224
6225 2010-03-21  Todd C. Miller  <Todd.Miller@courtesan.com>
6226
6227         * plugins/sudoers/Makefile.in, plugins/sudoers/error.c,
6228         plugins/sudoers/plugin_error.c:
6229         Rename plugin-specific error.c to plugin_error.c Wire up visudo,
6230         sudoreplay and testsudoers in the build
6231         [9d581d5fa4d4]
6232
6233         * src/Makefile.in, src/term.c:
6234         term.c does not needto include sudo.h
6235         [f6683cdcd2dd]
6236
6237         * TODO, doc/sudo_plugin.cat, doc/sudo_plugin.man.in,
6238         doc/sudo_plugin.pod:
6239         Document the -2 return in the check_policy section too
6240         [e9cb4c34bbcf]
6241
6242         * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod,
6243         plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h,
6244         src/parse_args.c, src/sudo.c, src/sudo.h:
6245         Fix the -s and -i flags and add support for the "implied_shell"
6246         option. If the user does not specify a command, sudo will now pass
6247         in the path to the user's shell and set impied_shell=true. The
6248         plugin can them either check the command normally or return -2 to
6249         cause sudo to print a usage message and exit.
6250         [bf889c38f229]
6251
6252 2010-03-19  Todd C. Miller  <Todd.Miller@courtesan.com>
6253
6254         * config.h.in, configure, configure.in, src/load_plugins.c:
6255         Bring back SUDOERS_PLUGIN but add .dylib -> .so conversion for
6256         Darwin where libraries end in .dylib but modules end in .so
6257         [2c56aaa38e21]
6258
6259         * plugins/sudoers/parse.c:
6260         Better prefix determination now that we can't rely on len==0 to tell
6261         the beginning on an entry.
6262         [622bf18179e9]
6263
6264         * plugins/sudoers/ldap.c:
6265         display_bound_defaults() stub should return 0, not 1 since it is a
6266         count, not a boolean.
6267         [0327a6c3d55d]
6268
6269         * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod:
6270         Document progname in settings
6271         [42031d56a2e3]
6272
6273         * compat/getprogname.c, include/compat.h,
6274         plugins/sample/sample_plugin.c, plugins/sudoers/sudoers.c,
6275         src/parse_args.c, src/sudo.c:
6276         Rewrite compat/getprogname.c and add setprogname(). The progname is
6277         now passed to the plugin via the settings array.
6278         [25d8663e6006]
6279
6280         * configure, configure.in, plugins/sudoers/Makefile.in:
6281         Fix --with-ldap
6282         [b64b633f426d]
6283
6284         * plugins/sudoers/sudo_nss.c:
6285         Add missing whitespace for Runas and Command-specific defaults
6286         [65f4ddf5545e]
6287
6288         * plugins/sudoers/ldap.c, plugins/sudoers/parse.c,
6289         plugins/sudoers/sudo_nss.c:
6290         Use embedded newlines in lbuf instead of multiple calls to
6291         lbuf_print.
6292         [eed3af9cc3e1]
6293
6294         * src/lbuf.c:
6295         Add support for embedded newlines.
6296         [e11f79b18deb]
6297
6298 2010-03-18  Todd C. Miller  <Todd.Miller@courtesan.com>
6299
6300         * compat/getprogname.c:
6301         If system doesn't support getprogname or __programe and we are
6302         building a shared object don't bother with Argc/Argv, just return
6303         "sudo"
6304         [aebde9062be7]
6305
6306         * config.h.in, configure, configure.in, src/load_plugins.c:
6307         Hard-code sudoers.so instead of using SUDOERS_PLUGIN since libtool
6308         appears to always install a shared object with the .so suffix.
6309         [f9bbd0c0e9d3]
6310
6311         * compat/Makefile.in, configure, configure.in,
6312         plugins/sample/Makefile.in, plugins/sudoers/Makefile.in,
6313         src/Makefile.in:
6314         Play more nicely with libtool and let it build libreplace (was
6315         libmissing) for us.
6316         [a4c6ebb2495c]
6317
6318         * include/missing.h:
6319         Include stdarg.h for va_list rather than requiring all consumers of
6320         missing.h to include stdarg.h themselves.
6321         [37382df948de]
6322
6323         * include/lbuf.h, plugins/sudoers/auth/sudo_auth.c,
6324         plugins/sudoers/check.c, plugins/sudoers/sudo_nss.c,
6325         plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h, src/lbuf.c,
6326         src/parse_args.c:
6327         Pass in output function to lbuf_init() instead of writing to stdout.
6328         A side effect is that the usage info can now go to stderr as it
6329         should.
6330         [6d261261a072]
6331
6332 2010-03-17  Todd C. Miller  <Todd.Miller@courtesan.com>
6333
6334         * include/lbuf.h, plugins/sudoers/sudo_nss.c,
6335         plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h, src/lbuf.c,
6336         src/parse_args.c, src/sudo.c:
6337         Use number of tty columns that is passed in user_info instead of
6338         getting it directly in the lbuf code.
6339         [8a16635c2638]
6340
6341         * plugins/sudoers/alias.c, plugins/sudoers/auth/dce.c,
6342         plugins/sudoers/auth/kerb5.c, plugins/sudoers/auth/pam.c,
6343         plugins/sudoers/auth/sia.c, plugins/sudoers/auth/sudo_auth.h,
6344         plugins/sudoers/check.c, plugins/sudoers/defaults.c,
6345         plugins/sudoers/defaults.h, plugins/sudoers/env.c,
6346         plugins/sudoers/getdate.c, plugins/sudoers/getdate.y,
6347         plugins/sudoers/gram.c, plugins/sudoers/gram.y,
6348         plugins/sudoers/interfaces.h, plugins/sudoers/logging.c,
6349         plugins/sudoers/logging.h, plugins/sudoers/match.c,
6350         plugins/sudoers/mon_systrace.h, plugins/sudoers/parse.c,
6351         plugins/sudoers/parse.h, plugins/sudoers/pwutil.c,
6352         plugins/sudoers/redblack.c, plugins/sudoers/redblack.h,
6353         plugins/sudoers/set_perms.c, plugins/sudoers/sudo_nss.h,
6354         plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h,
6355         plugins/sudoers/sudoreplay.c, plugins/sudoers/testsudoers.c,
6356         plugins/sudoers/timestr.c, plugins/sudoers/toke.c,
6357         plugins/sudoers/toke.l, plugins/sudoers/tsgetgrpw.c,
6358         plugins/sudoers/visudo.c:
6359         Kill __P in sudoers
6360         [63601e6cb171]
6361
6362         * config.h.in, configure, configure.in, src/load_plugins.c:
6363         Set the sudoers plugin name in configure so we get the extension
6364         right.
6365         [edad89924cd1]
6366
6367         * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod:
6368         Document lines/cols in user_info
6369         [a808872394f3]
6370
6371         * src/Makefile.in, src/sudo.c, src/sudo.h, src/ttysize.c:
6372         Add tty size to user info
6373         [23f3d27e77a7]
6374
6375         * src/script.c:
6376         Use TIOCGSIZE/TIOCSSIZE instead of TIOCGWINSZ/TIOCSWINSZ
6377         [a2208dd09051]
6378
6379 2010-03-16  Todd C. Miller  <Todd.Miller@courtesan.com>
6380
6381         * plugins/sudoers/sudoers.c:
6382         Kill dead code Add missing sigsetjmp in sudo_policy_invalidate Error
6383         out if we fail to lookup the user's name that is passed in
6384         [e4e3728ed482]
6385
6386         * plugins/sudoers/error.c:
6387         Pass the error value back via siglongjmp.
6388         [667b8ad575ce]
6389
6390         * plugins/sudoers/check.c:
6391         Use conversation function for lecture.
6392         [1ab4719f509b]
6393
6394         * plugins/sudoers/check.c:
6395         Don't update ticket file if verify_user returns FALSE.
6396         [2bbc46a39a2b]
6397
6398 2010-03-15  Todd C. Miller  <Todd.Miller@courtesan.com>
6399
6400         * plugins/sudoers/sudoers.c, src/sudo.c:
6401         Wire up invalidate and validate methods for sudoers
6402         [c0630c7bca47]
6403
6404         * plugins/sudoers/check.c, plugins/sudoers/sudoers.c,
6405         plugins/sudoers/sudoers.h:
6406         Add support for -k flag with a command.
6407         [edad239b098b]
6408
6409         * src/parse_args.c:
6410         Allow -k to be specified with a command.
6411         [43a45add9974]
6412
6413         * plugins/sudoers/sudoers.c:
6414         Wire up policy_list
6415         [27cc35699eca]
6416
6417         * plugins/sudoers/error.c:
6418         Add newline at the end of message and space after the colon in
6419         warning message
6420         [5a591aa8e744]
6421
6422         * plugins/sudoers/auth/sudo_auth.c:
6423         Add missing newline after pass password warning
6424         [337dba3870a7]
6425
6426         * plugins/sudoers/sudoers.c:
6427         Set user_groups and user_ngroups based on user_info
6428         [61bee85128c8]
6429
6430         * plugins/sudoers/error.c:
6431         Make this compile
6432         [7041c441e1c8]
6433
6434         * plugins/sudoers/error.c, plugins/sudoers/sudoers.c:
6435         Make _warning in error.c use the conversation function and remove
6436         commented out warning/warningx in sudoers.c.
6437         [7c9b09024b63]
6438
6439         * plugins/sudoers/logging.c:
6440         Use siglongjmp() in log_error for fatal errors
6441         [b50e26f1c73f]
6442
6443         * plugins/sample/Makefile.in, plugins/sudoers/Makefile.in:
6444         Quiet a libtool warning
6445         [b2331fb006bc]
6446
6447         * Makefile:
6448         Build sudoers plugin
6449         [5cdf06e66978]
6450
6451         * plugins/sudoers/gram.c, plugins/sudoers/gram.y:
6452         Use warningx in yyerror() so the conversation function gets used
6453         when built as part of sudoers.
6454         [85f964215eef]
6455
6456 2010-03-14  Todd C. Miller  <Todd.Miller@courtesan.com>
6457
6458         * plugins/sudoers/auth/pam.c:
6459         Rename sudo_conv to conversation to avoid a namespace conflict.
6460         [1ad359d36be9]
6461
6462         * plugins/sudoers/Makefile.in, plugins/sudoers/alias.c,
6463         plugins/sudoers/auth/afs.c, plugins/sudoers/auth/aix_auth.c,
6464         plugins/sudoers/auth/bsdauth.c, plugins/sudoers/auth/dce.c,
6465         plugins/sudoers/auth/fwtk.c, plugins/sudoers/auth/kerb4.c,
6466         plugins/sudoers/auth/kerb5.c, plugins/sudoers/auth/pam.c,
6467         plugins/sudoers/auth/passwd.c, plugins/sudoers/auth/rfc1938.c,
6468         plugins/sudoers/auth/secureware.c, plugins/sudoers/auth/securid.c,
6469         plugins/sudoers/auth/securid5.c, plugins/sudoers/auth/sia.c,
6470         plugins/sudoers/auth/sudo_auth.c, plugins/sudoers/auth/sudo_auth.h,
6471         plugins/sudoers/check.c, plugins/sudoers/defaults.c,
6472         plugins/sudoers/env.c, plugins/sudoers/error.c,
6473         plugins/sudoers/find_path.c, plugins/sudoers/getspwuid.c,
6474         plugins/sudoers/goodpath.c, plugins/sudoers/gram.c,
6475         plugins/sudoers/gram.y, plugins/sudoers/interfaces.c,
6476         plugins/sudoers/ldap.c, plugins/sudoers/logging.c,
6477         plugins/sudoers/match.c, plugins/sudoers/mon_systrace.c,
6478         plugins/sudoers/parse.c, plugins/sudoers/pwutil.c,
6479         plugins/sudoers/redblack.c, plugins/sudoers/set_perms.c,
6480         plugins/sudoers/sudo_nss.c, plugins/sudoers/sudoers.c,
6481         plugins/sudoers/sudoers.h, plugins/sudoers/testsudoers.c,
6482         plugins/sudoers/toke.c, plugins/sudoers/tsgetgrpw.c,
6483         plugins/sudoers/vasgroups.c, plugins/sudoers/visudo.c:
6484         Initial bits of sudoers plugin; still needs work.
6485         [af2a2c59a952]
6486
6487         * config.h.in:
6488         Add HAVE_STRDUP and HAVE_STRNDUP
6489         [50a3c0dd510f]
6490
6491         * compat/Makefile.in, configure, configure.in:
6492         Build libmissing in two flavors (one PIC one non-PIC) and link with
6493         the appropriate one.
6494         [b62f411a4c18]
6495
6496         * Makefile, compat/fnmatch.c, compat/glob.c, compat/nanosleep.c,
6497         compat/utimes.c, plugins/sample/Makefile.in, src/Makefile.in:
6498         Build libmissing in two flavors (one PIC one non-PIC) and link with
6499         the appropriate one.
6500         [e1e04972b5fe]
6501
6502 2010-03-13  Todd C. Miller  <Todd.Miller@courtesan.com>
6503
6504         * include/missing.h:
6505         Add strdup and strndup and fix strsignal
6506         [c159babe2896]
6507
6508 2010-03-12  Todd C. Miller  <Todd.Miller@courtesan.com>
6509
6510         * compat/strdup.c, compat/strndup.c, configure, configure.in,
6511         plugins/sample/Makefile.in, src/Makefile.in:
6512         Add strdup and strndup to compat
6513         [25c9fd399a4d]
6514
6515         * plugins/sample/sample_plugin.c:
6516         Need to include compat.h before missing.h
6517         [c94f7aad380f]
6518
6519         * compat/strsignal.c:
6520         Must check HAVE_DECL_SYS_SIGLIST == 1 (not just if defined) since if
6521         it doesn't exist configure will set it to 0.
6522         [384580566389]
6523
6524         * compat/glob.c:
6525         Fix botched ANSI C coversion of globexp2()
6526         [4a344b8cbe49]
6527
6528         * configure, configure.in:
6529         Remove redundant getgroups check
6530         [0b16ec210c81]
6531
6532         * configure, configure.in, src/lbuf.c, src/script.c, src/term.c:
6533         Require either termios or termio, no more sgtty.
6534         [9b2fa2f17a1c]
6535
6536         * compat/strsignal.c, config.h.in, configure, configure.in:
6537         Change the sys_siglist check to use AC_CHECK_DECLS and also check
6538         for _sys_siglist and__sys_siglist
6539         [2e078fed2408]
6540
6541 2010-03-11  Todd C. Miller  <Todd.Miller@courtesan.com>
6542
6543         * configure, configure.in, src/Makefile.in:
6544         Change SUDO_LDFLAGS to SUDOERS_LDFLAGS and add SUDOERS_OBJS. We now
6545         use SUDO_OBJS for the main driver as part of OBJS.
6546         [9ae4a80a5ade]
6547
6548         * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod:
6549         Mention in the conversation function section that a newline is not
6550         implicit.
6551         [04a233b6c491]
6552
6553         * include/compat.h:
6554         Add definition of WCOREDUMP for systems without it. This is known
6555         to work on AIX and SunOS 4, but may be incorrect on other systems
6556         that lack WCOREDUMP.
6557         [c85b3ce6b77d]
6558
6559 2010-03-09  Todd C. Miller  <Todd.Miller@courtesan.com>
6560
6561         * plugins/sample/sample_plugin.c, src/conversation.c:
6562         conversation function no longer puts a newline at the end of info or
6563         error messages.
6564         [c534cae1ac4a]
6565
6566 2010-03-07  Todd C. Miller  <Todd.Miller@courtesan.com>
6567
6568         * src/script.c:
6569         Use parent process group id instead of parent process id when
6570         checking foreground status and suspending parent. Fixes an issue
6571         when running commands under /usr/bin/time and others.
6572         [564f528c3bb7]
6573
6574 2010-03-06  Todd C. Miller  <Todd.Miller@courtesan.com>
6575
6576         * aclocal.m4:
6577         transcript option is now --with not --enable
6578         [0646fac4cf93]
6579
6580         * plugins/sample/sample_plugin.c:
6581         Add support to -u and -g flags Check fmt_string retval Add timeout
6582         for debugging purposes
6583         [cfefa4fa60b5]
6584
6585         * src/script.c, src/sudo.c:
6586         Wire up SIGALRM handler Set close on exec flag for child side of the
6587         socketpair Fix signal handling when not doing I/O logging
6588         [379581ec7272]
6589
6590         * src/sudo.c:
6591         g/c unused SIGCHLD handler
6592         [0afa03912dce]
6593
6594         * src/fmt_string.c, src/parse_args.c, src/sudo.c:
6595         Don't use emalloc() in fmt_string(); we want to be able to use it
6596         from a plugin.
6597         [ade64d368147]
6598
6599         * include/list.h:
6600         tq_remove not list_remove
6601         [0e0e1fd5c31c]
6602
6603         * configure, configure.in:
6604         AUTH_OBJS should contain .lo files not .o files.
6605         [c64c82c9d5a2]
6606
6607 2010-03-05  Todd C. Miller  <Todd.Miller@courtesan.com>
6608
6609         * src/parse_args.c:
6610         Simplify conversion of command line args to name=value pairs.
6611         [75ab127c6a94]
6612
6613         * plugins/sample/sample_plugin.c:
6614         Handle NULL reply from conversation function
6615         [6ce09b6cb204]
6616
6617         * compat/getline.c:
6618         Don't depend on emalloc/erealloc
6619         [73df09e2109f]
6620
6621         * plugins/sample/Makefile.in:
6622         Use $(OBJS) instead of sample_plugin.lo
6623         [2d995db9aa99]
6624
6625         * plugins/sample/sample_plugin.c:
6626         runas_user is in settings not user_info
6627         [7ee12068bc57]
6628
6629         * src/parse_args.c:
6630         Fix a mismatch between sudo_settings and settings_pairs that causes
6631         some settings to get the wrong values.
6632         [b1bc6d81a65f]
6633
6634 2010-03-04  Todd C. Miller  <Todd.Miller@courtesan.com>
6635
6636         * src/Makefile.in, src/aix.c, src/alloc.c, src/atobool.c, src/error.c,
6637         src/fileops.c, src/lbuf.c, src/list.c, src/pty.c, src/sesh.c,
6638         src/sudo.c, src/sudo_edit.c, src/term.c, src/zero_bytes.c:
6639         Convert to ANSI C
6640         [d03b6e4a3b75]
6641
6642         * src/load_plugins.c:
6643         Fix strlcpy() return value check.
6644         [7cd66999a374]
6645
6646         * INSTALL, configure, configure.in:
6647         No longer need to substitute in script.o and pty.o; I/O logging
6648         support is always built.
6649         [45250024c5dc]
6650
6651 2010-02-28  Todd C. Miller  <Todd.Miller@courtesan.com>
6652
6653         * src/script.c:
6654         Add fallback to /bin/sh when execve() fails with ENOEXEC.
6655         [7684a15a1352]
6656
6657         * include/alloc.h, src/alloc.c:
6658         Add estrndup()
6659         [47621c83bed9]
6660
6661 2010-02-27  Todd C. Miller  <Todd.Miller@courtesan.com>
6662
6663         * src/script.c, src/sudo.c:
6664         Refactor script_execve() a bit so that it can be used in non-script
6665         mode. Needs more cleanup.
6666         [f09e022d547c]
6667
6668         * src/sudo.c:
6669         Ignore empty entries in command_info list
6670         [1eea9a8de21c]
6671
6672         * include/list.h, src/list.c:
6673         Add tq_remove
6674         [40908a617cb2]
6675
6676         * src/conversation.c:
6677         Pass timeout to tgetpass()
6678         [9e66c918b771]
6679
6680         * Makefile:
6681         Add ChangeLog target
6682         [da4a39150838]
6683
6684         * README, WHATSNEW:
6685         Bump version and update things slightly for sudo 1.8.0
6686         [4b73cc45e2d4]
6687
6688         * configure, configure.in:
6689         Sudo now requires an ANSI/ISO C compiler
6690         [1e51f72e6964]
6691
6692         * src/alloc.c, src/audit.c, src/error.c, src/lbuf.c,
6693         src/sudo_noexec.c:
6694         Convert to ANSI C
6695         [5cbd315dbde8]
6696
6697         * include/alloc.h, include/compat.h, include/error.h, include/lbuf.h,
6698         include/list.h, include/missing.h:
6699         Convert to ANSI C
6700         [3f5016ff64f4]
6701
6702         * compat/charclass.h, compat/closefrom.c, compat/fnmatch.c,
6703         compat/fnmatch.h, compat/getcwd.c, compat/getline.c,
6704         compat/getprogname.c, compat/glob.c, compat/glob.h,
6705         compat/isblank.c, compat/memrchr.c, compat/mkstemp.c,
6706         compat/nanosleep.c, compat/sigaction.c, compat/snprintf.c,
6707         compat/strcasecmp.c, compat/strerror.c, compat/strlcat.c,
6708         compat/strlcpy.c, compat/strsignal.c, compat/utime.h,
6709         compat/utimes.c:
6710         Convert to ANSI C
6711         [0d635c85461c]
6712
6713 2010-02-24  Todd C. Miller  <Todd.Miller@courtesan.com>
6714
6715         * src/sudo.c, src/tgetpass.c:
6716         Make user_details extern so tgetpass can get at the uid and gid. Set
6717         uid/gid to user before executing askpass program. Check environment
6718         for SUDO_ASKPASS and use that if set. TODO: a way for the policy to
6719         set the askpass program itself
6720         [d33606396176]
6721
6722         * src/sudo.c:
6723         No longer need sudo_usage.h in sudo.c
6724         [063e2946c382]
6725
6726         * doc/sudo.cat, doc/sudo.man.in, doc/sudo.pod, doc/sudo_plugin.man.in,
6727         doc/sudo_plugin.pod, src/Makefile.in, src/parse_args.c,
6728         src/sudo_usage.h.in:
6729         Document -D level command line flag which maps to the debug_level
6730         setting.
6731         [61f1e2ab3ac1]
6732
6733         * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod:
6734         Document debug_level in plugin doc. Still need to document the -D
6735         flag in sudo itself.
6736         [8c62daea3e9b]
6737
6738 2010-02-21  Todd C. Miller  <Todd.Miller@courtesan.com>
6739
6740         * plugins/sample/sample_plugin.c:
6741         include missing,h for vasprintf
6742         [92503de49b39]
6743
6744         * doc/Makefile.in, doc/plugin.pod, doc/sudo_plugin.cat,
6745         doc/sudo_plugin.man.in, doc/sudo_plugin.pod:
6746         Rename plugin.pod -> sudo_plugin.pod and wire into Makefile
6747         [14cfb4775238]
6748
6749         * plugins/sample/sample_plugin.c:
6750         Need to include limits.h
6751         [bda7f74343d2]
6752
6753         * compat/glob.c:
6754         No more sudo_getpw*
6755         [232e52907634]
6756
6757         * plugins/sample/Makefile.in, src/Makefile.in:
6758         Add missing compat bits
6759         [4843dd000e08]
6760
6761         * compat/closefrom.c, compat/mkstemp.c, plugins/sample/Makefile.in:
6762         compat files should not include sudo.h wire up compat in sample
6763         plugin
6764         [a175b8185e0f]
6765
6766         * Makefile, configure, configure.in, doc/Makefile.in, src/Makefile.in:
6767         Fix up compat dependencies. Fix distclean target in doc/Makefile.in
6768         [57e49bc20857]
6769
6770         * configure, configure.in:
6771         Fix typo
6772         [333655e3d5fe]
6773
6774         * plugins/sample/sample_plugin.c:
6775         Log input and output to temp files for proof of concept.
6776         [ae1dfc34f7d6]
6777
6778         * Makefile, configure, configure.in, doc/Makefile.in:
6779         Add doc Makefile.in and wire it up
6780         [6a310443c87d]
6781
6782         * src/script.c:
6783         Handle SIGSTOP in addition to SIGTSTP. Fixes a problem with
6784         suspending a shell with the "suspend" builtint.
6785         [3d65f182819a]
6786
6787         * src/script.c:
6788         In child, handle parent side of the pipe going away.
6789         [a29c14d78cd9]
6790
6791         * src/script.c:
6792         No longer need to check for explicit death of the child (process #2)
6793         since if it dies we will get EPIPE from the socketpair. Fix a
6794         sizeof() that was causing a spurious error. Convert SCRIPT_DEBUG to
6795         sudo_debug.
6796         [24c55dd4ff60]
6797
6798         * src/sudo.c:
6799         Make sudo_debug do a single vfprintf() which will result in a single
6800         write call on most systems. Avoids problems with interleaved debug
6801         printf from different processes. Also remove an extraneous error
6802         case since recv() can't return a short read and add some more XXX.
6803         [b37a8533ef1e]
6804
6805 2010-02-20  Todd C. Miller  <Todd.Miller@courtesan.com>
6806
6807         * src/script.c:
6808         Fix uninitialized variable.
6809         [e012a0a30890]
6810
6811         * src/Makefile.in:
6812         Fix sudo install target
6813         [1417fa4b4ab9]
6814
6815         * src/parse_args.c, src/sudo.c, src/sudo.h:
6816         Wire up debug_level
6817         [144fab289c73]
6818
6819         * src/Makefile.in:
6820         Fix dependencies
6821         [5170940af2ce]
6822
6823         * configure, configure.in:
6824         Fix setting of plugin dir
6825         [144eda170a72]
6826
6827         * Makefile:
6828         add clean targets
6829         [d53f6f6f5c3a]
6830
6831         * src/atobool.c:
6832         Add missing source for sudo front end
6833         [42487de9c489]
6834
6835         * plugins/sample/Makefile.in, plugins/sample/sample_plugin.c:
6836         Sample plugin demonstrating the sudo plugin API
6837         [f1fd62d7644f]
6838
6839         * Makefile, configure, configure.in, install-sh, pathnames.h.in,
6840         plugins/sudoers/install-sh, src/Makefile.in, src/conversation.c,
6841         src/fileops.c, src/fmt_string.c, src/load_plugins.c,
6842         src/parse_args.c, src/pty.c, src/script.c, src/sudo.c, src/sudo.h,
6843         src/sudo_plugin_int.h, src/sudo_usage.h.in, src/tgetpass.c,
6844         sudo_usage.h.in:
6845         Modular sudo front-end which loads policy and I/O plugins that do
6846         most the actual work. Currently relies on dynamic loading using
6847         dlopen(). See doc/plugin.pod for the plugin API.
6848         [924f6eb2fbba]
6849
6850         * doc/plugin.pod, include/sudo_plugin.h:
6851         Sudo plugin API
6852         [374ccbbd24ae]
6853
6854         * compat/fnmatch.c, compat/glob.c, compat/nanosleep.c,
6855         compat/utimes.c, plugins/sudoers/check.c, plugins/sudoers/gettime.c,
6856         plugins/sudoers/match.c, plugins/sudoers/sudoreplay.c,
6857         plugins/sudoers/testsudoers.c, plugins/sudoers/visudo.c,
6858         src/fileops.c, src/sudo_edit.c:
6859         Replace emul/include.h with compat/include.h to match new source
6860         tree layout.
6861         [7eccd10449a1]
6862
6863         * src/lbuf.c:
6864         Include missing.h for memrchr() proto
6865         [03abd63a8a33]
6866
6867         * HISTORY, LICENSE, Makefile.binary.in, Makefile.in, PORTING,
6868         TROUBLESHOOTING, UPGRADE, aix.c, aixcrypt.exp, alias.c, alloc.c,
6869         alloc.h, audit.c, auth/API, auth/afs.c, auth/aix_auth.c,
6870         auth/bsdauth.c, auth/dce.c, auth/fwtk.c, auth/kerb4.c, auth/kerb5.c,
6871         auth/pam.c, auth/passwd.c, auth/rfc1938.c, auth/secureware.c,
6872         auth/securid.c, auth/securid5.c, auth/sia.c, auth/sudo_auth.c,
6873         auth/sudo_auth.h, boottime.c, bsm_audit.c, bsm_audit.h, check.c,
6874         closefrom.c, compat.h, compat/charclass.h, compat/closefrom.c,
6875         compat/fnmatch.c, compat/fnmatch.h, compat/getcwd.c,
6876         compat/getline.c, compat/getprogname.c, compat/glob.c,
6877         compat/glob.h, compat/isblank.c, compat/memrchr.c, compat/mkstemp.c,
6878         compat/nanosleep.c, compat/sigaction.c, compat/snprintf.c,
6879         compat/strcasecmp.c, compat/strerror.c, compat/strlcat.c,
6880         compat/strlcpy.c, compat/strsignal.c, compat/timespec.h,
6881         compat/utime.h, compat/utimes.c, def_data.c, def_data.h,
6882         def_data.in, defaults.c, defaults.h, doc/HISTORY, doc/LICENSE,
6883         doc/PORTING, doc/TROUBLESHOOTING, doc/UPGRADE, doc/history.pod,
6884         doc/license.pod, doc/sample.pam, doc/sample.sudoers,
6885         doc/sample.syslog.conf, doc/schema.ActiveDirectory,
6886         doc/schema.OpenLDAP, doc/schema.iPlanet, doc/sudo.cat,
6887         doc/sudo.man.in, doc/sudo.man.pl, doc/sudo.pod, doc/sudoers.cat,
6888         doc/sudoers.ldap.cat, doc/sudoers.ldap.man.in, doc/sudoers.ldap.pod,
6889         doc/sudoers.man.in, doc/sudoers.man.pl, doc/sudoers.pod,
6890         doc/sudoreplay.cat, doc/sudoreplay.man.in, doc/sudoreplay.pod,
6891         doc/visudo.cat, doc/visudo.man.in, doc/visudo.pod, emul/charclass.h,
6892         emul/fnmatch.h, emul/glob.h, emul/timespec.h, emul/utime.h, env.c,
6893         error.c, error.h, fileops.c, find_path.c, fnmatch.c, getcwd.c,
6894         getdate.c, getdate.y, getline.c, getprogname.c, getspwuid.c,
6895         gettime.c, glob.c, goodpath.c, gram.c, gram.h, gram.y, history.pod,
6896         include/alloc.h, include/compat.h, include/error.h, include/lbuf.h,
6897         include/list.h, include/missing.h, ins_2001.h, ins_classic.h,
6898         ins_csops.h, ins_goons.h, install-sh, insults.h, interfaces.c,
6899         interfaces.h, isblank.c, lbuf.c, lbuf.h, ldap.c, license.pod,
6900         list.c, list.h, logging.c, logging.h, match.c, memrchr.c, missing.h,
6901         mkdefaults, mkstemp.c, mon_systrace.c, mon_systrace.h, nanosleep.c,
6902         nonunix.h, parse.c, parse.h, plugins/sudoers/Makefile.binary.in,
6903         plugins/sudoers/Makefile.in, plugins/sudoers/aixcrypt.exp,
6904         plugins/sudoers/alias.c, plugins/sudoers/auth/API,
6905         plugins/sudoers/auth/afs.c, plugins/sudoers/auth/aix_auth.c,
6906         plugins/sudoers/auth/bsdauth.c, plugins/sudoers/auth/dce.c,
6907         plugins/sudoers/auth/fwtk.c, plugins/sudoers/auth/kerb4.c,
6908         plugins/sudoers/auth/kerb5.c, plugins/sudoers/auth/pam.c,
6909         plugins/sudoers/auth/passwd.c, plugins/sudoers/auth/rfc1938.c,
6910         plugins/sudoers/auth/secureware.c, plugins/sudoers/auth/securid.c,
6911         plugins/sudoers/auth/securid5.c, plugins/sudoers/auth/sia.c,
6912         plugins/sudoers/auth/sudo_auth.c, plugins/sudoers/auth/sudo_auth.h,
6913         plugins/sudoers/boottime.c, plugins/sudoers/check.c,
6914         plugins/sudoers/def_data.c, plugins/sudoers/def_data.h,
6915         plugins/sudoers/def_data.in, plugins/sudoers/defaults.c,
6916         plugins/sudoers/defaults.h, plugins/sudoers/env.c,
6917         plugins/sudoers/find_path.c, plugins/sudoers/getdate.c,
6918         plugins/sudoers/getdate.y, plugins/sudoers/getspwuid.c,
6919         plugins/sudoers/gettime.c, plugins/sudoers/goodpath.c,
6920         plugins/sudoers/gram.c, plugins/sudoers/gram.h,
6921         plugins/sudoers/gram.y, plugins/sudoers/ins_2001.h,
6922         plugins/sudoers/ins_classic.h, plugins/sudoers/ins_csops.h,
6923         plugins/sudoers/ins_goons.h, plugins/sudoers/install-sh,
6924         plugins/sudoers/insults.h, plugins/sudoers/interfaces.c,
6925         plugins/sudoers/interfaces.h, plugins/sudoers/ldap.c,
6926         plugins/sudoers/logging.c, plugins/sudoers/logging.h,
6927         plugins/sudoers/match.c, plugins/sudoers/mkdefaults,
6928         plugins/sudoers/mon_systrace.c, plugins/sudoers/mon_systrace.h,
6929         plugins/sudoers/nonunix.h, plugins/sudoers/parse.c,
6930         plugins/sudoers/parse.h, plugins/sudoers/pwutil.c,
6931         plugins/sudoers/redblack.c, plugins/sudoers/redblack.h,
6932         plugins/sudoers/set_perms.c, plugins/sudoers/sudo_nss.c,
6933         plugins/sudoers/sudo_nss.h, plugins/sudoers/sudoers,
6934         plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h,
6935         plugins/sudoers/sudoers2ldif, plugins/sudoers/sudoreplay.c,
6936         plugins/sudoers/testsudoers.c, plugins/sudoers/timestr.c,
6937         plugins/sudoers/toke.c, plugins/sudoers/toke.l,
6938         plugins/sudoers/tsgetgrpw.c, plugins/sudoers/vasgroups.c,
6939         plugins/sudoers/visudo.c, pty.c, pwutil.c, redblack.c, redblack.h,
6940         sample.pam, sample.sudoers, sample.syslog.conf,
6941         schema.ActiveDirectory, schema.OpenLDAP, schema.iPlanet, script.c,
6942         selinux.c, sesh.c, set_perms.c, sigaction.c, snprintf.c, src/aix.c,
6943         src/alloc.c, src/audit.c, src/bsm_audit.c, src/bsm_audit.h,
6944         src/error.c, src/fileops.c, src/lbuf.c, src/list.c, src/pty.c,
6945         src/script.c, src/selinux.c, src/sesh.c, src/sudo_edit.c,
6946         src/sudo_noexec.c, src/term.c, src/tgetpass.c, src/zero_bytes.c,
6947         strcasecmp.c, strerror.c, strlcat.c, strlcpy.c, strsignal.c, sudo.c,
6948         sudo.cat, sudo.h, sudo.man.in, sudo.man.pl, sudo.pod, sudo_edit.c,
6949         sudo_noexec.c, sudo_nss.c, sudo_nss.h, sudoers, sudoers.cat,
6950         sudoers.ldap.cat, sudoers.ldap.man.in, sudoers.ldap.pod,
6951         sudoers.man.in, sudoers.man.pl, sudoers.pod, sudoers2ldif,
6952         sudoreplay.c, sudoreplay.cat, sudoreplay.man.in, sudoreplay.pod,
6953         term.c, testsudoers.c, tgetpass.c, timestr.c, toke.c, toke.l,
6954         tsgetgrpw.c, utimes.c, vasgroups.c, visudo.c, visudo.cat,
6955         visudo.man.in, visudo.pod, zero_bytes.c:
6956         Rework source layout in preparation for modular sudo.
6957         [7fc1978c6ad5]
6958
6959 2010-02-13  Todd C. Miller  <Todd.Miller@courtesan.com>
6960
6961         * Avoid a duplicate fclose() of the sudoers file.
6962         [5dba851088c1]
6963
6964         * Fix size arg when realloc()ing include stack. From Daniel Kopecek
6965         [0a2935061e33]
6966
6967         * Use setrlimit64(), if available, instead of setrlimit() when setting
6968         AIX resource limits since rlim_t is 32bits.
6969         [353db89bac61]
6970
6971         * Fix use after free when sending error messages. From Timo Juhani
6972         Lindfors
6973         [e50dbd902382]
6974
6975         * ChangeLog, Makefile.in:
6976         Generate the ChangeLog as part of "make dist" instead of having it
6977         in the repo.
6978         [251b70964673]
6979
6980 2010-01-17  Todd C. Miller  <Todd.Miller@courtesan.com>
6981
6982         * Makefile.binary.in, Makefile.in, aix.c, alias.c, alloc.c, alloc.h,
6983         auth/afs.c, auth/aix_auth.c, auth/bsdauth.c, auth/dce.c,
6984         auth/fwtk.c, auth/kerb4.c, auth/kerb5.c, auth/pam.c, auth/passwd.c,
6985         auth/rfc1938.c, auth/secureware.c, auth/securid.c, auth/securid5.c,
6986         auth/sia.c, auth/sudo_auth.c, auth/sudo_auth.h, check.c,
6987         closefrom.c, compat.h, configure.in, defaults.c, defaults.h,
6988         emul/charclass.h, emul/timespec.h, env.c, error.c, error.h,
6989         fileops.c, find_path.c, getcwd.c, getprogname.c, getspwuid.c,
6990         gettime.c, goodpath.c, gram.c, gram.y, ins_2001.h, ins_classic.h,
6991         ins_csops.h, ins_goons.h, insults.h, interfaces.c, interfaces.h,
6992         isblank.c, lbuf.c, lbuf.h, ldap.c, list.c, list.h, logging.c,
6993         logging.h, match.c, memrchr.c, missing.h, mkinstalldirs, mkstemp.c,
6994         mon_systrace.c, nanosleep.c, parse.c, parse.h, pathnames.h.in,
6995         pty.c, pwutil.c, redblack.c, redblack.h, sample.pam, sample.sudoers,
6996         sample.syslog.conf, script.c, selinux.c, sesh.c, set_perms.c,
6997         sigaction.c, snprintf.c, strcasecmp.c, strerror.c, strlcat.c,
6998         strlcpy.c, strsignal.c, sudo.c, sudo.h, sudo.man.in, sudo.pod,
6999         sudo_edit.c, sudo_noexec.c, sudo_nss.c, sudo_nss.h, sudo_usage.h.in,
7000         sudoers.ldap.man.in, sudoers.ldap.pod, sudoers.man.in, sudoers.pod,
7001         sudoers2ldif, sudoreplay.c, sudoreplay.man.in, sudoreplay.pod,
7002         term.c, testsudoers.c, tgetpass.c, timestr.c, toke.c, toke.l,
7003         utimes.c, visudo.c, visudo.man.in, visudo.pod, zero_bytes.c:
7004         Remove CVS $Sudo$ tags.
7005         [de683a8b31f5]
7006
7007 2010-01-18  convert-repo  <convert-repo>
7008
7009         * .hgtags:
7010         update tags
7011         [9b7aa44ae436]
7012
7013 2009-12-26  Todd C. Miller  <Todd.Miller@courtesan.com>
7014
7015         * sudo_usage.h.in:
7016         make this match sudoers SYNOPSIS
7017         [c74ba66944c2]
7018
7019         * lbuf.c, parse.c:
7020         Print a newline between Runas and Command-specific defaults in sudo
7021         -l.
7022         [b5bdfcc9ce4b]
7023
7024         * term.c:
7025         Use SET and CLR macros in term_raw
7026         [50ca42609d6c]
7027
7028         * sudoreplay.c:
7029         Set stdin to non-blocking mode early instead of in check_input. Use
7030         term_raw instead of term_cbreak since the data we get has already
7031         been expanded via OPOST.
7032         [51c47e803d62]
7033
7034 2009-12-23  Todd C. Miller  <Todd.Miller@courtesan.com>
7035
7036         * script.c, term.c:
7037         Enable/disable all postprocessing instead of just nl->crnl
7038         processing since things like tab expansion matter too. However, if
7039         stdout is a tty leave postprocessing on in the pty since we run into
7040         problems doing it only on the real stdout with .e.g nvi.
7041         [62666e309673]
7042
7043 2009-12-19  Todd C. Miller  <Todd.Miller@courtesan.com>
7044
7045         * check.c:
7046         If tty_tickets is enabled and there is no tty, prompt for a
7047         password. Do not lecture user for "sudo -k command" if user has a
7048         timestamp.
7049         [5880200c5f6b]
7050
7051         * INSTALL:
7052         Document missing options: --with-efence and --with-bsm-audit
7053         [d83afcdf9ff3]
7054
7055         * sudo.cat, sudo.man.in, sudo.pod, sudoers.cat, sudoers.ldap.cat,
7056         sudoers.ldap.man.in, sudoers.ldap.pod, sudoers.man.in, sudoers.pod,
7057         sudoreplay.cat, sudoreplay.man.in, sudoreplay.pod, visudo.cat,
7058         visudo.man.in, visudo.pod:
7059         username -> user name groupname -> group name hostname -> host name
7060         [10c85646f45d]
7061
7062         * INSTALL, README.LDAP, sudoers.pod:
7063         filename -> file name like the rest of the docs
7064         [1ef8ab5a9018]
7065
7066 2009-12-17  Todd C. Miller  <Todd.Miller@courtesan.com>
7067
7068         * parse.c:
7069         Fix printing of entries with multiple host entries on a single line.
7070         [226ceaf91d8d]
7071
7072 2009-12-14  Todd C. Miller  <Todd.Miller@courtesan.com>
7073
7074         * sudoers.pod:
7075         Mention that targetpw affects the timestamp file name.
7076         [a26e22e4f72e]
7077
7078         * def_data.c, def_data.h, def_data.in, defaults.c, script.c,
7079         sudoers.pod:
7080         Add compress_transcript option.
7081         [6e94f8cb9dfb]
7082
7083 2009-12-13  Todd C. Miller  <Todd.Miller@courtesan.com>
7084
7085         * configure, configure.in:
7086         bump to 1.7.3b2
7087         [906d7e347d15]
7088
7089         * pwutil.c, set_perms.c, sudo.c, sudo_nss.c:
7090         Better split of membership vs. traditional group check in
7091         user_in_group(). Allow user_ngroups to be < 0 if getgroups() fails.
7092         [6ebc55d4716b]
7093
7094 2009-12-12  Todd C. Miller  <Todd.Miller@courtesan.com>
7095
7096         * pwutil.c:
7097         Fix pasto and add default return value.
7098         [7973b5e4599c]
7099
7100         * check.c, match.c, pwutil.c, sudo.h:
7101         refactor group member checking into user_in_group()
7102         [48ca8c2eddf8]
7103
7104         * check.c, config.h.in, configure, configure.in, match.c, sudo.c,
7105         sudo.h:
7106         Add support for mbr_check_membership() as present in darwin.
7107         [5501aed02b9f]
7108
7109 2009-12-10  Todd C. Miller  <Todd.Miller@courtesan.com>
7110
7111         * match.c:
7112         Rename label to be accurate
7113         [3af17dd960f7]
7114
7115         * Makefile.in, boottime.c, check.c, config.h.in, configure,
7116         configure.in, sudo.h:
7117         Treat timestamp files from before we booted as old. Idea from and
7118         Apple patch.
7119         [5c96e484c05a]
7120
7121 2009-12-09  Todd C. Miller  <Todd.Miller@courtesan.com>
7122
7123         * sudo.c, sudo.pod, sudo_usage.h.in:
7124         Allow the -u flag to be used in conjunction with the -v flag as per
7125         older versions of sudo.
7126         [591e9fc13c1a]
7127
7128         * logging.c:
7129         fix typo in last commit
7130         [4fd0c692dcf0]
7131
7132 2009-12-08  Todd C. Miller  <Todd.Miller@courtesan.com>
7133
7134         * logging.c:
7135         Convert fmt_first and fmt_confd into macros.
7136         [32e870158b29]
7137
7138         * sudoers.pod:
7139         timeouts can be floats now
7140         [89de639a9679]
7141
7142         * WHATSNEW, def_data.c, def_data.h, def_data.in, defaults.c,
7143         defaults.h, mkdefaults:
7144         Add support for floating point timeout values (e.g. 2.5 minutes).
7145         [210ffa291733]
7146
7147 2009-12-07  Todd C. Miller  <Todd.Miller@courtesan.com>
7148
7149         * sudo.pod:
7150         The -L flag will be removed in sudo 1.7.4
7151         [ffd026084333]
7152
7153 2009-12-06  Todd C. Miller  <Todd.Miller@courtesan.com>
7154
7155         * sudoreplay.c:
7156         Fix a bug due to order of operators.
7157         [938d34464283]
7158
7159 2009-11-23  Todd C. Miller  <Todd.Miller@courtesan.com>
7160
7161         * match.c:
7162         cmnd_matches() already deals with negation so _cmndlist_matches()
7163         does not need to do so itself. Fixes a bug with negated entries in
7164         a Cmnd_List.
7165         [71c845f6ce73]
7166
7167 2009-11-22  Todd C. Miller  <Todd.Miller@courtesan.com>
7168
7169         * sudo.c:
7170         Don't exit() from open_sudoers, just return NULL for all errors.
7171         [8cfa832f972a]
7172
7173         * script.c:
7174         Can't rely on the shell sending us SIGCONT when transitioning from
7175         backgroup to foreground process.
7176         [3c6c5b6cb4b3]
7177
7178         * toke.c, toke.l:
7179         Add missing extern def for parse_error
7180         [45b7b59d03b7]
7181
7182 2009-11-21  Todd C. Miller  <Todd.Miller@courtesan.com>
7183
7184         * toke.c, toke.l:
7185         Avoid a parse error when #includedir doesn't find any files. Closes
7186         bug #375
7187         [1ce1b850e9e6]
7188
7189         * Makefile.in:
7190         Include sudo.man.pl and sudoers.man.pl in the distribution tarball.
7191         [6a22e32da108]
7192
7193 2009-11-15  Todd C. Miller  <Todd.Miller@courtesan.com>
7194
7195         * script.c:
7196         Start command out in foreground mode if stdout is a tty. Works
7197         around issues with some curses-based programs that don't handle
7198         tcsetattr getting interrupted by a signal. Still allows us to avoid
7199         hogging the tty if the command is part of a pipeline.
7200         [1c32f2b94769]
7201
7202         * script.c, sudo.c, sudo.h, sudoreplay.c, term.c, tgetpass.c:
7203         Use a socketpair to pass signals from parent to child. Child will
7204         now pass command status change info back via the socketpair. This
7205         allows the parent to distinguish between signals it has been sent
7206         directly and signals the command has received. It also means the
7207         parent can once again print the signal notifications to the tty so
7208         all writes to the pty master occur in the parent. The command is
7209         now always started in background mode with tty signals handled by
7210         the parent.
7211         [c6790b82986d]
7212
7213 2009-11-04  Todd C. Miller  <Todd.Miller@courtesan.com>
7214
7215         * configure, configure.in:
7216         Fix a few typos in the descriptions; from Jeff Makey Only do the
7217         check for krb5_get_init_creds_opt_free() taking two arguments if we
7218         find krb5_get_init_creds_opt_alloc(). Otherwise we will get a false
7219         positive when using our own krb5_get_init_creds_opt_free which takes
7220         only a single argument.
7221         [845a9ff6f93d]
7222
7223 2009-11-03  Todd C. Miller  <Todd.Miller@courtesan.com>
7224
7225         * configure, configure.in:
7226         Remove a spurious comma in the kerb5 bits.
7227         [3433eab083db]
7228
7229         * auth/kerb5.c:
7230         Call krb5_get_init_creds_opt_init() in our emulated
7231         krb5_get_init_creds_opt_alloc() for MIT kerberos.
7232         [7ffb40bf43e9]
7233
7234 2009-11-01  Todd C. Miller  <Todd.Miller@courtesan.com>
7235
7236         * config.h.in:
7237         Add HAVE_ZLIB
7238         [9297bde61ecc]
7239
7240         * script.c:
7241         Need to ignore SIGTT{IN,OU} in child when running the command in the
7242         background. Also some minor cleanup.
7243         [dc208d982319]
7244
7245 2009-10-31  Todd C. Miller  <Todd.Miller@courtesan.com>
7246
7247         * script.c:
7248         Instead of calling sigsuspend when waiting for SIGUSR[12] from
7249         parent, install the signal handlers w/o SA_RESTART and let them
7250         interrupt waitpid().
7251         [759c7d18203b]
7252
7253         * script.c:
7254         Pass along SIGHUP and SIGTERM from parent to child.
7255         [035b0e254568]
7256
7257         * script.c:
7258         Close unused bits of script_fds in processes that don't need them.
7259         Restore default SIGCONT handler in child.
7260         [e037378ab0c1]
7261
7262         * script.c:
7263         Update foreground/background status in SIGCONT handler in parent
7264         process.
7265         [3f7f91333264]
7266
7267 2009-10-25  Todd C. Miller  <Todd.Miller@courtesan.com>
7268
7269         * script.c:
7270         Defer setting terminal into raw mode until just before we fork() and
7271         only do it if sudo is the foreground process. If we get SIGTT{IN,OU}
7272         and sudo is already in the foreground be sure to set raw mode before
7273         continuing the child.
7274         [1102ef40832c]
7275
7276 2009-10-24  Todd C. Miller  <Todd.Miller@courtesan.com>
7277
7278         * script.c:
7279         Fix handling of SIGTTOU/SIGTTIN in program being run. We now only
7280         give the command the controlling tty if the main sudo process is the
7281         foreground process.
7282         [cf3a91cb5682]
7283
7284         * script.c:
7285         Don't bother with sudo_waitpid() here for now.
7286         [9086de480c2d]
7287
7288         * script.c:
7289         fix non-zlib case
7290         [a258bff0f9a6]
7291
7292 2009-10-23  Todd C. Miller  <Todd.Miller@courtesan.com>
7293
7294         * script.c:
7295         Remove non-wroking code that crept into rev 1.55
7296         [2802dd55cff5]
7297
7298 2009-10-22  Todd C. Miller  <Todd.Miller@courtesan.com>
7299
7300         * INSTALL, configure, configure.in, script.c, sudoreplay.c:
7301         First pass at zlib support for transcript data files
7302         [5d10260807da]
7303
7304         * Makefile.in:
7305         remove vestiges of ZLDFLAGS
7306         [1fa0caf1c0fb]
7307
7308         * script.c:
7309         Add missing variable declaration for when TIOCSCTTY is not defined.
7310         Need to include sys/termio.h for TIOCSCTTY on some systems.
7311         [ee7f41ac2709]
7312
7313         * script.c:
7314         when resuming command, send SIGCONT to its pgrp not just pid
7315         [5cd63c1d565b]
7316
7317         * selinux.c:
7318         remove unused variable
7319         [df67df4be228]
7320
7321         * script.c:
7322         include selinux.h for is_selinux_enabled() proto
7323         [85ebaa880cc1]
7324
7325         * script.c:
7326         Don't use log_error() in the child process.
7327         [def65fe2a433]
7328
7329         * script.c:
7330         Do I/O in parent instead of child since the parent can have both
7331         /dev/tty as well as the pty fds open. The child just sets things up
7332         and waits for its grandchild and writes the signal description to
7333         the pty master if the command was killed by a signal.
7334         [95e473208982]
7335
7336 2009-10-18  Todd C. Miller  <Todd.Miller@courtesan.com>
7337
7338         * missing.h, sudo.h:
7339         Move two struct forward declarations from sudo.h to missing.h
7340         [90ad28294a8c]
7341
7342         * script.c:
7343         Make comment at the top of script_exec() match reality.
7344         [c5042d27dbe0]
7345
7346         * sudo.c:
7347         if neither stdin nor stdout is a tty, check stderr
7348         [c532ff20c8d8]
7349
7350         * Makefile.in:
7351         Add back dependecy of gram.h on gram.y
7352         [c58382b7fcca]
7353
7354         * script.c:
7355         Make transcript mode work as long as we can figure out our tty, even
7356         if it is not stdin. We'd like to use /dev/tty but that won't be
7357         valid after the setsid().
7358         [7b8bba8d99e7]
7359
7360 2009-10-17  Todd C. Miller  <Todd.Miller@courtesan.com>
7361
7362         * config.h.in, configure, configure.in, pty.c:
7363         Add support for IRIX-style dynamic ptys
7364         [bedc9bac44c1]
7365
7366         * Makefile.in, alloc.h, getline.c, sudo.h, sudoreplay.c:
7367         Move alloc.c protos into alloc.h
7368         [b6a90649617d]
7369
7370         * missing.h:
7371         Move prototypes for missing libc functions to missing.h
7372         [dda9ae1ccaf8]
7373
7374         * Makefile.in, sudo.h, sudoreplay.c:
7375         Move prototypes for missing libc functions to missing.h
7376         [7483166b577b]
7377
7378 2009-10-16  Todd C. Miller  <Todd.Miller@courtesan.com>
7379
7380         * config.h.in, configure, configure.in:
7381         Disable transcript support if no tcsetpgrp until we support older
7382         BSD-style job control.
7383         [27ac1d8163df]
7384
7385         * configure, configure.in, pty.c, script.c:
7386         Break out pty code into pty.c
7387         [e85509b25d41]
7388
7389         * compat.h, config.h.in, configure, configure.in:
7390         add killpg macro if no killpg function
7391         [3a125f4a51f0]
7392
7393         * config.h.in, configure, configure.in, script.c:
7394         Push ptem and ldterm for STERAMS-based systems when allocating a
7395         pty.
7396         [36bb39b30ff2]
7397
7398 2009-10-15  Todd C. Miller  <Todd.Miller@courtesan.com>
7399
7400         * script.c:
7401         Sprinkle some more O_NOCTTY and call grantpt() before unlockpt()
7402         [d94bd5c9bf4e]
7403
7404         * script.c:
7405         Call tcgetpgrp() in the parent, not the child and have the child
7406         spin until it is granted. Fixes a race on darwin.
7407         [6e8d435339ce]
7408
7409         * script.c:
7410         Only use TIOCNOTTY in the non-setsid case. If no TIOCSCTTY, just
7411         reopen slave.
7412         [0bdc63c019ca]
7413
7414 2009-10-14  Todd C. Miller  <Todd.Miller@courtesan.com>
7415
7416         * script.c:
7417         In script mode, if the command is killed by a signal, print the
7418         signal description as well as a core dump notification like the
7419         shell does.
7420         [9df61738df07]
7421
7422         * Makefile.in, config.h.in, configure, configure.in, strsignal.c,
7423         sudo.h:
7424         Add check for strsignal() and a simple implementation if it is not
7425         there but sys_siglist is
7426         [61421a188ef4]
7427
7428         * script.c:
7429         Add missing WUNTRACED and store the signal that stopped the
7430         grandchild in suspended, not signo.
7431         [df65042b200e]
7432
7433         * script.c:
7434         g/c unused code
7435         [40d8cb5c9203]
7436
7437         * script.c:
7438         Associate the grandchild's pgrp with the tty instead of the child's
7439         and just get suspend notifications via SIGCHLD instead of directly.
7440         This fixes a hang with programs that try to set terminal attributes
7441         and is more consistent with how the shell handles things.
7442         [6865abff7e94]
7443
7444 2009-10-12  Todd C. Miller  <Todd.Miller@courtesan.com>
7445
7446         * script.c:
7447         Move setpgid() of child into the parent side of the fork() where it
7448         belongs.
7449         [3defa782777c]
7450
7451 2009-10-11  Todd C. Miller  <Todd.Miller@courtesan.com>
7452
7453         * script.c:
7454         fix typo
7455         [b6a612b3622c]
7456
7457         * script.c:
7458         Run command in its own pgrp (like the shell does) for easier
7459         signalling. No need to relay SIGINT or SIGQUIT to parent, just send
7460         to grandchild. Don't want grandchild stopped events in the child
7461         (only termination). Flush output after suspending grandchild before
7462         signalling parent.
7463         [db556bf2176f]
7464
7465         * script.c:
7466         Back out revision 1.34; the problem lies elsewhere.
7467         [85f590a03275]
7468
7469         * script.c:
7470         Don't set stdout to blocking mode when flushing remaining output.
7471         It can cause us to hang when trying to exit. Need to investigate
7472         why.
7473         [6f803a3e33ca]
7474
7475         * script.c:
7476         Handle SIGTTOU and remove some debugging.
7477         [52d17279053e]
7478
7479         * term.c:
7480         Back out revision 1.10 as the signal that interrupts us may be
7481         SIGTTOU or SIGTTIN which the caller must handle.
7482         [7e2fa9107975]
7483
7484         * script.c:
7485         Apparently we need to send SIGSTOP to the command as well as ourself
7486         when we get SIGTSTP, the kernel doesn't automatically stop the
7487         process for us.
7488         [1a936e9309c4]
7489
7490         * script.c:
7491         Use an extra process to act as the glue bewteen the sessions
7492         associated with the user's controlling tty (what the shell uses) and
7493         the tty that sudo is using to do its logging. Basically, this means
7494         that if we get, e.g. SIGTSTP from the process sudo is running, we
7495         relay the signal to the parent so it's shell can do the job control.
7496         [6dd296988060]
7497
7498         * term.c:
7499         Handle getting/setting terminal attributes when the fd is in non-
7500         blocking mode.
7501         [ae5ae535ea7b]
7502
7503 2009-10-07  Todd C. Miller  <Todd.Miller@courtesan.com>
7504
7505         * sudoreplay.c, sudoreplay.cat, sudoreplay.man.in, sudoreplay.pod:
7506         Add support for pausing and changing the speed in interactive mode.
7507         [72a2063780a7]
7508
7509         * script.c:
7510         Already define O_NOCTTY in compat.h, don't need it here
7511         [b5d80ed3e5ce]
7512
7513 2009-10-06  Todd C. Miller  <Todd.Miller@courtesan.com>
7514
7515         * sudoreplay.c:
7516         Add missing protos
7517         [c4cb4e7f4d8a]
7518
7519 2009-09-30  Todd C. Miller  <Todd.Miller@courtesan.com>
7520
7521         * sudo_edit.c:
7522         Always update the stashed mtime of the temp file instead of using
7523         what we have for the original because the time resolution of the
7524         filesystem the temporary is on may not match that of the filesystem
7525         that holds the original. Should fix bz #371 found by Philippe Levan.
7526         [c86ca4bec60c]
7527
7528         * sudoreplay.c:
7529         Use cbreak mode instead of raw mode and add signal handlers to
7530         restore the tty on interrupt.
7531         [84dd283da41c]
7532
7533         * script.c, sudo.h, term.c:
7534         Retain NL to NLCR conversion on the real tty and skip it on the pty
7535         we allocate. That way, if stdout is not a pty there are no extra
7536         carriage returns.
7537         [32e4f570414e]
7538
7539         * script.c:
7540         Fix log_output(); just pass in a string and a length.
7541         [ca980cc0a3fb]
7542
7543 2009-09-28  Todd C. Miller  <Todd.Miller@courtesan.com>
7544
7545         * script.c:
7546         do not use errno when complaining out lack of a tty
7547         [8f9b8c55ab8e]
7548
7549 2009-09-27  Todd C. Miller  <Todd.Miller@courtesan.com>
7550
7551         * Makefile.in, sudoreplay.c, term.c:
7552         Instead of messing with line endings, just set terminal to raw mode
7553         in sudoreplay.
7554         [90943fa87acb]
7555
7556         * term.c:
7557         When copying the terminal attributes to the pty, be sure not to set
7558         ONLCR. This prevents extra carriage returns from ending up in the
7559         script output file.
7560         [e6b5475ac2aa]
7561
7562         * script.c:
7563         Convert a do {} while into a while
7564         [e461310d2c77]
7565
7566         * Makefile.in:
7567         Use if then instead of test && when installing binaries that may not
7568         exist.
7569         [ad4f9490d971]
7570
7571         * script.c:
7572         Add O_NOCTTY when opening a tty device. Explicitly disconnect from
7573         old tty before associatng with new one.
7574         [0e0ca634b80c]
7575
7576         * script.c, selinux.c, sudo.c, sudo.h:
7577         First cut at refactoring some of the selinux code so it can be used
7578         in conjunction with sudo's transcript support.
7579         [779b0d8f9d29]
7580
7581 2009-09-26  Todd C. Miller  <Todd.Miller@courtesan.com>
7582
7583         * aclocal.m4, configure, configure.in:
7584         Fix default case of transcript_enabled being unset.
7585         [f8aa96186e6b]
7586
7587         * script.c, sudoreplay.c:
7588         Use _PATH_SUDO_TRANSCRIPT instead of _PATH_SUDO_SESSDIR
7589         [2844a7a851fa]
7590
7591         * INSTALL, Makefile.in, aclocal.m4, configure, configure.in, sudo.c:
7592         Hook up --disable-transcript and --enable-transcript=DIR
7593         [b3fa7e6b2480]
7594
7595 2009-09-25  Todd C. Miller  <Todd.Miller@courtesan.com>
7596
7597         * aclocal.m4, configure, configure.in, pathnames.h.in:
7598         _PATH_SUDO_SESSDIR -> _PATH_SUDO_TRANSCRIPT Add --enable-
7599         transcript=DIR option to specify the directory
7600         [b0bb76d43cda]
7601
7602         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in:
7603         regen
7604         [c7a8a0a9027c]
7605
7606         * configure, configure.in, sudoers.man.pl, sudoers.pod:
7607         Substitute in default value for secure_path
7608         [c8f9ac6dbf93]
7609
7610         * sudo.pod:
7611         Mention that the password must be followed by a newline with the -S
7612         option.
7613         [2fc589a3ee7e]
7614
7615 2009-09-20  Todd C. Miller  <Todd.Miller@courtesan.com>
7616
7617         * script.c:
7618         Go back to dropping out of the select() loop when the process dies;
7619         Linux ptys apparently don't behave the same as BSD in regards to
7620         select(). No need to flush remaining output to the transcript, only
7621         to stdout. Add back code to check the master pty for additional data
7622         when we exit the main select loop.
7623         [abed9a9cbc6b]
7624
7625 2009-09-19  Todd C. Miller  <Todd.Miller@courtesan.com>
7626
7627         * Makefile.in:
7628         Add getline.o to COMMON_OBJS
7629         [04ef7643cbc2]
7630
7631         * Makefile.in:
7632         sudoreplay depends on libsudo.a
7633         [142bd0472631]
7634
7635         * Makefile.in:
7636         More pwutil.o into COMMON_OBJS
7637         [4a016b933629]
7638
7639         * pwutil.c, testsudoers.c, tsgetgrpw.c:
7640         Remove my_* redirection in pwutil.c for testsudoers and just use the
7641         normal libc get{pw,gr}* names.
7642         [9b76d637d86b]
7643
7644         * sudoreplay.cat, sudoreplay.man.in, sudoreplay.pod:
7645         More time and date examples
7646         [c6ee0175ec56]
7647
7648         * Makefile.in, configure, configure.in, nanosleep.c, sudoreplay.c:
7649         Move nanosleep() emulation into its own file Check librt.a for
7650         nanosleep if we don't find it in libc
7651         [4da0cc26aad7]
7652
7653         * Makefile.in, configure, configure.in:
7654         Build libsudo with the common bits and link things against that.
7655         [2b53bc0b081a]
7656
7657         * script.c:
7658         Fix final flush.
7659         [6da287d833da]
7660
7661         * script.c:
7662         Keep reading from the pty master -> log file until read returns <=
7663         0. Do our best to write everything to stdout when flushing any
7664         remaining bits.
7665         [2a45d4ae280c]
7666
7667         * sudoreplay.c:
7668         Use unbuffered I/O when writing to stdout and make sure we write the
7669         entire buffer.
7670         [f39ef9844a47]
7671
7672 2009-09-18  Todd C. Miller  <Todd.Miller@courtesan.com>
7673
7674         * sudoreplay.c:
7675         Only use max_wait if it is non-zero
7676         [f6c10604d2e8]
7677
7678         * getdate.c, getdate.y, getline.c:
7679         Need compat.h here
7680         [5d6722e225a0]
7681
7682         * sudoreplay.c:
7683         Fix nanosleep emulation
7684         [34e5e5d72a76]
7685
7686         * script.c:
7687         Fix comment after #endif
7688         [bd1347718b25]
7689
7690         * sudoreplay.c:
7691         Add protos for missing libc bits
7692         [644f496427a2]
7693
7694         * configure, configure.in:
7695         add missing line continuation char
7696         [db13c0d402cd]
7697
7698         * config.h.in, configure, configure.in, getline.c:
7699         Implement getline() in terms of fgetln() if we have it.
7700         [3ab786eaadc5]
7701
7702         * sudoreplay.c:
7703         Print year when formatting log line
7704         [90be669e3443]
7705
7706         * sudoreplay.pod:
7707         Document cwd, attempt to document time/date formats.
7708         [6290fb9b65c6]
7709
7710         * sudoreplay.c:
7711         Fix getline return value check.
7712         [d696d6657261]
7713
7714         * Makefile.in, config.h.in, configure, configure.in, getline.c,
7715         sudoreplay.c:
7716         Use getline() if the system has it, else use provide our own for
7717         sudoreplay.
7718         [afca1d6fbe5e]
7719
7720         * script.c:
7721         Refactor code to update output and timing files.
7722         [361491332b1a]
7723
7724 2009-09-17  Todd C. Miller  <Todd.Miller@courtesan.com>
7725
7726         * sudoreplay.c:
7727         Make sudo_getln() behave more like glibc getline.
7728         [40c9f2ea29e6]
7729
7730         * script.c:
7731         When flushing remaining output, also update timing file.
7732         [5a9a5a627549]
7733
7734         * sudoreplay.c:
7735         Use get_timestr() and make the -l output look like the regular sudo
7736         log.
7737         [452ba9d436c9]
7738
7739         * logging.c, sudo.h, timestr.c:
7740         Make get_timestr() take a time_t so we can use it properly in
7741         sudoreplay.
7742         [82e67cc53c9c]
7743
7744         * script.c:
7745         Create session dir earlier now that we update the seq number early.
7746         [797fe8d6dc61]
7747
7748 2009-09-16  Todd C. Miller  <Todd.Miller@courtesan.com>
7749
7750         * sudoreplay.c:
7751         Use fromdate and todate as the keywords instead of from and to; the
7752         short forms will still be accepted.
7753         [d14d9b116df4]
7754
7755         * sudoreplay.c:
7756         Fix reading long liensin sudo_getln()
7757         [58dadd74118c]
7758
7759         * script.c, sudoreplay.c:
7760         Log the cwd in the script log file. Add sudo_getln() to read
7761         arbitrarily long lines.
7762         [faceb802ab8f]
7763
7764         * Makefile.in, logging.c, sudo.h, timestr.c:
7765         Move get_timestr() into its own source file so sudoreplay can use
7766         it.
7767         [99b054bfa20a]
7768
7769 2009-09-15  Todd C. Miller  <Todd.Miller@courtesan.com>
7770
7771         * sudoreplay.c:
7772         Add to and from perdicates (date ranges); needs documentation
7773         [1d629174dcf4]
7774
7775 2009-09-14  Todd C. Miller  <Todd.Miller@courtesan.com>
7776
7777         * Makefile.in, getdate.c, getdate.y:
7778         Fix warning and add generated getdate.c
7779         [b877a86b5a03]
7780
7781         * Makefile.in, getdate.y:
7782         Add getdate.y to be used for sudoreplay date parsing.
7783         [b8e26fbb7a40]
7784
7785 2009-09-13  Todd C. Miller  <Todd.Miller@courtesan.com>
7786
7787         * sudoreplay.c:
7788         Check more than just the first character of a predicate
7789         [4fe53728adb1]
7790
7791         * sudoreplay.cat, sudoreplay.man.in, sudoreplay.pod:
7792         Add examples, sort predicates
7793         [70f8075cbccc]
7794
7795         * Makefile.in, sudoreplay.c, sudoreplay.cat, sudoreplay.man.in,
7796         sudoreplay.pod:
7797         Implement search expressions in sudoreplay similar in concept to
7798         what find or tcpdump uses. TODO: date ranges
7799         [f7ce4fb4cf3a]
7800
7801 2009-09-07  Todd C. Miller  <Todd.Miller@courtesan.com>
7802
7803         * script.c:
7804         Remove vhangup as it was hanging up the wrong tty. Should really
7805         vhangup in the child after it as set its tty.
7806         [2eed9df73010]
7807
7808         * sudoers.pod:
7809         Fix cut at documenting transcript support.
7810         [e6c533a5568a]
7811
7812         * logging.c:
7813         ID= -> TSID= for transcript ID
7814         [1bf755a35333]
7815
7816 2009-09-06  Todd C. Miller  <Todd.Miller@courtesan.com>
7817
7818         * sudoers.pod:
7819         Move fast_glob description to where it belongs in sorted order
7820         [5901cfb0d25f]
7821
7822         * def_data.c, def_data.h, def_data.in, gram.c, gram.h, gram.y,
7823         parse.c, parse.h, sudo.c:
7824         Rename script -> transcript
7825         [e06cf823122c]
7826
7827 2009-09-03  Todd C. Miller  <Todd.Miller@courtesan.com>
7828
7829         * compat.h:
7830         Add timeradd and timersub for those without them
7831         [929f8aa06c2b]
7832
7833         * script.c:
7834         Sanity check sessid before using it.
7835         [aa8ca5211d43]
7836
7837         * sudo.c:
7838         Only set the session id if we are running a command or editing a
7839         file.
7840         [7205d717c098]
7841
7842         * script.c:
7843         Actually. qsort is fine since most versions fal back to a cheaper
7844         sort when the number of elements to sort is small (like in our
7845         case).
7846         [d11c7cd352fe]
7847
7848         * config.h.in, configure, configure.in, script.c:
7849         Check for dup2 and use dup instead if we don't have it.
7850         [98bd89830f8a]
7851
7852         * script.c, sudo.c, sudo.h:
7853         Move the code to dup2 the script fds to low numbered descriptors
7854         into script_duplow() and fix the fd sorting.
7855         [9453fdc5fba6]
7856
7857         * script.c, sudo.c, sudo.h:
7858         Move script_setup() back to immediately before we drop privs and
7859         call the new script_nextid() in its place, which will set
7860         sudo_user.sessid for the logging functions.
7861         [8434d0c8ff08]
7862
7863 2009-09-01  Todd C. Miller  <Todd.Miller@courtesan.com>
7864
7865         * Makefile.in:
7866         Install sudoreplay
7867         [6acf2cdb4d3f]
7868
7869         * sudoreplay.c:
7870         remove unused variable
7871         [2316360bb992]
7872
7873 2009-08-30  Todd C. Miller  <Todd.Miller@courtesan.com>
7874
7875         * logging.c, script.c, sudo.c, sudo.h:
7876         Log the session ID, if there is one. Currently logs ID=XXXXXX,
7877         perhaps should be SESSIONID or SESSID.
7878         [53976905b0a6]
7879
7880         * Makefile.in, configure, configure.in, sudoreplay.cat,
7881         sudoreplay.man.in, sudoreplay.pod:
7882         Add sudoreplay docs
7883         [da4f14f0e64c]
7884
7885         * sudoreplay.c:
7886         add -V (version) flag
7887         [b5e743639ee3]
7888
7889         * sudoreplay.c:
7890         Hook up max_wait.
7891         [2ec5697a92ba]
7892
7893         * script.c, sudoreplay.c:
7894         Use base36 number for the ID and store script files with paths like
7895         /var/log/sudo-session/00/00/00{,.tim,.scr}. This gives us 36^6
7896         (2,176,782,336) unique IDs.
7897         [6aab019d07aa]
7898
7899 2009-08-23  Todd C. Miller  <Todd.Miller@courtesan.com>
7900
7901         * config.h.in, configure.in:
7902         Add check for regcomp
7903         [44c3ebd7ff34]
7904
7905         * sudoreplay.c:
7906         Add support for selecting by pattern and tty when listing.
7907         [66189f840c52]
7908
7909 2009-08-17  Todd C. Miller  <Todd.Miller@courtesan.com>
7910
7911         * sudoreplay.c:
7912         The beginnings of a list mode.
7913         [8d0150b4a52c]
7914
7915 2009-08-16  Todd C. Miller  <Todd.Miller@courtesan.com>
7916
7917         * Makefile.in:
7918         fix pasto
7919         [616b4640b8a8]
7920
7921         * Makefile.in, config.h.in, configure.in:
7922         Add scaffolding for building sudoreplay
7923         [a32958505dbe]
7924
7925         * sudoreplay.c:
7926         include error.h first arg to nanotime is const
7927         [fe5a7bb31bc5]
7928
7929         * sudoreplay.c:
7930         Initial cut at sudoreplay; replay a sudo session.
7931         [f149fba372bd]
7932
7933 2009-08-08  Todd C. Miller  <Todd.Miller@courtesan.com>
7934
7935         * script.c:
7936         Fix wait() usage and use correct wait status.
7937         [f4745ed7ad05]
7938
7939         * sudo.c, sudo.h, tgetpass.c:
7940         Add protos for term_* to sudo.h
7941         [14fe1abd7e7b]
7942
7943         * script.c:
7944         Fix detection of the child process exiting. Since the child is in
7945         its own session we should only ever get SIGCHLD for that process but
7946         better safe than sorry.
7947         [7edfdadd8505]
7948
7949         * config.h.in:
7950         Add UNIX98 pty support.
7951         [82f4b53a0e8f]
7952
7953         * configure, configure.in, script.c:
7954         Add UNIX98 pty support.
7955         [795b8bb0a3a1]
7956
7957 2009-08-07  Todd C. Miller  <Todd.Miller@courtesan.com>
7958
7959         * term.c:
7960         For raw mode, don't bother clearing BRKINT or PARMRK and clear IUCLC
7961         if it is defined.
7962         [40f8b83baf69]
7963
7964         * auth/pam.c:
7965         Set PAM_RUSER and PAM_RHOST early so they can be used during
7966         authentication. Based on a patch from Jamie Beverly.
7967         [3d567b453a6a]
7968
7969         * match.c:
7970         Close dir before returning if strlcpy() reports overflow. From
7971         Martynas Venckus.
7972         [6a82f96473e5]
7973
7974         * config.h.in, configure, configure.in, script.c:
7975         On Linux, the openpty proto libes in pty.h
7976         [98643a018d1c]
7977
7978         * script.c:
7979         Call vhangup on exit if the system has it Use setpgrp() if no
7980         setsid()
7981         [3a9e13149829]
7982
7983 2009-08-06  Todd C. Miller  <Todd.Miller@courtesan.com>
7984
7985         * config.h.in, configure, configure.in:
7986         Add checks for revoke and vhangup if we don't have openpty
7987         [fcb04572e994]
7988
7989         * script.c:
7990         Session logging guts that got forgotten in the previous commit.
7991         [c2af08a63ea9]
7992
7993         * Makefile.in, aclocal.m4, compat.h, config.h.in, configure,
7994         configure.in, def_data.c, def_data.h, def_data.in, gram.c, gram.h,
7995         gram.y, parse.c, parse.h, pathnames.h.in, sudo.c, sudo.h, term.c,
7996         tgetpass.c:
7997         First cut at session logging for sudo. Still need to write
7998         get_pty() for Unix 98 and old-style BSD ptys. Also needs
7999         documentation and general cleanup.
8000         [77e3f5e25738]
8001
8002 2009-08-05  Todd C. Miller  <Todd.Miller@courtesan.com>
8003
8004         * sudo.c, sudo_edit.c:
8005         Fix a bug introduced with def_closefrom. The value of def_closefrom
8006         already includes the +1.
8007         [7291c136300d]
8008
8009 2009-07-29  Todd C. Miller  <Todd.Miller@courtesan.com>
8010
8011         * Makefile.in:
8012         Generate sudo distributions with pax in ustar mode. No longer need
8013         to use a temp file or have the source dir name match the version.
8014         [9778177a8272]
8015
8016 2009-07-18  Todd C. Miller  <Todd.Miller@courtesan.com>
8017
8018         * toke.c, toke.l:
8019         Fix expansion of %h in #include names. Fixes bugzilla 363
8020         [6e346879ba24]
8021
8022 2009-07-12  Todd C. Miller  <Todd.Miller@courtesan.com>
8023
8024         * mkdefaults:
8025         If no arg assume def_data.in
8026         [c1dd28c0e675]
8027
8028         * README, WHATSNEW:
8029         Update for 1.7.2
8030         [f5ad45f69f05] [SUDO_1_7_2]
8031
8032         * ChangeLog:
8033         sync
8034         [6283549396ff]
8035
8036 2009-06-30  Todd C. Miller  <Todd.Miller@courtesan.com>
8037
8038         * sudoers.cat, sudoers.man.in, sudoers.pod:
8039         Add missing single quotes around a colon in Runas_Spec definition.
8040         From Elias Benali.
8041         [ccc6ee4fca83]
8042
8043 2009-06-29  Todd C. Miller  <Todd.Miller@courtesan.com>
8044
8045         * sudo.man.in, sudoers.man.in:
8046         regen
8047         [546e75304ebf]
8048
8049         * redblack.c:
8050         In rbrepair, re-color the root or the first non-block node we find
8051         to be black. Re-coloring the root is probably not needed but won't
8052         hurt.
8053         [34d01ebe241b]
8054
8055         * sudo.cat, sudoers.cat:
8056         regen
8057         [bebf5a39f54f]
8058
8059 2009-06-26  Todd C. Miller  <Todd.Miller@courtesan.com>
8060
8061         * redblack.c:
8062         When repairing the tree, don't touch the root node.
8063         [9841f0d5d789]
8064
8065 2009-06-25  Todd C. Miller  <Todd.Miller@courtesan.com>
8066
8067         * set_perms.c:
8068         Protect call to setegid in runas_setup with #ifdef HAVE_SETEUID.
8069         Reported by Josef Schmid.
8070         [ed044b1eb879]
8071
8072 2009-06-23  Todd C. Miller  <Todd.Miller@courtesan.com>
8073
8074         * sudoers.pod:
8075         Document that we accept env_pam-style environment files
8076         [e3b545456352]
8077
8078         * env.c:
8079         Adapt to accept pam_env-style /etc/environment which allows shell-
8080         style lines such as: export EDITOR="/usr/bin/vi"
8081         [752eb75bf007]
8082
8083         * sudoers.pod:
8084         Make it clear that env_delete only works when !env_reset. From Lo??c
8085         Minier
8086         [3bd3f8e351ba]
8087
8088 2009-06-15  Todd C. Miller  <Todd.Miller@courtesan.com>
8089
8090         * sudo.pod, sudoers.pod:
8091         Add non-unix group bits, adapted from Quest
8092         [8ce427de8dea]
8093
8094         * Makefile.in:
8095         build the .cat page in the current working dir, not the src dir
8096         [00e87a307674]
8097
8098         * env.c:
8099         Return EINVAL in setenv() if var is NULL or the empty string to
8100         match glibc behavior.
8101         [23fd7c247142]
8102
8103 2009-06-13  Todd C. Miller  <Todd.Miller@courtesan.com>
8104
8105         * configure, configure.in:
8106         Use AS_HELP_STRING for AC_ARG_WITH and AC_ARG_ENABLE
8107         [fedd4a3e2a85]
8108
8109 2009-06-11  Todd C. Miller  <Todd.Miller@courtesan.com>
8110
8111         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.ldap.cat,
8112         sudoers.ldap.man.in, sudoers.man.in, visudo.cat, visudo.man.in:
8113         regen
8114         [7b9f461a40b3]
8115
8116 2009-06-09  Todd C. Miller  <Todd.Miller@courtesan.com>
8117
8118         * INSTALL:
8119         Document --with-libvas and --with-libvas-rpath
8120         [a071e6d96c89]
8121
8122 2009-05-29  Todd C. Miller  <Todd.Miller@courtesan.com>
8123
8124         * ldap.c, sudoers.ldap.pod:
8125         For netscape-derived LDAP SDKs the cert and key paths may be a
8126         directory or a file. However, version 5.0 of the SDK only seems to
8127         support using a directory. If ldapssl_clientauth_init fails and the
8128         cert or key paths look like they could be files, strip off the last
8129         path element and try again.
8130         [ac4e49d83043]
8131
8132         * Makefile.in:
8133         Add non-Unix group .o to COMMON_OBJS and substitute in path to flex.
8134         [4547cc1a335f]
8135
8136 2009-05-27  Todd C. Miller  <Todd.Miller@courtesan.com>
8137
8138         * configure, configure.in, match.c, sudo.c, vasgroups.c:
8139         Update non-Unix group support from Quest, as reworked by me.
8140         [1abafce29dc6]
8141
8142         * toke.c:
8143         regen
8144         [01bfca9148b7]
8145
8146         * toke.l:
8147         Add support for escaped hex chars in names, e.g. \x20 for space.
8148         [3c7be8e58a39]
8149
8150 2009-05-25  Todd C. Miller  <Todd.Miller@courtesan.com>
8151
8152         * LICENSE, Makefile.in, aclocal.m4, alias.c, auth/aix_auth.c,
8153         auth/pam.c, auth/sudo_auth.c, auth/sudo_auth.h, check.c, env.c,
8154         fileops.c, glob.c, gram.y, interfaces.c, lbuf.c, ldap.c, logging.c,
8155         logging.h, match.c, parse.c, parse.h, pathnames.h.in, pwutil.c,
8156         set_perms.c, sudo.c, sudo.h, sudo.pod, sudo_nss.c, sudo_nss.h,
8157         sudo_usage.h.in, sudoers.ldap.pod, sudoers.pod, testsudoers.c,
8158         tgetpass.c, toke.l, visudo.c:
8159         Update copyright years.
8160         [e615f676c764]
8161
8162 2009-05-24  Todd C. Miller  <Todd.Miller@courtesan.com>
8163
8164         * interfaces.c, lbuf.c:
8165         Minor fixes for Minix-3
8166         [898c510d23f9]
8167
8168 2009-05-22  Todd C. Miller  <Todd.Miller@courtesan.com>
8169
8170         * set_perms.c:
8171         Handle getgroups() returning 0. Also add missing check for
8172         HAVE_GETGROUPS.
8173         [d73b958f9ffd]
8174
8175 2009-05-19  Todd C. Miller  <Todd.Miller@courtesan.com>
8176
8177         * Makefile.in, config.h.in, configure, configure.in, sudo.c,
8178         version.h, visudo.c:
8179         Replace version.h with PACKAGE_VERSION set via AC_INIT in configure.
8180         [5050579a264d]
8181
8182 2009-05-18  Todd C. Miller  <Todd.Miller@courtesan.com>
8183
8184         * set_perms.c:
8185         Remove group setting code in setusercontext case, we will do it
8186         ourselves later on in runas_setup. Set the gid after
8187         initgroups/setgroups is called, since on Mac OS X it seems to change
8188         the egid.
8189         [09dc21d8b42d]
8190
8191 2009-05-17  Todd C. Miller  <Todd.Miller@courtesan.com>
8192
8193         * LICENSE, Makefile.in, config.h.in, match.c, nonunix.h, sudo.c,
8194         vasgroups.c:
8195         Initial bits of non-unix group support using Quest Authentication
8196         Services
8197         [1eecab0ff27e]
8198
8199         * toke.c, toke.l:
8200         Accept %:foo as a non-Unix group
8201         [4c4b5dd899a6]
8202
8203         * toke.c, toke.l:
8204         Allow user/group to be double quoted in the case of non-Unix groups
8205         which contain spaces.
8206         [47a3d568b7e8]
8207
8208 2009-05-11  Todd C. Miller  <Todd.Miller@courtesan.com>
8209
8210         * match.c:
8211         Don't allow the user to specify the default runas user if their
8212         sudoers entry only allows them to run as a group.
8213         [4d726177227c]
8214
8215 2009-05-10  Todd C. Miller  <Todd.Miller@courtesan.com>
8216
8217         * sudo.c:
8218         Must call audit_success before we change uids.
8219         [04a9e6ce6e55]
8220
8221         * logging.c, set_perms.c, sudo.h, testsudoers.c:
8222         Add option for set_perm to not exit on failure and use this in the
8223         logging routines.
8224         [833dce7b7f42]
8225
8226         * parse.c:
8227         In -l mode, if the user is only allowed to run as a group, display
8228         the user's name, not root's before the allowed group.
8229         [ef92ff99d265]
8230
8231         * sudo.c:
8232         Fix -g mode, broken by rev 1.503 which had the side effect of
8233         setting the runas user to root unilaterally.
8234         [50a2f7df4385]
8235
8236 2009-05-08  Todd C. Miller  <Todd.Miller@courtesan.com>
8237
8238         * fileops.c:
8239         When unlocking a file with fcntl, use F_SETLK, not F_SETLKW.
8240         [30fbe832dcf3]
8241
8242         * pwutil.c:
8243         Only cache by the method we fetched for pwd and grp lookups.
8244         Previously we cached both by namd and id but this can cause problems
8245         for entries that share the same id. Also add more info in the error
8246         message in case the insert fails (which should now be impossible).
8247         [ef95a4f0bab5]
8248
8249 2009-04-30  Todd C. Miller  <Todd.Miller@courtesan.com>
8250
8251         * sudoers.pod:
8252         Add a clarification from Nick Sieger
8253         [1eadad329561]
8254
8255 2009-04-25  Todd C. Miller  <Todd.Miller@courtesan.com>
8256
8257         * env.c:
8258         Inline the setting of the environment string.
8259         [9515d11c6295]
8260
8261 2009-04-24  Todd C. Miller  <Todd.Miller@courtesan.com>
8262
8263         * env.c:
8264         setenv(3) in Linux treats a NUL value as the empty string setenv(3)
8265         in BSD doesn't return an error if the name has '=' in it, it just
8266         treats the '=' as end of string.
8267         [941260bf94d2]
8268
8269 2009-04-22  Todd C. Miller  <Todd.Miller@courtesan.com>
8270
8271         * toke.c, toke.l:
8272         Not all systems have d_namlen
8273         [e377b18d8e2d]
8274
8275 2009-04-20  Todd C. Miller  <Todd.Miller@courtesan.com>
8276
8277         * sudoers.pod:
8278         Fix up some pod2html issues.
8279         [823a1f10ab60]
8280
8281 2009-04-19  Todd C. Miller  <Todd.Miller@courtesan.com>
8282
8283         * interfaces.c:
8284         Check for NULL ifa_addr and ifa_netmask. Adapted from a diff from
8285         Quest Software.
8286         [73de36653131]
8287
8288         * sudoers.pod:
8289         Ignore files ending in '~' in sudo.d (emacs backup files)
8290         [7871fad702db]
8291
8292         * toke.c, toke.l:
8293         Ignore files ending in '~' in sudo.d (emacs backup files)
8294         [53fded2a469f]
8295
8296 2009-04-18  Todd C. Miller  <Todd.Miller@courtesan.com>
8297
8298         * sudoers.cat, sudoers.man.in, sudoers.pod, toke.c, toke.l:
8299         For #includedir, ignore any file containing a dot
8300         [a7daa1bce6c2]
8301
8302         * Makefile.in, version.h:
8303         Bump version
8304         [ef60f14ffc44]
8305
8306         * gram.c, gram.y, parse.c, parse.h, sudo.c, sudo.h, sudoers.cat,
8307         sudoers.man.in, sudoers.pod, testsudoers.c, toke.c, toke.l,
8308         visudo.c:
8309         Implement #includedir directive. Files in an includedir are not
8310         edited by visudo unless they contain a syntax error.
8311         [3923d85a6c79]
8312
8313         * ChangeLog:
8314         sync
8315         [8741ed61a78b] [SUDO_1_7_1]
8316
8317         * WHATSNEW:
8318         Forgot umask_override
8319         [7c86a21a5504]
8320
8321         * ChangeLog, TODO:
8322         sync
8323         [57339ca6bccf]
8324
8325 2009-04-16  Todd C. Miller  <Todd.Miller@courtesan.com>
8326
8327         * visudo.c:
8328         Rewind stream if we fdopen sudoers since it may not be at the
8329         beginning. Set the keepopen flag on already-open files too so the
8330         lexer doesn't close them out from under us.
8331         [61292d819aff]
8332
8333         * visudo.c:
8334         Print the proper file name when there is a parse error in an include
8335         file.
8336         [b0e85d4aedde]
8337
8338 2009-04-11  Todd C. Miller  <Todd.Miller@courtesan.com>
8339
8340         * WHATSNEW:
8341         Sync
8342         [997e5d485ea3]
8343
8344 2009-04-10  Todd C. Miller  <Todd.Miller@courtesan.com>
8345
8346         * configure, configure.in:
8347         Fix a warning when --without-ldap is specified.
8348         [d91fd9481b30]
8349
8350 2009-04-05  Todd C. Miller  <Todd.Miller@courtesan.com>
8351
8352         * alias.c, parse.h, visudo.c:
8353         Store aliases that we remove during check_aliases in a freelist and
8354         free them at the end so we don't leak memory.
8355         [805e2272f6a3]
8356
8357 2009-03-28  Todd C. Miller  <Todd.Miller@courtesan.com>
8358
8359         * visudo.c:
8360         Check aliases in -c mode too.
8361         [9199e188d9f2]
8362
8363         * alias.c, parse.h, visudo.c:
8364         Make alias_remove return the alias struct instead of freeing it
8365         directly. Fixes a use after free in alias_remove_recursive, the only
8366         consumer.
8367         [a04b61804800]
8368
8369         * alias.c, match.c, parse.c, parse.h, visudo.c:
8370         Rename find_alias -> alias_find for consistency.
8371         [48b0a82924f3]
8372
8373 2009-03-27  Todd C. Miller  <Todd.Miller@courtesan.com>
8374
8375         * visudo.c:
8376         When checking for unused aliases, recurse if the alias points to
8377         another alias.
8378         [2d4d1a7f3a41]
8379
8380 2009-03-16  Todd C. Miller  <Todd.Miller@courtesan.com>
8381
8382         * ldap.c:
8383         Back out rev 1.105 for now. Real ldapux_client.conf support will be
8384         done later after some refactoring.
8385         [8ad72e69b277]
8386
8387 2009-03-14  Todd C. Miller  <Todd.Miller@courtesan.com>
8388
8389         * ldap.c:
8390         Treat ldap_hostport the same as "host" for ldapux.
8391         [3281dcc66da8]
8392
8393         * configure, configure.in:
8394         Only check for ldap_sasl_interactive_bind_s if we can find sasl.h.
8395         Fixes compilation with ldapux.
8396         [ca1ed585ef0e]
8397
8398 2009-03-12  Todd C. Miller  <Todd.Miller@courtesan.com>
8399
8400         * fileops.c:
8401         fix char subscript
8402         [41e51f080d00]
8403
8404 2009-03-11  Todd C. Miller  <Todd.Miller@courtesan.com>
8405
8406         * Makefile.in:
8407         remove errant carriage returns
8408         [e9e258a31c7b]
8409
8410         * audit.c, env.c:
8411         fix K&R compilation
8412         [d182e8920f13]
8413
8414         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.ldap.cat,
8415         sudoers.ldap.man.in, sudoers.man.in, visudo.cat, visudo.man.in:
8416         regen
8417         [791a5cbf04e5]
8418
8419 2009-03-10  Todd C. Miller  <Todd.Miller@courtesan.com>
8420
8421         * config.h.in:
8422         Add missing HAVE_BSM_AUDIT
8423         [49ad1bb96f04]
8424
8425         * WHATSNEW:
8426         Add 1.7.1 features
8427         [f107f1604c61]
8428
8429         * INSTALL:
8430         Mention --with-netsvc
8431         [d1e90d147795]
8432
8433         * sudoers.ldap.pod:
8434         Document netsvc.conf support
8435         [e78f8abce6af]
8436
8437         * configure, configure.in, pathnames.h.in, sudo.c, sudo_nss.c,
8438         sudo_nss.h:
8439         Add support for AIX netsvc.conf (like nsswitch.conf).
8440         [1df56a84dee5]
8441
8442 2009-03-08  Todd C. Miller  <Todd.Miller@courtesan.com>
8443
8444         * config.h.in, configure, configure.in, env.c:
8445         Add --enable-env-debug flag to enable environment sanity checks.
8446         [128cdd8832e7]
8447
8448         * sudoers.ldap.pod, sudoers.pod:
8449         Work around some pod2html issue.
8450         [e733b9609bd2]
8451
8452 2009-03-07  Todd C. Miller  <Todd.Miller@courtesan.com>
8453
8454         * env.c:
8455         Only sync environ for putenv, setenv, and unsetenv. We need to make
8456         sure that sudo_putenv and sudo_setenv only modify env.envp, not
8457         environ.
8458         [be3ac732243c]
8459
8460 2009-03-02  Todd C. Miller  <Todd.Miller@courtesan.com>
8461
8462         * env.c:
8463         Really fix UNSETENV_VOID
8464         [08ab7e882507]
8465
8466         * env.c:
8467         Fix unsetenv when UNSETENV_VOID
8468         [d3038b3f2f15]
8469
8470         * aclocal.m4, configure:
8471         Fix SUDO_FUNC_PUTENV_CONST
8472         [de35569c572b]
8473
8474         * ldap.c:
8475         tivoli-based ldap does not have ldapssl_err2string
8476         [c63fd90d5e99]
8477
8478         * configure:
8479         regen
8480         [f38f1ee828ad]
8481
8482 2009-03-01  Todd C. Miller  <Todd.Miller@courtesan.com>
8483
8484         * config.h.in, configure, configure.in, ldap.c:
8485         Add support for Tivoli-based LDAP start TLS as seen in AIX.
8486         Untested.
8487         [8f8771829f85]
8488
8489         * env.c:
8490         Add sanity checks for setenv/unsetenv
8491         [adbd1d95856b]
8492
8493         * Makefile.in:
8494         Include bsm_audit.h in the tarball
8495         [4a4aa02b2c32]
8496
8497         * Makefile.in, version.h:
8498         bump version for sudo 1.7.1
8499         [362c71d21595]
8500
8501         * aclocal.m4, auth/aix_auth.c, config.h.in, configure, configure.in,
8502         env.c, ldap.c, sudo.h:
8503         Replace sudo_setenv/sudo_unsetenv with calls to setenv/unsetenv and
8504         provide our own setenv/unsetenv/putenv that operates on own env
8505         pointer. Make sync_env() inline in setenv/unsetenv/putenv functions.
8506         [276edcd23032]
8507
8508 2009-02-25  Todd C. Miller  <Todd.Miller@courtesan.com>
8509
8510         * sudo.c:
8511         Make "sudoedit -h" work as expected
8512         [2bcbbb45d389]
8513
8514         * auth/pam.c:
8515         Make sure def_prompt is always defined. This is a workaround for
8516         pam configs that prompt for a password in the session but don't have
8517         an auth line. A better fix is to expand the sudo prompt earlier and
8518         set def_prompt to that when initializing.
8519         [ee073c04aec3]
8520
8521         * sudo.pod:
8522         Mention that the helper for -A may be graphical.
8523         [b64a940c4082]
8524
8525         * TROUBLESHOOTING:
8526         Document what happens if there is no tty.
8527         [313d58a856a5]
8528
8529         * sudo.c:
8530         cosmetic changes
8531         [894f5e3b0c3e]
8532
8533         * term.c:
8534         Fix term_restore
8535         [6c6315ff14bc]
8536
8537         * sudo.c:
8538         Fix "sudo -k" with no other args
8539         [59e94dc419c6]
8540
8541 2009-02-24  Todd C. Miller  <Todd.Miller@courtesan.com>
8542
8543         * check.c, sudo.c, sudo.pod, sudo_usage.h.in:
8544         Allow the -k flag to be specified in conjunction with a command or
8545         another option that may require authentication.
8546         [5960ff20355d]
8547
8548 2009-02-23  Todd C. Miller  <Todd.Miller@courtesan.com>
8549
8550         * configure, configure.in:
8551         Remove unneeded AC_CANONICAL_TARGET; from Diego E. 'Flameeyes'
8552         [e86ab69c4a57]
8553
8554         * Makefile.in:
8555         Parallel make fix. From Diego E. 'Flameeyes'
8556         [1289d7ee27db]
8557
8558 2009-02-21  Todd C. Miller  <Todd.Miller@courtesan.com>
8559
8560         * def_data.c, def_data.h, def_data.in, sudo.c, sudoers.pod:
8561         Implement umask_override
8562         [8b87a3f7c5aa]
8563
8564         * toke.c:
8565         regen
8566         [79d7ca9ac873]
8567
8568         * sudoers.pod, toke.l, visudo.c:
8569         Implement %h escape in sudoers include filenames.
8570         [a7f288dd64f0]
8571
8572         * audit.c:
8573         Need to include compat.h
8574         [c0dc07ce2f70]
8575
8576         * Makefile.in, audit.c, bsm_audit.c, bsm_audit.h, logging.h, sudo.c:
8577         Make audit_success and audit_failure generic functions in
8578         preparation for integrating linux audit support.
8579         [7df020a8fd6f]
8580
8581         * term.c:
8582         remove duplicate include
8583         [1dfcd01a7e46]
8584
8585 2009-02-20  Todd C. Miller  <Todd.Miller@courtesan.com>
8586
8587         * bsm_audit.c:
8588         Add missing include
8589         [fb56e08c37ee]
8590
8591         * sudo.c:
8592         May need to update the runas user after parsing command-based
8593         defaults.
8594         [246f130d7802]
8595
8596 2009-02-18  Todd C. Miller  <Todd.Miller@courtesan.com>
8597
8598         * glob.c:
8599         Add missing pair of braces introduced with character class support.
8600         [0e2afa2e03e9]
8601
8602 2009-02-15  Todd C. Miller  <Todd.Miller@courtesan.com>
8603
8604         * def_data.c, def_data.h, def_data.in, sudoers.pod, tgetpass.c:
8605         Rename pwstars to pwfeedback
8606         [a9f85a57ebac]
8607
8608 2009-02-11  Todd C. Miller  <Todd.Miller@courtesan.com>
8609
8610         * bsm_audit.c, bsm_audit.h:
8611         Add const to make MacOS happy.
8612         [4274432d6627]
8613
8614         * Makefile.in, auth/sudo_auth.c, bsm_audit.c, bsm_audit.h, configure,
8615         configure.in, sudo.c:
8616         Add bsm audit support from Christian S.J. Peron
8617         [bef61cd8693d]
8618
8619         * term.c:
8620         This is new code, no DARPA notice.
8621         [ec6ad09b9c23]
8622
8623 2009-02-10  Todd C. Miller  <Todd.Miller@courtesan.com>
8624
8625         * def_data.c, def_data.h, def_data.in, match.c, sudoers.pod:
8626         Rename simple_glob -> fast_glob
8627         [68d9ed803cc1]
8628
8629         * match.c:
8630         g/c unused var
8631         [693fa0464eb6]
8632
8633         * def_data.c, def_data.h, def_data.in, match.c, sudoers.pod:
8634         Add simple_glob option to use fnmatch() instead of glob(). This is
8635         useful when you need to specify patterns that reference network file
8636         systems.
8637         [77ba634f6949]
8638
8639         * tgetpass.c:
8640         add term_* proto
8641         [520f5149d073]
8642
8643         * sudoers.pod:
8644         mention glob()
8645         [ddaab8e03c52]
8646
8647 2009-02-09  Todd C. Miller  <Todd.Miller@courtesan.com>
8648
8649         * tgetpass.c:
8650         Delete any pwstars we wrote after the user hits return. That way
8651         there is no record on screen as to the user's password length.
8652         [fae25cda762b]
8653
8654 2009-02-08  Todd C. Miller  <Todd.Miller@courtesan.com>
8655
8656         * term.c:
8657         Move terminal setting bits from tgetpass.c to term.c
8658         [03d43325ee99]
8659
8660         * Makefile.in, def_data.c, def_data.h, def_data.in, sudoers.pod,
8661         tgetpass.c:
8662         Add pwstars sudoers option that causes sudo to print a star every
8663         time the user presses a key.
8664         [7aab417e184d]
8665
8666 2009-02-03  Todd C. Miller  <Todd.Miller@courtesan.com>
8667
8668         * Makefile.in:
8669         Fix up F<> brokenness for visudo.man.in and sudoers.ldap.man.in.
8670         [64f70e879816]
8671
8672 2009-01-27  Todd C. Miller  <Todd.Miller@courtesan.com>
8673
8674         * ldap.c:
8675         For ldap_search_ext_s() the sizelimit param should be 0, not -1, to
8676         indicate no limit. From Mark Janssen.
8677         [e2c5732d54f5]
8678
8679 2009-01-17  Todd C. Miller  <Todd.Miller@courtesan.com>
8680
8681         * toke.c, toke.l:
8682         Comments that begin with #- should not be parsed as uids.
8683         [a72a50f12f41]
8684
8685 2009-01-09  Todd C. Miller  <Todd.Miller@courtesan.com>
8686
8687         * sudo.c:
8688         Do not try to set the close on exec flag if we didn't actually open
8689         sudoers.
8690         [ece3ca256904]
8691
8692 2008-12-19  Todd C. Miller  <Todd.Miller@courtesan.com>
8693
8694         * ChangeLog:
8695         regen
8696         [e11f0e4c1bdd] [SUDO_1_7_0]
8697
8698 2008-12-14  Todd C. Miller  <Todd.Miller@courtesan.com>
8699
8700         * TODO:
8701         sync
8702         [5b8954462bb3]
8703
8704 2008-12-09  Todd C. Miller  <Todd.Miller@courtesan.com>
8705
8706         * auth/pam.c:
8707         Return PAM_AUTH_ERR instead of PAM_CONV_ERR if user enters ^C at the
8708         password prompt.
8709         [8563601cb3de]
8710
8711         * configure, configure.in:
8712         Don't try to build sudo_noexec.so on HP-UX with the bundled compiler
8713         as it cannot generate shared objects.
8714         [6d4262ef9669]
8715
8716         * emul/charclass.h, glob.c, lbuf.c, tgetpass.c:
8717         K&R compilation fixes
8718         [77921678d17c]
8719
8720         * parse.c:
8721         Use tq_foreach_fwd when checking pseudo-commands to make it clear
8722         that we are not short-circuiting on last match. When pwcheck is
8723         'all', initialize nopass to TRUE and override it with the first non-
8724         TRUE entry.
8725         [96b209f4778f]
8726
8727 2008-12-08  Todd C. Miller  <Todd.Miller@courtesan.com>
8728
8729         * parse.c:
8730         Do not short circuit pseudo commands when we get a match since,
8731         depending on the settings, we may need to examine all commands for
8732         tags.
8733         [fdbaf89d6f35]
8734
8735 2008-12-03  Todd C. Miller  <Todd.Miller@courtesan.com>
8736
8737         * sudoers.cat, sudoers.man.in:
8738         regen
8739         [1ecce7c1b841]
8740
8741         * sudoers.pod:
8742         hostnames may also contain wildcards
8743         [82b76695601c]
8744
8745         * Makefile.in:
8746         remove stamp-* files and linux core files in clean target
8747         [22003f091467]
8748
8749 2008-12-02  Todd C. Miller  <Todd.Miller@courtesan.com>
8750
8751         * auth/sudo_auth.h, config.h.in, configure, configure.in:
8752         Use HAVE_SIA_SES_INIT instead of HAVE_SIA for Digital UNIX
8753         [6905bede8410]
8754
8755 2008-11-26  Todd C. Miller  <Todd.Miller@courtesan.com>
8756
8757         * configure, configure.in:
8758         correctly enable SIA on Digital UNIX
8759         [a51881d13995]
8760
8761         * TODO:
8762         checkpoint
8763         [af0fe8d94d42]
8764
8765         * ChangeLog:
8766         sync
8767         [831f623cf99c]
8768
8769 2008-11-25  Todd C. Miller  <Todd.Miller@courtesan.com>
8770
8771         * check.c, sudo.h, tgetpass.c:
8772         Even if neither stdin nor stdout are ttys we may still have /dev/tty
8773         available to us.
8774         [20f306ba883b]
8775
8776 2008-11-24  Todd C. Miller  <Todd.Miller@courtesan.com>
8777
8778         * sudoers.cat, sudoers.man.in:
8779         regen
8780         [76d97c4c318f]
8781
8782         * sudoers.pod:
8783         fix typos; Markus Lude
8784         [bff8bc1e2066]
8785
8786         * ChangeLog:
8787         sync
8788         [f108552531cd]
8789
8790         * toke.c:
8791         regen
8792         [de828413c67e]
8793
8794         * toke.l:
8795         Fix matching of a line that only consists of a comment char
8796         [09c953d8d5ca]
8797
8798 2008-11-22  Todd C. Miller  <Todd.Miller@courtesan.com>
8799
8800         * auth/pam.c:
8801         MacOS pam will retry conversation function if it fails so just treat
8802         ^C as an empty password.
8803         [d056058930bc]
8804
8805         * visudo.c:
8806         When checking for alias use, also check defaults bindings.
8807         [2647f82c7dbd]
8808
8809         * redblack.c:
8810         unused var
8811         [b7ff71c17c18]
8812
8813         * redblack.c:
8814         Replace my rbdelete with Emin's version (which actually works ;-)
8815         [21b133dd0c72]
8816
8817 2008-11-19  Todd C. Miller  <Todd.Miller@courtesan.com>
8818
8819         * testsudoers.c:
8820         malloc debugging
8821         [0fb446fa3279]
8822
8823         * visudo.c:
8824         malloc options in devel mode for visudo too
8825         [98d06c6afeef]
8826
8827 2008-11-18  Todd C. Miller  <Todd.Miller@courtesan.com>
8828
8829         * sudo.c:
8830         fix compilation on non-C99; from Theo
8831         [7c304e16c536]
8832
8833         * visudo.c:
8834         fix check_aliases
8835         [83f30a3b1765]
8836
8837         * alias.c:
8838         when destroying an alias, free the correct data pointer
8839         [6e1a8bd86c01]
8840
8841         * auth/sudo_auth.h:
8842         add proto for aixauth_cleanup; from Dale King
8843         [eba94ffc8f63]
8844
8845 2008-11-15  Todd C. Miller  <Todd.Miller@courtesan.com>
8846
8847         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in, visudo.cat,
8848         visudo.man.in:
8849         regen
8850         [409fa57fff83]
8851
8852         * sudo.pod, sudoers.pod, visudo.pod:
8853         standardize on the term 'option' for command line options (not flag)
8854         [228caefc2e36]
8855
8856 2008-11-14  Todd C. Miller  <Todd.Miller@courtesan.com>
8857
8858         * INSTALL:
8859         Add note on configuring HP-UX pam
8860         [f7674a581baf]
8861
8862 2008-11-11  Todd C. Miller  <Todd.Miller@courtesan.com>
8863
8864         * check.c, sudo.c:
8865         Move tty checks into check_user() so we only do them if we actually
8866         need a password.
8867         [7d997d7106d6]
8868
8869         * sudo.c:
8870         Don't error out if no tty or askpass unless we actually need to
8871         authenticate.
8872         [9f23b83ed66c]
8873
8874 2008-11-10  Todd C. Miller  <Todd.Miller@courtesan.com>
8875
8876         * ChangeLog:
8877         regen
8878         [23f9aef32da6]
8879
8880         * pathnames.h.in, sudo.c:
8881         s/overriden/overridden/; from Tobias Stoeckmann
8882         [9f7459a8fac5]
8883
8884 2008-11-09  Todd C. Miller  <Todd.Miller@courtesan.com>
8885
8886         * WHATSNEW, visudo.c:
8887         check sudoers owner and mode in strict mode
8888         [a3468c5ac1c4]
8889
8890         * gram.c, toke.c:
8891         regen
8892         [7d6b515a5443]
8893
8894         * sudo.man.in, sudoers.man.in, visudo.man.in:
8895         Update copyright years.
8896         [52d340cb8cba]
8897
8898         * LICENSE, alias.c, alloc.c, auth/afs.c, auth/aix_auth.c,
8899         auth/bsdauth.c, auth/fwtk.c, auth/kerb4.c, auth/kerb5.c, auth/pam.c,
8900         auth/securid.c, auth/securid5.c, auth/sia.c, auth/sudo_auth.h,
8901         closefrom.c, compat.h, defaults.c, defaults.h, env.c, fileops.c,
8902         gettime.c, gram.y, ins_csops.h, insults.h, interfaces.c,
8903         interfaces.h, lbuf.c, license.pod, list.c, logging.c, logging.h,
8904         parse.c, parse.h, pwutil.c, redblack.c, redblack.h, snprintf.c,
8905         sudo.c, sudo.pod, sudo_edit.c, sudo_nss.h, sudoers.pod,
8906         testsudoers.c, toke.l, tsgetgrpw.c, utimes.c, version.h, visudo.c,
8907         visudo.pod, zero_bytes.c:
8908         Update copyright years.
8909         [b4e6bf2beafa]
8910
8911         * emul/charclass.h, fnmatch.c, glob.c:
8912         add my copyright
8913         [28681385014a]
8914
8915 2008-11-08  Todd C. Miller  <Todd.Miller@courtesan.com>
8916
8917         * toke.c, toke.l:
8918         The loop in fill_cmnd() was going one byte too far past the end,
8919         resulting in a NUL being written immediately after the buffer end.
8920         [a5a49d603cd7]
8921
8922         * UPGRADE, WHATSNEW:
8923         add sections on tgetpass changes
8924         [2e6929b6a102]
8925
8926         * tgetpass.c:
8927         Treat EOF w/o newline as an error.
8928         [aa02b1db9240]
8929
8930 2008-11-07  Todd C. Miller  <Todd.Miller@courtesan.com>
8931
8932         * parse.c:
8933         Fix "sudo -v" when NOPASSWD is set.
8934         [f4914711ea80]
8935
8936         * auth/bsdauth.c, auth/fwtk.c, auth/pam.c, auth/sudo_auth.c,
8937         auth/sudo_auth.h:
8938         No longer treat an empty password at the prompt as special. To quit
8939         out of sudo you now need to hit ^C at the password prompt.
8940         [980f760ad419]
8941
8942         * sudoers.cat, sudoers.man.in:
8943         regen
8944         [6ca21a2cd869]
8945
8946         * def_data.c, def_data.h, def_data.in, sudo.c, sudoers.pod:
8947         Sudo will now refuse to run if no tty is present unless the new
8948         visiblepw sudoers flag is set.
8949         [0cc56943252e]
8950
8951 2008-11-06  Todd C. Miller  <Todd.Miller@courtesan.com>
8952
8953         * aix.c:
8954         just use RLIM_INFINITY for RLIM_SAVED_MAX if RLIM_SAVED_MAX not
8955         defined
8956         [24fc6f712d5c]
8957
8958         * aix.c:
8959         fix fallback value for RLIM_SAVED_MAX
8960         [e09e04e1af89]
8961
8962         * auth/aix_auth.c, auth/sudo_auth.h:
8963         Move clearing of AUTHSTATE into aixauth_cleanup.
8964         [e14ae7bd259c]
8965
8966         * auth/aix_auth.c, env.c:
8967         Unset AUTHSTATE after calling authenticate() as it may not be
8968         correct for the user we are running the command as.
8969         [d14f68f1b0ab]
8970
8971         * isblank.c:
8972         Add isblank() function for systems without it. Needed for POSIX
8973         character class matching in fnmatch.c and glob.c.
8974         [16cba30b283f]
8975
8976 2008-11-05  Todd C. Miller  <Todd.Miller@courtesan.com>
8977
8978         * TROUBLESHOOTING:
8979         expound on sudo and cd
8980         [8e0fa9033637]
8981
8982 2008-11-04  Todd C. Miller  <Todd.Miller@courtesan.com>
8983
8984         * ChangeLog:
8985         regen
8986         [40cf320a10fc]
8987
8988         * sudoers.cat, sudoers.man.in:
8989         regen
8990         [7cac761ae2c6]
8991
8992         * sudoers.pod:
8993         mention defauts parse order
8994         [4e2ce86d1394]
8995
8996 2008-11-03  Todd C. Miller  <Todd.Miller@courtesan.com>
8997
8998         * Makefile.in, aclocal.m4, compat.h, configure:
8999         Add isblank() function for systems without it. Needed for POSIX
9000         character class matching in fnmatch.c and glob.c.
9001         [a1ab55da8424]
9002
9003         * Makefile.in:
9004         add emul/charclass.h to HDRS
9005         [7e8a019dcaa4]
9006
9007 2008-11-02  Todd C. Miller  <Todd.Miller@courtesan.com>
9008
9009         * TODO:
9010         checkpoint
9011         [afeb9bc1baed]
9012
9013         * defaults.c, parse.c, testsudoers.c, visudo.c:
9014         Move update_defaults into defaults.c and call it properly from
9015         visudo and testsudoers.
9016         [f4dbb369461f]
9017
9018         * defaults.c, interfaces.c, pwutil.c, sudo.c, sudo_edit.c, tgetpass.c,
9019         tsgetgrpw.c:
9020         use zero_bytes() instead of memset() for consistency
9021         [4cee0465f4a8]
9022
9023         * logging.c, mon_systrace.c, parse.c, sudo.c, sudo_edit.c, tgetpass.c,
9024         visudo.c:
9025         Zero out sigaction_t before use in case it has non-standard entries.
9026         [120092225459]
9027
9028         * match.c:
9029         quiet gcc
9030         [098a1df49b23]
9031
9032         * match.c:
9033         Short circuit glob() checks if basename(pattern) !=
9034         basename(command). Refactor code that checks for a command in a
9035         directory and use it in the glob case if the resolved pattern ends
9036         in a '/'.
9037         [3c46fd317acb]
9038
9039 2008-11-01  Todd C. Miller  <Todd.Miller@courtesan.com>
9040
9041         * defaults.h, parse.c, sudo.c, testsudoers.c, visudo.c:
9042         Defer setting runas defaults until after runaspw/gr is setup.
9043         [12e75ee49c0c]
9044
9045 2008-10-29  Todd C. Miller  <Todd.Miller@courtesan.com>
9046
9047         * match.c, sudo.c, testsudoers.c:
9048         Use MAXHOSTNAMELEN+1 when allocating host/domain name since some
9049         systems do not include space for the NUL in the size. Also manually
9050         NUL-terminate buffer from gethostname() since POSIX is wishy-washy
9051         on this.
9052         [7266ab3296a3]
9053
9054 2008-10-26  Todd C. Miller  <Todd.Miller@courtesan.com>
9055
9056         * sudo.c, sudoers.pod:
9057         When setting the umask, use the union of the user's umask and the
9058         default value set in sudoers so that we never lower the user's umask
9059         when running a command.
9060         [4e804b004e38]
9061
9062         * sudo.c:
9063         Don't try to read from a zero-length sudoers file. Remove the bogus
9064         Solaris work-around for EAGAIN. Since we now use fgetc() it should
9065         not be a problem.
9066         [bb8e5f68d944]
9067
9068 2008-10-25  Todd C. Miller  <Todd.Miller@courtesan.com>
9069
9070         * parse.c:
9071         In update_defaults() check the return value of user*_matches against
9072         ALLOW so we don't inadvertantly match on UNSPEC.
9073         [4e422fa1527e]
9074
9075 2008-10-24  Todd C. Miller  <Todd.Miller@courtesan.com>
9076
9077         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.ldap.cat,
9078         sudoers.ldap.man.in, sudoers.man.in, visudo.cat, visudo.man.in:
9079         regen man pages; no more hyphenation
9080         [15de4fe2fe01]
9081
9082         * sudo.c:
9083         Don't error out on a zero-length sudoers file. With the advent of
9084         #include the user could create a situation where sudo is unusable.
9085         [6eb461319fa5]
9086
9087 2008-10-23  Todd C. Miller  <Todd.Miller@courtesan.com>
9088
9089         * auth/kerb5.c, config.h.in, configure, configure.in:
9090         Newer heimdal has 2-argument krb5_get_init_creds_opt_free() like MIT
9091         krb5. Really old heimdal has no krb5_get_init_creds_opt_alloc() at
9092         all. Add configure tests to handle all the cases.
9093         [4b554a98470d]
9094
9095 2008-10-08  Todd C. Miller  <Todd.Miller@courtesan.com>
9096
9097         * sudo.pod:
9098         resort ENVIRONMENT
9099         [f4f20f40653e]
9100
9101         * sudoers.pod:
9102         document sudoers_locale
9103         [0bffd2dbe806]
9104
9105         * sudo.pod, sudo_edit.c:
9106         add SUDO_EDITOR variable that sudoedit uses in preference to VISUAL
9107         or EDITOR
9108         [0ef8cb248cee]
9109
9110         * toke.c, toke.l:
9111         In fill_cmnd(), collapse any escaped sudo-specific characters.
9112         Allows character classes to be used in pathnames.
9113         [5685244c8e44]
9114
9115 2008-10-03  Todd C. Miller  <Todd.Miller@courtesan.com>
9116
9117         * lbuf.c:
9118         fix typo in non-C89 function declaration
9119         [99a7113b3a05]
9120
9121         * sudoers.pod:
9122         Mention POSIX characters classes now that out fnmatch() and glob()
9123         support them.
9124         [9c916f1230c3]
9125
9126         * sample.sudoers, sudoers.pod:
9127         Replace [A-z] (which won't match in UTF8) with [A-Za-z] which is
9128         locale agnostic.
9129         [a60a62bec244]
9130
9131         * parse.h:
9132         use __signed char if we are going to assign a negative value since
9133         on Power, char is unsigned by default
9134         [2877b319df17]
9135
9136         * config.h.in, configure, configure.in:
9137         Add tests for __signed char and signed char.
9138         [5eb874fdf1d4]
9139
9140         * aix.c:
9141         Fix AIX limit setting. getuserattr() returns values in disk blocks
9142         rather than bytes. The default hard stack size in newer AIX is
9143         RLIM_SAVED_MAX. From Dale King.
9144         [3db67415ecc3]
9145
9146 2008-09-26  Todd C. Miller  <Todd.Miller@courtesan.com>
9147
9148         * emul/charclass.h, fnmatch.c, glob.c:
9149         Add character class support to included glob(3) and fnmatch(3).
9150         [6b5b4ad77899]
9151
9152 2008-09-16  Todd C. Miller  <Todd.Miller@courtesan.com>
9153
9154         * emul/fnmatch.h:
9155         Remove UCB advertising clause and some compatibility defines.
9156         [2ade7bee74e1]
9157
9158 2008-09-14  Todd C. Miller  <Todd.Miller@courtesan.com>
9159
9160         * sudo_edit.c:
9161         Check EDITOR/VISUAL to make sure sudoedit is not re-invoking itself
9162         or sudo. This allows one to set EDITOR to sudoedit without getting
9163         into an infinite loop of sudoedit running itself until the path gets
9164         too big.
9165         [aa49ab68f82d]
9166
9167         * def_data.c, def_data.h, def_data.in, defaults.c, sudo.c:
9168         Add sudoers_locale Defaults option to override the default sudoers
9169         locale of "C".
9170         [0639886a35bf]
9171
9172 2008-09-13  Todd C. Miller  <Todd.Miller@courtesan.com>
9173
9174         * sudo.c:
9175         Set locale to system default except for during sudoers parse.
9176         [016dd2736728]
9177
9178 2008-09-12  Todd C. Miller  <Todd.Miller@courtesan.com>
9179
9180         * match.c:
9181         Redo change in 1.34 to use pointer arithmetic.
9182         [f9e7b63bb450]
9183
9184 2008-09-11  Todd C. Miller  <Todd.Miller@courtesan.com>
9185
9186         * match.c:
9187         Fix a dereference (read) of a freed pointer. Reported by Patrick
9188         Williams.
9189         [69877b633753]
9190
9191 2008-08-23  Todd C. Miller  <Todd.Miller@courtesan.com>
9192
9193         * sudo.c:
9194         Set locale to "C" to avoid interpretation issues with character
9195         ranges in sudoers. May want to make the locale a sudoers option in
9196         the future.
9197         [098a95de1746]
9198
9199 2008-08-20  Todd C. Miller  <Todd.Miller@courtesan.com>
9200
9201         * config.h.in:
9202         we no longer use setproctitle
9203         [c7f20fb747ea]
9204
9205         * sudo.h:
9206         remove #if 1
9207         [a368ee6816c6]
9208
9209         * LICENSE, mkstemp.c:
9210         Use my replacement mkstemp() from the mktemp package.
9211         [d07c2beb0f9e]
9212
9213 2008-07-12  Todd C. Miller  <Todd.Miller@courtesan.com>
9214
9215         * gram.c:
9216         regen with yacc skeleton bug fixed
9217         [24784571cbb8]
9218
9219         * sudoers.pod:
9220         Remove duplicate "as root". From Martin Toft.
9221         [97241acfee5e]
9222
9223 2008-07-02  Todd C. Miller  <Todd.Miller@courtesan.com>
9224
9225         * pwutil.c, sudo.c, sudo.h, testsudoers.c:
9226         Flesh out the fake passwd entry used for running commands as a uid
9227         not listed in the passwd database. Fixes an issue with some PAM
9228         modules.
9229         [a6648227f3f2]
9230
9231 2008-07-01  Todd C. Miller  <Todd.Miller@courtesan.com>
9232
9233         * sudo.c:
9234         Error out in -i mode if the user has no shell. This can happen when
9235         running commands as a uid with no password entry.
9236         [0c174bef36ff]
9237
9238 2008-06-26  Todd C. Miller  <Todd.Miller@courtesan.com>
9239
9240         * toke.c, toke.l:
9241         Better fix for line continuation inside double quotes. Now accepts
9242         whitespace between the backslash and the newline like the main
9243         lexer.
9244         [64efcdf86d31]
9245
9246 2008-06-25  Todd C. Miller  <Todd.Miller@courtesan.com>
9247
9248         * toke.c, toke.l:
9249         Fix line continuation in strings. It was only being honored if
9250         preceded by whitespace.
9251         [96c21271a3e4]
9252
9253 2008-06-22  Todd C. Miller  <Todd.Miller@courtesan.com>
9254
9255         * config.h.in, configure, configure.in, logging.c:
9256         Replace the double fork with a fork + daemonize.
9257         [328505441e67]
9258
9259 2008-06-21  Todd C. Miller  <Todd.Miller@courtesan.com>
9260
9261         * env.c, sudo.c:
9262         The -i flag should imply env_reset. This got broken in sudo 1.6.9.
9263         [3caedfeaec87]
9264
9265         * logging.c, sudo.c, sudo_edit.c, visudo.c:
9266         Change how the mailer is waited for. Instead of having a SIGCHLD
9267         handler, use the double fork trick to orphan the child that opens
9268         the pipe to sendmail. Fixes a problem running su on some Linux
9269         distros.
9270         [b59ce60a393d]
9271
9272 2008-06-20  Todd C. Miller  <Todd.Miller@courtesan.com>
9273
9274         * configure, configure.in:
9275         Fix configure test for dirfd() on Linux where DIR is opaque.
9276         [b8f729cdfecc]
9277
9278 2008-06-17  Todd C. Miller  <Todd.Miller@courtesan.com>
9279
9280         * tgetpass.c:
9281         Get rid of the QNX TCSAFLUSH -> TCSADRAIN hack. If QNX still has
9282         this problem we'll need to revisit this again.
9283         [c17fee8ad530]
9284
9285 2008-06-11  Todd C. Miller  <Todd.Miller@courtesan.com>
9286
9287         * logging.c:
9288         Ignore SIGPIPE instead of blocking it when piping to the mailer. If
9289         we only block the signal it may be delivered later when we unblock.
9290         Also, there is no need to block SIGCHLD since we no longer do the
9291         double fork. The normal SIGCHLD handler is sufficient.
9292         [e94a49e992e5]
9293
9294 2008-06-08  Todd C. Miller  <Todd.Miller@courtesan.com>
9295
9296         * configure, configure.in:
9297         Add description for NO_PAM_SESSION, from a redhat patch.
9298         [b9e4c939ec09]
9299
9300 2008-06-06  Todd C. Miller  <Todd.Miller@courtesan.com>
9301
9302         * sudo.cat, sudo.man.in, sudo.pod:
9303         Fix typos in -i usage
9304         [2d7ce5de0235]
9305
9306 2008-05-18  Todd C. Miller  <Todd.Miller@courtesan.com>
9307
9308         * configure, configure.in:
9309         Redo the test for dgettext() in a way that hopefully will work
9310         around the libintl_dgettext() undefined problem.
9311         [d27beb0cf85e]
9312
9313 2008-05-11  Todd C. Miller  <Todd.Miller@courtesan.com>
9314
9315         * schema.ActiveDirectory:
9316         change filename in comment
9317         [733da4ee9ac5]
9318
9319 2008-05-10  Todd C. Miller  <Todd.Miller@courtesan.com>
9320
9321         * Makefile.in, README.LDAP, sudoers.ldap.cat, sudoers.ldap.man.in,
9322         sudoers.ldap.pod:
9323         Reference schema.ActiveDirectory
9324         [d6aec537800e]
9325
9326 2008-05-09  Todd C. Miller  <Todd.Miller@courtesan.com>
9327
9328         * schema.OpenLDAP, schema.iPlanet:
9329         Mark sudoRunAs as deprecated.
9330         [00c50df807af]
9331
9332         * schema.ActiveDirectory:
9333         add sudoRunAsUser and sudoRunAsGroup
9334         [19bcce6f72fb]
9335
9336         * schema.ActiveDirectory:
9337         Active Directory schema by Chantal Paradis and Eric Paquet
9338         [06a09c92c6a5]
9339
9340 2008-05-08  Todd C. Miller  <Todd.Miller@courtesan.com>
9341
9342         * parse.c:
9343         remove an XXX that was fixed
9344         [b88038062fa2]
9345
9346         * ChangeLog:
9347         sync
9348         [8fc27c17270e]
9349
9350         * parse.c:
9351         Initialize tags to UNSPEC instead of def_* in "sudo -l" mode. This
9352         fixes a problem where the tag value printed was influenced by
9353         defaults set in the first pass through the parser.
9354         [588ccd630367]
9355
9356 2008-05-04  Todd C. Miller  <Todd.Miller@courtesan.com>
9357
9358         * Makefile.in, sudo.psf:
9359         No point in packaging the TODO file
9360         [9590248fffe1]
9361
9362         * ChangeLog:
9363         sync
9364         [152acf4c6813]
9365
9366 2008-05-03  Todd C. Miller  <Todd.Miller@courtesan.com>
9367
9368         * WHATSNEW, def_data.c, def_data.h, def_data.in, env.c, sudo.c,
9369         sudo.h, sudoers.cat, sudoers.man.in, sudoers.pod:
9370         Add env_file Defaults option that is similar to /etc/environment on
9371         some systems.
9372         [1daf53d51e18]
9373
9374 2008-05-02  Todd C. Miller  <Todd.Miller@courtesan.com>
9375
9376         * Makefile.in, README, TODO, WHATSNEW, sudo.cat, sudo.man.in,
9377         sudoers.cat, sudoers.ldap.cat, sudoers.ldap.man.in, sudoers.man.in,
9378         version.h, visudo.cat, visudo.man.in:
9379         change version to 1.7.0
9380         [d41d126b9bd8]
9381
9382         * UPGRADE:
9383         initial valgrind pass done
9384         [c59c3876d8ca]
9385
9386 2008-04-23  Todd C. Miller  <Todd.Miller@courtesan.com>
9387
9388         * ldap.c:
9389         Fix typo/think in sudo_ldap_read_secret() when storing the secret.
9390         [830d246c09b0]
9391
9392 2008-04-11  Todd C. Miller  <Todd.Miller@courtesan.com>
9393
9394         * ldap.c:
9395         define LDAPS_PORT if the system headers do not
9396         [247b12325701]
9397
9398 2008-04-10  Todd C. Miller  <Todd.Miller@courtesan.com>
9399
9400         * gram.c, gram.y:
9401         Fix another memory leak in init_parser().
9402         [7bba47deba11]
9403
9404         * configure, configure.in:
9405         There was a missing space before the ldap libs in SUDO_LIBS for some
9406         configurations.
9407         [7524cfc93759]
9408
9409         * alias.c, gram.c, gram.y, toke.c, toke.l:
9410         Clean up some memory leaks pointed out by valgrind.
9411         [a965866ece1a]
9412
9413 2008-04-07  Todd C. Miller  <Todd.Miller@courtesan.com>
9414
9415         * sudo.c:
9416         fix "sudo -s" broken by mode/flags breakout
9417         [acffe984d408]
9418
9419         * configure, configure.in:
9420         remove duplicate check for dgettext
9421         [58145529133c]
9422
9423 2008-04-05  Todd C. Miller  <Todd.Miller@courtesan.com>
9424
9425         * aix.c:
9426         Fall back to default stanza if no user-specific limit is found.
9427         [7b8cb29123ee]
9428
9429 2008-04-02  Todd C. Miller  <Todd.Miller@courtesan.com>
9430
9431         * snprintf.c:
9432         include stdint.h if present
9433         [f0ec38529306]
9434
9435         * snprintf.c:
9436         Use LLONG_MAX, not the old QUAD_MAX
9437         [01041ce508fb]
9438
9439 2008-04-01  Todd C. Miller  <Todd.Miller@courtesan.com>
9440
9441         * sudoers.ldap.pod:
9442         fix cut and pasto
9443         [34240fdef5ab]
9444
9445 2008-03-31  Todd C. Miller  <Todd.Miller@courtesan.com>
9446
9447         * pwutil.c:
9448         Add #ifdef PURITY
9449         [ce1b571ad526]
9450
9451 2008-03-30  Todd C. Miller  <Todd.Miller@courtesan.com>
9452
9453         * auth/bsdauth.c:
9454         remove useless cast
9455         [494f8a862e1d]
9456
9457 2008-03-27  Todd C. Miller  <Todd.Miller@courtesan.com>
9458
9459         * ChangeLog:
9460         sync
9461         [f5c97ffaabcc]
9462
9463         * TODO:
9464         sync
9465         [96ff1c44c182]
9466
9467         * sudo.h:
9468         Split MODE_* defines into primary and flags.
9469         [c02ee3027cb9]
9470
9471 2008-03-26  Todd C. Miller  <Todd.Miller@courtesan.com>
9472
9473         * aix.c:
9474         It turns out the logic for getting AIX limits is more convoluted
9475         than I realized and differs depending on whether the soft and/or
9476         hard limits are defined.
9477         [cf8d3f85d395]
9478
9479 2008-03-23  Todd C. Miller  <Todd.Miller@courtesan.com>
9480
9481         * Makefile.in, configure, configure.in:
9482         Back out AIX-specific change to set the sudo_noexec path to the .a
9483         file, we do really want to use the .so file. Since libtool doesn't
9484         do that correctly, just install the .so file ourselves in the
9485         Makefile.
9486         [05c6f33177d9]
9487
9488         * install-sh:
9489         If the file given to install is a path, only use the basename of the
9490         file when building the destination path.
9491         [695ba4e429ce]
9492
9493 2008-03-18  Todd C. Miller  <Todd.Miller@courtesan.com>
9494
9495         * sudo.c:
9496         parse_args() cleanup: Sort command line options in the getopt()
9497         switch The -U option requires a parameter Normalize a few ISSET
9498         calls Split mode into mode and flags and retire the now-obsolete
9499         excl variable
9500         [0d156835f861]
9501
9502         * WHATSNEW, check.c, sudo.c, sudo.cat, sudo.h, sudo.man.in, sudo.pod,
9503         sudo_usage.h.in:
9504         Add -n (non-interactive) flag.
9505         [e3e50400d32d]
9506
9507         * sudo.c:
9508         Move version printing, etc. into a separate function.
9509         [18c91b476e2c]
9510
9511         * sudo.c:
9512         Don't try to cleanup nsswitch if it has not been initialized.
9513         [aeb1ca1b399d]
9514
9515 2008-03-17  Todd C. Miller  <Todd.Miller@courtesan.com>
9516
9517         * logging.c:
9518         Block SIGPIPE in send_mail() so sudo is not killed by a problem
9519         executing the mailer.
9520         [f130e7924cca]
9521
9522 2008-03-14  Todd C. Miller  <Todd.Miller@courtesan.com>
9523
9524         * configure, configure.in:
9525         AIX shared libs end in .a, not .so.
9526         [a5deb07020d8]
9527
9528 2008-03-13  Todd C. Miller  <Todd.Miller@courtesan.com>
9529
9530         * env.c:
9531         Preserve HOME by default too. Matches documentation and previous
9532         behavior.
9533         [c16f17f1047c]
9534
9535 2008-03-12  Todd C. Miller  <Todd.Miller@courtesan.com>
9536
9537         * sudo.c:
9538         Use getopt() to parse the command line. We need to be able to
9539         intersperse env variables and options yet still honor "--"" which
9540         complicates things slightly.
9541         [60f271ce5c16]
9542
9543 2008-03-06  Todd C. Miller  <Todd.Miller@courtesan.com>
9544
9545         * ChangeLog:
9546         sync
9547         [685e67964eda]
9548
9549         * acsite.m4, configure, ltmain.sh:
9550         update to libtool-1.5.26
9551         [4c9a8c3d3b40]
9552
9553         * config.guess, config.sub:
9554         update from libtool-1.5.26 distribution
9555         [c6641aef2527]
9556
9557         * aix.c, sudo.h:
9558         attempt to fix compilation errors on AIX
9559         [edb13e5b2184]
9560
9561         * Makefile.in:
9562         fix typo in last commit
9563         [25ba7f7ceae4]
9564
9565         * Makefile.in:
9566         Add WHATSNEW file to the distribution
9567         [213f4115de8f]
9568
9569         * visudo.c:
9570         use warningx instead of fprintf(stderr, ...)
9571         [a3494b8ccb19]
9572
9573         * list.c:
9574         add DEBUG to list2tq
9575         [115d24a3000c]
9576
9577         * ChangeLog, TODO:
9578         sync
9579         [60e6f4d1fac0]
9580
9581         * WHATSNEW:
9582         mention mailfrom
9583         [e2498f9e18d6]
9584
9585         * Makefile.in, aix.c, config.h.in, configure, configure.in,
9586         set_perms.c, sudo.h:
9587         Add aix_setlimits() to set resource limits on AIX using a
9588         combination of getuserattr() and setrlimit(). Currently untested.
9589         [9b1441fd89ca]
9590
9591 2008-03-05  Todd C. Miller  <Todd.Miller@courtesan.com>
9592
9593         * def_data.c, def_data.h, def_data.in, logging.c, sudoers.cat,
9594         sudoers.man.in, sudoers.pod:
9595         Add mailfrom Defaults option that sets the value of the From: field
9596         in the warning/error mail. If unset the login name of the invoking
9597         user is used.
9598         [029b9f05d3d9]
9599
9600         * defaults.c:
9601         store a copy of _PATH_SUDO_ASKPASS in def_askpass that is freeable
9602         [a90e407d5e00]
9603
9604         * gram.c, gram.y:
9605         When adding a default, only call list2tq() once to do the list to tq
9606         conversion. It is not legal to call list2tq multiple times on the
9607         same list since list2tq consumes and modifies the list argument.
9608         [fbc25d245c4a]
9609
9610         * sudoers.ldap.cat, sudoers.ldap.man.in, sudoers.ldap.pod:
9611         comment out XXXs for now
9612         [595a1d43309d]
9613
9614         * WHATSNEW:
9615         mention askpass
9616         [b993e0837c22]
9617
9618 2008-03-04  Todd C. Miller  <Todd.Miller@courtesan.com>
9619
9620         * sudo.c:
9621         Error out if both -A and -S are specified Error out if -A is
9622         specified but no askpass is configured
9623         [24f1df2638f6]
9624
9625         * configure, configure.in:
9626         we are not going to ship a sudo-specific askpass
9627         [61949e7a3943]
9628
9629 2008-03-03  Todd C. Miller  <Todd.Miller@courtesan.com>
9630
9631         * sudo.h:
9632         fix definition of TGP_ASKPASS
9633         [0447c57ba4c3]
9634
9635         * def_data.c, def_data.in:
9636         make askpass boolean-capable
9637         [e0885893a325]
9638
9639         * INSTALL:
9640         document --with-askpass
9641         [c76e15ba97cf]
9642
9643         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.ldap.cat,
9644         sudoers.man.in, visudo.cat:
9645         regen
9646         [8d16242980b7]
9647
9648 2008-03-02  Todd C. Miller  <Todd.Miller@courtesan.com>
9649
9650         * sudo.pod, sudo_usage.h.in, sudoers.pod:
9651         document -A and askpass
9652         [02c07505a78c]
9653
9654         * auth/sudo_auth.c, check.c, configure, configure.in, def_data.c,
9655         def_data.h, def_data.in, defaults.c, pathnames.h.in, sudo.c, sudo.h,
9656         sudo_usage.h.in, tgetpass.c:
9657         Add support for running a helper program to read the password when
9658         no tty is present (or when specified with the -A flag). TODO: docs.
9659         [05780f5f71fd]
9660
9661         * def_data.c, def_data.in:
9662         add missing printf format to SELinux role and type strings
9663         [2b32774715e7]
9664
9665 2008-02-27  Todd C. Miller  <Todd.Miller@courtesan.com>
9666
9667         * INSTALL, configure, configure.in:
9668         Disable use of gss_krb5_ccache_name() by default and add
9669         --enable-gss-krb5-ccache-name configure option to enable it. It
9670         seems that gss_krb5_ccache_name() doesn't work properly with some
9671         combinations of Heimdal and OpenLDAP.
9672         [f61ebd3b19bd]
9673
9674 2008-02-22  Todd C. Miller  <Todd.Miller@courtesan.com>
9675
9676         * selinux.c:
9677         Ignore setexeccon() failing in permissive mode. Also add a call to
9678         setkeycreatecon() (though this is probably insufficient). From Dan
9679         Walsh.
9680         [52564fc1c069]
9681
9682         * auth/pam.c:
9683         Only set std_prompt for the PAM_PROMPT_* cases. The conversation
9684         function may be called for non-password reading purposes so we must
9685         be careful not to use def_prompt in cases where it may not be set.
9686         [29d88ca575ba]
9687
9688 2008-02-20  Todd C. Miller  <Todd.Miller@courtesan.com>
9689
9690         * selinux.c:
9691         Don't free the new tty context, we need to keep it around when we
9692         restore the tty context after the command completes
9693         [5b4bd39b6ea8]
9694
9695 2008-02-19  Todd C. Miller  <Todd.Miller@courtesan.com>
9696
9697         * selinux.c:
9698         s/newrole/sudo/
9699         [21b8a96ff8df]
9700
9701         * sudo.man.pl, sudo.pod:
9702         Only put login_cap(3) in SEE ALSO section if we have login.conf
9703         support
9704         [05250ddff2c0]
9705
9706 2008-02-18  Todd C. Miller  <Todd.Miller@courtesan.com>
9707
9708         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.ldap.cat,
9709         sudoers.ldap.man.in, sudoers.man.in, visudo.cat, visudo.man.in:
9710         regen
9711         [301e5c5ccdbe]
9712
9713         * sudoers.pod:
9714         Substitute in comment characters for lines partaining to login.conf,
9715         BSD auth and SELinux and only enable them if pertinent.
9716         [c1c98fa163ce]
9717
9718         * sudoers.man.pl:
9719         Substitute in comment characters for lines partaining to login.conf,
9720         BSD auth and SELinux and only enable them if pertinent.
9721         [6c88f30b878a]
9722
9723         * sudo.pod:
9724         Substitute in comment characters for lines partaining to login.conf,
9725         BSD auth and SELinux and only enable them if pertinent.
9726         [acdbdfd24e1d]
9727
9728         * sudo.man.pl:
9729         Substitute in comment characters for lines partaining to login.conf,
9730         BSD auth and SELinux and only enable them if pertinent.
9731         [0c56d4750ac3]
9732
9733         * Makefile.in, configure, configure.in:
9734         Substitute in comment characters for lines partaining to login.conf,
9735         BSD auth and SELinux and only enable them if pertinent.
9736         [9a02bd6a6658]
9737
9738         * Makefile.in, sudo.pod, sudoers.ldap.pod, sudoers.pod, visudo.pod:
9739         Remove the =cut on the first line (above the copyright notice) to
9740         quiet pod2man. Also remove the hackery in the FILES section and
9741         just deal with the fact that there will a newline between each
9742         pathname.
9743         [2ac1ab191835]
9744
9745 2008-02-17  Todd C. Miller  <Todd.Miller@courtesan.com>
9746
9747         * Makefile.in:
9748         run sudo.man.pl when generating sudo.man.in
9749         [859727369168]
9750
9751         * configure, configure.in, sudo.man.pl:
9752         comment out SELinux manual bits unless --with-selinux was specified
9753         [97ff4212b649]
9754
9755         * sudoers.pod:
9756         document role and type defaults for SELinux
9757         [870f303366b3]
9758
9759         * sudo.c, sudo.cat, sudo.man.in, sudo.pod, sudo_usage.h.in:
9760         Document "sudo -ll" and make "sudo -l -l" be equivalent.
9761         [3ce6dc429ea3]
9762
9763 2008-02-15  Todd C. Miller  <Todd.Miller@courtesan.com>
9764
9765         * configure, configure.in:
9766         Treat k*bsd*-gnu like Linux, not BSD. Fixes compilation problems on
9767         Debian GNU/kFreeBSD.
9768         [c4efa567a328]
9769
9770 2008-02-13  Todd C. Miller  <Todd.Miller@courtesan.com>
9771
9772         * auth/kerb5.c:
9773         Avoid Heimdal'isms introduced in the rev 1.32 rewrite of
9774         verify_krb_v5_tgt()
9775         [f80538e5a6fa]
9776
9777         * logging.c, logging.h, sudo.c:
9778         Remove dependence on VALIDATE_NOT_OK in logging functions. Split
9779         log_auth() into log_allowed() and log_denial() Replace mail_auth()
9780         with should_mail() and a call to send_mail()
9781         [58aac9997557]
9782
9783 2008-02-10  Todd C. Miller  <Todd.Miller@courtesan.com>
9784
9785         * ldap.c:
9786         Add debugging so we can tell if the krb5 ccache is accessible
9787         [c679322527bb]
9788
9789         * INSTALL:
9790         mention --with-selinux
9791         [9efbe0b52194]
9792
9793 2008-02-09  Todd C. Miller  <Todd.Miller@courtesan.com>
9794
9795         * configure:
9796         regen
9797         [467a834f867c]
9798
9799         * selinux.c:
9800         add Sudo tag
9801         [d004ee669bed]
9802
9803         * sudo.c, sudo.cat, sudo.h, sudo.man.in, sudo.pod, sudo_usage.h.in,
9804         sudoers.ldap.cat, sudoers.ldap.man.in, sudoers.ldap.pod,
9805         testsudoers.c, toke.c, toke.l:
9806         Add support for SELinux RBAC. Sudoers entries may specify a role
9807         and type. There are also role and type defaults that may be used.
9808         To make sure a transition occurs, when using RBAC commands are
9809         executed via the new sesh binary. Based on initial changes from Dan
9810         Walsh.
9811         [1d4abfe2c004]
9812
9813         * sesh.c:
9814         Add support for SELinux RBAC. Sudoers entries may specify a role
9815         and type. There are also role and type defaults that may be used.
9816         To make sure a transition occurs, when using RBAC commands are
9817         executed via the new sesh binary. Based on initial changes from Dan
9818         Walsh.
9819         [1e3b395ce049]
9820
9821         * Makefile.in, config.h.in, configure.in, def_data.c, def_data.h,
9822         def_data.in, gram.c, gram.h, gram.y, ldap.c, parse.c, parse.h,
9823         pathnames.h.in, selinux.c:
9824         Add support for SELinux RBAC. Sudoers entries may specify a role
9825         and type. There are also role and type defaults that may be used.
9826         To make sure a transition occurs, when using RBAC commands are
9827         executed via the new sesh binary. Based on initial changes from Dan
9828         Walsh.
9829         [6b421948286e]
9830
9831 2008-02-08  Todd C. Miller  <Todd.Miller@courtesan.com>
9832
9833         * lbuf.c, ldap.c, parse.c, sudo.c, sudo.h, sudo_nss.c:
9834         Add long list (sudo -ll) support for printing verbose LDAP and
9835         sudoers file entries. Still need to update manual.
9836         [2875be37935c]
9837
9838 2008-02-03  Todd C. Miller  <Todd.Miller@courtesan.com>
9839
9840         * ldap.c, parse.c, sudo.h, sudo_nss.c, sudo_nss.h:
9841         Unify the -l output for file and ldap based sudoers and use lbufs
9842         for both. The ldap output does not currently include options that
9843         cannot be represented as tags. This will be remedied in a long list
9844         output mode to come.
9845         [b2e429456596]
9846
9847 2008-01-27  Todd C. Miller  <Todd.Miller@courtesan.com>
9848
9849         * set_perms.c:
9850         Use a specific error message for errno == EAGAIN when setuid() et al
9851         fails. On Linux systems setuid() will fail with errno set to EAGAIN
9852         if changing to the new uid would result in a resource limit
9853         violation.
9854         [08d0aecd9f03]
9855
9856         * sudo.c:
9857         Unlimit nproc on Linux systems where calling the setuid() family of
9858         syscalls causes the nroc resource limit to be checked. The limits
9859         will be reset by pam_limits.so when PAM is used. In the non-PAM
9860         case the nproc limit will remain unlimited but there doesn't seem to
9861         be a way around that other than having sudo parse
9862         /etc/security/limits.conf directly.
9863         [df024b415a8d]
9864
9865         * env.c, sudo.c, sudo.pod:
9866         Only read /etc/environment on Linux and AIX
9867         [90669e2aefdb]
9868
9869 2008-01-23  Todd C. Miller  <Todd.Miller@courtesan.com>
9870
9871         * configure, configure.in:
9872         Use SUDO_DEFINE_UNQUOTED instead of AC_DEFINE_UNQUOTED to prevent
9873         ldap.conf and ldap.secret paths from going into config.h. Avoid
9874         single quotes in variable expansion when using SUDO_DEFINE_UNQUOTED
9875         since in some versions of bash they will end up literally in the
9876         resulting define.
9877         [25390f3ef10a]
9878
9879 2008-01-21  Todd C. Miller  <Todd.Miller@courtesan.com>
9880
9881         * README.LDAP:
9882         mention --with-nsswitch=no
9883         [c509df927263]
9884
9885         * configure, configure.in:
9886         ldap_ssl.h depends on ldap.h being included first
9887         [d96d90e9b21f]
9888
9889         * config.h.in, configure, configure.in, ldap.c:
9890         Include ldap_ssl.h if we can find it. Needed for the
9891         ldapssl_set_strength defines on HP-UX at least.
9892         [9e530470948a]
9893
9894         * sudoers.ldap.pod:
9895         sync
9896         [b9d101f4673a]
9897
9898         * TODO:
9899         sync
9900         [2ce951b2ecd0]
9901
9902         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.ldap.cat,
9903         sudoers.ldap.man.in, sudoers.man.in, visudo.cat, visudo.man.in:
9904         regen
9905         [b61d793987e0]
9906
9907         * Makefile.in:
9908         Use 78n line length when formatting cat pages.
9909         [761bee9d5759]
9910
9911         * README.LDAP:
9912         Remove redundant info that is now in sudoers.ldap.pod
9913         [01828dcce59e]
9914
9915 2008-01-20  Todd C. Miller  <Todd.Miller@courtesan.com>
9916
9917         * sudoers.ldap.cat, sudoers.ldap.man.in, sudoers.ldap.pod:
9918         Reorganize the first section a bit. Substitute the proper path for
9919         /etc/sudoers.
9920         [11ae165e065d]
9921
9922         * sudoers.ldap.cat, sudoers.ldap.man.in, sudoers.ldap.pod:
9923         Substitute values for ldap.conf, ldap.secret and nsswitch.conf Move
9924         schema into EXAMPLES
9925         [ab6509d1dde7]
9926
9927         * configure, configure.in:
9928         Substitute values for ldap.conf, ldap.secret and nsswitch.conf into
9929         sudoers.ldap.man.
9930         [6e689972f465]
9931
9932         * configure, configure.in:
9933         substitute for sudoers.ldap.man
9934         [5a4a25766dee]
9935
9936         * Makefile.in:
9937         Fix cut & pasto introduced when adding sudoers.ldap man page.
9938         [a7b069af8894]
9939
9940         * sudoers.ldap.cat, sudoers.ldap.man.in, sudoers.ldap.pod:
9941         Fill in some of the missing pieces. Still needs some reorganization
9942         and editing.
9943         [5e7331722166]
9944
9945 2008-01-19  Todd C. Miller  <Todd.Miller@courtesan.com>
9946
9947         * Makefile.in, sudoers.ldap.cat, sudoers.ldap.man.in,
9948         sudoers.ldap.pod:
9949         Beginnings of a sudoers.ldap man page. Currently, much of the
9950         information is adapted from README.LDAP.
9951         [aad28c8a922d]
9952
9953 2008-01-18  Todd C. Miller  <Todd.Miller@courtesan.com>
9954
9955         * pwutil.c:
9956         When copying gr_mem we must guarantee that the storage space for
9957         gr_mem is properly aligned. The simplest way to do this is to
9958         simply store gr_mem directly after struct group. This is not a
9959         problem for gr_passwd or gr_name as they are simple strings.
9960         [af58fc76f1ed]
9961
9962         * ldap.c:
9963         Fix a typo/thinko in one of the calls to
9964         sudo_ldap_check_user_netgroup(). From Marco van Wieringen.
9965         [70b2eb8097f5]
9966
9967 2008-01-17  Todd C. Miller  <Todd.Miller@courtesan.com>
9968
9969         * config.h.in, configure, configure.in, ldap.c:
9970         include <mps/ldap_ssl.h> in ldap.c if available
9971         [34346206ef16]
9972
9973 2008-01-16  Todd C. Miller  <Todd.Miller@courtesan.com>
9974
9975         * gram.c, gram.y:
9976         Make sure we define SIZE_MAX for yacc's skeleton.c
9977         [d8a45c7a3c42]
9978
9979         * tgetpass.c:
9980         Use TCSAFLUSH when restoring terminal settings (and echo) to
9981         guarantee that any pending output is discarded
9982         [549a184479e5]
9983
9984 2008-01-15  Todd C. Miller  <Todd.Miller@courtesan.com>
9985
9986         * sudoers:
9987         no longer need to specify SETENV when user has sudo ALL
9988         [3051b41f8032]
9989
9990         * testsudoers.c:
9991         sync user_args size calculation with sudo.c Add -g group option,
9992         renaming old -g to -G Add set_runasgr() and set_runaspw() and use
9993         them
9994         [0850325180f0]
9995
9996         * sudo.c, sudo.h:
9997         Make set_runaspw static void
9998         [5d44d7a340ce]
9999
10000         * testsudoers.c, visudo.c:
10001         g/c set_runaspw stub
10002         [79ebb5e2cc38]
10003
10004         * configure, configure.in:
10005         Don't add -llber twice.
10006         [4356d302eef4]
10007
10008 2008-01-14  Todd C. Miller  <Todd.Miller@courtesan.com>
10009
10010         * ldap.c:
10011         fix typo
10012         [249cecc557e9]
10013
10014 2008-01-13  Todd C. Miller  <Todd.Miller@courtesan.com>
10015
10016         * gram.c:
10017         regen
10018         [2f94ea375b67]
10019
10020         * configure, configure.in:
10021         Fix check that determines whether -llber is required.
10022         [6afa99523379]
10023
10024         * README.LDAP, config.h.in, configure, configure.in, ldap.c:
10025         For netscape-based LDAP, use ldapssl_set_strength() to implement the
10026         checkpeer ldap.conf option.
10027         [16ae24d73795]
10028
10029         * auth/kerb5.c:
10030         Delay krb5_cc_initialize() until we actually need to use the cred
10031         cache, which is what krb5_verify_user() does. Better cleanup on
10032         failure.
10033         [d12e5f1695b8]
10034
10035 2008-01-12  Todd C. Miller  <Todd.Miller@courtesan.com>
10036
10037         * auth/kerb5.c:
10038         Rewrite verify_krb_v5_tgt() based on what heimdal's
10039         krb5_verify_user() does.
10040         [05b5815f86c9]
10041
10042 2008-01-09  Todd C. Miller  <Todd.Miller@courtesan.com>
10043
10044         * gram.c:
10045         The U suffix on constants is an ANSI feature
10046         [c6dfce3167f1]
10047
10048         * configure, configure.in:
10049         Add check for ber_set_option() in -llber
10050         [43d0c0566074]
10051
10052 2008-01-07  Todd C. Miller  <Todd.Miller@courtesan.com>
10053
10054         * README.LDAP:
10055         default if no nsswitch.conf is files only
10056         [c13001d9c998]
10057
10058 2008-01-06  Todd C. Miller  <Todd.Miller@courtesan.com>
10059
10060         * README.LDAP:
10061         don't tell people to mail aaron about LDAP stuff
10062         [8165ec1ef0c6]
10063
10064         * README.LDAP:
10065         timelimit and bind_timelimit
10066         [44f74cbed167]
10067
10068         * ChangeLog:
10069         sync
10070         [aba1a0ab02bd]
10071
10072         * ldap.c:
10073         Move ldap.secret reading into a separate function.
10074         [1948acc9f7a4]
10075
10076         * check.c:
10077         user_runas -> runas_pw
10078         [334490fc2bae]
10079
10080 2008-01-05  Todd C. Miller  <Todd.Miller@courtesan.com>
10081
10082         * TODO:
10083         sync
10084         [c7b165cc47c6]
10085
10086         * check.c, sudo.pod, sudoers.pod:
10087         Add and document the %p escape in the password prompt. Based on a
10088         patch from Patrick Schoenfeld.
10089         [3972d4f31ffa]
10090
10091         * ldap.c:
10092         Check strlcpy() return values.
10093         [9b42f3ae8ff1]
10094
10095         * ldap.c:
10096         refactor ldap binding code into sudo_ldap_bind_s()
10097         [cb0c66a4d955]
10098
10099         * README.LDAP:
10100         Make it clear that host and uri can take multiple parameters. URI is
10101         now supported for more than just openldap nsswitch.conf does't
10102         accept "compat"
10103         [f610dea656d6]
10104
10105         * sudo.c:
10106         comment cleanup and update (c) year
10107         [6cd69c810ca5]
10108
10109         * parse.c, sudo_nss.c:
10110         Move display_privs() and display_cmnd() from parse.c to sudo_nss.c.
10111         This should make it possible to build an LDAP-only sudo binary.
10112         [61c3f27066a0]
10113
10114         * ldap.c, parse.c, sudo.c, sudo.h, sudo_nss.h:
10115         Improve chaining of multiple sudoers sources by passing in the
10116         previous return value to the next in the chain
10117         [2c0b722b1b2d]
10118
10119         * gram.y:
10120         Free up parser data structures in sudo_file_close().
10121         [2251531d4519]
10122
10123         * gram.c, parse.c:
10124         Free up parser data structures in sudo_file_close().
10125         [8371f130f401]
10126
10127         * ldap.c:
10128         Parse uri ourself if no ldap_initialize() is present Use
10129         ldap_create() instead of deprecated ldap_init() Use
10130         ldap_sasl_bind_s() instead of deprecated ldap_simple_bind_s()
10131         [85d3825b1953]
10132
10133         * config.h.in, configure, configure.in:
10134         Add check for ldap_sasl_bind_s() Remove -DLDAP_DEPRECATED from
10135         CFLAGS
10136         [240524512bc5]
10137
10138 2008-01-04  Todd C. Miller  <Todd.Miller@courtesan.com>
10139
10140         * config.h.in, configure, configure.in:
10141         add check for ldap_create
10142         [3089badd73b8]
10143
10144 2008-01-03  Todd C. Miller  <Todd.Miller@courtesan.com>
10145
10146         * config.h.in, configure, configure.in, ldap.c:
10147         Add sudo_ldap_get_first_rdn() to return the first rdn of an entry's
10148         dn using the mechanism appropriate for the LDAP SDK in use. Use
10149         ldap_unbind_ext_s() instead of deprecated ldap_unbind_s(). Emulate
10150         ldap_unbind_ext_s() and ldap_search_ext_s() for SDK's without them.
10151         [6deeca3d00cc]
10152
10153         * lbuf.c:
10154         include unistd.h
10155         [8419ed0bae7f]
10156
10157         * config.h.in, configure.in:
10158         fix typo in mtim_getnsec
10159         [2d5f21230a60]
10160
10161 2008-01-02  Todd C. Miller  <Todd.Miller@courtesan.com>
10162
10163         * config.h.in, configure, configure.in:
10164         add check for st__tim in struct stat as used by SCO
10165         [587060ea2a89]
10166
10167         * ldap.c:
10168         use ldap_search_ext_s instead of deprecated ldap_search_s
10169         [5fc44fe3b44c]
10170
10171         * Makefile.in, TODO, sudo.cat, sudo.man.in:
10172         add sudo_nss.h to HDRS
10173         [86f01a70ff29]
10174
10175         * ldap.c:
10176         Replace deprecated ldap_explode_dn() with calls to ldap_str2dn() and
10177         ldap_rdn2str().
10178         [aa217002cfae]
10179
10180 2008-01-01  Todd C. Miller  <Todd.Miller@courtesan.com>
10181
10182         * ldap.c:
10183         Use ldap_get_values_len()/ldap_value_free_len() instead of the
10184         deprecated ldap_get_values()/ldap_value_free().
10185         [e22dceb85e57]
10186
10187         * ChangeLog:
10188         sync
10189         [adad27b36107]
10190
10191         * TODO:
10192         sync
10193         [c449eb47e0ef]
10194
10195         * gettime.c, sudo.c:
10196         Remove some already fixed XXXs
10197         [532788d0e6da]
10198
10199         * ldap.c:
10200         Same return value as non-existent sudoers if LDAP was unable to
10201         connect.
10202         [5819810e8e4e]
10203
10204         * sudo.pod:
10205         mention /etc/environment
10206         [ea8e6102f853]
10207
10208         * README.LDAP, UPGRADE, WHATSNEW:
10209         Update to reflect recent developments.
10210         [ed1fb026fe77]
10211
10212         * sudo.c:
10213         Print nsswitch.conf, ldap.conf and ldap.secret paths in -V output.
10214         [55b68a58260d]
10215
10216         * ldap.c:
10217         When building up a query don't list groups in the aux group vector
10218         that are the same as the passwd file group. On most systems the
10219         first gid in the group vector is the same as the passwd entry gid.
10220         [4bb51e297e0d]
10221
10222         * env.c, ldap.c:
10223         Define LDAPNOINIT before calling ldap_init(), etc. to disable user
10224         ldaprc and system defaults that could affect how LDAP works.
10225         [ce5036440db2]
10226
10227         * INSTALL, configure, configure.in, pathnames.h.in, sudo.c,
10228         sudo_nss.c, sudo_nss.h:
10229         Rename read_nss -> sudo_read_nss Add --with-nsswitch to allow users
10230         to specify nsswitch.conf path or disable it. If --with-nsswitch=no
10231         but --with-ldap, order is LDAP, then sudoers. Fix --with-ldap-conf-
10232         file and --with-ldap-secret-file
10233         [ea5d7704381f]
10234
10235         * parse.c:
10236         Honor def_ignore_local_sudoers
10237         [f38e1121fae1]
10238
10239 2007-12-31  Todd C. Miller  <Todd.Miller@courtesan.com>
10240
10241         * ldap.c:
10242         no longer need to check def_ignore_local_sudoers here
10243         [fce2a72f96fb]
10244
10245         * parse.c:
10246         Refactor group vector resetting into a function and also call it
10247         from display_cmnd. Stop after the first sucessful match in
10248         display_cmnd. Print a newline between each display_privs method.
10249         [981b37b5adff]
10250
10251         * parse.c:
10252         fix double free introduced in rev 1.218
10253         [c574b02d8747]
10254
10255         * ldap.c:
10256         belt and suspenders; zero out result after freeing it
10257         [7732988d4620]
10258
10259         * env.c, fileops.c, ldap.c, sudo.h, sudo_nss.c:
10260         Refactor line reading into a separate function, sudo_parseln(),
10261         which removes comments, leading/trailing whitespace and newlines.
10262         May want to rethink the use of sudo_parseln() for /etc/ldap.secret
10263         [61d9068f0645]
10264
10265         * parse.c, sudo.c:
10266         Make the inability to read the sudoers file a non-fatal error if
10267         there are other sudoers sources available. sudoers_file_lookup now
10268         returns "not OK" if sudoers was not present
10269         [643babf597a8]
10270
10271         * ldap.c:
10272         make it clear that the global options are from LDAP
10273         [9ff950349463]
10274
10275         * logging.c:
10276         allocate proper amount of space for error string
10277         [8bebb7d46d19]
10278
10279         * sudo_nss.c, sudo_nss.h:
10280         actual sudo nss code
10281         [5bd7d52d7738]
10282
10283         * ldap.c, parse.c, sudo.c, sudo.h:
10284         nss-ify display_privs and display_cmnd.
10285         [cccfdd3253f2]
10286
10287         * defaults.c, parse.c, testsudoers.c, visudo.c:
10288         move update_defaults() to parse.c
10289         [ace144b958a9]
10290
10291         * Makefile.in, ldap.c, list.c, parse.c, parse.h, sudo.c, sudo.h:
10292         Use nsswitch to hide some sudoers vs. ldap implementation details
10293         and reduce the number of #ifdef LDAP TODO: fix display routines and
10294         error handling
10295         [6225edde89a6]
10296
10297 2007-12-28  Todd C. Miller  <Todd.Miller@courtesan.com>
10298
10299         * Makefile.in, README.LDAP, ldap.c, pathnames.h.in, sudo.c, sudo.h:
10300         First cut at nsswitch.conf support. Further reorganizaton and
10301         related changes are forthcoming.
10302         [717f59d0790b]
10303
10304 2007-12-21  Todd C. Miller  <Todd.Miller@courtesan.com>
10305
10306         * env.c, pathnames.h.in, sudo.c, sudo.h:
10307         Add support for reading and /etc/environment file. Still needs to
10308         be documented and should probably only applies to OSes that have it
10309         (AIX and Linux, maybe others).
10310         [15d3edae27e4]
10311
10312         * ldap.c:
10313         include limits.h
10314         [e19875ef0f82]
10315
10316 2007-12-20  Todd C. Miller  <Todd.Miller@courtesan.com>
10317
10318         * WHATSNEW:
10319         reword LDAP SASL
10320         [7ec3c4ec31b5]
10321
10322 2007-12-19  Todd C. Miller  <Todd.Miller@courtesan.com>
10323
10324         * TODO:
10325         sync
10326         [87c5a7aea7bf]
10327
10328         * README.LDAP:
10329         Add an example sudoRole, clarify netscape vs. openldap a bit more
10330         [6f96c0ca8107]
10331
10332         * README.LDAP:
10333         Be clear on what is OpenLDAP vs. Netscape-derived
10334         [a33c8314dec5]
10335
10336         * config.h.in, configure, configure.in, ldap.c:
10337         Use ldapssl_init() for ldaps support instead of trying to do it
10338         manually with ldap_init() + ldapssl_install_routines(). Use tls_cert
10339         and tls_key for cert7.db and key3.db respectively. Don't print
10340         debugging info for options that are not set. Add warning if
10341         start_tls specified when not supported.
10342         [abb62dc7e4a3]
10343
10344         * ldap.c:
10345         fix compilation on solaris
10346         [03d449684e80]
10347
10348         * Makefile.in:
10349         add missing .h and .c files for missing lib objs
10350         [8b37825bdfc7]
10351
10352 2007-12-18  Todd C. Miller  <Todd.Miller@courtesan.com>
10353
10354         * ldap.c:
10355         fix LDAP_OPT_NETWORK_TIMEOUT setting
10356         [226eba89c0ad]
10357
10358         * ldap.c:
10359         fix compilation on Solaris
10360         [917d47639eb6]
10361
10362 2007-12-17  Todd C. Miller  <Todd.Miller@courtesan.com>
10363
10364         * configure, configure.in:
10365         fix typo
10366         [009d5c81b225]
10367
10368         * README.LDAP:
10369         try to clear up which variables are for OpenLDAP and which are for
10370         netscape-derived SDKs
10371         [f8d9823ee73c]
10372
10373         * config.h.in, configure, configure.in, ldap.c:
10374         Add support for "ssl on" in both netscape and openldap flavors. Only
10375         the OpenLDAP flavor has been tested.
10376         [952745829ec5]
10377
10378         * logging.c, sudo.c, sudo.h:
10379         Call cleanup() before exit in log_error() instead of calling
10380         sudo_ldap_close() directly. ldap_conn can now be static to sudo.c
10381         [da02d1b67a2c]
10382
10383         * sudo.c:
10384         ld -> ldap_conn
10385         [01afa6d927cc]
10386
10387 2007-12-16  Todd C. Miller  <Todd.Miller@courtesan.com>
10388
10389         * logging.c, sudo.c, sudo.h:
10390         Better ldap cleanup.
10391         [25b9abe2d617]
10392
10393         * ldap.c:
10394         Distinguish between LDAP conf settings that are connection-specific
10395         (which take an ld pointer) and those that are default settings
10396         (which do not).
10397         [d48dc6c9c3b4]
10398
10399 2007-12-14  Todd C. Miller  <Todd.Miller@courtesan.com>
10400
10401         * ldap.c:
10402         Improved warnings on error.
10403         [c8dce7b4feb4]
10404
10405         * ldap.c:
10406         Make ldap config table driven and set the config *after* we open the
10407         connection.
10408         [d9698b5a2681]
10409
10410 2007-12-13  Todd C. Miller  <Todd.Miller@courtesan.com>
10411
10412         * ldap.c:
10413         fix LDAP_OPT_X_CONNECT_TIMEOUT compat define
10414         [598c6df06660]
10415
10416         * configure, configure.in:
10417         some operating systems need to link with -lkrb5support when using
10418         krb5
10419         [8896365dde9e]
10420
10421 2007-12-10  Todd C. Miller  <Todd.Miller@courtesan.com>
10422
10423         * WHATSNEW:
10424         minor update
10425         [acfeeb7f4886]
10426
10427         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in:
10428         regen
10429         [a3c6699674f9]
10430
10431 2007-12-08  Todd C. Miller  <Todd.Miller@courtesan.com>
10432
10433         * ChangeLog, TODO:
10434         sync
10435         [138e99b925ee]
10436
10437         * ldap.c, schema.OpenLDAP, schema.iPlanet, sudoers2ldif:
10438         add -g support for LDAP
10439         [8fc27dbe9287]
10440
10441 2007-12-03  Todd C. Miller  <Todd.Miller@courtesan.com>
10442
10443         * WHATSNEW, sudo.c, sudo.pod, sudo_usage.h.in:
10444         The -i and -s flags can now take an optional command.
10445         [6afec104ee77]
10446
10447 2007-12-02  Todd C. Miller  <Todd.Miller@courtesan.com>
10448
10449         * auth/pam.c, def_data.c, def_data.h, def_data.in, sudo.c, sudo.pod,
10450         sudoers.pod:
10451         Add passprompt_override flag to sudoers that will cause the prompt
10452         to be overridden in all cases. This flag is also set when the user
10453         specifies the -p flag.
10454         [e4c5402131a6]
10455
10456         * sudo.c:
10457         Move setting of login class until after sudoers has been parsed. Set
10458         NewArgv[0] for -i after runas_pw has been set.
10459         [62a48c8c56fa]
10460
10461         * configure, configure.in:
10462         Move the dgettext check.
10463         [5fd8a4712d1c]
10464
10465 2007-12-01  Todd C. Miller  <Todd.Miller@courtesan.com>
10466
10467         * auth/pam.c, config.h.in, configure, configure.in:
10468         Add basic support for looking up the string "Password: " in the PAM
10469         localized text db. This allows us to determine whether the PAM
10470         prompt is the default "Password: " one even if it has been
10471         localized.
10472
10473         TODO: concatenate non-std PAM prompts and user-specified sudo
10474         prompts.
10475         [81c25a415d41]
10476
10477 2007-11-27  Todd C. Miller  <Todd.Miller@courtesan.com>
10478
10479         * Makefile.in, config.h.in, configure, configure.in, parse.c,
10480         set_perms.c, sudo.c, sudo.h:
10481         Use AC_FUNC_GETGROUPS instead of a home-grown attempt that was
10482         insufficient.
10483         [1cce6ec1a91e]
10484
10485         * acsite.m4, configure, interfaces.c, memrchr.c:
10486         Fix typos; Martynas Venckus
10487         [be1233cca11a]
10488
10489 2007-11-26  Todd C. Miller  <Todd.Miller@courtesan.com>
10490
10491         * set_perms.c:
10492         Don't assume runas_pw is set; it may not be in the -g case.
10493         [aa11bd2193ac]
10494
10495 2007-11-25  Todd C. Miller  <Todd.Miller@courtesan.com>
10496
10497         * logging.c, set_perms.c:
10498         Set aux group vector for PERM_RUNAS and restore group vector for
10499         PERM_ROOT if we previously changed it. Stash the runas group vector
10500         so we don't have to call initgroups more than once. Also add no-op
10501         check to check_perms.
10502         [53837fc755f7]
10503
10504 2007-11-21  Todd C. Miller  <Todd.Miller@courtesan.com>
10505
10506         * WHATSNEW, check.c, def_data.in, defaults.c, gram.c, gram.h, gram.y,
10507         ldap.c, logging.c, match.c, mon_systrace.c, parse.c, parse.h,
10508         pwutil.c, set_perms.c, sudo.c, sudo.cat, sudo.h, sudo.man.in,
10509         sudo.pod, sudo_usage.h.in, sudoers.cat, sudoers.man.in, sudoers.pod,
10510         testsudoers.c, visudo.c, visudo.cat, visudo.man.in:
10511         Add support for runas groups. This allows the user to run a command
10512         with a different effective group. If the -g option is specified
10513         without -u the command will be run as the current user (only the
10514         group will change). the -g and -u options may be used together.
10515         TODO: implement runas group for ldap improve runas group
10516         documentation add testsudoers support
10517         [9019309df6d0]
10518
10519         * configure, configure.in:
10520         fix setting of mandir
10521         [2c60f269399f]
10522
10523         * sudo.pod, sudoers.pod:
10524         document that ALL implies SETENV
10525         [bcc8e5b703b9]
10526
10527         * ldap.c:
10528         s/setenv_ok/setenv_implied/g
10529         [f005df2c2eea]
10530
10531         * ldap.c:
10532         hostname_matches() returns TRUE on match in sudo 1.7.
10533         [c3d4377b6e8b]
10534
10535         * ldap.c:
10536         use strcmp, not strcasecmp when comparing ALL
10537         [e486024574a1]
10538
10539         * ldap.c:
10540         Make sudo ALL imply setenv. Note that unlike with file-based
10541         sudoers this does affect all the commands in the sudoRole.
10542         [bc12f54321d1]
10543
10544         * gram.c, gram.y, parse.c, parse.h:
10545         sudo "ALL" now implies the SETENV tag but, unlike an explicit tag,
10546         it is not passed on to other commands in the list.
10547         [026e2cb40680]
10548
10549         * visudo.c:
10550         Add missing sudo_setpwent() and sudo_setgrent() calls. Also use
10551         sudo_getpwuid() instead of getpwuid().
10552         [86f30a8fbd49]
10553
10554 2007-11-15  Todd C. Miller  <Todd.Miller@courtesan.com>
10555
10556         * sudoers:
10557         Expand on the dangers of not using visudo to edit sudoers.
10558         [e434e8057d02]
10559
10560 2007-11-08  Todd C. Miller  <Todd.Miller@courtesan.com>
10561
10562         * parse.c:
10563         Don't quote *?[]! on output since the lexer does not strip off the
10564         backslash when reading those in.
10565         [561da4a13afa]
10566
10567 2007-11-07  Todd C. Miller  <Todd.Miller@courtesan.com>
10568
10569         * glob.c:
10570         expand "u_foo" types to "unsigned foo" to avoid compatibility
10571         issues.
10572         [b0d7c64d78c3]
10573
10574 2007-11-04  Todd C. Miller  <Todd.Miller@courtesan.com>
10575
10576         * logging.c:
10577         Refactor log line generation in to new_logline().
10578         [6a9b9730615d]
10579
10580 2007-10-25  Todd C. Miller  <Todd.Miller@courtesan.com>
10581
10582         * TROUBLESHOOTING:
10583         fix typo
10584         [9e19d4f86e47]
10585
10586 2007-10-24  Todd C. Miller  <Todd.Miller@courtesan.com>
10587
10588         * config.h.in, configure, configure.in, interfaces.c, interfaces.h,
10589         match.c:
10590         Add configure check for struct in6_addr instead of relying on
10591         AF_INET6 since some systems define AF_INET6 but do not include IPv6
10592         support.
10593         [e24082c416bd]
10594
10595 2007-10-21  Todd C. Miller  <Todd.Miller@courtesan.com>
10596
10597         * configure, configure.in:
10598         Fix block to add -lutil for FreeBSD and NetBSD when logincap is in
10599         use.
10600         [76a9df4a63be]
10601
10602 2007-10-20  Todd C. Miller  <Todd.Miller@courtesan.com>
10603
10604         * configure, configure.in:
10605         POSIX states that struct timespec be declared in time.h so check
10606         there regardless of the value of TIME_WITH_SYS_TIME.
10607         [e42c55ec9daf]
10608
10609 2007-10-17  Todd C. Miller  <Todd.Miller@courtesan.com>
10610
10611         * tgetpass.c:
10612         Instead of defining a macro to call the appropriate method for
10613         turning on/off echo, just define tc[gs]etattr() and the related
10614         defines that use the correct terminal ioctls if needed. Also go back
10615         to using TCSAFLUSH instead of TCSADRAIN on all but QNX.
10616         [5dfb2379d995]
10617
10618 2007-10-09  Todd C. Miller  <Todd.Miller@courtesan.com>
10619
10620         * Makefile.in:
10621         g/c @ALLOCA@
10622         [e6946c2e3820]
10623
10624         * configure:
10625         regen
10626         [9bac7159a138]
10627
10628         * INSTALL, auth/pam.c, config.h.in, configure.in:
10629         Add --disable-pam-session configure option to disable calling
10630         pam_{open,close}_session. May work around bugs in some PAM
10631         implementations.
10632         [273d0fdb4a9d]
10633
10634 2007-10-08  Todd C. Miller  <Todd.Miller@courtesan.com>
10635
10636         * tgetpass.c:
10637         quiet gcc warnings
10638         [325565c5a579]
10639
10640         * tgetpass.c:
10641         Avoid printing the prompt if we are already backgrounded. E.g. if
10642         the user runs "sudo foo &" from the shell. In this case, the call
10643         to tcsetattr() will cause SIGTTOU to be delivered.
10644         [db2139a8d8b8]
10645
10646 2007-09-15  Todd C. Miller  <Todd.Miller@courtesan.com>
10647
10648         * def_data.c, def_data.h, def_data.in:
10649         Reorder things such that the definition of env_reset come right
10650         before the env variable lists.
10651         [e0d8e22a581a]
10652
10653         * parse.h:
10654         Shrink type and seqno in struct alias from int to u_short
10655         [9425263dd565]
10656
10657         * alias.c, match.c, parse.c, parse.h:
10658         Add a sequence number in the aliases for loop detection. If we find
10659         an alias with the seqno already set to the current (global) value we
10660         know we've visited it before so ignore it.
10661         [301a0548ffff]
10662
10663 2007-09-13  Todd C. Miller  <Todd.Miller@courtesan.com>
10664
10665         * TODO, auth/pam.c, sudo.c, sudo.h:
10666         PAM wants the full tty path so add user_ttypath which holds the full
10667         path to the tty or is NULL if no tty was present.
10668         [c7c1dd4b36c8]
10669
10670         * auth/pam.c:
10671         Set PAM_RHOST to work around a bug in Solaris 7 and lower that
10672         results in a segv.
10673         [3a8865b3a357]
10674
10675 2007-09-11  Todd C. Miller  <Todd.Miller@courtesan.com>
10676
10677         * gram.c:
10678         regen
10679         [5647be127950]
10680
10681         * alias.c, defaults.c, gram.y, list.c, list.h, match.c, parse.c,
10682         parse.h, testsudoers.c, visudo.c:
10683         rename lh_ -> tq_
10684         [8f500c542c4a]
10685
10686 2007-09-10  Todd C. Miller  <Todd.Miller@courtesan.com>
10687
10688         * alloc.c:
10689         remove some useless casts
10690         [409a448b23f5]
10691
10692         * alloc.c:
10693         pull in inttypes.h for SIZE_MAX; we avoid stdint.h since inttypes.h
10694         predates the final C99 spec and the standard specifies that it shall
10695         include stdint.h anyway
10696         [ae478fdef61a]
10697
10698 2007-09-06  Todd C. Miller  <Todd.Miller@courtesan.com>
10699
10700         * Makefile.in, alloca.c, configure.in:
10701         Since we ship with a pre-generated parser there is no need to ship a
10702         bogus alloca implementation.
10703         [3f611a7cc0e5]
10704
10705         * configure:
10706         regen
10707         [771eccf5269c]
10708
10709         * configure.in:
10710         remove initial setting of CHECKSIA, we require that it be unset if
10711         not used
10712         [a2e91adc5aa2]
10713
10714         * Makefile.in:
10715         add list.c to SRCS
10716         [7db0e56cf5b9]
10717
10718         * configure:
10719         regen
10720         [3716ec30172e]
10721
10722         * configure.in:
10723         only do SIA checks on Digital Unix
10724         [6a96e1af2597]
10725
10726 2007-09-05  Todd C. Miller  <Todd.Miller@courtesan.com>
10727
10728         * sudoers.cat, sudoers.man.in:
10729         regen
10730         [ac1dc29de72b]
10731
10732         * ChangeLog, TODO:
10733         sync
10734         [781effce0a2d]
10735
10736         * auth/kerb5.c:
10737         Remove call to krb5_cc_register() as it is not needed for modern
10738         kerb5.
10739         [351b8b764f16]
10740
10741         * configure:
10742         regen
10743         [ac21dbcc9c2c]
10744
10745         * aclocal.m4, configure.in:
10746         New method for setting the default authentication type and avoiding
10747         conflicts in auth types.
10748         [5fb15be11f78]
10749
10750         * match.c, parse.c, testsudoers.c:
10751         Each entry in a cmndlist now has an associated runaslist so no need
10752         to keep track of the most recent non-NULL one.
10753         [582e015786b0]
10754
10755 2007-09-04  Todd C. Miller  <Todd.Miller@courtesan.com>
10756
10757         * ldap.c:
10758         back out partial ldaps support mistakenly committed
10759         [357703e94b2d]
10760
10761         * ldap.c:
10762         Add support for unix groups and netgroups in sudoRunas
10763         [2f04eb91c6d0]
10764
10765 2007-09-03  Todd C. Miller  <Todd.Miller@courtesan.com>
10766
10767         * sudo_edit.c:
10768         Fix sudoedit of a non-existent file. From Tilo Stritzky.
10769         [a5488a03bddd]
10770
10771 2007-09-02  Todd C. Miller  <Todd.Miller@courtesan.com>
10772
10773         * configure:
10774         regen
10775         [541177376ee1]
10776
10777         * INSTALL:
10778         update --passprompt escape info
10779         [6d57db4cd538]
10780
10781         * configure.in:
10782         remove now-bogus comment and update copyright date
10783         [6a4af45fa331]
10784
10785         * configure.in:
10786         Fix up use of with_passwd
10787         [7c79d8640f77]
10788
10789         * acsite.m4, config.guess, config.sub, configure.in, ltmain.sh:
10790         Update to autoconf-2.61 andf libtool-1.5.24
10791         [045259b0b439]
10792
10793         * Makefile.in:
10794         "cmp -s" not just cmp Add @datarootdir@ to quiet autoconf-2.61
10795         [f5b6a7afb817]
10796
10797 2007-09-01  Todd C. Miller  <Todd.Miller@courtesan.com>
10798
10799         * gram.c:
10800         regen
10801         [b5b78e71d2cb]
10802
10803         * gram.y:
10804         move tags and runaslist propagation to be earlier
10805         [94f7805f4489]
10806
10807         * visudo.c:
10808         If -f flag given use the permissions of the original file as a
10809         template
10810         [9303d22bddb0]
10811
10812         * gram.y:
10813         prevent a double free() when re-initing the parser
10814         [5b3907c4de5a]
10815
10816 2007-08-31  Todd C. Miller  <Todd.Miller@courtesan.com>
10817
10818         * configure:
10819         regen
10820         [49a90b19a17d]
10821
10822         * aclocal.m4, alias.c, alloc.c, auth/API, auth/afs.c, auth/bsdauth.c,
10823         auth/kerb4.c, auth/kerb5.c, auth/pam.c, auth/securid.c,
10824         auth/securid5.c, auth/sia.c, auth/sudo_auth.h, config.h.in,
10825         configure.in, env.c, ldap.c, list.c, list.h, memrchr.c, parse.c,
10826         parse.h, pwutil.c, redblack.c, redblack.h, snprintf.c, sudo.c,
10827         sudo.h, testsudoers.c, visudo.c, zero_bytes.c:
10828         Remove support for compilers that don't support void *
10829         [35e1d01ae197]
10830
10831         * gram.c:
10832         regen
10833         [70ce412a458a]
10834
10835         * Makefile.in, alias.c, defaults.c, gram.y, list.c, list.h, match.c,
10836         parse.c, parse.h, testsudoers.c, visudo.c:
10837         Move list manipulation macros to list.h and create C versions of the
10838         more complex ones in list.c. The names have been down-cased so they
10839         appear more like normal functions.
10840         [9cea0e281148]
10841
10842         * Makefile.in:
10843         Fix cmp command when regenerating parser. Make gram.o the first
10844         dependency for all programs so gram.h will be generated before
10845         anything that needs it.
10846         [429ea065abf1]
10847
10848         * gram.y, parse.h:
10849         Convert NEW_DEFAULT anf NEW_MEMBER into static functions.
10850         [2f3433833589]
10851
10852         * match.c, parse.c, testsudoers.c:
10853         Use LH_FOREACH_REV when checking permission and short-circuit on the
10854         first non-UNSPEC hit we get for the command. This means that
10855         instead of cycling through the all the parsed sudoers entries we
10856         start at the end and work backwards and quit after the first
10857         positive or negative match.
10858         [881474532f3e]
10859
10860         * gram.c:
10861         regen
10862         [9152a19d4188]
10863
10864         * defaults.c, gram.y, parse.c, parse.h, testsudoers.c, visudo.c:
10865         Change list head macros to take a pointer, not a struct.
10866         [054f1dcce4cc]
10867
10868         * gram.c:
10869         regen
10870         [be154aae6235]
10871
10872         * gram.y:
10873         Propagate the runasspec from one command to the next in a cmndspec.
10874         [4957b1cb03a3]
10875
10876 2007-08-30  Todd C. Miller  <Todd.Miller@courtesan.com>
10877
10878         * match.c:
10879         Replace has_meta() with a macro that calls strpbrk().
10880         [a2e58846a542]
10881
10882         * regen
10883         [5a932a5c9451]
10884
10885         * alias.c, defaults.c, gram.y, match.c, parse.c, parse.h,
10886         testsudoers.c, visudo.c:
10887         Use a list head struct when storing the semi-circular lists and
10888         convert to tail queues in the process. This will allow us to
10889         reverse foreach loops more easily and it makes it clearer which
10890         functions expect a list as opposed to a single member.
10891
10892         Add macros for manipulating lists. Some of these should become
10893         functions.
10894
10895         When freeing up a list, just pop off the last item in the queue
10896         instead of going from head to tail. This is simpler since we don't
10897         have to stash a pointer to the next member, we always just use the
10898         last one in the queue until the queue is empty.
10899
10900         Rename match functions that take a list to have list in the name.
10901         Break cmnd_matches() into cmnd_matches() and cmndlist_matches.
10902         [7c37b271607a]
10903
10904         * parse.c:
10905         Fix pasto, append "!" not negated (which is an int) for sudo -l
10906         output.
10907         [93a444c3997f]
10908
10909         * Makefile.in:
10910         Remove the dependency of gram .h on gram.y, the .c dependency is
10911         enough. Only move y.tab.h to gram.h if it is different; avoids
10912         needless rebuilding.
10913         [67bf4ea2a2e5]
10914
10915 2007-08-27  Todd C. Miller  <Todd.Miller@courtesan.com>
10916
10917         * sudoers.pod:
10918         Defaults lines may be associated with lists of users, hosts,
10919         commands and runas users, not just single entries.
10920         [795effacb6be]
10921
10922 2007-08-26  Todd C. Miller  <Todd.Miller@courtesan.com>
10923
10924         * Makefile.in:
10925         Revert the "cmp" portion of the last diff, it doesn't make sense.
10926         [26f34bf4e2e3]
10927
10928         * Makefile.in:
10929         Remove *.lo for clean: When generating the parser, only move the
10930         generated files into place if they differ from the existing ones.
10931         [84673fea371b]
10932
10933 2007-08-25  Todd C. Miller  <Todd.Miller@courtesan.com>
10934
10935         * toke.c, toke.l:
10936         Replace IPV6 regexp with a much simpler (readable) one and add an
10937         extra check when it matches to make sure we have a valid address.
10938         [592e9f690556]
10939
10940         * match.c:
10941         Fix thinko introduced when merging IPV6 support.
10942         [da38cd5eb8c7]
10943
10944 2007-08-24  Todd C. Miller  <Todd.Miller@courtesan.com>
10945
10946         * HISTORY, LICENSE:
10947         regen
10948         [0d7b27b90634]
10949
10950         * license.pod:
10951         add 2007
10952         [510e5048ae1a]
10953
10954         * UPGRADE:
10955         mention #uid vs. comment pitfall
10956         [4d2861898bcc]
10957
10958         * acsite.m4:
10959         Merge in a patch from the libtool cvs that fixes a problem with the
10960         latest autoconf. From Stepan Kasal.
10961         [0c279ae7df3e]
10962
10963         * parse.h:
10964         Back out he XOR swap trick, it is slower than a temp variable on
10965         modern CPUs.
10966         [91c4b024e317]
10967
10968         * gram.c:
10969         regen
10970         [cb6d4106fb74]
10971
10972         * gram.y, parse.h:
10973         Convert the tail queue to a semi-circle queue and use the XOR swap
10974         trick to swap the prev pointers during append.
10975         [8bf4d9fbee58]
10976
10977 2007-08-23  Todd C. Miller  <Todd.Miller@courtesan.com>
10978
10979         * parse.h:
10980         remove useless statement
10981         [421ec1dd73e6]
10982
10983         * toke.c, toke.l:
10984         Refactor #include parsing into a separate function and return
10985         unparsed chars (such as newline or comment) back to the lexer.
10986         [64166917aa3d]
10987
10988 2007-08-22  Todd C. Miller  <Todd.Miller@courtesan.com>
10989
10990         * WHATSNEW:
10991         mention better uid support
10992         [56f510e7f2ec]
10993
10994         * sudoers.pod:
10995         Users may now consist of a uid.
10996         [5fd31b2c55ed]
10997
10998         * gram.c, gram.h, toke.c:
10999         regen
11000         [599e58af6dc1]
11001
11002         * parse.c:
11003         Use lbuf_append_quoted() for sudo -l output to quote characters that
11004         would require quoting in sudoers.
11005         [3132d05c990a]
11006
11007         * lbuf.c, lbuf.h:
11008         Add lbuf_append_quoted() which takes a set of characters which
11009         should be quoted with a backslash when displayed.
11010         [ab09bebb1d65]
11011
11012         * toke.l:
11013         Require that the first character after a comment not be a digit or a
11014         dash. This allows us to remove the GOTRUNAS state and treat
11015         uid/gids similar to other words. It also means that we can now
11016         specify uids in User_Lists and a User_Spec may now contain a uid.
11017         [461fe01f8392]
11018
11019         * gram.y, toke.l:
11020         Replace RUNAS token with '(' and ')' tokens to make the runas
11021         portion of the grammar more natural.
11022         [e0c383b4684d]
11023
11024         * BUGS:
11025         The BUGS file is history
11026         [4d9a809585c7]
11027
11028         * Makefile.in, README:
11029         The BUGS file is history
11030         [d9500e261172]
11031
11032 2007-08-21  Todd C. Miller  <Todd.Miller@courtesan.com>
11033
11034         * toke.c, toke.l:
11035         Allow comments after a RunasAlias as long as the character after the
11036         pound sign isn't a digit or a dash.
11037         [d7f3bd94eeda]
11038
11039         * WHATSNEW:
11040         Glob support was back-ported to 1.6.9
11041         [d1d5cfd46228]
11042
11043 2007-08-20  Todd C. Miller  <Todd.Miller@courtesan.com>
11044
11045         * Makefile.in:
11046         remove sudo_usage.h in distclean
11047         [df05ce9c4127]
11048
11049         * parse.c:
11050         If a Defaults value contains a blank, double-quote the string.
11051         [9057a910daad]
11052
11053         * toke.c, toke.l:
11054         Properly deal with Defaults double-quoted strings that span multiple
11055         lines using the line continuation char. Previously, the entire
11056         thing, including the continuation char, newline, and spaces was
11057         stored as-is.
11058         [4a4e8eacefe6]
11059
11060         * sudo.c:
11061         Be consistent when using single quotes and backticks.
11062         [d010b83a0fa1]
11063
11064 2007-08-19  Todd C. Miller  <Todd.Miller@courtesan.com>
11065
11066         * Makefile.in, configure, configure.in, lbuf.c, lbuf.h, parse.c,
11067         sudo.c, sudo_usage.h.in:
11068         Add new linebuf code to do appends of dynamically allocated strings
11069         and word-wrapped output. Currently used for sudo's usage() and sudo
11070         -l output. Sudo usage strings are now in sudo_usage.h which is
11071         generated at configure time.
11072         [4dfd0ee8d961]
11073
11074 2007-08-18  Todd C. Miller  <Todd.Miller@courtesan.com>
11075
11076         * parse.c, sudo.c, sudo.h:
11077         Fix line wrapping in usage() and use the actual tty width instead of
11078         assuming 80.
11079         [700eab37c5a6]
11080
11081 2007-08-17  Todd C. Miller  <Todd.Miller@courtesan.com>
11082
11083         * history.pod:
11084         some more info
11085         [8140112a8ae1]
11086
11087         * history.pod:
11088         Mentioned Chris Jepeway's parser and also the new one that is in
11089         sudo 1.7.
11090         [2132d00f0597]
11091
11092 2007-08-16  Todd C. Miller  <Todd.Miller@courtesan.com>
11093
11094         * sudo.pod, visudo.pod:
11095         For the options list, add flag args where appropriate and increase
11096         the indent level so there is room for them.
11097         [2b60fb572e12]
11098
11099 2007-08-15  Todd C. Miller  <Todd.Miller@courtesan.com>
11100
11101         * parse.c:
11102         Fix some spacing in "sudo -l" and add a comment about some bogosity
11103         in the line wrapping.
11104         [b59b056f5ee2]
11105
11106         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in, visudo.cat,
11107         visudo.man.in:
11108         regen
11109         [5fb719f18ebc]
11110
11111         * INSTALL, Makefile.in, WHATSNEW, config.h.in, configure.in,
11112         def_data.c, def_data.h, def_data.in, gram.c, gram.h, gram.y,
11113         parse.c, parse.h, pathnames.h.in, sudo.c, sudo.h, sudoers.pod,
11114         testsudoers.c, toke.c, toke.l:
11115         Remove monitor support until there is a versino of systrace that
11116         uses a lookaside buffer (or we have a better mechanism to use).
11117         [61ff76878e4a]
11118
11119         * config.h.in, configure, configure.in, sudo.c:
11120         use getaddrinfo() instead of gethostbyname() if it is available
11121         [cc33c136aa6a]
11122
11123 2007-08-14  Todd C. Miller  <Todd.Miller@courtesan.com>
11124
11125         * parse.c, sudo.c:
11126         Deal with OSes where sizeof(gid_t) < sizeof(int).
11127         [130a89cbdfba]
11128
11129         * interfaces.c:
11130         repair non-getifaddrs() code after ipv6 integration
11131         [7ae7a89e2236]
11132
11133         * sudo.c:
11134         If we can open sudoers but fail to read the first byte, close the
11135         file stream before trying again.
11136         [6f31272fae7b]
11137
11138 2007-08-13  Todd C. Miller  <Todd.Miller@courtesan.com>
11139
11140         * toke.c:
11141         regen
11142         [4d7afe0aa6fa]
11143
11144         * gram.y, interfaces.c, interfaces.h, match.c, sudoers.pod, toke.l:
11145         Add IPv6 support; adapted from patches by YOSHIFUJI Hideaki
11146         [4e6ff2965a42]
11147
11148         * sudo.pod, sudoers.pod, visudo.pod:
11149         Add some missing markup Update copyright
11150         [7e6d3c686b5e]
11151
11152 2007-08-12  Todd C. Miller  <Todd.Miller@courtesan.com>
11153
11154         * configure, configure.in:
11155         fix sudo_noexec extension which got broken in the libtool update
11156         [3a5b447df861]
11157
11158 2007-08-10  Todd C. Miller  <Todd.Miller@courtesan.com>
11159
11160         * Makefile.in:
11161         explicitly specify -Tascii to nroff
11162         [45c8da4cbefe]
11163
11164 2007-08-08  Todd C. Miller  <Todd.Miller@courtesan.com>
11165
11166         * logging.c:
11167         remove an ANSI-ism that crept in
11168         [29086f87b2ca]
11169
11170 2007-08-07  Todd C. Miller  <Todd.Miller@courtesan.com>
11171
11172         * sudo.pod:
11173         Adjust list indents Prevent -- from being turned into an em dash Use
11174         a list for the environment instead of a literal paragraph
11175         [c3abcd8f76f4]
11176
11177         * visudo.pod:
11178         Use a list for the environment instead of an indented literal
11179         paragraph.
11180         [0ffcfcb7349f]
11181
11182         * sudoers.pod:
11183         Adjust list indentation
11184         [615c89e3123a]
11185
11186         * license.pod:
11187         add =head3
11188         [8b2e0d38c0bd]
11189
11190 2007-08-06  Todd C. Miller  <Todd.Miller@courtesan.com>
11191
11192         * sudo.pod:
11193         mention that when specifying a uid for the -u option the shell may
11194         require that the # be escaped
11195         [3e3a17bff150]
11196
11197 2007-08-02  Todd C. Miller  <Todd.Miller@courtesan.com>
11198
11199         * match.c:
11200         Fix off by one in group matching.
11201         [b529602b7fba]
11202
11203 2007-07-31  Todd C. Miller  <Todd.Miller@courtesan.com>
11204
11205         * env.c:
11206         Fix typo: PYTHONINSPEC should be PYTHONINSPECT. From David Krause.
11207         [ffbf8907c6e7]
11208
11209 2007-07-30  Todd C. Miller  <Todd.Miller@courtesan.com>
11210
11211         * configure, configure.in:
11212         Add missing define of HAVE_GSS_KRB5_CCACHE_NAME for the
11213         -lgssapi_krb5 case.
11214         [2b85a89c2252]
11215
11216         * aclocal.m4, configure, configure.in:
11217         Fix link tests such that new gcc doesn't optimize away the test.
11218         [83484ec95cba]
11219
11220 2007-07-29  Todd C. Miller  <Todd.Miller@courtesan.com>
11221
11222         * sudo.pod, sudoers.pod, visudo.pod:
11223         add missing over/back
11224         [251a12c89b91]
11225
11226         * sudo.pod, sudoers.pod, visudo.pod:
11227         Change FILES section to use =item
11228         [60b9efc3a0b2]
11229
11230         * env.c:
11231         Add back allocation of the env struct in rebuild_env but save a copy
11232         of the old pointer and free it before returning.
11233         [1100cd4fa997]
11234
11235         * env.c:
11236         Don't init the private environment in rebuild_env() since it may
11237         have already been done implicitly sudo_setenv/sudo_unsetenv.
11238
11239         Multiply length by sizeof(char *) in memcpy/memmove when copying the
11240         environment so we copy the full thing.
11241
11242         Add missing set of parens so we deref the right pointer in
11243         sudo_unsetenv when searching for a matching variable.
11244         [9086a8f756b1]
11245
11246 2007-07-26  Todd C. Miller  <Todd.Miller@courtesan.com>
11247
11248         * sudo.pod, sudoers.pod, visudo.pod:
11249         Use file markup for paths in the FILES section
11250         [940d99f731f2]
11251
11252         * sudo.pod, sudoers.pod, visudo.pod:
11253         Don't capitalize sudo/visudo
11254         [f067a455d44b]
11255
11256         * sudoers.pod:
11257         Sort sudoers options; based on a diff from Igor Sobrado.
11258         [a9b9befe85ac]
11259
11260 2007-07-25  Todd C. Miller  <Todd.Miller@courtesan.com>
11261
11262         * sudo.pod, sudoers.pod, visudo.pod:
11263         Use 8 and 5 instead of @mansectsu@ and @mansectform@ since the
11264         latter confuses pod2man. The Makefile rules for the .man.in file
11265         will add @mansectsu@ and @mansectform@ back in after pod2man is done
11266         anyway.
11267         [b50ea0db727c]
11268
11269 2007-07-22  Todd C. Miller  <Todd.Miller@courtesan.com>
11270
11271         * LICENSE, Makefile.in, license.pod:
11272         Move license info to pod format
11273         [25bdd82e592b]
11274
11275         * configure, configure.in, sudoers.pod:
11276         Substitute value of path_info into sudoers man page.
11277         [9ba661a82798]
11278
11279         * WHATSNEW:
11280         remove features that were back-ported to 1.6.9
11281         [e76d756cbe65]
11282
11283         * sudo.c, sudo.pod, visudo.c, visudo.pod:
11284         Sort SYNOPSIS and sync usage. From Igor Sobrado.
11285         [4970386c9e54]
11286
11287         * env.c:
11288         Only need sudo_setenv/sudo_unsetenv if we are going to use
11289         ldap_sasl_interactive_bind_s() but don't have
11290         gss_krb5_ccache_name().
11291         [f1a73d8b35c5]
11292
11293         * ChangeLog:
11294         rebuild without branch info
11295         [5d5a33494677]
11296
11297         * Makefile.in:
11298         Add ChangeLog target
11299         [a702034fdd89]
11300
11301         * auth/pam.c:
11302         Run cleanup code if the user hits ^C at the password prompt.
11303         [9cf87768e921]
11304
11305         * auth/pam.c:
11306         Some versions of pam_lastlog have a bug that will cause a crash if
11307         PAM_TTY is not set so if there is no tty, set PAM_TTY to the empty
11308         string.
11309         [5b63f6c88866]
11310
11311 2007-07-20  Todd C. Miller  <Todd.Miller@courtesan.com>
11312
11313         * Makefile.in:
11314         ChageLog not Changelog
11315         [1243d8473ceb]
11316
11317         * ChangeLog:
11318         sync
11319         [d887df98c6b0]
11320
11321         * Makefile.in:
11322         CHANGE -> Changelog
11323         [917738df30dd]
11324
11325         * TODO:
11326         sync
11327         [cd382f7d1948]
11328
11329 2007-07-19  Todd C. Miller  <Todd.Miller@courtesan.com>
11330
11331         * config.h.in, configure, configure.in, ldap.c:
11332         Add configure hooks for gss_krb5_ccache_name() and the gssapi
11333         headers.
11334         [139606209991]
11335
11336 2007-07-18  Todd C. Miller  <Todd.Miller@courtesan.com>
11337
11338         * env.c, sudo.c:
11339         rebuild_env() and insert_env_vars() no longer return environment
11340         pointer, they set environ directly.
11341
11342         No longer need to pass around an envp pointer since we just operate
11343         on environ now.
11344
11345         Add dosync argument to insert_env() that indicates whether it should
11346         reset environ when realloc()ing env.envp.
11347
11348         Use an initial size of 128 for the environment.
11349         [4735fd5fddb8]
11350
11351         * env.c:
11352         Split sudo_setenv() into an external version and a version only for
11353         use by rebuild_env().
11354         [fda7d655adb1]
11355
11356 2007-07-16  Todd C. Miller  <Todd.Miller@courtesan.com>
11357
11358         * ldap.c:
11359         Add support for using gss_krb5_ccache_name() instead of setting
11360         KRB5CCNAME. Also use sudo_unsetenv() in the non-
11361         gss_krb5_ccache_name() case if there was no KRB5CCNAME in the
11362         original environment. TODO: configure setup for
11363         gss_krb5_ccache_name()
11364         [fcafa5a49caf]
11365
11366         * README.LDAP:
11367         add krb5_ccname
11368         [fceb8f883886]
11369
11370         * README.LDAP, ldap.c:
11371         Add support for sasl_secprops in ldap.conf
11372         [1f06f4bf7347]
11373
11374         * env.c, sudo.h:
11375         Add sudo_unsetenv() and refactor private env syncing code into
11376         sync_env().
11377         [045ecb3fd22b]
11378
11379         * README.LDAP, ldap.c:
11380         The ldap.conf variable is sasl_auth_id not sasl_authid.
11381         [a5f98491311b]
11382
11383 2007-07-15  Todd C. Miller  <Todd.Miller@courtesan.com>
11384
11385         * ldap.c, sudo.c, sudo.h:
11386         Add support for krb5_ccname in ldap.conf. If specified, it will
11387         override the default value of KRB5CCNAME in the environment for the
11388         duration of the call to ldap_sasl_interactive_bind_s().
11389         [b08a10c3045b]
11390
11391         * env.c, sudo.h:
11392         Remove format_env() Add sudo_setenv() to replace most format_env() +
11393         insert_env() combinations. insert_env() no longer takes a struct
11394         environment *
11395         [131da52f43f3]
11396
11397         * ldap.c:
11398         Fix use_sasl vs. rootuse_sasl logic.
11399         [0c0417b6918c]
11400
11401         * README.LDAP, config.h.in, configure, configure.in, ldap.c:
11402         Add support for SASL auth when connecting to an LDAP server. Adapted
11403         from a diff by Tom McLaughlin.
11404         [a6285f1356ea]
11405
11406 2007-07-14  Todd C. Miller  <Todd.Miller@courtesan.com>
11407
11408         * configure, configure.in:
11409         Only enable AIX or BSD auth if no other exclusive auth method has
11410         been chosen. Allows people to e.g., use PAM on AIX without adding
11411         --without-aixauth. A better solution is needed to deal with default
11412         authentication since if a non-exclusive method is chosen we will
11413         still get an error.
11414         [83f7afdc0ec3]
11415
11416 2007-07-11  Todd C. Miller  <Todd.Miller@courtesan.com>
11417
11418         * HISTORY, Makefile.in, history.pod:
11419         Generate HISTORY from history.pod (which is also used for web pages)
11420         [60bcd5164931]
11421
11422 2007-07-09  Todd C. Miller  <Todd.Miller@courtesan.com>
11423
11424         * sudo.man.in, sudoers.man.in:
11425         regen
11426         [63956a366191]
11427
11428         * sudo.pod:
11429         Better explanation of environment handling in the sudo man page.
11430         [6c247742f7ee]
11431
11432         * env.c, sudo.c:
11433         Defer setting user-specified env vars until after authentication.
11434         [4750b79323ee]
11435
11436         * env.c:
11437         honor def_default_path for PATH set on the command line
11438         [6db31d9b6d65]
11439
11440         * env.c, sudo.c, sudo.pod, sudoers.pod:
11441         Allow user to set environment variables on the command line as long
11442         as they are allowed by env_keep and env_check. Ie: apply the same
11443         restrictions as normal environment variables. TODO: deal with
11444         secure_path
11445         [26c0da3840cf]
11446
11447 2007-07-08  Todd C. Miller  <Todd.Miller@courtesan.com>
11448
11449         * sudo.c, sudo_edit.c:
11450         Call rebuild_env() in call cases. Pass original envp to sudo_edit().
11451         Don't allow -E or env var setting in sudoedit mode. More accurate
11452         usage() when called as sudoedit.
11453         [a4af20658361]
11454
11455         * ldap.c:
11456         warn -> warning
11457         [d87d1192b048]
11458
11459         * sudo.pod:
11460         add -c option to sudoedit synopsis
11461         [15b596a7e2db]
11462
11463         * TODO:
11464         udpate to reality
11465         [e2f8fde89db1]
11466
11467         * parse.c:
11468         Use ALLOW/DENY instead of TRUE/FALSE when dealing with the return
11469         value from {user,host,runas,cmnd}_matches(). Rename *matches
11470         variables -> *match. Purely cosmetic.
11471         [e54a44c00a88]
11472
11473         * parse.c:
11474         Move setting of FLAG_NO_CHECK into the if(pwflag) block. No change
11475         in behavior.
11476         [c6272b4f2127]
11477
11478         * sudoers:
11479         add SETENV tag
11480         [3a3066bb6788]
11481
11482 2007-07-06  Todd C. Miller  <Todd.Miller@courtesan.com>
11483
11484         * parse.c:
11485         Make pwcheck local to the pwflag block. Use pwcheck even if user
11486         didn't match since Defaults options may still apply.
11487         [45da9efbbafd]
11488
11489         * check.c, sudo.c:
11490         Do not update timestamp if user not validated by sudoers.
11491         [a4a9d4364827]
11492
11493         * set_perms.c:
11494         for PERM_RUNAS, set the egid to the runas user's gid and restore to
11495         the user's original in PERM_ROOT
11496         [1514bfb32847]
11497
11498         * logging.c, mon_systrace.c, set_perms.c, sudo.h:
11499         PERM_FULL_ROOT is now no different than PERM_ROOT so remove
11500         PERM_FULL_ROOT
11501         [b9d047a3178c]
11502
11503         * check.c:
11504         don't check timestamp mtime if we are just going to remove it
11505         [5d2470bc6cbd]
11506
11507         * sudoers.pod:
11508         Move sudoers defaults parameters into their own section.
11509         [54701fbc0ff3]
11510
11511         * testsudoers.c:
11512         Reduce a level of indent by a few placed continue statements.
11513         [5d5a9838c8ef]
11514
11515         * parse.c:
11516         Make matching but negated commands/hosts/runas entries override a
11517         previous match as expected. Also reduce some levels of indent by a
11518         few placed continue statements.
11519         [dd59fa4b91a1]
11520
11521 2007-07-05  Todd C. Miller  <Todd.Miller@courtesan.com>
11522
11523         * parse.c:
11524         Print default runas in "sudo -l" if sudoers don't specify one.
11525         [07d408c400bd]
11526
11527         * match.c:
11528         Less hacky way of testing whether the domain was set.
11529         [a537059776e5]
11530
11531 2007-07-04  Todd C. Miller  <Todd.Miller@courtesan.com>
11532
11533         * INSTALL:
11534         Mention pam-devel and openldap-devel for Linux
11535         [9e708c54ecc3]
11536
11537 2007-07-03  Todd C. Miller  <Todd.Miller@courtesan.com>
11538
11539         * README.LDAP:
11540         or vs. are
11541         [abe8c0f3a410]
11542
11543 2007-07-01  Todd C. Miller  <Todd.Miller@courtesan.com>
11544
11545         * sudo.c:
11546         fix typo in Solaris project support
11547         [2ffeb2d80959]
11548
11549         * HISTORY:
11550         update
11551         [df162b36f120]
11552
11553         * sudo.c:
11554         Make -- on the command line match the manual page. The implied shell
11555         case has been simplified as a result.
11556         [cd217a1f6694]
11557
11558 2007-06-28  Todd C. Miller  <Todd.Miller@courtesan.com>
11559
11560         * sudoers2ldif:
11561         add simplistic support for sudoRunas; note that if a sudoers entry
11562         contains multiple Runas users, all will apply to the sudoRole
11563         [65b11421f5c8]
11564
11565         * sudoers2ldif:
11566         honor SETENV and NOSETENV tags
11567         [2c0d5ba7a09b]
11568
11569 2007-06-24  Todd C. Miller  <Todd.Miller@courtesan.com>
11570
11571         * mon_systrace.c:
11572         Redo setting of user_args. We now build up a private copy of argv
11573         first and then replace the NULs?with spaces.
11574         [ccbba72ea112]
11575
11576         * mon_systrace.c:
11577         getcwd() returns NULL on failure, not 0 on success
11578         [88cd9e66e530]
11579
11580         * mon_systrace.c:
11581         allow chunksiz to reach 1 before erroring out
11582         [619d68f14964]
11583
11584         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in, visudo.cat,
11585         visudo.man.in:
11586         regen
11587         [8db512d3caf0]
11588
11589 2007-06-23  Todd C. Miller  <Todd.Miller@courtesan.com>
11590
11591         * def_data.c, def_data.h, def_data.in, env.c, gram.c, gram.h, gram.y,
11592         logging.c, parse.c, parse.h, sudo.c, sudo.h, sudo.pod, sudoers.pod,
11593         toke.c, toke.l:
11594         Add support for setting environment variables on the command line.
11595         This is only allowed if the setenv sudoers options is enabled or if
11596         the command is prefixed with the SETENV tag.
11597         [5744caebd969]
11598
11599         * README.LDAP:
11600         replace Aaron's email address with the sudo-workers list
11601         [2ffce5f9afc0]
11602
11603         * configure:
11604         regen
11605         [8013dff82c0c]
11606
11607 2007-06-22  Todd C. Miller  <Todd.Miller@courtesan.com>
11608
11609         * schema.OpenLDAP, schema.iPlanet:
11610         Break schema out into separate files.
11611         [15e598e4c60b]
11612
11613         * Makefile.in, README.LDAP:
11614         Break schema out into separate files.
11615         [1a53966ca1fa]
11616
11617 2007-06-21  Todd C. Miller  <Todd.Miller@courtesan.com>
11618
11619         * auth/aix_auth.c:
11620         free message if set by authenticate()
11621         [849c220c1236]
11622
11623         * match.c:
11624         deal with NULL gr_mem
11625         [49e4d74f0bbe]
11626
11627 2007-06-20  Todd C. Miller  <Todd.Miller@courtesan.com>
11628
11629         * config.h.in:
11630         regen
11631         [fead999ad3e9]
11632
11633         * configure.in:
11634         add template for HAVE_PROJECT_H
11635         [e6c42c2eaad1]
11636
11637         * closefrom.c:
11638         include fcntl.h
11639         [54d98b382f03]
11640
11641 2007-06-19  Todd C. Miller  <Todd.Miller@courtesan.com>
11642
11643         * INSTALL:
11644         mention --with-project
11645         [d3ea3baad7c5]
11646
11647         * config.h.in, configure.in, sudo.c:
11648         Add Solaris 10 "project" support. From Michael Brantley.
11649         [f14f3c8c6554]
11650
11651         * sudoers.pod:
11652         fix typo
11653         [50db81a19787]
11654
11655         * configure:
11656         regen
11657         [ea71afd3e564]
11658
11659         * configure.in:
11660         Fix preservation of LDFLAGS in the LDAP case.
11661         [40a3a47e8059]
11662
11663         * memrchr.c:
11664         Remove dependecy on NULL
11665         [c957ae5e1733]
11666
11667         * configure:
11668         regen
11669         [4955ce0c6912]
11670
11671         * aclocal.m4, configure.in:
11672         Can't use the regular autoconf fnmatch() check since we need
11673         FNM_CASEFOLD so go back to our custom one.
11674         [f10d76237486]
11675
11676         * env.c:
11677         Fix preserving of variables in env_keep.
11678         [d040049d6b84]
11679
11680         * env.c:
11681         add XAUTHORIZATION
11682         [0d589a5fe015]
11683
11684         * UPGRADE:
11685         expand upon env resetting and mention that it began in 1.6.9 not
11686         1.7.
11687         [dba251655c76]
11688
11689         * sudoers.pod:
11690         Update descriptions of env_keep and env_check to match current
11691         reality.
11692         [dba77357954b]
11693
11694 2007-06-18  Todd C. Miller  <Todd.Miller@courtesan.com>
11695
11696         * env.c:
11697         Add LINGUAS to initial_checkenv_table. Add COLORS, HOSTNAME,
11698         LS_COLORS, MAIL, PS1, PS2, XAUTHORITY to intial_keepenv_table.
11699         [eec4632bd190]
11700
11701         * env.c, logging.c:
11702         Treat USERNAME environemnt variable like LOGNAME/USER
11703         [09f52dcfd70c]
11704
11705         * env.c:
11706         Don't need to populate keepenv table with the contents of the
11707         checkenv table.
11708         [527a14afd973]
11709
11710         * sudo.c:
11711         Don't force sudo into the C locale.
11712         [8a5bd301ef96]
11713
11714         * env.c:
11715         Make env_check apply when env_reset it true. Environment variables
11716         are passed through unless they contain '/' or '%'. There is no need
11717         to have a variable in both env_check and env_keep.
11718         [840c802721e4]
11719
11720 2007-06-16  Todd C. Miller  <Todd.Miller@courtesan.com>
11721
11722         * visudo.c:
11723         Remove an duplicate lock_file() call and add a comment.
11724         [5af9dcdf0eb6]
11725
11726         * UPGRADE:
11727         Add sudo 1.6.9 upgrade note.
11728         [1585149f2914]
11729
11730 2007-06-14  Todd C. Miller  <Todd.Miller@courtesan.com>
11731
11732         * interfaces.c:
11733         Solaris will return EINVAL if the buffer used in SIOCGIFCONF is too
11734         small. From Klaus Wagner.
11735         [d6899fc44f77]
11736
11737         * logging.c, sudo.h:
11738         Redo the long syslog line splitting based on a patch from Eygene
11739         Ryabinkin. Include memrchr() for systems without it.
11740         [66a50e8d553a]
11741
11742         * memrchr.c:
11743         Redo the long syslog line splitting based on a patch from Eygene
11744         Ryabinkin. Include memrchr() for systems without it.
11745         [2f6702b7d41b]
11746
11747         * Makefile.in, config.h.in, configure, configure.in:
11748         Redo the long syslog line splitting based on a patch from Eygene
11749         Ryabinkin. Include memrchr() for systems without it.
11750         [407a46190921]
11751
11752         * configure.in:
11753         Since we need to be able to convert timespec to timeval for utimes()
11754         the last 3 digits in the tv_nsec are not significant. This makes the
11755         sudoedit file date comparison work again.
11756         [9d0258849fa9]
11757
11758 2007-06-13  Todd C. Miller  <Todd.Miller@courtesan.com>
11759
11760         * aclocal.m4, configure, configure.in:
11761         Add SUDO_ADD_AUTH macro to deal with adding things to AUTH_OBJS.
11762         This deals with exclusive authentication methods in a simple way.
11763         [7d70072c0f35]
11764
11765 2007-06-12  Todd C. Miller  <Todd.Miller@courtesan.com>
11766
11767         * LICENSE:
11768         mkstemp.c is BSD code too.
11769         [29e236d98162]
11770
11771         * sudo.pod, sudoers.pod, visudo.pod:
11772         No commercial support for now.
11773         [7c76b3e192dd]
11774
11775 2007-06-11  Todd C. Miller  <Todd.Miller@courtesan.com>
11776
11777         * sudo.c:
11778         cleanenv() is no more.
11779         [518080514408]
11780
11781 2007-06-10  Todd C. Miller  <Todd.Miller@courtesan.com>
11782
11783         * ChangeLog:
11784         Display branch info in Changelog
11785         [44e3b27427c7]
11786
11787         * utimes.c:
11788         Include config.h early so we have it for TIME_WITH_SYS_TIME
11789         [4bf1a00d0703]
11790
11791         * ChangeLog:
11792         Fix Changelog generation and update.
11793         [6e960dbcbece]
11794
11795 2007-06-09  Todd C. Miller  <Todd.Miller@courtesan.com>
11796
11797         * closefrom.c:
11798         Use /proc/self/fd instead of /proc/$$/fd
11799
11800         Move old-style fd closing into closefrom_fallback() and call that if
11801         /proc/self/fd doesn't exist or the F_CLOSEM fcntl() fails
11802         [faa7e4810758]
11803
11804         * auth/kerb5.c, config.h.in, configure.in:
11805         o use krb5_verify_user() if available instead of doing it by hand o
11806         use krb5_init_secure_context() if we have it o pass an encryption
11807         type of 0 to krb5_kt_read_service_key() instead of
11808         ENCTYPE_DES_CBC_MD5 to let kerberos choose.
11809         [df7acf72bd7c]
11810
11811         * env.c:
11812         Check TERM and COLORTERM for '%' and '/' characters. From Debian.
11813         [f92d05197e40]
11814
11815         * configure.in:
11816         Fix closefrom() substitution in the Makefile
11817         [b642b13fcc5c]
11818
11819         * TROUBLESHOOTING:
11820         Mention alternate sudo pronunciation.
11821         [7c71dc73409f]
11822
11823 2007-06-07  Todd C. Miller  <Todd.Miller@courtesan.com>
11824
11825         * env.c:
11826         Remove KRB5_KTNAME from environment. Allow COLORTERM.
11827         [70f35a79f780]
11828
11829         * auth/kerb5.c:
11830         If we cannot get a valid service key using the default keytab it is
11831         a fatal error. Fixes a bug where sudo could be tricked into
11832         allowing access when it should not by a fake KDC. From Thor Lancelot
11833         Simon.
11834         [a3ae6a47cb23]
11835
11836 2007-05-12  Todd C. Miller  <Todd.Miller@courtesan.com>
11837
11838         * aclocal.m4, configure, configure.in:
11839         Update long long checks to use AC_CHECK_TYPES and to cache values.
11840         [047318eaaeb2]
11841
11842         * aclocal.m4, configure.in:
11843         Use AC_FUNC_FNMATCH instead of a homebrew fnmatch checker. We can't
11844         use AC_REPLACE_FNMATCH since that assumes replacing with GNU
11845         fnmatch.
11846         [80513a1003ea]
11847
11848 2007-05-11  Todd C. Miller  <Todd.Miller@courtesan.com>
11849
11850         * configure, configure.in:
11851         Add closefrom() to LIB_OBJS not SUDO_OBJS if it is missing since we
11852         need it for visudo now too.
11853         [50837c7c2b5e]
11854
11855 2007-04-24  Todd C. Miller  <Todd.Miller@courtesan.com>
11856
11857         * sudoers.pod:
11858         Attempt to clarify the bit talking about network numbers w/o
11859         netmasks.
11860         [211e68c1d034]
11861
11862         * sudo.pod:
11863         Clarify timestamp dir ownership sentence.
11864         [9178f132c7f7]
11865
11866 2007-04-20  Todd C. Miller  <Todd.Miller@courtesan.com>
11867
11868         * auth/pam.c:
11869         Linux PAM now defines __LINUX_PAM__, not __LIBPAM_VERSION. From
11870         Dmitry V. Levin.
11871         [81fce91667bc]
11872
11873 2007-04-16  Todd C. Miller  <Todd.Miller@courtesan.com>
11874
11875         * sudo.c:
11876         -i is also one of the mutually exclusive options to list it in the
11877         warning message. Noted by Chris Pepper.
11878         [7da73fb248e9]
11879
11880 2007-04-12  Todd C. Miller  <Todd.Miller@courtesan.com>
11881
11882         * visudo.pod:
11883         The sudoers variable is env_editor, not enveditor. From Jean-
11884         Francois Saucier.
11885         [2a86ec09a6db]
11886
11887 2007-03-29  Todd C. Miller  <Todd.Miller@courtesan.com>
11888
11889         * redblack.c:
11890         I tracked down the original author so credit him and include his
11891         license info.
11892         [3733553a1bba]
11893
11894 2007-02-06  Todd C. Miller  <Todd.Miller@courtesan.com>
11895
11896         * sudo.cat, sudo.man.in, sudo.pod, sudoers.cat, sudoers.man.in,
11897         sudoers.pod:
11898         Fix typos; from Jason McIntyre.
11899         [1ee4ce2512f2]
11900
11901         * logging.c:
11902         Restore signal mask before calling reapchild(). Fixes a possible
11903         race condition that could prevent sudo from properly waiting for the
11904         child.
11905         [9ee4192385dc]
11906
11907 2007-01-31  Todd C. Miller  <Todd.Miller@courtesan.com>
11908
11909         * pwutil.c:
11910         Don't declare pw_free() if we are not going to use it.
11911         [adb79a4289ca]
11912
11913         * env.c:
11914         Add NOEXEC support for AIX 5.3 which supports LDR_PRELOAD and
11915         LDR_PRELOAD64. The 64-bit version is not currently supported.
11916         Remove zero_env() prototype as it no longer exists.
11917         [b4fe65027fb6]
11918
11919 2006-12-11  Todd C. Miller  <Todd.Miller@courtesan.com>
11920
11921         * logging.c:
11922         Add "Auto-Submitted: auto-generated" line to sudo mail for rfc 3834.
11923         [78002ad90f7b]
11924
11925 2006-09-29  Todd C. Miller  <Todd.Miller@courtesan.com>
11926
11927         * auth/pam.c:
11928         If the user enters ^C at the password prompt, abort instead of
11929         trying to authenticate with an empty password (which causes an
11930         annoying delay).
11931         [da3f27b747c7]
11932
11933 2006-08-17  Todd C. Miller  <Todd.Miller@courtesan.com>
11934
11935         * closefrom.c, config.h.in, configure, configure.in:
11936         Add fcntl F_CLOSEM support to closefrom(); adapted from a diff by
11937         Darren Tucker.
11938         [0331b7780759]
11939
11940         * pwutil.c:
11941         pw_free() is only used by sudo_freepwcache() so ifdef it out too.
11942         [0014c0d9eeba]
11943
11944 2006-08-04  Todd C. Miller  <Todd.Miller@courtesan.com>
11945
11946         * config.guess, config.sub:
11947         Update to latest versions from cvs.savannah.gnu.org
11948         [aa0143101c20]
11949
11950 2006-07-31  Todd C. Miller  <Todd.Miller@courtesan.com>
11951
11952         * pwutil.c, sudo_edit.c:
11953         Move password/group cache cleaning out of sudo_end{pw,grp}ent() so
11954         we can close the passwd/group files early.
11955         [559074bd7eb7]
11956
11957         * config.h.in, configure, configure.in, set_perms.c:
11958         Add seteuid() flavor of set_perms() for systems without setreuid()
11959         or setresuid() that have a working seteuid(). Tested on Darwin.
11960         [508d8da99189]
11961
11962 2006-07-30  Todd C. Miller  <Todd.Miller@courtesan.com>
11963
11964         * mon_systrace.c:
11965         systrace_read() returns ssize_t
11966         [9f97d1d1a59d]
11967
11968         * configure, configure.in:
11969         Fix typo, -lldap vs. -ldap; from Tim Knox.
11970         [a8cc43c3bb2a]
11971
11972 2006-07-28  Todd C. Miller  <Todd.Miller@courtesan.com>
11973
11974         * HISTORY:
11975         Fix typo; Matt Ackeret
11976         [86964ee3dfbd]
11977
11978 2006-07-17  Todd C. Miller  <Todd.Miller@courtesan.com>
11979
11980         * sudo.c:
11981         Print sudoers path in -V mode for root.
11982         [dc43f2d75bd9]
11983
11984 2006-06-15  Todd C. Miller  <Todd.Miller@courtesan.com>
11985
11986         * ldap.c:
11987         Do a sub tree search instead of a base search (one level in the tree
11988         only) for sudo right objects. This allows system administrators to
11989         categorize the rights in a tree to make them easier to manage.
11990         [6d2d9abf996e]
11991
11992 2005-12-28  Todd C. Miller  <Todd.Miller@courtesan.com>
11993
11994         * sudo.pod:
11995         fix typo
11996         [1473413bcbda]
11997
11998 2005-12-04  Todd C. Miller  <Todd.Miller@courtesan.com>
11999
12000         * ldap.c:
12001         Convert GET_OPT and GET_OPTI to use just 2 args. Add timelimit and
12002         bind_timelimit support; adapted from gentoo.
12003         [afc816093026]
12004
12005 2005-11-23  Todd C. Miller  <Todd.Miller@courtesan.com>
12006
12007         * ldap.c:
12008         Support comments that start in the middle of a line
12009         [c25df6ee3db8]
12010
12011         * configure, configure.in:
12012         Define LDAP_DEPRECATED until we start using ldap_get_values_len()
12013         [ee249bfe230a]
12014
12015 2005-11-18  Todd C. Miller  <Todd.Miller@courtesan.com>
12016
12017         * closefrom.c:
12018         Silence gcc -Wsign-compare; djm@openbsd.org
12019         [28769ce6418d]
12020
12021         * error.c, sudo.c, sudo.h, testsudoers.c, visudo.c:
12022         cleanup() now takes an int as an arg so it can be used as a signal
12023         handler too.
12024         [2bb0df34d09c]
12025
12026         * sudo.c:
12027         Make a copy of the shell field in the passwd struct for NewArgv to
12028         avoid a use after free situation after sudo_endpwent() is called.
12029         [5dcc9ffd362e]
12030
12031 2005-11-17  Todd C. Miller  <Todd.Miller@courtesan.com>
12032
12033         * config.h.in, configure, configure.in:
12034         Add mkstemp() for those poor souls without it.
12035         [5fdd02e863e0]
12036
12037         * mkstemp.c:
12038         Add mkstemp() for those poor souls without it.
12039         [c99401207860]
12040
12041         * Makefile.in:
12042         Add mkstemp() for those poor souls without it.
12043         [9c1cf2678f24]
12044
12045 2005-11-15  Todd C. Miller  <Todd.Miller@courtesan.com>
12046
12047         * env.c:
12048         Add PERL5DB to list of environment variables to remove.
12049         [7375c27ecf75]
12050
12051 2005-11-13  Todd C. Miller  <Todd.Miller@courtesan.com>
12052
12053         * mon_systrace.c, mon_systrace.h:
12054         Instead of calling the check function twice with a state cookie use
12055         separate check/log functions.
12056
12057         Check more ioctl() calls for failure.
12058
12059         systrace_{read,write} now return the number of bytes read/written or
12060         -1 on error.
12061         [3dc8946d90e9]
12062
12063         * env.c:
12064         Add more environment variables to remove; from gentoo linux Add some
12065         comments about what bad env variables go to what (more to do)
12066         [6918110a6b82]
12067
12068 2005-11-11  Todd C. Miller  <Todd.Miller@courtesan.com>
12069
12070         * sudo.c, sudo_edit.c:
12071         Move sudo_end{gr,pw}ent() until just before the exec since they free
12072         up our cached copy of the passwd structs, including sudo_user and
12073         sudo_runas. Fixes a use-after-free bug.
12074         [54de3778bad0]
12075
12076         * visudo.c:
12077         Close all fd's before executing editor.
12078         [4fcc05e1bec8]
12079
12080         * sudo.c:
12081         Enable malloc debugging on OpenBSD when SUDO_DEVEL is set.
12082         [ef0e8ffa5c9f]
12083
12084         * check.c:
12085         Fix fd leak when lecture file option is enabled. From Jerry Brown
12086         [ce97f9207cd8]
12087
12088 2005-11-07  Todd C. Miller  <Todd.Miller@courtesan.com>
12089
12090         * env.c:
12091         Add PERLLIB, PERL5LIB and PERL5OPT to the default list of
12092         environment variables to remove. From Charles Morris
12093         [c96e1367d1c1]
12094
12095 2005-11-01  Todd C. Miller  <Todd.Miller@courtesan.com>
12096
12097         * env.c:
12098         add JAVA_TOOL_OPTIONS to initial_badenv_table for java 5
12099         [72a6a1571226]
12100
12101 2005-10-28  Todd C. Miller  <Todd.Miller@courtesan.com>
12102
12103         * env.c:
12104         add PS4 and SHELLOPTS to initial_badenv_table for bash
12105         [89dfb3f318f3]
12106
12107 2005-08-15  Todd C. Miller  <Todd.Miller@courtesan.com>
12108
12109         * sudoers.pod:
12110         Fix typo; Toby Peterson
12111         [b7a3222b23f4]
12112
12113 2005-08-02  Todd C. Miller  <Todd.Miller@courtesan.com>
12114
12115         * tsgetgrpw.c:
12116         Make return buffers static so they don't get clobbered
12117         [13323a39b9f5]
12118
12119 2005-07-28  Todd C. Miller  <Todd.Miller@courtesan.com>
12120
12121         * auth/securid5.c:
12122         Fix securid5 authentication, was not checking for ACM_OK. Also add
12123         default cases for the two switch()es. Problem noted by ccon at
12124         worldbank
12125         [14091e418333]
12126
12127 2005-06-27  Todd C. Miller  <Todd.Miller@courtesan.com>
12128
12129         * ldap.c:
12130         Remove ncat() in favor of just counting bytes and pre-allocating
12131         what is needed.
12132         [25b8712adb61]
12133
12134 2005-06-26  Todd C. Miller  <Todd.Miller@courtesan.com>
12135
12136         * ldap.c:
12137         Fix up some comments Add missing fclose() for the rootbinddn case
12138         [ae95c8a89711]
12139
12140         * ldap.c:
12141         align struct ldap_config
12142         [35d0d64c76f8]
12143
12144         * ldap.c:
12145         use LINE_MAX for max conf file line size
12146         [da116cb8853d]
12147
12148         * pathnames.h.in:
12149         add _PATH_LDAP_SECRET
12150         [128b04ecfab7]
12151
12152         * README.LDAP:
12153         Mention rootbinddn Give example ou=SUDOers container
12154         [852edc69bd1c]
12155
12156 2005-06-25  Todd C. Miller  <Todd.Miller@courtesan.com>
12157
12158         * INSTALL, configure, configure.in, ldap.c:
12159         Support rootbinddn in ldap.conf
12160         [1615c91522a1]
12161
12162         * env.c, sudo.pod, sudoers.pod:
12163         Preserve DISPLAY environment variable by default.
12164         [05f503d5f438]
12165
12166         * acsite.m4, configure:
12167         set need_lib_prefix=no for all cases; this is safe for LD_PRELOAD
12168         [18a04dea8d05]
12169
12170         * acsite.m4, configure:
12171         set need_version=no for all cases; this is safe for LD_PRELOAD
12172         [b542560e1a73]
12173
12174         * aclocal.m4:
12175         typo
12176         [c040df0fcd5a]
12177
12178         * configure, configure.in:
12179         Add dragonfly
12180         [f13794618636]
12181
12182         * auth/pam.c:
12183         Fix call to pam_end() when pam_open_session() fails.
12184         [0be47cdfdef1]
12185
12186         * configure:
12187         regen
12188         [7f5c13b4b800]
12189
12190         * acsite.m4:
12191         rebuild acsite.m4 from libtool 1.9f libtool.m4 ltoptions.m4
12192         ltsugar.m4 ltversion.m4
12193         [a7ba9fd1a2ab]
12194
12195         * config.guess, config.sub, ltmain.sh:
12196         merge in local changes: config.guess: o better openbsd support
12197         config.sub: o hiuxmpp support ltmain.sh o remove requirement that
12198         libs must begin with "lib" o don't print a bunch of crap about
12199         library installs o don't run ldconfig
12200         [f4149f2c720f]
12201
12202         * config.guess, config.sub, ltmain.sh:
12203         libtool 1.9f
12204         [82a534e7121f]
12205
12206         * configure.in:
12207         Update with autoupdate and make minor changes for libtool 1.9f
12208         [11b5ae5c1428]
12209
12210 2005-06-23  Todd C. Miller  <Todd.Miller@courtesan.com>
12211
12212         * parse.c:
12213         don't call sudo_ldap_display_cmnd if ldap not setup
12214         [8bcf6c094ffe]
12215
12216         * sudo_edit.c, visudo.c:
12217         Move declatation of struct timespec to its own include files for
12218         systems without it since it needs time_t defined.
12219         [b95c333299a0]
12220
12221         * gettime.c:
12222         Move declatation of struct timespec to its own include files for
12223         systems without it since it needs time_t defined.
12224         [021b4569cc0c]
12225
12226         * fileops.c:
12227         Move declatation of struct timespec to its own include files for
12228         systems without it since it needs time_t defined.
12229         [dd8573b2ee7d]
12230
12231         * emul/timespec.h:
12232         Move declatation of struct timespec to its own include files for
12233         systems without it since it needs time_t defined.
12234         [f95137771564]
12235
12236         * check.c, compat.h:
12237         Move declatation of struct timespec to its own include files for
12238         systems without it since it needs time_t defined.
12239         [2ef2ace8fe85]
12240
12241         * ldap.c:
12242         Don't set safe_cmnd for the "sudo ALL" case.
12243         [ad7fa9e07da0]
12244
12245 2005-05-27  Todd C. Miller  <Todd.Miller@courtesan.com>
12246
12247         * auth/pam.c:
12248         Call pam_open_session() and pam_close_session() to give pam_limits a
12249         chance to run. Idea from Karel Zak.
12250         [fed46d471350]
12251
12252 2005-04-24  Todd C. Miller  <Todd.Miller@courtesan.com>
12253
12254         * check.c, sudo.c:
12255         Add explicit cast from mode_t -> u_int in printf to silence warnings
12256         on Solaris
12257         [17bb961fe22d]
12258
12259         * parse.c:
12260         include grp.h to silence a warning on Solaris
12261         [14386fbab640]
12262
12263 2005-04-23  Todd C. Miller  <Todd.Miller@courtesan.com>
12264
12265         * parse.c:
12266         Fix printing of += and -= defaults.
12267         [a667604c56cd]
12268
12269 2005-04-17  Todd C. Miller  <Todd.Miller@courtesan.com>
12270
12271         * mon_systrace.c:
12272         Sanity check number of syscall args with argsize. Not really needed
12273         but a little paranoia never hurts.
12274         [6bb455a2c2d6]
12275
12276         * mon_systrace.c, mon_systrace.h:
12277         Don't do pointer arithmetic on void * Use int, not size_t/ssize_t
12278         for systrace lengths (since it uses int)
12279         [3cafccffcffd]
12280
12281 2005-04-16  Todd C. Miller  <Todd.Miller@courtesan.com>
12282
12283         * mon_systrace.c:
12284         Add some memsets for paranoia Fix namespace collsion w/ error Check
12285         rval of decode_args() and update_env() Remove improper setting of
12286         validated variable
12287         [3d385158354d]
12288
12289 2005-04-12  Todd C. Miller  <Todd.Miller@courtesan.com>
12290
12291         * parse.c, sudo.c, sudo.h:
12292         In -l mode, only check local sudoers file if def_ignore_sudoers is
12293         not set and call LDAP versions from display_privs() and
12294         display_cmnd() instead of directly from main(). Because of this we
12295         need to defer closing the ldap connection until after -l processing
12296         has ocurred and we must pass in the ldap pointer to display_privs()
12297         and display_cmnd().
12298         [1dfc2e8c9f2b]
12299
12300         * ldap.c:
12301         Reorganize LDAP code to better match normal sudoers parsing.
12302         Instead of storing strings for later printing in -l mode we do
12303         another query since the authenticating user and the user being
12304         listed may not be the same (the new -U flag). Also add support for
12305         "sudo -l command".
12306
12307         There is still a fair bit if duplicated code that can probably be
12308         refactored.
12309         [e9568f19bde5]
12310
12311 2005-04-11  Todd C. Miller  <Todd.Miller@courtesan.com>
12312
12313         * ldap.c:
12314         Replace pass variable with do_netgr for better readability.
12315         [1bba841b6e79]
12316
12317         * ldap.c:
12318         use DPRINTF macro
12319         [02b159b66bb5]
12320
12321         * ldap.c:
12322         estrdup, not strdup
12323         [22cdee7973c1]
12324
12325 2005-04-10  Todd C. Miller  <Todd.Miller@courtesan.com>
12326
12327         * parse.c:
12328         Add macro to test if the tag changed to improve readability.
12329         [4e11b4819556]
12330
12331         * parse.c:
12332         Avoid printing defaults header if there are no defaults to print...
12333         [41a28627df03]
12334
12335         * glob.c:
12336         Fix a warning on systems without strlcpy().
12337         [6814e0f0e4f4]
12338
12339         * pwutil.c:
12340         Use macros where possible for sudo_grdup() like sudo_pwdup().
12341         [30f201ff35cd]
12342
12343 2005-04-08  Todd C. Miller  <Todd.Miller@courtesan.com>
12344
12345         * utimes.c:
12346         It is possible for tv_usec to hold >= 1000000 usecs so add in
12347         tv_usec / 1000000.
12348         [794ac4d53a65]
12349
12350 2005-03-30  Todd C. Miller  <Todd.Miller@courtesan.com>
12351
12352         * auth/kerb5.c:
12353         The component in krb5_principal_get_comp_string() should be 1, not 0
12354         for Heimdal. From Alex Plotnick.
12355         [fefa351c5044]
12356
12357 2005-03-29  Todd C. Miller  <Todd.Miller@courtesan.com>
12358
12359         * alias.c, alloc.c, check.c, defaults.c, find_path.c, gram.c, gram.y,
12360         interfaces.c, ldap.c, logging.c, match.c, mon_systrace.c, pwutil.c,
12361         redblack.c, sudo.c, sudo.h, toke.c, toke.l, visudo.c:
12362         Add efree() for consistency with emalloc() et al. Allows us to rely
12363         on C89 behavior (free(NULL) is valid) even on K&R.
12364         [7876bb80d87c]
12365
12366         * parse.c, sudo.c:
12367         Move initgroups() for -U option into display_privs() so group
12368         matching in sudoers works correctly.
12369         [b074428ad2ca]
12370
12371 2005-03-27  Todd C. Miller  <Todd.Miller@courtesan.com>
12372
12373         * ldap.c:
12374         Removed duplicate call to ldap_unbind_s introduced along with
12375         sudo_ldap_close.
12376         [19acc1c20f7c]
12377
12378         * parse.c:
12379         Add missing space in Defaults printing
12380         [95d2935bf6d4]
12381
12382 2005-03-25  Todd C. Miller  <Todd.Miller@courtesan.com>
12383
12384         * pwutil.c:
12385         Sync sudo_pwdup with OpenBSD changes: use macros for size computaton
12386         and string copies.
12387         [6b6b241495e5]
12388
12389 2005-03-19  Todd C. Miller  <Todd.Miller@courtesan.com>
12390
12391         * pwutil.c:
12392         Zero old pw_passwd before replacing with version from shadow file.
12393         [3251b349dfe1]
12394
12395         * configure, configure.in:
12396         Only attempt shadow password detection if PAM is not being used Add
12397         shadow_* variables to make shadow password detection more generic.
12398         [d498a3423ac9]
12399
12400         * configure.in:
12401         Use OSDEFS for os-specific -D_FOO_BAR stuff rather than CPPFLAGS
12402         [04d55bbd5e35]
12403
12404 2005-03-13  Todd C. Miller  <Todd.Miller@courtesan.com>
12405
12406         * sudoers.pod:
12407         use a non-breaking space to avoid a double space after e.g.
12408         [11cdb54bdf7b]
12409
12410         * sudo.pod:
12411         commna, not colon after e.g.
12412         [8d5875ff72e0]
12413
12414 2005-03-12  Todd C. Miller  <Todd.Miller@courtesan.com>
12415
12416         * sudo_noexec.c:
12417         Add __ variants of the exec functions. GNU libc at least uses
12418         __execve() internally.
12419         [d1880473d790]
12420
12421         * indent.pro:
12422         Match reality a bit more.
12423         [633e3fa875a7]
12424
12425         * pwutil.c:
12426         Missed piece from rev. 1.6, fix sudo_getpwnam() too.
12427         [128f7b21c2ee]
12428
12429         * pwutil.c:
12430         Store shadow password after making a local copy of struct passwd in
12431         case normal and shadow routines use the same internal buffer in
12432         libc.
12433         [f806052a6ffc]
12434
12435 2005-03-11  Todd C. Miller  <Todd.Miller@courtesan.com>
12436
12437         * alloc.c, logging.c:
12438         Make varargs usage consistent with the rest of the code.
12439         [3d45affc9851]
12440
12441 2005-03-10  Todd C. Miller  <Todd.Miller@courtesan.com>
12442
12443         * sudo_noexec.c:
12444         Wrap more of the exec family since on Linux the others do not appear
12445         to go through the normal execve() path.
12446         [8167769b4e19]
12447
12448         * visudo.c:
12449         make print_unused static like proto says
12450         [ecf10e1bae55]
12451
12452         * glob.c:
12453         silence a warning on K&R systems
12454         [2e00425f1a5c]
12455
12456         * alias.c, error.c:
12457         make this build in K&R land
12458         [156f65f8525a]
12459
12460         * parse.c:
12461         make this build in K&R land
12462         [6fc9276889cb]
12463
12464 2005-03-08  Todd C. Miller  <Todd.Miller@courtesan.com>
12465
12466         * toke.c:
12467         regen
12468         [3b349748cd21]
12469
12470 2005-03-06  Todd C. Miller  <Todd.Miller@courtesan.com>
12471
12472         * ldap.c:
12473         return(foo) not return foo optimize _atobool() slightly
12474         [11d09d154ed5]
12475
12476         * ldap.c:
12477         Use TRUE/FALSE
12478         [53999320d98f]
12479
12480         * ldap.c:
12481         Reformat to match the rest of sudo's code.
12482         [1bd0f2afa0e7]
12483
12484         * sudo.pod:
12485         I am the primary author
12486         [5d311ecd85c6]
12487
12488 2005-02-23  Todd C. Miller  <Todd.Miller@courtesan.com>
12489
12490         * Makefile.in, README, RUNSON:
12491         The RUNSON file is toast--it confused too many people and really
12492         isn't needed in a configure-oriented world.
12493         [96a6ef7bbc08]
12494
12495         * INSTALL:
12496         alternate -> alternative
12497         [b65015c5d0a2]
12498
12499         * tgetpass.c:
12500         Use TCSADRAIN instead of TCSAFLUSH since some OSes have issues with
12501         TCSAFLUSH.
12502         [c66b4763ffdc]
12503
12504         * toke.l:
12505         Allow leading blanks before Defaults and Foo_Alias definitions
12506         [2add513d9277]
12507
12508         * Makefile.in:
12509         fix rules to build toke.o and gram.o in devel mode
12510         [96cbb414ebd3]
12511
12512 2005-02-20  Todd C. Miller  <Todd.Miller@courtesan.com>
12513
12514         * sudoers.pod:
12515         env_keep overrides set_logname
12516         [401877193a15]
12517
12518         * env.c:
12519         Fix disabling set_logname and make env_keep override set_logname.
12520         [0906e7a5ed93]
12521
12522         * compat.h, config.h.in, configure, configure.in:
12523         No longer need memmove()
12524         [43bdb6efe3f2]
12525
12526         * env.c, sudo.c:
12527         Just clean the environment once. This assumes that any further
12528         setenv/putenv will be able to handle the fact that we replaced
12529         environ with our own malloc'd copy but all the implementations I've
12530         checked do.
12531         [11658fe92ba2]
12532
12533 2005-02-16  Todd C. Miller  <Todd.Miller@courtesan.com>
12534
12535         * env.c, sudo.c:
12536         In -i mode, base the value of insert_env()'s dupcheck flag on
12537         DID_FOO flags. Move checks for $HOME resetting into rebuild_env()
12538         [8365b0bd0c71]
12539
12540 2005-02-13  Todd C. Miller  <Todd.Miller@courtesan.com>
12541
12542         * env.c, sudo.c:
12543         Move setting of user_path, user_shell, user_prompt and prev_user
12544         into init_vars() since user_shell at least is needed there.
12545         [37e22dce66e9]
12546
12547 2005-02-12  Todd C. Miller  <Todd.Miller@courtesan.com>
12548
12549         * Makefile.in:
12550         fix devel builds
12551         [9fbb15ef164c]
12552
12553         * sudo.c:
12554         Fix some printf format mismatches on error.
12555         [ffc1c3f11740]
12556
12557         * check.c:
12558         Fix some printf format mismatches on error.
12559         [7b3b508adf50]
12560
12561         * configure, gram.c, toke.c:
12562         regen
12563         [aa76f9d8b02a]
12564
12565         * Makefile.in, aclocal.m4, alias.c, alloc.c, auth/afs.c,
12566         auth/aix_auth.c, auth/bsdauth.c, auth/dce.c, auth/fwtk.c,
12567         auth/kerb4.c, auth/kerb5.c, auth/pam.c, auth/passwd.c,
12568         auth/rfc1938.c, auth/secureware.c, auth/securid.c, auth/securid5.c,
12569         auth/sia.c, auth/sudo_auth.c, auth/sudo_auth.h, check.c,
12570         closefrom.c, compat.h, configure.in, defaults.c, defaults.h,
12571         emul/utime.h, env.c, error.c, fileops.c, find_path.c, getprogname.c,
12572         getspwuid.c, gettime.c, goodpath.c, gram.y, interfaces.c,
12573         interfaces.h, ldap.c, logging.c, logging.h, match.c, mon_systrace.c,
12574         parse.c, redblack.c, redblack.h, set_perms.c, sigaction.c,
12575         snprintf.c, strcasecmp.c, strerror.c, strlcat.c, strlcpy.c, sudo.c,
12576         sudo.h, sudo.pod, sudo_edit.c, sudo_noexec.c, sudoers.pod,
12577         testsudoers.c, tgetpass.c, toke.l, utimes.c, version.h, visudo.c,
12578         visudo.pod, zero_bytes.c:
12579         Update copyright years.
12580         [0610c3654739]
12581
12582         * Makefile.binary.in:
12583         Update copyright years.
12584         [d78ffc9f2e2b]
12585
12586         * LICENSE:
12587         Update copyright years.
12588         [f60473bca4b1]
12589
12590         * BUGS, INSTALL, INSTALL.binary, Makefile.in, README, configure.in:
12591         version 1.7
12592         [aa977a544ca1]
12593
12594         * WHATSNEW:
12595         What's new in sudo 1.7, based on the 1.7 CHANGES entries.
12596         [ecfcf7269c14]
12597
12598 2005-02-11  Todd C. Miller  <Todd.Miller@courtesan.com>
12599
12600         * compat.h, logging.h, sudo.h:
12601         Add __printflike and use it with gcc to warn about printf-like
12602         format mismatches
12603         [b192ad4a0548]
12604
12605 2005-02-10  Todd C. Miller  <Todd.Miller@courtesan.com>
12606
12607         * CHANGES, ChangeLog:
12608         Replaced CHANGES file with ChangeLog generated from cvs logs
12609         [d9ace9dab98f]
12610
12611         * set_perms.c:
12612         Use warning/error instead of perror/fatal.
12613         [e33259df7738]
12614
12615         * config.guess:
12616         Update OpenBSD section
12617         [9d2c23de6801]
12618
12619         * UPGRADE:
12620         Add upgrading noted for 1.7
12621         [1fb6b6d6df07]
12622
12623         * env.c, sudo.c, sudoers.pod:
12624         Instead of zeroing out the environment, just prune out entries based
12625         on the env_delete and env_check lists. Base building up the new
12626         environment on the current environment and the variables we removed
12627         initially.
12628         [fc192df8fd15]
12629
12630         * config.h.in, configure, configure.in, sudo.c:
12631         Set locale to "C" if locales are supported, just to be safe.
12632         [91fbaa98f02e]
12633
12634         * toke.c, toke.l:
12635         Cast?argument to ctype functions to unsigned char.
12636         [e096b4d65796]
12637
12638 2005-02-08  Todd C. Miller  <Todd.Miller@courtesan.com>
12639
12640         * env.c:
12641         correct value for DID_USER
12642         [b5b05d36ec15]
12643
12644         * error.c, fnmatch.c, getcwd.c, glob.c, snprintf.c:
12645         #include <compat.h> not "compat.h"
12646         [7a0ad9a0ccd7]
12647
12648         * defaults.c:
12649         Reset the environment by default.
12650         [4ecc6423e0f0]
12651
12652         * sudo.c:
12653         Alloc an extra slot in NewArgv. Removes the need to malloc an new
12654         vector if execve() fails.
12655         [83dfb6f584a7]
12656
12657 2005-02-07  Todd C. Miller  <Todd.Miller@courtesan.com>
12658
12659         * INSTALL, config.h.in, configure, configure.in, sudo.c:
12660         Use execve(2) and wrap the command in sh if we get ENOEXEC.
12661         [c0c6af4e2a21]
12662
12663 2005-02-06  Todd C. Miller  <Todd.Miller@courtesan.com>
12664
12665         * sudo_noexec.c:
12666         Only include time.h on systems that lack struct timespec which gets
12667         defind in compat.h (using time_t).
12668         [e373e518b4cb]
12669
12670         * sudo_noexec.c:
12671         Include time.h for time_t in compat.h for systems w/o struct
12672         timespec.
12673         [a34b5637e458]
12674
12675         * compat.h, config.h.in, configure, configure.in:
12676         use bcopy on systems w/o memmove
12677         [f835eafd78c6]
12678
12679         * compat.h:
12680         __attribute__((__unused__)) doesn't work in gcc 2.7.2.1 so limit its
12681         use to gcc >= 2.8.
12682         [1cb9a4e58566]
12683
12684         * Makefile.in:
12685         Add explicit rule to build sudo_noexec.lo
12686         [df1dfcf8dd77]
12687
12688 2005-02-05  Todd C. Miller  <Todd.Miller@courtesan.com>
12689
12690         * INSTALL.configure, Makefile.in:
12691         No longer depend on VPATH; pointed out a bunch of missed
12692         dependencies.
12693         [601a45d4af6b]
12694
12695         * TROUBLESHOOTING:
12696         Help for PAM when account section is missing
12697         [9b8221256756]
12698
12699         * auth/pam.c:
12700         Give user a clue when there is a missing "account" section in the
12701         PAM config.
12702         [2529625c0495]
12703
12704         * auth/pam.c:
12705         Better error handling.
12706         [518c9bda23d8]
12707
12708         * config.h.in, configure, configure.in:
12709         Move _FOO_SOURCE to CPPFLAGS so it takes effect as early as
12710         possible. Silences a warning about isblank() on linux.
12711         [19c94d7ecdc8]
12712
12713         * auth/pam.c:
12714         Fix typo (missing comma) that caused an incorrect number of args to
12715         be passed to log_error().
12716         [0099dfec560f]
12717
12718 2005-02-01  Todd C. Miller  <Todd.Miller@courtesan.com>
12719
12720         * pwutil.c:
12721         Don't try to destroy a tree we didn't create.
12722         [d43c4fe03aa4]
12723
12724 2005-01-27  Todd C. Miller  <Todd.Miller@courtesan.com>
12725
12726         * alias.c, alloc.c, auth/afs.c, auth/aix_auth.c, auth/bsdauth.c,
12727         auth/dce.c, auth/fwtk.c, auth/kerb4.c, auth/kerb5.c, auth/pam.c,
12728         auth/passwd.c, auth/rfc1938.c, auth/secureware.c, auth/securid.c,
12729         auth/securid5.c, auth/sia.c, auth/sudo_auth.c, check.c, closefrom.c,
12730         compat.h, defaults.c, env.c, error.c, fileops.c, find_path.c,
12731         fnmatch.c, getcwd.c, getprogname.c, getspwuid.c, gettime.c,
12732         goodpath.c, gram.c, gram.y, interfaces.c, ldap.c, logging.c,
12733         match.c, mon_systrace.c, parse.c, pwutil.c, set_perms.c,
12734         sigaction.c, snprintf.c, strcasecmp.c, strerror.c, strlcat.c,
12735         strlcpy.c, sudo.c, sudo_edit.c, sudo_noexec.c, testsudoers.c,
12736         tgetpass.c, toke.c, toke.l, utimes.c, visudo.c, zero_bytes.c:
12737         Add __unused to rcsids
12738         [ad6b4ac45705]
12739
12740 2005-01-21  Todd C. Miller  <Todd.Miller@courtesan.com>
12741
12742         * configure, configure.in:
12743         Fix error message when mixing invalid auth types
12744         [68069b3ff5bc]
12745
12746         * INSTALL:
12747         PAM, AIX auth, BSD auth and login_cap are now on by default if the
12748         OS supports them.
12749         [4e44e9098cf0]
12750
12751         * auth/sudo_auth.h, config.h.in:
12752         s/HAVE_AUTHENTICATE/HAVE_AIXAUTH/g
12753         [2d569b43b23e]
12754
12755         * configure.in:
12756         Better checking for conflicting authentication methods Display the
12757         authentication methods used at the end of configure Rename --with-
12758         authenticate -> --with-aixauth Use --with-aixauth, --with-bsdauth,
12759         --with-pam, --with-logincap by default on systems that support them
12760         unless disabled. Add OSMAJOR variable that replaces old OSREV; now
12761         OSREV has full version number
12762         [a21115b6fe9f]
12763
12764 2005-01-18  Todd C. Miller  <Todd.Miller@courtesan.com>
12765
12766         * def_data.c, def_data.in, sudo.c, sudoers.pod:
12767         s/-O/-C/
12768         [ee73f1b81923]
12769
12770 2005-01-14  Todd C. Miller  <Todd.Miller@courtesan.com>
12771
12772         * configure.in:
12773         Replace: test -n "$FOO" || FOO="bar"
12774
12775         With: : ${FOO='bar'}
12776         [37552d9054fc]
12777
12778 2005-01-09  Todd C. Miller  <Todd.Miller@courtesan.com>
12779
12780         * pwutil.c, testsudoers.c, tsgetgrpw.c:
12781         Use function pointers to only call private passwd/group routines
12782         when using a nonstandard passwd/group file.
12783         [215908681dfb]
12784
12785 2005-01-06  Todd C. Miller  <Todd.Miller@courtesan.com>
12786
12787         * CHANGES:
12788         sync
12789         [2e55c03f5790]
12790
12791         * tsgetgrpw.c:
12792         Can't use strtok() since it doesn't handle empty fields so add
12793         getpwent()/getgrent() functions and call those.
12794         [bdaa5b0db70e]
12795
12796 2005-01-05  Todd C. Miller  <Todd.Miller@courtesan.com>
12797
12798         * Makefile.in:
12799         Fix dummied out toke.c and gram.c dependencies.
12800         [4b909c8b2ebe]
12801
12802         * Makefile.in:
12803         Rename PARSESRCS -> GENERATED since it is only used in the clean
12804         target Add devdir variable and use it to specify the path to parser
12805         sources
12806         [f27b3f41ca23]
12807
12808         * configure:
12809         regen
12810         [22c6435dbd46]
12811
12812         * configure.in:
12813         Add a devdir variables that defaults to $(srcdir) and is set to . if
12814         --devel was specified. Allows for proper dependecies building the
12815         parser.
12816         [a36d694c6d21]
12817
12818         * testsudoers.c:
12819         Add support for custom passwd/group files.
12820         [296549ff4b87]
12821
12822         * Makefile.in:
12823         Build private copy of pwutil.o for testsudoers with MYPW defined so
12824         it uses our own passwd/group routines.
12825         [bafa54ec78ca]
12826
12827         * visudo.c:
12828         Remove sudo_*{pw,gr}* stubs and add sudo_setspent/sudo_endspent
12829         stubs instead. We can now just use the caching sudo_*{pw,gr}*
12830         functions in pwutil.c Add comment about wanting to call
12831         sudo_endpwent/sudo_endgrent in cleanup()
12832         [7e59d6b5510d]
12833
12834         * tsgetgrpw.c:
12835         Remove caching; we will just use what is in pwutil.c Use global
12836         buffers for passwd/group structs Rename functions from sudo_* to
12837         my_*
12838         [8c1e068f574c]
12839
12840         * logging.c, sudo.c:
12841         g/c pwcache_init/pwcache_destroy
12842         [60a24909b947]
12843
12844         * sudo.h:
12845         Undo last commit and add sudo_setspent and sudo_endspent instead.
12846         [bac80db08296]
12847
12848         * getspwuid.c, pwutil.c:
12849         Move all but the shadow stuff from getspwuid.c to pwutil.c and
12850         pwcache_get and pwcache_put as they are no longer needed. Also add
12851         preprocessor magic to use private versions of the passwd and group
12852         routines if MYPW is defined (for use by testsudoers).
12853         [a16b8678a426]
12854
12855         * tsgetgrpw.c:
12856         zero out struct passwd/group before filling it in so if there are
12857         fields we don't handle they end up as 0.
12858         [274cb6a93301]
12859
12860         * logging.c, sudo.c, sudo.h, testsudoers.c, visudo.c:
12861         Adapt to pwutil.c
12862         [43ebd04c8b82]
12863
12864         * Makefile.in:
12865         Add tsgetgrpw.c and pwutil.c Rename the *OBJ variables for better
12866         readability.
12867         [7f88c6061e2d]
12868
12869         * tsgetgrpw.c:
12870         Passwd and group lookup routines for testsudoers that support
12871         alternate passwd and group files.
12872         [d7803101d34e]
12873
12874         * getspwuid.c, pwutil.c:
12875         Split off pw/gr cache and dup code into its own file. This allows
12876         visudo and testsudoers to use the pw/gr cache too.
12877         [ef333d3ffedf]
12878
12879 2005-01-02  Todd C. Miller  <Todd.Miller@courtesan.com>
12880
12881         * parse.c:
12882         Print Defaults info in "sudo -l" output and wrap lines based on the
12883         terminal width.
12884         [e559eae4250e]
12885
12886 2005-01-01  Todd C. Miller  <Todd.Miller@courtesan.com>
12887
12888         * match.c, testsudoers.c, visudo.c:
12889         Only check group vector in usergr_matches() if we are matching the
12890         invoking or list user. Always check the group members, even if
12891         there was a group vector.
12892         [d0c7ceb2a041]
12893
12894 2004-12-17  Todd C. Miller  <Todd.Miller@courtesan.com>
12895
12896         * LICENSE, Makefile.in, fnmatch.3:
12897         No longer bundle fnmatch.3
12898         [72db4a4ff4e1]
12899
12900         * CHANGES, TODO:
12901         checkpoint
12902         [e92781bfd99c]
12903
12904 2004-12-16  Todd C. Miller  <Todd.Miller@courtesan.com>
12905
12906         * sudo.c:
12907         sort usage
12908         [15e3b876ec2c]
12909
12910         * sudo.pod:
12911         Sort command line options
12912         [c1fa56584bc4]
12913
12914         * def_data.c, def_data.h, def_data.in, defaults.c, logging.c, sudo.c,
12915         sudo.pod, sudoers.pod:
12916         Add closefrom sudoers option to start closing at a point other than
12917         3. Add closefrom_override sudoers option and -C sudo flag to allow
12918         the user to specify a different closefrom starting point.
12919         [370652b099d1]
12920
12921         * pathnames.h.in:
12922         Add _PATH_DEVNULL for those without it.
12923         [0c4c3e0ceb8b]
12924
12925         * LICENSE:
12926         no more UCB strcasecmp
12927         [397a6298e07f]
12928
12929         * strcasecmp.c:
12930         replace BSD licensed one with version derived from pdksh
12931         [d7cfda8c57a2]
12932
12933 2004-12-10  Todd C. Miller  <Todd.Miller@courtesan.com>
12934
12935         * sudo.c:
12936         Fix last commit.
12937         [7afb9a180532]
12938
12939         * sudo.c:
12940         Make sure stdin, stdout and stderr are open and dup them to
12941         /dev/null if not.
12942         [590f387068bd]
12943
12944 2004-12-03  Todd C. Miller  <Todd.Miller@courtesan.com>
12945
12946         * ldap.c, mon_systrace.c, sudo.c, sudo.h:
12947         add sudo_ldap_close
12948         [4273a36765a7]
12949
12950         * fileops.c, gettime.c, sudo.c, sudo_edit.c, utimes.c, visudo.c:
12951         Use TIME_WITH_SYS_TIME
12952         [c32b59bf15fb]
12953
12954         * config.h.in, configure, configure.in:
12955         Add TIME_WITH_SYS_TIME_H
12956         [57cb146f451d]
12957
12958 2004-12-02  Todd C. Miller  <Todd.Miller@courtesan.com>
12959
12960         * env.c:
12961         Add missing braces to avoid DYLD_FORCE_FLAT_NAMESPACE being set
12962         unconditionally on darwin. From Toby Peterson.
12963         [d69959681c87]
12964
12965         * getspwuid.c:
12966         Check rbinsert() return value. In the case of faked up entries
12967         there is usually a negative response cached that we need to
12968         overwrite.
12969
12970         In pwfree() don't try to zero out a NULL pw_passwd pointer.
12971         [00b32d1a48c1]
12972
12973         * mon_systrace.c:
12974         Use the double fork trick to avoid the monitor process being waited
12975         for by the main program run through sudo.
12976         [e0ce556712ff]
12977
12978 2004-11-29  Todd C. Miller  <Todd.Miller@courtesan.com>
12979
12980         * sudo.c:
12981         Call initgroups() in -U mode so group matches work normally.
12982         [2235bea15283]
12983
12984         * def_data.h, mkdefaults:
12985         Don't print a trailing comma for the last entry in enum def_tupple
12986         [c43a96bb31df]
12987
12988 2004-11-28  Todd C. Miller  <Todd.Miller@courtesan.com>
12989
12990         * sudoers.cat, sudoers.man.in, sudoers.pod:
12991         Mention values when lecture, listpw and verifypw are used in boolean
12992         context.
12993         [a0b5c0abaccf]
12994
12995         * def_data.c, def_data.in:
12996         verifypw when used in a boolean TRUE context should be "all", not
12997         "any".
12998         [2eb076ddd5e2]
12999
13000 2004-11-26  Todd C. Miller  <Todd.Miller@courtesan.com>
13001
13002         * def_data.in, defaults.c:
13003         Allow tuples that can be used as booleans to be used as boolean
13004         TRUE. In this case the 2nd possible value of the tuple is used for
13005         TRUE.
13006         [bd99aa77e88b]
13007
13008 2004-11-25  Todd C. Miller  <Todd.Miller@courtesan.com>
13009
13010         * configure, configure.in:
13011         Correct the test for 2-parameter timespecsub
13012         [d41c9cb26b97]
13013
13014         * sudo.h:
13015         Add strub struct definitions for passwd, timeval and timespec
13016         [c4ce5c43d8c5]
13017
13018         * config.h.in, configure, configure.in, sudo_edit.c, visudo.c:
13019         Add check for 2-argument form of timespecsub (FreeBSD and BSD/OS)
13020         and fix a typo in the gettimeofday check.
13021         [8ac9893057ce]
13022
13023 2004-11-24  Todd C. Miller  <Todd.Miller@courtesan.com>
13024
13025         * match.c, testsudoers.c:
13026         Deal with user_stat being NULL as it is for visudo and testsudoers.
13027         [3605a6ff64d0]
13028
13029         * parse.c, sudo.c, sudo.cat, sudo.h, sudo.man.in, sudo.pod:
13030         Add -U option to use in conjunction with -l instead of -u. Add
13031         support for "sudo -l command" to test a specific command.
13032         [99638789d415]
13033
13034         * gram.c, gram.y, sudo.c:
13035         Set safe_cmnd after sudoers_lookup() if it has not been set.
13036         Previously it was set by sudo "ALL" in the parser but at that point
13037         the fully-qualified pathname has not yet been found.
13038         [ac30d98f8225]
13039
13040 2004-11-23  Todd C. Miller  <Todd.Miller@courtesan.com>
13041
13042         * parse.c, testsudoers.c:
13043         Correctly handle multiple privileges per userspec and runas
13044         inheritence.
13045         [a98a965181af]
13046
13047 2004-11-21  Todd C. Miller  <Todd.Miller@courtesan.com>
13048
13049         * defaults.c:
13050         Zero out sd_un for each entry in sudo_defs_table in init_defaults.
13051         [031d3cd4a848]
13052
13053 2004-11-19  Todd C. Miller  <Todd.Miller@courtesan.com>
13054
13055         * toke.c, toke.l:
13056         make per-command defaults work with sudoedit
13057         [e56fe33db916]
13058
13059         * ldap.c, parse.c, sudo.c, sudo.h:
13060         Remove the FLAG_NOPASS, FLAG_NOEXEC and FLAG_MONITOR flags.
13061         Instead, we just set the approriate defaults variable.
13062         [756eeecc1d86]
13063
13064         * sample.sudoers, sudoers.cat, sudoers.man.in, sudoers.pod:
13065         Document per-command Defaults.
13066         [92a0f84b91c1]
13067
13068         * defaults.c, defaults.h, gram.c, gram.h, gram.y, mon_systrace.c,
13069         sudo.c, testsudoers.c, toke.c, toke.l, visudo.c:
13070         Add support for command-specific Defaults entries. E.g.
13071         Defaults!/usr/bin/vi noexec
13072         [be3d52bf01cf]
13073
13074         * defaults.c, match.c, parse.c, parse.h, testsudoers.c:
13075         Change an occurence of user_matches() -> runas_matches() missed
13076         previously runas_matches(), host_matches() and cmnd_matches() only
13077         really need to pass in a list of members. user_matches() still
13078         needs to pass in a passwd struct because of "sudo -l"
13079         [833b22fc6fa0]
13080
13081         * parse.c:
13082         Check def_authenticate, def_noexec and def_monitor when setting
13083         return flags. XXX May be better to just set the defaults directly
13084         and get rid of those flags.
13085         [b6db22b59d69]
13086
13087         * alias.c, alloc.c, auth/afs.c, auth/aix_auth.c, auth/bsdauth.c,
13088         auth/dce.c, auth/fwtk.c, auth/kerb4.c, auth/kerb5.c, auth/pam.c,
13089         auth/passwd.c, auth/rfc1938.c, auth/secureware.c, auth/securid.c,
13090         auth/securid5.c, auth/sia.c, auth/sudo_auth.c, check.c, closefrom.c,
13091         defaults.c, env.c, error.c, fileops.c, find_path.c, fnmatch.c,
13092         getcwd.c, getprogname.c, getspwuid.c, gettime.c, glob.c, goodpath.c,
13093         gram.c, gram.y, interfaces.c, ldap.c, logging.c, match.c,
13094         mon_systrace.c, parse.c, redblack.c, set_perms.c, snprintf.c,
13095         strcasecmp.c, strerror.c, strlcat.c, strlcpy.c, sudo.c, sudo_edit.c,
13096         sudo_noexec.c, testsudoers.c, tgetpass.c, toke.c, toke.l, utimes.c,
13097         visudo.c, zero_bytes.c:
13098         Use: #include <config.h> Not: #include "config.h" That way we get
13099         the correct config.h when build dir != src dir
13100         [97e5670a442b]
13101
13102         * Makefile.in:
13103         Back out part of rev 1.263; fix -I order
13104         [197ea01cad5d]
13105
13106         * toke.c, toke.l:
13107         More robust parsing if #include; could be much better still.
13108         [31bc3cd8f045]
13109
13110         * sudo_edit.c, visudo.c:
13111         Make arg splitting in visudo and sudoedit consistent.
13112         [7bc74485f246]
13113
13114         * Makefile.in, alias.c, gram.c, gram.y, parse.h:
13115         Split alias routines out into their own file.
13116         [d90f633cf9ae]
13117
13118         * error.h:
13119         __attribute__ is already defined in compat.h
13120         [676ed3fe9203]
13121
13122         * visudo.c:
13123         quit() should not be __noreturn__ as it is non-void on some
13124         platforms.
13125         [e528c2b6ba10]
13126
13127         * auth/fwtk.c, auth/rfc1938.c, auth/securid.c, auth/securid5.c:
13128         Add local error/warning functions like err/warn but that call an
13129         additional cleanup routine in the error case. This means we no
13130         longer need to compile a special version of alloc.o for visudo.
13131         [e78e8aae882e]
13132
13133         * parse.h:
13134         Clarify comments about the data structures
13135         [ae894e266701]
13136
13137 2004-11-18  Todd C. Miller  <Todd.Miller@courtesan.com>
13138
13139         * visudo.c:
13140         Add support for VISUAL and EDITOR containing command line args. If
13141         env_editor is not set any args in VISUAL and EDITOR are ignored.
13142         Arguments are also now supported in def_editor.
13143         [ff7303b8e298]
13144
13145 2004-11-17  Todd C. Miller  <Todd.Miller@courtesan.com>
13146
13147         * parse.h:
13148         alias_matches() is no more
13149         [b59825e28084]
13150
13151         * CHANGES, TODO:
13152         sync
13153         [2b8f5f63c1de]
13154
13155         * Makefile.in:
13156         When regenerating the parser, don't replace gram.h unless it has
13157         changed.
13158         [819949668018]
13159
13160         * Makefile.in:
13161         remove Makefile.binary for distclean
13162         [351eec8d00b2]
13163
13164         * env.c:
13165         Preserve KRB5CCNAME in zero_env() and add a paranoia check to make
13166         sure we can't overflow new_env.
13167         [3284d17b9c6d]
13168
13169         * sudo_edit.c:
13170         paranoia when stripping trailing slashes from tempdir.
13171         [012f1aa2b81f]
13172
13173         * sudo.c:
13174         Set user_ngroups to 0 if getgroups() returns an error.
13175         [c46d43e9449a]
13176
13177 2004-11-16  Todd C. Miller  <Todd.Miller@courtesan.com>
13178
13179         * config.h.in, configure, configure.in, sudo.c:
13180         Add configure check for getgroups()
13181         [5d8a214e2cef]
13182
13183         * ldap.c:
13184         Use supplementary group vector in struct sudo_user.
13185         [3d0c463c034d]
13186
13187         * match.c:
13188         Only do string comparisons on the group members if there is no
13189         supplemental group list.
13190         [be1c8362f7ef]
13191
13192         * CHANGES, TODO:
13193         sync
13194         [db188bc5b975]
13195
13196         * sudo_edit.c:
13197         On Digital UNIX _PATH_VAR_TMP doesn't end with a trailing slash so
13198         chop off any trailing slashes we see and add an explicit one.
13199         [e1b477dafee1]
13200
13201         * match.c:
13202         remove bogus XXX comment
13203         [8aecb8a28d40]
13204
13205         * match.c:
13206         Get rid of alias_matches and correctly fall through to the non-alias
13207         cases when there is no alias with the specified name.
13208         [2cd555246f09]
13209
13210         * getspwuid.c:
13211         Cache non-existent passwd/group entries too.
13212         [8de9a467d271]
13213
13214         * gram.c:
13215         regen
13216         [9ece18c58f36]
13217
13218         * getspwuid.c:
13219         fix typo
13220         [9a7ae371eac1]
13221
13222         * check.c, getspwuid.c, glob.c, ldap.c, logging.c, match.c,
13223         mon_systrace.h, sudo.c, sudo.h, testsudoers.c, visudo.c:
13224         Implement group caching and use the passwd and group caches
13225         throughout.
13226         [f1d8c5015169]
13227
13228 2004-11-15  Todd C. Miller  <Todd.Miller@courtesan.com>
13229
13230         * match.c:
13231         Properly negate the return value of alias_matches() when
13232         appropriate.
13233         [ce59c4ce77ad]
13234
13235         * match.c:
13236         Make hostname_matches() return TRUE for a match, else FALSE like the
13237         caller expects.
13238         [1dc03902d3a2]
13239
13240         * Makefile.in:
13241         Add missing dependencies on gram.h
13242         [4f94bbb1d50c]
13243
13244         * match.c:
13245         Use runas_matches in alias_matches() now that we have it.
13246         [284d22e91178]
13247
13248         * parse.c, parse.h:
13249         Expand aliases in "sudo -l" mode
13250         [f67a38b79c44]
13251
13252         * gram.y, match.c:
13253         Use ALIAS for the member type when storing an alias instead of
13254         HOSTALIAS/RUNASALIAS/CMNDALIAS/USERALIAS since match.c relies on the
13255         more generic type. Expand runas_matches instead of calling
13256         user_matches() inside of it since user_matches() looks up
13257         USERALIASes, not RUNASALIASes.
13258         [52004d75232b]
13259
13260         * CHANGES, getspwuid.c:
13261         Paranoia; zero out pw_passwd before freeing passwd entry.
13262         [bd1b22638f00]
13263
13264         * LICENSE, Makefile.in, alloc.c, check.c, config.h.in, configure,
13265         configure.in, defaults.c, emul/err.h, env.c, err.c, error.c,
13266         error.h, find_path.c, interfaces.c, logging.c, mon_systrace.c,
13267         sudo.c, sudo.h, sudo_edit.c, testsudoers.c, visudo.c:
13268         Add local error/warning functions like err/warn but that call an
13269         additional cleanup routine in the error case. This means we no
13270         longer need to compile a special version of alloc.o for visudo.
13271         [25000b676cfe]
13272
13273         * match.c:
13274         Use userpw_matches() to compare usernames, not strcmp(), since the
13275         latter checks for "#uid".
13276         [fcbe4b859f66]
13277
13278         * getspwuid.c, mon_systrace.c, mon_systrace.h, sudo.c:
13279         Cache passwd db entries in 2 reb-black trees; one indexed by uid,
13280         the other by user name. The data returned from the cache should be
13281         considered read-only and is destroyed by sudo_endpwent().
13282         [ee2418ff3f86]
13283
13284         * match.c:
13285         add cast to uid_t
13286         [eb6415302d84]
13287
13288         * gram.y:
13289         missing free in alias_destroy
13290         [572ecb680ad8]
13291
13292         * redblack.c:
13293         Can't use rbapply() for rbdestroy since the destructor is passed a
13294         data pointer, not a node pointer.
13295         [11ce713830c0]
13296
13297         * getspwuid.c, logging.c, sudo.c, sudo.h:
13298         Create and use private versions of setpwent() and endpwent() that
13299         set/end the shadow password file too.
13300         [616bc76d23bf]
13301
13302         * gram.c, gram.h, gram.y, match.c, parse.h, testsudoers.c, visudo.c:
13303         Store aliases in a red-black tree.
13304         [ce017d540416]
13305
13306         * Makefile.in, redblack.c, redblack.h:
13307         red-black tree implementation
13308         [cd5586e8f48b]
13309
13310         * visudo.c:
13311         Edit all sudoers file if there were unused or undefined aliases and
13312         we are in strict mode.
13313         [b6d5f5bb7262]
13314
13315 2004-11-12  Todd C. Miller  <Todd.Miller@courtesan.com>
13316
13317         * CHANGES, def_data.c, def_data.h, def_data.in, defaults.c, env.c,
13318         find_path.c, sudoers.cat, sudoers.man.in, sudoers.pod, visudo.c:
13319         Bring back the "secure_path" Defaults option now that Defaults take
13320         effect before the path is searched.
13321         [2e52c0e27606]
13322
13323 2004-11-11  Todd C. Miller  <Todd.Miller@courtesan.com>
13324
13325         * logging.c, parse.c:
13326         A user can always list their own entries, even with -u. Better error
13327         message when failing to list another user's entries.
13328         [e2e24deb0071]
13329
13330         * parse.c, sudo.c, sudo.h:
13331         The syntax to list another user's entries is now "-u otheruser -l".
13332         Only root or users with sudo "ALL" may list other user's entries.
13333         [3c0657e8f5fe]
13334
13335         * sudo.cat, sudo.man.in, sudo.pod:
13336         Update env variable info in SECURITY NOTES
13337         [299716071024]
13338
13339         * env.c:
13340         strip CDPATH too
13341         [9b97643b26f9]
13342
13343         * env.c:
13344         strip exported bash functions from the environment.
13345         [9e5090c8284f]
13346
13347 2004-10-27  Todd C. Miller  <Todd.Miller@courtesan.com>
13348
13349         * sudo.c:
13350         Only reset sudo_user.pw based on SUDO_USER environment variables for
13351         real commands and sudoedit. This avoids a confusing message when a
13352         user tries "sudo -l" or "sudo -v" and is denied.
13353         [3ea6d0053274]
13354
13355         * gram.c, gram.y, parse.h:
13356         Extend LIST_APPEND to deal with appending lists too
13357         [d963e42f622f]
13358
13359 2004-10-26  Todd C. Miller  <Todd.Miller@courtesan.com>
13360
13361         * logging.c:
13362         Convert some bitwise AND to ISSET
13363         [130dc40d268e]
13364
13365         * lex.yy.c, toke.c:
13366         toke.c replaces lex.yy.c
13367         [048858df79e7]
13368
13369         * CHANGES, TODO:
13370         sync
13371         [d19e7abf251c]
13372
13373         * BUGS:
13374         new parser fixes most of the outstanding bugs
13375         [0891f66e3758]
13376
13377         * configure:
13378         regen
13379         [1a3358cc7283]
13380
13381         * visudo.c:
13382         Rework for the new parser. Now checks for unused aliases in sudoers.
13383         [ad462ede3094]
13384
13385         * testsudoers.c:
13386         Rewrite for the new parser. Now supports a -d flag (dump) and adds
13387         a -h flag (host). It now defaults to the local hostname unless
13388         otherwise specified.
13389         [1b69685cc601]
13390
13391         * sudo.h:
13392         Add new prototypes. Remove NOMATCH/UNSPEC (now in parse.h)
13393         [2e4fb3abfef0]
13394
13395         * sudo.c:
13396         Update for new parse. We now call find_path() *after* we have
13397         updated the global defaults based on sudoers. Also adds support for
13398         listing other user's privs if you are root.
13399         [cf3db9fc3024]
13400
13401         * mon_systrace.c:
13402         Working LDAP support; also remove a now-unneeded rewind().
13403         [649ecf1baf6b]
13404
13405         * logging.c, logging.h:
13406         Add NO_STDERR flag.
13407         [6cb935af94e0]
13408
13409         * ldap.c:
13410         Split sudo_ldap_check() into three pieces: sudo_ldap_open(),
13411         udo_ldap_update_defaults() and sudo_ldap_check(). This allows us to
13412         connecto to LDAP, apply the default options, find the command in the
13413         user's path, and then check whether the user is allowed to run it.
13414         The important thing here is that the default runas user may be
13415         specified as a default option and that needs to be set before we
13416         search for the command.
13417         [fc0426abc6f1]
13418
13419         * ldap.c:
13420         Add casts to unsigned char for isspace() to quiet a gcc warning.
13421         [e5358e3df439]
13422
13423         * defaults.h:
13424         Add prototype for update_defaults()
13425         [564dac3db74e]
13426
13427         * defaults.c:
13428         Don't warn about line numbers now that we operate on a set of data
13429         structures (or LDAP) and not a file.
13430         [bcd9ffb9b67c]
13431
13432         * config.h.in:
13433         No long use lsearch()
13434         [9d048c587319]
13435
13436         * Makefile.in:
13437         Update for new and changed file names.
13438         [6f424a7c4515]
13439
13440         * LICENSE:
13441         no more BSD lsearch.c
13442         [463a96d89026]
13443
13444         * match.c:
13445         foo_matches() routines now live in match.c Added user_matches(),
13446         runas_matches(), host_matches(), cmnd_matches() and alias_matches()
13447         that operate on the parsed sudoers file.
13448         [b14da8a0567e]
13449
13450         * parse.lex, toke.l:
13451         Move parse.lex -> toke.l Rename buffer_frob() -> switch_buffer()
13452         WORD no longer needs to exclude '@' kill yywrap()
13453         [a922294eb7b7]
13454
13455         * gram.c, gram.h, gram.y, parse.c, parse.h, parse.yacc, sudo.tab.c,
13456         sudo.tab.h:
13457         Rewritten parser that converts sudoers into a set of data
13458         structures. This eliminates ordering issues and makes it possible to
13459         apply sudoers Defaults entries before searching for the command.
13460         [30d2ec4d203c]
13461
13462         * configure.in, emul/search.h, lsearch.c:
13463         We won't be using lsearch() any longer.
13464         [29c4d54bfac0]
13465
13466         * ldap.c:
13467         sudo should not send mail if someone who runs 'sudo -l' has no
13468         entry.
13469         [6fc27a69fd9c]
13470
13471         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in, visudo.cat,
13472         visudo.man.in:
13473         regen
13474         [8166347917f3]
13475
13476         * visudo.pod:
13477         Update warnings to match new visudo
13478         [004c0766798f]
13479
13480         * sudoers.pod:
13481         The new parser doesn't have the old ordering constraints.
13482         [ffd43bd08661]
13483
13484         * sudo.pod:
13485         Document that -l now takes an optional username argument
13486         [278f9557de8b]
13487
13488 2004-10-25  Todd C. Miller  <Todd.Miller@courtesan.com>
13489
13490         * RUNSON:
13491         AIX 5.2.0.0 works
13492         [523acd29d858]
13493
13494         * ldap.c:
13495         If LDAP_OPT_SUCCESS is not defined, use LDAP_SUCCESS instead. Fixes
13496         a compilation problem with Solaris 9's native LDAP.
13497
13498         Set FLAG_MONITOR when needed.
13499         [35824ade672d]
13500
13501 2004-10-23  Todd C. Miller  <Todd.Miller@courtesan.com>
13502
13503         * mon_systrace.c:
13504         Call sudo_goodpath() *after* changing the cwd to match the traced
13505         process. Fixes relative paths.
13506         [12ee111d0ad7]
13507
13508 2004-10-21  Todd C. Miller  <Todd.Miller@courtesan.com>
13509
13510         * testsudoers.c:
13511         Kill set_perms() stub--it is no longer needed.
13512         [116ed702935d]
13513
13514 2004-10-13  Todd C. Miller  <Todd.Miller@courtesan.com>
13515
13516         * sudoers.cat, sudoers.man.in, sudoers.pod:
13517         stay_setuid now requires set_reuid() or setresuid()
13518         [8511f67e25d5]
13519
13520         * INSTALL, PORTING, TROUBLESHOOTING, config.h.in, configure,
13521         configure.in, set_perms.c, sudo.c, sudo.h:
13522         Kill use of POSIX saved uids; they aren't worth bothering with.
13523         [b3b1f19f18c1]
13524
13525 2004-10-07  Todd C. Miller  <Todd.Miller@courtesan.com>
13526
13527         * glob.c:
13528         remove call to issetugid()
13529         [63f2e492c08f]
13530
13531         * sudoers.cat, sudoers.man.in, sudoers.pod:
13532         Remove warning about wildcards. Now that we use glob() the bug is
13533         fixed.
13534         [b15729d32266]
13535
13536         * parse.c:
13537         Use glob(3) instead of fnmatch(3) for matching pathnames and stat
13538         each result that matches the basename of the user's command. This
13539         makes "cd /usr/bin ; sudo ./blah" work when sudoers allows
13540         /usr/bin/blah. Fixes bug #143.
13541         [e31eb6310340]
13542
13543         * config.h.in, configure, configure.in:
13544         Define HAVE_EXTENDED_GLOB for extended glob (GLOB_TILDE and
13545         GLOB_BRACE)
13546         [677ed6661e17]
13547
13548         * config.h.in, configure, configure.in:
13549         Check for a glob() that supports GLOB_BRACE and GLOB_TILDE
13550         [aaa2329dd266]
13551
13552         * LICENSE:
13553         reference glob
13554         [bedc9a923423]
13555
13556         * glob.c:
13557         4.4BSD glob(3) with fixes from OpenBSD and some unneeded extensions
13558         removed.
13559         [81799451473c]
13560
13561         * emul/glob.h:
13562         4.4BSD glob(3) with fixes from OpenBSD and some unneeded extensions
13563         removed.
13564         [0335cf31fb1e]
13565
13566 2004-10-05  Todd C. Miller  <Todd.Miller@courtesan.com>
13567
13568         * mon_systrace.c:
13569         Just return if STRIOCINJECT or STRIOCREPLACE fail. It probably
13570         means we are out of space in the stack gap...
13571         [5b02b702021e]
13572
13573         * CHANGES:
13574         sync
13575         [be3826273e56]
13576
13577         * mon_systrace.c:
13578         Take a stab at ldap sudoers support here.
13579         [9d023695b0de]
13580
13581         * mon_systrace.c, mon_systrace.h:
13582         Detach from tracee on SIGHUP, SIGINT and SIGTERM. Now "sudo reboot"
13583         doesn't cause reboot to inadvertanly kill itself.
13584         [d4aab2365610]
13585
13586         * mon_systrace.c:
13587         put "monitor" in the proctitle, not "systrace"
13588         [9a9025767d86]
13589
13590         * mon_systrace.c:
13591         When modifying the environment, don't replace envp when we can get
13592         away with just rewriting pointers in the traced process.
13593         [c03622f7a2e2]
13594
13595         * mon_systrace.c, mon_systrace.h:
13596         Add environment updating via STRIOCINJECT (if available).
13597         [037291016870]
13598
13599         * sudoers.cat, sudoers.man.in:
13600         regen
13601         [869acc511046]
13602
13603 2004-10-04  Todd C. Miller  <Todd.Miller@courtesan.com>
13604
13605         * lex.yy.c:
13606         regen
13607         [4e61a9bd3c97]
13608
13609         * parse.lex:
13610         Fix bug introduced in unput() removal; want yyless(0) not yyless(1)
13611         [b70d7bd6e147]
13612
13613         * mon_systrace.c:
13614         Include file is now mon_systrace.h
13615         [ead4e36d92ae]
13616
13617         * Makefile.in, configure, configure.in, def_data.c, def_data.h,
13618         def_data.in, lex.yy.c, parse.c, parse.h, parse.lex, parse.yacc,
13619         sudo.c, sudo.h, sudo.tab.c, sudo.tab.h, sudoers.pod:
13620         No longer call it tracing, it is now "monitoring" which should be
13621         more a obvious name to non-hackers.
13622         [aa811ded0789]
13623
13624 2004-10-01  Todd C. Miller  <Todd.Miller@courtesan.com>
13625
13626         * mon_systrace.c, mon_systrace.h:
13627         Fix some XXX
13628         [a271072dacc6]
13629
13630         * mon_systrace.c, mon_systrace.h:
13631         No need to include syscall.h, use 1024 as the max # of entries (the
13632         max that systrace(4) allows).
13633
13634         Only need to use SYSTR_POLICY_ASSIGN once
13635
13636         Change check_syscall() -> find_handler() and have it return the
13637         handler instead of just running it. We need this since handler now
13638         have two parts: one part that generates and answer and another that
13639         gets called after the answer is accepted (to do logging).
13640
13641         Add some missing check_exec for emul execv
13642         [a89d243f0525]
13643
13644         * sample.pam, sample.sudoers, sample.syslog.conf, sudoers:
13645         Add $Sudo$ tags.
13646         [6f3fedb0daba]
13647
13648         * config.h.in:
13649         Add missing HAVE_LINUX_SYSTRACE_H
13650         [ff75ab7bfc53]
13651
13652         * Makefile.in:
13653         add trace_systrace.o dependency
13654         [88a408668ab2]
13655
13656 2004-09-30  Todd C. Miller  <Todd.Miller@courtesan.com>
13657
13658         * configure, configure.in:
13659         Also look for systrace.h in /usr/include/linux
13660         [98b98b436cf3]
13661
13662         * mon_systrace.c, mon_systrace.h:
13663         Move all struct defs and prototypes into trace_systrace.h and mark
13664         all but systace_attach() static.
13665         [85511253b570]
13666
13667         * mon_systrace.c, mon_systrace.h:
13668         Add support for tracing emulations. At the moment, all emulations
13669         are compiled in. It might make sense to #ifdef them in the future,
13670         though this impeeds readability.
13671         [87bb50abf277]
13672
13673         * Makefile.in, configure, configure.in:
13674         rename systrace.c -> trace_systrace.c
13675         [31cfa4407d93]
13676
13677         * parse.yacc, sudo.tab.c:
13678         Allow this to build with a K&R compiler again
13679         [32876af5bb98]
13680
13681         * TODO:
13682         sync
13683         [46865bd70f7c]
13684
13685         * compat.h, sudo.c, visudo.c:
13686         Use __attribute__((__noreturn__))
13687         [65bbad71fe89]
13688
13689         * visudo.c:
13690         Exit() takes a negative value to indicate it was not called via
13691         signal.
13692         [b93032ed7b60]
13693
13694         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in, visudo.cat,
13695         visudo.man.in:
13696         regen
13697         [45bcf4661558]
13698
13699         * Makefile.in, visudo.c:
13700         Define Err() and Errx() that are like err() and errx() but call
13701         Exit() instead of exit(). Build private copy of alloc.o for visudo
13702         that calls Err() and Errx().
13703         [c6d02bf42edd]
13704
13705 2004-09-29  Todd C. Miller  <Todd.Miller@courtesan.com>
13706
13707         * lex.yy.c, sudo.tab.c:
13708         regen
13709         [39de7e7c59da]
13710
13711         * CHANGES:
13712         sync
13713         [ba481d9ed1aa]
13714
13715         * visudo.c:
13716         Overhaul visudo for editing multiple files: o visudo has been
13717         broken out into functions (more work needed here) o each file is
13718         now edited before sudoers is re-parsed o if a #include line is
13719         added that file will be edited too
13720
13721         TODO: o cleanup temp files when exiting via err() or errx() o
13722         continue breaking things out into separate functions
13723         [80c35cf534eb]
13724
13725         * parse.lex, sudo.c, sudo.h, testsudoers.c, visudo.c:
13726         Add keepopen arg to open_sudoers that open_sudoers can use to
13727         indicate to the caller that the fd should not be closed when it is
13728         done with it. To be used by visudo to keep locked fds from being
13729         closed prematurely (and thus losing the lock).
13730         [f330fe632470]
13731
13732         * parse.yacc, sudo.c:
13733         Add errorfile global that contains the name of the file that caused
13734         the error.
13735         [98079c7a37ed]
13736
13737         * parse.lex:
13738         return COMMENT to yacc grammar for a #include line
13739         [2024a8de4fa8]
13740
13741         * parse.lex:
13742         Remove us of unput() in favor of yyless() which is cheaper.
13743         [c61291902beb]
13744
13745         * parse.yacc:
13746         Allow an empty sudoers file.
13747         [62fb111db2e7]
13748
13749 2004-09-28  Todd C. Miller  <Todd.Miller@courtesan.com>
13750
13751         * mon_systrace.c:
13752         Rewind sudoers_fp now that sudoers_lookup() doesn't do it for us.
13753         [9e15869ef597]
13754
13755         * lex.yy.c, sudo.tab.c:
13756         regen
13757         [c29bdd43bfad]
13758
13759         * visudo.c:
13760         Do signal setup before calling edit_sudoers(). Don't shadow the
13761         "quiet" global.
13762         [74252efd09ff]
13763
13764         * visudo.c:
13765         If a sudoers file includes other files, edit those too. Does not yes
13766         deal with creating the new includes files itself.
13767         [06af7b9c173f]
13768
13769         * testsudoers.c:
13770         init_parser now takes a path
13771         [b5ee186eb192]
13772
13773         * parse.c, parse.h, parse.lex, parse.yacc:
13774         More scaffolding for dealing with multiple sudoers files: o
13775         init_parser() now takes a path used to populate the sudoers global
13776         o the sudoers global is used to print the correct file in yyerror()
13777         o when switching to a new sudoers file, perserve old file name and
13778         line number
13779         [d9be4970b8bd]
13780
13781         * Makefile.in, pathnames.h.in:
13782         Kill _PATH_SUDOERS_TMP; it is not meaningful now that we can have
13783         multiple sudoers files.
13784         [6ccc4e921c43]
13785
13786         * parse.c, sudo.c:
13787         Rewind sudoers_fp in open_sudoers() instead of sudoers_lookup() so
13788         we start at the right file position when reading include files.
13789         [91fcb961e7a4]
13790
13791         * sudoers.pod:
13792         document #include
13793         [fbb92a25a726]
13794
13795         * lex.yy.c:
13796         regen
13797         [50cd7a4c9dff]
13798
13799         * parse.lex:
13800         Add max depth of 128 for the include stack to avoid loops.
13801
13802         Since yyerror() doesn't stop parsing, pass return values back to
13803         yylex and call yyterminate() on error.
13804         [e79dbffb729d]
13805
13806 2004-09-27  Todd C. Miller  <Todd.Miller@courtesan.com>
13807
13808         * sudoers.pod:
13809         document tracing
13810         [165a467eadd8]
13811
13812         * sudo.pod:
13813         Mention PREVENTING SHELL ESCAPES section of sudoers man page
13814         [3217ccecd834]
13815
13816         * lex.yy.c, sudo.tab.c:
13817         regen
13818         [fbd58d1d3a76]
13819
13820         * parse.lex:
13821         Add support for #include in sudoers (visudo support TBD)
13822         [a78015ca81af]
13823
13824         * parse.yacc:
13825         make yyerror()'s argument const
13826         [7d8e168c019a]
13827
13828         * testsudoers.c, visudo.c:
13829         Add open_sudoers() stubs.
13830         [087466787198]
13831
13832         * sudo.c, sudo.h:
13833         Rename check_sudoers() open_sudoers() and make it return a FILE *
13834         [142fc511fc65]
13835
13836 2004-09-26  Todd C. Miller  <Todd.Miller@courtesan.com>
13837
13838         * BUGS, INSTALL, INSTALL.binary, Makefile.in, README, configure.in,
13839         version.h:
13840         Crank version
13841         [1adc3f839480]
13842
13843         * Makefile.in, sudo.psf:
13844         Better HP-UX depot construction
13845         [2d952b000e63]
13846
13847 2004-09-25  Todd C. Miller  <Todd.Miller@courtesan.com>
13848
13849         * mon_systrace.c:
13850         o Made children global so check_exec() can lookup a child. o
13851         Replaced uid in struct childinfo with struct passwd * (for runas) o
13852         new_child() now takes a parent pid so the runas info can be
13853         inherited o Added find_child() to lookup a child by its pid o
13854         update_child() now fills in a struct passwd o Converted the big
13855         if/else mess in set_policy to a switch o Syscalls that change uid
13856         are now "ask" so we get SYSTR_MSG_UGID events
13857         [29b9ea3f09a3]
13858
13859         * getspwuid.c:
13860         Add flag to sudo_pwdup that indicates whether or not to lookup the
13861         shadow password. Will be used to a struct passwd that has the
13862         shadow password already filled in.
13863         [e19d43dd7238]
13864
13865         * mon_systrace.c:
13866         add missing increment of addr in read_string()
13867         [f9eb0f060cb6]
13868
13869         * mon_systrace.c:
13870         Remove bogus call to update_child() and some cosmetic fixes
13871         [701ab0b97fef]
13872
13873         * mon_systrace.c:
13874         Don't leak /dev/systrace fd to tracee Make initialized global for
13875         simplicity If STRIOCATTACH returns EBUSY we are already being traced
13876         Check for user_args == NULL in setproctitle() call Add missing calls
13877         to STRIOCANSWER
13878         [1956edf9bc3a]
13879
13880         * sudo.c:
13881         g/c sudo_pwdup proto
13882         [b7c4d6249ecb]
13883
13884         * Makefile.in, sudo.psf:
13885         Add target for building a depot file
13886         [357019efd99b]
13887
13888         * mon_systrace.c:
13889         trim includes
13890         [501534428471]
13891
13892 2004-09-24  Todd C. Miller  <Todd.Miller@courtesan.com>
13893
13894         * lex.yy.c, sudo.tab.c, sudo.tab.h:
13895         regen
13896         [52fd250c6986]
13897
13898         * INSTALL:
13899         document --with-systrace
13900         [79623927c94e]
13901
13902         * config.h.in, configure, configure.in:
13903         Add check for setproctitle
13904         [1730cf1c26ed]
13905
13906         * mon_systrace.c:
13907         pass struct str_msg_ask in to syscall checker so it can set the
13908         error code
13909         [1703fd2fdef6]
13910
13911         * mon_systrace.c:
13912         systrace(4) support for sudo. On systems with the systrace(4)
13913         kernel facility (OpenBSD, NetBSD, Linux w/ patches) sudo can
13914         intercept exec calls and check the exec args against the sudoers
13915         file. In other words, sudo can now control subcommands and shell
13916         escapes.
13917         [928c9217c386]
13918
13919         * sudo.c, sudo.h:
13920         Call systrace_attach() if FLAG_TRACE is set.
13921         [014ba9402fa5]
13922
13923         * parse.c, parse.h, parse.lex, parse.yacc, sudo.h:
13924         Add trace Defaults option and TRACE/NOTRACE tags and set FLAG_TRACE
13925         [a99904db5e56]
13926
13927         * parse.c, sudo.c:
13928         Don't close sudoers_fp, keep it open and set close on exec flag
13929         instead.
13930         [43a9fec60bee]
13931
13932         * def_data.c, def_data.h, def_data.in:
13933         Add trace option
13934         [5b643b86730a]
13935
13936         * Makefile.in:
13937         Add systrace
13938         [47a0519c427c]
13939
13940         * INSTALL:
13941         SunOS /bin/sh blows up with configure
13942         [005a23cc5615]
13943
13944         * configure, configure.in:
13945         Include sys/param.h before systrace.h
13946         [9345bc8efecf]
13947
13948         * configure:
13949         regen
13950         [a8f53fcbb254]
13951
13952         * pathnames.h.in:
13953         _PATH_DEV_SYSTRACE
13954         [d2ad1e492a00]
13955
13956         * configure.in:
13957         line up options in --help
13958         [fa51f2821d09]
13959
13960         * config.h.in, configure.in:
13961         Add --with-systrace
13962         [a264d54bc413]
13963
13964 2004-09-23  Todd C. Miller  <Todd.Miller@courtesan.com>
13965
13966         * configure:
13967         regen
13968         [a4dad0bcc523]
13969
13970         * aclocal.m4, configure.in:
13971         make this work with autoconf-2.59
13972         [c4a92b6a684a]
13973
13974 2004-09-16  Todd C. Miller  <Todd.Miller@courtesan.com>
13975
13976         * sudo_edit.c:
13977         Simplify logic around open & stat of files and do sanity on edited
13978         file even if we lack fstat (still racable but worth doing).
13979         [adda65ade70c]
13980
13981 2004-09-15  Todd C. Miller  <Todd.Miller@courtesan.com>
13982
13983         * HISTORY:
13984         Add support url
13985         [bf6590fbde9f]
13986
13987         * Makefile.in:
13988         versino 1.6.8p1
13989         [b84ebfaf1552] [SUDO_1_6_8p1]
13990
13991         * CHANGES:
13992         more changes for 1.6.8p1
13993         [e23a9c0393b6]
13994
13995         * version.h:
13996         1.6.8p1
13997         [872f14504b5f]
13998
13999         * CHANGES, sudo_edit.c:
14000         Add sanity check so we don't try to edit something other than a
14001         regular file.
14002         [350134ec6d4e]
14003
14004 2004-09-15  Aaron Spangler  <aaron777@gmail.com>
14005
14006         * CHANGES:
14007         sync
14008         [3091ca9eae00]
14009
14010         * INSTALL:
14011         document --with-ldap-conf-file
14012         [0e2cd6b896f1]
14013
14014 2004-09-14  Todd C. Miller  <Todd.Miller@courtesan.com>
14015
14016         * CHANGES, ins_csops.h:
14017         political correctness strikes again
14018         [428e8bc77f55]
14019
14020         * RUNSON:
14021         sync
14022         [27f44bd423dc]
14023
14024 2004-09-12  Todd C. Miller  <Todd.Miller@courtesan.com>
14025
14026         * Makefile.binary.in, Makefile.in:
14027         Install sudoedit man link
14028         [19a55234fc1f]
14029
14030         * INSTALL:
14031         Update PAM note and mention where HP-UX users can download gcc
14032         binaries.
14033         [d37cdbbabfd4]
14034
14035         * Makefile.in:
14036         libtool wants to install stuff from .libs so fake one up for binary
14037         installations.
14038         [a681bc6fcfba]
14039
14040         * Makefile.binary.in:
14041         rm -f old sudoedit link instead of using ln -f set LIBTOOL correctly
14042         [3e0c4b3372cc]
14043
14044         * Makefile.in:
14045         Deal with "uname -m" having slashes in it rm -f old sudoedit link
14046         instead of using ln -f
14047         [cff33fb97e5b]
14048
14049         * Makefile.binary, Makefile.binary.in:
14050         Makefile.binary -> Makefile.binary.in for config.status substitution
14051         Add support for installing noexec bits
14052         [37d8bb3483c6]
14053
14054         * Makefile.in:
14055         Copy noexec bits into binary dists too No longer use my old arch
14056         script for making binary dists
14057         [e7058bab9e33]
14058
14059         * Makefile.binary:
14060         Install sudoedit link.
14061         [417d1e101711]
14062
14063 2004-09-11  Todd C. Miller  <Todd.Miller@courtesan.com>
14064
14065         * emul/utime.h:
14066         avoid __P so there is no need for compat.h to be included
14067         [6d8d1f1abf7d]
14068
14069         * utimes.c:
14070         Don't use HAVE_UTIME_H before including config.h.
14071         [013b7bb61181]
14072
14073 2004-09-10  Todd C. Miller  <Todd.Miller@courtesan.com>
14074
14075         * compat.h:
14076         Fix Solatis futimes macro
14077         [d4eda2ca0d29]
14078
14079 2004-09-09  Todd C. Miller  <Todd.Miller@courtesan.com>
14080
14081         * sudo_edit.c:
14082         Rename ots -> omtim for improved readability.
14083         [127ca5bb297c]
14084
14085 2004-09-08  Todd C. Miller  <Todd.Miller@courtesan.com>
14086
14087         * sudo_edit.c:
14088         Redo changes in revision 1.7. Don't really need to keep the temp
14089         file open; re-opening it with the invoking user's euid is
14090         sufficient.
14091         [55a883165a95]
14092
14093         * CHANGES:
14094         sync
14095         [9015b291170d]
14096
14097         * sudo.cat, sudo.man.in:
14098         regen
14099         [c0313f6ed783]
14100
14101         * sudo.pod:
14102         back out revision 1.70; it is no long applicable
14103         [b641d503aff6]
14104
14105         * env.c:
14106         Let the loader initialize nep
14107         [bec192139b02]
14108
14109         * config.h.in, configure, configure.in:
14110         Removed unneed check for fchown Add check for gettimeofday Move
14111         autoheader template stuff into separate AH_TEMPLATE lines
14112         [bfc0edbd43f2]
14113
14114         * check.c, compat.h, fileops.c, sudo.h, sudo_edit.c, visudo.c:
14115         Use timespec throughout.
14116         [1a178a23b69b]
14117
14118         * Makefile.in:
14119         gettime.[co]
14120         [6aeb48a7ab7f]
14121
14122         * gettime.c:
14123         function to return the current time in a struct timespec
14124         [bf8eb12cb63f]
14125
14126         * utimes.c:
14127         Not a darpa-sponsored file.
14128         [121ce5e2036c]
14129
14130 2004-09-07  Todd C. Miller  <Todd.Miller@courtesan.com>
14131
14132         * compat.h, config.h.in, configure, configure.in:
14133         Add a check for struct timespec and provide it for those without.
14134         [42124055030d]
14135
14136         * config.h.in, configure, configure.in, sudo_edit.c:
14137         Add checks for st_mtim and st_mtimespec and add macros for pulling
14138         the mtime sec and nsec out of struct stat. These are used in
14139         sudo_edit() to better tell whether or not the file has changed.
14140         [23debfbb3fab]
14141
14142         * check.c, fileops.c, sudo.h, sudo_edit.c, visudo.c:
14143         Add an extra param to touch() for nsec
14144         [56f7a4ba8ddb]
14145
14146         * sudo_edit.c:
14147         Call mkstemp() as the in invoking user so we don't have to chown the
14148         file later. Only touch() the temp file if we can do it via the file
14149         descriptor. Don't check for modification of the temp file if we lack
14150         fstat(). Catch errors read()ing the temp file.
14151         [665f52c70836]
14152
14153         * fileops.c:
14154         If path is NULL and fd == -1 return -1.
14155         [757a518a824c]
14156
14157         * sudo_edit.c:
14158         closefrom() is overkill, the only extra fds are the ones we opened
14159         so just close those in the child.
14160         [f361c9d2a1f4]
14161
14162         * Makefile.in, aclocal.m4, check.c, compat.h, config.h.in, configure,
14163         configure.in, fileops.c, sudo.h, sudo_edit.c, utime.c, utimes.c,
14164         visudo.c:
14165         Use utimes() and futimes() instead of utime() in touch(), emulating
14166         as needed. Not all systems are able to support setting the times of
14167         an fd so touch() takes both an fd and a file name as arguments.
14168         [3d9276f29717]
14169
14170 2004-09-07  Aaron Spangler  <aaron777@gmail.com>
14171
14172         * env.c:
14173         Rare SEGV
14174         [8995f828782d]
14175
14176 2004-09-06  Todd C. Miller  <Todd.Miller@courtesan.com>
14177
14178         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in, visudo.cat,
14179         visudo.man.in:
14180         regen
14181         [b8e9406711c5]
14182
14183         * sudo.pod, sudoers.pod, visudo.pod:
14184         Add SUPPORT section and re-order some of the sections to match the
14185         order we use in OpenBSD.
14186         [fa37bd917e2c]
14187
14188 2004-09-06  Aaron Spangler  <aaron777@gmail.com>
14189
14190         * env.c:
14191         Openldap ~/.ldaprc fix
14192         [1a37afe6850f]
14193
14194 2004-09-06  Todd C. Miller  <Todd.Miller@courtesan.com>
14195
14196         * sudo.pod:
14197         Talk about how the editor must write its changes to the original
14198         file and not just use rename(2).
14199         [c55ed91c5ee9]
14200
14201         * CHANGES:
14202         sync
14203         [62af26bd37a2]
14204
14205         * sudo_edit.c:
14206         Keep the temp file open instead of re-opening after the editor has
14207         exited.
14208         [de41eeb6dcf2]
14209
14210         * sample.pam:
14211         Update for current redhat/fedora core.
14212         [8cf083077333]
14213
14214 2004-09-03  Aaron Spangler  <aaron777@gmail.com>
14215
14216         * README.LDAP:
14217         tls_ examples
14218         [ba783d88a034]
14219
14220 2004-09-02  Aaron Spangler  <aaron777@gmail.com>
14221
14222         * ldap.c:
14223         config tls_* options
14224         [0b0e0797b3b9]
14225
14226 2004-08-29  Todd C. Miller  <Todd.Miller@courtesan.com>
14227
14228         * configure, configure.in:
14229         No need for -lcrypt when using pam.
14230         [41fff3a53e68]
14231
14232 2004-08-27  Todd C. Miller  <Todd.Miller@courtesan.com>
14233
14234         * configure:
14235         regen
14236         [75820aecce2c]
14237
14238 2004-08-27  Aaron Spangler  <aaron777@gmail.com>
14239
14240         * configure.in, ldap.c, pathnames.h.in:
14241         Allow --with-ldap-conf-file option to override LDAP_CONF
14242         [c9909bc484a5]
14243
14244         * ldap.c:
14245         cleanup debug message
14246         [1f6ca4824d8d]
14247
14248 2004-08-26  Aaron Spangler  <aaron777@gmail.com>
14249
14250         * README.LDAP:
14251         more config info
14252         [f2e7147fd507]
14253
14254 2004-08-24  Todd C. Miller  <Todd.Miller@courtesan.com>
14255
14256         * TODO, find_path.c, goodpath.c, parse.c, sudo.c, sudo.h, visudo.c:
14257         Add cmnd_base to struct sudo_user and set it in init_vars(). Add
14258         cmnd_stat to struct sudo_user and set it in sudo_goodpath(). No
14259         longer use gross statics in command_matches(). Also rename some
14260         variables for improved clarity.
14261         [7169a6c7bea4]
14262
14263 2004-08-21  Todd C. Miller  <Todd.Miller@courtesan.com>
14264
14265         * INSTALL:
14266         document HP's crippled compiler deficiency.
14267         [c405ea5a8d4c]
14268
14269         * INSTALL:
14270         Fix some thinkos in --with-editor and --with-env-editor
14271         descriptions. Noticed by Norihiko Murase.
14272         [dd781de1c985]
14273
14274         * configure, configure.in:
14275         --with-noexec takes an optional PATH argument.
14276         [8f6ab77f22cc]
14277
14278         * INSTALL:
14279         document --with-noexec
14280         [50cb1fc627ce]
14281
14282 2004-08-17  Todd C. Miller  <Todd.Miller@courtesan.com>
14283
14284         * RUNSON, TODO:
14285         sync
14286         [f2503bd13373] [SUDO_1_6_8]
14287
14288         * sudo_edit.c:
14289         Better warning message when sudoedit is unable to write to the
14290         destination file.
14291         [f78c18f2ffa8]
14292
14293         * sudo.cat, sudo.man.in:
14294         regen
14295         [7e2bf63d6d9a]
14296
14297         * sudo.pod:
14298         Don't italicize the string "sudoedit"
14299         [c691643bd269]
14300
14301 2004-08-16  Todd C. Miller  <Todd.Miller@courtesan.com>
14302
14303         * HISTORY:
14304         Mention GratiSoft.
14305         [dc53de581b2d]
14306
14307 2004-08-11  Todd C. Miller  <Todd.Miller@courtesan.com>
14308
14309         * sudo.tab.c:
14310         regen
14311         [8ae0484dfc38]
14312
14313         * parse.yacc:
14314         Reset used_runas to FALSE when re-intializing the parser.
14315         [b7403f353a02]
14316
14317 2004-08-09  Todd C. Miller  <Todd.Miller@courtesan.com>
14318
14319         * config.guess:
14320         Correct OpenBSD mips support
14321         [314fc7afc165]
14322
14323         * config.guess:
14324         Add OpenBSD/mips
14325         [ac87d0a773ef]
14326
14327 2004-08-07  Aaron Spangler  <aaron777@gmail.com>
14328
14329         * README.LDAP:
14330         More behavior notes
14331         [13be1d212b47]
14332
14333         * README.LDAP:
14334         Updates on current behavior
14335         [d498a8866d6f]
14336
14337 2004-08-06  Todd C. Miller  <Todd.Miller@courtesan.com>
14338
14339         * sudoers.pod:
14340         =back does not take an indentlevel (makes no difference to formatted
14341         files).
14342         [9c8523bb382a]
14343
14344         * sudo.pod:
14345         =back does not take an indentlevel (makes no difference to formatted
14346         files).
14347         [e5f479e24fa8]
14348
14349         * CHANGES:
14350         new
14351         [2dbd9aba8b33]
14352
14353         * sudo.c:
14354         Consistency. Use same error for bad -u #uid when targetpw is set as
14355         we do when a bad -u username is specified.
14356         [922961c4a9d6]
14357
14358         * TODO:
14359         Add checksum idea from Steve Mancini
14360         [e6ece1b766ba]
14361
14362         * sudoers.cat, sudoers.man.in:
14363         regen
14364         [370d2317829f]
14365
14366         * sudo.cat, sudo.man.in:
14367         regen
14368         [f93d41fc38b1]
14369
14370         * sudo.pod, sudoers.pod:
14371         Document the restriction on uids specified via -u when targetpw is
14372         set.
14373         [878fedb455db]
14374
14375         * sudo.c:
14376         Error out when targetpw is enabled and sudo is run with -u #uid but
14377         #uid does not exist in the passwd database. We can't do target
14378         authentication when the target is not in passwd!
14379         [27c5888c86eb]
14380
14381         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in:
14382         regen
14383         [ceb65711050c]
14384
14385         * TODO:
14386         Some more todo for the next release.
14387         [7b7417be7601]
14388
14389         * INSTALL:
14390         Make it clear that PAM should be used for DCE support when possible.
14391         [7502029fd385]
14392
14393         * sudoers.pod:
14394         o Document problems with wildcards and relative paths. o Make the
14395         order requirements more prominent. o Change a "set" to "reset" for
14396         clarity.
14397         [bacdd181b33f]
14398
14399 2004-08-05  Todd C. Miller  <Todd.Miller@courtesan.com>
14400
14401         * sudo.pod:
14402         Mention --with-secure-path, not SECURE_PATH.
14403         [41283ddde5e1]
14404
14405 2004-08-03  Aaron Spangler  <aaron777@gmail.com>
14406
14407         * ldap.c:
14408         reflect changes to parse.c
14409         [8880fe9b724d]
14410
14411 2004-08-02  Todd C. Miller  <Todd.Miller@courtesan.com>
14412
14413         * sudo.tab.c:
14414         regen
14415         [a57658ca9177]
14416
14417         * parse.c, parse.h, testsudoers.c, visudo.c:
14418         Don't pass user_cmnd and user_args to command_matches(), just use
14419         the globals there. Since we keep state with statics anyway it is
14420         misleading to pretend that passing in different cmnd and cmnd_args
14421         will work.
14422         [0a2544991fd6]
14423
14424         * parse.yacc:
14425         Don't pass user_cmnd and user_args to command_matches(), just use
14426         the globals there. Since we keep state with statics anyway it is
14427         misleading to pretend that passing in different cmnd and cmnd_args
14428         will work.
14429         [a4910bf6032b]
14430
14431         * parse.c:
14432         Fix a bug introduced in rev. 1.149. When checking for pseudo-
14433         commands check for a '/' anywhere in cmnd, not just the first
14434         character.
14435         [ce98142f03ca]
14436
14437 2004-07-31  Aaron Spangler  <aaron777@gmail.com>
14438
14439         * sudo.man.in, sudo.pod:
14440         Clarification thanks to Olivier Blin <oblin@mandrakesoft.com>
14441         [a91800e094b1]
14442
14443         * sudoers.man.in, sudoers.pod:
14444         Add ignore_local_sudoers
14445         [741ddcbf7083]
14446
14447         * README.LDAP:
14448         Sun One schema definition by Andreas.Bussjaeger@t-systems.com and
14449         janth@moldung.no
14450         [742c02e07cd9]
14451
14452 2004-07-29  Todd C. Miller  <Todd.Miller@courtesan.com>
14453
14454         * CHANGES:
14455         typo
14456         [e7cdefbd7a9a]
14457
14458 2004-07-23  Todd C. Miller  <Todd.Miller@courtesan.com>
14459
14460         * CHANGES:
14461         sync
14462         [734dafc4a85e]
14463
14464         * parse.c:
14465         Parse sudoers file as PERM_RUNAS not PERM_ROOT and remove a useless
14466         PERM_SUDOERS. Restore to PERM_ROOT upon exit of the parse.
14467         [151b7f593568]
14468
14469 2004-07-08  Todd C. Miller  <Todd.Miller@courtesan.com>
14470
14471         * CHANGES:
14472         PAM change
14473         [d8fb6d6a22d0]
14474
14475 2004-07-08  Aaron Spangler  <aaron777@gmail.com>
14476
14477         * ldap.c:
14478         Better debugging of ALL command
14479         [9db3e84029dc]
14480
14481 2004-07-08  Todd C. Miller  <Todd.Miller@courtesan.com>
14482
14483         * parse.c:
14484         When matching for "sudoedit" in sudoers check both the command the
14485         user typed *and* the command that is listed in the sudoers entry.
14486         [f36ca1f94095]
14487
14488 2004-07-04  Aaron Spangler  <aaron777@gmail.com>
14489
14490         * ldap.c:
14491         Added !command feature
14492         [ed539574611b]
14493
14494 2004-06-28  Todd C. Miller  <Todd.Miller@courtesan.com>
14495
14496         * auth/pam.c:
14497         Use pam_acct_mgmt() to check for disabled accounts; Brian Farrell
14498         [2be8e0e8813a]
14499
14500 2004-06-11  Todd C. Miller  <Todd.Miller@courtesan.com>
14501
14502         * LICENSE:
14503         License is ISC-style, not BSD-style
14504         [ac0589e1dd5d]
14505
14506         * CHANGES:
14507         sync
14508         [16058a30f404]
14509
14510 2004-06-10  Todd C. Miller  <Todd.Miller@courtesan.com>
14511
14512         * sudo.cat, sudo.man.in:
14513         regen
14514         [8820eb9c809b]
14515
14516         * sudo.pod:
14517         o Update some out of date bits to reality o Change the shell promt
14518         in examples to bourne-shell style o Clarify some details o Add a
14519         CAVEAT about "sudo cd /foo"
14520         [b0af373214b6]
14521
14522         * check.c:
14523         Don't ask for a password if invoking user == target user.
14524         [dd5c96141132]
14525
14526         * sudo.c:
14527         typo in comment
14528         [278d20f9b249]
14529
14530 2004-06-08  Todd C. Miller  <Todd.Miller@courtesan.com>
14531
14532         * sudoers.cat, sudoers.man.in:
14533         regen
14534         [9036c6f39eff]
14535
14536         * sudoers.pod:
14537         Expand on NOEXEC a little.
14538         [9a13756aebe4]
14539
14540         * TODO:
14541         sync
14542         [8d2c1af48de8]
14543
14544         * visudo.cat, visudo.man.in:
14545         regen
14546         [3921f01607c8]
14547
14548         * sudo.tab.c:
14549         regen
14550         [9338c3d68250]
14551
14552         * visudo.pod:
14553         Add a check in visudo for runas_default being set after it has
14554         already been used.
14555         [6700358d7ad8]
14556
14557         * CHANGES, parse.yacc, visudo.c:
14558         Add a check in visudo for runas_default being set after it has
14559         already been used.
14560         [803560986a8a]
14561
14562         * sudo.tab.c:
14563         regen
14564         [b60636e2cf63]
14565
14566         * parse.yacc:
14567         Add a MATCHED macro for testing whether foo_matches has been set to
14568         TRUE or FALSE. This is more readable than checking for >=0 or < 0.
14569         Doesn't change the actual code generated.
14570         [f376da8ccdc8]
14571
14572 2004-06-07  Todd C. Miller  <Todd.Miller@courtesan.com>
14573
14574         * sudoers.cat:
14575         regen
14576         [6cceb6d6c9bd]
14577
14578         * sudoers.man.in:
14579         regen
14580         [5acd12b730b3]
14581
14582         * sudoers.pod:
14583         Correct description of where Defaults specs should go.
14584         [6b11ff53d7ad]
14585
14586         * sudoers:
14587         Correct description of where Defaults specs should go.
14588         [868db857630d]
14589
14590         * testsudoers.c, visudo.c:
14591         update (c) year
14592         [272c8a53604c]
14593
14594         * logging.h:
14595         update (c) year
14596         [3cec76d400ce]
14597
14598         * ldap.c:
14599         update (c) year
14600         [f264632488a0]
14601
14602         * find_path.c:
14603         update (c) year
14604         [40c227af9227]
14605
14606         * auth/pam.c:
14607         update (c) year
14608         [87149e0eed50]
14609
14610         * auth/bsdauth.c, auth/kerb5.c:
14611         update (c) year
14612         [d72eb434c068]
14613
14614 2004-06-06  Todd C. Miller  <Todd.Miller@courtesan.com>
14615
14616         * sudo.tab.c:
14617         regen
14618         [83408d9e9d2e]
14619
14620         * auth/bsdauth.c, auth/kerb5.c, auth/pam.c, visudo.c:
14621         Remove trailing spaces, no actual code changes.
14622         [4c3bf2819293]
14623
14624         * tgetpass.c:
14625         Remove trailing spaces, no actual code changes.
14626         [96f6e0a24c26]
14627
14628         * ldap.c, logging.h, parse.c, parse.yacc, sudo.c, testsudoers.c:
14629         Remove trailing spaces, no actual code changes.
14630         [c7075d1cbed5]
14631
14632         * getcwd.c:
14633         Remove trailing spaces, no actual code changes.
14634         [776cc0374547]
14635
14636         * find_path.c:
14637         Remove trailing spaces, no actual code changes.
14638         [7ed7099f3c71]
14639
14640         * compat.h, defaults.c, env.c:
14641         Remove trailing spaces, no actual code changes.
14642         [893e83c33795]
14643
14644         * check.c:
14645         Remove trailing spaces, no actual code changes.
14646         [f77750f8803b]
14647
14648         * sudo.tab.c:
14649         regen
14650         [62e0ed883b31]
14651
14652         * parse.yacc:
14653         Fix a >=0 that should be <0 that was improperly converted when
14654         UNSPEC was added.
14655         [ad1531a55a49]
14656
14657         * parse.yacc:
14658         Add do {} while(0) around pop macro Set cmnd_matches to UNSPEC, not
14659         NOMATCH when resetting it.
14660         [ae017a12870a]
14661
14662         * parse.yacc:
14663         Fix pastos introduced in SETNMATCH addition.
14664         [6ea1c9d80681]
14665
14666 2004-06-05  Todd C. Miller  <Todd.Miller@courtesan.com>
14667
14668         * README.LDAP:
14669         Update for configure changes
14670         [637a635da287]
14671
14672         * sudo.tab.c:
14673         regen
14674         [4753c2788713]
14675
14676         * sudo.h:
14677         Add NOMATCH and UNSPEC defines (-1 and -2 respectively) and use
14678         these in parse.yacc. Also in parse.yacc initialize the *_matches
14679         vars to UNSPEC and add two macros, SETMATCH and SETNMATCH for use
14680         when setting *_matches to a value that may be
14681         NOMATCH/UNSPEC/TRUE/FALSE.
14682         [2ba622e15a4d]
14683
14684         * parse.yacc:
14685         Add NOMATCH and UNSPEC defines (-1 and -2 respectively) and use
14686         these in parse.yacc. Also in parse.yacc initialize the *_matches
14687         vars to UNSPEC and add two macros, SETMATCH and SETNMATCH for use
14688         when setting *_matches to a value that may be
14689         NOMATCH/UNSPEC/TRUE/FALSE.
14690         [746b519e41a6]
14691
14692         * parse.yacc:
14693         Initialize runas to -2, not -1 since we need to be able to
14694         distinguish between the initialized value and the value of a non-
14695         match when passing along the runas value to multiple commands.
14696
14697         The result of this is that an unmatched runas is now set to -1, not
14698         0. This is required now that parse.c treats a FALSE value for runas
14699         as being explicitly denied.
14700         [7791ed3621f6]
14701
14702 2004-06-03  Todd C. Miller  <Todd.Miller@courtesan.com>
14703
14704         * sudo.c, visudo.c:
14705         Error out if argc < 1.
14706         [ce6b2a9eda3c]
14707
14708         * getprogname.c:
14709         Error out if argc < 1.
14710         [c566cce8dc78]
14711
14712         * configure, configure.in:
14713         Add tests for what libs we need to link with for ldap and for
14714         whether or not lber.h needs to be explicitly included.
14715         [b2e9729cc4e7]
14716
14717 2004-06-03  Aaron Spangler  <aaron777@gmail.com>
14718
14719         * ldap.c:
14720         Solaris native LDAP build fix
14721         [39929e40eb11]
14722
14723 2004-06-01  Todd C. Miller  <Todd.Miller@courtesan.com>
14724
14725         * ldap.c:
14726         Set edn to NULL is ldap_get_dn() fails to avoid potential use of an
14727         unset variable.
14728         [6a4c20a66f98]
14729
14730         * sudo.h:
14731         Add prototype for sudo_ldap_list_matches
14732         [443b007a8dab]
14733
14734         * configure, configure.in:
14735         Better check for dirfd macro--we now set HAVE_DIRFD for the macro
14736         version too. Added check for dd_fd in `DIR' if no dirfd is found;
14737         this is now used to confitionally define the dirfd macro in
14738         compat.h.
14739         [567656978f7e]
14740
14741         * config.h.in:
14742         Better check for dirfd macro--we now set HAVE_DIRFD for the macro
14743         version too. Added check for dd_fd in `DIR' if no dirfd is found;
14744         this is now used to confitionally define the dirfd macro in
14745         compat.h.
14746         [34eace4faec8]
14747
14748         * compat.h:
14749         Better check for dirfd macro--we now set HAVE_DIRFD for the macro
14750         version too. Added check for dd_fd in `DIR' if no dirfd is found;
14751         this is now used to confitionally define the dirfd macro in
14752         compat.h.
14753         [8d50ff1bbf2a]
14754
14755         * closefrom.c:
14756         Only check /proc/$$/fd if we have the dirfd function/macro.
14757         [15e3ccce7553]
14758
14759         * compat.h, config.h.in, configure, configure.in:
14760         Add a check for a dirfd() function (like Linux) and add a dirfd
14761         macro in compat.h if there is no dirfd() function or macro.
14762         [1e95756edb50]
14763
14764         * closefrom.c, getcwd.c:
14765         dirfd() is now defined in compat.h as needed.
14766         [bb1d79271188]
14767
14768         * CHANGES:
14769         Clarify closefrom() note.
14770         [f4e4a5508dda]
14771
14772         * parse.c:
14773         When checking for a command in the directory, only copy the base dir
14774         once.
14775         [7a3276808b87]
14776
14777         * closefrom.c:
14778         If there is a /proc/$$/fd directory, behave like the Solaris
14779         closefrom() and only close the descriptors listed therein.
14780         [19de23779e84]
14781
14782         * alloc.c:
14783         compat.h guarantees INT_MAX is defined.
14784         [1bf0c79d4606]
14785
14786         * compat.h:
14787         Add definitions of OPEN_MAX and INT_MAX for those without it and
14788         remove definition of RLIM_INFINITY (now unused).
14789         [f827d1ebf96e]
14790
14791         * CHANGES, alloc.c, check.c, compat.h, find_path.c, getcwd.c, parse.c,
14792         sudo.c, sudo.h, visudo.c:
14793         Use PATH_MAX, not MAXPATHLEN since the former is standardized.
14794         [59788f211c24]
14795
14796 2004-05-31  Todd C. Miller  <Todd.Miller@courtesan.com>
14797
14798         * CHANGES:
14799         sync
14800         [d32fa124f1ad]
14801
14802         * RUNSON:
14803         Add some entries that were mailed in a while ago
14804         [ff8d5bfec54e]
14805
14806         * closefrom.c:
14807         o sysconf returns a long, not an int. o check for negative return
14808         value from sysconf/getdtablesize and use OPEN_MAX in this case. o
14809         define OPEN_MAX to 256 for those without it (a fair guess...)
14810         [ccf81ae6deb2]
14811
14812 2004-05-30  Todd C. Miller  <Todd.Miller@courtesan.com>
14813
14814         * UPGRADE:
14815         Mention change in parse order for RunAs entries.
14816         [dc73b0bca617]
14817
14818         * configure:
14819         regen
14820         [07cce8e0534e]
14821
14822 2004-05-29  Todd C. Miller  <Todd.Miller@courtesan.com>
14823
14824         * INSTALL, README.LDAP, config.h.in, configure.in:
14825         o --with-ldap now takes an optional dir as a parameter o added
14826         check for ldap_initialize() and start_tls_s()
14827         [2b846c7974c6]
14828
14829         * README.LDAP:
14830         Fix some typos, word choice and formatting issues.
14831         [00dc8ca84b10]
14832
14833 2004-05-28  Todd C. Miller  <Todd.Miller@courtesan.com>
14834
14835         * tgetpass.c:
14836         Use SA_INTERRUPT so SunOS works correctly, avoid stdio and just use
14837         read/write as it is simpler.
14838         [30f5446ee8b0]
14839
14840         * configure, configure.in:
14841         Remove hack overriding cross-compiler check. It should no longer be
14842         needed.
14843         [22a6cbd88608]
14844
14845         * compat.h:
14846         Remove select() compat bits since we no longer use select().
14847         [d7bbf7cd36f5]
14848
14849         * CHANGES, tgetpass.c:
14850         Use alarm() instead of select() for the timeout for systems that
14851         don't fully/properly implement select().
14852         [d7cc60f15800]
14853
14854 2004-05-27  Todd C. Miller  <Todd.Miller@courtesan.com>
14855
14856         * CHANGES:
14857         synbc
14858         [132a39788e07]
14859
14860         * RUNSON:
14861         update
14862         [61ef508380c6]
14863
14864         * set_perms.c:
14865         Deal with systems that have no way of setting the effective uid such
14866         as nsr-tandem-nsk.
14867         [306e00e9b5a4]
14868
14869         * configure, configure.in:
14870         Define NO_SAVED_IDS if we don't find seteuid()
14871         [8588f18345cf]
14872
14873         * config.h.in, configure, configure.in:
14874         Add back check for setreuid() since NSK doesn't have it.
14875         [43127bd703d1]
14876
14877         * sudoers.cat, sudoers.man.in:
14878         regen
14879         [af4f4b20e422]
14880
14881         * CHANGES:
14882         sync
14883         [29ca3b699c24]
14884
14885         * BUGS:
14886         sync
14887         [3593f17f72ed]
14888
14889         * parse.c:
14890         In sudoers_lookup() return VALIDATE_NOT_OK if the runas user was
14891         explicitly denied and the command matched. This fixes a long-
14892         standing bug and makes: foo machine = (ALL) /usr/bin/blah
14893         foo machine = (!bar) /usr/bin/blah
14894
14895         equivalent to: foo machine = (ALL, !bar) /usr/bin/blah
14896         [2f5ee244985a]
14897
14898         * sudoers.pod:
14899         Clarify mail_noperm
14900         [3238b2d41989]
14901
14902 2004-05-20  Aaron Spangler  <aaron777@gmail.com>
14903
14904         * Makefile.in:
14905         Missing DESTDIR in make install for sudo_noexec.la
14906         [91431e821525]
14907
14908 2004-05-17  Todd C. Miller  <Todd.Miller@courtesan.com>
14909
14910         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in, visudo.cat,
14911         visudo.man.in:
14912         regen
14913         [cdfde0dcb556]
14914
14915         * TODO:
14916         sync
14917         [4799b7d8b62c]
14918
14919         * sudoers.pod:
14920         Remove fastboot/fasthalt (who still remembers these?) and add a
14921         minimal sudoedit example.
14922         [19d299f233cd]
14923
14924         * sample.sudoers:
14925         Remove fastboot/fasthalt (who still remembers these?) and add a
14926         minimal sudoedit example.
14927         [b1bca73d6250]
14928
14929         * UPGRADE, sudo.c, visudo.c:
14930         filesystem -> file system
14931         [1e1afaf30469]
14932
14933         * TROUBLESHOOTING:
14934         filesystem -> file system
14935         [39fb594e9338]
14936
14937         * CHANGES, INSTALL:
14938         filesystem -> file system
14939         [85948b608ffe]
14940
14941         * sudo.pod, sudoers.pod:
14942         Fix some minor typos and formatting goofs
14943         [e94d243a0b90]
14944
14945         * lex.yy.c:
14946         regen
14947         [2eed0ab1f4c4]
14948
14949         * visudo.pod:
14950         remove my email addr
14951         [b63262c0389b]
14952
14953         * sudo.pod, sudoers.pod, visudo.pod:
14954         Use @mansectform@ and @mansectsu@ everywhere Make man page
14955         references links with L<>
14956         [f459f4b9ddb9]
14957
14958         * parse.lex:
14959         Accept quoted globbing characters and pass them verbatim for
14960         fnmatch()
14961         [8248b86e9380]
14962
14963         * UPGRADE:
14964         Document that /tmp/.odus is gone.
14965         [3667b66af5bb]
14966
14967         * pathnames.h.in:
14968         No longer use /tmp/.odus as a possible timestamp dir unless
14969         specifically configured to do so. Instead, if no /var/run exists,
14970         use /var/adm/sudo or /usr/adm/sudo.
14971         [48d94c9f9ad4]
14972
14973         * configure:
14974         No longer use /tmp/.odus as a possible timestamp dir unless
14975         specifically configured to do so. Instead, if no /var/run exists,
14976         use /var/adm/sudo or /usr/adm/sudo.
14977         [058d7b8cf07b]
14978
14979         * aclocal.m4:
14980         No longer use /tmp/.odus as a possible timestamp dir unless
14981         specifically configured to do so. Instead, if no /var/run exists,
14982         use /var/adm/sudo or /usr/adm/sudo.
14983         [cf52c4c2803f]
14984
14985         * CHANGES:
14986         No longer use /tmp/.odus as a possible timestamp dir unless
14987         specifically configured to do so. Instead, if no /var/run exists,
14988         use /var/adm/sudo or /usr/adm/sudo.
14989         [6058c4cefcec]
14990
14991         * set_perms.c, sudo.c, tgetpass.c, visudo.c:
14992         Preliminary changes to support nsr-tandem-nsk. Based on patches
14993         from Tom Bates.
14994         [2e5f81834383]
14995
14996         * logging.c:
14997         Preliminary changes to support nsr-tandem-nsk. Based on patches
14998         from Tom Bates.
14999         [934bbe6872b6]
15000
15001         * check.c, compat.h:
15002         Preliminary changes to support nsr-tandem-nsk. Based on patches
15003         from Tom Bates.
15004         [390b698b5924]
15005
15006 2004-05-16  Todd C. Miller  <Todd.Miller@courtesan.com>
15007
15008         * CHANGES:
15009         There was no 1.6.7p6.
15010         [8013d2e6b062]
15011
15012         * BUGS, CHANGES:
15013         sync
15014         [c38b41f32857]
15015
15016         * Makefile.in:
15017         add missing files to DISTFILES
15018         [e6a80ad03039]
15019
15020         * sudo.cat, sudoers.cat, visudo.cat:
15021         regen
15022         [027bc9746dd5]
15023
15024         * sudoers.man.in:
15025         regen
15026         [f5e85ef686cf]
15027
15028         * Makefile.in:
15029         Fix some line wrap and update (c) year
15030         [bad1f46aa1ca]
15031
15032 2004-04-28  Aaron Spangler  <aaron777@gmail.com>
15033
15034         * README.LDAP:
15035         Build Note
15036         [7a061248249b]
15037
15038 2004-04-07  Aaron Spangler  <aaron777@gmail.com>
15039
15040         * Makefile.in:
15041         Fix install-dirs
15042         [be0726dd92e7]
15043
15044 2004-04-05  Todd C. Miller  <Todd.Miller@courtesan.com>
15045
15046         * sudo.tab.c:
15047         regen
15048         [3f4f0d1ab8b9]
15049
15050         * visudo.c:
15051         In Exit() when used as a signal handler, emsg is a pointer so
15052         sizeof() is wrong so make it a #define instead. Also avoid using a
15053         negative exit value. Found by Aaron Campbell
15054         [78716a3a3fdc]
15055
15056 2004-03-24  Todd C. Miller  <Todd.Miller@courtesan.com>
15057
15058         * sudoers.pod:
15059         Remove bogus sentence about uids in a User_List. Document usernames
15060         vs. uid parsing in a Runas_List.
15061         [7ca510b5031c]
15062
15063         * parse.c, parse.h, parse.yacc, sudo.c, testsudoers.c, visudo.c:
15064         If the user specified a uid with the -u flag and the uid exists in
15065         the passwd file, set runas_user to the name, not the uid.
15066
15067         When comparing usernames in sudoers, if a name is really a uid
15068         (starts with '#') compare it numerically to pw_uid.
15069         [8d6935d04673]
15070
15071 2004-03-22  Todd C. Miller  <Todd.Miller@courtesan.com>
15072
15073         * auth/kerb5.c:
15074         krb5_mcc_ops should be const; Johnny C. Lam
15075         [aa8c753e426e]
15076
15077 2004-02-28  Aaron Spangler  <aaron777@gmail.com>
15078
15079         * CHANGES, config.h.in, ldap.c:
15080         Added start_tls support
15081         [7ef864c15b69]
15082
15083 2004-02-14  Todd C. Miller  <Todd.Miller@courtesan.com>
15084
15085         * Makefile.in:
15086         Clean up libtool stuff for 'make distclean' and add def_data.c,
15087         def_data.h to PARSESRCS.
15088         [bf9bb6bb06ab]
15089
15090 2004-02-14  Aaron Spangler  <aaron777@gmail.com>
15091
15092         * strlcat.c, strlcpy.c:
15093         Un-Fix last license munge
15094         [42654b77ac71]
15095
15096 2004-02-13  Todd C. Miller  <Todd.Miller@courtesan.com>
15097
15098         * configure:
15099         regen
15100         [e4de6b23a4dc]
15101
15102         * CHANGES, RUNSON, TODO:
15103         checkpoint
15104         [94e1ace84d5c]
15105
15106         * lex.yy.c, sudo.tab.c:
15107         regen
15108         [8ce784505643]
15109
15110         * auth/passwd.c, auth/rfc1938.c, auth/secureware.c, auth/securid.c,
15111         auth/securid5.c, auth/sia.c, auth/sudo_auth.c, auth/sudo_auth.h,
15112         emul/search.h, emul/utime.h:
15113         More to a less restrictive, ISC-style license.
15114         [a31b20e48003]
15115
15116         * auth/kerb5.c, auth/pam.c:
15117         More to a less restrictive, ISC-style license.
15118         [e41f92b41216]
15119
15120         * auth/dce.c, auth/fwtk.c, auth/kerb4.c:
15121         More to a less restrictive, ISC-style license.
15122         [87534c164a52]
15123
15124         * auth/bsdauth.c:
15125         More to a less restrictive, ISC-style license.
15126         [e21be6594b58]
15127
15128         * auth/afs.c, auth/aix_auth.c, zero_bytes.c:
15129         More to a less restrictive, ISC-style license.
15130         [6d234be91c5e]
15131
15132         * sudoers.man.in, sudoers.pod, testsudoers.c, tgetpass.c, visudo.c,
15133         visudo.man.in, visudo.pod:
15134         More to a less restrictive, ISC-style license.
15135         [b02aea324fd6]
15136
15137         * sudo_noexec.c:
15138         More to a less restrictive, ISC-style license.
15139         [a6da7631e0b2]
15140
15141         * strlcat.c, strlcpy.c, sudo.c, sudo.h, sudo.man.in, sudo.pod,
15142         sudo_edit.c:
15143         More to a less restrictive, ISC-style license.
15144         [71cdcc241e94]
15145
15146         * sigaction.c, strerror.c:
15147         More to a less restrictive, ISC-style license.
15148         [4bccdedca58a]
15149
15150         * ldap.c, logging.c, logging.h, parse.c, parse.h, pathnames.h.in,
15151         set_perms.c:
15152         More to a less restrictive, ISC-style license.
15153         [64d772d70ab3]
15154
15155         * getspwuid.c, goodpath.c, ins_2001.h, ins_classic.h, ins_csops.h,
15156         ins_goons.h, insults.h, interfaces.c, interfaces.h:
15157         More to a less restrictive, ISC-style license.
15158         [520381c60a54]
15159
15160         * find_path.c, getprogname.c:
15161         More to a less restrictive, ISC-style license.
15162         [f605d5eab6f1]
15163
15164         * fileops.c:
15165         More to a less restrictive, ISC-style license.
15166         [4129a8b38a67]
15167
15168         * env.c:
15169         More to a less restrictive, ISC-style license.
15170         [d5bd859757de]
15171
15172         * defaults.h:
15173         More to a less restrictive, ISC-style license.
15174         [008f5d5743f5]
15175
15176         * LICENSE, Makefile.in, alloc.c, check.c, closefrom.c, compat.h,
15177         defaults.c:
15178         More to a less restrictive, ISC-style license.
15179         [d8d7bfc8a18b]
15180
15181         * utime.c, version.h:
15182         More to a less restrictive, ISC-style license.
15183         [e2e038ad8209]
15184
15185         * parse.lex, parse.yacc:
15186         More to a less restrictive, ISC-style license.
15187         [2f5942e847a1]
15188
15189         * Makefile.binary:
15190         More to a less restrictive, ISC-style license.
15191         [1ed561734535]
15192
15193 2004-02-13  Aaron Spangler  <aaron777@gmail.com>
15194
15195         * sudoers2ldif:
15196         Merged in LDAP Support
15197         [3994c4d05947]
15198
15199         * ldap.c, sudo.c, sudo.h:
15200         Merged in LDAP Support
15201         [547eaa346fcc]
15202
15203         * def_data.c, def_data.h, def_data.in:
15204         Merged in LDAP Support
15205         [8fb255280e42]
15206
15207         * CHANGES, Makefile.in, README.LDAP, config.h.in, configure.in:
15208         Merged in LDAP Support
15209         [1038092a161e]
15210
15211 2004-02-08  Todd C. Miller  <Todd.Miller@courtesan.com>
15212
15213         * sudo.h, sudo_noexec.c:
15214         Only do "extern int errno" if errno is not a macro.
15215         [b2e02a08be8b]
15216
15217 2004-02-06  Todd C. Miller  <Todd.Miller@courtesan.com>
15218
15219         * set_perms.c:
15220         setreuid(0, 0) fails on QNX if the euid is not already 0 so set the
15221         euid first, then just call setuid(0) to set the real uid too.
15222         [f08546e2e0ee]
15223
15224         * set_perms.c:
15225         Use setresuid() and setreuid() for PERM_RUNAS when appropriate
15226         instead of seteuid() which may not exist.
15227         [ba508581befb]
15228
15229 2004-02-04  Todd C. Miller  <Todd.Miller@courtesan.com>
15230
15231         * LICENSE:
15232         2004
15233         [37425513a342]
15234
15235         * INSTALL, config.h.in, configure, configure.in, ins_classic.h:
15236         Add --with-pc-insults configure option
15237         [7daa5294c17b]
15238
15239         * visudo.man.in:
15240         Prefer VISUAL over EDITOR like old vipw did.
15241         [996252a4ab65]
15242
15243 2004-02-01  Todd C. Miller  <Todd.Miller@courtesan.com>
15244
15245         * sudo.man.in, sudoers.man.in:
15246         regen
15247         [a247f1c52eb9]
15248
15249         * sudoers.pod:
15250         Add a note that noexec is not a cure-all.
15251         [9e7fc535367d]
15252
15253         * sudoers.pod:
15254         Mention that disabling "root_sudo" is pretty pointless.
15255         [f38a415afba0]
15256
15257         * configure, configure.in:
15258         Substitute for root_sudo in sudoers.pod
15259         [ce483cfc86be]
15260
15261         * sudo.pod:
15262         Add sudoedit to the NAME section
15263         [51bc453ec2f6]
15264
15265         * sudoers.pod:
15266         Document that fact that setting ignore_dot in sudoers has no effect
15267         due to the fact that find_path() is called *before* sudoers is read.
15268         [6808df7e417c]
15269
15270 2004-01-30  Todd C. Miller  <Todd.Miller@courtesan.com>
15271
15272         * sudo_edit.c:
15273         Do not require _PATH_USRTMP to be set.
15274         [546f3270dd10]
15275
15276         * BUGS, CHANGES, TODO:
15277         sync
15278         [4205ddeab781]
15279
15280         * sudo.man.in:
15281         regen
15282         [e2143690a88a]
15283
15284         * sudo.pod:
15285         Clarify that when sudo is run by root with the SUDO_USER variable
15286         set, the sudoers lookup happens for root and not the SUDO_USER user.
15287         [47207bec1bdf]
15288
15289 2004-01-29  Todd C. Miller  <Todd.Miller@courtesan.com>
15290
15291         * auth/pam.c, auth/sudo_auth.c, interfaces.c, logging.c, parse.c,
15292         set_perms.c, sigaction.c, sudo.c, tgetpass.c:
15293         Use the SET, CLR and ISSET macros.
15294         [a8b0d7f1e8fd]
15295
15296         * fnmatch.c:
15297         Use the SET, CLR and ISSET macros.
15298         [1afbcba22ba6]
15299
15300         * defaults.c, env.c:
15301         Use the SET, CLR and ISSET macros.
15302         [2f39431e0a49]
15303
15304         * interfaces.h:
15305         MAIN was replaced with _SUDO_MAIN some time ago.
15306         [ea1b38f2ac9d]
15307
15308         * sudo.c:
15309         Don't look at prev_user until after we've parsed sudoers and done
15310         the password check. That way, if sudo/sudoedit is run from a root
15311         process that was invoked by sudo, we check sudoers for root, not the
15312         previous user. This makes sudoedit much more useful and means that
15313         for the sudo case, we get correct logging on who actually ran the
15314         command.
15315         [431dfbf20552]
15316
15317 2004-01-23  Todd C. Miller  <Todd.Miller@courtesan.com>
15318
15319         * sudo_edit.c:
15320         Add a comment describing why we need to be notified about our child
15321         stopping.
15322         [0bec3ce4b49d]
15323
15324 2004-01-22  Todd C. Miller  <Todd.Miller@courtesan.com>
15325
15326         * def_data.c, def_data.in:
15327         Update the noexec variable descriptions
15328         [9cb7f1aa0e57]
15329
15330         * sudoers.man.in, sudoers.pod:
15331         noexec now replaces more than just execve()
15332         [23cbdc0ee95c]
15333
15334         * sudo_noexec.c:
15335         Alas, all the world does not go through execve(2). Many systems
15336         still have an execv(2) system call, Linux 2.6 provides fexecve(2)
15337         and it is not uncommon for libc to have underscore ('_') versions of
15338         the functions to be used internally by the library. Instead of
15339         stubbing all these out by hand, define a macro and let it do the
15340         work. Extra exec functions pointed out by Reznic Valery.
15341         [9fa0cd871b0c]
15342
15343         * sudo.c, sudo_edit.c:
15344         Fix suspending the editor in -e mode. Because we do a fork() first
15345         we need to be notified when the child has been stopped and then send
15346         that same signal to ourself so the shell can do its job control
15347         thing.
15348         [773165eb6057]
15349
15350         * visudo.c:
15351         Use WIFEXITED and WEXITSTATUS macros. If there are systems out
15352         there that want to run sudo that still don't support these we can
15353         try to deal with that later.
15354         [6af68e4aff60]
15355
15356         * lex.yy.c:
15357         regen
15358         [403435317d5d]
15359
15360         * sudo.man.in, sudo.pod, sudoers.man.in, sudoers.pod:
15361         Document sudo -e / sudoedit
15362         [a80f6ea910af]
15363
15364         * configure, configure.in:
15365         fix typo
15366         [5020fcdc27f4]
15367
15368         * config.h.in, configure.in:
15369         Add SET/CLR/ISSET
15370         [03ff57286e7e]
15371
15372 2004-01-21  Todd C. Miller  <Todd.Miller@courtesan.com>
15373
15374         * sudo.c:
15375         Allow non-exclusive flags when invoked as sudoedit. Pretty print the
15376         long usage() line to not wrap (assumes 80 char display)
15377         [3941fa4004bb]
15378
15379         * Makefile.in, sudo.c:
15380         If sudo is invoked as "sudoedit" the -e flag is implied and no other
15381         flags are permitted.
15382         [929670b01293]
15383
15384         * sudo.h:
15385         Add a new flag, -e, that makes it possible to give users the ability
15386         to edit files with the editor of their choice as the invoking user,
15387         not the runas user. Temporary files are used for the actual edit
15388         and the temp file is copied over the original after the editor is
15389         done.
15390         [c4051414c1f4]
15391
15392         * Makefile.in, parse.c, parse.lex, sudo.c, sudo_edit.c:
15393         Add a new flag, -e, that makes it possible to give users the ability
15394         to edit files with the editor of their choice as the invoking user,
15395         not the runas user. Temporary files are used for the actual edit
15396         and the temp file is copied over the original after the editor is
15397         done.
15398         [37ac05c8ac3c]
15399
15400         * env.c, sudo.c:
15401         If real uid == 0 and the SUDO_USER environment variables is set, use
15402         that to determine the invoking user's true identity. That way the
15403         proper info gets logged by someone who has done "sudo su" but still
15404         uses sudo to as root. We can't do this for non-root users since
15405         that would open up a security hole, though perhaps it would be
15406         acceptable to use getlogin(2) on OSes where this a system call (and
15407         doesn't just look in the utmp file).
15408         [c2f9198708a1]
15409
15410         * pathnames.h.in:
15411         Add _PATH_TMP, _PATH_VARTMP and _PATH_USRTMP
15412         [7d9e5768df93]
15413
15414         * config.h.in, configure, configure.in:
15415         Add check for fchown(2)
15416         [a85df18798ed]
15417
15418 2004-01-20  Todd C. Miller  <Todd.Miller@courtesan.com>
15419
15420         * sudo.c:
15421         Back out portions of the -i commit that set NewArgv[0] in
15422         set_runaspw. It is far to late to set NewArgv[0] there and will have
15423         no effect anyway as cmnd and safe_cmnd have already been set.
15424         [c2d343430c1c]
15425
15426         * visudo.c, visudo.pod:
15427         Prefer VISUAL over EDITOR like old vipw did.
15428         [ae32f477cea3]
15429
15430 2004-01-19  Todd C. Miller  <Todd.Miller@courtesan.com>
15431
15432         * env.c, sudo.c:
15433         In -i mode always set new environment based on the runas user's
15434         passwd entry.
15435         [fa653b7887a8]
15436
15437 2004-01-18  Todd C. Miller  <Todd.Miller@courtesan.com>
15438
15439         * sudo.man.in, sudo.pod:
15440         Document the new -i flag and sync SYNOPSIS section with usage() in
15441         sudo.c. Also sort the flags in the OPTIONS section.
15442         [6aabc0ffc47e]
15443
15444         * sudo.c, sudo.h:
15445         o Add -i that acts similar to "su -", based on patches from David J.
15446         MacKenzie o Sort the flags in the usage message
15447         [c0fe7d6beffd]
15448
15449         * sudoers.man.in, sudoers.pod:
15450         Add a missing @runas_default@ substitution.
15451         [60516fe2d090]
15452
15453 2004-01-17  Todd C. Miller  <Todd.Miller@courtesan.com>
15454
15455         * sudo.c:
15456         Change euid to runas user before calling find_path().
15457         Unfortunately, though runas_user can be modified in sudoers we
15458         haven't parsed sudoers yet.
15459         [f469fdf2e313]
15460
15461         * sudoers.man.in, sudoers.pod:
15462         Add missing defintion of Parameter_List and use single pipes in the
15463         Defaults EBNF definition.
15464         [f7bed6e909bf]
15465
15466         * sudo.c:
15467         Fix a bug when set_runaspw() is used as a callback. We don't want
15468         to reset the contents of runas_pw if the user specified a user via
15469         the -u flag.
15470
15471         Avoid unnecessary passwd lookups in set_authpw(). In most cases we
15472         already have the info in runas_pw.
15473         [efc35623ba09]
15474
15475 2004-01-16  Todd C. Miller  <Todd.Miller@courtesan.com>
15476
15477         * check.c:
15478         Add Stan Lee / Uncle Ben quote to the lecture from RedHat
15479         [ebd5a76ccd7e]
15480
15481         * sudo.h:
15482         Update sudo_getepw() proto and add one for set_runaspw()
15483         [6ed65795c17f]
15484
15485         * parse.c:
15486         If we can't stat the command as root, try as the runas user instead.
15487         [ae713fca0e15]
15488
15489         * testsudoers.c, visudo.c:
15490         Add stub set_runaspw() function
15491         [42aa37050053]
15492
15493         * sudo.c:
15494         Add set_runaspw() function to fill in runas_pw. This will be used
15495         as a callback to update runas_pw when the runas user changes.
15496         [e570aa0088d0]
15497
15498         * env.c, sudo.c:
15499         PERM_RUNAS -> PERM_FULL_RUNAS
15500         [51eec6f9e89a]
15501
15502         * set_perms.c, sudo.h:
15503         Rename PERM_RUNAS -> PERM_FULL_RUNAS and add a PERM_RUNAS that just
15504         changes the euid.
15505         [877c6fe4d12c]
15506
15507         * getspwuid.c:
15508         Make sudo_pwdup() act like OpenBSD pw_dup() and allocate memory in
15509         one chunk for easy free()ing. Also change it from static to extern.
15510         [ab503260a7ec]
15511
15512         * defaults.c, defaults.h:
15513         Add callback support
15514         [a61c4ca983fb]
15515
15516         * mkdefaults:
15517         Add a callback field and use it for runas_default
15518         [96b69c27df5e]
15519
15520         * def_data.c, def_data.in:
15521         Add a callback field and use it for runas_default
15522         [d3e9f06872b8]
15523
15524 2004-01-15  Todd C. Miller  <Todd.Miller@courtesan.com>
15525
15526         * auth/fwtk.c:
15527         Add support for chalnecho and display server responses used by fwtk
15528         >= 2.0
15529         [b1870f7aaf0d]
15530
15531 2004-01-12  Todd C. Miller  <Todd.Miller@courtesan.com>
15532
15533         * sudoers.man.in, sudoers.pod:
15534         ld.so is ld.so.1 on solaris
15535         [2bf9a123fa4c]
15536
15537         * Makefile.in, config.h.in, configure, configure.in, sudo.c, sudo.h:
15538         Use closefrom() instead of doing the equivalent inline.
15539         [7e3ef6072884]
15540
15541         * closefrom.c:
15542         closefrom(3) for systems w/o it
15543         [35caf58bb636]
15544
15545 2004-01-09  Todd C. Miller  <Todd.Miller@courtesan.com>
15546
15547         * sudoers.man.in:
15548         Update from .pod file.
15549         [d4c94fc0e0c9]
15550
15551         * configure, configure.in:
15552         Substitute noexec_file for the sudoers man page
15553         [203d3376a551]
15554
15555         * sudo.man.in, sudo.pod:
15556         Mention noexec
15557         [014375ddbb06]
15558
15559         * sudoers.man.in, sudoers.pod:
15560         Document noexec
15561         [49a65d06201f]
15562
15563         * auth/pam.c, config.h.in, configure.in:
15564         Move PAM_CONST macro definition from config.h to pam.c where it
15565         belongs. We can't have this in config.h since that gets included too
15566         early.
15567         [e64748071637]
15568
15569         * auth/pam.c, config.h.in, configure, configure.in:
15570         Some PAM implementations put their headers in /usr/include/pam
15571         instead of /usr/include/security.
15572         [8cc749e9575c]
15573
15574         * configure.in:
15575         I missed changing the EXEC macro -> EXECV here when I changed this
15576         in config.h.in and sudo.c a while ago.
15577         [6f5afac7789f]
15578
15579         * acsite.m4:
15580         OpenBSD vax/m88k/hppa don't do shared libs
15581         [e4901d958bb7]
15582
15583         * configure, configure.in:
15584         o merge the hpux case entries into a single entry w/ its own sub-
15585         case statement. o HP-UX >= 11 support getspnam(), use it in
15586         preference to getprpwuid()
15587         [0caad428894e]
15588
15589         * configure, configure.in:
15590         eval $shrext so that it expands nicely on MacOS X
15591         [40419343eef8]
15592
15593         * Makefile.in:
15594         Don't lie about making a module, it does the wrong thing on mach
15595         [7629b28f5688]
15596
15597         * ltmain.sh:
15598         Remove requirement that libs must begin with "lib". They don't when
15599         we point directly at the lib using LD_PRELOAD or its equivalent.
15600         [d66f3de6ec85]
15601
15602         * acsite.m4:
15603         Disable support for c++, f77 and java. We don't need it, it takes a
15604         lot of time, and it hosed our check for shared lib support.
15605         [4f5749c52ce4]
15606
15607         * configure:
15608         regen
15609         [160865e9d15f]
15610
15611         * configure.in:
15612         Call AC_ENABLE_SHARED and check the status of enable_shared to know
15613         when shared libs are available.
15614         [42504c1668fc]
15615
15616         * acsite.m4:
15617         Duh, OpenBSD suports shared libs too
15618         [8e3cd9417475]
15619
15620         * config.h.in, configure.in:
15621         Only OpenPAM and Linux PAM use const qualifiers.
15622         [b2f76476e866]
15623
15624         * configure, configure.in:
15625         o No need to check for sed, libtool config does that for us o move
15626         check for --with-noexec until after libtool magic is run so we can
15627         use $can_build_shared and $shrext
15628         [668c656e89cc]
15629
15630         * ltmain.sh:
15631         Don't print a bunch of crap about library installs since we are not
15632         really installing a library.
15633         [83fbcad29fe4]
15634
15635         * env.c:
15636         Make format_env() varargs Add noexec support for Darwin, MacOS X,
15637         Irix, and Tru64
15638         [468885d75d10]
15639
15640         * acsite.m4, ltconfig, ltmain.sh:
15641         Update to libtool 1.5 with local changes: o no ldconfig in the
15642         finish step o assume no libprefix or version is needed
15643         [4961cffc3797]
15644
15645         * sudo_noexec.c:
15646         Fix compilation under K&R
15647         [8b309bf0b1b2]
15648
15649 2004-01-06  Todd C. Miller  <Todd.Miller@courtesan.com>
15650
15651         * CHANGES:
15652         checkpoint
15653         [3c368badab32]
15654
15655         * sudo_noexec.c:
15656         stub execve() that just returns EACCES; used for noexec
15657         functionality
15658         [1297acae283a]
15659
15660         * sudo.tab.h:
15661         Regen w/ updated byacc from OpenBSD; fixes a gcc 3.2 issue with
15662         generated code.
15663         [dcab78c49273]
15664
15665         * sudo.tab.c:
15666         Regen w/ updated byacc from OpenBSD; fixes a gcc 3.2 issue with
15667         generated code.
15668         [0a61c735eabe]
15669
15670 2004-01-05  Todd C. Miller  <Todd.Miller@courtesan.com>
15671
15672         * def_data.c, def_data.h, def_data.in:
15673         Move the environment defaults to the end and shorten a few of the
15674         descriptions.
15675         [66787b9c612c]
15676
15677         * configure, configure.in:
15678         no shared libs on ultris or convexos
15679         [2c5f3c456e32]
15680
15681         * Makefile.in, configure, configure.in:
15682         Build sudo_noexec shared object using libtool; could use some
15683         cleanup.
15684         [373f483555dd]
15685
15686         * acsite.m4, ltconfig, ltmain.sh:
15687         libtool scaffolding
15688         [c903a42e3d90]
15689
15690         * parse.yacc, sudo.tab.c:
15691         Merge the NOPASSWD/PASSWD and NOEXEC/EXEC rules so that order is not
15692         important.
15693         [c6e8a34639a4]
15694
15695         * defaults.c, env.c, lex.yy.c, parse.c, parse.h, parse.lex,
15696         parse.yacc, pathnames.h.in, sudo.c, sudo.h, sudo.tab.c:
15697         update copyright year
15698         [a16372ae1711]
15699
15700         * configure, configure.in, defaults.c, env.c, pathnames.h.in:
15701         Add _PATH_SUDO_NOEXEC and corresponding --with-noexec configure
15702         option. The default value of noexec_file is set to this.
15703         [7d88e1d3c494]
15704
15705         * def_data.c, def_data.h, def_data.in, env.c, lex.yy.c, parse.c,
15706         parse.h, parse.lex, parse.yacc, sudo.c, sudo.h, sudo.tab.c,
15707         sudo.tab.h:
15708         Add support for preloading a shared object containing a dummy
15709         execve() function that just sets error and returns -1. This adds a
15710         "noexec_file" option to load the filename as well as a "noexec" flag
15711         to enable it unconditionally. There is also a NOEXEC tag that can
15712         be attached to specific commands and an EXEC tag to disable it.
15713         [c8b6712feb91]
15714
15715         * mkdefaults:
15716         add missing newline to usage statement
15717         [e84746618362]
15718
15719         * config.h.in, sudo.c:
15720         Rename EXEC macro -> EXECV
15721         [ddaa0c027299]
15722
15723         * logging.c:
15724         Don't truncate usernames to 8 characters in the log message.
15725         [f62a20f27075]
15726
15727         * check.c, sudoers.man.in, sudoers.pod:
15728         Update copyright year
15729         [ca9964054085]
15730
15731         * check.c, def_data.c, def_data.h, def_data.in, sudoers.man.in,
15732         sudoers.pod:
15733         Add a new option, lecture_file, that can be used to point to a
15734         custom sudo lecture.
15735         [940133231216]
15736
15737 2003-12-31  Todd C. Miller  <Todd.Miller@courtesan.com>
15738
15739         * auth/aix_auth.c, auth/bsdauth.c, auth/fwtk.c, auth/pam.c,
15740         auth/sudo_auth.c:
15741         Add a zero_bytes() function to do the equivalent of bzero in such a
15742         way that will heopfully not be optimized away by sneaky compilers.
15743         [161b6d74bfb4]
15744
15745         * zero_bytes.c:
15746         Add a zero_bytes() function to do the equivalent of bzero in such a
15747         way that will heopfully not be optimized away by sneaky compilers.
15748         [d035abf0af94]
15749
15750         * Makefile.in, sudo.h:
15751         Add a zero_bytes() function to do the equivalent of bzero in such a
15752         way that will heopfully not be optimized away by sneaky compilers.
15753         [ff136de3e255]
15754
15755         * err.c:
15756         Use #ifdef __STDC__, not #if __STDC__.
15757         [6889dd6bc51a]
15758
15759 2003-12-30  Todd C. Miller  <Todd.Miller@courtesan.com>
15760
15761         * mkdefaults:
15762         Always put at least one space between the def_* macro name and its
15763         definition.
15764         [6b3ad0e6619a]
15765
15766         * configure, configure.in:
15767         Adjust code for --without-lecture to match new values.
15768         [062aa788a6b9]
15769
15770         * visudo.man.in:
15771         regen after pasto fix
15772         [3deec16906c0]
15773
15774         * sudoers.man.in, sudoers.pod:
15775         Document that "lecture" has changed from a flag to a tuple.
15776         [e2c03062b533]
15777
15778         * check.c, def_data.c, def_data.h, def_data.in, defaults.c,
15779         defaults.h, logging.c, mkdefaults, parse.c, sudo.c, sudo.h:
15780         Add support for tuples in def_data.in; these are implemented as an
15781         enum type. Currently there is only a single tuple enum but in the
15782         future we may have one tuple enum per T_TUPLE entry in def_data.in.
15783         Currently listpw, verifypw and lecture are tuples. This avoids the
15784         need to have two entries (one ival, one str) for pwflags and syslog
15785         values.
15786
15787         lecture is now a tuple with the following values: never, once,
15788         always
15789
15790         We no longer use both an int and string entry for syslog facilities
15791         and priorities. Instead, there are logfac2str() and logpri2str()
15792         functions that get used when we need to print the string values.
15793         [5293f946c836]
15794
15795         * auth/aix_auth.c, auth/bsdauth.c, auth/fwtk.c, auth/pam.c,
15796         auth/rfc1938.c, auth/securid5.c, auth/sia.c, auth/sudo_auth.c,
15797         check.c, def_data.h, defaults.c, defaults.h, env.c, find_path.c,
15798         logging.c, mkdefaults, parse.c, parse.yacc, set_perms.c, sudo.c,
15799         sudo.tab.c, visudo.c:
15800         Create def_* macros for each defaults value so we no longer need the
15801         def_{flag,ival,str,list,mode} macros (which have been removed). This
15802         is a step toward more flexible data types in def_data.in.
15803         [009c02934106]
15804
15805         * TODO:
15806         checkpoint
15807         [0a99a4bb5d15]
15808
15809 2003-12-23  Todd C. Miller  <Todd.Miller@courtesan.com>
15810
15811         * sudo.c:
15812         If we are in -k/-K mode, just spew to stderr. It is not unusual for
15813         users to place "sudo -k" in a .logout file which can cause sudo to
15814         be run during reboot after the YP/NIS/NIS+/LDAP/etc daemon has died.
15815         Previously, this would result in useless mail and logging.
15816         [d282e7ed63af]
15817
15818 2003-12-16  Todd C. Miller  <Todd.Miller@courtesan.com>
15819
15820         * visudo.pod:
15821         fix pasto in VISUAL description
15822         [1c6a6148b5f9]
15823
15824 2003-12-10  Todd C. Miller  <Todd.Miller@courtesan.com>
15825
15826         * configure:
15827         regen
15828         [f44312c63799]
15829
15830         * CHANGES:
15831         checkpoint
15832         [0c42e38f78d5]
15833
15834         * TROUBLESHOOTING:
15835         Some OSes (like Solaris) allow export w/ nosuid too
15836         [973ce85ffa12]
15837
15838 2003-08-12  Todd C. Miller  <Todd.Miller@courtesan.com>
15839
15840         * compat.h:
15841         We don't use FD_ZERO anymore so just define FD_SET (if not already
15842         there).
15843         [d1c8c11905cd]
15844
15845 2003-06-29  Todd C. Miller  <Todd.Miller@courtesan.com>
15846
15847         * auth/pam.c:
15848         Fix a core dump on Solaris by preserving the pam_handle_t we used
15849         during authentication for pam_prep_user(). If we didn't
15850         authenticate (ie: ticket still valid), we call pam_init() from
15851         pam_prep_user(). This is something of a hack; it may be better to
15852         change the auth API and add an auth_final() function that acts like
15853         pam_prep_user().
15854         [f787de49b175]
15855
15856 2003-06-21  Todd C. Miller  <Todd.Miller@courtesan.com>
15857
15858         * set_perms.c:
15859         Add explicit declaration of printerr variable in function header
15860         (was defaulting to int which is OK but oh so K&R :-). From Theo.
15861         [492c2358783f]
15862
15863 2003-06-09  Todd C. Miller  <Todd.Miller@courtesan.com>
15864
15865         * config.h.in, configure.in:
15866         s/HAVE_STOW/USE_STOW/
15867         [4b99e1824ece]
15868
15869         * logging.c:
15870         Also exit waitpid() loop when pid == 0. Fixes a problem where the
15871         sudo process would spin eating up CPU until sendmail finished when
15872         it has to send mail.
15873         [ec3d5792b9b4]
15874
15875 2003-05-30  Todd C. Miller  <Todd.Miller@courtesan.com>
15876
15877         * fnmatch.c:
15878         Remove advertising clause, UCB has disavowed it
15879         [43a26bbd6628]
15880
15881         * fnmatch.3:
15882         Remove advertising clause, UCB has disavowed it
15883         [3ff24291bcfa]
15884
15885 2003-05-22  Todd C. Miller  <Todd.Miller@courtesan.com>
15886
15887         * parse.c:
15888         Don't assume that getgrnam() calls don't modify contents of struct
15889         passwd returned by getpwnam(). On FreeBSD w/ NIS this can happen.
15890         Based on a patch from Kirk Webb.
15891         [5574c68f60f3]
15892
15893 2003-05-06  Todd C. Miller  <Todd.Miller@courtesan.com>
15894
15895         * configure.in:
15896         missing ;;
15897         [22378f2a9d31]
15898
15899         * configure.in:
15900         darwin has a broken setreuid() in at least some versions
15901         [d572aed930d2]
15902
15903         * env.c:
15904         Fix an off by one error when reallocating the environment; Kevin Pye
15905         [3d98e7cf097a]
15906
15907 2003-04-30  Todd C. Miller  <Todd.Miller@courtesan.com>
15908
15909         * sudoers.pod:
15910         Fix User_Spec definition; SEKINE Tatsuo
15911         [49b0da65e090]
15912
15913 2003-04-28  Todd C. Miller  <Todd.Miller@courtesan.com>
15914
15915         * HISTORY:
15916         More info on the early days from Coggs.
15917         [9381ca10b06b]
15918
15919 2003-04-21  Todd C. Miller  <Todd.Miller@courtesan.com>
15920
15921         * auth/kerb5.c:
15922         remove errant semicolon that prevented compilation under heimdal
15923         [d2f2bb73a598]
15924
15925 2003-04-16  Todd C. Miller  <Todd.Miller@courtesan.com>
15926
15927         * testsudoers.c, tgetpass.c, visudo.c, visudo.man.in, visudo.pod:
15928         add DARPA credit on affected files
15929         [7020785ee50d]
15930
15931         * sudoers.pod:
15932         add DARPA credit on affected files
15933         [83b46318750b]
15934
15935         * sigaction.c, strerror.c, sudo.c, sudo.h, sudo.man.in, sudo.pod,
15936         sudoers.man.in:
15937         add DARPA credit on affected files
15938         [d8adf1c2ba22]
15939
15940         * set_perms.c:
15941         add DARPA credit on affected files
15942         [3d79fdabb582]
15943
15944         * pathnames.h.in:
15945         add DARPA credit on affected files
15946         [e334cdda422f]
15947
15948         * logging.c, parse.c:
15949         add DARPA credit on affected files
15950         [8f75f822755b]
15951
15952         * auth/passwd.c, auth/rfc1938.c, auth/secureware.c, auth/securid.c,
15953         auth/securid5.c, auth/sia.c, auth/sudo_auth.c, fileops.c,
15954         find_path.c, getprogname.c, getspwuid.c, goodpath.c, interfaces.c,
15955         interfaces.h:
15956         add DARPA credit on affected files
15957         [da66e28fb3f5]
15958
15959         * auth/kerb5.c, auth/pam.c:
15960         add DARPA credit on affected files
15961         [15da3021b49c]
15962
15963         * auth/afs.c, auth/aix_auth.c, auth/bsdauth.c, auth/dce.c,
15964         auth/fwtk.c, auth/kerb4.c, parse.lex, parse.yacc, utime.c,
15965         version.h:
15966         add DARPA credit on affected files
15967         [868d54cbddea]
15968
15969         * env.c:
15970         add DARPA credit on affected files
15971         [90239f51ef0a]
15972
15973         * defaults.c, defaults.h:
15974         add DARPA credit on affected files
15975         [6a64205fd1eb]
15976
15977         * compat.h:
15978         add DARPA credit on affected files
15979         [316a735783c4]
15980
15981         * Makefile.in, alloc.c, check.c:
15982         add DARPA credit on affected files
15983         [cd939e05c810]
15984
15985         * LICENSE:
15986         slightly different wording for the darpa credit
15987         [e468909c4a21]
15988
15989 2003-04-15  Todd C. Miller  <Todd.Miller@courtesan.com>
15990
15991         * LICENSE:
15992         Add DARPA credit
15993         [8eb20e2cd63e]
15994
15995 2003-04-14  Todd C. Miller  <Todd.Miller@courtesan.com>
15996
15997         * auth/kerb5.c:
15998         Use krb5_princ_component() instead of krb5_princ_realm() for MIT
15999         Kerberos like we did before I messed things up ;-)
16000
16001         Use krb5_principal_get_comp_string() to do the same thing w/
16002         Heimdal. I'm not sure if the component should be 0 or 1 in this
16003         case.
16004
16005         #define ENCTYPE_DES_CBC_MD5 ETYPE_DES_CBC_MD5 for Heimdal since
16006         older versions lack ENCTYPE_DES_CBC_MD5. This is gross and there
16007         should be a configure check for this I guess.
16008         [74919a3933fe]
16009
16010 2003-04-13  Todd C. Miller  <Todd.Miller@courtesan.com>
16011
16012         * sample.sudoers:
16013         builtin -> built-in; Jason McIntyre
16014         [027f2187923e]
16015
16016         * TROUBLESHOOTING, config.h.in, configure, configure.in:
16017         builtin -> built-in; Jason McIntyre
16018         [70b81ac48943]
16019
16020         * sudoers.pod:
16021         built in -> built-in; Jason McIntyre
16022         [da658ef5138d]
16023
16024 2003-04-09  Todd C. Miller  <Todd.Miller@courtesan.com>
16025
16026         * CHANGES:
16027         checkpoint for 1.6.7p3
16028         [da85f989fadf]
16029
16030         * HISTORY:
16031         Update info on the early years @ SUNY-Buffalo from Cliff Spencer.
16032         Amazingly, sudo source from 1985 is available via groups.google.com
16033         [39e0fc85b89f]
16034
16035         * sudo.c:
16036         Don't change rl.rlim_max for RLIMIT_CORE. We need only set
16037         rl.rlim_cur to 0 to turn off core dumps. This may be needed for the
16038         RLIMIT_CORE restoration on some OSes.
16039         [7e2c1a7adfd8]
16040
16041 2003-04-04  Todd C. Miller  <Todd.Miller@courtesan.com>
16042
16043         * auth/kerb5.c:
16044         Make this compile on Heimdal and MIT Kerberos 5
16045         [44c07d615868]
16046
16047         * config.h.in, configure, configure.in:
16048         Check for heimdal even if we found krb5-config and define
16049         HAVE_HEIMDAL.
16050         [aba0126f0059]
16051
16052         * auth/kerb5.c:
16053         Replace ETYPE_DES_CBC_MD5 with ENCTYPE_DES_CBC_MD5. The former is
16054         no longer defined by MIT kerb5 (though it used to be and indeed
16055         remains so in Heimdal).
16056         [e5a6c64d7cd5]
16057
16058 2003-04-03  Todd C. Miller  <Todd.Miller@courtesan.com>
16059
16060         * mkinstalldirs:
16061         Remove newer stuff that passes multiple (possibly duplicate)
16062         directories to "mkdir -p" since that seems to break on Tru64 Unix at
16063         least. This basically brings back what shipped with sudo 1.6.6.
16064         [f2a1abd872b3]
16065
16066 2003-04-02  Todd C. Miller  <Todd.Miller@courtesan.com>
16067
16068         * auth/kerb5.c:
16069         Correct number of args to krb5_principal_get_realm() and fix an
16070         unclosed comment that hid the bug.
16071         [0b37f8ce7824]
16072
16073         * configure:
16074         regen
16075         [1876cb840fe0]
16076
16077         * configure.in:
16078         ++version
16079         [480aff7c048e]
16080
16081         * README:
16082         ++version
16083         [488e0bbff613]
16084
16085         * Makefile.in:
16086         ++version
16087         [97ef63cedc38]
16088
16089         * INSTALL.binary:
16090         ++version
16091         [a506204e77d0]
16092
16093         * INSTALL:
16094         ++version
16095         [555aeba5c2bf]
16096
16097         * CHANGES, version.h:
16098         ++version
16099         [f66985a64063]
16100
16101         * BUGS:
16102         ++version
16103         [ea3573432412]
16104
16105         * configure.in:
16106         use krb5-config to determine Kerberos V details if it exists
16107         [7b46bbdaf774]
16108
16109         * alloc.c, auth/fwtk.c, auth/rfc1938.c, auth/securid.c,
16110         auth/securid5.c, auth/sia.c, check.c, compat.h, defaults.c, env.c,
16111         find_path.c, interfaces.c, logging.c, parse.c, sudo.c, sudo.h,
16112         testsudoers.c, visudo.c:
16113         Use warn/err and getprogname() throughout. The main exception is
16114         openlog(). Since the admin may be filtering logs based on the
16115         program name in the log files, hard code this to "sudo".
16116         [9f180d015cfa]
16117
16118         * Makefile.in:
16119         Add getprogname.c and err.c
16120         [d411c54a07dc]
16121
16122         * configure:
16123         regen
16124         [6d585d391acc]
16125
16126         * config.h.in, configure.in:
16127         Add checks for getprognam(), __progname and err.h
16128         [bcbccf61d34a]
16129
16130         * emul/err.h:
16131         For systems withour err/warn functions.
16132         [1b33118884d9]
16133
16134         * err.c:
16135         For systems withour err/warn functions.
16136         [26721f6b041f]
16137
16138         * getprogname.c:
16139         For systems neither getprogname() nor __progname; uses Argv[0].
16140         [841cf42af1eb]
16141
16142 2003-04-01  Todd C. Miller  <Todd.Miller@courtesan.com>
16143
16144         * CHANGES:
16145         checkpoint for 1.6.7p1
16146         [5bfdaf441dce]
16147
16148         * sudo.c, testsudoers.c:
16149         fix strlcpy() rval check (innocuous)
16150         [e05ac7e0d1f3]
16151
16152         * check.c:
16153         oflow detection in expand_prompt() was faulty (false positives). The
16154         count was based on strlcat() return value which includes the length
16155         of the entire string.
16156         [086c5a0acb25]
16157
16158 2003-03-31  Todd C. Miller  <Todd.Miller@courtesan.com>
16159
16160         * RUNSON, TODO:
16161         checkpoint for the sudo 1.6.7 release
16162         [096bab4da29a] [SUDO_1_6_7]
16163
16164         * CHANGES:
16165         checkpoint for the sudo 1.6.7 release
16166         [87322187ed78]
16167
16168 2003-03-24  Todd C. Miller  <Todd.Miller@courtesan.com>
16169
16170         * logging.c:
16171         g/c unused variable
16172         [c57cd4a17765]
16173
16174         * configure:
16175         regen
16176         [e7c1f581dfac]
16177
16178         * configure.in:
16179         use man sections 8 and 5 for csops
16180         [87de581bda88]
16181
16182 2003-03-21  Todd C. Miller  <Todd.Miller@courtesan.com>
16183
16184         * configure:
16185         regen
16186         [cb1433a9c7a1]
16187
16188         * configure.in:
16189         Add -lskey or -lopie directly to SUDO_LIBS instead of having
16190         AC_CHECK_LIB() add them to LIBS. Fixes visudo linkage.
16191         [ac5667978939]
16192
16193         * configure:
16194         regen
16195         [638459118a2a]
16196
16197         * configure.in:
16198         Add --with-blibpath for AIX. An alternate libpath may be specified
16199         or
16200         -blibpath support can be disabled. Also change conifgure such that
16201         -blibpath is not specified if no -L libpaths were added to
16202         SUDO_LDFLAGS.
16203         [c7d17b480cad]
16204
16205         * aclocal.m4:
16206         Add --with-blibpath for AIX. An alternate libpath may be specified
16207         or
16208         -blibpath support can be disabled. Also change conifgure such that
16209         -blibpath is not specified if no -L libpaths were added to
16210         SUDO_LDFLAGS.
16211         [37022e991575]
16212
16213         * INSTALL:
16214         Add --with-blibpath for AIX. An alternate libpath may be specified
16215         or
16216         -blibpath support can be disabled. Also change conifgure such that
16217         -blibpath is not specified if no -L libpaths were added to
16218         SUDO_LDFLAGS.
16219         [4b4bbe5bbe1b]
16220
16221         * configure.in:
16222         add AIX blibpath support
16223         [16ba788bf086]
16224
16225         * INSTALL, configure.in:
16226         --with-skey and --with-opie now take an option directory argument
16227         This obsoletes a --with-csops hack (/tools/cs/skey)
16228
16229         Also remove the remaining direct uses of "echo"
16230         [5b4986a90c03]
16231
16232 2003-03-20  Todd C. Miller  <Todd.Miller@courtesan.com>
16233
16234         * configure.in:
16235         Detect KTH Kerberos IV and deal with it. Also make -lroken optional
16236         for KTH Kerberos IV and V.
16237         [119f97b48e18]
16238
16239         * aclocal.m4:
16240         Add SUDO_APPEND_LIBPATH function that add -L/path/to/dir (and
16241         -R/path/to/dir if $with_rpath) to the specified variable.
16242         [e55e49d076ce]
16243
16244         * INSTALL, configure.in:
16245         Add -R/path/to/libs for Solaris and SVR4. There is a new configure
16246         option, --with-rpath to control this behavior.
16247         [d4730c5399ab]
16248
16249         * configure.in:
16250         for kerb4 put libdes after libkrb on the link line
16251         [5c566100eab6]
16252
16253         * auth/kerb4.c:
16254         typo
16255         [6541b72b64a3]
16256
16257         * configure.in:
16258         fix kerberos lib check when a path is specified
16259         [ae833a914c6f]
16260
16261         * logging.c:
16262         Fix boolean thinko in SIGCHLD reaper and call reapchild after
16263         sending mail instead of doing a conditional sudo_waitpid.
16264         [86fa9a35df5a]
16265
16266 2003-03-19  Todd C. Miller  <Todd.Miller@courtesan.com>
16267
16268         * configure:
16269         regen
16270         [e6275cf528ba]
16271
16272         * configure.in:
16273         replace =DIR with [=DIR] where sensible
16274         [c39a59173b38]
16275
16276         * configure.in:
16277         o Use AC_MSG_* instead of "echo" o New Kerberos include/lib
16278         detection based on openssh's configure.in
16279         [5b7a340912df]
16280
16281         * INSTALL:
16282         --with-kerb4 and --with-kerb5 now take an optional argument.
16283         [71ed87fc9c64]
16284
16285 2003-03-16  Todd C. Miller  <Todd.Miller@courtesan.com>
16286
16287         * auth/securid.c:
16288         Kill remaining strcpy(), the programmer's guide says username is 32
16289         bytes.
16290         [bdba70fcd08d]
16291
16292         * auth/kerb4.c:
16293         trat uid_t as unsigned long for printf and use snprintf, not sprintf
16294         [8072f5f8966d]
16295
16296         * auth/rfc1938.c:
16297         use snprintf
16298         [fc0c70c665fe]
16299
16300 2003-03-15  Todd C. Miller  <Todd.Miller@courtesan.com>
16301
16302         * auth/afs.c, auth/aix_auth.c, auth/bsdauth.c, auth/dce.c,
16303         auth/fwtk.c, auth/kerb4.c, auth/kerb5.c, auth/pam.c, auth/passwd.c,
16304         auth/rfc1938.c, auth/sudo_auth.c:
16305         update copyright year
16306         [b0a10ccb1d0e]
16307
16308         * sudo.man.in, sudoers.man.in, visudo.man.in:
16309         update copyright year
16310         [8fce0034eb51]
16311
16312         * LICENSE, Makefile.in, aclocal.m4, alloc.c, check.c, compat.h,
16313         configure.in, env.c, find_path.c, interfaces.c, logging.c, parse.c,
16314         parse.lex, parse.yacc, set_perms.c, sudo.c, sudo.h, sudo.pod,
16315         sudoers.pod, testsudoers.c, version.h, visudo.c, visudo.pod:
16316         update copyright year
16317         [d541e75fe520]
16318
16319         * check.c, env.c, sudo.c:
16320         Cast [ug]ids to unsigned long and printf with %lu
16321         [2ede64d3592b]
16322
16323         * configure:
16324         regen
16325         [c7c3245bdf3e]
16326
16327         * configure.in:
16328         correct error messages for --with-sudoers-{mode,uid,gid}
16329         [77fc15b1c9db]
16330
16331         * alloc.c:
16332         make the malloc(0) error specific to each function to aid tracking
16333         down bugs.
16334         [a58c34374b4b]
16335
16336         * alloc.c:
16337         deal with platforms where size_t is signed and there is no SIZE_MAX
16338         or SIZE_T_MAX
16339         [7192abb4ab4e]
16340
16341         * auth/kerb5.c:
16342         Make this compile w/ Heimdal and fix some gcc warnings.
16343         [f52f026f31c2]
16344
16345         * sudo.c:
16346         Use stat_sudoers macro so --with-stow can work
16347         [c3674735c139]
16348
16349         * INSTALL, config.h.in, configure, configure.in:
16350         Add support for --with-stow based on patches from Robert Uhl
16351         [b274cc1dd52c]
16352
16353         * env.c:
16354         fix indentation
16355         [110d9f1721b1]
16356
16357         * configure.in:
16358         back out rev 1.352
16359         [1eee91c83f11]
16360
16361         * lex.yy.c:
16362         regen
16363         [72fba1c9590b]
16364
16365         * parse.lex:
16366         use strlcpy, not strncpy
16367         [4faccbaeccef]
16368
16369         * set_perms.c:
16370         Fix typo; check pw_uid, not pw_gid after setusercontext() failure.
16371         [33bf0d18fdc1]
16372
16373         * logging.c:
16374         use pid_t
16375         [3e0536993d2c]
16376
16377 2003-03-14  Todd C. Miller  <Todd.Miller@courtesan.com>
16378
16379         * strlcat.c, strlcpy.c:
16380         Make gcc shutup about unused rcsid
16381         [1669a0c74e9e]
16382
16383         * interfaces.c:
16384         Move the n == 0 check for the non-getifaddrs cas
16385         [2460be061b2a]
16386
16387         * auth/rfc1938.c:
16388         skeychallenge() on NetBSD take a size parameter
16389         [05acc2012801]
16390
16391         * configure:
16392         regen
16393         [24bccf4749e8]
16394
16395         * configure.in:
16396         put -ldl after -lpam, not before; fixes static linking on Linux
16397         [7f06b7b2b4d8]
16398
16399         * interfaces.c:
16400         Avoid malloc(0) and fix the loop invariant for the getifaddrs()
16401         case.
16402         [239a55068646]
16403
16404         * sudo.cat, sudoers.cat, visudo.cat:
16405         regen
16406         [4a2eed3981ca]
16407
16408         * sudo.man.in, sudoers.man.in, visudo.man.in:
16409         regen
16410         [2c96ea2cf930]
16411
16412         * Makefile.in:
16413         Preserve copyright notice from .pod file in .man.in file
16414         [519fbd09aebc]
16415
16416         * visudo.pod:
16417         Add sudoers(5) to SEE ALSO
16418         [77ecfe3aedf1]
16419
16420 2003-03-13  Todd C. Miller  <Todd.Miller@courtesan.com>
16421
16422         * lex.yy.c:
16423         regen
16424         [6f5751ce0b74]
16425
16426         * parse.lex:
16427         Don't assume libc can realloc() a NULL string. If malloc/realloc
16428         fails, make sure we just return; yyerror() is not terminal.
16429         [1b8618623708]
16430
16431         * lex.yy.c:
16432         regen
16433         [5d31b46191c6]
16434
16435         * parse.lex:
16436         simplify fill_args a little and use strlcpy for paranoia
16437         [0ea35a55542b]
16438
16439         * sudo.tab.c:
16440         regen
16441         [5a8d508d708b]
16442
16443         * check.c, env.c, find_path.c, parse.c, parse.yacc, sudo.c,
16444         testsudoers.c:
16445         Use strlc{at,py} for paranoia's sake and exit on overflow. In all
16446         cases the strings were either pre-allocated to the correct size of
16447         length checks were done before the copy but a little paranoia can go
16448         a long way.
16449         [e73d28f1d14e]
16450
16451         * sudo.h:
16452         Add strlc{at,py} protos
16453         [748ffc7fc7f4]
16454
16455         * env.c, interfaces.c:
16456         Use erealloc3()
16457         [47f2cb46aba8]
16458
16459         * configure:
16460         regen
16461         [e7e2fb79f935]
16462
16463         * alloc.c:
16464         Oflow test of nmemb > SIZE_MAX / size is fine (don't need >=). Use
16465         memcpy() instead of strcpy() in estrdup() so this is strcpy()-free.
16466         [7e0fa4d6fc1d]
16467
16468         * sudo.c:
16469         snprintf() a uid as %lu, not %ld to match the MAX_UID_T_LEN test in
16470         configure.
16471         [09ea4d3959e9]
16472
16473         * aclocal.m4:
16474         In MAX_UID_T_LEN test cast uid_t to unsigned long, just unsigned.
16475         [31b4fdfdb8bf]
16476
16477 2003-03-12  Todd C. Miller  <Todd.Miller@courtesan.com>
16478
16479         * sudo.c:
16480         Use snprintf() for paranoia
16481         [a2659ceb46de]
16482
16483         * parse.yacc:
16484         Use emalloc2 and erealloc3
16485         [90a069842401]
16486
16487         * Makefile.in:
16488         strlc{at,py} for those w/o it
16489         [bac82dc916ee]
16490
16491         * strlcat.c, strlcpy.c:
16492         stlc{at,py} for those w/o it.
16493         [ce7254f5db09]
16494
16495         * config.h.in, configure, configure.in:
16496         Add stlc{at,py} for those w/o it.
16497         [00f08219657a]
16498
16499         * alloc.c, sudo.h:
16500         Add erealloc3(), a realloc() version of emalloc2().
16501         [c96eaf08bbed]
16502
16503         * interfaces.c, sudo.c:
16504         Use emalloc2() to allocate N things of a certain size.
16505         [1e0aba365555]
16506
16507         * alloc.c, sudo.h:
16508         Add emalloc2() -- like calloc() but w/o the bzero and with
16509         error/oflow checking.
16510         [292150bc4153]
16511
16512         * alloc.c:
16513         Error out on malloc(0); suggested by theo
16514         [995279e81326]
16515
16516 2003-03-10  Todd C. Miller  <Todd.Miller@courtesan.com>
16517
16518         * configure, configure.in:
16519         fix a typo; David Krause
16520         [f161213a17ab]
16521
16522 2003-03-07  Todd C. Miller  <Todd.Miller@courtesan.com>
16523
16524         * sudo.pod:
16525         fix typo
16526         [3ae5ad9a351a]
16527
16528 2003-03-04  Todd C. Miller  <Todd.Miller@courtesan.com>
16529
16530         * env.c:
16531         Remove DYLD_ from the environment for MacOS X; from bbraun
16532         [38caad5a3935]
16533
16534 2003-03-01  Todd C. Miller  <Todd.Miller@courtesan.com>
16535
16536         * config.h.in, configure.in:
16537         not not; Anil Madhavapeddy
16538         [d4f4f0bfc66b]
16539
16540 2003-01-23  Todd C. Miller  <Todd.Miller@courtesan.com>
16541
16542         * sudo.pod, sudoers.pod, visudo.pod:
16543         typos; jmc@openbsd.org
16544         [868c0f09bf9e]
16545
16546 2003-01-20  Todd C. Miller  <Todd.Miller@courtesan.com>
16547
16548         * parse.yacc:
16549         Add some missing ';' rule terminators that bison warns about.
16550         [535b0b8dcce5]
16551
16552         * config.sub:
16553         fix typo I introduced in last merge
16554         [81db4e4f43fe]
16555
16556         * configure:
16557         regenerate with autoconf 2.57
16558         [ca0c1e9564f8]
16559
16560         * config.h.in:
16561         Add missing "$HOME"
16562         [209186197ad1]
16563
16564         * configure.in:
16565         Add some more square backets to make autoconf 2.57 happy
16566         [b5639c14faf7]
16567
16568         * config.sub, mkinstalldirs:
16569         Updates from autoconf-2.57
16570         [36be35eb331b]
16571
16572         * config.guess:
16573         Updates from autoconf-2.57
16574         [ea0f8ca622af]
16575
16576 2003-01-17  Todd C. Miller  <Todd.Miller@courtesan.com>
16577
16578         * sudo.tab.h:
16579         regen
16580         [13a65a421567]
16581
16582         * lex.yy.c, sudo.tab.c:
16583         regen
16584         [0b529db7cb6d]
16585
16586         * parse.lex, parse.yacc, sudoers.pod:
16587         Add support for Defaults>RunasUser
16588         [20d726373175]
16589
16590 2003-01-07  Todd C. Miller  <Todd.Miller@courtesan.com>
16591
16592         * visudo.c:
16593         fclose() yyin after each yyparse() is done and use fopen() instead
16594         of using freopen().
16595         [587f8a2df857]
16596
16597         * parse.lex:
16598         Better fix for sudoers files w/o a newline before EOF. It looks
16599         like the issue is that yyrestart() does not reset the start
16600         condition to INITIAL which is an issue since we parse sudoers
16601         multiple times.
16602         [920f8326968a]
16603
16604 2003-01-06  Todd C. Miller  <Todd.Miller@courtesan.com>
16605
16606         * parse.lex:
16607         Work around what appears to be a flex bug when dealing with files
16608         that lack a final newline before EOF. This adds a rule to match EOF
16609         in the non-initial states which resets the state to INITIAL and
16610         throws an error.
16611         [b94943bb1f81]
16612
16613         * visudo.c:
16614         o The parser needs sudoers to end with a newline but some editors
16615         (emacs) may not add one. Check for a missing newline at EOF and
16616         add one if needed. o Set quiet flag during initial sudoers parse (to
16617         get options) o Move yyrestart() call and always use freopen() to
16618         open yyin after initial sudoers parse.
16619         [12d12f9b07aa]
16620
16621 2002-12-15  Todd C. Miller  <Todd.Miller@courtesan.com>
16622
16623         * set_perms.c:
16624         Fix pasto/thinko in setresgid()/setregid() usage. Want to set
16625         effective gid, not real gid, when reading sudoers.
16626         [c7d18b810fcd]
16627
16628         * set_perms.c:
16629         don't compile set_perms_posix if we have setreuid or setresuid
16630         [b9cea7a81a29]
16631
16632 2002-12-14  Todd C. Miller  <Todd.Miller@courtesan.com>
16633
16634         * sudo.pod, sudoers.pod:
16635         document new prompt escapes
16636         [2f088076b640]
16637
16638         * check.c:
16639         Add %U and %H escapes and redo prompt rewriting. "%%" now gets
16640         collapsed to "%" as was originally intended. This also gets rid of
16641         lastchar (does lookahead instead of lookback) which should simplify
16642         the logic slightly.
16643         [4b707b77b3c7]
16644
16645 2002-12-13  Todd C. Miller  <Todd.Miller@courtesan.com>
16646
16647         * tgetpass.c:
16648         Write the prompt *after* turning off echo to avoid some password
16649         characters being echoed on heavily-loaded machines with fast
16650         typists.
16651         [d38c57775915]
16652
16653         * config.sub:
16654         Add support for mipseb; wiz@danbala.tuwien.ac.at
16655         [cfdac87ed5c8]
16656
16657         * configure.in:
16658         Fix IRIX fallout from name changes in man dir/sect Makefile
16659         variables. Patch from erici AT motown DOT cc DOT utexas DOT edu
16660         [9a7618755c23]
16661
16662         * auth/pam.c:
16663         Keep a local copy of tgetpass_flags so we don't add in TGP_ECHO to
16664         the global copy. Problem noted by Peter Pentchev.
16665         [d0a3e189cb06]
16666
16667 2002-11-28  Todd C. Miller  <Todd.Miller@courtesan.com>
16668
16669         * sudo.tab.c:
16670         regen
16671         [23b931359087]
16672
16673         * parse.yacc:
16674         Add missing yyerror() calls; YYERROR does not seem to call this for
16675         us.
16676         [0be7aeb3ac57]
16677
16678 2002-11-26  Todd C. Miller  <Todd.Miller@courtesan.com>
16679
16680         * sudo.c:
16681         fix typo in comment; Pedro Bastos
16682         [d7406c460e99]
16683
16684 2002-11-22  Todd C. Miller  <Todd.Miller@courtesan.com>
16685
16686         * INSTALL:
16687         document --disable-setresuid
16688         [fbd03d03a027]
16689
16690         * auth/aix_auth.c, auth/bsdauth.c, auth/fwtk.c, auth/pam.c,
16691         auth/sudo_auth.c:
16692         Sprinkle some volatile qualifiers to prevent over-enthusiastic
16693         optimizers from removing memset() calls.
16694         [5370ac0e6129]
16695
16696         * logging.c, parse.yacc:
16697         minor sign fixes pointed out by gcc -Wsign-compare
16698         [db872438337f]
16699
16700         * set_perms.c, sudo.c, sudo.h:
16701         Revamp set_perms. We now use a version based on setresuid() or
16702         setreuid() when possible since that allows us to support the
16703         stay_setuid option and we always know exactly what the semantics
16704         will be (various Linux kernels have broken POSIX saved uid support).
16705         [523bc212396c]
16706
16707         * config.h.in, configure:
16708         regen from configure.in
16709         [351877ea2624]
16710
16711         * configure.in:
16712         Add checks for setresuid() and a way to disable using it
16713         [a5b21653d169]
16714
16715         * compat.h:
16716         No long need to emulate set*[ug]id() via setres[ug]id() or
16717         setre[ug]id(). The new set_perms stuff only uses things it knows are
16718         there.
16719         [47884bd5d1d9]
16720
16721         * sudo.c:
16722         Before exec, restore state of signal handlers to be the same as when
16723         we were initialy invoked instead of just reseting to SIG_DFL. Fixes
16724         a problem when using sudo with nohup. Based on a patch from Paul
16725         Markham.
16726         [f8f5a1484faa]
16727
16728         * sudo.c:
16729         o timestamp_uid should be uid_t, not int o clarify error message
16730         when sudo is run by root and no_root_sudo is set
16731         [19dda0734264]
16732
16733 2002-09-19  Todd C. Miller  <Todd.Miller@courtesan.com>
16734
16735         * README:
16736         update ftp link for bison
16737         [98bc191016e3]
16738
16739 2002-07-20  Todd C. Miller  <Todd.Miller@courtesan.com>
16740
16741         * set_perms.c:
16742         Error out if setusercontext() fails and the runas user is not root.
16743         [089f9ade4686]
16744
16745 2002-05-20  Todd C. Miller  <Todd.Miller@courtesan.com>
16746
16747         * auth/securid5.c:
16748         Fix rcsid
16749         [07e9e85dcc2f]
16750
16751         * configure.in:
16752         Fix SecurID API test
16753         [5ec201f454a5]
16754
16755 2002-05-17  Todd C. Miller  <Todd.Miller@courtesan.com>
16756
16757         * env.c:
16758         typo in comment
16759         [9d385c9ac533]
16760
16761         * configure.in:
16762         securid5 stuff needs pthreads. Just adding -lpthread is suboptimal
16763         but I don't see a better way at the moment.
16764         [f89e55cbb313]
16765
16766         * Makefile.in, auth/securid5.c:
16767         SecurID API version 5 support from Michael Stroucken
16768         [68500ac7e531]
16769
16770         * configure.in:
16771         Add check for SecurID 5.0 API
16772         [1ee242e6de6b]
16773
16774 2002-05-08  Todd C. Miller  <Todd.Miller@courtesan.com>
16775
16776         * strerror.c:
16777         We actually do still need config.h to get the 'const' definition for
16778         K&R C.
16779         [d9c982032d85]
16780
16781 2002-05-05  Todd C. Miller  <Todd.Miller@courtesan.com>
16782
16783         * configure:
16784         regen with autoconf 2.5.3
16785         [c71fc086eef5]
16786
16787         * configure.in:
16788         Don't set sysconfdir to '/etc' if the user has specified a --prefix.
16789         [d90da1efafd9]
16790
16791         * configure.in:
16792         Some fixes for autoconf 2.53 from Robert Uhl o don't AC_SUBST
16793         LIBOBJS o force a 4th arg for AC_CHECK_HEADER() to workaround a bug
16794         [dd67afefa90d]
16795
16796         * env.c, sudo.c, sudo.h:
16797         No need for dump_badenv() now that dump_defaults() knows how to dump
16798         lists.
16799         [6bcda468501d]
16800
16801         * BUGS, INSTALL, INSTALL.binary, Makefile.in, README, configure.in,
16802         version.h:
16803         ++version
16804         [44e3b8f95f0b]
16805
16806         * sudoers.pod:
16807         document timestampowner
16808         [37ebd69e9dd1]
16809
16810         * check.c:
16811         Don't call set_perms() when doing timestamp stuff unless
16812         timestamp_uid != 0.
16813         [63a63d41d18c]
16814
16815         * auth/sudo_auth.c, check.c, logging.c, parse.c, set_perms.c, sudo.c,
16816         sudo.h, testsudoers.c:
16817         g/c second arg to set_perms--it is no longer used
16818         [7ac4ce50c612]
16819
16820 2002-05-03  Todd C. Miller  <Todd.Miller@courtesan.com>
16821
16822         * check.c, set_perms.c, sudo.c, sudo.h:
16823         Add support for non-root timestamp dirs. This allows the timestamp
16824         dir to be shared via NFS (though this is not recommended).
16825         [faa83dd2b7fb]
16826
16827         * def_data.c, def_data.h, def_data.in:
16828         Add timestampowner, "Owner of the authentication timestamp dir"
16829         [d47640d4c86a]
16830
16831 2002-05-02  Todd C. Miller  <Todd.Miller@courtesan.com>
16832
16833         * env.c:
16834         Don't try to pre-compute the size of the new envp, just allocate
16835         space up front and realloc as needed. Changes to the new env
16836         pointer must all be made through insert_env() which now keeps track
16837         of spaced used and allocates as needed.
16838         [39bc934a9f2c]
16839
16840 2002-04-26  Todd C. Miller  <Todd.Miller@courtesan.com>
16841
16842         * configure:
16843         regen
16844         [0e12c09bb790]
16845
16846         * configure.in:
16847         Fix two typo/pastos; from jrj@purdue.edu
16848         [b718a4bf1181]
16849
16850 2002-04-25  Todd C. Miller  <Todd.Miller@courtesan.com>
16851
16852         * INSTALL.binary, README:
16853         ++version
16854         [a1e33027278c] [SUDO_1_6_6]
16855
16856         * configure, sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in,
16857         visudo.cat, visudo.man.in:
16858         regen
16859         [19eb2be283ef]
16860
16861         * CHANGES, RUNSON, TODO:
16862         Sync with 1.6.6
16863         [2ff9a9087f63]
16864
16865         * check.c:
16866         The the loop used to expand %h and %u, the lastchar variable was not
16867         being initialized. This means that if the last char in the prompt
16868         is '%' and the first char is 'h' or 'u' a extra copy of the host or
16869         user name would be copied, for which space had not been allocated.
16870         [b2e27197857d]
16871
16872 2002-04-18  Todd C. Miller  <Todd.Miller@courtesan.com>
16873
16874         * BUGS, INSTALL, Makefile.in, configure.in, version.h:
16875         crank version to 1.6.6
16876         [cfd08689e597]
16877
16878         * auth/afs.c:
16879         #undef VOID to get rid of an AFS warning
16880         [b40760564dc1]
16881
16882         * env.c:
16883         Use easprintf instead of emalloc + sprintf for some things.
16884         [e7bfe2e69a03]
16885
16886 2002-03-16  Todd C. Miller  <Todd.Miller@courtesan.com>
16887
16888         * lex.yy.c, sudo.tab.c:
16889         regen
16890         [35327104383d]
16891
16892         * parse.c, parse.lex, parse.yacc, testsudoers.c:
16893         Remove Chris Jepeway's email address so people don't bug him ;-)
16894         [c03410747a69]
16895
16896 2002-03-12  Todd C. Miller  <Todd.Miller@courtesan.com>
16897
16898         * sudo.c:
16899         Move endpwent() to be after set_perms(PERM_RUNAS, ...) and also call
16900         endgrent() at the same time.
16901         [28b6097d5d1a]
16902
16903 2002-02-22  Todd C. Miller  <Todd.Miller@courtesan.com>
16904
16905         * INSTALL:
16906         Make it clear which configure options take arguments.
16907         [38529e7efad0]
16908
16909 2002-01-25  Todd C. Miller  <Todd.Miller@courtesan.com>
16910
16911         * compat.h:
16912         HP-UX 9.x has RLIMIT_* but no RLIM_INFINITY. If there is no
16913         RLIM_INFINITY, just pretend it is -1. This works because we only
16914         check for RLIM_INFINITY and do not set anything to that value.
16915         [53173d34e6eb]
16916
16917 2002-01-22  Todd C. Miller  <Todd.Miller@courtesan.com>
16918
16919         * auth/pam.c:
16920         Zero and free allocated memory when there is a conversation error.
16921         [e342133db579]
16922
16923         * auth/bsdauth.c:
16924         Use sigaction() not signal()
16925         [126c2790561f]
16926
16927         * INSTALL:
16928         Mention that some linux kernels have broken POSIX saved ID support
16929         [571ef1a893d3]
16930
16931         * CHANGES:
16932         checkpoint for 1.6.5p2
16933         [9e9e456f7f43]
16934
16935         * configure:
16936         regen
16937         [d53703a46708]
16938
16939         * configure.in:
16940         Add --disable-setreuid flag
16941         [3b9f2679cb55]
16942
16943         * INSTALL:
16944         Document new --disable-setreuid option and change description for
16945         --disable-saved-ids to match new error message.
16946         [14fd3e5f60a5]
16947
16948         * set_perms.c:
16949         fatal() now takes an argument that determines whether or not to call
16950         perror().
16951         [d826b25e62ff]
16952
16953         * TROUBLESHOOTING:
16954         Update for new error messages from set_perms()
16955         [78007c3f76a9]
16956
16957         * PORTING:
16958         Update for new error messages from set_perms()
16959         [60c545a6bcff]
16960
16961 2002-01-21  Todd C. Miller  <Todd.Miller@courtesan.com>
16962
16963         * auth/pam.c:
16964         Make this compile w/o warnings
16965         [b90843a29af5]
16966
16967         * auth/pam.c:
16968         Mention that we can't use pam_acct_mgmt()
16969         [1dfc5a6e0479]
16970
16971         * auth/aix_auth.c, auth/bsdauth.c, auth/fwtk.c, auth/pam.c:
16972         The user's password was not zeroed after use when AIX
16973         authentication, BSD authentication, FWTK or PAM was in use.
16974         [b18fff30b1e7]
16975
16976 2002-01-20  Todd C. Miller  <Todd.Miller@courtesan.com>
16977
16978         * auth/pam.c:
16979         Avoid giving PAM a NULL password response, use the empty string
16980         instead. This avoids a log warning when the user hits ^C at the
16981         password prompt when PAM is in use.
16982         [c3315805e4e4]
16983
16984         * auth/pam.c:
16985         Don't check the return value of pam_setcred(). In Linux-PAM 0.75
16986         pam_setcred() returns the last saved return code, not the return
16987         code for the setcred module. Because we haven't called
16988         pam_authenticate(), this is not set and so pam_setcred() returns
16989         PAM_PERM_DENIED.
16990         [73db145fa179]
16991
16992         * Makefile.in:
16993         Don't need a '/' between $(DESTDIR) and a directory.
16994         [0901ca618176]
16995
16996         * Makefile.binary:
16997         Don't need a '/' between $(DESTDIR) and a directory.
16998         [cd7eb6098b87]
16999
17000 2002-01-18  Todd C. Miller  <Todd.Miller@courtesan.com>
17001
17002         * configure:
17003         regen
17004         [41b12c039282]
17005
17006         * configure.in:
17007         o BSDi also has a bogus setreuid() o Old FreeBSD has a bogus
17008         setreuid() o new NetBSD has a real setreuid() o add check for
17009         freeifaddrs() if getifaddrs() exists.
17010         [a82ee3b01733]
17011
17012         * config.h.in, interfaces.c:
17013         Older BSDi releases lack freeifaddrs() so add a test for that and if
17014         it is not present just use free().
17015         [6270671ea9d5]
17016
17017 2002-01-17  Todd C. Miller  <Todd.Miller@courtesan.com>
17018
17019         * CHANGES, RUNSON:
17020         Checkpoint for 1.6.5p1
17021         [26134ecf9b36]
17022
17023         * auth/passwd.c:
17024         Return AUTH_FAILURE in passwd_init() if skeyaccess() denies access
17025         to normal passwords, not AUTH_FATAL (which just causes an exit).
17026         [785e0f4bc0e2]
17027
17028         * visudo.c:
17029         Don't use memory after it has been freed.
17030         [c60492739fdb]
17031
17032         * auth/passwd.c:
17033         skeyaccess() wants a struct passwd * not a char *; Patch from
17034         Phillip E. Lobbes
17035         [65a1d3806fcd] [SUDO_1_6_5]
17036
17037         * BUGS:
17038         ++version
17039         [b2e1825e692e]
17040
17041         * CHANGES, RUNSON, TODO:
17042         checkpoint for sudo 1.6.5
17043         [d730945622e7]
17044
17045 2002-01-16  Todd C. Miller  <Todd.Miller@courtesan.com>
17046
17047         * configure:
17048         regen
17049         [49744c403ac9]
17050
17051         * INSTALL, INSTALL.binary, Makefile.in, README, configure.in:
17052         version 1.6.5
17053         [ec30a5f7fc45]
17054
17055         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in, visudo.cat,
17056         visudo.man.in:
17057         sudo version 1.6.5
17058         [458a3bed535d]
17059
17060         * logging.c:
17061         o when invoking the mailer as root use a hard-coded environment that
17062         doesn't include any info from the user's environment. Basically
17063         paranoia.
17064
17065         o Add support for the NO_ROOT_MAILER compile-time option and run the
17066         mailer as the user and not root if NO_ROOT_MAILER is defined.
17067         [4df351ec92ce]
17068
17069         * set_perms.c, sudo.h:
17070         Bring back PERM_FULL_USER
17071         [edb6039bb284]
17072
17073         * configure:
17074         regen
17075         [3eb2943afa03]
17076
17077         * version.h:
17078         version 1.6.5
17079         [044fc9a0c72b]
17080
17081         * INSTALL, config.h.in, configure.in:
17082         Add --disable-root-mailer option to run the mailer as the user and
17083         not root.
17084         [e9f805397963]
17085
17086         * CHANGES:
17087         checkpoint for 1.6.4p2
17088         [b58aae5aa98a]
17089
17090         * PORTING:
17091         Mention the "seteuid(0): Operation not permitted" problem here too
17092         just for good measure.
17093         [90135b37a691]
17094
17095 2002-01-15  Todd C. Miller  <Todd.Miller@courtesan.com>
17096
17097         * env.c, getspwuid.c, sudo.c:
17098         The SHELL environment variable was preserved from the user's
17099         environment instead of being reset based on the passwd database when
17100         the "env_reset" option was used. Now it is reset as it should be.
17101         [300066ef3c71]
17102
17103         * configure:
17104         regen
17105         [a47d779e6552]
17106
17107         * INSTALL, TROUBLESHOOTING, config.h.in, configure.in, set_perms.c,
17108         sudo.c:
17109         Add a configure option to turn off use of POSIX saved IDs
17110         [fb18cc8e94d0]
17111
17112         * configure:
17113         regen
17114         [d4f2f20025b6]
17115
17116         * configure.in:
17117         add --with-efence option
17118         [45c4f33a8e88]
17119
17120         * sudo.c:
17121         Only OR in MODE_RESET_HOME if MODE_RUN is set. Fixes a problem where
17122         "sudo -l" would not work if always_set_home was set.
17123         [c3a6de6c4800]
17124
17125         * lex.yy.c:
17126         regen
17127         [417424452998]
17128
17129         * parse.lex:
17130         Quoted commas were not being treated correctly in command line
17131         arguments.
17132         [753415541b37]
17133
17134         * sudo.c:
17135         o Move the call to rebuild_env() until after MODE_RESET_HOME is set.
17136         Otherwise, the set_home option has no effect.
17137
17138         o Fix use of freed memory when the "fqdn" flag is set. This was
17139         introduced by the fix for the "segv when gethostbynam() fails" bug.
17140         Also, we no longer call set_fqdn() if the "fqdn" flag is not set so
17141         there is no need to check the "fqdn" flag in set_fqdn() itself.
17142         [4b6a4245c04e]
17143
17144         * env.c:
17145         Add 'continue' statements to optimize the switch statement. From
17146         Solar.
17147         [a82c76975ae5]
17148
17149 2002-01-13  Todd C. Miller  <Todd.Miller@courtesan.com>
17150
17151         * sudoers.cat, sudoers.man.in:
17152         Regen from new sudoers.pod
17153         [6ecc07b3d0e1] [SUDO_1_6_4]
17154
17155         * sudoers.pod:
17156         Add caveat about stay_setuid flag
17157         [9d228a7bea1b]
17158
17159         * sudo.c:
17160         If set_perms == set_perms_posix and the stay_setuid flag is not set,
17161         set all uids to 0 and use set_perms_fallback().
17162         [c4e54d1ec86f]
17163
17164         * set_perms.c, sudo.h:
17165         Remove PERM_FULL_USER (which is no longer used) and add
17166         PERM_FULL_ROOT (used when exec'ing the mailer).
17167         [15406c522ea2]
17168
17169         * logging.c:
17170         Use set_perms(PERM_FULL_ROOT, 0) before exec'ing the mailer since we
17171         never want to run the mailer setuid.
17172         [2294853e0666]
17173
17174 2002-01-12  Todd C. Miller  <Todd.Miller@courtesan.com>
17175
17176         * sudo.cat, sudo.man.in, sudo.pod, visudo.cat, visudo.man.in,
17177         visudo.pod:
17178         Use sudo.ws instead of courtesan.com in URLs
17179         [55204002a308]
17180
17181         * Makefile.binary, Makefile.in:
17182         Fix mansect substitution
17183         [b7b5cbc3aa91]
17184
17185         * Makefile.in:
17186         Substitute man sections in Makefile.binary
17187         [040deb785e56]
17188
17189         * Makefile.binary:
17190         Sync install targets with Makefile.in and substitute in man
17191         sections.
17192         [77882a275281]
17193
17194         * INSTALL, INSTALL.binary:
17195         version is 1.6.4
17196         [0f87aabbcb70]
17197
17198         * Makefile.in:
17199         Repair bindist target
17200         [8d43bfe7e2d1]
17201
17202         * CHANGES:
17203         sync for 1.6.4
17204         [13ca3d4a0a72]
17205
17206 2002-01-10  Todd C. Miller  <Todd.Miller@courtesan.com>
17207
17208         * install-sh:
17209         Fix case where neither whoami nor id are found
17210         [424dd270bc47]
17211
17212 2002-01-09  Todd C. Miller  <Todd.Miller@courtesan.com>
17213
17214         * install-sh:
17215         If neither whoami nor id exists, just assume we are root.
17216         [2d2644e42c53]
17217
17218         * alloc.c:
17219         Add explicit cast to (VOID *) on malloc/realloc. Seems to be needed
17220         on AIX which for some reason isn't pulling in the malloc prototype.
17221         [231440d2ee3b]
17222
17223 2002-01-08  Todd C. Miller  <Todd.Miller@courtesan.com>
17224
17225         * Makefile.in, aclocal.m4, compat.h, parse.c, sudo.c:
17226         (c) 2002
17227         [700e3b41a68e]
17228
17229         * CHANGES:
17230         checkpoint
17231         [33e604bd8d5b]
17232
17233         * sudo.c:
17234         Defer assigning new environment until right before the exec.
17235         [f13c49e75c1c]
17236
17237         * parse.c:
17238         kill extra blank line
17239         [12ef22e9dae3]
17240
17241 2002-01-07  Todd C. Miller  <Todd.Miller@courtesan.com>
17242
17243         * configure:
17244         regen
17245         [a6cd2d788f74]
17246
17247         * configure.in:
17248         Use -O not -O2 for m88k-motorola-sysv* since motorola gcc-derived
17249         compiler doesn't recognise -O2.
17250         [5234aa543692]
17251
17252         * HISTORY:
17253         Clarify origins of Root Group sudo a bit based on info from
17254         billp@rootgroup.com
17255         [4deef01c4208]
17256
17257 2002-01-03  Todd C. Miller  <Todd.Miller@courtesan.com>
17258
17259         * LICENSE:
17260         2002
17261         [6c8e089dbd1a]
17262
17263         * CHANGES:
17264         checkpoint for 1.6.4rc1
17265         [3349eb87a49f]
17266
17267 2002-01-02  Todd C. Miller  <Todd.Miller@courtesan.com>
17268
17269         * config.h.in:
17270         now generated via autoheader
17271         [84657d303cb9]
17272
17273         * configure:
17274         regen
17275         [207bfa6a13f6]
17276
17277         * compat.h:
17278         Move in some stuff that was previously in config.h.
17279         [e576d8b6480f]
17280
17281         * aclocal.m4, configure.in:
17282         Add info for autoheader.
17283         [0549cd5da27c]
17284
17285 2002-01-01  Todd C. Miller  <Todd.Miller@courtesan.com>
17286
17287         * Makefile.in:
17288         o Add DESTDIR support o Use -M, -O, and -G instead of -m, -o, and
17289         -g to facilitate non-root installs
17290         [619216038f56]
17291
17292         * install-sh:
17293         Add -M option (like -m but only for root) If we can't find "whoami",
17294         use "id" w/ some sed.
17295         [b39121c8b792]
17296
17297         * configure:
17298         regen
17299         [b39b93ff9804]
17300
17301         * configure.in:
17302         allow user to always override mansectsu and mansectform
17303         [0fca5e63bd90]
17304
17305 2001-12-31  Todd C. Miller  <Todd.Miller@courtesan.com>
17306
17307         * mkinstalldirs:
17308         update from autoconf 2.52
17309         [07bd75a508c3]
17310
17311         * config.guess, config.sub:
17312         Update from autoconf 2.52
17313         [857b90fe31b7]
17314
17315         * configure:
17316         regen with autoconf 2.52
17317         [08e7d1ea2aeb]
17318
17319         * configure.in:
17320         o Call AC_PROG_CC_STDC to find out how to run the compiler in ANSI
17321         mode o Remove compiler-specific checks for HP-UX now that we use
17322         AC_PROG_CC_STDC
17323         [d433a70b6208]
17324
17325         * RUNSON:
17326         Checkpoint
17327         [babf6d2235d1]
17328
17329         * auth/pam.c:
17330         o Add pam_prep_user function to call pam_setcred() for the target
17331         user; on Linux this often sets resource limits. o When calling
17332         pam_end(), try to convert the auth->result to a PAM_FOO value.
17333         This is a hack--we really need to stash the last PAM_FOO value
17334         received and use that instead.
17335         [6ad6f340dd2a]
17336
17337         * set_perms.c, sudo.h:
17338         o Add pam_prep_user function to call pam_setcred() for the target
17339         user; on Linux this often sets resource limits.
17340         [67795421ac82]
17341
17342         * env.c:
17343         Fix off by one error in number of bytes allocated via malloc (does
17344         not affected any released version of sudo).
17345         [5f5915360111]
17346
17347 2001-12-30  Todd C. Miller  <Todd.Miller@courtesan.com>
17348
17349         * lex.yy.c:
17350         regen
17351         [8208c0277775]
17352
17353         * parse.lex:
17354         Allow '@', '(', ')', ':' in arguments to a defaults variable w/o
17355         requiring that they be quoted.
17356         [ae59bc8f68dd]
17357
17358         * sudoers.cat, sudoers.man.in, sudoers.pod:
17359         Mention that no double quotes are needed when
17360         adding/deleting/assigning a single value to a list.
17361         [25efc940a1f0]
17362
17363         * Makefile.in:
17364         Don't rely on mkdefaults being executable, call perl explicitly.
17365         [6edc97ba5f1d]
17366
17367         * sudo.tab.c:
17368         regen
17369         [49130b2e7e4d]
17370
17371         * parse.yacc:
17372         Remove some XXX that are no longer relevant.
17373         [d460ac0d3767]
17374
17375         * defaults.c:
17376         o Roll our own loop instead of using strpbrk() for better
17377         grokability o When adding to a list we must malloc() and use
17378         memcpy(), not strdup() since we must only copy len bytes from str.
17379         [649bef08e1f0]
17380
17381 2001-12-21  Todd C. Miller  <Todd.Miller@courtesan.com>
17382
17383         * sudo.tab.c:
17384         regen
17385         [f0bbf2c38c0e]
17386
17387         * parse.yacc:
17388         typo in comment
17389         [2563711ff593]
17390
17391 2001-12-19  Todd C. Miller  <Todd.Miller@courtesan.com>
17392
17393         * CHANGES:
17394         checkpoint
17395         [a6d8a29fb30e]
17396
17397         * configure:
17398         regen
17399         [bdfcaaf3bd13]
17400
17401         * configure.in:
17402         avoid the -g flag unless --with-devel was specified
17403         [a976707bef30]
17404
17405         * Makefile.in:
17406         mkdefaults, def_data.in and sigaction.c were missing from the
17407         tarball
17408         [6917ffbaa412]
17409
17410         * Makefile.in:
17411         def_data.c was missing
17412         [87c78b11453d]
17413
17414 2001-12-18  Todd C. Miller  <Todd.Miller@courtesan.com>
17415
17416         * env.c:
17417         Fix setting of $USER and $LOGNAME in the non-reset_env case. Also
17418         allow HOME, SHELL, LOGNAME, and USER to be specified in keep_env
17419         [fc8698e6a45e]
17420
17421         * TODO:
17422         Another TODO item
17423         [6f251d6cd466]
17424
17425         * sudoers:
17426         Add comment for Default section so folks know where it should go.
17427         [7edba626f392]
17428
17429 2001-12-17  Todd C. Miller  <Todd.Miller@courtesan.com>
17430
17431         * tgetpass.c:
17432         Use TCSETAF, not TCSETA to set terminal in termio case
17433         [fbd172f6c5d3]
17434
17435         * sudoers.cat, sudoers.man.in:
17436         regen from sudoers.pod
17437         [64edd2de816e]
17438
17439         * sudoers.pod:
17440         o Typo, Runas_User_List should be Runas_List o a User_List can not
17441         contain a uid o mention that the Defaults section should come after
17442         Alias definitions but before the user specifications
17443         [54070ba2092b]
17444
17445 2001-12-15  Todd C. Miller  <Todd.Miller@courtesan.com>
17446
17447         * sudoers.cat, sudoers.man.in:
17448         regen
17449         [e62d1d97693c]
17450
17451         * sudoers.pod:
17452         Fix listpw and verifypw sections, they were not being formatted
17453         properly.
17454         [123868c2f3e9]
17455
17456         * sudoers.cat, sudoers.man.in:
17457         regen
17458         [f94841f8b374]
17459
17460         * sudoers.pod:
17461         fix typos
17462         [f278f1c1184e]
17463
17464         * configure:
17465         regen
17466         [d2270049ba9f]
17467
17468         * config.h.in, configure.in:
17469         use AC_SYS_POSIX_TERMIOS instead of rolling our own
17470         [c1a13f1354b9]
17471
17472         * README:
17473         Reference sudo.ws not courtesan.com
17474         [ca13be67ebd7]
17475
17476         * PORTING:
17477         Add notes on shadow passwords
17478         [aa13863f2314]
17479
17480         * BUGS:
17481         In list mode (sudo -l), characters escaped with a backslash are
17482         shown verbatim with the backslash.
17483         [1a75a2858be2]
17484
17485         * sudoers:
17486         Add simple examples from OpenBSD (Marc Espie)
17487         [3ae9a9ae4125]
17488
17489         * tgetpass.c:
17490         Catch SIGTTIN and SIGTTOU too and treat them like SIGTSTP.
17491         [f8817699ee10]
17492
17493         * CHANGES:
17494         minor prettyification
17495         [f523587929b9]
17496
17497         * CHANGES:
17498         Updated change log
17499         [39d9010ee7a8]
17500
17501         * testsudoers.c:
17502         Fix CIDR handling here too.
17503         [c91db8344c32]
17504
17505         * auth/pam.c:
17506         Apparently a NULL response is OK
17507         [83bae61078d9]
17508
17509         * TODO:
17510         Checkpoint for upcoming beta release
17511         [efb95c09df2a]
17512
17513         * TROUBLESHOOTING:
17514         Many people believe that adding a runas spec should obviate the need
17515         for the -u flag. It does not.
17516         [c698bad85b0e]
17517
17518         * RUNSON:
17519         checkpoint update for upcoming 1.6.4 beta
17520         [009e465a0a45]
17521
17522         * config.h.in:
17523         o Add HAVE_STDLIB_H and HAVE_MEMORY_H o Define HAVE_STRINGS_H even
17524         if HAVE_STRING_H is defined -- this is safe now
17525         [d27c035f4e14]
17526
17527         * PORTING:
17528         Add signals section
17529         [2d24c13cb3c8]
17530
17531         * configure:
17532         regen
17533         [2b80a939e2ed]
17534
17535         * configure.in:
17536         Fix check for sigaction_t
17537         [6fa41c89ab20]
17538
17539         * sudo.c:
17540         XXX - should call find_path() as runas user, not root. Can't do
17541         that until the parser changes though.
17542         [f0b4f85651bd]
17543
17544         * sudo.c:
17545         If find_path() fails as root, try again as the invoking user (useful
17546         for NFS). Idea from Chip Capelik.
17547         [e03fa7872692]
17548
17549         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in:
17550         Regenerate after pod file changes
17551         [48e4bd75ec21]
17552
17553         * def_data.c, def_data.h, def_data.in, set_perms.c, sudo.c, sudo.h,
17554         sudo.pod, sudoers.pod:
17555         Add new sudoers option "preserve_groups". Previously sudo would not
17556         call initgroups() if the target user was root. Now it always calls
17557         initgroups() unless the -P command line option or the
17558         "preserve_groups" sudoers option is set. Idea from TJ Saunders.
17559         [4f730359f101]
17560
17561 2001-12-14  Todd C. Miller  <Todd.Miller@courtesan.com>
17562
17563         * compat.h, config.h.in:
17564         Use new HAVE_SIGACTION_T define
17565         [dfb25f3cae5b]
17566
17567         * logging.c:
17568         Fix compilation on K&C
17569         [7355e3275e34]
17570
17571         * configure:
17572         regen
17573         [a710584f92f0]
17574
17575         * configure.in:
17576         Add check for sigaction_t -- IRIX already defines this so don't
17577         redefine it.
17578         [df9c5737f6da]
17579
17580         * snprintf.c:
17581         fix typo
17582         [3d782b8134c8]
17583
17584         * interfaces.c:
17585         need stdlib.h here too
17586         [c789d8973ab2]
17587
17588         * configure:
17589         regen
17590         [44822856bf46]
17591
17592         * configure.in:
17593         Remove redundant checks for string.h, strings.h and unistd.h
17594         [933c94f8bbf4]
17595
17596         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in, visudo.cat,
17597         visudo.man.in:
17598         Regen from pod files
17599         [ad18c590f638]
17600
17601         * BUGS:
17602         Update for 1.6.4
17603         [26bc88b69d22]
17604
17605         * configure, lex.yy.c, sudo.tab.c:
17606         regen
17607         [bef89fd6fa2d]
17608
17609         * strerror.c:
17610         Return EINVAL if errnum > sys_nerr
17611         [0512374e6661]
17612
17613         * auth/sudo_auth.h:
17614         o Update copyright year
17615         [a877016db6e2]
17616
17617         * LICENSE, Makefile.binary, Makefile.in, aclocal.m4, compat.h,
17618         config.h.in, defaults.h, interfaces.h, pathnames.h.in, sudo.h,
17619         sudo.pod:
17620         o Update copyright year
17621         [e15a1b39039f]
17622
17623         * configure.in:
17624         o Don't define STDC_HEADERS unconditionally for IRIX o Update
17625         copyright year
17626         [82a8cb819e07]
17627
17628         * README:
17629         update version
17630         [d82e523a16b4]
17631
17632         * auth/afs.c, auth/aix_auth.c, auth/bsdauth.c, auth/dce.c,
17633         auth/fwtk.c, auth/kerb4.c, auth/kerb5.c, auth/pam.c, auth/passwd.c,
17634         auth/rfc1938.c, auth/secureware.c, auth/securid.c, auth/sia.c,
17635         auth/sudo_auth.c, logging.c, parse.c, parse.lex, parse.yacc,
17636         set_perms.c, snprintf.c, sudo.c, testsudoers.c, tgetpass.c, utime.c,
17637         visudo.c:
17638         o Reorder some headers and use STDC_HEADERS define properly o Update
17639         copyright year
17640         [fe39f76b3795]
17641
17642         * lsearch.c:
17643         o Reorder some headers and use STDC_HEADERS define properly o Update
17644         copyright year
17645         [764ba3d4fa13]
17646
17647         * getspwuid.c, goodpath.c, interfaces.c:
17648         o Reorder some headers and use STDC_HEADERS define properly o Update
17649         copyright year
17650         [fb46d46140d4]
17651
17652         * getcwd.c:
17653         o Reorder some headers and use STDC_HEADERS define properly o Update
17654         copyright year
17655         [b199d70ac7ab]
17656
17657         * alloc.c, check.c, defaults.c, env.c, fileops.c, find_path.c,
17658         fnmatch.c:
17659         o Reorder some headers and use STDC_HEADERS define properly o Update
17660         copyright year
17661         [dab8f192a3ed]
17662
17663         * configure:
17664         regen
17665         [156658f25cea]
17666
17667         * tgetpass.c:
17668         flags set in signal handlers should be volatile sig_atomic_t
17669         [c22931a5535e]
17670
17671         * config.h.in, configure.in:
17672         Add checks for volatile and sig_atomic_t
17673         [b03b3341381d]
17674
17675         * configure, lex.yy.c:
17676         regen
17677         [ed9daba88217]
17678
17679         * def_data.c, def_data.h, def_data.in, defaults.c, env.c, find_path.c,
17680         sudo.c, sudoers.pod:
17681         Remove "secure_path" Defaults option since it cannot work with the
17682         existing parser.
17683         [c9e54a0f5971]
17684
17685         * find_path.c, sudo.c:
17686         Unset "secure_path" if user_is_exempt()
17687         [fb7544565ae8]
17688
17689         * env.c, pathnames.h.in:
17690         o Remove assumption that PATH and TERM are not listed in env_keep o
17691         If no PATH is in the environment use a default value o If TERM is
17692         not set in the non-reset case also give it a default value.
17693         [c987eb7df268]
17694
17695         * aclocal.m4, configure.in, defaults.c, pathnames.h.in:
17696         _PATH_SENDMAIL -> _PATH_SUDO_SENDMAIL so --without-sendmail works on
17697         systems that define in paths.h
17698         [51865b0cdebf]
17699
17700         * auth/passwd.c, auth/sudo_auth.c, auth/sudo_auth.h:
17701         Add support for skeyaccess(3) if it is present in libskey.
17702         [8add77c7d3e7]
17703
17704 2001-12-13  Todd C. Miller  <Todd.Miller@courtesan.com>
17705
17706         * sudo.c:
17707         Only need to do 'lc = login_getclass(NULL)' if lc == NULL
17708         [5a3d3cbf2c6d]
17709
17710         * parse.lex:
17711         '\\' is a perfectly legal character to have in a command line
17712         argument.
17713         [c15a466ef00e]
17714
17715         * sudo.c:
17716         o Defer call to set_fqdn() until it is safe to use log_error() o
17717         Don't print errno string value if gethostbyname fails, it is not
17718         relevant
17719         [c0c6bcf08bcb]
17720
17721         * parse.c:
17722         Fix CIDR -> in_addr_t conversion.
17723         [2f307ebeb63f]
17724
17725 2001-12-12  Todd C. Miller  <Todd.Miller@courtesan.com>
17726
17727         * sudoers.pod:
17728         Remove an extra "User_List" in the User_Spec definition From
17729         ybertrand AT snoopymail.com
17730         [97bde59ea280]
17731
17732         * parse.c:
17733         Make 'listpw=never' work for users who are not explicitly mentioned
17734         in sudoers.
17735         [258f0f30a428]
17736
17737         * sudoers.pod:
17738         Remove gratuitous '=' in EBNF grammar; era AT iki.fi
17739         [4b0f03872ee1]
17740
17741         * sudoers.pod:
17742         Document new list Defaults type and convert env_keep and env_delete
17743         to lists. Document new env_check option.
17744         [a07f1f079fe3]
17745
17746         * lex.yy.c, sudo.tab.c, sudo.tab.h:
17747         regen parser
17748         [e39ac6c6581b]
17749
17750         * parse.lex:
17751         Don't let '#' appear in a {WORD} and restrict #foo in a Runas spec
17752         to #[0-9-]+.
17753         [69c5388908f3]
17754
17755         * configure:
17756         regen
17757         [0f1877b88cb3]
17758
17759         * aclocal.m4:
17760         Simpler SUDO_FUNC_ISBLANK that uses AC_TRY_LINK
17761         [6545503ae361]
17762
17763         * config.h.in, configure.in:
17764         Add check for skeyaccess(3)
17765         [6caf69fe6359]
17766
17767         * visudo.pod:
17768         Document new -c, -f, and -q options
17769         [13d0203c21d3]
17770
17771         * visudo.c:
17772         o Add -f option (alternate sudoers file) o Convert to use getopt(3)
17773         [4c2b664d617d]
17774
17775         * configure:
17776         regen
17777         [6d5bd932e7b5]
17778
17779         * aclocal.m4, config.h.in, configure.in:
17780         Add check for isblank and a replacement macro if it doesn't exist.
17781         [b524f5e4f953]
17782
17783 2001-12-11  Todd C. Miller  <Todd.Miller@courtesan.com>
17784
17785         * visudo.c:
17786         In check-only mode, don't create sudoers if it does not already
17787         exist.
17788         [c748a2d5acad]
17789
17790         * parse.yacc:
17791         o Add a new token, DEFVAR, to indicate a Defaults variable name o
17792         Add support for "+=" and "-=" list operators o replace some 1 and 0
17793         with TRUE and FALSE for greater legibility.
17794         [554cb174b37e]
17795
17796         * parse.lex:
17797         o Use exclusive start conditions to remove some ambiguity in the
17798         lexer. Also reorder some things for clarity. o Add support for
17799         "+=" and "-=" list operators. o Use the new DEFVAR token to denote
17800         a Defaults variable name.
17801         [3a2cf8323e26]
17802
17803         * sudo.h:
17804         Prototype init_envtables()
17805         [b74916469dab]
17806
17807         * env.c:
17808         o Convert environment handling to use lists instead of strings.
17809         This greatly simplifies routines that need to do "foreach" type
17810         operations. o Add new init_envtables() function to set env_check
17811         and env_delete defaults based on initial_badenv_table and
17812         initial_checkenv_table (formerly sudo_badenv_table).
17813         [0a8b404658b6]
17814
17815         * defaults.c, defaults.h:
17816         o Add a new LIST type and functions to manipulate it. o This is for
17817         use with environment handling variables. o Call new
17818         init_envtables() routine inside init_defaults() to initialize the
17819         environment lists.
17820         [ae73e64f0902]
17821
17822         * def_data.c, def_data.h, def_data.in:
17823         Convert environment options to use the new LIST type and add a new
17824         one, env_check that only deletes if the sanity check fails.
17825         [3019503936de]
17826
17827         * testsudoers.c:
17828         Add dummy version of init_envtables()
17829         [9d9e3ee609d9]
17830
17831         * parse.yacc:
17832         honor quiet mode
17833         [8330fba6167c]
17834
17835         * visudo.c:
17836         Add check-only mode
17837         [dab411bc8c35]
17838
17839         * mkdefaults:
17840         Fix generation of entries with NULL descriptions.
17841         [ea75b9fed02e]
17842
17843 2001-12-09  Todd C. Miller  <Todd.Miller@courtesan.com>
17844
17845         * tgetpass.c:
17846         Use sigaction_t and quiet a gcc warning.
17847         [6f67d719c452]
17848
17849         * sudo.c:
17850         Must reset signal handlers before we exec
17851         [300418120e1a]
17852
17853         * auth/aix_auth.c, auth/bsdauth.c, auth/fwtk.c, auth/pam.c,
17854         auth/sudo_auth.c:
17855         Be carefule now that tgetpass() can return NULL (user hit ^C). PAM
17856         version needs testing. Set SIGTSTP to SIG_DFL during password entry
17857         so user can suspend us.
17858         [00304aa58747]
17859
17860         * tgetpass.c:
17861         Add support for interrupting/suspending tgetpass via keyboard input.
17862         If you suspend sudo from the password prompt and resume it will re-
17863         prompt you.
17864         [4af2b5101d32]
17865
17866         * sudo.c:
17867         Don't block keyboard interrupt signals, just set them to SIG_IGN.
17868         [d46d7f67ef6b]
17869
17870 2001-12-08  Todd C. Miller  <Todd.Miller@courtesan.com>
17871
17872         * config.h.in:
17873         add back HAVE_SIGACTION
17874         [c9c7702c603e]
17875
17876         * configure:
17877         regen
17878         [09fe669d337f]
17879
17880         * config.h.in, configure.in, logging.c, sudo.c, visudo.c:
17881         Kill POSIX_SIGNALS define and old signal support now that we emulate
17882         POSIX ones Also be sure to correctly initialize struct sigaction.
17883         [4bc2a6dbb2be]
17884
17885         * strerror.c:
17886         Don't need config.h or "#ifndef HAVE_STRERROR" wrapper.
17887         [1ad64a19f328]
17888
17889         * compat.h:
17890         Add scaffolding for POSIX signal emulation
17891         [945861d4c93b]
17892
17893         * sigaction.c:
17894         o Add missing ';' so this compiles o Can't use NULL since we don't
17895         include stdio.h
17896         [04d0cac7438f]
17897
17898         * sigaction.c:
17899         Emulate sigaction() using sigvec()
17900         [d0b54a989875]
17901
17902 2001-11-13  Todd C. Miller  <Todd.Miller@courtesan.com>
17903
17904         * sudoers.pod:
17905         Document new behavior of negative values of timestamp_timeout Fix a
17906         typo
17907         [4c0716570d01]
17908
17909         * sudo.pod:
17910         Add security note about command not being logged after 'sudo su' and
17911         friends.
17912         [43294851a33c]
17913
17914         * sudo.pod:
17915         Mention that -V prints default values when run as root, including
17916         the list of environment variables to clear.
17917         [d9e5e550a8c3]
17918
17919         * Makefile.in:
17920         Run pod2man with --quotes=none to avoid stupid quoting of C<>
17921         entries.
17922         [997b23c35dbe]
17923
17924 2001-11-12  Todd C. Miller  <Todd.Miller@courtesan.com>
17925
17926         * auth/sudo_auth.c, def_data.c, def_data.h, def_data.in, sudoers.pod:
17927         Add mail_badpass option Also modify mail_always behavior to also
17928         send mail when the password is wrong
17929         [838d40ccafce]
17930
17931         * env.c, sudo.c, sudo.h:
17932         Dump default bad env table when 'sudo -V' is run by root.
17933         [f67f1b8048b0]
17934
17935         * sudoers.pod:
17936         document env_delete
17937         [d74f893663a2]
17938
17939         * env.c:
17940         Add support for '*' in env_keep when not resetting the environment
17941         (ie: the normal case).
17942         [fd4fb62ea8fd]
17943
17944         * env.c:
17945         Add env_delete variable that lets the user replace/add to the
17946         bad_env_table. Allow '*' wildcard in env_keep entries.
17947         [aa728bc35e29]
17948
17949 2001-11-06  Todd C. Miller  <Todd.Miller@courtesan.com>
17950
17951         * mkinstalldirs:
17952         Force umask to 022 to guarantee sane directory permissions.
17953         [9ab3cfe70569]
17954
17955 2001-11-02  Todd C. Miller  <Todd.Miller@courtesan.com>
17956
17957         * Makefile.in:
17958         add sudo.tab.h and sudo.tab.c to sudo.tab.o dependency
17959         [671010465e6f]
17960
17961         * mkdefaults:
17962         fix breakage in last commit
17963         [8318f8851e56]
17964
17965         * Makefile.in:
17966         acsite.m4 -> aclocal.m4
17967         [30c146873a01]
17968
17969         * check.c:
17970         fix I_TS_TIMEOUT vs. I_TIMESTAMP_TIMEOUT pasto in previous commit
17971         [4dc8b39954da]
17972
17973         * def_data.c:
17974         regenerated from def_data.in
17975         [915ea16ce1eb]
17976
17977         * check.c, defaults.c, defaults.h:
17978         Add new T_UINT type that most things use instead of T_INT If
17979         timestamp_timeout is < 0 then treat the ticket as never expiring (to
17980         be expired manually by the user).
17981         [3a3a636a2a5d]
17982
17983         * def_data.in:
17984         change most T_INT -> T_UINT
17985         [a2228d2457af]
17986
17987         * mkdefaults:
17988         fix warning when no args
17989         [ca70a5394af5]
17990
17991         * visudo.c:
17992         Change 2 Exit() -> exit() Avoid stdio in Exit() and call _exit() if
17993         we are a signal handler. We no longer print the signal number but
17994         the user can just check the exit value for that.
17995         [dc424f631fef]
17996
17997 2001-10-16  Todd C. Miller  <Todd.Miller@courtesan.com>
17998
17999         * logging.c:
18000         when setting up pipes in child process check for case where stdin ==
18001         pipe fd 0
18002         [518112d76184]
18003
18004 2001-10-11  Todd C. Miller  <Todd.Miller@courtesan.com>
18005
18006         * visudo.c:
18007         Ignore editor exit value since XPG4 says vi's exit value is the
18008         count of editing errors made (failed searches, etc).
18009         [b9d952284865]
18010
18011 2001-10-05  Todd C. Miller  <Todd.Miller@courtesan.com>
18012
18013         * configure:
18014         regen
18015         [cb3aa586f03b]
18016
18017         * configure.in:
18018         sco now is identified by config.guess as *-sco-*
18019         [46664bbdea61]
18020
18021         * configure.in:
18022         Check for getspnam() in -lgen if not in -lc for UnixWare.
18023         [0f152ad1ba93]
18024
18025 2001-09-18  Todd C. Miller  <Todd.Miller@courtesan.com>
18026
18027         * sudoers.pod, visudo.pod:
18028         "upper case" -> "uppercase"
18029         [f9151f232326]
18030
18031         * sudoers.pod:
18032         fix typos and grammar; pjanzen@foatdi.harvard.edu
18033         [2855d73d0237]
18034
18035 2001-08-28  Todd C. Miller  <Todd.Miller@courtesan.com>
18036
18037         * sudoers.pod:
18038         Missing word (specify); krapht@secureops.com
18039         [65523eb37a2c]
18040
18041 2001-08-23  Todd C. Miller  <Todd.Miller@courtesan.com>
18042
18043         * sudo.c:
18044         If we fail to lookup a login class, apply the default one.
18045         [d4869faa6816]
18046
18047         * logging.c:
18048         In log_error() free message, not logline unconditionally, then free
18049         logline if it is not the same as message. No function change but
18050         this mirrors how they are allocated.
18051         [565e5f6cc643]
18052
18053 2001-07-17  Todd C. Miller  <Todd.Miller@courtesan.com>
18054
18055         * configure:
18056         regenerate
18057         [834a48f548a2]
18058
18059         * configure.in:
18060         remove some backslash quotes that are unneeded
18061         [50d401d6e2ca]
18062
18063         * configure.in:
18064         o Tweaks to make this work with autoconf-2.50 o Use AC_LIBOBJ
18065         instead of changing LIBOBJS directly o Use AC_REPLACE_FUNCS where we
18066         can o Use AC_CHECK_FUNCS instead of AC_CHECK_FUNC so we don't have
18067         to AC_DEFINE things manually.
18068         [f502c5f15f92]
18069
18070         * config.guess, config.sub:
18071         Updated from autoconf-2.50
18072         [6140205915ef]
18073
18074 2001-05-22  Todd C. Miller  <Todd.Miller@courtesan.com>
18075
18076         * README:
18077         Update mailing list section. We use mailman now, not majordomo.
18078         [b9a8ca45e6dc]
18079
18080 2001-05-10  Todd C. Miller  <Todd.Miller@courtesan.com>
18081
18082         * getspwuid.c, logging.c, sudo.c:
18083         Use setpwent()/endpwent() + all the shadow variants to make sure we
18084         don't inadvertantly leak an fd to the child. Apparently Linux's
18085         shadow routines leave the fd open even if you don't call setspent().
18086         Reported by mike@gistnet.com; different patch used.
18087         [d33792ef6c01]
18088
18089 2001-04-13  Todd C. Miller  <Todd.Miller@courtesan.com>
18090
18091         * sudoers.pod:
18092         s/eg./e.g./
18093         [bd32a0acaf93]
18094
18095         * tgetpass.c:
18096         select() may return EAGAIN. If so, continue like we do for EINTR.
18097         [5f202c943818]
18098
18099         * logging.c:
18100         Fix a non-exploitable buffer overflow in the word splitting code.
18101         This should really be rewritten.
18102         [4c724363863a]
18103
18104         * Makefile.in:
18105         FAQ link goes away
18106         [1d26dd6c8972]
18107
18108         * INSTALL:
18109         Tell people to look in sample.syslog.conf for examples, not FAQ
18110         [affcae3f43ca]
18111
18112         * TROUBLESHOOTING:
18113         Update list of env vars that are cleared
18114         [234e56f1435a]
18115
18116         * sudo.c:
18117         remove struct env_table decl since that stuff has all moved to env.c
18118         [5dd923148777]
18119
18120 2001-04-04  Todd C. Miller  <Todd.Miller@courtesan.com>
18121
18122         * fileops.c:
18123         Fix a pasto in flock-style unlocking and include <sys/file.h> for
18124         flock on older systems; twetzel@gwdg.de
18125         [d5420d9d2861]
18126
18127         * configure:
18128         regen to get NeXT lockf/flock fix
18129         [d3ba6ed70e15]
18130
18131         * configure.in:
18132         force NeXT to use flock since lockf is broken
18133         [bd5391dca1bb]
18134
18135 2001-03-30  Todd C. Miller  <Todd.Miller@courtesan.com>
18136
18137         * check.c:
18138         Use stashed user_gid when checking against exempt gid since sudo
18139         sets its gid to a a value that makes sudoers readable. Previously
18140         if you used gid 0 as the exempt group everyone would be exempt. From
18141         Paul Kranenburg <pk@cs.few.eur.nl>
18142         [0b140cc3a817]
18143
18144 2001-03-29  Todd C. Miller  <Todd.Miller@courtesan.com>
18145
18146         * configure:
18147         regen
18148         [cc455408f32b]
18149
18150         * aclocal.m4:
18151         #include stdio.h in SUDO_CHECK_TYPE since IRIX 6 aparently defines
18152         some types (such as ssize_t) therein.
18153         [b6aee85ca331]
18154
18155 2001-03-02  Todd C. Miller  <Todd.Miller@courtesan.com>
18156
18157         * defaults.c:
18158         Fix negation of paths in a boolean context. Problem found by
18159         apt@UH.EDU
18160         [8aee217a7cdf]
18161
18162 2001-02-23  Todd C. Miller  <Todd.Miller@courtesan.com>
18163
18164         * visudo.c:
18165         pasto
18166         [ad32b277bf68]
18167
18168 2001-02-17  Todd C. Miller  <Todd.Miller@courtesan.com>
18169
18170         * visudo.c:
18171         SA_RESETHAND means the opposite of what I was thinking--oops To
18172         block all signals in old-style signals use ~0, not 0xffffffff
18173         [6ecdd793590a]
18174
18175 2001-02-04  Todd C. Miller  <Todd.Miller@courtesan.com>
18176
18177         * defaults.c:
18178         coerce difference of pointers to int when used in a string length
18179         printf format; deraadt@openbsd.org
18180         [a9d10f07180d]
18181
18182 2001-01-17  Todd C. Miller  <Todd.Miller@courtesan.com>
18183
18184         * visudo.c:
18185         Block all signals in Exit() to avoid a signal race. There is still
18186         a tiny window but I'm not going to worry about it.
18187         [6661805c0458]
18188
18189 2001-01-07  Todd C. Miller  <Todd.Miller@courtesan.com>
18190
18191         * env.c:
18192         glibc uses the LANGUAGE env var so clear that too; Solar Designer
18193         [d4ba95628afb]
18194
18195         * lex.yy.c:
18196         Regenerate with a fix to flex.skl that preserves errno from
18197         clobbering by isatty().
18198         [607eec736e19]
18199
18200 2000-12-31  Todd C. Miller  <Todd.Miller@courtesan.com>
18201
18202         * auth/aix_auth.c, auth/bsdauth.c, auth/fwtk.c, auth/pam.c,
18203         auth/sia.c, auth/sudo_auth.c:
18204         Some defaults I_ defines got renamed.
18205         [ec19b23caaf3]
18206
18207         * Makefile.in, check.c, def_data.c, def_data.h, def_data.in,
18208         defaults.c, defaults.h, env.c, logging.c, mkdefaults, parse.yacc,
18209         set_perms.c, sudo.c, sudo.tab.c:
18210         Move defaults info into its own files from which we generate .h and
18211         .c files. This makes adding or rearranging variables much simpler.
18212         [e91b880b5043]
18213
18214 2000-12-30  Todd C. Miller  <Todd.Miller@courtesan.com>
18215
18216         * configure, configure.in:
18217         fix typo in last commit
18218         [10a6ee2bae71]
18219
18220         * compat.h, config.h.in, configure, configure.in:
18221         Add check + emulation for setegid (like seteuid).
18222         [29492092bd2f]
18223
18224         * env.c:
18225         Make env_keep override badenv_table as documented Fix traversal of
18226         badenv_table (broken in last commit)
18227         [37c9f0d22673]
18228
18229         * set_perms.c, sudo.c, sudo.h:
18230         Don't try and build saved uid version of set_perms on systems w/o
18231         them. Rename set_perms_saved_uid() -> set_perms_posix() Make
18232         set_perms_setreuid simply be set_perms_fallback() and simply include
18233         the appropriate function at compile time (setreuid() vs. setuid()).
18234         [3107333c062c]
18235
18236         * sudoers.cat, sudoers.man.in, sudoers.pod:
18237         PATH is also preserved when env_reset is in effect
18238         [90e45c5711ff]
18239
18240         * CHANGES, Makefile.in, check.c, compat.h, config.h.in, configure,
18241         configure.in, defaults.c, defaults.h, env.c, find_path.c,
18242         getspwuid.c, set_perms.c, sudo.c, sudo.cat, sudo.h, sudo.man.in,
18243         sudo.pod, sudoers.cat, sudoers.man.in, sudoers.pod, testsudoers.c,
18244         visudo.c, visudo.cat, visudo.man.in:
18245         New Defaults options: o stay_setuid - sudo will remain setuid if
18246         system has saved uids or setreuid(2) o env_reset - reset the
18247         environment to a sane default o env_keep - preserve environment
18248         variables that would otherwise be cleared
18249
18250         No longer use getenv/putenv/setenv functions--do environment munging
18251         by hand. Potentially dangerous environment variables can be cleared
18252         only if they contain '/' pr '%' characters to protect buggy
18253         programs. Moved environment routines into env.c (new file)
18254         [c2f97651db4c]
18255
18256         * INSTALL:
18257         Clear up --without-passwd description
18258         [2f336dab6733]
18259
18260         * putenv.c, sudo_setenv.c:
18261         We now build up a new environment from scratch and assign it to
18262         "environ".
18263         [6ae6152f2238]
18264
18265 2000-12-19  Todd C. Miller  <Todd.Miller@courtesan.com>
18266
18267         * sudo.pod, visudo.pod:
18268         Grammatical fixes from Paul Janzen
18269         [e03ead2e56f8]
18270
18271 2000-12-15  Todd C. Miller  <Todd.Miller@courtesan.com>
18272
18273         * visudo.c:
18274         If there was a syntax error and the user just wants to quit, unlink
18275         sudoers if it is zero length.
18276         [74ba7921f520]
18277
18278         * visudo.c:
18279         'Q' means ignore parse error, not 'q'
18280         [e8d0e4491fe6]
18281
18282         * visudo.c:
18283         Open sudoers for writing with mode SUDOERS_MODE From Dimitry Andric
18284         <dim@xs4all.nl>
18285         [b24990a72491]
18286
18287 2000-12-13  Todd C. Miller  <Todd.Miller@courtesan.com>
18288
18289         * set_perms.c:
18290         Add missing #ifdef HAVE_LOGIN_CAP_H; ayamura@ayamura.org
18291         [41a8db10e076]
18292
18293 2000-12-09  Todd C. Miller  <Todd.Miller@courtesan.com>
18294
18295         * config.guess, config.sub:
18296         Darwin / Mac OS X support from Wilfredo Sanchez <wsanchez@apple.com>
18297         [6052da895d2e]
18298
18299 2000-11-03  Todd C. Miller  <Todd.Miller@courtesan.com>
18300
18301         * sudo.c, visudo.c:
18302         Use exit(127), not exit(-1)
18303         [9ff0c3eada34]
18304
18305         * Makefile.in, defaults.c, defaults.h, set_perms.c, sudo.c:
18306         Move set_perms() to its own file and use POSIX saved uid or
18307         setreuid() if available.
18308
18309         Added stay_setuid option for systems that have libraries that
18310         perform extra paranoia checks in system libraries for setuid
18311         programs (ie: anything with issetugid(2)).
18312         [28960f842698]
18313
18314         * sudo.c:
18315         strip more bits from the environment and add a facility for
18316         stripping things only if they contain '/' or '%' to address printf
18317         format string vulnerabilities in other programs.
18318         [b98d6375f299]
18319
18320 2000-11-02  Todd C. Miller  <Todd.Miller@courtesan.com>
18321
18322         * configure:
18323         regen
18324         [7e74e5c91049]
18325
18326         * configure.in:
18327         For NCR, add -lc89 to LIBS, not SUDO_LIBS and cache the existence of
18328         strcasecmp().
18329         [a418e9e70442]
18330
18331         * configure:
18332         regen
18333         [bbff244a52bc]
18334
18335         * configure.in:
18336         Check for strcasecmp(3) in -lc89 for NCR Unix
18337         [361c99576681]
18338
18339 2000-11-01  Todd C. Miller  <Todd.Miller@courtesan.com>
18340
18341         * config.h.in:
18342         Define HAVE_INNETGR #ifdef HAVE__INNETGR
18343         [473cdb92b6db]
18344
18345         * configure:
18346         regen
18347         [4e6364a195e0]
18348
18349         * compat.h, config.h.in, configure.in:
18350         Add check for _innetgr(3) since NCR systems have that instead of
18351         innetgr(3).
18352         [25e6852e7494]
18353
18354 2000-10-31  Todd C. Miller  <Todd.Miller@courtesan.com>
18355
18356         * auth/securid.c:
18357         check return value of creadcfg() call sd_close() after sd_auth()
18358         store username in sd->username so we don't rely on the USER env
18359         variable
18360         [d106b4f42722]
18361
18362 2000-10-30  Todd C. Miller  <Todd.Miller@courtesan.com>
18363
18364         * INSTALL:
18365         document --with-bsdauth
18366         [f1518ecc2ee9]
18367
18368         * configure:
18369         regen
18370         [dceb35071ea8]
18371
18372         * configure.in:
18373         --with-bsdauth assumes --with-logincap
18374         [4200778083fd]
18375
18376         * auth/bsdauth.c, auth/fwtk.c:
18377         When prompting for a response to a challenge, if the user just hits
18378         return then reprompt with echo turned on.
18379         [a539b6474a97]
18380
18381 2000-10-29  Todd C. Miller  <Todd.Miller@courtesan.com>
18382
18383         * sudo.c:
18384         Remove debugging code that should not have been committed, oops.
18385         [9862607b77a7]
18386
18387         * auth/bsdauth.c:
18388         Use lower-level routines and get the password ourselves. Checks for
18389         a challenge and if there is one echo is not turned off.
18390         [2d8fcd166baa]
18391
18392         * auth/pam.c, auth/sudo_auth.h:
18393         minor housekeeping, no real code changes
18394         [d0074a277fb4]
18395
18396 2000-10-27  Todd C. Miller  <Todd.Miller@courtesan.com>
18397
18398         * sudo.c:
18399         Fix a coredump in the logging functions if gethostname(2) fails by
18400         deferring the call to log_error() until things are better setup.
18401
18402         Fix return value of set_loginclass() in non-BSD-auth case.
18403
18404         Hard-code 'sudo' in the usage message so we can fit more options on
18405         a line
18406         [d9d1b7579818]
18407
18408         * logging.c:
18409         Fix errant ';' (typo) that broken MSG_ONLY
18410         [849b2276a470]
18411
18412 2000-10-26  Todd C. Miller  <Todd.Miller@courtesan.com>
18413
18414         * sudo.cat, sudo.man.in:
18415         regen
18416         [bb3c8c6704d1]
18417
18418         * sudo.pod:
18419         Document -a flag
18420         [e18316cebaac]
18421
18422         * Makefile.in, auth/bsdauth.c, auth/sudo_auth.h, config.h.in,
18423         configure, configure.in, getspwuid.c, sudo.c:
18424         Add support for BSD authentication.
18425         [f374cfd9ca0d]
18426
18427 2000-10-19  Todd C. Miller  <Todd.Miller@courtesan.com>
18428
18429         * sudoers.pod:
18430         Fix typo; from sato@complex.eng.hokudai.ac.jp
18431         [3085fee9766e]
18432
18433 2000-10-12  Todd C. Miller  <Todd.Miller@courtesan.com>
18434
18435         * sudoers.pod:
18436         Mention negating umask
18437         [c9e410294dae]
18438
18439         * defaults.c:
18440         Allow user to specify umask of 0777 (same as !umask)
18441         [bb771daa96fe]
18442
18443 2000-10-09  Todd C. Miller  <Todd.Miller@courtesan.com>
18444
18445         * sudo.pod, visudo.pod:
18446         Fix a typo and give a URL for the sudo history.
18447         [77f73199aedb]
18448
18449 2000-10-08  Todd C. Miller  <Todd.Miller@courtesan.com>
18450
18451         * defaults.c, sudo.pod:
18452         fix typos; pepper@reppep.com
18453         [5532c7421340]
18454
18455 2000-09-14  Todd C. Miller  <Todd.Miller@courtesan.com>
18456
18457         * sudo.c, sudo.h, sudo_setenv.c:
18458         sudo_setenv() now exits on memory alloc failure instead of returning
18459         -1.
18460         [71f1cf18f47b]
18461
18462 2000-09-07  Todd C. Miller  <Todd.Miller@courtesan.com>
18463
18464         * sudo.c:
18465         Strip out NLSPATH and PATH_LOCALE from the environment for FreeBSD
18466         and possibly others.
18467         [b69d985b0d22]
18468
18469         * logging.c:
18470         Don't use vsyslog(3) since HP-UX (and others?) lack it. This means
18471         that "%m" won't be expanded but we don't use that anyway since the
18472         logging routines may splat to stderr as well.
18473         [8d37a544d0c0]
18474
18475         * defaults.c, defaults.h, sudo.c, sudoers.cat, sudoers.man.in,
18476         sudoers.pod:
18477         Add always_set_home variable
18478         [dbcaff646e07]
18479
18480         * configure, configure.in:
18481         Have to hard code default values in help since the defaults are set
18482         _after_ the help stuff.
18483         [7b5d6d72f55c]
18484
18485 2000-08-31  Todd C. Miller  <Todd.Miller@courtesan.com>
18486
18487         * lex.yy.c, parse.lex:
18488         Allow special characters (including '#') to be embedded in pathnames
18489         if quoted by a '\\'. The quoted chars will be dealt with by
18490         fnmatch(). Unfortunately, 'sudo -l' still prints the '\\'.
18491         [3ed33cf09977]
18492
18493 2000-08-13  Todd C. Miller  <Todd.Miller@courtesan.com>
18494
18495         * install-sh:
18496         Better path searching for programs we need.
18497         [60517cb1f0d6]
18498
18499         * TROUBLESHOOTING:
18500         Add section on "C compiler cannot create executables" errors.
18501         [e4ada6eaee59]
18502
18503         * Makefile.binary, Makefile.in, version.h:
18504         Crank version
18505         [93d1bd5b7f5e]
18506
18507         * aclocal.m4, configure, configure.in, sudo.cat, sudo.man.in,
18508         sudo.pod, sudoers.cat, sudoers.man.in, sudoers.pod, visudo.cat,
18509         visudo.man.in, visudo.pod:
18510         Substitute values from configure into man pages.
18511         [619854c356c1]
18512
18513 2000-08-12  Todd C. Miller  <Todd.Miller@courtesan.com>
18514
18515         * parse.c, sudo.c:
18516         The listpw and verifypw sudoers options would not take effect
18517         because the value of the default was checked *before* sudoers was
18518         parsed. Instead of passing in the value of PWCHECK_* to
18519         sudoers_lookup(), pass in the arg for def_ival() so the check can be
18520         deferred until after sudoers is parsed.
18521         [4f596e358f72]
18522
18523 2000-08-11  Todd C. Miller  <Todd.Miller@courtesan.com>
18524
18525         * tgetpass.c:
18526         When writing prompt, no need to write the NUL as well;
18527         hag@linnaean.org
18528         [fbcdd7b431ee]
18529
18530 2000-06-09  Todd C. Miller  <Todd.Miller@courtesan.com>
18531
18532         * install-sh:
18533         When looking for chown, check in /sbin too
18534         [657ba6653f8c]
18535
18536 2000-06-05  Todd C. Miller  <Todd.Miller@courtesan.com>
18537
18538         * visudo.c:
18539         Remove extraneous call to init_defaults() and set runas_user to NULL
18540         betweem parses so init_defaults will reset it each time, thus
18541         avoiding a reference to free()d data.
18542         [7421fcd692af]
18543
18544 2000-06-04  Todd C. Miller  <Todd.Miller@courtesan.com>
18545
18546         * config.h.in, interfaces.c, interfaces.h, sudo.c:
18547         Add support for using getifaddrs() to get the list of ip addr /
18548         netmask pairs. Currently IPv4-only.
18549         [a35bc4f7306d]
18550
18551         * visudo.c:
18552         Add a missing check for UserEditor == NULL Add missing '+' before
18553         line number when invoking editor to fix a syntax error
18554         [f0d4635f6082]
18555
18556 2000-05-12  Todd C. Miller  <Todd.Miller@courtesan.com>
18557
18558         * sudo.c:
18559         Call clean_env very early in main() for paranoia's sake. Idea from
18560         Marc Esipovich.
18561         [f8d72ebd0115]
18562
18563 2000-05-10  Todd C. Miller  <Todd.Miller@courtesan.com>
18564
18565         * sudo.h:
18566         Update proto for evasprintf and easprintf
18567         [d147d6e58419]
18568
18569         * alloc.c:
18570         Make easprintf() and evasprintf() return an int.
18571         [b2ca5d089667]
18572
18573         * check.c:
18574         If the targetpw flag is set, use target username as part of the
18575         timestamp path. If tty tickets are in effect cat the tty and the
18576         target username with a ':' as the separator.
18577         [de11abc693c2]
18578
18579 2000-05-09  Todd C. Miller  <Todd.Miller@courtesan.com>
18580
18581         * auth/pam.c:
18582         Backout part of last change; setting PAM_USER to the invoking user
18583         breaks things like targetpw.
18584         [427218a7387f]
18585
18586         * auth/pam.c:
18587         set tty and username via pam_set_item
18588         [85d1922dbcc9]
18589
18590         * auth/sudo_auth.c, check.c, getspwuid.c, sudo.c, sudo.h:
18591         Fix root, runas, and target authentication for non-passwd file auth
18592         methods.
18593         [a14535e7b30c]
18594
18595 2000-04-22  Todd C. Miller  <Todd.Miller@courtesan.com>
18596
18597         * sudo.cat, sudo.man.in, sudo.pod, sudoers.cat, sudoers.man.in,
18598         sudoers.pod, visudo.cat, visudo.man.in, visudo.pod:
18599         Use B<-Z> not C<-Z> for command line flags in all places. This is
18600         more consistent and works around a bug in Pod::Man.
18601         [64b5a05f30c5]
18602
18603         * sudoers.cat, sudoers.man.in, sudoers.pod:
18604         Fix an occurence of 'semicolon' that should be 'colon'
18605         [4ea5aacae3fb]
18606
18607 2000-04-19  Todd C. Miller  <Todd.Miller@courtesan.com>
18608
18609         * configure, configure.in:
18610         Fix --with-badpri help line
18611         [3cc40977c043]
18612
18613 2000-04-17  Todd C. Miller  <Todd.Miller@courtesan.com>
18614
18615         * defaults.c, logging.c, sudo.c:
18616         Bracket calls to syslog with an openlog() and closelog() since some
18617         authentication methods (like PAM) may do their own logging via
18618         syslog. Since we don't use syslog much (usually just once per
18619         session) this doesn't really incur a performance penalty. It also
18620         Fixes a SEGV with pam_kafs.
18621         [fe1cc28529f6]
18622
18623 2000-04-15  Todd C. Miller  <Todd.Miller@courtesan.com>
18624
18625         * sudo.c:
18626         Fix -H flag. runas_homedir is only valid after
18627         set_perms(PERM_RUNAS, mode)
18628         [ce9b1c6f68a6]
18629
18630 2000-04-12  Todd C. Miller  <Todd.Miller@courtesan.com>
18631
18632         * INSTALL:
18633         Clarify the fact that insults are not enabled just by including them
18634         in the binary.
18635         [d5a31d48320c]
18636
18637 2000-04-07  Todd C. Miller  <Todd.Miller@courtesan.com>
18638
18639         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in, visudo.cat,
18640         visudo.man.in:
18641         Regenerated with perl 5.6.0 pod2man
18642         [21751433768b]
18643
18644         * Makefile.in:
18645         Give date string to pod2man since its default is ugly and it ain't
18646         got no alibi.
18647         [0080b2f6298f]
18648
18649         * Makefile.in:
18650         Do section substitution on the output of pod2man and remove hack
18651         needed for old pod2man.
18652         [1ef843d5c78b]
18653
18654         * sudo.pod, sudoers.pod, visudo.pod:
18655         Put back real man sections, we will do the substitution later.
18656         [f728c1abad7e]
18657
18658 2000-04-02  Todd C. Miller  <Todd.Miller@courtesan.com>
18659
18660         * configure, configure.in:
18661         Don't bother checking for the path to vi if user specified --with-
18662         editor
18663         [bf698487e0d5]
18664
18665 2000-04-01  Todd C. Miller  <Todd.Miller@courtesan.com>
18666
18667         * CHANGES, visudo.c:
18668         Visudo now does its own fork/exec instead of calling system(3).
18669         [99bbcd88863b]
18670
18671         * CHANGES, INSTALL, Makefile.in, sudoers.cat, sudoers.man.in,
18672         sudoers.pod, visudo.c:
18673         Visudo now checks for the existence of an editor and gives a
18674         sensible error if it does not exist.
18675
18676         The path to the editor for visudo is now a colon-separated list of
18677         allowable editors. If the user has $EDITOR set and it matches one
18678         of the allowed editors that editor will be used. If not, the first
18679         editor in the list that actually exists is used.
18680         [cc86eb9f5440]
18681
18682         * sudo.cat, sudo.man.in, sudo.pod:
18683         Clear up confusion wrt sudo's return value.
18684         [9385b12d8e79]
18685
18686 2000-03-27  Todd C. Miller  <Todd.Miller@courtesan.com>
18687
18688         * Makefile.in:
18689         Strip sudo and visudo for bindist target
18690         [a995ddd79177]
18691
18692         * sudo.cat, sudo.man.in, sudo.pod, sudoers.cat, sudoers.man.in,
18693         sudoers.pod, visudo.cat, visudo.man.in, visudo.pod:
18694         Use @mansectsu@ and @mansectform@ in the man page bodies as well.
18695         [5eb9e60a726f] [SUDO_1_6_3]
18696
18697         * visudo.cat, visudo.man.in, visudo.pod:
18698         Typo: @sysconf@ -> @sysconfdir@
18699         [f07f52fcd099]
18700
18701         * Makefile.in:
18702         'make dist' should not cause any files to be modified so remove its
18703         dependencies.
18704         [7f44a2666a9c]
18705
18706         * CHANGES:
18707         Whoops, forgot to add release marker
18708         [16c0f16b35b8]
18709
18710 2000-03-26  Todd C. Miller  <Todd.Miller@courtesan.com>
18711
18712         * CHANGES:
18713         Final change for 1.6.3 (or so I hope)
18714         [473c89da6123]
18715
18716         * sudo.cat, sudoers.cat, visudo.cat:
18717         Use SYSV man sections since BSD systems will have nroff...
18718         [0a6bd154324e]
18719
18720 2000-03-24  Todd C. Miller  <Todd.Miller@courtesan.com>
18721
18722         * parse.yacc, sudo.tab.c:
18723         When checking to see if the host/user matches in a defaults spec,
18724         check against TRUE, not just non-zero since it might be -1.
18725         [41f2b7ad3fdd]
18726
18727         * configure, configure.in:
18728         OSF/1 puts file formats in section 4, not 5.
18729         [d77c1301afa9]
18730
18731         * CHANGES, INSTALL, sudo.c:
18732         Make login class support work on BSD/OS
18733         [e9bbe3c08ade]
18734
18735         * RUNSON:
18736         Update for 1.6.3
18737         [c40ce1d76c4d]
18738
18739         * configure, configure.in:
18740         If there is no inet_addr but there *is* an __inet_addr that's ok
18741         since inet_addr is probably just a macro then. The better thing to
18742         do would be to look for the macro, but this is fine for now.
18743         [1b8865ae4d68]
18744
18745         * configure, configure.in:
18746         Don't use shlicc for BSD/OS 4.x
18747         [83fbf6dedd2c]
18748
18749         * Makefile.in, configure, configure.in:
18750         *.man lives in cwd, *.cat lives in $(srcdir), add a @mansrcdir@
18751         configure variable so we can deal with this. Also, only remove *.man
18752         for 'distclean' not 'clean'.
18753         [30d56e6de214]
18754
18755         * sudo.c:
18756         set_loginclass() should be static like the proto says
18757         [d570a2d55fb8]
18758
18759 2000-03-23  Todd C. Miller  <Todd.Miller@courtesan.com>
18760
18761         * fnmatch.c:
18762         Add #ifdef __STDC__ around the rangematch function header to avoid
18763         promotion of test to int, thus violating the prototype. Gcc handles
18764         this gracefully but more std ANSI compilers will complain.
18765         [7d98c3e332b2]
18766
18767         * emul/fnmatch.h:
18768         Pull in newer fnmatch(3) that supports FNM_CASEFOLD
18769         [4e1320852f8b]
18770
18771         * aclocal.m4, configure, fnmatch.3, fnmatch.c:
18772         Pull in newer fnmatch(3) that supports FNM_CASEFOLD Check for
18773         FNM_CASEFOLD in configure
18774         [9ef952bf1896]
18775
18776         * CHANGES, TODO:
18777         update for 1.6.3
18778         [e4ba6368a0c5]
18779
18780         * sudo.tab.c, sudo.tab.h, testsudoers.c, visudo.c:
18781         Fully qualified hosts w/ wildcards were not matching the FQHOST
18782         token type. There's really no need for a separate token for fully-
18783         qualified vs. unqualified anymore so FQHOST is now history and
18784         hostname_matches now decides which hostname (short or long) to check
18785         based on whether or not the pattern contains a '.'.
18786         [fbd2887d9811]
18787
18788         * parse.h:
18789         Fully qualified hosts w/ wildcards were not matching the FQHOST
18790         token type. There's really no need for a separate token for fully-
18791         qualified vs. unqualified anymore so FQHOST is now history and
18792         hostname_matches now decides which hostname (short or long) to check
18793         based on whether or not the pattern contains a '.'.
18794         [dd7bbe223461]
18795
18796         * lex.yy.c, parse.c, parse.lex, parse.yacc:
18797         Fully qualified hosts w/ wildcards were not matching the FQHOST
18798         token type. There's really no need for a separate token for fully-
18799         qualified vs. unqualified anymore so FQHOST is now history and
18800         hostname_matches now decides which hostname (short or long) to check
18801         based on whether or not the pattern contains a '.'.
18802         [630d9d205397]
18803
18804         * parse.c, parse.h, parse.yacc, sudo.tab.c, sudoers.cat,
18805         sudoers.man.in, sudoers.pod, testsudoers.c, visudo.c:
18806         Add support for wildcards in the hostname.
18807         [d8d821ed4238]
18808
18809         * Makefile.in:
18810         Add targets for *.man.in, using config.status to generate *.man from
18811         *.man.in
18812         [640e50ede485]
18813
18814         * sudoers.cat, sudoers.man.in, sudoers.pod:
18815         Document set_logname option and enbolden refs to sudo and visudo.
18816         [9622b3a48707]
18817
18818         * INSTALL, Makefile.in, aclocal.m4, configure, configure.in, sudo.cat,
18819         sudo.man.in, sudo.pod, sudoers.cat, sudoers.man.in, sudoers.pod,
18820         visudo.cat, visudo.man.in, visudo.pod:
18821         Add FreeBSD login.conf support (untested on BSD/OS) based on a patch
18822         from Michael D. Marchionna. configure now does substitution on the
18823         man pages, allowing us to fix up the paths and set the section
18824         correctly. Based on an idea from Michael D. Marchionna.
18825         [463e928a0a2f]
18826
18827         * auth/passwd.c:
18828         Better fix for handling HP-UX aging info.
18829         [3950f42d8549]
18830
18831         * sudo.c:
18832         Add support for set_logname run-time default
18833         [c6a7cc76b8b4]
18834
18835         * sudo.man.in, sudoers.man.in, visudo.man.in:
18836         configure does substitution on these to produce *.man
18837         [b83fc3c1bfc9]
18838
18839         * sudo.man, sudoers.man, visudo.man:
18840         These files now get generated from *.man.in at configure time.
18841         [c499061f79e0]
18842
18843 2000-03-22  Todd C. Miller  <Todd.Miller@courtesan.com>
18844
18845         * defaults.c, defaults.h:
18846         Add set_logname option so users can turn off setting of LOGNAME/USER
18847         environment variables.
18848         [6316869180b8]
18849
18850         * lsearch.c, parse.c, testsudoers.c:
18851         kill register
18852         [6e104e653748]
18853
18854 2000-03-13  Todd C. Miller  <Todd.Miller@courtesan.com>
18855
18856         * auth/passwd.c:
18857         HP-UX adds extra info at the end for password aging so when
18858         comparing the result of crypt to pw_passwd we only compare the first
18859         len(epass) bytes *unless* the user entered an empty string for a
18860         password.
18861         [3d24d4e4e889]
18862
18863         * logging.c:
18864         Get rid of grandchild hack, it was causing problems and there is
18865         really no need for it. This fixes a bug where we spin eating up CPU
18866         when the user runs a long-running process like a shell.
18867         [5743b10b1e81]
18868
18869 2000-03-07  Todd C. Miller  <Todd.Miller@courtesan.com>
18870
18871         * sudo.c:
18872         User can always specify a login class if he/she is already root.
18873         [710d160cef9f]
18874
18875         * config.h.in, configure, configure.in, defaults.c, defaults.h,
18876         sudo.c, sudo.h:
18877         FreeBSD login class (login.conf) support.
18878         [026b981d6328]
18879
18880 2000-03-06  Todd C. Miller  <Todd.Miller@courtesan.com>
18881
18882         * auth/sudo_auth.c:
18883         HAVE_SECUREWARE -> HAVE_GETPRPWNAM; fixes secureware support
18884         [9cd4929f1a78]
18885
18886 2000-03-03  Todd C. Miller  <Todd.Miller@courtesan.com>
18887
18888         * auth/passwd.c:
18889         Truncate unencrypted password to 8 chars if encrypted password is
18890         exactly 13 characters (indicateing standard a DES password). Many
18891         versions of crypt() do this for you, but not all (like HP-UX's).
18892         [a9d0259cb193]
18893
18894 2000-03-02  Todd C. Miller  <Todd.Miller@courtesan.com>
18895
18896         * INSTALL, RUNSON:
18897         Mention that gcc on dynix may have problems
18898         [77b97fa5bf1b]
18899
18900 2000-02-29  Todd C. Miller  <Todd.Miller@courtesan.com>
18901
18902         * Makefile.in:
18903         Link visudo with NET_LIBS since we now call syslog via defaults.c
18904         [9e3830b277cc]
18905
18906         * defaults.c:
18907         Use Argv[0] as the first arg to openlog() since visudo uses this
18908         too.
18909         [e61078f328ec]
18910
18911 2000-02-28  Todd C. Miller  <Todd.Miller@courtesan.com>
18912
18913         * sudo.c:
18914         Stash coredumpsize resource limit and retsore it before the exec()
18915         Otherwise the child ends up with a coredumpsize of 0.
18916         [f6a4783835a3]
18917
18918 2000-02-27  Todd C. Miller  <Todd.Miller@courtesan.com>
18919
18920         * sudo.cat, sudo.man, sudo.pod:
18921         document -S flag
18922         [3ebd805b7142]
18923
18924         * sudo.c:
18925         fix usage string
18926         [66b2dfa47fe8]
18927
18928         * CHANGES, RUNSON, TODO, auth/aix_auth.c, auth/fwtk.c, auth/pam.c,
18929         auth/sudo_auth.c, sudo.c, sudo.h, tgetpass.c:
18930         Added -S flag (read passwd from stdin) and tgetpass_flags global
18931         that holds flags to be passed in to tgetpass(). Change echo_off
18932         param to tgetpass() into a flags field. There are currently 2
18933         possible flags for tgetpass(): TGP_ECHO and TGP_STDIN. In
18934         tgetpass(), abstract the echo set/clear via macros and if (flags &
18935         TGP_ECHO) but echo is not set on the terminal, but sure to set it.
18936         [a4fcbb712cd0]
18937
18938         * tgetpass.c:
18939         Fixed a bug that caused an infinite loop when the password timeout
18940         was disabled.
18941         [2be1ffc5a39f]
18942
18943 2000-02-18  Todd C. Miller  <Todd.Miller@courtesan.com>
18944
18945         * CHANGES, defaults.c, defaults.h, getspwuid.c, sudo.c, sudo.h,
18946         sudoers.cat, sudoers.man, sudoers.pod, visudo.c:
18947         Add rootpw, runaspw, and targetpw options.
18948         [2d4563e46df7]
18949
18950         * CHANGES, defaults.c, sudoers.cat, sudoers.man, sudoers.pod,
18951         visudo.c:
18952         enveditor -> env_editor
18953         [ddc5f856e583]
18954
18955 2000-02-16  Todd C. Miller  <Todd.Miller@courtesan.com>
18956
18957         * BUGS, INSTALL, Makefile.in, README, configure, configure.in,
18958         sudo.cat, sudo.man, sudoers.cat, sudoers.man, version.h, visudo.cat,
18959         visudo.man:
18960         crank versino to 1.6.3
18961         [a5f7d3e74360]
18962
18963         * INSTALL, TODO, defaults.c, defaults.h, sudoers.cat, sudoers.man,
18964         sudoers.pod, visudo.c:
18965         Add 'editor' and 'enveditor' sudoers defaults and make visudo honor
18966         them. This means that visudo will now parse the sudoers file
18967         *before* it is edited so a bogus sudoers file will cause a warning
18968         to go to stderr. Also, visudo checks the variables once--it does not
18969         check them after each editor run since that could be confusing.
18970         [9f5af18e9212]
18971
18972 2000-02-15  Todd C. Miller  <Todd.Miller@courtesan.com>
18973
18974         * RUNSON:
18975         1.6.2 -> 1.6.2p1
18976         [e25b74f1d1af]
18977
18978         * check.c, sudo.c, sudo.h:
18979         Move user_is_exempt prototype into sudo.h
18980         [daf26a6ded8a]
18981
18982 2000-02-13  Todd C. Miller  <Todd.Miller@courtesan.com>
18983
18984         * configure, configure.in:
18985         Fix thinko, some && should have been || in the last commit
18986         [4b9b2d487ded]
18987
18988         * configure, configure.in:
18989         Don't initialized Makefile variables to be NULL since the user may
18990         want to import variables from their environment.
18991         [7be019f4422c]
18992
18993 2000-02-04  Todd C. Miller  <Todd.Miller@courtesan.com>
18994
18995         * configure, configure.in:
18996         typo
18997         [38f4d8971f0a]
18998
18999 2000-01-28  Todd C. Miller  <Todd.Miller@courtesan.com>
19000
19001         * sudo.tab.c:
19002         fix a yacc (skeleton.c) warning
19003         [a2da228a937b]
19004
19005 2000-01-27  Todd C. Miller  <Todd.Miller@courtesan.com>
19006
19007         * INSTALL, RUNSON, configure, configure.in:
19008         Make pam work on HP-UX 11.0;jaearick@colby.edu
19009         [b94de0ff6f42]
19010
19011         * CHANGES:
19012         recent changes; prepare for 1.6.2p1
19013         [b291635ea141]
19014
19015         * find_path.c:
19016         Don't apply SECURE_PATH if user is example; jmknoble@pobox.com
19017         [4306285c4f6e]
19018
19019 2000-01-26  Todd C. Miller  <Todd.Miller@courtesan.com>
19020
19021         * sudo.tab.c:
19022         Regen with yacc that has a memory leak plugged.
19023         [e26383a04eb7]
19024
19025         * sudoers.cat, sudoers.man, sudoers.pod:
19026         Expanded docs on sudoers 'defaults' options based on INSTALL file
19027         info.
19028         [54c3d62d6c74]
19029
19030         * INSTALL:
19031         Fix some while lies
19032         [d15311782150]
19033
19034 2000-01-24  Todd C. Miller  <Todd.Miller@courtesan.com>
19035
19036         * Makefile.in:
19037         When making a bindist, link FAQ to TROUBLESHOOTING instead of
19038         copying.
19039         [2d88a6ac88cf]
19040
19041         * sudoers.cat, sudoers.man, sudoers.pod:
19042         Add netgroup caveat
19043         [28d119f466e3] [SUDO_1_6_2]
19044
19045         * RUNSON:
19046         Last minute updates
19047         [89fb4ed22d52]
19048
19049         * TROUBLESHOOTING:
19050         PAM entry
19051         [a9fd59f39457]
19052
19053         * auth/pam.c:
19054         correct a comment
19055         [a29627225ba9]
19056
19057         * CHANGES, RUNSON:
19058         update for 1.6.2
19059         [b7f1c40ea732]
19060
19061         * auth/pam.c:
19062         Better detection of PAM errors and fix custom prompts with PAM.
19063         Based on patches from "Cloyce D. Spradling" <cloyce@headgear.org>
19064         [ff69234b94a5]
19065
19066 2000-01-20  Todd C. Miller  <Todd.Miller@courtesan.com>
19067
19068         * snprintf.c:
19069         Cast ULONG_MAX to unsigned long long when comparing to an unsigned
19070         long long value.
19071         [9d918c3a2ecd]
19072
19073 2000-01-19  Todd C. Miller  <Todd.Miller@courtesan.com>
19074
19075         * CHANGES, config.h.in, configure, configure.in, visudo.c:
19076         Fix sudoers locking in visudo. We now lock the sudoers file itself,
19077         not the temp file (since locking the temp file can foul up editors).
19078         The previous locking scheme didn't work because the fd was closed
19079         too early.
19080         [de2011bb11ed]
19081
19082         * config.h.in, configure, configure.in:
19083         Don't need test for ftruncate() any more.
19084         [e5f71c848104]
19085
19086         * configure, configure.in:
19087         Add a test for the -Aa flag w/ HP-UX's cc. Fixes compilation with
19088         the unbundled HP-UX cc.
19089         [2c373612c644]
19090
19091 2000-01-18  Todd C. Miller  <Todd.Miller@courtesan.com>
19092
19093         * sudoers.cat, sudoers.man, sudoers.pod:
19094         "a a" -> "a"; Aaron Campbell <aaron@cs.dal.ca>
19095         [05360d2c314e]
19096
19097 2000-01-17  Todd C. Miller  <Todd.Miller@courtesan.com>
19098
19099         * LICENSE, Makefile.in, defaults.c, defaults.h, parse.c, parse.h,
19100         parse.yacc, sudo.c, sudo.h, sudoers.pod, testsudoers.c, tgetpass.c,
19101         version.h, visudo.c:
19102         update copyright year on changed files
19103         [5792a2a28a4c]
19104
19105         * RUNSON:
19106         updates
19107         [edf8f19aa403]
19108
19109         * CHANGES:
19110         aix fix
19111         [4d4a243b31e2]
19112
19113         * INSTALL:
19114         Crank version to 1.6.2
19115         [bcb5cb411624]
19116
19117         * configure:
19118         Crank version to 1.6.2
19119         [32a19f33427f]
19120
19121         * sudo.c:
19122         When using rlimit check for RLIM_INFINITY When computing the value
19123         of maxfd, use min(getdtablesize(), RLIMIT_NOFILE)
19124         [8c16166802e5]
19125
19126         * CHANGES:
19127         recent changes
19128         [09fc7112e44d]
19129
19130         * BUGS, Makefile.in, README, configure.in, sudo.cat, sudo.man,
19131         sudoers.cat, sudoers.man, version.h, visudo.cat, visudo.man:
19132         Crank version to 1.6.2
19133         [055fa61a7c61]
19134
19135         * INSTALL, defaults.c, defaults.h, sudo.c, sudo.h, sudoers.pod:
19136         Add 'shell_noargs' runtime option back in. We have to defer
19137         checking until after the sudoers file has been parsed but since
19138         there are now other options that operate that way this one can too.
19139         Based on a patch from bguillory@email.com.
19140         [231db7a007a6]
19141
19142         * defaults.c, defaults.h, parse.c, sudo.c, sudo.h:
19143         Add "listpw" and "verifypw" options.
19144         [190683bac878]
19145
19146         * sudoers.cat, sudoers.man, sudoers.pod:
19147         o Fix some typos/omissions o Add section on verifypw and listpw o
19148         Define how NOPASSWD interacts with the -v and -l flags
19149         [6feb7350eb79]
19150
19151 2000-01-14  Todd C. Miller  <Todd.Miller@courtesan.com>
19152
19153         * configure, configure.in:
19154         For HP-UX cc, add -Aa to CPPFLAGS. For HP-UX always add
19155         -D_HPUX_SOURCE to CPPFLAGS.
19156         [06cc35d89dc8]
19157
19158         * defaults.c, defaults.h:
19159         In struct sudo_defs_types, move the union to the end and don't
19160         initialize the union member since that only works with an ANSI
19161         compiler. We set the value of the union by hand in init_defaults()
19162         anyway. This allows sudo to compile on a K&R compiler again.
19163         [623487e1fcfa]
19164
19165 2000-01-11  Todd C. Miller  <Todd.Miller@courtesan.com>
19166
19167         * parse.c, parse.h, parse.yacc, sudo.tab.c, testsudoers.c, visudo.c:
19168         netgr_matches needs to check shost as well as host since they may be
19169         different.
19170         [3f43ace23d3e]
19171
19172         * tgetpass.c:
19173         End on \r as well as \n
19174         [cb7c6e6f4202]
19175
19176 2000-01-03  Todd C. Miller  <Todd.Miller@courtesan.com>
19177
19178         * sudo.c:
19179         Update statbuf.st_mode based on SUDOERS_MODE when we are chaning
19180         from 0400 to whatever SUDOERS_MODE is (converting from the old
19181         sudoers mode). Assumes that SUDOERS_MODE is less restrictive than
19182         0400 which should always be the case.
19183         [34cd83d49d20]
19184
19185         * parse.c, parse.yacc, sudo.c, sudo.h, sudo.tab.c:
19186         Make treatment of -l and -v sane wrt NOPASSWD flags. Now allow -l
19187         w/o a passwd if there is *any* entry for the user on the host with a
19188         NOPASSWD flag. For -v, only allow w/o a passwd if *all* entries for
19189         the user on the host w/ the specified runas user have the NOPASSWD
19190         flag set.
19191         [4b3b85697653]
19192
19193         * Makefile.in:
19194         add check target
19195         [3d24d34a76fd]
19196
19197 1999-12-16  Todd C. Miller  <Todd.Miller@courtesan.com>
19198
19199         * visudo.c:
19200         Treat EOF at whatnow prompt like 'x' instead of looping.
19201         [5deffc27114c]
19202
19203 1999-12-10  Todd C. Miller  <Todd.Miller@courtesan.com>
19204
19205         * CHANGES:
19206         recent changes
19207         [5836a9452568] [SUDO_1_6_1]
19208
19209 1999-12-09  Todd C. Miller  <Todd.Miller@courtesan.com>
19210
19211         * config.h.in, configure, configure.in, sudo.c:
19212         Add check for initgroups() since old SYSV lacks this.
19213         [657a6005a569]
19214
19215         * CHANGES, RUNSON, aclocal.m4, config.h.in, configure, configure.in,
19216         parse.c, testsudoers.c:
19217         o Kill HAVE_FNMATCH_H o Only define HAVE_FNMATCH if <fnmatch.h>
19218         exists.
19219         [17d081e917d6]
19220
19221 1999-12-06  Todd C. Miller  <Todd.Miller@courtesan.com>
19222
19223         * auth/sudo_auth.c:
19224         Don't allow insults to be enabled if the insults[] array is empty.
19225         Otherwise there would be division by zero.
19226         [b20c14db6029]
19227
19228         * insults.h:
19229         Don't allow insults to be enabled if the insults[] array is empty.
19230         Otherwise there would be division by zero.
19231         [028f130204b0]
19232
19233         * CHANGES, RUNSON:
19234         Don't allow insults to be enabled if the insults[] array is empty.
19235         Otherwise there would be division by zero.
19236         [974f4780254b]
19237
19238         * insults.h:
19239         Don't care about USE_INSULTS #define since the insult stuff may be
19240         overridden at runtime.
19241         [b873df8b299c]
19242
19243         * auth/sudo_auth.c:
19244         Honor insults flag.
19245         [756111640fdc]
19246
19247         * CHANGES, parse.c:
19248         Don't ask the user for a password if the user is not allowed to run
19249         the command and the authenticate flag (in sudoers) is false.
19250         [cea9fdc09c76]
19251
19252         * CHANGES, RUNSON, lex.yy.c, parse.lex:
19253         o Whenever we get a bare newline we change to the INITIAL state. o
19254         Enter GOTRUNAS when we see Runas_Alias
19255
19256         This allows #uid to work in a RunasAlias.
19257         [a475513e7c7a]
19258
19259 1999-12-05  Todd C. Miller  <Todd.Miller@courtesan.com>
19260
19261         * CHANGES, parse.yacc, sudo.tab.c:
19262         fix parsing of runas lists: o oprunasuser and runaslist now return a
19263         value o in a runasspec, if a runaslist does not return TRUE, set
19264         runas_matches to FALSE. Normally, a runaslist only returns FALSE
19265         for explicitly denied users. o since runaslist does not modify the
19266         stack there is no need for a push/pop in runasalias.
19267         [82b305b34a8c]
19268
19269         * check.c, sudo.c:
19270         Don't kill the user's tickets until after sudoers has been parsed
19271         since tty_tickets and ticket_dir could be set in sudoers.
19272         [f43e25367f3a]
19273
19274         * BUGS, CHANGES, Makefile.binary, Makefile.in, README, RUNSON,
19275         configure, configure.in, sudo.cat, sudo.man, sudoers.cat,
19276         sudoers.man, tgetpass.c, version.h, visudo.cat, visudo.man:
19277         crank version to 1.6
19278         [95f8bdcf9bb2]
19279
19280         * testsudoers.c:
19281         add set_fqdn() stub
19282         [bbc81af5b41a]
19283
19284 1999-12-02  Todd C. Miller  <Todd.Miller@courtesan.com>
19285
19286         * INSTALL, defaults.c, defaults.h, sudo.c, sudo.h, sudoers.cat,
19287         sudoers.man, sudoers.pod, visudo.c:
19288         o Kill shell_noargs option, it cannot work since the command needs
19289         to be set before sudoers is parsed. o Fix the "set_home" sudoers
19290         option (only worked at compile time). o Fix "fqdn" sudoers option.
19291         We now set host/shost via set_fqdn which gets called when the
19292         "fqdn" option is set in sudoers. o Move the openlog() to
19293         store_syslogfac() so this gets overridden correctly from the
19294         sudoers file.
19295         [3dca861f0f5d]
19296
19297         * auth/securid.c:
19298         SecurID support should compile now.
19299         [a544e5c6ea34]
19300
19301 1999-11-29  Todd C. Miller  <Todd.Miller@courtesan.com>
19302
19303         * sudo.cat, sudo.man, sudo.pod, sudoers.cat, sudoers.man, visudo.cat,
19304         visudo.man, visudo.pod:
19305         fix some syntactic goofs
19306         [b3451f0d5239]
19307
19308 1999-11-28  Todd C. Miller  <Todd.Miller@courtesan.com>
19309
19310         * Makefile.in, sudo.html, sudoers.html, visudo.html:
19311         No longer need the .html files as they are generated automatically
19312         on the web site.
19313         [1b4aa4204584]
19314
19315         * CHANGES, LICENSE:
19316         kill characters that made wml unhappy
19317         [b988fbc6da56]
19318
19319         * HISTORY:
19320         typo
19321         [a418963f7fce]
19322
19323 1999-11-25  Todd C. Miller  <Todd.Miller@courtesan.com>
19324
19325         * README:
19326         majordomo@cs.colorado.edu -> majordomo@courtesan.com
19327         [5d151e8ffd3b]
19328
19329         * Makefile.in, configure:
19330         Wrap script execution w/ /bin/sh for the benefit of ctm
19331         [3a9c4766b2c3]
19332
19333 1999-11-24  Todd C. Miller  <Todd.Miller@courtesan.com>
19334
19335         * sudo.c:
19336         Make the -s flag be exclusive too. Also reorder the flags in the
19337         exclusive usage message so they are alphabetical.
19338         [4c7af200db34]
19339
19340 1999-11-23  Todd C. Miller  <Todd.Miller@courtesan.com>
19341
19342         * auth/pam.c:
19343         make pam errors other than PAM_PERM_DENIED fatal
19344         [64bcb3fd2baf]
19345
19346         * auth/API:
19347         fix typo
19348         [f3134c88b12e]
19349
19350         * INSTALL:
19351         make it clear that /etc/pam.d/sudo is required on linux
19352         [213cc3eaad82]
19353
19354         * auth/pam.c:
19355         fix a warning on redhat and spew an error if pam_authenticate()
19356         returns an error other than AUTH_SUCCESS or PAM_PERM_DENIED
19357         [7e46dd19da89]
19358
19359         * sudo.cat, sudo.html, sudo.man, sudo.pod:
19360         Be very clear that the password required is the user's not root's
19361         [a6da127347e5]
19362
19363 1999-11-20  Todd C. Miller  <Todd.Miller@courtesan.com>
19364
19365         * Makefile.in:
19366         add sample.syslog.conf to DISTFILES and BINFILES
19367         [8661c27c007e]
19368
19369 1999-11-19  Todd C. Miller  <Todd.Miller@courtesan.com>
19370
19371         * RUNSON:
19372         updates from Brian Jackson + some formatting
19373         [6d31c6fa63f8]
19374
19375 1999-11-18  Todd C. Miller  <Todd.Miller@courtesan.com>
19376
19377         * INSTALL.binary, Makefile.binary, README, RUNSON:
19378         o One RUNSon update o Changes for automating real binary releases
19379         [dd9585f4406c]
19380
19381         * Makefile.in:
19382         Add bindist target
19383         [546ed3fa94bb]
19384
19385 1999-11-16  Todd C. Miller  <Todd.Miller@courtesan.com>
19386
19387         * TROUBLESHOOTING:
19388         talk about run-time options in addition to compile-time options
19389         [1eb813ff0a9a] [SUDO_1_6_0]
19390
19391         * CHANGES:
19392         fix typos
19393         [65e92bb70a7b]
19394
19395         * sudo.c:
19396         need sys/time.h if HAVE_SETRLIMIT
19397         [ce31655a8a60]
19398
19399         * PORTING, README, RUNSON, sudo.c, sudo.cat, sudo.html, sudo.man,
19400         sudo.pod, visudo.cat, visudo.html, visudo.man, visudo.pod:
19401         get rid of references to sudo-bugs. Now mention the web site or the
19402         sudo@ alias
19403         [a9db861fd8c6]
19404
19405         * sudoers.html:
19406         repair pod2html damage
19407         [62ece4277f1f]
19408
19409         * RUNSON, TODO:
19410         Update for 1.6 release
19411         [98569c57ba2a]
19412
19413         * sudoers.cat, sudoers.html, sudoers.man, sudoers.pod:
19414         Add warning about using ALL in a command context.
19415         [6c77685ab280]
19416
19417 1999-11-09  Todd C. Miller  <Todd.Miller@courtesan.com>
19418
19419         * visudo.c:
19420         Call yyrestart() on a parse error to reset the lexer state.
19421         [1370a27acdb2]
19422
19423         * lex.yy.c, parse.lex:
19424         Don't need YY_FLUSH_BUFFER after all Move yyrestart() into visudo.c
19425         since it might not get called in yywrap if we get a parse error
19426         (and we only reread the file on error anyway).
19427         [37f4b449e28e]
19428
19429         * lex.yy.c, parse.lex:
19430         Call YY_FLUSH_BUFFER macro in yywrap() to clean up any buffers that
19431         might still exist. Call yyrestart() instead of using the deprecated
19432         YY_NEW_FILE macro.
19433         [7d0d873046c6]
19434
19435         * lex.yy.c, parse.lex:
19436         flex doesn't need %N table size declarations
19437         [268b020fd60a]
19438
19439         * sudoers.cat, sudoers.html, sudoers.man, sudoers.pod:
19440         Mention what characters need to be escaped in names.
19441         [72ccbb6b0f31]
19442
19443 1999-11-08  Todd C. Miller  <Todd.Miller@courtesan.com>
19444
19445         * configure:
19446         regen
19447         [65827abb5c7b]
19448
19449         * INSTALL:
19450         clarify Mac OS X entry
19451         [8da1549a71f5]
19452
19453         * RUNSON:
19454         update
19455         [0cff8df7459f]
19456
19457         * configure.in:
19458         o Use AC_MSG_ERROR throughout o Check syslog configure options for
19459         danity
19460         [4cb81e642e5c]
19461
19462 1999-11-05  Todd C. Miller  <Todd.Miller@courtesan.com>
19463
19464         * defaults.c:
19465         Fix printing of type T_MODE in dump_defaults()
19466         [a868bb6f5515]
19467
19468         * strcasecmp.c:
19469         missing sys/types.h
19470         [ca694ca325b6]
19471
19472         * INSTALL:
19473         Break out options that may be overridden at run time into their own
19474         section. Add a not about Max OS X and correct some lies.
19475         [d8bcfd120593]
19476
19477 1999-11-04  Todd C. Miller  <Todd.Miller@courtesan.com>
19478
19479         * CHANGES, config.h.in, configure, configure.in, sudo.c:
19480         o Now use getrlimit to find the highest fd when closing all non-std
19481         fd's o Turn off core dumps via setrlimit for the sake of paranoia
19482         [dd9f651b6def]
19483
19484         * RUNSON:
19485         updates
19486         [f581841fe615]
19487
19488 1999-11-01  Todd C. Miller  <Todd.Miller@courtesan.com>
19489
19490         * CHANGES:
19491         updates
19492         [553baa1d44c7]
19493
19494         * tgetpass.c:
19495         When read()'ing, do a single character at a time to be sure we don't
19496         go oast the newline.
19497         [907d33f55bb4]
19498
19499         * sudo.c:
19500         For the sudo_root option, check against user_uid, not getuid() since
19501         at this point, ruid == euid == 0.
19502         [92d5c51939b4]
19503
19504         * RUNSON:
19505         some updates
19506         [e3ed0c1f312b]
19507
19508         * logging.h:
19509         Fix compilation problem when --with-logging=file was specified.
19510         This means that syslog is now required to build sudo but that should
19511         not be a problem. If it is it can be fixed trivially with a
19512         configure check for syslog() or syslog.h.
19513         [839a4b069190]
19514
19515         * tgetpass.c:
19516         Make this work again for things like "sudo echo hi | more" where the
19517         tty gets put into character at a time mode. We read until we read
19518         end of line or we run out of space (similar to fgets(3)).
19519         [c8f746df2e63]
19520
19521 1999-10-20  Todd C. Miller  <Todd.Miller@courtesan.com>
19522
19523         * sudoers.cat, sudoers.html, sudoers.man, sudoers.pod:
19524         change ital to bold
19525         [f860978e530a]
19526
19527         * RUNSON:
19528         update
19529         [9bcfbb405568]
19530
19531 1999-10-16  Todd C. Miller  <Todd.Miller@courtesan.com>
19532
19533         * defaults.c:
19534         Error out if syslog parameters are given without a value. For
19535         Ultrix or 4.2BSD "syslog" is allowed without a value since there are
19536         no facilities in the 4.2BSD syslog.
19537         [69e7a686f5f0]
19538
19539 1999-10-15  Todd C. Miller  <Todd.Miller@courtesan.com>
19540
19541         * defaults.c:
19542         Ignore the syslog facility for systems w/ old syslog like Ultrix.
19543         [5c250adbbb84]
19544
19545         * TROUBLESHOOTING:
19546         people with "." early in their path can have problems running sudo
19547         from the build dir ;-)
19548         [20a1744a24a4]
19549
19550 1999-10-13  Todd C. Miller  <Todd.Miller@courtesan.com>
19551
19552         * sudo.cat, sudo.html, sudo.man, sudo.pod:
19553         Remove -r realm option
19554         [127caa537f95]
19555
19556         * auth/kerb5.c, auth/sudo_auth.c, auth/sudo_auth.h, configure,
19557         configure.in, sudo.c:
19558         New krb5 code from Frank Cusack <fcusack@iconnet.net>.
19559         [7177a3893a62]
19560
19561         * CHANGES:
19562         update to reality
19563         [766cfbb512d6]
19564
19565 1999-10-12  Todd C. Miller  <Todd.Miller@courtesan.com>
19566
19567         * auth/fwtk.c:
19568         include <auth.h> to get function prototypes.
19569         [d6c7c12d09fe]
19570
19571         * sudo.cat, sudo.html, sudo.man, sudo.pod:
19572         document -L flag
19573         [dc803e1ce0d7]
19574
19575 1999-10-11  Todd C. Miller  <Todd.Miller@courtesan.com>
19576
19577         * sudo.c:
19578         in set_perms(), always call setuid(0) before changing the ruid/euid
19579         so we always know it will succeed.
19580         [8cced1b862bf]
19581
19582         * defaults.h:
19583         #undef T_FOO to avoid conflicts with system defines (like on
19584         ULTRIX).
19585         [d9f0aac092b0]
19586
19587         * TODO, sample.sudoers, sudoers.cat, sudoers.html, sudoers.man,
19588         sudoers.pod:
19589         Docuement "Defaults" lines in /etc/sudoers. Still needs some
19590         fleshing out but this is a start.
19591         [521a1e629bbc]
19592
19593 1999-10-10  Todd C. Miller  <Todd.Miller@courtesan.com>
19594
19595         * use strtol, not strtoul since not everyone has not strtoul
19596         [988462f093cc]
19597
19598         * defaults.c:
19599         use strtol, not strtoul since not everyone has not strtoul
19600         [fce835ce62e3]
19601
19602         * lex.yy.c, parse.lex:
19603         last {WORD} rule should only apply in the INITIAL state
19604         [9b57570bfa83]
19605
19606         * lex.yy.c, parse.lex:
19607         o Add support for escaped characters in the WORD macro o Modify
19608         fill() to squash escape chars
19609         [87572d59e4e0]
19610
19611         * defaults.c, defaults.h:
19612         o Add T_PATH flag to allow simple sanity checks for default values
19613         that are supposed to be pathnames. o Fix a duplicate free when
19614         visudo finds an error.
19615         [bdc6855a6c6d]
19616
19617 1999-10-09  Todd C. Miller  <Todd.Miller@courtesan.com>
19618
19619         * defaults.c, defaults.h, logging.c:
19620         mail_if_foo -> mail_foo
19621         [cbee9415875d]
19622
19623 1999-10-08  Todd C. Miller  <Todd.Miller@courtesan.com>
19624
19625         * compat.h, defaults.c, defaults.h, sudo.c, tgetpass.c:
19626         o Add requiretty option o Move O_NOCTTY to compat.h
19627         [65b8bf0e1795]
19628
19629         * logging.c:
19630         The exit() in log_error() was mistakenly removed in a previous
19631         version. Put it back...
19632         [9473449130a4]
19633
19634 1999-10-07  Todd C. Miller  <Todd.Miller@courtesan.com>
19635
19636         * INSTALL, TODO, auth/aix_auth.c, auth/fwtk.c, auth/pam.c,
19637         auth/rfc1938.c, auth/sia.c, auth/sudo_auth.c, check.c, config.h.in,
19638         configure, configure.in, defaults.c, defaults.h, find_path.c,
19639         getspwuid.c, logging.c, parse.yacc, sudo.c, sudo.tab.c:
19640         o Change defaults stuff to put the value right in the struct. o
19641         Implement mailer_flags o Store syslog stuff both in int and string
19642         form. Setting the string form magically updates the int version.
19643         o Add boolean attribute to strings where it makes sense to say !foo
19644         [4698953f9a36]
19645
19646         * tgetpass.c:
19647         add O_NOCTTY when opening /dev/tty just in case
19648         [4c6d1d1bb300]
19649
19650 1999-10-06  Todd C. Miller  <Todd.Miller@courtesan.com>
19651
19652         * auth/API:
19653         cleanup function no longer takes a status arg
19654         [0819edbfe7f8]
19655
19656         * INSTALL:
19657         the the
19658         [19aadb65ea28]
19659
19660 1999-09-15  Todd C. Miller  <Todd.Miller@courtesan.com>
19661
19662         * TODO, config.h.in, configure, configure.in, logging.c:
19663         Use strftime() instead of ctime() if it is available.
19664         [fb60ea63b514]
19665
19666 1999-09-14  Todd C. Miller  <Todd.Miller@courtesan.com>
19667
19668         * defaults.c:
19669         fix copyright date
19670         [4a53b54aa72f]
19671
19672         * RUNSON:
19673         update ReliantUNIX entry
19674         [de618a4f67d9]
19675
19676         * defaults.c, defaults.h, logging.c:
19677         add log_year option
19678         [251a9e20568a]
19679
19680         * configure, configure.in:
19681         add --without-sendmail to help output
19682         [93162f199902]
19683
19684         * configure, configure.in:
19685         enforce an otctal arg for --with-suoders-mode
19686         [45e1b04ccad3]
19687
19688 1999-09-08  Todd C. Miller  <Todd.Miller@courtesan.com>
19689
19690         * BUGS, INSTALL, Makefile.in, TODO, aclocal.m4, auth/aix_auth.c,
19691         auth/fwtk.c, auth/kerb5.c, auth/pam.c, auth/rfc1938.c, auth/sia.c,
19692         auth/sudo_auth.c, check.c, config.h.in, configure, configure.in,
19693         defaults.c, defaults.h, find_path.c, lex.yy.c, logging.c, parse.h,
19694         parse.lex, parse.yacc, sudo.c, sudo.h, sudo.tab.c, sudo.tab.h,
19695         testsudoers.c, version.c, visudo.c:
19696         Add support for "Defaults" line in sudoers to make configuration
19697         variables changable at runtime (and on a global, per-host and per-
19698         user basis). Both the names and the internal representation are
19699         still subject to change. It was necessary to make sudo_user.runas
19700         but a char ** instead of a char * since this value can be changed by
19701         a Defaults line. There is a similar (but more complicated) issue
19702         with sudo_user.prompt but it is handled differently at the moment.
19703
19704         Add a "-L" flag to list the name of options with their descriptions.
19705         This may only be temporary.
19706
19707         Move some prototypes to parse.h
19708
19709         Be much less restrictive on what is allowed for a username.
19710         [f71abf7ba80c]
19711
19712         * sample.syslog.conf:
19713         Add more info
19714         [e952e6f42d4d]
19715
19716 1999-09-04  Todd C. Miller  <Todd.Miller@courtesan.com>
19717
19718         * LICENSE, fnmatch.3, fnmatch.c, getcwd.c, lsearch.c, snprintf.c,
19719         strcasecmp.c:
19720         UCB has dropped the advertising clause from their license.
19721         [a5602b36a341]
19722
19723 1999-08-31  Todd C. Miller  <Todd.Miller@courtesan.com>
19724
19725         * auth/sudo_auth.h:
19726         move dce_verofy proto to correct section
19727         [972c815af558]
19728
19729         * auth/dce.c:
19730         remove XXX
19731         [820631855be0]
19732
19733 1999-08-28  Todd C. Miller  <Todd.Miller@courtesan.com>
19734
19735         * emul/fnmatch.h:
19736         Add fnmatch() prototype
19737         [79e84576d92a]
19738
19739         * fnmatch.c, parse.c, testsudoers.c:
19740         Move inclusion of emul/fnmatch.h to be after sudo.h for __P
19741         [1182c89fa811]
19742
19743         * sudo.h:
19744         add strcasecmp proto
19745         [512d1d8a6a0c]
19746
19747         * auth/sudo_auth.c:
19748         add check for case where there are no auth methods
19749         [e4af2b91b43e]
19750
19751         * configure, configure.in:
19752         Define _XOPEN_EXTENDED_SOURCE on AIX and __USE_FIXED_PROTOTYPES__ on
19753         SunOS4 w/ gcc
19754         [746ce8bcec23]
19755
19756         * getspwuid.c, lex.yy.c, parse.lex, parse.yacc, sudo.tab.c:
19757         include strings.h everywhere we include string.h
19758         [6f7d5d437e7b]
19759
19760         * version.c:
19761         nicer output when showing auth methods
19762         [0eac4b977f9d]
19763
19764         * version.c:
19765         Add support for SEND_MAIL_WHEN_NO_HOST
19766         [9f20a3a3fae6]
19767
19768         * config.h.in, configure, configure.in:
19769         Add _GNU_SOURCE for Linux
19770         [c7bd8c511847]
19771
19772         * lex.yy.c, parse.lex:
19773         fix definition of OCTECT
19774         [4af30e63244d]
19775
19776         * configure, configure.in:
19777         aix_auth.o not authenticate.o
19778         [fe95dfb08df4]
19779
19780 1999-08-27  Todd C. Miller  <Todd.Miller@courtesan.com>
19781
19782         * sudo.c:
19783         Only block SIGINT, SIGQUIT, SIGTSTP (which can be generated from the
19784         keyboard). Since we run with ruid/euid == 0 the user can't really
19785         signal us in nasty ways.
19786         [a7f6487c0f48]
19787
19788         * visudo.c:
19789         Don't need to worry about catching too many signals since we do
19790         locking on the tmp file. If a lockfile is really stale, it will be
19791         detected and overwritten.
19792         [28983db3e749]
19793
19794         * INSTALL, Makefile.in:
19795         include auth/API in tarball
19796         [014991600252]
19797
19798         * auth/sudo_auth.c:
19799         move memset() of plaintext pw outside of verify loop and only do the
19800         memset if we are *not* in standalone mode.
19801         [66f8e87567e2]
19802
19803         * auth/sudo_auth.c, auth/sudo_auth.h:
19804         DCE is not a standalone method
19805         [34963e2d8a1b]
19806
19807         * sudo.c:
19808         fix --enable-noargs-shell
19809         [4234062abbb0]
19810
19811         * snprintf.c:
19812         "#ifdef __STDC__" not "#if __STDC__" (I missed one)
19813         [c430b80454c6]
19814
19815         * auth/fwtk.c, auth/sia.c:
19816         _cleanup() function returns an int.
19817         [d1a1cc071ec1]
19818
19819         * auth/dce.c:
19820         there were still some return(0)'s hanging around, make them
19821         AUTH_FAILURE
19822         [1002aa1962c3]
19823
19824         * parse.c:
19825         typo in comment
19826         [5abc410dbfd2]
19827
19828         * version.c:
19829         add missing semicolon
19830         [a262283b52a5]
19831
19832         * auth/sudo_auth.h:
19833         missing backslash
19834         [bf89f6bd2900]
19835
19836 1999-08-26  Todd C. Miller  <Todd.Miller@courtesan.com>
19837
19838         * CHANGES, config.h.in, configure, configure.in:
19839         Kill _XOPEN_EXTENDED_SOURCE -- causes problems on some OSes
19840         [f1a9bca0cf67]
19841
19842         * Makefile.in:
19843         add parse.h to HDRS
19844         [a3d054987766]
19845
19846         * Makefile.in, configure, configure.in:
19847         Kill VISUDO_LIBS and VISUDO_LDFLAGS. Add LIBS, NET_LIBS, and
19848         LDFLAGS. Common libs go in LIBS, commong ld flags go in LDFLAGS and
19849         network libs like -lsocket, -lnsl go in NET_LIBS. This allows
19850         testsudoers to build on Solaris and is a bit cleaner in general.
19851         [4e6239e97002]
19852
19853         * UPGRADE:
19854         mention ptmp -> sudoers.tmp
19855         [ec3baa0fe8a1]
19856
19857         * config.h.in, configure, configure.in:
19858         Define _XOPEN_SOURCE_EXTENDED not _XOPEN_SOURCE
19859         [6f93dc7f39f5]
19860
19861         * RUNSON:
19862         add 2 reports
19863         [ce0fcc00ee4e]
19864
19865         * auth/kerb5.c:
19866         Minor changes, mostly cosmetic. verify_krb_v5_tgt() changed to
19867         return a value more like a system function
19868         [0dd56aa21424]
19869
19870         * auth/dce.c:
19871         Add an XXX
19872         [58fc8562c212]
19873
19874         * TODO:
19875         more things todo!
19876         [5a459d0cf339]
19877
19878         * sample.sudoers:
19879         update based on what is in the man page
19880         [1a0477db96fa]
19881
19882         * parse.yacc, sudo.tab.c:
19883         minor change to first line printed in -l mode
19884         [69eb57d96952]
19885
19886         * sudo.cat, sudo.html, sudo.man, sudo.pod:
19887         rename "ENVIRONMENT VARIABLES" section to "ENVIRONMENT" to be more
19888         standard and add "EXAMPLES" section
19889         [7e543335ebe1]
19890
19891         * visudo.cat, visudo.html, visudo.man, visudo.pod:
19892         rename "ENVIRONMENT VARIABLES" section to "ENVIRONMENT" to be more
19893         standard
19894         [f82d87ed65c2]
19895
19896         * logging.c, parse.c, sudo.h:
19897         add FLAG_NO_CHECK
19898         [c7d69176a2d7]
19899
19900         * lex.yy.c, parse.lex:
19901         make an OCTET really be limited to 0-255
19902         [6ee568dd6a02]
19903
19904         * UPGRADE:
19905         mention timestamp changes
19906         [e44d5302bf60]
19907
19908         * PORTING:
19909         cosmetic cleanup
19910         [36fa3a2664dd]
19911
19912         * sudoers.cat, sudoers.html, sudoers.man, sudoers.pod:
19913         new sudoers(8) man page
19914         [e674d06283d0]
19915
19916 1999-08-24  Todd C. Miller  <Todd.Miller@courtesan.com>
19917
19918         * version.c:
19919         Update comments about syslog name tables
19920         [63830a782dcb]
19921
19922         * CHANGES, LICENSE, Makefile.in, configure, configure.in, parse.yacc,
19923         strcasecmp.c, sudo.tab.c:
19924         include strcasecmp() for those without it
19925         [a0d8e2488bbc]
19926
19927         * sample.sudoers:
19928         Use the : operator some more and fix a typo
19929         [18804c70da86]
19930
19931         * HISTORY:
19932         update the history of sudo
19933         [9d9b3d5279b3]
19934
19935         * parse.c, parse.lex, testsudoers.c:
19936         CIDR-style netmask support
19937         [768644467353]
19938
19939         * CHANGES:
19940         recent changes
19941         [a4319e9d07cb]
19942
19943         * sudo.tab.c, sudo.tab.h:
19944         these should be generated with byacc, not bison
19945         [f57b9489b752]
19946
19947         * lex.yy.c:
19948         regen
19949         [522461f95dfa]
19950
19951         * parse.h, parse.yacc, sudo.tab.c, sudo.tab.h:
19952         In "sudo -l" mode, the type of the stored (expanded) alias was not
19953         stored with the contents. This could lead to incorrect output if
19954         the sudoers file had different alias types with the same name.
19955         Normal parsing (ie: not in '-l' mode) is unaffected.
19956         [823fe2bc4b79]
19957
19958 1999-08-23  Todd C. Miller  <Todd.Miller@courtesan.com>
19959
19960         * configure, configure.in:
19961         define _XOPEN_SOURCE to get at crypt() proto on some systems
19962         [1b3769b86fb9]
19963
19964 1999-08-22  Todd C. Miller  <Todd.Miller@courtesan.com>
19965
19966         * snprintf.c:
19967         fix comment
19968         [fc1264df00f7]
19969
19970         * tgetpass.c:
19971         don't need limits.h
19972         [f1631829af45]
19973
19974         * snprintf.c:
19975         kill bogus reference to vfprintf
19976         [a0b99b25d389]
19977
19978         * sample.sudoers, sudoers:
19979         better examples
19980         [b4d87ea64cc8]
19981
19982         * snprintf.c:
19983         Add some const in the K&R defs. This is safe since we define const
19984         away if the compiler doesn't grok it.
19985         [614d6e83d45e]
19986
19987         * aclocal.m4, configure:
19988         Better test for working long long support. Ultrix compiler supports
19989         basic long long but not all operations on them.
19990         [5da1508710ed]
19991
19992         * aclocal.m4, auth/secureware.c, config.h.in, configure, getspwuid.c,
19993         snprintf.c, sudo.c:
19994         Add check for LONG_IS_QUAD #undef MAXINT before including
19995         hpsecurity.h to silence an HP-UX warning Check for U?LONG_LONG_MAX
19996         in snprintf.c and use LONG_IS_QUAD
19997         [a1f7993367fc]
19998
19999 1999-08-21  Todd C. Miller  <Todd.Miller@courtesan.com>
20000
20001         * LICENSE, aclocal.m4, config.h.in, configure, configure.in,
20002         snprintf.c:
20003         UCB-derived snprintf + asprintf support. Supports quads if the
20004         compiler does. No floating point yet, perhaps later...
20005         [0caf05aba945]
20006
20007 1999-08-20  Todd C. Miller  <Todd.Miller@courtesan.com>
20008
20009         * auth/API, auth/sudo_auth.c, auth/sudo_auth.h, check.c, find_path.c,
20010         goodpath.c, logging.c, parse.c, sudo.c:
20011         Run most of the code as root, not the invoking user. It doesn't
20012         really gain us anything to run as the user since an attacker can
20013         just have an setuid(0) in their egg. Running as root solves
20014         potential problems wrt signalling.
20015         [408e530dda01]
20016
20017         * sudo.tab.c:
20018         regen
20019         [f8cfb37e37de]
20020
20021 1999-08-19  Todd C. Miller  <Todd.Miller@courtesan.com>
20022
20023         * logging.c, sudo.c:
20024         Don't wait for child to finish in log_error(), let the signal
20025         handler get it if we are still running, else let init reap it for
20026         us. The extra time it takes to wait lets the user know that mail is
20027         being sent.
20028
20029         Install SIGCHLD handler in main() and for POSIX signals, block
20030         everything
20031         *except* SIGCHLD.
20032         [d2b6ab0ef3be]
20033
20034         * INSTALL, config.h.in, configure, configure.in, logging.c, parse.c,
20035         parse.yacc, sudo.c, sudo.h:
20036         sudoers_lookup() now returns a bitmap instead of an int. This makes
20037         it possible to express things like "failed to validate because user
20038         not listed for this host". Some thigns that were previously
20039         VALIDATE_FOO are now FLAG_FOO. This may change later on.
20040
20041         Reorganized code in log_auth() and sudo.c to deal with above
20042         changes.
20043
20044         Safer versions of push/pushcp with in the do { ... } while (0) style
20045
20046         parse.yacc now saves info on the stack to allow parse.c to determine
20047         if a user was listed, but not for the host he/she tried to run on.
20048
20049         Added --with-mail-if-no-host option
20050         [63326cb01efc]
20051
20052 1999-08-17  Todd C. Miller  <Todd.Miller@courtesan.com>
20053
20054         * parse.yacc, sudo.h, sudo.tab.c, visudo.c, visudo.cat, visudo.html,
20055         visudo.man, visudo.pod:
20056         o NewArgv and NewArgc don't need to be externally visible. o If
20057         pedantic > 1, it is a parse error. o Add -s (strict) option to
20058         visudo which sets pedantic to 2.
20059         [5d7d81b55cd5]
20060
20061         * HISTORY, INSTALL:
20062         Just have sudo-bugs contact info in one place
20063         [e7f6588ea683]
20064
20065         * sudo.cat, sudo.html, sudo.man, sudo.pod:
20066         Add BUGS section
20067         [6607d96ea510]
20068
20069         * Makefile.in, configure, configure.in:
20070         Add testsudoers to default build target if --with-devel Don't clean
20071         generated parser files unless "distclean".
20072         [5827b769dc57]
20073
20074         * parse.yacc, sudo.tab.c:
20075         In pedantic mode we need to save *all* the aliases, not just those
20076         that match, or we get spurious warnings.
20077         [24f5b1f0e1de]
20078
20079         * TROUBLESHOOTING:
20080         reference samples.sylog.conf
20081         [11841668380a]
20082
20083 1999-08-14  Todd C. Miller  <Todd.Miller@courtesan.com>
20084
20085         * sample.syslog.conf:
20086         Sample entries for syslog.conf
20087         [0f7697d878a1]
20088
20089         * CHANGES:
20090         recent changes
20091         [8bca8810c6bd]
20092
20093         * auth/API, auth/afs.c, auth/aix_auth.c, auth/dce.c, auth/fwtk.c,
20094         auth/kerb4.c, auth/kerb5.c, auth/pam.c, auth/passwd.c,
20095         auth/rfc1938.c, auth/secureware.c, auth/securid.c, auth/sia.c,
20096         auth/sudo_auth.c, auth/sudo_auth.h:
20097         In struct sudo_auth, turn need_root and configured into flags and
20098         add a flag to specify an auth method is running alone (the only
20099         one). Pass auth methods their sudo_auth pointer, not the data
20100         pointer. This allows us to get at the flags and tell if we are the
20101         only auth method. That, in turn, allows the method to be able to
20102         decide what should/should not be a fatal error. Currently only
20103         rfc1938 uses it this way, which allows us to kill the OTP_ONLY
20104         define and te hackery that went with it. With access to the
20105         sudo_auth struct, methods can also get at a string holding their
20106         cannonical name (useful in error messages).
20107         [b7e320fc6511]
20108
20109         * INSTALL, Makefile.in, README, config.h.in, configure, configure.in,
20110         getspwuid.c, lex.yy.c, parse.lex, parse.yacc, sudo.tab.c,
20111         sudo.tab.h:
20112         o --with-otp deprecated, use --without-passwd instead o real
20113         dependencies in the Makefile o --with-devel option to enable yacc,
20114         lex, and -Wall o style -- "foo -> bar" becomes "foo->bar" o ALL goes
20115         back to being a token, not a string but don't leak memory o rename
20116         hsotspec -> host in parse.yacc
20117         [912c45226cb2]
20118
20119 1999-08-12  Todd C. Miller  <Todd.Miller@courtesan.com>
20120
20121         * BUGS, CHANGES:
20122         recent changes
20123         [801fa6e55687]
20124
20125         * auth/sudo_auth.c, configure, configure.in, interfaces.c, snprintf.c,
20126         sudo.c, sudo.h:
20127         o Digital UNIX needs to check for *snprintf() before -ldb is added
20128         to LIBS since -ldb includes a bogus snprintf(). o Add forward refs
20129         for struct mbuf and struct rtentry for Digital UNIX. o Reorder some
20130         functions in snprintf.c to fix -Wall o Add missing includes to fix
20131         more -Wall
20132         [8d207203e126]
20133
20134         * INSTALL, auth/sudo_auth.c, check.c, config.h.in, configure,
20135         configure.in, parse.yacc, sudo.tab.c, testsudoers.c, version.c,
20136         visudo.c:
20137         o Add a "pedentic" flag to the parser. This makes sudo warn in
20138         cases where an alias may be used before it is defined. Only turned
20139         on for visudo and testsudoers. o Add --disable-authentication option
20140         that makes sudo not require authentication by default. The PASSWD
20141         tag can be used to require authentication for an entry. We no
20142         longer overload --without-passwd.
20143         [f307e09adf98]
20144
20145         * lex.yy.c, parse.lex:
20146         Break 'WORD' regexp def into HOSTNAME and USERNAME. These days a
20147         username can contain just about anything so be very permissive. Also
20148         drop the unused \. punctuation.
20149         [06a50614ff89]
20150
20151 1999-08-09  Todd C. Miller  <Todd.Miller@courtesan.com>
20152
20153         * parse.yacc, sudo.tab.c:
20154         o add a 'val' element to aliasinfo struct and move -> parse.h o
20155         find_alias() now returns an aliasinfo * instead of boolean o
20156         add_alias() now takes a value parameter to store in the
20157         aliasinfo.val o The cmnd, hostspec, runasuser, and user rules now
20158         return: 1) positive match 0) negative match (due to '!')
20159         -1) no match This means setting $$ explicitly in all cases, which I
20160         should have done in the first place. It also means that we always
20161         store a value that is != -1 and when we see a '!' we can set
20162         *_matches to !rv if rv != -1. The upshot of all of this is that '!'
20163         now works the way it should in lists and some of the rules are more
20164         uniform and sensible.
20165         [ad8e73b5d581]
20166
20167         * Makefile.in:
20168         add parse.h dependency
20169         [4ccccd464d30]
20170
20171         * parse.h:
20172         kill unused *_matched macros
20173         [02cba6dcb732]
20174
20175         * parse.yacc:
20176         Allow a list of users as the first thing in a user spec, not just a
20177         single entry. This makes things more uniform, though it does allow
20178         you to write user specs that are hard to read.
20179         [3c4c91c508ca]
20180
20181         * sudo.tab.c:
20182         parse.yacc
20183         [feca81881bb6]
20184
20185         * configure:
20186         regen
20187         [6f247010bb3b]
20188
20189         * configure.in:
20190         fix check for crypt() in libufc
20191         [82770736f4b0]
20192
20193 1999-08-07  Todd C. Miller  <Todd.Miller@courtesan.com>
20194
20195         * README:
20196         sudo-users list now exists
20197         [4716d2bb0bbf]
20198
20199         * INSTALL, PORTING, README, TODO, TROUBLESHOOTING:
20200         Update to reality.
20201         [1eda2d57e42a]
20202
20203         * CHANGES, Makefile.in, TODO, TROUBLESHOOTING, check.c, compat.h,
20204         config.h.in, configure, configure.in, fileops.c, logging.c, sudo.h,
20205         version.c, visudo.c:
20206         o Move lock_file() and touch() into fileops.c so visudo can use them
20207         o Visudo now locks the sudoers temp file instead of bailing when the
20208         temp file already exists. This fixes the problem of stale temp
20209         files but it does *require* that you not try to put the temp file in
20210         a world-writable directory. This shoud not be an issue as the temp
20211         file should live in the same dir as sudoers. o Visudo now only
20212         installs the temp file as sudoers if it changed.
20213         [2517cd06c070]
20214
20215 1999-08-06  Todd C. Miller  <Todd.Miller@courtesan.com>
20216
20217         * logging.c:
20218         add fcntl locking
20219         [c304adeaf515]
20220
20221         * config.h.in, configure, configure.in, logging.c:
20222         Lock the log file.
20223         [d8652704fbdf]
20224
20225         * Makefile.in, TROUBLESHOOTING, parse.c, pathnames.h.in, sudo.c,
20226         visudo.c, visudo.cat, visudo.html, visudo.man, visudo.pod:
20227         o /etc/stmp -> /etc/sudoers.tmp since solaris uses stmp as shadow
20228         temp file o _PATH_SUDO_SUDOERS -> _PATH_SUDOERS and _PATH_SUDO_STMP
20229         -> _PATH_SUDOERS_TMP
20230         [68cad8975807]
20231
20232 1999-08-05  Todd C. Miller  <Todd.Miller@courtesan.com>
20233
20234         * INSTALL, check.c, config.h.in, configure, configure.in, version.c:
20235         o Kill *_MESSAGE and replace with NO_LECTURE o Add more things to
20236         root sudo -V config reporting
20237         [cdd2613a9dcf]
20238
20239         * configure, configure.in:
20240         aix_auth.o not authenticate.o
20241         [d972e35f6730]
20242
20243         * config.h.in:
20244         Add --with-goodpri and --with-badpri configure options to specify
20245         the syslog priority to use.
20246         [2595ae50ab86]
20247
20248         * INSTALL, configure, configure.in, logging.h:
20249         Add --with-goodpri and --with-badpri configure options to specify
20250         the syslog priority to use.
20251         [8276ee9b2b49]
20252
20253         * compat.h:
20254         kill crufty AIX stuff
20255         [a4f35ef9854e]
20256
20257         * Makefile.in:
20258         Sigh, some versions of make (like Solaris's) don't deal with $< like
20259         I would expect. Both GNU and BSD makes get this right but... So, we
20260         just expand $< inline at the cost of some ugliness.
20261         [b1b456f8801f]
20262
20263         * version.c:
20264         If the invoking user is root, sudo will now print configure info in
20265         -V mode. Currently just prints logging info, to be expanded later.
20266         [392f7ed99267]
20267
20268         * logging.c, logging.h, sudo.c, sudo.h:
20269         o new defines for syslog facility and priority o use new
20270         print_version() functino for -V mode
20271         [78abc5142985]
20272
20273         * check.c:
20274         Don't need version.c
20275         [db9a830ad893]
20276
20277         * aclocal.m4, config.h.in, configure, configure.in:
20278         Add check for syslog facilities and priorities tables in syslog.h
20279         [b86213e5fc5c]
20280
20281         * Makefile.in:
20282         o authenticate -> aix_auth o add version.c
20283         [44b6b9a8d0f5]
20284
20285         * auth/sudo_auth.c:
20286         Missed a prompt -> user_prompt conversion
20287         [e4c60b1f210c]
20288
20289 1999-08-04  Todd C. Miller  <Todd.Miller@courtesan.com>
20290
20291         * TODO:
20292         sudo should lock its logfile
20293         [6d2830b28b07]
20294
20295         * parse.yacc, sudo.tab.c:
20296         o Add '!' correctly when expanding Aliases. o Add shortcut macros
20297         for append() to make things more readable. o The separator in
20298         append() is now a string instead of a char. o In append(), only
20299         prepend the separator if the last char is not a '!'. This is a
20300         hack but it greatly simplifies '!' handling. o In -l mode, Runas
20301         lists and NOPASSWD/PASSWD tags are now inherited across entries in
20302         a list (matches current behavior). o Fix formatting in -l mode such
20303         that items in a list are separated by a space. Greatlt improves
20304         readability. o Space for name field in struct aliasinfo is now
20305         allocated dyanically instead of using a (big) buffer. o In
20306         add_alias(), only search the list once (lsearch instead of lfind +
20307         lsearch)
20308         [51f7e07addb9]
20309
20310         * lex.yy.c, sudo.tab.c, sudo.tab.h:
20311         regen
20312         [5c19bb05dc21]
20313
20314         * configure, configure.in:
20315         Solais pam doesn't require anye xtra setup
20316         [a25ba03d91d1]
20317
20318         * parse.yacc:
20319         o Simpler '!' support now that the lexer deals with multiple !'s for
20320         us. o In the case of opFOO, have FOO give a boolean return value and
20321         set foo_matches in opFOO, not FOO. o Treat 'ALL' as a string since
20322         it gets fill()'d in parse.lex--fixes a small memory leak. In the
20323         long run it may be better to just fix parse.lex and make ALL back
20324         into a token. However, having it be a string is useful since it
20325         can be easily passed back to the parent rule if we so desire.
20326         [b3c64b443018]
20327
20328         * parse.lex:
20329         o Remove some unnecessary backslashes o collapse multiple !'s by
20330         using !+ and checking if yyleng is even or odd. this allows us to
20331         simplify ! handling in parse.yacc
20332         [76330e8da8e3]
20333
20334         * sudo.c:
20335         -u flag was being ignored
20336         [e30283207585]
20337
20338 1999-08-01  Todd C. Miller  <Todd.Miller@courtesan.com>
20339
20340         * Makefile.in:
20341         correct fix
20342         [a0e2377dec8f]
20343
20344         * Makefile.in:
20345         work around pod2man stupididy
20346         [7c755640b67f]
20347
20348         * Makefile.in:
20349         correct dependencies for .cat
20350         [5ed7b0653b68]
20351
20352         * sudo.cat, sudo.man, visudo.cat, visudo.man:
20353         regen
20354         [b74510dd6a0a]
20355
20356         * sudo.pod, visudo.pod:
20357         Add copyright Update to reality
20358         [188e9b046c15]
20359
20360         * parse.c, sudo.c, sudo.h:
20361         rename validate() to the more descriptive sudoers_lookup()
20362         [7a1cb652f379]
20363
20364         * auth/aix_auth.c:
20365         use tgetpass
20366         [b8ba5daec40a]
20367
20368 1999-07-31  Todd C. Miller  <Todd.Miller@courtesan.com>
20369
20370         * CHANGES:
20371         updates
20372         [e61460cdf4a0]
20373
20374         * HISTORY, INSTALL, Makefile.in, README, RUNSON, TROUBLESHOOTING,
20375         configure, configure.in, sudo.c:
20376         Sudo, not CU Sudo
20377         [9061b3573c0c]
20378
20379         * LICENSE:
20380         add 4th term to license similar to term 5 in the apache license
20381         [92712e895afb]
20382
20383         * emul/search.h, emul/utime.h:
20384         add 4th term to license similar to term 5 in the apache license
20385         [4f93a8b9396e]
20386
20387         * auth/afs.c, auth/aix_auth.c, auth/dce.c, auth/fwtk.c, auth/kerb4.c,
20388         auth/kerb5.c, auth/pam.c, auth/passwd.c, auth/rfc1938.c,
20389         auth/secureware.c, auth/securid.c, auth/sia.c, auth/sudo_auth.c,
20390         auth/sudo_auth.h, insults.h, interfaces.c, interfaces.h, lex.yy.c,
20391         logging.c, logging.h, parse.c, parse.h, parse.lex, parse.yacc,
20392         pathnames.h.in, putenv.c, strerror.c, sudo.c, sudo.h, sudo.tab.c,
20393         sudo_setenv.c, testsudoers.c, tgetpass.c, utime.c, version.h,
20394         visudo.c:
20395         add 4th term to license similar to term 5 in the apache license
20396         [afae9f2bf9ec]
20397
20398         * ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h:
20399         add 4th term to license similar to term 5 in the apache license
20400         [c389d3fdafac]
20401
20402         * Makefile.in, alloc.c, check.c, compat.h, config.h.in, find_path.c,
20403         getspwuid.c, goodpath.c:
20404         add 4th term to license similar to term 5 in the apache license
20405         [969e63dbd38e]
20406
20407         * LICENSE, aclocal.m4, auth/rfc1938.c, check.c, configure.in,
20408         insults.h, logging.c, sudo.c, sudo.h:
20409         there was a 1995 release too
20410         [5963fd89457a]
20411
20412 1999-07-28  Todd C. Miller  <Todd.Miller@courtesan.com>
20413
20414         * CHANGES:
20415         updates
20416         [254b794f16ab]
20417
20418         * check.c:
20419         Use dirs instead of files for timestamp. This allows tty and non-
20420         tty schemes to coexist reasonably. Note, however, that when you
20421         update a tty ticket, the mtime on the user dir gets updated as well.
20422         [44bfac32f799]
20423
20424         * configure, configure.in:
20425         Fix getprpwnam() checking on SCO. Need to link with "-lprot -lx"
20426         when linking test program, not just -lprot. Also add check for
20427         getspnam(). The SCO docs indicate that /etc/shadow can be used but
20428         this may be a lie.
20429         [2ba21d36cc1e]
20430
20431 1999-07-24  Todd C. Miller  <Todd.Miller@courtesan.com>
20432
20433         * auth/API:
20434         first cut at auth API description
20435         [3d10df021eb8]
20436
20437 1999-07-22  Todd C. Miller  <Todd.Miller@courtesan.com>
20438
20439         * auth/fwtk.c, auth/kerb4.c, auth/kerb5.c, auth/pam.c, auth/rfc1938.c,
20440         auth/secureware.c, auth/securid.c, auth/sudo_auth.c,
20441         auth/sudo_auth.h:
20442         auth API change. There is now an init method that gets run before
20443         the main loop. This allows auth routines to differentiate between
20444         initialization that happens once vs. setup that needs to run each
20445         time through the loop.
20446         [76df1c0d3478]
20447
20448         * auth/kerb5.c, logging.c:
20449         use easprintf() and evasprintf()
20450         [fd97d96dc12f]
20451
20452         * alloc.c, sudo.h:
20453         add easprintf() and evasprintf(), error checking versions of
20454         asprintf() and vasprintf()
20455         [f54385de20b7]
20456
20457         * TODO:
20458         remove 2 items. One done, one won't do.
20459         [64513b47bc7a]
20460
20461         * lex.yy.c, sudo.tab.c:
20462         regen
20463         [4aa299de2752]
20464
20465         * configure, sudo.cat, sudo.html, sudo.man, sudoers.html, visudo.cat,
20466         visudo.html, visudo.man:
20467         regen
20468         [553c0d1209be]
20469
20470         * CHANGES:
20471         new changes
20472         [d7be00b7e36b]
20473
20474         * sudo.pod:
20475         o Document -K flag and update meaning of -k flag. o BSD-style
20476         copyright o Document clearing of BIND resolver environment variables
20477         o Clarify bit about shared libs o suggest rc files create /tmp/.odus
20478         if your OS gives away files
20479         [4a4092be1455]
20480
20481         * visudo.pod:
20482         BSD license
20483         [ad0bfd0a4630]
20484
20485         * version.h:
20486         BSD-style copyright
20487         [ecc6479325be]
20488
20489         * tgetpass.c:
20490         o BSD copyright o no need to block signals, we now do that in main()
20491         o cosmetic changes
20492         [61958beda7ab]
20493
20494         * testsudoers.c, visudo.c:
20495         o BSD-style copyright o Use "struct sudo_user" instead of old
20496         globals. o some cometic cleanup
20497         [88c0c6924082]
20498
20499         * sudo_setenv.c:
20500         BSD-style copyright
20501         [df20290129a0]
20502
20503         * sudo.h:
20504         o BSD copyright o logging and parser bits moved to their own .h
20505         files o new "struct sudo_user" to encapsulate many of the old
20506         globals.
20507         [50fc86bf25cb]
20508
20509         * sudo.c:
20510         o no longer contains sudo 1.1/1.2 code o BSD copyright o use new
20511         logging routines o simplified flow of control o BIND resolver
20512         additions to badenv_table
20513         [8c53f15bfcb0]
20514
20515         * strerror.c:
20516         BSD-style copyright
20517         [7c906c3a82ac]
20518
20519         * snprintf.c:
20520         Now compiles on more K&R compilers
20521         [07ab1d3231c7]
20522
20523         * putenv.c:
20524         BSD-style copyright, cosmetic changes
20525         [c42371295881]
20526
20527         * pathnames.h.in:
20528         BSD-style copyright
20529         [e5c34ebd4cf1]
20530
20531         * parse.c, parse.h, parse.lex, parse.yacc:
20532         BSD-style copyright. Move parser-specific defines and structs into
20533         parse.h + other cosmetic changes
20534         [d3088efb6228]
20535
20536         * logging.h:
20537         defines for logging routines
20538         [13147941c02d]
20539
20540         * find_path.c, getspwuid.c, goodpath.c, interfaces.c:
20541         BSD-style copyright, cosmetic changes
20542         [e8205e91a4fa]
20543
20544         * ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h, insults.h,
20545         interfaces.h:
20546         BSD-style copyright
20547         [b9499da7cdce]
20548
20549         * configure.in:
20550         o tgetpass.c is no longer optional o kill DCE_OBJS, add AUTH_OBJS o
20551         kill --disable-tgetpass o add --without-passwd o changes to fill in
20552         AUTH_OBJS for new auth api o check for strerror(), v?snprintf() and
20553         v?asprintf() o replace --with-AuthSRV with --with-fwtk
20554         [9a3f39b9c128]
20555
20556         * config.h.in:
20557         BSD-style copyright. Remove USE_GETPASS and HAVE_UTIME_NULL. Add
20558         HAVE_FWTK, HAVE_STRERROR, HAVE_SNPRINTF, HAVE_VSNPRINTF,
20559         HAVE_ASPRINTF, HAVE_VASPRINTF, WITHOUT_PASSWD and NO_PASSWD
20560         [9a09054db53a]
20561
20562         * compat.h:
20563         BSD-style copyright; Add S_IFLNK and MIN/MAX id they are missing.
20564         [25509c566975]
20565
20566         * alloc.c:
20567         BSD-style copyright
20568         [4967be892363]
20569
20570         * TROUBLESHOOTING:
20571         no more --with-getpass
20572         [afd5b670c196]
20573
20574         * TODO:
20575         Take out things I've done...
20576         [375420c8270e]
20577
20578         * README:
20579         Refer to LICENSE
20580         [c486c8db30f6]
20581
20582         * PORTING:
20583         --with-getpass no longer exists
20584         [db48202df1bb]
20585
20586         * Makefile.in:
20587         BSD-style copyright. Update to reflect reality wrt new files and
20588         new auth modules.
20589         [61a2ca7940fb]
20590
20591         * INSTALL:
20592         Remove --with-AuthSRV and --disable-tgetpass. Add --with-fwtk and
20593         --without-passwd.
20594         [64e8f9e1c05e]
20595
20596         * HISTORY:
20597         Update history a bit
20598         [df60c0a871b8]
20599
20600         * COPYING, LICENSE:
20601         Now distributed under a BSD-style license
20602         [d1a184ccabe1]
20603
20604         * auth/sudo_auth.c:
20605         o BSD-style copyright o Add support for NO_PASSWD/WITHOUT_PASSWD
20606         options. o skey/opie replaced by rfc1938 code o new struct sudo_user
20607         global
20608         [891b57060868]
20609
20610         * auth/pam.c, auth/sia.c:
20611         BSD-style copyright and use new log functions
20612         [65c44445ea84]
20613
20614         * auth/kerb5.c:
20615         o BSD-style copyright o Use new log functiongs o Use asprintf() and
20616         snprintf() where sensible.
20617         [1ff0feaacf95]
20618
20619         * check.c:
20620         Rewrote all the old sudo 1.1/1.2 code. Timestamp handling is now
20621         done more reasonably--better sanity checks and tty-based stamps are
20622         now done as files in a directory with the same name as the invoking
20623         user, eg. /var/run/sudo/millert/ttyp1. It is not currently possible
20624         to mix tty and non-tty based ticket schemes but this may change in
20625         the future (it requires sudo to use a directory instead of a file in
20626         the non-tty case). Also, ``sudo -k'' now sets the ticket back to
20627         the epoch and ``sudo -K'' really deletes the file. That way you
20628         don't get the lecture again just because you killed your ticket in
20629         .logout. BSD-style copyright now.
20630         [ec3460f85be8]
20631
20632         * logging.c:
20633         o rewritten logging routines. log_error() now takes printf-style
20634         varargs and log_auth() for the return value of validate(). o BSD-
20635         style copyright
20636         [438292025c4e]
20637
20638         * auth.c, check_sia.c, dce_pwent.c, secureware.c:
20639         superceded by new auth API
20640         [412060590da7]
20641
20642         * auth/kerb4.c:
20643         BSD-style copyright
20644         [cc4e800833c7]
20645
20646         * auth/fwtk.c:
20647         Use snprintf() where it makes sense and add a BSD-style copyright
20648         [1b7502388a74]
20649
20650         * auth/afs.c, auth/aix_auth.c, auth/dce.c, auth/passwd.c,
20651         auth/rfc1938.c, auth/secureware.c, auth/securid.c, auth/sudo_auth.h:
20652         BSD-style copyright
20653         [42583bedae5c]
20654
20655         * emul/utime.h, utime.c:
20656         BSD-style copyright
20657         [3985c90aba47]
20658
20659         * emul/search.h:
20660         this has been rewritten so use my BSD-style copyright
20661         [176df1b0de6f]
20662
20663 1999-07-15  Todd C. Miller  <Todd.Miller@courtesan.com>
20664
20665         * snprintf.c:
20666         include malloc.h if no stdlib.h
20667         [7b123f1d1d03]
20668
20669         * snprintf.c:
20670         KTH snprintf()/asprintf() for systems w/o them
20671         [3ca9aefb9d01]
20672
20673         * strerror.c:
20674         strerror() for systems w/o it
20675         [7f0bd8a1c1b4]
20676
20677 1999-07-12  Todd C. Miller  <Todd.Miller@courtesan.com>
20678
20679         * visudo.c:
20680         stylistic changes
20681         [6f99aceb7170]
20682
20683         * parse.c, parse.lex, parse.yacc:
20684         Add contribution info in the main comment
20685         [e50cec10acd6]
20686
20687 1999-07-11  Todd C. Miller  <Todd.Miller@courtesan.com>
20688
20689         * auth/pam.c:
20690         remove missed ref to PAM_nullpw
20691         [a43e59692cdb]
20692
20693         * auth/sudo_auth.h:
20694         pasto
20695         [891ff138ab89]
20696
20697         * auth/kerb5.c:
20698         more or less complete now--still untested
20699         [21036732faa0]
20700
20701         * auth/afs.c, auth/pam.c:
20702         don't use user_name macro, it will go away
20703         [def7cf727349]
20704
20705         * auth/opie.c, auth/rfc1938.c, auth/skey.c, auth/sudo_auth.h:
20706         combine skey/opie code into rfc1938.c
20707         [44d88ca93d3e]
20708
20709         * auth/dce.c, auth/sudo_auth.h:
20710         DCE authentication method; basically unchanged from dce_pwent.c
20711         [4d468473dd6f]
20712
20713         * auth/aix_auth.c, auth/sudo_auth.h:
20714         AIX authenticate() support. Could probably be much better
20715         [000013321a33]
20716
20717         * auth/sia.c:
20718         Fix an uninitialized variable and some cleanup. Now works (tested)
20719         [fd6ad88ff055]
20720
20721         * auth/sia.c, auth/sudo_auth.h:
20722         SIA support for digital unix
20723         [5335f3e70eab]
20724
20725         * auth/pam.c:
20726         don't use prompt global, it will go away
20727         [fadd22dd6ce4]
20728
20729         * auth/secureware.c:
20730         correct copyright years
20731         [6aa07c49f51b]
20732
20733         * auth/afs.c, auth/fwtk.c, auth/kerb4.c, auth/kerb5.c, auth/opie.c,
20734         auth/pam.c, auth/passwd.c, auth/secureware.c, auth/securid.c,
20735         auth/skey.c, auth/sudo_auth.c, auth/sudo_auth.h:
20736         New authentication API and methods
20737         [9debe9b59c79]
20738
20739 1999-07-08  Todd C. Miller  <Todd.Miller@courtesan.com>
20740
20741         * sudo.tab.c:
20742         regen
20743         [84578e82c1a6]
20744
20745         * parse.yacc:
20746         only save an entry if user_matches && host_matches, even if the
20747         stack is empty (fix for previous commit)
20748         [00984b078d8a]
20749
20750         * sudo.tab.c:
20751         regen
20752         [66acf160b4b7]
20753
20754         * parse.yacc:
20755         1) Always save an entry on the stack if it is empty. This fixes the
20756         -l and -v flags that were broken by earlier parser changes.
20757
20758         2) In a Runas list, don't negate FALSE -> TRUE since that would make
20759         !foo match any time the user specified a runas user (via -u) other
20760         than foo.
20761         [f322eb54b015]
20762
20763         * testsudoers.c:
20764         interfaces and num_interfaces are now auto, not extern
20765         [113add5c6518]
20766
20767 1999-07-07  Todd C. Miller  <Todd.Miller@courtesan.com>
20768
20769         * auth.c:
20770         use a static global to keep stae about empty passwords
20771         [bc02e30807d8]
20772
20773         * check_sia.c:
20774         make PASSWORD_NOT_CORRECT logging consistent with other modules
20775         [21962549d5fd]
20776
20777 1999-07-05  Todd C. Miller  <Todd.Miller@courtesan.com>
20778
20779         * auth.c:
20780         PAM prompt code was wrong, looks like we have to kludge it after
20781         all.
20782         [91f246155ead]
20783
20784         * auth.c:
20785         In the PAM code, when a user hits return at the first password
20786         prompt, exit without a warning just like the normal auth code
20787         [918f59bacdb7]
20788
20789         * configure, configure.in:
20790         kludge around cross-compiler false positives
20791         [5e5fc8356400]
20792
20793         * auth.c, check.c, check_sia.c, logging.c, sudo.h, tgetpass.c:
20794         New (correct) PAM code Tgetpass now takes an echo flag for use with
20795         PAM_PROMPT_ECHO_ON Block SIGINT and SIGTSTP during auth remove a
20796         useless umask setting Change error from BAD_ALLOCATION ->
20797         BAD_AUTH_INIT (for use with sia/PAM) Some cosmetic changes to auth.c
20798         for consistency
20799         [e71397f09dd8]
20800
20801         * sudo.c:
20802         Some -Wall and kill some trailing spaces
20803         [8229b43d5c4e]
20804
20805         * configure.in:
20806         define -D__EXTENSIONS__ for solaris so we get crypt() proto
20807         [7533e4436cab]
20808
20809 1999-06-22  Todd C. Miller  <Todd.Miller@courtesan.com>
20810
20811         * RUNSON:
20812         add Dynix 4.4.4
20813         [b69f773efbce]
20814
20815         * INSTALL, config.h.in, configure, configure.in:
20816         for kerberos V < version, fall back on old kerb4 auth code
20817         [d685ed3a1d8e]
20818
20819         * INSTALL:
20820         clarify some things
20821         [2f5ba2e8e53a]
20822
20823         * UPGRADE, sudoers.cat, sudoers.man, sudoers.pod:
20824         typos
20825         [8925a109c093]
20826
20827 1999-06-14  Todd C. Miller  <Todd.Miller@courtesan.com>
20828
20829         * sudo.c:
20830         mention why DONT_LEAK_PATH_INFO is not the default
20831         [0346260cb4ec]
20832
20833 1999-06-03  Todd C. Miller  <Todd.Miller@courtesan.com>
20834
20835         * tgetpass.c:
20836         Fix open(2) return value checking, was NULL for fopen, should be -1
20837         for open
20838         [355878bf6d8a]
20839
20840         * configure:
20841         regen
20842         [68bf82871862]
20843
20844         * configure.in:
20845         better wording for solaris pam notice
20846         [04e88c7a6c42]
20847
20848         * CHANGES:
20849         document recent changes
20850         [7c922c5622ef]
20851
20852         * TROUBLESHOOTING:
20853         Update shadow password section
20854         [e8448bae7d66]
20855
20856         * auth.c:
20857         move authentication code from check.c to auth.c
20858         [e9f6ecae2399]
20859
20860         * Makefile.in, check.c, sudo.h:
20861         move authentication code to auth.c
20862         [124cded85f46]
20863
20864 1999-05-17  Todd C. Miller  <Todd.Miller@courtesan.com>
20865
20866         * Makefile.in, check.c, check_sia.c, compat.h, find_path.c,
20867         getspwuid.c, goodpath.c, interfaces.c, interfaces.h, lex.yy.c,
20868         logging.c, parse.c, parse.lex, parse.yacc, secureware.c, sudo.c,
20869         sudo.h, sudo.tab.c, sudo_setenv.c, testsudoers.c, tgetpass.c,
20870         visudo.c:
20871         Move interface-related defines to interfaces.h so we don't have to
20872         include <netinet/in.h> everywhere.
20873         [e7599d8ea0bf]
20874
20875 1999-05-14  Todd C. Miller  <Todd.Miller@courtesan.com>
20876
20877         * CHANGES, INSTALL, TODO, check.c, compat.h, getspwuid.c, logging.c,
20878         parse.yacc, sudo.c, sudo.tab.c, tgetpass.c:
20879         o Replace _PASSWD_LEN braindeath with our own SUDO_MAX_PASS. It
20880         turns out the old DES crypt does the right thing with passwords
20881         longert than 8 characters. o Fix common typo (necesary ->
20882         necessary) o Update TODO list
20883         [ad75007a6f13]
20884
20885 1999-05-03  Todd C. Miller  <Todd.Miller@courtesan.com>
20886
20887         * sudo.c:
20888         set $LOGNAME when we set $USER
20889         [391596210fd7]
20890
20891 1999-04-27  Todd C. Miller  <Todd.Miller@courtesan.com>
20892
20893         * INSTALL:
20894         add comment about digital unix and interfaces.c warning with gcc
20895         [e20f815901cc]
20896
20897 1999-04-15  Todd C. Miller  <Todd.Miller@courtesan.com>
20898
20899         * sample.sudoers:
20900         use modern paths and give examples for some of the new parser
20901         features
20902         [e7b2e507c695]
20903
20904 1999-04-10  Todd C. Miller  <Todd.Miller@courtesan.com>
20905
20906         * parse.c:
20907         fix comment
20908         [5eb0d005a65f]
20909
20910         * alloc.c, check.c, check_sia.c, dce_pwent.c, find_path.c,
20911         getspwuid.c, goodpath.c, interfaces.c, lex.yy.c, logging.c, parse.c,
20912         parse.lex, parse.yacc, putenv.c, secureware.c, sudo.c, sudo.tab.c,
20913         sudo_setenv.c, testsudoers.c, tgetpass.c, utime.c, visudo.c:
20914         Function names should be flush with the start of the line so they
20915         can be found trivially in an editor and with grep
20916         [3c400abde574]
20917
20918         * find_path.c, interfaces.c, lex.yy.c, parse.c, parse.lex, parse.yacc,
20919         sudo.c, sudo.tab.c, testsudoers.c, tgetpass.c, visudo.c:
20920         free(3) is already void, no need to cast it
20921         [6981e1ebda0f]
20922
20923         * logging.c, sudo.c, sudo.h:
20924         catch case where cmnd_safe is not set (this should not be possible)
20925         [3e1e3038546c]
20926
20927         * CHANGES, logging.c, parse.c, parse.yacc, sudo.c, sudo.h, sudo.tab.c,
20928         testsudoers.c, visudo.c:
20929         Stash the "safe" path (ie: the one listed in sudoers) to the command
20930         instead of stashing the struct stat. Should be safer.
20931         [aa2883fcf57e]
20932
20933 1999-04-08  Todd C. Miller  <Todd.Miller@courtesan.com>
20934
20935         * INSTALL, Makefile.in, UPGRADE:
20936         notes on updating from an earlier release
20937         [df9fffa4ab2c]
20938
20939         * CHANGES:
20940         updated
20941         [574f5065d15a]
20942
20943 1999-04-07  Todd C. Miller  <Todd.Miller@courtesan.com>
20944
20945         * parse.yacc, sudo.tab.c, sudo.tab.h, sudoers.cat, sudoers.html,
20946         sudoers.man, sudoers.pod:
20947         You can now specifiy a host list instead of just a host or alias.
20948         Ie: user = host1,host2,ALIAS,!host3 my_command now works.
20949         [e3942bb78021]
20950
20951         * testsudoers.c:
20952         Quiet -Wall
20953         [a3edc8b08c3a]
20954
20955         * parse.yacc, sudo.tab.c:
20956         Move the push from the beginning of cmndspec to the end. This means
20957         we no longer have to do a push at the end of privilege, just reset
20958         some values.
20959         [8ea66e5860c6]
20960
20961         * sudoers.cat, sudoers.html, sudoers.man, sudoers.pod:
20962         runas-lists and NOPASSWD/PASSWD modifiers are now sticky and you can
20963         use "!" most everywhere
20964         [aadae4d1c9d5]
20965
20966 1999-04-06  Todd C. Miller  <Todd.Miller@courtesan.com>
20967
20968         * sudoers.pod:
20969         modernize paths and update su example based on sample.sudoers one
20970         [3f6a37e16c83]
20971
20972         * sample.sudoers:
20973         New runas semantics
20974         [756ee92865b7]
20975
20976         * CHANGES, Makefile.in, alloc.c, config.h.in, configure, configure.in,
20977         strdup.c, sudo.h:
20978         In estrdup(), do the malloc ourselves so we don't need to rely on
20979         the system strdup(3) which may or may not exist. There is now no
20980         need to provide strdup() for those w/o it. Also, the prototype for
20981         estrdup() was wrong, it returns char * and its param is const.
20982         [5f1f984da8e3]
20983
20984         * getcwd.c:
20985         $Sudo tag
20986         [e4188a35e68c]
20987
20988         * check.c:
20989         buf should be prompt; Michael Robokoff <mrobo@networkcs.com>
20990         [2aec87c86cde]
20991
20992         * CHANGES, TODO, parse.yacc, sudo.tab.c:
20993         It is now possible to use the '!' operator in a runas list as well
20994         as in a Cmnd_Alias, Host_Alias and User_Alias.
20995         [a4fdaabda990]
20996
20997         * logging.c, sudo.h:
20998         Kill GLOBAL_NO_SPW_ENT (not used) and crank GLOBAL_PROBLEM
20999         [73d0376785ae]
21000
21001         * sudo.h:
21002         Definitions of *_matched were wrong--user top, not top-2 as
21003         subscript.
21004         [5f8350a57362]
21005
21006         * logging.c, parse.c, parse.yacc, sudo.c, sudo.h, sudo.tab.c:
21007         Add VALIDATE_NOT_OK_NOPASS for when user is not allowed to run a
21008         command but the NOPASSWD flag was set. Make runasspec, runaslist,
21009         runasuser, and nopasswd typeless in parse.yacc Add support for '!'
21010         in the runas list Fix double printing of '%' and '+' for groups and
21011         netgroups respectively Add *_matched macros (no need for local stack
21012         variable). Should only be used directly after a pop (since top must
21013         be >= 2).
21014         [392b1400c4e6]
21015
21016         * aclocal.m4, configure.in:
21017         Add copyright, somewhat silly
21018         [55c2cdd82dca]
21019
21020 1999-04-05  Todd C. Miller  <Todd.Miller@courtesan.com>
21021
21022         * BUGS, INSTALL, Makefile.in, README, alloc.c, check.c, check_sia.c,
21023         compat.h, config.h.in, configure, configure.in, dce_pwent.c,
21024         emul/utime.h, find_path.c, getspwuid.c, goodpath.c, ins_2001.h,
21025         ins_classic.h, ins_csops.h, ins_goons.h, insults.h, interfaces.c,
21026         lex.yy.c, logging.c, parse.c, parse.lex, parse.yacc, pathnames.h.in,
21027         putenv.c, secureware.c, strdup.c, sudo.c, sudo.cat, sudo.h,
21028         sudo.man, sudo.tab.c, sudo_setenv.c, sudoers.cat, sudoers.man,
21029         testsudoers.c, tgetpass.c, utime.c, version.h, visudo.c, visudo.cat,
21030         visudo.man:
21031         Crank version to 1.6 and combine copyright statements
21032         [0e1c791658ae]
21033
21034         * sample.sudoers:
21035         Use ! not ^ to do negation
21036         [1480a0761730]
21037
21038         * lex.yy.c, sudo.tab.c:
21039         regen
21040         [89ca5a46684b]
21041
21042         * parse.lex, parse.yacc:
21043         Make runas and NOPASSWD tags persistent across entris in a command
21044         list. Add a PASSWD tag to reverse NOPASSWD. When you override a
21045         runas or *PASSWD tag the value given becomes the new default for the
21046         rest of the command list.
21047         [f1bbb4066542]
21048
21049 1999-04-02  Todd C. Miller  <Todd.Miller@courtesan.com>
21050
21051         * CHANGES, RUNSON:
21052         update for 1.5.9
21053         [a1ae9d4a7d54] [SUDO_1_5_9]
21054
21055         * visudo.c:
21056         Shift return value of system(3) by 8 to get real exit value and if
21057         it is not 1 or 0 print the retval along with the error message.
21058         [c1ff50d743fb]
21059
21060 1999-03-30  Todd C. Miller  <Todd.Miller@courtesan.com>
21061
21062         * Makefile.in:
21063         testsudoers needs LIBOBJS too
21064         [972571b4e4bf]
21065
21066         * parse.c, parse.yacc, sudo.tab.c:
21067         Fix another parser bug. For a sudoers entry like this: millert
21068         ALL=/bin/ls,(daemon) !/bin/ls sudo would not allow millert to run ls
21069         as root.
21070         [51968e1eb33d]
21071
21072         * CHANGES:
21073         new change
21074         [271c6110bb62]
21075
21076         * parse.yacc, sudo.tab.c:
21077         Save entries that match a ! command on the matching stack too
21078         [5afb5107116c]
21079
21080         * sudo.c:
21081         Make sudo's usage info better when mutually exclusive args are given
21082         and don't rely on argument order to detect this; nick@zeta.org.au
21083         [2422753c88fd]
21084
21085 1999-03-29  Todd C. Miller  <Todd.Miller@courtesan.com>
21086
21087         * CHANGES, Makefile.in, RUNSON:
21088         updates from CU
21089         [b37381e3dafb]
21090
21091         * Makefile.in:
21092         use gzip
21093         [94a64e52a166]
21094
21095         * parse.yacc, sudo.tab.c:
21096         Fix off by one error introduced in *alloc changes
21097         [95ede581153a]
21098
21099         * BUGS, CHANGES, INSTALL, Makefile.in, README, alloc.c, check.c,
21100         check_sia.c, compat.h, config.h.in, configure, configure.in,
21101         dce_pwent.c, emul/utime.h, find_path.c, getspwuid.c, goodpath.c,
21102         ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h, insults.h,
21103         interfaces.c, lex.yy.c, logging.c, parse.c, parse.lex, parse.yacc,
21104         pathnames.h.in, putenv.c, secureware.c, strdup.c, sudo.c, sudo.cat,
21105         sudo.h, sudo.man, sudo.tab.c, sudo_setenv.c, sudoers.cat,
21106         sudoers.man, testsudoers.c, tgetpass.c, utime.c, version.h,
21107         visudo.c, visudo.cat, visudo.html, visudo.man, visudo.pod:
21108         ++version
21109         [c6d88f024e37]
21110
21111         * Makefile.in, check.c, find_path.c, getspwuid.c, goodpath.c,
21112         interfaces.c, lex.yy.c, logging.c, parse.c, parse.lex, parse.yacc,
21113         putenv.c, secureware.c, strdup.c, sudo.c, sudo.h, sudo.tab.c,
21114         sudo_setenv.c, testsudoers.c, utime.c, visudo.c:
21115         Use emalloc/erealloc/estrdup
21116         [44221d97361a]
21117
21118         * alloc.c:
21119         error checking memory allocation routines
21120         [5f8c1e7bbc71]
21121
21122         * parse.yacc, sudo.tab.c:
21123         Still not right, this fixes it for real
21124         [ad553b6f5339]
21125
21126         * parse.yacc, sudo.tab.c:
21127         Fix for previous commit
21128         [4d6f989f9bf2]
21129
21130         * CHANGES, INSTALL, parse.yacc:
21131         Fix a parser bug that was exposed when mixing different runas specs
21132         and ! commands. For example: millert ALL=(daemon)
21133         /usr/bin/whoami,!/bin/ls would allow millert to run whoami as root
21134         as well as daemon when it should just allow daemon. The problem was
21135         that comma-separated commands in a list shared the same entry on the
21136         matching stack. Now they get their own entry iff there is a full
21137         match. It may be better to just make the runas spec persistent
21138         across all commands in a list like the user and host entries of the
21139         matching stack. However, since that is a fairly major change it
21140         should gets its own minor rev increase.
21141         [c4b939cdcc8e]
21142
21143 1999-03-28  Todd C. Miller  <Todd.Miller@courtesan.com>
21144
21145         * check.c, config.h.in:
21146         Simplify PAM code and fix a PAM-related warning on Linux
21147         [2468399523b6]
21148
21149 1999-03-26  Todd C. Miller  <Todd.Miller@courtesan.com>
21150
21151         * CHANGES:
21152         updates
21153         [29d4a997769c]
21154
21155         * sample.sudoers:
21156         better su entry
21157         [76d8285a72ba]
21158
21159         * configure:
21160         regen
21161         [b7450cc6975d]
21162
21163         * check.c, configure.in:
21164         new pam code that works on solaris, should work on linux too;
21165         aelberg@home.com
21166         [84c16c0ff259]
21167
21168 1999-03-19  Todd C. Miller  <Todd.Miller@courtesan.com>
21169
21170         * RUNSON:
21171         more entries
21172         [b6bef8660759]
21173
21174         * config.h.in:
21175         only include strings.h if there is no string.h
21176         [b66054a32b00]
21177
21178 1999-03-17  Todd C. Miller  <Todd.Miller@courtesan.com>
21179
21180         * config.guess:
21181         Sinix is now being called ReliantUNIX; bjjackso@us.oracle.com
21182         [c086d2fe63af]
21183
21184 1999-03-13  Todd C. Miller  <Todd.Miller@courtesan.com>
21185
21186         * sudo.c:
21187         shost must be set before log functions are called #ifdef HOST_IN_LOG
21188         [d49a7944358f]
21189
21190 1999-03-07  Todd C. Miller  <Todd.Miller@courtesan.com>
21191
21192         * CHANGES, lex.yy.c, parse.lex:
21193         Fix a bug wrt quoting characters in command args. Stop processing
21194         an arg when you hit a backslash so the quoted-character detection
21195         can catch it.
21196         [2281438d7f41]
21197
21198 1999-02-26  Todd C. Miller  <Todd.Miller@courtesan.com>
21199
21200         * interfaces.c:
21201         include sys/time.h; aparently AIX needs it. ppz@cdu.elektra.ru
21202         [31118a9e9916]
21203
21204 1999-02-24  Todd C. Miller  <Todd.Miller@courtesan.com>
21205
21206         * configure, configure.in:
21207         add missing case statement so --without-sendmail works
21208         [ca25614f7dd9]
21209
21210 1999-02-23  Todd C. Miller  <Todd.Miller@courtesan.com>
21211
21212         * CHANGES:
21213         more
21214         [4d70e44f7f93]
21215
21216 1999-02-22  Todd C. Miller  <Todd.Miller@courtesan.com>
21217
21218         * configure, configure.in:
21219         only search for -lsun in irix <= 4.x
21220         [e604238317b1]
21221
21222         * configure, configure.in:
21223         back out last configure.in change now that I've hacked autoconf to
21224         fix the real problem and add a missing newline
21225         [2dabf59a79b5]
21226
21227         * CHANGES:
21228         updated
21229         [bb35d526552f]
21230
21231         * getcwd.c:
21232         add def of dirfd() for those without it
21233         [95f0173d8441]
21234
21235         * configure, configure.in:
21236         When falling back to checking for socket() when linking with
21237         "-lsocket -lnsl" check for main() instead since autoconf has already
21238         cached the results of checking for socket() in -lsocket. This is
21239         really an autoconf bug as it should use the extra libs as part of
21240         the cache variable name.
21241         [a845f8b710ad]
21242
21243         * configure.in:
21244         typo
21245         [a7d62f62a478]
21246
21247 1999-02-21  Todd C. Miller  <Todd.Miller@courtesan.com>
21248
21249         * configure.in:
21250         fix occurrence of $with_timeout that should be
21251         $with_password_timeout; Michael.Neef@neuroinformatik.ruhr-uni-
21252         bochum.de
21253         [8c4da2cf73d1]
21254
21255 1999-02-17  Todd C. Miller  <Todd.Miller@courtesan.com>
21256
21257         * sudo.cat, sudo.html, sudo.man, sudo.pod:
21258         fix grammar; espie@openbsd.org
21259         [7031d9dfbc3e] [SUDO_1_5_8]
21260
21261 1999-02-11  Todd C. Miller  <Todd.Miller@courtesan.com>
21262
21263         * parse.yacc, sudo.c, testsudoers.c:
21264         add cast for strdup in places it does not have it
21265         [7ce4478d3b0f]
21266
21267 1999-02-09  Todd C. Miller  <Todd.Miller@courtesan.com>
21268
21269         * configure, configure.in:
21270         define for_BSD_TYPES irix
21271         [858337ff4af8]
21272
21273 1999-02-07  Todd C. Miller  <Todd.Miller@courtesan.com>
21274
21275         * Makefile.in, sudo.cat, sudo.html, sudo.man, sudo.pod:
21276         Make it clear that it is the user's password, not root's, that we
21277         want.
21278         [ae0f51b35ee4]
21279
21280         * check.c, sudo.h:
21281         If the user enters an empty password and really has no password,
21282         accept the empty password they entered. Perviously, they could
21283         enter anything
21284         *but* an empty password. Also, add GETPASS macro that calls either
21285         tgetpass() or getpass() depending on how sudo was configured.
21286         Problem noted by jdg@maths.qmw.ac.uk
21287         [2fde21ce94c1]
21288
21289 1999-02-03  Todd C. Miller  <Todd.Miller@courtesan.com>
21290
21291         * Makefile.in, check.c, check_sia.c, compat.h, config.h.in,
21292         dce_pwent.c, emul/utime.h, find_path.c, getspwuid.c, goodpath.c,
21293         ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h, insults.h,
21294         interfaces.c, logging.c, parse.c, parse.lex, parse.yacc,
21295         pathnames.h.in, putenv.c, secureware.c, strdup.c, sudo.c, sudo.h,
21296         sudo_setenv.c, testsudoers.c, tgetpass.c, utime.c, version.h,
21297         visudo.c:
21298         add explicate copyright
21299         [d3b4449834a5]
21300
21301         * CHANGES:
21302         mention -lsocket, -lnsl configure changes
21303         [9140af4ad8ae]
21304
21305 1999-02-02  Todd C. Miller  <Todd.Miller@courtesan.com>
21306
21307         * sudo.c:
21308         Don't clobber errno after calling check_sudoers().
21309         [59bd581b2654]
21310
21311 1999-02-01  Todd C. Miller  <Todd.Miller@courtesan.com>
21312
21313         * configure, configure.in:
21314         When linking with both -lsocket and -lnsl be sure to do so in that
21315         order. Also, when we can't find socket() or inet_addr() and have to
21316         try linking with both libs, issue a warning.
21317         [0ee547163067]
21318
21319         * sudo.cat, sudo.man, sudo.pod:
21320         clarify bad timestamp and fmt
21321         [70e42cf56c75]
21322
21323 1999-01-23  Todd C. Miller  <Todd.Miller@courtesan.com>
21324
21325         * INSTALL, RUNSON:
21326         be clear that pam is linux-only and add a RUNSON entry
21327         [7fdeab875e0d]
21328
21329 1999-01-22  Todd C. Miller  <Todd.Miller@courtesan.com>
21330
21331         * CHANGES, INSTALL, configure, configure.in:
21332         fix and correctly document --with-umask; problem noted by
21333         adap@adap.org
21334         [11cd0481d63a]
21335
21336 1999-01-20  Todd C. Miller  <Todd.Miller@courtesan.com>
21337
21338         * configure, configure.in:
21339         only use /usr/{man,catman}/local to store man pages if suer didn't
21340         override prefix or mandir
21341         [781ad2cbe9be]
21342
21343         * INSTALL, configure, configure.in:
21344         fix typo, make --with-SecurID take an arg
21345         [026a9b4014fc]
21346
21347 1999-01-19  Todd C. Miller  <Todd.Miller@courtesan.com>
21348
21349         * RUNSON:
21350         updates from users
21351         [2286982b31e6]
21352
21353         * CHANGES, INSTALL, check.c, configure, configure.in:
21354         FWTK 'authsrv' support from Kevin Kadow <kadow@MSG.NET>
21355         [23aa4e5c6b02]
21356
21357         * configure, configure.in:
21358         better fix for the problem of unresolved symbols in -lnsl or
21359         -lsocket
21360         [82fe70fc287f]
21361
21362         * configure, configure.in:
21363         when checking for functions in -lnsl and -lsocket link with both of
21364         them to avoid unresolved symbols on some weirdo systems
21365         [1734a591808e]
21366
21367 1999-01-18  Todd C. Miller  <Todd.Miller@courtesan.com>
21368
21369         * BUGS, CHANGES, RUNSON, TODO:
21370         old changes that didn't make it into RCS before the RCS->CVS switch
21371         [846eb2b8f9aa]
21372
21373 1999-01-17  Todd C. Miller  <Todd.Miller@courtesan.com>
21374
21375         * Makefile.in, check.c, check_sia.c, compat.h, config.h.in,
21376         configure.in, dce_pwent.c, emul/search.h, emul/utime.h, find_path.c,
21377         getspwuid.c, goodpath.c, ins_2001.h, ins_classic.h, ins_csops.h,
21378         ins_goons.h, insults.h, interfaces.c, lex.yy.c, logging.c,
21379         lsearch.c, parse.c, parse.lex, parse.yacc, pathnames.h.in, putenv.c,
21380         secureware.c, strdup.c, sudo.c, sudo.pod, sudo_setenv.c,
21381         sudoers.pod, testsudoers.c, tgetpass.c, utime.c, visudo.c,
21382         visudo.pod:
21383         add sudo tags
21384         [962f81eaa5ab]
21385
21386         * sudo.h:
21387         testing Sudo tag
21388         [e84cbc521129]
21389
21390         * version.h:
21391         testing Sudo tag
21392         [a8c3a3998b88]
21393
21394         * BUGS, INSTALL, Makefile.in, README, check.c, check_sia.c, compat.h,
21395         config.h.in, configure, configure.in, dce_pwent.c, emul/utime.h,
21396         find_path.c, getspwuid.c, goodpath.c, ins_2001.h, ins_classic.h,
21397         ins_csops.h, ins_goons.h, insults.h, interfaces.c, lex.yy.c,
21398         logging.c, parse.c, parse.lex, parse.yacc, pathnames.h.in, putenv.c,
21399         secureware.c, strdup.c, sudo.c, sudo.cat, sudo.h, sudo.man,
21400         sudo_setenv.c, sudoers.cat, sudoers.man, testsudoers.c, tgetpass.c,
21401         utime.c, version.h, visudo.c, visudo.cat, visudo.man:
21402         crank version and regen files
21403         [23eacf00a1a4]
21404
21405         * Makefile.in:
21406         kill rcs goop in update_version and fix now that version is a const
21407         [e6e50bd8d1e1]
21408
21409         * INSTALL, check.c, config.h.in, configure, configure.in, logging.c,
21410         sudo.c, sudo.h, sudo.pod:
21411         kerb5 support from fcusack@iconnet.net
21412         [8134027986e2]
21413
21414         * realpath.c, sudo_realpath.c:
21415         we no longer use realpath
21416         [0f5f64abc646]
21417
21418         * qualify.c:
21419         replaced by find_path.c
21420         [9e32a87e09c4]
21421
21422         * options.h:
21423         all options are now configure flags
21424         [ee6bd9610102]
21425
21426         * lex.yy.c:
21427         regen
21428         [bdbf8a18161f]
21429
21430         * getwd.c:
21431         superceded by getcwd.c
21432         [1e54ee0990b4]
21433
21434         * getpass.c:
21435         superceded by tgetpass.c
21436         [4e0d1edc30e3]
21437
21438         * SUPPORTED:
21439         superceded by RUNSON
21440         [854c5a21cb53]
21441
21442         * OPTIONS:
21443         No longer used now that we have configure options for everything.
21444         [9b1ae1c89259]
21445
21446         * configure:
21447         regen based on configure.in
21448         [3a4d73936973]
21449
21450         * sudo.cat, sudo.html, sudo.man, sudoers.cat, sudoers.html,
21451         sudoers.man, visudo.cat, visudo.html, visudo.man:
21452         regen based on sudo.pod, sudoers.pod, and visudo.pod
21453         [c267beb90778]
21454
21455 1998-12-11  Todd C. Miller  <Todd.Miller@courtesan.com>
21456
21457         * check.c:
21458         fix tty tickets in remove_timestamp (didn't use ':')
21459         [fd964a74a32b]
21460
21461 1998-12-07  Todd C. Miller  <Todd.Miller@courtesan.com>
21462
21463         * interfaces.c:
21464         close sock when we are done with it
21465         [95de0380f8a4]
21466
21467 1998-11-28  Todd C. Miller  <Todd.Miller@courtesan.com>
21468
21469         * parse.yacc:
21470         never say "error on line -1"
21471         [361db1491121]
21472
21473 1998-11-24  Todd C. Miller  <Todd.Miller@courtesan.com>
21474
21475         * configure.in:
21476         check for -lnsl before -lsocket
21477         [8e966d6bbcb5]
21478
21479         * configure.in:
21480         quote '[', ']' used in ranges correctly
21481         [fa4f9c6ff651]
21482
21483 1998-11-21  Todd C. Miller  <Todd.Miller@courtesan.com>
21484
21485         * config.h.in:
21486         add missing NO_ROOT_SUDO noted by drno@tsd.edu
21487         [c969f25d1667]
21488
21489 1998-11-20  Todd C. Miller  <Todd.Miller@courtesan.com>
21490
21491         * version.h:
21492         1.5.7
21493         [7a22de0bc148]
21494
21495         * INSTALL:
21496         more info for 1.5.7
21497         [30ad9e784799]
21498
21499         * README:
21500         update for 1.5.7
21501         [cd03a0a27cd2]
21502
21503         * parse.yacc:
21504         make increases of cm_list_size and ga_list_size be similar to
21505         increases of stacksize (ie: >= not > in initial compare).
21506         [6bd450a896c7]
21507
21508         * parse.yacc:
21509         when we get a syntax error, report it for the previous line since
21510         that's generally where the error occurred.
21511         [c4ac84058f0b]
21512
21513 1998-11-18  Todd C. Miller  <Todd.Miller@courtesan.com>
21514
21515         * config.h.in, configure.in, interfaces.c:
21516         add back check for sys/sockio.h but only use it if SIOCGIFCONF is
21517         not defined
21518         [d197f31fd1e4] [SUDO_1_5_7]
21519
21520         * config.h.in:
21521         define BSD_COMP for svr4
21522         [87ac1147ff79]
21523
21524         * check.c, check_sia.c, find_path.c, getcwd.c, getspwuid.c,
21525         goodpath.c, interfaces.c, logging.c, lsearch.c, parse.c, parse.lex,
21526         parse.yacc, putenv.c, secureware.c, strdup.c, sudo.c, sudo_setenv.c,
21527         testsudoers.c, tgetpass.c, utime.c, visudo.c:
21528         more -Wall
21529         [d98e2d32db2a]
21530
21531         * configure.in:
21532         kill check for sockio,h
21533         [4399779014c1]
21534
21535         * config.h.in:
21536         no more HAVE_SYS_SOCKIO_H
21537         [67484528e347]
21538
21539         * check.c, check_sia.c, find_path.c, getcwd.c, getspwuid.c,
21540         goodpath.c, interfaces.c, logging.c, lsearch.c, parse.c, parse.lex,
21541         parse.yacc, putenv.c, secureware.c, strdup.c, sudo.c, sudo_setenv.c,
21542         testsudoers.c, tgetpass.c, utime.c, visudo.c:
21543         -Wall
21544         [2b7e83976788]
21545
21546 1998-11-16  Todd C. Miller  <Todd.Miller@courtesan.com>
21547
21548         * sudo.c:
21549         add missing inform_user()
21550         [8689528c6d55]
21551
21552 1998-11-14  Todd C. Miller  <Todd.Miller@courtesan.com>
21553
21554         * find_path.c:
21555         return NOT_FOUND if given fully qualified path and it does not exist
21556         previously it would perror(ENOENT) which bypasses the option to not
21557         leak path info
21558         [ccbc3d0130ae]
21559
21560         * configure.in:
21561         for kerb5, check for -lkerb4, fall back on -lkrb for kerb, check for
21562         -ldes
21563         [c77d3b484ece]
21564
21565 1998-11-13  Todd C. Miller  <Todd.Miller@courtesan.com>
21566
21567         * INSTALL:
21568         tty tickets are user:tty now
21569         [a53a303a614d]
21570
21571         * check.c:
21572         when using tty tickets make it user:tty not user.tty as a username
21573         could have a '.' in it
21574         [3160b3f5c890]
21575
21576 1998-11-10  Todd C. Miller  <Todd.Miller@courtesan.com>
21577
21578         * sudo.c:
21579         add "ignoring foo found in ." for auth successful case
21580         [24257169e0bd]
21581
21582 1998-11-09  Todd C. Miller  <Todd.Miller@courtesan.com>
21583
21584         * sudo.c:
21585         add missing printf param
21586         [8c905124f777]
21587
21588 1998-11-08  Todd C. Miller  <Todd.Miller@courtesan.com>
21589
21590         * INSTALL, config.h.in, configure.in, find_path.c, sudo.c, sudo.h:
21591         go back to printing "command not found" unless --disable-path-info
21592         specified. Also, tell user when we ignore '.' in their path and it
21593         would have been used but for --with-ignore-dot.
21594         [066e118c11e4]
21595
21596         * check.c, sudo.c:
21597         Only one space after a colon, not two, in printf's
21598         [38452f4c8007]
21599
21600 1998-11-05  Todd C. Miller  <Todd.Miller@courtesan.com>
21601
21602         * sudo.pod:
21603         document setting $USER
21604         [80557fe6aede]
21605
21606         * check.c:
21607         fix bugs with prompt expansion
21608         [44c4fca5f009]
21609
21610         * sudo.c:
21611         set $USER for root too
21612         [4b525e1c6269]
21613
21614 1998-11-04  Todd C. Miller  <Todd.Miller@courtesan.com>
21615
21616         * getspwuid.c:
21617         typo
21618         [5107446f43e0]
21619
21620         * configure.in:
21621         HP-UX's iscomsec is in -lsec, not libc
21622         [03c9f700b795]
21623
21624         * configure.in:
21625         remove some entries in the OS case statement that did nothing
21626         [ea96e7e0f624]
21627
21628         * TROUBLESHOOTING:
21629         add "cd" section and flush out syslog section
21630         [5107f7363b78]
21631
21632         * Makefile.in:
21633         no more sudo-lex.yy.c
21634         [ed50826efbbc]
21635
21636         * check_sia.c:
21637         add custom prompt support
21638         [6a285cea10b7]
21639
21640         * testsudoers.c:
21641         kill perror("malloc") since we already have a good error messages
21642         pw_ent -> pw for brevity
21643         [eee31052921e]
21644
21645         * sudo.c:
21646         kill perror("malloc") since we already have a good error messages
21647         pw_ent -> pw for brevity set $USER if -u specified
21648         [9f3753461f8a]
21649
21650         * parse.yacc:
21651         kill perror("malloc") since we already have a good error messages
21652         [849459088ac3]
21653
21654         * parse.c:
21655         kill perror("malloc") since we already have a good error messages
21656         pw_ent -> pw for brevity when checking if %group matches, look up
21657         user in password file so that %groups works in a RunAs spec.
21658         [0489b4ecc59a]
21659
21660         * logging.c:
21661         kill perror("malloc") since we already have a good error messages
21662         [3191a18b3526]
21663
21664         * check.c, getspwuid.c, interfaces.c:
21665         kill perror("malloc") since we already have a good error messages
21666         pw_ent -> pw for brevity
21667         [7193fdb38cf9]
21668
21669 1998-11-03  Todd C. Miller  <Todd.Miller@courtesan.com>
21670
21671         * tgetpass.c:
21672         the prompt is expanded before tgetpass is called
21673         [0f408f508041]
21674
21675         * sudo.h:
21676         tgetpass now has the same args as getpass again
21677         [b6778cd9d79f]
21678
21679         * getspwuid.c:
21680         add iscomsec, issecure support
21681         [007be7ec7ae7]
21682
21683         * check.c:
21684         we now expand any %h or %u in the prompt before passing to tgetpass
21685         [f3db8c9ee387]
21686
21687         * configure.in:
21688         add check for syslog(3) in -lsocket, -lnsl, -linet
21689         [5a96f902ce00]
21690
21691         * config.h.in:
21692         add HAVE_ISCOMSEC and HAVE_ISSECURE
21693         [f640b0d4cf05]
21694
21695         * configure.in:
21696         add check for iscomsec in HP-UX
21697         [b28b249040f0]
21698
21699         * configure.in:
21700         check for issecure if we have getpwanam on SunOS some options are
21701         incompatible with DUNIX SIA check for dispcrypt on DUNIX
21702         [a49d05d9c913]
21703
21704 1998-10-25  Todd C. Miller  <Todd.Miller@courtesan.com>
21705
21706         * config.h.in:
21707         add HAVE_DISPCRYPT
21708         [7376d543d8d6]
21709
21710         * secureware.c:
21711         add back support for non-dispcrypt based checking for older DUNIX
21712         [977b98e936be]
21713
21714         * INSTALL:
21715         sia changes
21716         [c5387c06e30f]
21717
21718         * configure.in:
21719         SIA becomes the default on Digital UNIX now havbe --disable-sia to
21720         turn it off...
21721         [3b647558ea13]
21722
21723         * check.c:
21724         move local includes after system ones
21725         [b2abad4c4aef]
21726
21727 1998-10-24  Todd C. Miller  <Todd.Miller@courtesan.com>
21728
21729         * check.c, check_sia.c, sudo.h:
21730         add pass_warn() which prints out INCORRECT_PASSWORD or an insult to
21731         stderr
21732         [547cbf299661]
21733
21734         * check_sia.c:
21735         fix while loop in sia_attempt_auth() that checks the password. Only
21736         the first iteration was working.
21737         [1886fd1ac831]
21738
21739 1998-10-22  Todd C. Miller  <Todd.Miller@courtesan.com>
21740
21741         * aclocal.m4:
21742         don't trust UID_MAX or MAXUID
21743         [2aeddb1654d8]
21744
21745         * configure.in:
21746         fix two pastos
21747         [c18f0a10b75d]
21748
21749         * configure.in:
21750         fix typo
21751         [1eb3190ef12d]
21752
21753         * getspwuid.c, secureware.c:
21754         init crypt_type to INT_MAX since it is legal to be negative in DUNX
21755         5.0
21756         [cefbde04822d]
21757
21758         * configure.in:
21759         for secureware on dunix, use -lsecurity -ldb -laud -lm but check for
21760         -ldb since DUNX < 4.0 lacks it
21761         [e6b11d971068]
21762
21763 1998-10-21  Todd C. Miller  <Todd.Miller@courtesan.com>
21764
21765         * check.c, compat.h, config.h.in, configure.in, getspwuid.c,
21766         secureware.c, sudo.c, tgetpass.c:
21767         getprpwuid is broken in HP-UX 10.20 at least (it sleeps for 2
21768         minutes if the shadow files don't exist).
21769         [2f297d095004]
21770
21771 1998-10-20  Todd C. Miller  <Todd.Miller@courtesan.com>
21772
21773         * INSTALL:
21774         updated --with-editor blurb
21775         [77d8a3ea7328]
21776
21777         * TROUBLESHOOTING:
21778         tell how to put sudoers in a different dir
21779         [456cd20eb1d0]
21780
21781         * configure.in:
21782         add missing quotes around $with_editor
21783         [22881748ab1b]
21784
21785         * configure.in:
21786         typo in --with-editor bits
21787         [ab6964580681]
21788
21789         * INSTALL:
21790         I don't expect it to work on Solaris
21791         [1c2fceaaf56e]
21792
21793         * check.c:
21794         add back security/pam_misc.h
21795         [6ffd30033c1e]
21796
21797 1998-10-19  Todd C. Miller  <Todd.Miller@courtesan.com>
21798
21799         * INSTALL:
21800         remove dunix note since configure checks for this now
21801         [e9904512b8e8]
21802
21803         * configure.in:
21804         add check for broken dunix prot.h (4.0 < 4.0D is bad)
21805         [8a4c1e6aef3b]
21806
21807         * getspwuid.c, secureware.c, tgetpass.c:
21808         new dunix shadow code, use dispcrypt(3)
21809         [1b936bc7268c]
21810
21811         * config.h.in:
21812         add HAVE_INITPRIVS
21813         [4369f4c4f914]
21814
21815         * sudo.c:
21816         call initprivs() if we have it for getprpwuid later on
21817         [11cf5915d826]
21818
21819         * Makefile.in:
21820         clean pathnames.h too
21821         [5f1df3262613]
21822
21823         * configure.in:
21824         quote "Sorry, try again." with [] since it has a comma in it set
21825         LIBS when we add stuff to SUDO_LIBS set SECUREWARE when we find
21826         getprpwuid() so we can check for bigcrypt, set_auth_parameters, and
21827         initprivs later.
21828         [e226b0a3f250]
21829
21830         * INSTALL:
21831         update Digital UNIX note about acl.h
21832         [80132b71d73a]
21833
21834         * INSTALL:
21835         add --with-sia
21836         --without-root-sudo -> --disable-root-sudo some reordering
21837         [198386358818]
21838
21839         * secureware.c:
21840         add whitespace
21841         [4aadaf1a54b0]
21842
21843         * Makefile.in, check.c, config.h.in, configure.in, logging.c, sudo.h:
21844         add SIA support
21845         [fa3ddbb9cc51]
21846
21847         * check_sia.c:
21848         Initial revision
21849         [2968551d40e4]
21850
21851 1998-10-18  Todd C. Miller  <Todd.Miller@courtesan.com>
21852
21853         * configure.in:
21854         when checking for -lsocket, -lnsl, and -linet, check for the
21855         specific functions we need from them.
21856         [8d33e64362a3]
21857
21858         * config.h.in, sudo.h:
21859         move Syslog_* defs into sudo.h
21860         [03d1774f25c7]
21861
21862         * Makefile.in, sudo.h:
21863         added check_secureware
21864         [e46e3cbb9a97]
21865
21866         * configure.in:
21867         finished adding AC_MSG_CHECKING and AC_MSG_RESULT bits
21868         [dbefe1856503]
21869
21870         * insults.h:
21871         don't define CLASSIC_INSULTS and CSOPS_INSULTS if no other sets
21872         defined. configure now does that for us
21873         [e4520ea0581f]
21874
21875         * configure.in:
21876         move some --with options around change a bunch of echo's to
21877         AC_MSG_CHECKING, AC_MSG_RESULT pairs
21878         [ffdf6869fdd7]
21879
21880         * configure.in:
21881         change $with_foo-bar -> $with_foo_bar kill extra " that caused a
21882         syntax error add some echo verbage
21883         [3278c49bf74b]
21884
21885 1998-10-17  Todd C. Miller  <Todd.Miller@courtesan.com>
21886
21887         * check.c:
21888         moved SecureWare stuff into secureware.c
21889         [42d3d3ac35dc]
21890
21891         * secureware.c:
21892         Initial revision
21893         [aa7f72a249cf]
21894
21895         * INSTALL:
21896         update url to solaris gcc bins
21897         [36a3eb668777]
21898
21899         * INSTALL:
21900         change option formatter and flesh out someentries
21901         [6fbd1db4a8ad]
21902
21903         * TROUBLESHOOTING, sudo.pod, visudo.pod:
21904         environmental variable -> environment variable
21905         [6f14d708e32d]
21906
21907         * BUGS:
21908         everything is now done via configure
21909         [c217858f58ab]
21910
21911         * README:
21912         prev rev was 1.5.6
21913         [7b4177103c35]
21914
21915         * Makefile.in:
21916         passing SUDOERS_MODE, SUDOERS_UID, SUDOERS_GID correctly
21917         [31c6b0a5e0e2]
21918
21919         * config.h.in:
21920         SUDOERS_MODE, SUDOERS_UID, SUDOERS_GID now come from the Makefile
21921         [d406a1ef6d25]
21922
21923         * Makefile.in:
21924         merge OSDEFS and OPTIONS into DEFS get sudoers_uid, sudoers_gid,
21925         sudoers_mode from configure
21926         [1c509500655a]
21927
21928         * configure.in:
21929         SUDOERS_MODE, SUDOERS_UID, and SUDOERS_GID now get substituted into
21930         the Makefile, not config.h
21931         [d4482f1492fe]
21932
21933         * INSTALL:
21934         document all --with/--enable options
21935         [22d81b312d7f]
21936
21937 1998-10-15  Todd C. Miller  <Todd.Miller@courtesan.com>
21938
21939         * insults.h:
21940         options.h is no more
21941         [560946a33f7f]
21942
21943         * config.h.in:
21944         assimilated options.h
21945         [dd8ce74613c1]
21946
21947         * configure.in:
21948         moved options from options.h to configure
21949         [d39662f71b4e]
21950
21951         * check.c, find_path.c, getspwuid.c, goodpath.c, interfaces.c,
21952         logging.c, parse.c, parse.lex, parse.yacc, sudo.c, sudo.pod,
21953         sudo_setenv.c, visudo.c:
21954         no more options.h
21955         [43924bf0858d]
21956
21957         * INSTALL, Makefile.in, PORTING, TROUBLESHOOTING:
21958         remove references to options.h
21959         [ef3474295395]
21960
21961         * dce_pwent.c, interfaces.c, sudo.c:
21962         kill sys/time.h
21963         [4d833f0034e4]
21964
21965         * tgetpass.c:
21966         if select return < -1 still prompt for pw
21967         [e0009e5c93a2]
21968
21969         * options.h:
21970         convert LOGGING, LOGFAC, MAXLOGFILELEN, IGNORE_DOT_PATH into
21971         configure options
21972         [e60a1e546516]
21973
21974         * parse.c:
21975         FAST_MATCH is no longer an optino
21976         [c448dbb3464b]
21977
21978         * check.c:
21979         remove_timestamp() if timestamp is preposterous
21980         [70d9a86c6ecd]
21981
21982         * options.h:
21983         convert more options to --with/--enable
21984         [34646d9b09dc]
21985
21986         * INSTALL, aclocal.m4:
21987         logfile -> logpath
21988         [42de502bc637]
21989
21990         * configure.in:
21991         convert more options into --with and --enable
21992         [92d0898c9844]
21993
21994         * tgetpass.c:
21995         catch EINTR in select and restart
21996         [f045d2f234d7]
21997
21998         * logging.c:
21999         sys/errno -> errno
22000         [7f0c5beab6f2]
22001
22002 1998-09-24  Todd C. Miller  <Todd.Miller@courtesan.com>
22003
22004         * sudo.c:
22005         UMASK -> SUDO_UMASK.
22006         [48f308661514]
22007
22008         * check.c, logging.c:
22009         time.h, not sys/time.h
22010         [91de049c79e4]
22011
22012 1998-09-21  Todd C. Miller  <Todd.Miller@courtesan.com>
22013
22014         * logging.c:
22015         MAILER -> _PATH_SENDMAIL
22016         [df65d6896639]
22017
22018         * INSTALL, configure.in:
22019         no more --with-C2, now it is --disable-shadow
22020         [18bfcab3b9ab]
22021
22022         * aclocal.m4, check.c, compat.h, config.h.in, configure.in,
22023         getspwuid.c, sudo.c, tgetpass.c:
22024         new shadow password scheme. Always include shadow support if the
22025         platform supports it and the user did not disable it via configure
22026         [2135d93bb4a9]
22027
22028 1998-09-20  Todd C. Miller  <Todd.Miller@courtesan.com>
22029
22030         * configure.in:
22031         --with-getpass -> --{enable,disable}-tgetpass
22032         [451b33fdd4c7]
22033
22034         * Makefile.in:
22035         pathnames.h -> pathnames.h.in
22036         [b109022eca69]
22037
22038         * check.c:
22039         fix version string
22040         [761b25c314ea]
22041
22042         * check.c:
22043         move pam_conv to be static to auth function remove pam_misc.h
22044         (solaris doesn't have one)
22045         [a682e4da987a]
22046
22047         * aclocal.m4:
22048         _CONFIG_PATH_* -> _PATH_* or _PATH_SUDO_* kill SUDO_PROG_PWD
22049         [e6005d0599b5]
22050
22051         * configure.in:
22052         munge pathnames.h.in -> pathnames.h kill SUDO_PROG_PWD
22053         [24c0ac2155ef]
22054
22055         * pathnames.h.in:
22056         convert to pathnames.h.in
22057         [013bddf7f684]
22058
22059 1998-09-19  Todd C. Miller  <Todd.Miller@courtesan.com>
22060
22061         * configure.in:
22062         fix typo in sysv4 matching case /.
22063         [2994c4f88cf5]
22064
22065 1998-09-18  Todd C. Miller  <Todd.Miller@courtesan.com>
22066
22067         * check.c:
22068         pam stuff needs to run as root, not user, for shadow passwords
22069         [d94ff75de503]
22070
22071 1998-09-17  Todd C. Miller  <Todd.Miller@courtesan.com>
22072
22073         * BUGS, INSTALL, README, configure.in:
22074         updated version
22075         [775adc7de7ac]
22076
22077         * Makefile.in, check.c, compat.h, config.h.in, dce_pwent.c,
22078         emul/utime.h, find_path.c, getspwuid.c, goodpath.c, ins_2001.h,
22079         ins_classic.h, ins_csops.h, ins_goons.h, insults.h, interfaces.c,
22080         logging.c, options.h, parse.c, parse.lex, parse.yacc,
22081         pathnames.h.in, putenv.c, strdup.c, sudo.c, sudo.h, sudo_setenv.c,
22082         testsudoers.c, tgetpass.c, utime.c, visudo.c:
22083         updated version
22084         [5ca599fb6b93]
22085
22086         * check.c:
22087         user version.h for long message
22088         [47a52ac7e542]
22089
22090         * check.c:
22091         this is version 1.5.6
22092         [8451ac79eee2]
22093
22094 1998-09-16  Todd C. Miller  <Todd.Miller@courtesan.com>
22095
22096         * Makefile.in:
22097         remove errant backslash
22098         [0222a8a650ff]
22099
22100 1998-09-15  Todd C. Miller  <Todd.Miller@courtesan.com>
22101
22102         * options.h, parse.yacc, pathnames.h.in:
22103         fix version string
22104         [fdee73255d64] [SUDO_1_5_6]
22105
22106         * BUGS, CHANGES, TODO:
22107         updtaed for 1.5.6
22108         [752443bf7f26]
22109
22110         * RUNSON:
22111         updated for 1.5.6
22112         [0f878123fe6a]
22113
22114 1998-09-14  Todd C. Miller  <Todd.Miller@courtesan.com>
22115
22116         * interfaces.c:
22117         kill unused localhost_mask var copy if name to ifr_tmp after we zero
22118         it
22119         [8e89c364cef2]
22120
22121 1998-09-13  Todd C. Miller  <Todd.Miller@courtesan.com>
22122
22123         * INSTALL:
22124         Better description of new vs. old sudoers modes fix some typos
22125         better description of /usr/ucb/cc gotchas on slowaris
22126         [c00b2a6fc1e8]
22127
22128         * Makefile.in:
22129         add sample.pam
22130         [ec7f6cc19b00]
22131
22132         * sudo.c:
22133         set NewArgv[0] to user_shell, not basename(user_shell)
22134         [1e907cbc9f7b]
22135
22136 1998-09-12  Todd C. Miller  <Todd.Miller@courtesan.com>
22137
22138         * README:
22139         mention TROUBLESHOOTING more fix some typos
22140         [2c2e6907d4a4]
22141
22142         * configure.in:
22143         move --enable/--disable to be after --with
22144         [9b30097f76c1]
22145
22146         * INSTALL:
22147         document --enable/--disable
22148         [c522362e38a8]
22149
22150         * INSTALL:
22151         document --with-pam
22152         [7e38932c78ac]
22153
22154 1998-09-11  Todd C. Miller  <Todd.Miller@courtesan.com>
22155
22156         * configure.in:
22157         Add message for pam users
22158         [d224f277e3cd]
22159
22160         * sample.pam:
22161         Initial revision
22162         [3a84d7045f54]
22163
22164         * config.h.in:
22165         fix HAVE_PAM
22166         [2f0f303ebd88]
22167
22168         * check.c, config.h.in, configure.in:
22169         pam support, from Gary Calvin <GCalvin@kenwoodusa.com>
22170         [ea3e0a72d707]
22171
22172 1998-09-10  Todd C. Miller  <Todd.Miller@courtesan.com>
22173
22174         * config.h.in:
22175         add HOST_IN_LOG and WRAP_LOG
22176         [822c36eeb6a8]
22177
22178         * logging.c:
22179         add WRAP_LOG and HOST_IN_LOG
22180         [3cf6052bd27e]
22181
22182         * configure.in:
22183         add --enable-log-host and --enable-log-wrap
22184         [c968cc12b353]
22185
22186         * aclocal.m4:
22187         use AC_DEFINE_UNQUOTED for --with-logfile and --with-timedir
22188         [915fef7e11a1]
22189
22190 1998-09-09  Todd C. Miller  <Todd.Miller@courtesan.com>
22191
22192         * compat.h:
22193         add howmany macro
22194         [9107a057a7c8]
22195
22196         * tgetpass.c:
22197         include sys/param.h to get howmany macro
22198         [7e908b5e1f32]
22199
22200 1998-09-08  Todd C. Miller  <Todd.Miller@courtesan.com>
22201
22202         * OPTIONS, options.h, parse.yacc, sudo.c, testsudoers.c, visudo.c:
22203         add RUNAS_DEFAULT
22204         [1e76398ea3fd]
22205
22206 1998-09-07  Todd C. Miller  <Todd.Miller@courtesan.com>
22207
22208         * fnmatch.c:
22209         bring in stdio.h for NULL
22210         [69c016610cbb]
22211
22212         * aclocal.m4:
22213         allow /bin/{ksh,bach} and /usr/bin/{ksh,bash} as sh
22214         [15ab2972f8d0]
22215
22216         * sudo.c:
22217         use HAVE_SET_AUTH_PARAMETERS
22218         [8abfdc8c80f7]
22219
22220         * config.h.in:
22221         add HAVE_SET_AUTH_PARAMETERS
22222         [673a5ebd5539]
22223
22224         * configure.in:
22225         add *-*-hiuxmpp* add test for set_auth_parameters() if secureware
22226         [a401f5a7469a]
22227
22228         * config.sub:
22229         add support for HI-UX/MPP SR220001 02-03 0 SR2201
22230         [cb657b7acaae]
22231
22232         * interfaces.c:
22233         initialize previfname
22234         [26a1902f56dc]
22235
22236         * interfaces.c:
22237         Don't use SIOCGIFADDR, we don't need it Use SIOCGIFFLAGS if we have
22238         it check ifr_flags against IFF_UP and IFF_LOOPBACK instead of
22239         kludging it
22240         [fa5c890c313b]
22241
22242         * configure.in:
22243         typo
22244         [bff579fbe95c]
22245
22246         * Makefile.in:
22247         don't need special build line for sudo.tab.o
22248         [10c0a0a912e4]
22249
22250         * Makefile.in:
22251         don't clean sudo.tab.[ch]
22252         [c40d5968efbb]
22253
22254         * sudo.c:
22255         Sudo should prompt for a password before telling the user that a
22256         command could not be found.
22257         [d718c85a0047]
22258
22259         * BUGS:
22260         for 1.5.6
22261         [0cc1fe5b9129]
22262
22263         * INSTALL, README:
22264         no longer require yacc
22265         [d9096fc5b8b6]
22266
22267         * Makefile.in:
22268         typo
22269         [70feb1aefbd5]
22270
22271         * Makefile.in:
22272         y.tab -> sudo.tab include pre-yacc'd parse.yacc
22273         [cc802025fd44]
22274
22275         * parse.lex:
22276         include sudo.tab.h, not y.tab.h don't break out of command args if
22277         you get a '='
22278         [728ad26dbda5]
22279
22280         * insults.h:
22281         fix version ,
22282         [242bbce1b2d4]
22283
22284         * ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h:
22285         fix version
22286         [2bb9086fea1e]
22287
22288         * compat.h:
22289         fix version
22290         [7e634d498ce6]
22291
22292         * getcwd.c:
22293         getcwd(3) from OpenBSD for those without it.
22294         [6c68d0df8f6c]
22295
22296         * sudo.h:
22297         HAVE_GETWD -> HAVE_GETCWD
22298         [2ad1e64d60c0]
22299
22300         * configure.in:
22301         pretend sunos doesn't have getcwd(3) since it opens a pipe to
22302         getpwd!
22303         [677992ba5a6a]
22304
22305         * parse.c:
22306         use NAMLEN() macro
22307         [8f5685aa3165]
22308
22309         * fnmatch.c:
22310         remove duplicate include of string.h
22311         [6024f3051ac3]
22312
22313         * configure.in:
22314         call SUDO_TYPE_DEV_T and SUDO_TYPE_INO_T
22315         [3d82a9c22cc2]
22316
22317         * aclocal.m4:
22318         add SUDO_TYPE_DEV_T and SUDO_TYPE_INO_T
22319         [53fbc47282f9]
22320
22321         * config.h.in:
22322         add dev_t and ino_t
22323         [5929bb0c7e1a]
22324
22325 1998-07-28  Todd C. Miller  <Todd.Miller@courtesan.com>
22326
22327         * check.c:
22328         fix OTP_ONLY for opie
22329         [7edcfa78f2ec]
22330
22331 1998-06-24  Todd C. Miller  <Todd.Miller@courtesan.com>
22332
22333         * testsudoers.c, tgetpass.c:
22334         include stdlib.h for malloc proto
22335         [c9f4b99a2fe9]
22336
22337 1998-05-19  Todd C. Miller  <Todd.Miller@courtesan.com>
22338
22339         * Makefile.in:
22340         make update_version saner
22341         [d522f93ee04a]
22342
22343         * config.h.in:
22344         add HAVE_WAITPID, HAVE_WAIT3, and sudo_waitpid()
22345         [c9a2d21dc608]
22346
22347         * configure.in:
22348         check for waitpid and wait3 or no waitpid
22349         [1f18c3224184]
22350
22351         * logging.c:
22352         used waitpid or wait3 if we have 'em
22353         [391c3279ee65]
22354
22355 1998-05-02  Todd C. Miller  <Todd.Miller@courtesan.com>
22356
22357         * visudo.c:
22358         fix some fprintf args, ariel@oz.engr.sgi.com (Ariel Faigon)
22359         [fbf53b18178f]
22360
22361 1998-04-28  Todd C. Miller  <Todd.Miller@courtesan.com>
22362
22363         * configure.in:
22364         don't need to explicately mention -lsocket -lnsl for sequent
22365         [1898dc055352]
22366
22367 1998-04-25  Todd C. Miller  <Todd.Miller@courtesan.com>
22368
22369         * configure.in:
22370         dynix should not link with -linet
22371         [278a4b9cfe2a]
22372
22373 1998-04-10  Todd C. Miller  <Todd.Miller@courtesan.com>
22374
22375         * INSTALL:
22376         mention that HP-UX doesn't ship with yacc
22377         [bde5147198c0]
22378
22379 1998-04-07  Todd C. Miller  <Todd.Miller@courtesan.com>
22380
22381         * check.c:
22382         ignore kerberos if we can't get the local realm
22383         [1e311a091a27]
22384
22385 1998-04-06  Todd C. Miller  <Todd.Miller@courtesan.com>
22386
22387         * BUGS, INSTALL, README, configure.in:
22388         ++version
22389         [499ffc746018]
22390
22391         * version.h:
22392         ++
22393         [35ba1ee01bd3]
22394
22395         * Makefile.in, check.c, config.h.in, dce_pwent.c, emul/utime.h,
22396         find_path.c, getcwd.c, getspwuid.c, goodpath.c, interfaces.c,
22397         logging.c, parse.c, parse.lex, putenv.c, strdup.c, sudo.c, sudo.h,
22398         sudo_setenv.c, testsudoers.c, tgetpass.c, utime.c, visudo.c:
22399         updated version
22400         [b4990a513f31]
22401
22402         * check.c, sudo.h:
22403         fix version
22404         [5710795834e8]
22405
22406         * getcwd.c:
22407         don't use popen/pclose. Do it inline.
22408         [29e57b0646a4]
22409
22410         * lsearch.c:
22411         add rcsid
22412         [b2b55c39858d]
22413
22414         * sudo.c:
22415         typo
22416         [d381ac39ed0f]
22417
22418         * check.c, compat.h, ins_2001.h, ins_classic.h, ins_csops.h,
22419         ins_goons.h, insults.h, options.h, parse.yacc, pathnames.h.in,
22420         sudo.h:
22421         updated version
22422         [462d6e1a2d75]
22423
22424         * check.c, find_path.c, parse.c, sudo.c, testsudoers.c:
22425         MAX* + 1 -> MAX*
22426         [2c2eeb78d34f]
22427
22428         * Makefile.in:
22429         getwd.c -> getcwd.c
22430         [7d718c32fc02]
22431
22432         * config.h.in:
22433         kill HAVE_GETWD
22434         [6ad3d702343f]
22435
22436         * configure.in:
22437         getcwd, not getwd
22438         [33e5b9841f58]
22439
22440         * getcwd.c:
22441         use MAX* not MAX* + 1 always run pwd as using getwd() defeats the
22442         purpose
22443         [24e58d340161]
22444
22445 1998-03-31  Todd C. Miller  <Todd.Miller@courtesan.com>
22446
22447         * OPTIONS, options.h:
22448         add STUB_LOAD_INTERFACES
22449         [d747cb23ca83]
22450
22451         * Makefile.in, check.c, compat.h, config.h.in, dce_pwent.c,
22452         emul/utime.h, find_path.c, getspwuid.c, getwd.c, goodpath.c,
22453         ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h, insults.h,
22454         interfaces.c, logging.c, options.h, parse.c, parse.lex, parse.yacc,
22455         pathnames.h.in, putenv.c, strdup.c, sudo.c, sudo.h, sudo_setenv.c,
22456         testsudoers.c, tgetpass.c, utime.c, visudo.c:
22457         updated version
22458         [0798229312cc]
22459
22460         * configure.in:
22461         support *-ccur-sysv4 and fix two typos
22462         [24a823ad7cc9]
22463
22464 1998-03-28  Todd C. Miller  <Todd.Miller@courtesan.com>
22465
22466         * configure.in:
22467         don't echo about with_logfile and with_timedir
22468         [31e4a1e2d9ad]
22469
22470         * INSTALL:
22471         document --with-logfile and --with-timedir
22472         [674f811a40e0]
22473
22474         * aclocal.m4:
22475         support --with-logfile and --with-timedir
22476         [2fc36b35db12]
22477
22478         * configure.in:
22479         Add --with-logfile and --with-timedir
22480         [09045bf07e29]
22481
22482         * sudo.c:
22483         change size computation of NewArgv for UNICOS
22484         [b50df07da3a1]
22485
22486 1998-02-19  Todd C. Miller  <Todd.Miller@courtesan.com>
22487
22488         * configure.in:
22489         treate -*-sysv4* like *-*-svr4
22490         [471b7ef4dbf2]
22491
22492 1998-02-18  Todd C. Miller  <Todd.Miller@courtesan.com>
22493
22494         * configure.in:
22495         fix spacing for --with-authenticate help
22496         [8321cb37c410]
22497
22498         * Makefile.in, check.c, compat.h, config.h.in, dce_pwent.c,
22499         emul/utime.h, find_path.c, getspwuid.c, getwd.c, goodpath.c,
22500         ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h, insults.h,
22501         interfaces.c, logging.c, options.h, parse.c, parse.lex, parse.yacc,
22502         pathnames.h.in, putenv.c, strdup.c, sudo.c, sudo.h, sudo_setenv.c,
22503         testsudoers.c, tgetpass.c, utime.c, visudo.c:
22504         updated version
22505         [dc1ab97312eb]
22506
22507         * parse.yacc:
22508         fix off by one error in push macro
22509         [bece59c8c3a9]
22510
22511 1998-02-17  Todd C. Miller  <Todd.Miller@courtesan.com>
22512
22513         * configure.in:
22514         removed bogus alloca hack
22515         [a68dd720462d]
22516
22517         * check.c:
22518         added AIX 4.x authenticate() support
22519         [12985eb448a0]
22520
22521         * parse.yacc:
22522         include alloca.h if using bison and not gcc and it exists. fixes an
22523         alloca problem on hpux 10.x
22524         [e3b5c4f26072]
22525
22526         * INSTALL:
22527         mention --with-authenticate
22528         [78a1c96820e7]
22529
22530         * configure.in:
22531         added AIX authenticate() support
22532         [c983193ec252]
22533
22534         * config.h.in:
22535         add HAVE_AUTHENTICATE
22536         [7b0e5f5db5d9]
22537
22538         * interfaces.c:
22539         dynamically size ifconf buffer
22540         [10afb0e9b2f9]
22541
22542         * configure.in:
22543         quote '[' and ']'
22544         [8fc38a4defad]
22545
22546         * Makefile.in, check.c, compat.h, config.h.in, dce_pwent.c,
22547         emul/utime.h, find_path.c, getspwuid.c, getwd.c, goodpath.c,
22548         ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h, insults.h,
22549         logging.c, options.h, parse.c, parse.lex, parse.yacc,
22550         pathnames.h.in, putenv.c, strdup.c, sudo.c, sudo.h, sudo_setenv.c,
22551         testsudoers.c, tgetpass.c, utime.c, visudo.c:
22552         updated version
22553         [5f66de71ec61]
22554
22555         * visudo.pod:
22556         add ERRORS section
22557         [3df3edb73cf6]
22558
22559 1998-02-16  Todd C. Miller  <Todd.Miller@courtesan.com>
22560
22561         * TROUBLESHOOTING:
22562         add busy stmp file explanation
22563         [6c555d469b6f]
22564
22565 1998-02-15  Todd C. Miller  <Todd.Miller@courtesan.com>
22566
22567         * configure.in:
22568         the name of the cached var that signals whether or not you are cross
22569         compiling changed. It is now ac_cv_prog_cc_cross
22570         [123911c0658c]
22571
22572 1998-02-11  Todd C. Miller  <Todd.Miller@courtesan.com>
22573
22574         * INSTALL:
22575         mention glibc 2.07 is fixed wrt lsearch()\.
22576         [ded758524582]
22577
22578 1998-02-07  Todd C. Miller  <Todd.Miller@courtesan.com>
22579
22580         * sample.sudoers, sudoers.pod:
22581         better example of su but not root su
22582         [b3199610be21]
22583
22584 1998-02-06  Todd C. Miller  <Todd.Miller@courtesan.com>
22585
22586         * Makefile.in, check.c, compat.h, config.h.in, dce_pwent.c,
22587         emul/utime.h, find_path.c, getspwuid.c, getwd.c, goodpath.c,
22588         ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h, insults.h,
22589         interfaces.c, logging.c, options.h, parse.c, parse.lex, parse.yacc,
22590         pathnames.h.in, putenv.c, strdup.c, sudo.c, sudo.h, sudo_setenv.c,
22591         testsudoers.c, tgetpass.c, utime.c, visudo.c:
22592         updated version
22593         [46922b84e86b]
22594
22595         * Makefile.in:
22596         correct regexp for updating version
22597         [8032728b2a8a]
22598
22599         * tgetpass.c:
22600         remove bogus flush of stderr spew prompt before turning off echo.
22601         Seems to fix a weird problem where if sudo complained about a bogus
22602         stamp file the user would sometimes not have a chance to enter a
22603         password
22604         [7aa1493cc141]
22605
22606         * check.c:
22607         fix bogus flush of stderr
22608         [6d047871c5e8]
22609
22610         * sudo.c:
22611         close fd's <=2 not <=3 and move that chunk of code up
22612         [553e4faac195]
22613
22614         * configure.in:
22615         support hpux1[0-9] not just hpux10
22616         [5a34a000ff8a]
22617
22618 1998-01-30  Todd C. Miller  <Todd.Miller@courtesan.com>
22619
22620         * parse.c:
22621         set sudoers_fp to nil after closing
22622         [221a8b4bbf34]
22623
22624 1998-01-24  Todd C. Miller  <Todd.Miller@courtesan.com>
22625
22626         * config.guess, config.sub:
22627         updated from autoconf 2.12
22628         [6fc86a0fc61b]
22629
22630         * configure.in:
22631         add *-*-svr4 rule
22632         [38f0427f7c9d]
22633
22634 1998-01-23  Todd C. Miller  <Todd.Miller@courtesan.com>
22635
22636         * tgetpass.c:
22637         fix select usage for high fd's (dynamically allocate readfds)
22638         [c2d1f76e0321]
22639
22640         * check.c:
22641         kill extra whitespace
22642         [d784b6c9c514]
22643
22644         * sudo.c:
22645         do an initgroups() before running a command, unless the target user
22646         is root.
22647         [4ca561287480]
22648
22649 1998-01-22  Todd C. Miller  <Todd.Miller@courtesan.com>
22650
22651         * TROUBLESHOOTING:
22652         tell people to use tabs, not spaces, in syslog.conf
22653         [8ae90a205134]
22654
22655 1998-01-21  Todd C. Miller  <Todd.Miller@courtesan.com>
22656
22657         * Makefile.in, config.h.in, dce_pwent.c, emul/utime.h, getwd.c,
22658         parse.lex, putenv.c, strdup.c, testsudoers.c, utime.c:
22659         updated version
22660         [4d855ff5de26]
22661
22662         * check.c, find_path.c, getspwuid.c, goodpath.c, interfaces.c,
22663         logging.c, parse.c, sudo.c, sudo_setenv.c, tgetpass.c, visudo.c:
22664         updated version
22665         [8e007e178b33]
22666
22667         * compat.h, ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h,
22668         insults.h, options.h, parse.yacc, pathnames.h.in, sudo.h:
22669         updated version
22670         [9ddea5c8814d]
22671
22672         * Makefile.in:
22673         more tweaks to update_version
22674         [047698752855]
22675
22676         * Makefile.in:
22677         fixed up update_version rule
22678         [47b6fa34b77f]
22679
22680         * configure.in:
22681         ++version
22682         [c1ca664e30b7]
22683
22684         * Makefile.in:
22685         removed supe of check.c
22686         [8f340a05296a]
22687
22688         * INSTALL:
22689         ++version I missed
22690         [a298e6c17491]
22691
22692         * RUNSON:
22693         updated
22694         [a14f6057bc15]
22695
22696         * BUGS, INSTALL, Makefile.in, README, check.c, compat.h, config.h.in,
22697         dce_pwent.c, emul/utime.h, find_path.c, getspwuid.c, getwd.c,
22698         goodpath.c, ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h,
22699         insults.h, interfaces.c, logging.c, options.h, parse.c, parse.lex,
22700         parse.yacc, pathnames.h.in, putenv.c, strdup.c, sudo.c, sudo.h,
22701         sudo_setenv.c, testsudoers.c, tgetpass.c, utime.c, version.h,
22702         visudo.c:
22703         updated version
22704         [02231b1a3ab3]
22705
22706         * CHANGES:
22707         updated for 1.5.5
22708         [634e5fcaf40b]
22709
22710         * Makefile.in:
22711         add rules to update version stuff in files so I don't need to do it
22712         by hand
22713         [3620ad60485a]
22714
22715         * sudo.h:
22716         sudoers_fp is now extern
22717         [88c6e9b9ea84]
22718
22719         * sudo.c:
22720         in check_sudoers, cache the sudoers file handle in sudoers_fp so we
22721         don't have to open it again in the parse. This may help with weird
22722         solaris problems where EAGAIN sometime occurrs.
22723         [d3c26451ed1d]
22724
22725         * parse.c:
22726         sudoers file open is now done only in check_sudoers() so we just do
22727         a rewind() instead of an open. May help people on solaris who were
22728         getting EAGAIN.
22729         [c8b8c7722fa5]
22730
22731 1998-01-16  Todd C. Miller  <Todd.Miller@courtesan.com>
22732
22733         * INSTALL:
22734         mention that newer glibc is fixed
22735         [20f06f5d3ef3]
22736
22737 1998-01-13  Todd C. Miller  <Todd.Miller@courtesan.com>
22738
22739         * sudo.c:
22740         newer irix uses _RLDN32_* envariables for 32-bit binaries so ignore
22741         _RLD* instead of _RLD_*
22742         [1e22c588d602]
22743
22744         * parse.c:
22745         typo
22746         [d0b7cb85f08a]
22747
22748         * parse.c:
22749         fix that bug for real
22750         [5a6eeca6d04b]
22751
22752         * INSTALL:
22753         document Linux's libc6 brokenness.
22754         [0246c1aa64ee]
22755
22756         * parse.yacc:
22757         -Wall
22758         [d0e452fb1e2d]
22759
22760         * RUNSON:
22761         updated
22762         [4949a1bbd0a9] [SUDO_1_5_4]
22763
22764         * TROUBLESHOOTING:
22765         remind people to HUP syslogd
22766         [590962faa4f0]
22767
22768         * Makefile.in:
22769         add -O flag to tar
22770         [622d02de339d]
22771
22772         * RUNSON:
22773         updated
22774         [a72930d6e615]
22775
22776         * TODO:
22777         updated
22778         [4a51bd458390]
22779
22780         * sudo.pod:
22781         remove author's email addr. people should mail sudo-bugs
22782         [9b6bbdb3a6d9]
22783
22784         * INSTALL:
22785         fix version
22786         [246274c6c8af]
22787
22788         * README, check.c, compat.h, config.h.in, configure.in, dce_pwent.c,
22789         find_path.c, getspwuid.c, getwd.c, goodpath.c, ins_2001.h,
22790         ins_classic.h, ins_csops.h, ins_goons.h, insults.h, interfaces.c,
22791         logging.c, options.h, parse.c, parse.lex, parse.yacc,
22792         pathnames.h.in, putenv.c, strdup.c, sudo.c, sudo.h, sudo_setenv.c,
22793         testsudoers.c, tgetpass.c, utime.c, version.h, visudo.c:
22794         ++version
22795         [f532ff4ee766]
22796
22797         * RUNSON:
22798         updated
22799         [62d5c71358b5]
22800
22801         * INSTALL, Makefile.in:
22802         ++version
22803         [1a7c7628edfc]
22804
22805         * CHANGES:
22806         updated fort 1.5.4
22807         [7e4873508c99]
22808
22809         * check.c:
22810         exit(1) if user enters no passwd
22811         [f382c0e35e4e]
22812
22813         * BUGS:
22814         ++version
22815         [fab6a867ab67]
22816
22817         * parse.c:
22818         commands can start with ./* not just /* -- fixes a serious security
22819         hole.
22820         [244d2fe35ee3]
22821
22822 1997-12-21  Todd C. Miller  <Todd.Miller@courtesan.com>
22823
22824         * sudo.c:
22825         Don't set the tty variable to NULL when we lack a tty, leave it as
22826         "unknown".
22827         [193b26daba03]
22828
22829 1997-11-23  Todd C. Miller  <Todd.Miller@courtesan.com>
22830
22831         * sample.sudoers:
22832         fix usage of (username) in conjunction with , and !
22833         [7ae68607f68f]
22834
22835         * visudo.c:
22836         catch the case where the user is not in the passwd file
22837         [31650258deb0]
22838
22839         * tgetpass.c:
22840         use fileno(input) + 1 instead of getdtablesize() as the nfds arg to
22841         select(2)
22842         [60ab2d9a9ee8]
22843
22844         * sudo.c:
22845         define tty global to an initial value to avoid dumping core in
22846         logging functions when passwd file is unavailable.
22847         [77056c7bc908]
22848
22849         * sudo.c:
22850         do the set_perms(PERM_USER, sudo_mode) after we have gotten the
22851         passwd entry
22852         [1fdb8e579a5a]
22853
22854         * sudo.pod:
22855         talk about problem of ALL
22856         [1cd1905c9f6f]
22857
22858 1997-10-10  Todd C. Miller  <Todd.Miller@courtesan.com>
22859
22860         * README:
22861         new web location
22862         [d24dc26f6da5]
22863
22864         * INSTALL:
22865         fdesc bug is fixed in Open/Net BSD
22866         [7d4d81b08ac3]
22867
22868         * HISTORY:
22869         updates from Nieusma
22870         [3a43769a1b78]
22871
22872 1997-10-09  Todd C. Miller  <Todd.Miller@courtesan.com>
22873
22874         * dce_pwent.c:
22875         move compat.h after the system includes
22876         [5ea43a5968ac]
22877
22878 1997-08-06  Todd C. Miller  <Todd.Miller@courtesan.com>
22879
22880         * logging.c:
22881         save errno from being clobbered by wait(). From Theo
22882         [f2d1c48cd592]
22883
22884 1997-05-21  Todd C. Miller  <Todd.Miller@courtesan.com>
22885
22886         * compat.h:
22887         fix an occurence of setresuid -> setreuid (typo)
22888         [394de35c9b1c]
22889
22890 1997-03-19  Todd C. Miller  <Todd.Miller@courtesan.com>
22891
22892         * install-sh:
22893         check for path to strip
22894         [2b7ef824bd55]
22895
22896 1997-01-16  Todd C. Miller  <Todd.Miller@courtesan.com>
22897
22898         * logging.c:
22899         deal with maxfilelen < 0 case
22900         [f0af095178d7]
22901
22902         * OPTIONS:
22903         fixed descriptin
22904         [629f60bd4b5f]
22905
22906 1996-12-12  Todd C. Miller  <Todd.Miller@courtesan.com>
22907
22908         * sudo.c:
22909         correct error message if mode/owner wrong and not statable by owner
22910         but is statable by root.
22911         [cb631ce2e85e]
22912
22913 1996-11-23  Todd C. Miller  <Todd.Miller@courtesan.com>
22914
22915         * config.guess, config.sub:
22916         autoconf 2.11
22917         [f3cbe59e0756]
22918
22919 1996-11-16  Todd C. Miller  <Todd.Miller@courtesan.com>
22920
22921         * CHANGES, RUNSON, TODO:
22922         sudo 1.5.3.
22923         [2be3229b8626]
22924
22925 1996-11-14  Todd C. Miller  <Todd.Miller@courtesan.com>
22926
22927         * parse.yacc, sudo.h:
22928         command_alias -> generic_alias
22929         [c404ca8c510d] [SUDO_1_5_3]
22930
22931         * sample.sudoers:
22932         added Runas_Alias example and fixed syntax errors
22933         [c304053f4a8a]
22934
22935         * OPTIONS, options.h:
22936         updated MAILSUBJECT
22937         [18d1573fcd2a]
22938
22939         * logging.c:
22940         added %h expansion
22941         [a4bff9b284fd]
22942
22943         * INSTALL, Makefile.in, README, check.c, compat.h, config.h.in,
22944         configure.in, dce_pwent.c, find_path.c, getspwuid.c, getwd.c,
22945         goodpath.c, ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h,
22946         insults.h, interfaces.c, logging.c, options.h, parse.c, parse.lex,
22947         parse.yacc, pathnames.h.in, putenv.c, strdup.c, sudo.c, sudo.h,
22948         sudo_setenv.c, testsudoers.c, tgetpass.c, utime.c, version.h,
22949         visudo.c:
22950         ++version
22951         [211ff20f956f]
22952
22953         * BUGS, emul/utime.h:
22954         ++version
22955         [cde5376579e3]
22956
22957         * sudoers.pod:
22958         document Runas_Alias
22959         [b1a58f28fb2c]
22960
22961         * visudo.pod:
22962         q (uid) -> Q
22963         [d256649a0e6b]
22964
22965         * visudo.c:
22966         buffer oflow checking q (uit) -> Q if yyparse() fails drop into
22967         whatnow
22968         [1cb183d15626]
22969
22970         * parse.yacc:
22971         add size params to sprintf
22972         [9228f698921f]
22973
22974         * parse.lex:
22975         allow trailing space after '\\' but before '\n'
22976         [f51dbbf69fdf]
22977
22978         * find_path.c:
22979         off by one error in path size check
22980         [a6d75ccd7632]
22981
22982         * check.c:
22983         sprintf paranoia
22984         [3ffb12d198dd]
22985
22986 1996-11-12  Todd C. Miller  <Todd.Miller@courtesan.com>
22987
22988         * parse.yacc:
22989         fixed more_aliases
22990         [aab12f2a50af]
22991
22992         * visudo.c:
22993         now warns if killed by signal ./
22994         [310c186a0fd7]
22995
22996 1996-11-11  Todd C. Miller  <Todd.Miller@courtesan.com>
22997
22998         * parse.yacc:
22999         fix Runas_Alias stuff Alias's in runas list now get expanded (but it
23000         is gross)
23001         [45590b83120f]
23002
23003         * sudo.c:
23004         Can now deal with SUDOERS_UID == 0 and SUDOERS_MODE == 0400
23005         [d53e01c14c58]
23006
23007         * parse.yacc:
23008         add Runas_Alias support change FOO to FOO_ALIAS (ie: USER_ALIAS)
23009         [7a4a040aae2d]
23010
23011         * parse.lex:
23012         Add Runas_Alias and simplify a rule.
23013         [6f794a769a37]
23014
23015         * parse.yacc:
23016         always store User_Alias's since they can be used inside of a runas
23017         list. Sigh. Really need a Runas_Alias instead.
23018         [3bab058a873e]
23019
23020 1996-10-30  Todd C. Miller  <Todd.Miller@courtesan.com>
23021
23022         * visudo.c:
23023         deal with case where there is no sudoers file
23024         [fa38b3bb244d]
23025
23026 1996-10-12  Todd C. Miller  <Todd.Miller@courtesan.com>
23027
23028         * TROUBLESHOOTING:
23029         added one
23030         [e61346d06725]
23031
23032 1996-10-11  Todd C. Miller  <Todd.Miller@courtesan.com>
23033
23034         * HISTORY, testsudoers.c:
23035         developement -> development
23036         [4df55e293941]
23037
23038         * INSTALL:
23039         added a note
23040         [3845fb83dbc0]
23041
23042         * RUNSON:
23043         for 1.5.2
23044         [5489b7298942]
23045
23046         * CHANGES:
23047         updated
23048         [0741834929e6]
23049
23050 1996-10-10  Todd C. Miller  <Todd.Miller@courtesan.com>
23051
23052         * PORTING:
23053         removed seteuid() notes
23054         [1010a60f281d] [SUDO_1_5_2]
23055
23056 1996-10-09  Todd C. Miller  <Todd.Miller@courtesan.com>
23057
23058         * compat.h:
23059         better seteuid() emulatino
23060         [e807623b662c]
23061
23062         * configure.in:
23063         added check for seteuid
23064         [8cf9fabc6f4f]
23065
23066         * config.h.in:
23067         added HAVE_SETEUID
23068         [596db46aa828]
23069
23070 1996-10-08  Todd C. Miller  <Todd.Miller@courtesan.com>
23071
23072         * configure.in:
23073         first stab at sequent support
23074         [b85a7bfcac76]
23075
23076         * config.h.in:
23077         added HAVE_SYS_SELECT_H
23078         [93ecdd042463]
23079
23080         * compat.h:
23081         sequent -> _SEQUENT_
23082         [63a38b6da98c]
23083
23084         * compat.h:
23085         added seteuid() macro for DYNIX
23086         [695bd63c5ea6]
23087
23088         * tgetpass.c:
23089         _AIX -> HAVE_SYS_SELECT_H
23090         [b31221211bc2]
23091
23092 1996-10-07  Todd C. Miller  <Todd.Miller@courtesan.com>
23093
23094         * BUGS, INSTALL, Makefile.in, OPTIONS, README, config.h.in, logging.c,
23095         parse.c, parse.lex, parse.yacc, putenv.c, strdup.c, sudo_setenv.c,
23096         testsudoers.c, tgetpass.c, utime.c, visudo.c:
23097         ++version
23098         [8052992fd453]
23099
23100         * check.c, compat.h, dce_pwent.c, emul/utime.h, find_path.c,
23101         getspwuid.c, getwd.c, goodpath.c, ins_2001.h, ins_classic.h,
23102         ins_csops.h, ins_goons.h, insults.h, interfaces.c, options.h,
23103         pathnames.h.in, version.h:
23104         ++version
23105         [f7ad15e1598a]
23106
23107         * sudo.pod:
23108         added -H and SUDO_PS1
23109         [bb965241e30c]
23110
23111         * configure.in:
23112         use SUDO_FUNC_FNMATCH
23113         [6a8350d85fb2]
23114
23115         * aclocal.m4:
23116         added SUDO_FUNC_FNMATCH
23117         [45b32c91c4ba]
23118
23119         * sudo.c:
23120         added -H flag
23121         [11ebc6872fd6]
23122
23123         * sudo.h:
23124         added MODE_RESET_HOME /
23125         [67a7f8bcbbd6]
23126
23127 1996-10-05  Todd C. Miller  <Todd.Miller@courtesan.com>
23128
23129         * INSTALL:
23130         mention OPIE
23131         [5723515d5bbd]
23132
23133         * options.h:
23134         SKEY -> OTP
23135         [c1d268130bc4]
23136
23137         * configure.in:
23138         added opie support
23139         [123872b41b20]
23140
23141         * compat.h, config.h.in:
23142         added HAVE_OPIE
23143         [528c71afc1e5]
23144
23145         * check.c:
23146         added HAVE_OPIE and changed to *_OTP_*
23147         [4c62f5db872a]
23148
23149         * OPTIONS:
23150         SKEY -> OTP
23151         [bd858e5e9652]
23152
23153 1996-10-04  Todd C. Miller  <Todd.Miller@courtesan.com>
23154
23155         * check.c:
23156         moved fclose() in skey stuff.
23157         [11f7dc8431a6]
23158
23159 1996-10-03  Todd C. Miller  <Todd.Miller@courtesan.com>
23160
23161         * putenv.c:
23162         index -> strchr remove unnecesary stuff
23163         [af2d05238062]
23164
23165         * check.c:
23166         now call skeychallenge() to get challenge instead of making one up
23167         ourselves. this way, we get extra goodies in the prompt.
23168         [49b770d98d3a]
23169
23170 1996-09-10  Todd C. Miller  <Todd.Miller@courtesan.com>
23171
23172         * CHANGES:
23173         added one
23174         [3f5149357e2a] [SUDO_1_5_1]
23175
23176         * parse.lex:
23177         allow logins to start with a number (YUCK!)
23178         [7ed7ef324741]
23179
23180 1996-09-08  Todd C. Miller  <Todd.Miller@courtesan.com>
23181
23182         * TROUBLESHOOTING:
23183         added soalris 2.5 vs 2.4 note
23184         [16160a251aae]
23185
23186         * configure.in:
23187         DUNIX doesn't need -lnsl
23188         [be924cc322c3]
23189
23190         * CHANGES:
23191         *** empty log message ***
23192         [1b2937521981]
23193
23194         * check.c, compat.h, config.h.in, dce_pwent.c, find_path.c,
23195         getspwuid.c, getwd.c, goodpath.c, ins_2001.h, ins_classic.h,
23196         ins_csops.h, ins_goons.h, insults.h, interfaces.c, logging.c,
23197         options.h, parse.c, parse.lex, parse.yacc, pathnames.h.in, putenv.c,
23198         strdup.c, sudo.c, sudo.h, sudo_setenv.c, testsudoers.c, tgetpass.c,
23199         utime.c, version.h, visudo.c:
23200         courtesan
23201         [5f203589bbfe]
23202
23203         * PORTING, README, RUNSON:
23204         courtesan
23205         [d72517f4937e]
23206
23207         * INSTALL, Makefile.in, TROUBLESHOOTING:
23208         courtesan
23209         [5c007e3c7a71]
23210
23211         * visudo.pod:
23212         *** empty log message ***
23213         [37ebe85bd4e1]
23214
23215         * sudo.pod, visudo.pod:
23216         courtesan
23217         [37f02e2130ea]
23218
23219 1996-09-07  Todd C. Miller  <Todd.Miller@courtesan.com>
23220
23221         * HISTORY:
23222         added courtesan ./
23223         [b01435226276]
23224
23225 1996-09-06  Todd C. Miller  <Todd.Miller@courtesan.com>
23226
23227         * sudo.c:
23228         added $SUDO_PROMPT support
23229         [cb1fa72c093d]
23230
23231 1996-09-04  Todd C. Miller  <Todd.Miller@courtesan.com>
23232
23233         * check.c:
23234         print long skey challemged to stderr, not stdout
23235         [750fc775b3b2]
23236
23237 1996-09-01  Todd C. Miller  <Todd.Miller@courtesan.com>
23238
23239         * CHANGES:
23240         updated for 1.5.1
23241         [9b615f393057]
23242
23243         * emul/utime.h:
23244         ++version
23245         [a94de18deafb]
23246
23247 1996-08-31  Todd C. Miller  <Todd.Miller@courtesan.com>
23248
23249         * RUNSON:
23250         updated for 1.5.1
23251         [4092f20ab634]
23252
23253 1996-08-30  Todd C. Miller  <Todd.Miller@courtesan.com>
23254
23255         * check.c:
23256         use shost, not host for tgetpass
23257         [6061c49ff9be]
23258
23259         * sudo.pod:
23260         documented %u and %h
23261         [6d2922d29897]
23262
23263         * OPTIONS:
23264         documented %u and %h
23265         [1a71da13a864]
23266
23267         * configure.in:
23268         fixed typo
23269         [1230dec2b062]
23270
23271         * INSTALL, Makefile.in, README, check.c, compat.h, config.h.in,
23272         dce_pwent.c, find_path.c, getspwuid.c, getwd.c, goodpath.c,
23273         ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h, insults.h,
23274         interfaces.c, logging.c, options.h, parse.c, parse.lex, parse.yacc,
23275         pathnames.h.in, putenv.c, strdup.c, sudo.c, sudo.h, sudo_setenv.c,
23276         testsudoers.c, tgetpass.c, utime.c, version.h, visudo.c:
23277         ++version
23278         [65ce8eabf77a]
23279
23280         * BUGS:
23281         ++version
23282         [afecab53aab7]
23283
23284 1996-08-29  Todd C. Miller  <Todd.Miller@courtesan.com>
23285
23286         * Makefile.in, configure.in, version.h:
23287         ++version
23288         [fb3ff940d672]
23289
23290         * sudo.h:
23291         new tgetpass() params
23292         [9eccc5b0f8ae]
23293
23294         * check.c:
23295         pass use and host to tgetpass
23296         [c56d9d13c401]
23297
23298         * tgetpass.c:
23299         added %u and %h escapes
23300         [04ae775d3e5d]
23301
23302         * OPTIONS, check.c, options.h:
23303         added NO_MESSAGE
23304         [3927dad19057]
23305
23306         * configure.in:
23307         added cray (unicos) support
23308         [1122210c5fb1]
23309
23310 1996-08-27  Todd C. Miller  <Todd.Miller@courtesan.com>
23311
23312         * OPTIONS, options.h, sudo.c:
23313         added SHELL_SETS_HOME
23314         [0b26909b0929]
23315
23316 1996-08-25  Todd C. Miller  <Todd.Miller@courtesan.com>
23317
23318         * INSTALL:
23319         added note about "make install"
23320         [7e56ea76d4b4]
23321
23322         * parse.yacc:
23323         changed length/size params from int to size_t
23324         [5654e5ceb1b3]
23325
23326         * OPTIONS:
23327         now get CSOPS insults as well by default
23328         [297323d0179a]
23329
23330         * insults.h:
23331         use csops insults too by default
23332         [07fafc136169]
23333
23334         * INSTALL, Makefile.in, README, config.h.in, configure.in, version.h:
23335         version = 1.5
23336         [4b8772b11e3b]
23337
23338         * sudo.c:
23339         added runas_homedir
23340         [b0e0d4417a15]
23341
23342         * TODO:
23343         updated for 1.5
23344         [66259df825d5]
23345
23346         * RUNSON:
23347         updated for 1.5
23348         [e08bc9ebfe95]
23349
23350         * CHANGES:
23351         1.5 release
23352         [8c16942fea41]
23353
23354         * INSTALL:
23355         added "upgrading" notes
23356         [210d968964ff]
23357
23358 1996-08-22  Todd C. Miller  <Todd.Miller@courtesan.com>
23359
23360         * visudo.c:
23361         now do chmod and chown after edit of temp file and before rename
23362         [de174e34faa7] [SUDO_1_5_0]
23363
23364 1996-08-18  Todd C. Miller  <Todd.Miller@courtesan.com>
23365
23366         * Makefile.in:
23367         ++version added INSTALL.configure
23368         [c9e9214f52ae]
23369
23370         * configure.in, version.h:
23371         ++version
23372         [5985abed3eb2]
23373
23374         * TROUBLESHOOTING:
23375         *** empty log message ***
23376         [d65c540ec52e]
23377
23378         * parse.yacc:
23379         added missing cast
23380         [e7247319a7d5]
23381
23382         * sudo.c:
23383         sets $HOME to pw_dir of runas user
23384         [d3f7f4d05752]
23385
23386         * sudo.pod:
23387         document $HOME change
23388         [854454d458c4]
23389
23390 1996-08-17  Todd C. Miller  <Todd.Miller@courtesan.com>
23391
23392         * sudo.pod:
23393         fixed up some wording
23394         [b0c8582f2c97]
23395
23396         * check.c, dce_pwent.c, find_path.c, getspwuid.c, getwd.c, goodpath.c,
23397         interfaces.c, logging.c, parse.c, parse.lex, parse.yacc, putenv.c,
23398         strdup.c, sudo.c, sudo_setenv.c, testsudoers.c, tgetpass.c, utime.c,
23399         visudo.c:
23400         ++version
23401         [748be723fd8b]
23402
23403         * compat.h, ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h,
23404         insults.h, options.h, pathnames.h.in, sudo.h:
23405         ++version
23406         [acdf8b1b2a1b]
23407
23408         * emul/utime.h:
23409         ++version
23410         [b3f35298ab8d]
23411
23412         * sudo.h:
23413         name nad type changes
23414         [db24ab3da141]
23415
23416         * testsudoers.c:
23417         now works with new sudo
23418         [379346c42cc2]
23419
23420         * parse.yacc:
23421         fixed some XXX
23422         [f5fe4c990052]
23423
23424         * parse.yacc:
23425         some variable name changes + comment headers for functions.
23426         [3dc3bd9aa73d]
23427
23428         * tgetpass.c:
23429         added extra paren's to make compilers happy
23430         [9e4968a34d56]
23431
23432         * sudo.c:
23433         *** empty log message ***
23434         [70c924c1ed69]
23435
23436         * parse.c:
23437         now uses init_parser() if not in sudoers and tries "list" or
23438         "validate" scold but don't be nasty.
23439         [c0d8fb3f8c9e]
23440
23441         * TROUBLESHOOTING:
23442         now can use upper case login names
23443         [c772fffcefe5]
23444
23445         * visudo.c:
23446         now uses init_parser()
23447         [b9efae7243fd]
23448
23449         * INSTALL, README:
23450         updated
23451         [27dc8283fdc8]
23452
23453         * PORTING:
23454         added info about PASSWORD_TIMEOUT
23455         [980e15d892f8]
23456
23457         * INSTALL.configure:
23458         Initial revision
23459         [8292e89a08d3]
23460
23461         * BUGS:
23462         fixed a bug ,
23463         [c6e46f5624f9]
23464
23465         * parse.yacc:
23466         now dynamically allocates memory for the stacks -- no more
23467         overflows!
23468         [8615c35b6ad3]
23469
23470         * sudo.pod:
23471         -l now explands command aliases
23472         [39f45605935d]
23473
23474         * parse.yacc:
23475         hacks to expand command aliases for `sudo -l'
23476         [e4eb752608f9]
23477
23478         * sudo.c:
23479         remove $ENV and $BASH_ENV (dangerous in ksh, posix sh, and bash)
23480         [01327ca5084b]
23481
23482         * sudo.h:
23483         added struct command_alias
23484         [dd2f32764082]
23485
23486         * sudo.pod:
23487         fixed a bug
23488         [e708ff08d2eb]
23489
23490         * lsearch.c:
23491         in compar() key should be first arg
23492         [fc14c3fa62ee]
23493
23494 1996-08-15  Todd C. Miller  <Todd.Miller@courtesan.com>
23495
23496         * BUGS:
23497         fixed some bugs
23498         [639dfe425bd5]
23499
23500         * parse.yacc:
23501         can now deal with upcase HOST and USER names
23502         [c6aa7bcfb00d]
23503
23504         * sudo.c:
23505         don't yell too loudly at non-sudoers if they do "sudo -l"
23506         [4ef146128d89]
23507
23508         * sudo.pod:
23509         fixed thinko
23510         [830f2f0f22e7]
23511
23512         * parse.c:
23513         fix comment
23514         [d20ce9e17ddc]
23515
23516 1996-08-09  Todd C. Miller  <Todd.Miller@courtesan.com>
23517
23518         * parse.c, parse.yacc:
23519         added support for new `sudo -l' stuff
23520         [7dceaef3c733]
23521
23522         * sudo.c:
23523         now uses list_matches()
23524         [293364821b61]
23525
23526         * sudo.h:
23527         added struct sudo_match
23528         [b2684179d179]
23529
23530         * configure.in:
23531         now more -lgnumalloc
23532         [4f8ae42617d8]
23533
23534 1996-08-01  Todd C. Miller  <Todd.Miller@courtesan.com>
23535
23536         * install-sh:
23537         added more paths for chown and whoami
23538         [6e685a19426c]
23539
23540 1996-07-31  Todd C. Miller  <Todd.Miller@courtesan.com>
23541
23542         * check.c:
23543         typo
23544         [3adfa01c04bc]
23545
23546 1996-07-30  Todd C. Miller  <Todd.Miller@courtesan.com>
23547
23548         * aclocal.m4:
23549         fixed DUNIX check for shadow pw
23550         [c25324bcd27b]
23551
23552         * tgetpass.c:
23553         now only turn off echo if it is already on. this fixes a race when
23554         you use sudo in a pipelin
23555         [28388c2de21c]
23556
23557         * INSTALL:
23558         updated
23559         [b45ac9366b7e]
23560
23561         * configure.in:
23562         changed "test -z $foo && do_this" to if; then construct
23563         [2183c4426bca]
23564
23565 1996-07-29  Todd C. Miller  <Todd.Miller@courtesan.com>
23566
23567         * configure.in:
23568         added missing defines of SHADOW_TYPE
23569         [be89ea68a7f3]
23570
23571 1996-07-26  Todd C. Miller  <Todd.Miller@courtesan.com>
23572
23573         * check.c:
23574         protect AUTH_CRYPT_OLDCRYPT and AUTH_CRYPT_C1CRYPT since they are
23575         only in dunix 4.x
23576         [1e7c1c677263]
23577
23578         * getspwuid.c:
23579         added AUTH_CRYPT_C1CRYPT support
23580         [88d6b0058b20]
23581
23582         * parse.c:
23583         no longer return VALIDATE_NOT_OK if there was a runas that didn't
23584         match. Now we can have runas stuff on more than one line.
23585         [52b68920d7b7]
23586
23587         * getspwuid.c, sudo.c, tgetpass.c:
23588         use SHADOW_TYPE instead of HAVE_C2_SECURITY
23589         [cf401dfcbc06]
23590
23591         * configure.in:
23592         got rid of HAVE_C2_SECURITY SHADOW_TYPE is always defined to
23593         something
23594         [c7a233c4dd93]
23595
23596         * config.h.in:
23597         removed HAVE_C2_SECURITY added SPW_BSD
23598         [8314405e9754]
23599
23600         * compat.h:
23601         use SHADOW_TYPE instead of HAVE_C2_SECURITY
23602         [6f94870df17f]
23603
23604         * check.c:
23605         SHADOW_TYPE is always defined so just against its value
23606         [72c69a55d02f]
23607
23608         * aclocal.m4:
23609         added SUDO_CHECK_SHADOW_DUNIX
23610         [ef025ae9d496]
23611
23612 1996-07-25  Todd C. Miller  <Todd.Miller@courtesan.com>
23613
23614         * sudoers.pod:
23615         * -> ?* in one example added another instance of (runas) and one of
23616         NOPASSWD:
23617         [d74fe1dcbe7d]
23618
23619 1996-07-24  Todd C. Miller  <Todd.Miller@courtesan.com>
23620
23621         * configure.in:
23622         added back check for config.cache from other host type
23623         [0ba87871f585]
23624
23625         * parse.lex:
23626         removed an instance of \"
23627         [1e008d3709f6]
23628
23629         * sample.sudoers:
23630         added an example
23631         [dbfcf68ee330]
23632
23633         * sudoers.pod:
23634         updated wrt new wildcard matching
23635         [193fa44a475b]
23636
23637         * configure.in:
23638         new check for shadow passwords if we don't know anything
23639         [67465df7dc9a]
23640
23641         * aclocal.m4:
23642         new SUDO_CHECK_SHADOW_GENERIC
23643         [3563b16a41b8]
23644
23645         * configure.in:
23646         added back check for -lsocket (oops)
23647         [a80882ee1cb6]
23648
23649         * configure.in:
23650         better (working) check for shadow passwd type if we know to use C2.
23651         [3cdd2a59a641]
23652
23653         * configure.in:
23654         now uses AC_CANONICAL_HOST to figure out os type
23655         [80db7fe6e704]
23656
23657         * Makefile.in:
23658         added config.{guess,sub}
23659         [c6be7e3ca384]
23660
23661         * aclocal.m4:
23662         removed unused stuff to figure out os type
23663         [c9a0f3b57123]
23664
23665         * config.sub:
23666         added openbsd
23667         [bfc6bfec3668]
23668
23669         * config.sub:
23670         Initial revision
23671         [e6e06ce0d17d]
23672
23673         * config.guess:
23674         Initial revision
23675         [99dd06f79199]
23676
23677         * testsudoers.c:
23678         don't call fnmatch() with FNM_PATHNAME flag unless it can only be a
23679         pathname. need to check against sudoers_args even if user_args is
23680         nil
23681         [66e6cf77f5d6]
23682
23683         * parse.c:
23684         don't call fnmatch() with FNM_PATHNAME flag unless it can only be a
23685         pathname need to check against sudoers_args even if user_args is nil
23686         [74374df17311]
23687
23688 1996-07-23  Todd C. Miller  <Todd.Miller@courtesan.com>
23689
23690         * check.c:
23691         added support for AUTH_CRYPT_OLDCRYPT w/ DUNIX C2
23692         [cbb00261c415]
23693
23694         * testsudoers.c:
23695         now takes command line args and uses cmnd_args
23696         [f0c2fd35a527]
23697
23698         * parse.lex:
23699         fill_args was adding an extra leading space
23700         [692fc999b2e8]
23701
23702 1996-07-22  Todd C. Miller  <Todd.Miller@courtesan.com>
23703
23704         * visudo.c:
23705         fixed dummy command_matches()
23706         [93d9543db6e2]
23707
23708         * parse.yacc:
23709         fixed prototype
23710         [7b0addfbd429]
23711
23712         * sudo.h:
23713         added cmnd_args
23714         [8f47c4ae65ef]
23715
23716         * parse.yacc:
23717         now uses flat args string
23718         [016e65877da3]
23719
23720         * parse.c, parse.lex:
23721         now uses flat arg string
23722         [5b5f2e3f4c09]
23723
23724         * visudo.c:
23725         added cmnd_args def
23726         [876867134775]
23727
23728         * sudo.c:
23729         now sets cmnd_args global
23730         [e6fee70cb59b]
23731
23732         * logging.c:
23733         cmnd_args is now exported from sudo.[ch]
23734         [7a9cd36e356f]
23735
23736 1996-07-21  Todd C. Miller  <Todd.Miller@courtesan.com>
23737
23738         * parse.yacc:
23739         can't rely on cmnd_matches as much as I thought -- added some $$
23740         stuff back in to prevent namespace pollution problems.
23741         [3c45fedb5af3]
23742
23743         * parse.yacc:
23744         Simplified parse rules wrt runas and NOPASSWD (more consistent).
23745         [e6d838c8a4c7]
23746
23747 1996-07-20  Todd C. Miller  <Todd.Miller@courtesan.com>
23748
23749         * parse.lex:
23750         NOPASSWD may now have blanks before the ':' '(' only starts a
23751         'runas' if in the initial state to avoid collision with command args
23752         [c5c01172f499]
23753
23754         * configure.in:
23755         added checks for specific shadow passwd schemes
23756         [b7e3d1f7b84f]
23757
23758         * aclocal.m4:
23759         added routines to check for specific shadow passwd types
23760         [e5e1d19960a6]
23761
23762 1996-07-18  Todd C. Miller  <Todd.Miller@courtesan.com>
23763
23764         * configure.in:
23765         added support for ncr boxen
23766         [bea9dc5aae7f]
23767
23768         * aclocal.m4:
23769         added support for detecting ncr boxen
23770         [8653a158a924]
23771
23772 1996-07-16  Todd C. Miller  <Todd.Miller@courtesan.com>
23773
23774         * configure.in:
23775         added sinix support
23776         [5de2b2173ee1]
23777
23778 1996-07-14  Todd C. Miller  <Todd.Miller@courtesan.com>
23779
23780         * TROUBLESHOOTING:
23781         added info about "config.cache from other other" error.
23782         [845b10198e0b]
23783
23784         * aclocal.m4:
23785         now makes sure you don't have a config.cache file from another OS
23786         [4fe32571c021]
23787
23788         * configure.in:
23789         now sets $LIBS when needed to configure links with libs when doing
23790         tests hpux10 now uses SPW_SECUREWARE for C2 added check for
23791         bigcrypt(3) if SPW_SECUREWARE
23792         [2df6b8ca538f]
23793
23794         * getspwuid.c:
23795         fixed typo
23796         [fe1cb1d792d6]
23797
23798         * tgetpass.c:
23799         now include stuff for SPW_SECUREWARE to get AUTH_MAX_PASSWD_LENGTH
23800         [f71138372c07]
23801
23802         * getspwuid.c:
23803         no more SPW_HPUX10
23804         [cfdeb18bc16b]
23805
23806         * config.h.in:
23807         no more SPW_HPUX10 added HAVE_BIGCRYPT
23808         [00d296479a61]
23809
23810         * compat.h:
23811         now uses AUTH_MAX_PASSWD_LENGTH if SPW_SECUREWARE
23812         [6c6d9e680417]
23813
23814         * check.c:
23815         SPW_SECUREWARE now uses bigcrypt
23816         [be71fc66690f]
23817
23818 1996-07-13  Todd C. Miller  <Todd.Miller@courtesan.com>
23819
23820         * sample.sudoers:
23821         fixed 2 syntax errors
23822         [45eee19ef4ac]
23823
23824         * sudoers:
23825         root may now run ALL as ALL
23826         [1b54c6b9b212]
23827
23828 1996-07-12  Todd C. Miller  <Todd.Miller@courtesan.com>
23829
23830         * interfaces.c:
23831         fixed a typo/thinko that broke BSD's with sa_len
23832         [603438360126]
23833
23834 1996-07-08  Todd C. Miller  <Todd.Miller@courtesan.com>
23835
23836         * check.c, configure.in:
23837         updated AFS support
23838         [e572eb8d177a]
23839
23840         * TROUBLESHOOTING:
23841         added entry about /usr/ucb/cc
23842         [025b353aa9d3]
23843
23844         * INSTALL:
23845         prep no longer holds gcc binaries
23846         [8b0942958049]
23847
23848         * INSTALL:
23849         updated AFS note
23850         [7af6efd5abe4]
23851
23852         * Makefile.in:
23853         added @AFS_LIBS@
23854         [97b6fe6ad7d6]
23855
23856         * compat.h:
23857         AFS allows long passwords
23858         [5fb17122c302]
23859
23860         * testsudoers.c:
23861         fixed -u user support
23862         [b1a0c1648639]
23863
23864         * parse.c:
23865         sudo -v now groks VALIDATE_OK_NOPASS
23866         [74fc03fffe7e]
23867
23868         * parse.yacc:
23869         fixed no_passwd vs. runas_matched
23870         [549a9b791a6a]
23871
23872         * TROUBLESHOOTING:
23873         took out stuff about NFS-mounting since it is no longer an issue
23874         [d95ab7fbbc61]
23875
23876         * INSTALL:
23877         added --with-libraries > --with-libpath --with-incpath
23878         [d5d15a7a0f4c]
23879
23880         * parse.yacc:
23881         was setting runas_matches to -1 in wrong place
23882         [db2b1deb8d33]
23883
23884         * check.c:
23885         removed usersec.h which is not present in new AFS versions
23886         [618b016dd17f]
23887
23888         * tgetpass.c:
23889         now deals with timeout <= 0
23890         [ba53a1257255]
23891
23892         * OPTIONS:
23893         updated
23894         [75093bd8fdca]
23895
23896         * configure.in:
23897         BSD/OS >= 2.0 now uses shlicc instead of just gcc
23898         [ff6dbf7825c2]
23899
23900         * sudo.c:
23901         fixed backwards compatibility with sudo 1.4 sudoers mode for root
23902         readable/writable filesystems
23903         [2694ed627221]
23904
23905         * Makefile.in:
23906         now gives INSTALL -c flag
23907         [63db055a2fd1]
23908
23909         * parse.yacc:
23910         slightly simpler initialization of no_passwd and runas_matches
23911         [463a1b5fa323]
23912
23913         * testsudoers.c:
23914         added -u username support
23915         [38b072fcd6b3]
23916
23917         * configure.in:
23918         improved --with-libraries support
23919         [047dbc5f0af2]
23920
23921 1996-07-07  Todd C. Miller  <Todd.Miller@courtesan.com>
23922
23923         * configure.in:
23924         added --with-incpath, --with-libpath, --with-libraries
23925         [20f20d6c718c]
23926
23927         * parse.yacc:
23928         now initializes some fields that weren't getting set to -1 pretty
23929         gross -- need a rewrite.
23930         [021c160390c6]
23931
23932 1996-06-26  Todd C. Miller  <Todd.Miller@courtesan.com>
23933
23934         * alloca.c:
23935         removed emacs'isms
23936         [9d4ec2efe057]
23937
23938         * configure.in:
23939         no longer add -lPW to *_LIBS since we include alloca.c
23940         [a626d1bbea80]
23941
23942         * config.h.in:
23943         added HAVE_ALLOCA_H
23944         [15491e2a6cff]
23945
23946         * Makefile.in:
23947         added alloca.c
23948         [0400f25e1fe4]
23949
23950         * alloca.c:
23951         Initial revision
23952         [06d033aa4882]
23953
23954         * configure.in:
23955         ++version
23956         [f52c0fb98f90]
23957
23958 1996-06-25  Todd C. Miller  <Todd.Miller@courtesan.com>
23959
23960         * sudo.c:
23961         now set uid to 1 instead of nobody for PERM_SUDOERS since nobody is
23962         not always set to a valid uid.
23963         [c2669f77704d]
23964
23965         * OPTIONS:
23966         fixed entry for SUDO_MODE
23967         [d7272f6035b8]
23968
23969         * sudo.c:
23970         Fixed NFS-mounted sudoers file under solaris both uid *and* gid were
23971         being set to -2. Now beat NFS to the punch and set uid to "nobody"
23972         ourselves, preserving group 0 to read sudoers.
23973         [b1fbc5dd1e34]
23974
23975         * parse.c:
23976         moved set_perms(PERM_ROOT) to be before yyparse()
23977         [7619d8080735]
23978
23979         * logging.c:
23980         fixed a typo
23981         [318acc48cde0]
23982
23983         * configure.in:
23984         no longer need AC_PROG_INSTALL
23985         [de01b1336dc8]
23986
23987         * Makefile.in:
23988         always use install-sh to avoid install(1)'s that use get{pw,gr}nam
23989         [ea2351986406]
23990
23991         * INSTALL:
23992         make clean -> make distclean
23993         [704a98e8ba10]
23994
23995 1996-06-20  Todd C. Miller  <Todd.Miller@courtesan.com>
23996
23997         * parse.yacc:
23998         removed some unnecsary if's
23999         [f00db6508132]
24000
24001         * Makefile.in, version.h:
24002         ++version
24003         [bdb6740b24c8]
24004
24005         * parse.c, testsudoers.c:
24006         now includes netgroup.h
24007         [93f5a06352bc]
24008
24009         * interfaces.c:
24010         removed cats of ioctl to int since they didn't shut up -Wall
24011         [83e9f912cd7a]
24012
24013         * interfaces.c:
24014         explicately cast ioctl() to int since it it not always declared
24015         [2ff9294e469e]
24016
24017         * sudo.h:
24018         added declarations for yyparse() and yylex()
24019         [6071321ab771]
24020
24021         * parse.yacc:
24022         fixed an occurence of '==' -> '='
24023         [2c46d2e11d57]
24024
24025         * config.h.in, configure.in:
24026         added check for netgroup.h
24027         [73403050f4e3]
24028
24029         * sudo.c:
24030         fixed 2 compiler warnings
24031         [680929b0bd97]
24032
24033         * sudo.c:
24034         SHELL_IF_NO_ARGS caused core dump since NewArg[cv] weren't being
24035         initialized
24036         [18707ecd07c2]
24037
24038 1996-06-19  Todd C. Miller  <Todd.Miller@courtesan.com>
24039
24040         * sudo.pod:
24041         fixed a typo
24042         [e4b5c12aa130]
24043
24044 1996-06-17  Todd C. Miller  <Todd.Miller@courtesan.com>
24045
24046         * parse.yacc:
24047         fixed a formatting thingie
24048         [c79327b6f19b]
24049
24050         * parse.c, parse.yacc:
24051         fixed -u support with multiple user lists on a line
24052         [e4d1066adca2]
24053
24054         * configure.in:
24055         unixware needs -lgen
24056         [b5bf9bca63cc]
24057
24058         * README:
24059         updated ftp location
24060         [b25a033f7921]
24061
24062         * sudoers.pod:
24063         add net_addr/netmask support
24064         [674e83516d1e]
24065
24066         * sample.sudoers:
24067         added net_addr/mask example
24068         [774878e89b28]
24069
24070         * parse.c, parse.lex:
24071         added support for net_addr/netmask
24072         [e33de27325d8]
24073
24074 1996-06-16  Todd C. Miller  <Todd.Miller@courtesan.com>
24075
24076         * sudoers.pod:
24077         ^ -> !
24078         [1a084950d6ef]
24079
24080 1996-06-15  Todd C. Miller  <Todd.Miller@courtesan.com>
24081
24082         * RUNSON:
24083         updated for 1.4.3
24084         [c82019025d09]
24085
24086         * CHANGES:
24087         udpated for 1.4.3
24088         [ceaa81adb8f0]
24089
24090         * BUGS, TODO, TROUBLESHOOTING:
24091         updated
24092         [ff94fae4b853]
24093
24094         * sample.sudoers:
24095         updated with examples of new stuff
24096         [99d0b4cb4c9c]
24097
24098         * INSTALL, README:
24099         ++version
24100         [b763b80fe836]
24101
24102         * sudoers.pod:
24103         updated wrt -u and NOPASSWD
24104         [0b5b722ea0f4]
24105
24106         * sudo.pod:
24107         updated wrt -u and CAVEATS
24108         [71d5d53b5d18]
24109
24110 1996-06-09  Todd C. Miller  <Todd.Miller@courtesan.com>
24111
24112         * sudo.c:
24113         fixed usage()
24114         [114c7d09b550]
24115
24116         * parse.lex:
24117         now use :foo: character classes (makes no diff for generated lexer)
24118         [7b0aeb737a02]
24119
24120 1996-06-07  Todd C. Miller  <Todd.Miller@courtesan.com>
24121
24122         * check.c:
24123         fixed LONG_SKEY_PROMPT stuff
24124         [0efe78b4bdda]
24125
24126 1996-06-06  Todd C. Miller  <Todd.Miller@courtesan.com>
24127
24128         * visudo.c:
24129         fixed a comment
24130         [3d289017104b]
24131
24132         * lsearch.c:
24133         make more like NetBSD one -- now compiles w/o warnings
24134         [932206296a54]
24135
24136         * emul/search.h:
24137         fixed decls of lsearch()
24138         [c58cf4584c45]
24139
24140         * config.h.in, configure.in, getspwuid.c:
24141         added SPW_HPUX10
24142         [d74e5eaa5f17]
24143
24144         * check.c:
24145         hpux 10 uses bigcrypt() if C2
24146         [359eb63f4021]
24147
24148 1996-06-04  Todd C. Miller  <Todd.Miller@courtesan.com>
24149
24150         * parse.c:
24151         now always uses fnmatch to match args
24152         [a9d91f35256a]
24153
24154         * tgetpass.c:
24155         back to using stdio instead of raw i/o since that caused some
24156         problems
24157         [e7ce2bc92974]
24158
24159 1996-05-29  Todd C. Miller  <Todd.Miller@courtesan.com>
24160
24161         * sudo.c:
24162         now give usage warning if use -l,-v,-k with args
24163         [6b48180c4fea]
24164
24165 1996-05-28  Todd C. Miller  <Todd.Miller@courtesan.com>
24166
24167         * sudo.c:
24168         NewArgc is now set to 1 for -l, -v, -k
24169         [7497cb1416a8]
24170
24171         * sudo.c:
24172         now sets sudoers to correct group if mode is 0400
24173         [484c43d99718]
24174
24175         * install-sh:
24176         updated to version used by inn and bind
24177         [28683ad8725a]
24178
24179         * configure.in:
24180         now uses -lgnumalloc if it exists
24181         [3651ca4415a2]
24182
24183         * Makefile.in:
24184         "make install" now sets uid/gid and mode on sudoers if it exists
24185         [1f5216191ae9]
24186
24187         * sudo.c:
24188         rmeoved debugging statements
24189         [aeda278e2c26]
24190
24191         * parse.yacc:
24192         added a missing free()
24193         [592c9482a159]
24194
24195         * sudo.c:
24196         now uses user_gid instead of getegid (which was wrong anyway) to set
24197         SUDO_GID Now sets command line args in SUDO_COMMAND envariabled
24198         (logging.c depends on args being in the environment)
24199         [9f5328a3b942]
24200
24201         * logging.c:
24202         now uses SUDO_COMMAND envariable to get command args rather than
24203         building it up again.
24204         [7f8edc5bccb7]
24205
24206         * parse.c:
24207         now uses user_gid
24208         [4b9303ae45fe]
24209
24210         * sudo.c:
24211         fixed off by one error in allocation NewArgv
24212         [921ea1a4e7c6]
24213
24214         * parse.c:
24215         in sudoers, 'command ""' now means command with no args
24216         [a5273648ace2]
24217
24218         * configure.in:
24219         added check for fnmatch(3) and fnmatch.h
24220         [258916a7866f]
24221
24222         * config.h.in:
24223         added HAVE_FNMATCH
24224         [b9860d361e93]
24225
24226         * Makefile.in:
24227         replaced wildcat.* with fnmatch.*
24228         [03ad9ee21a1c]
24229
24230         * testsudoers.c:
24231         now uses fnmatch()
24232         [5a7f7de987a9]
24233
24234 1996-05-27  Todd C. Miller  <Todd.Miller@courtesan.com>
24235
24236         * parse.c:
24237         now uses fnmatch() instead of wildmat a trailing star (*) by itself
24238         now matches multiple args added support for wildcards in the
24239         pathname in sudoers
24240         [1f7fb950b868]
24241
24242 1996-05-25  Todd C. Miller  <Todd.Miller@courtesan.com>
24243
24244         * fnmatch.c:
24245         now includes compat.h and config.h
24246         [090206b95cf8]
24247
24248         * config.h.in:
24249         added HAVE_FNMATCH_H
24250         [90eb42150173]
24251
24252         * configure.in:
24253         now checks for alloca() (if needed by bison or dce) and links with
24254         -lPW if it contains alloca() and libv and compiler do not.
24255         [cfa2b3cef49a]
24256
24257         * emul/fnmatch.h, fnmatch.3, fnmatch.c:
24258         Initial revision
24259         [20b1f762a32a]
24260
24261 1996-04-29  Todd C. Miller  <Todd.Miller@courtesan.com>
24262
24263         * sudo.c:
24264         now fixes mode on sudoers if set to 0400 to aid in upgrade
24265         [d4bdfd521820]
24266
24267 1996-04-28  Todd C. Miller  <Todd.Miller@courtesan.com>
24268
24269         * Makefile.in:
24270         fixed pod2man usage
24271         [5adf2ec77b27]
24272
24273         * Makefile.in, configure.in, version.h:
24274         ++version
24275         [b4029de876d0]
24276
24277         * testsudoers.c, visudo.c:
24278         runas_user is now initialized to "root"
24279         [8537d97bff39]
24280
24281         * sudo.h:
24282         removed PERM_FULL_ROOT
24283         [241f8bbf647f]
24284
24285         * sudo.c:
24286         runas_user defaults to "root" so no more need to PERM_RUNAS
24287         [fc0c0dfc72ba]
24288
24289         * parse.c:
24290         will now only running commands as root if there was no runas list
24291         (or if root is in the runas list)
24292         [40c587666c81]
24293
24294         * logging.c:
24295         now logs "USER=%s"
24296         [b733504c87fd]
24297
24298         * parse.yacc:
24299         runas_matches is now set to false if we get a negative match
24300         [5495b150b300]
24301
24302         * parse.lex:
24303         make #uid work + some minor cleanup
24304         [07851bbce03a]
24305
24306         * sample.sudoers:
24307         added support for NOPASSWD and "runas" from garp@opustel.com /
24308         [7a9c67b51fa5]
24309
24310         * visudo.c:
24311         added support for "runas" from garp@opustel.com replaced
24312         SUDOERS_OWNER with SUDOERS_UID, SUDOERS_GID added support for
24313         SUDOERS_MODE
24314         [e714209b9885]
24315
24316         * testsudoers.c:
24317         added support for "runas" from garp@opustel.com
24318         [b837f856da10]
24319
24320         * sudo.h:
24321         added support for NO_PASSWD and runas from garp@opustel.com replaced
24322         SUDOERS_OWNER with SUDOERS_UID and SUDOERS_GID and added support
24323         fro SUDOERS_MODE
24324         [cea6f26679b7]
24325
24326         * sudo.c:
24327         added support for NO_PASSWD and runas from garp@opustel.com replaced
24328         SUDOERS_OWNER with SUDOERS_UID and SUDOERS_GID and added support fro
24329         SUDOERS_MODE
24330         [61b5434237c5]
24331
24332         * parse.yacc:
24333         added support for NO_PASSWD and runas from garp@opustel.com
24334         [72ebd3056f22]
24335
24336         * parse.c, parse.lex:
24337         added support for NO_PASSWD and runas from garp@opustel.com
24338         [fef6dbdd114d]
24339
24340         * logging.c:
24341         added support for SUDOERS_WRONG_MODE and "runas"
24342         [e794efc2b443]
24343
24344         * configure.in:
24345         added --with-CC only link with -lshadow on linux (with shadow pw) if
24346         libc lacks getspnam()
24347         [3ecf4ae21002]
24348
24349         * OPTIONS, options.h:
24350         removed NO_PASSWD since it is not possible to do this in the sudoers
24351         file itself. Replaced SUDOERS_OWNER with SUDOERS_UID and
24352         SUDOERS_GID. Added SUDOERS_MODE.
24353         [2eaa4891ef48]
24354
24355         * Makefile.in:
24356         now uses SUDOERS_UID and SUDOERS_GID
24357         [8d615f0fdb2a]
24358
24359 1996-04-27  Todd C. Miller  <Todd.Miller@courtesan.com>
24360
24361         * INSTALL:
24362         added --with-CC
24363         [a1b8286a81b8]
24364
24365 1996-04-06  Todd C. Miller  <Todd.Miller@courtesan.com>
24366
24367         * parse.lex:
24368         added double quote support
24369         [a5e4fc7e3a2b]
24370
24371         * sudoers.pod:
24372         documented double quoting
24373         [c6ea47969a44]
24374
24375 1996-04-05  Todd C. Miller  <Todd.Miller@courtesan.com>
24376
24377         * mkinstalldirs:
24378         Initial revision
24379         [dcb86d65ad8f]
24380
24381         * check.c:
24382         fixed some indentation
24383         [4d1c5ab8072b]
24384
24385         * Makefile.in:
24386         fixed a typo
24387         [0d27eebc7227]
24388
24389         * Makefile.in:
24390         added install-dirs .
24391         [f499b99b8be7]
24392
24393 1996-04-04  Todd C. Miller  <Todd.Miller@courtesan.com>
24394
24395         * dce_pwent.c:
24396         new version from "Jeff A. Earickson" <jaearick@colby.edu>
24397         [422481be5fbd]
24398
24399 1996-04-03  Todd C. Miller  <Todd.Miller@courtesan.com>
24400
24401         * configure.in:
24402         $CSOPS -> $with_csops (whoops, missed one)
24403         [b04c6948130e]
24404
24405         * BUGS:
24406         updated
24407         [c4d5713e227d]
24408
24409         * parse.lex:
24410         FQHOST now has same constraints as non-FQHOST
24411         [e1c3bf2381d1]
24412
24413         * INSTALL:
24414         added note about OS's w/ shadow passwords turned on by default
24415         [166257f43be4]
24416
24417 1996-04-02  Todd C. Miller  <Todd.Miller@courtesan.com>
24418
24419         * configure.in:
24420         fixed a typo
24421         [e5c3e2e9a359]
24422
24423         * configure.in:
24424         added support for --without-THING sanitized shadow pw situtation by
24425         adding support for
24426         --without-C2
24427         [65dc6bf64cce]
24428
24429         * tgetpass.c:
24430         fixed a typo wrt placement of an end paren
24431         [a8780f818231]
24432
24433         * check.c:
24434         was closing an fd that may not have been opened
24435         [760271c7bdc9]
24436
24437 1996-03-22  Todd C. Miller  <Todd.Miller@courtesan.com>
24438
24439         * OPTIONS, options.h, sudo.c:
24440         added NO_PASSWD
24441         [28ff1dc93d7a]
24442
24443 1996-03-20  Todd C. Miller  <Todd.Miller@courtesan.com>
24444
24445         * configure.in:
24446         now always use shadow pw on some arches
24447         [069161ccffda]
24448
24449 1996-03-19  Todd C. Miller  <Todd.Miller@courtesan.com>
24450
24451         * configure.in:
24452         added pyramid support
24453         [a0eb57a3a531]
24454
24455         * configure.in:
24456         no longer check for C2 if alternate passwd method is used no longer
24457         check for some libs twice
24458         [2d0c3c902b40]
24459
24460         * parse.yacc:
24461         moved fqdn stuff into parse.lex (FQHOST)
24462         [d9c9abd481d8]
24463
24464         * parse.lex:
24465         added FQHOST rules
24466         [4a1695acff6d]
24467
24468         * tgetpass.c:
24469         now define TCSASOFT in necesary
24470         [3fac2e21c9ab]
24471
24472         * tgetpass.c:
24473         now uses read/write instead of stdio string goop to avoid problems
24474         with select(2)
24475         [67fd174e518c]
24476
24477         * OPTIONS, find_path.c, options.h:
24478         -DNO_DOT_PATH -> -DIGNORE_DOT_PATH
24479         [d05ba5100d28]
24480
24481 1996-03-17  Todd C. Miller  <Todd.Miller@courtesan.com>
24482
24483         * INSTALL:
24484         added note about no shadow auto-detect if using alternate auth
24485         schemes
24486         [b425592232a3]
24487
24488         * configure.in:
24489         don't check for C2 if AFS or DCE (unless they said --with-C2)
24490         [61342962171a]
24491
24492         * testsudoers.c:
24493         now groks shost
24494         [85dda17303f6]
24495
24496         * OPTIONS, find_path.c, options.h:
24497         added NO_DOT_PATH
24498         [c261ca1fb196]
24499
24500 1996-03-16  Todd C. Miller  <Todd.Miller@courtesan.com>
24501
24502         * find_path.c:
24503         checkdot now works correctly
24504         [3bc4835bb3e9]
24505
24506 1996-03-12  Todd C. Miller  <Todd.Miller@courtesan.com>
24507
24508         * configure.in:
24509         can't have DCE and C2 passwords both...
24510         [fb9a8ab7ca66]
24511
24512 1996-03-11  Todd C. Miller  <Todd.Miller@courtesan.com>
24513
24514         * parse.yacc, sudo.c, sudo.h, visudo.c:
24515         now uses shost even if not FQDN
24516         [87f7498b3a1f]
24517
24518         * configure.in:
24519         now looks for skey in /usr/lib and doesn't require libskey to be in
24520         /usr/local/lib just because skey.h is (for my netbsd box :-)
24521         [ceb1763e37d2]
24522
24523         * aclocal.m4, config.h.in, pathnames.h.in:
24524         _SUDO_PATH_ -> _CONFIG_PATH_
24525         [84d97ad13d75]
24526
24527         * aclocal.m4, sudo.pod:
24528         /var/run/.odus -> /var/run/sudo
24529         [922da220b8f5]
24530
24531         * pathnames.h.in:
24532         now uses _SUDO_PATH_TIMEDIR
24533         [5ecab0155fdf]
24534
24535         * OPTIONS:
24536         udpated FQDN
24537         [361b6f7440c0]
24538
24539         * aclocal.m4, configure.in:
24540         added SUDO_TIMEDIR
24541         [368c95c8c950]
24542
24543         * config.h.in:
24544         added _SUDO_PATH_TIMEDIR
24545         [3879864d808c]
24546
24547         * sudo.pod:
24548         updated wrt /var/run/sudo
24549         [9e14f2a429d3]
24550
24551         * sudo.c, sudo.h:
24552         added support for shost if FQDN
24553         [51a3f51a09a1]
24554
24555         * parse.yacc, visudo.c:
24556         now uses shost if FQDN
24557         [d19da2e92b42]
24558
24559         * check.c:
24560         Now use skeylookup() instead off skeychallenge()
24561         [4c7438bb2ae0]
24562
24563 1996-02-28  Todd C. Miller  <Todd.Miller@courtesan.com>
24564
24565         * logging.c:
24566         mail_argv should not contain ALERTMAIL as it includes "-t"
24567         [67ffaaa8f843]
24568
24569 1996-02-22  Todd C. Miller  <Todd.Miller@courtesan.com>
24570
24571         * INSTALL, Makefile.in, README, configure.in, version.h:
24572         ++version
24573         [e08fd4a809fc]
24574
24575         * compat.h:
24576         added more _PASSWD_LEN stuff -- now uses PASS_MAX too
24577         [2f20c3153689]
24578
24579         * tgetpass.c:
24580         now includes limits.h moved _PASSWD_LEN -> compat.h
24581         [b1ca3cafdacc]
24582
24583 1996-02-06  Todd C. Miller  <Todd.Miller@courtesan.com>
24584
24585         * INSTALL, README:
24586         ++version
24587         [3eacf32803f5]
24588
24589         * Makefile.in:
24590         ++versoin
24591         [3b91c317630a]
24592
24593         * Makefile.in:
24594         fixed a typo
24595         [3661ac4a7803]
24596
24597         * configure.in:
24598         ++version
24599         [60e842973745]
24600
24601 1996-02-05  Todd C. Miller  <Todd.Miller@courtesan.com>
24602
24603         * RUNSON:
24604         updated
24605         [def2c3c24195]
24606
24607         * CHANGES:
24608         done for 1.4.1 (I hope)
24609         [2ab543769a40]
24610
24611         * sudoers.pod:
24612         added info on wildcards
24613         [ce3bd41bc063]
24614
24615         * sample.sudoers:
24616         added wildcard example
24617         [762feb0577bd]
24618
24619         * Makefile.in:
24620         now uses *.pod to build *.man and *.cat & *.html
24621         [3ec14962028b]
24622
24623         * configure.in:
24624         addedSUDO_PROG_BSHELL !ll
24625         [3c80b320bf16]
24626
24627         * visudo.pod:
24628         fixed up some formatting
24629         [12166c434526]
24630
24631         * sudoers.pod:
24632         redid section describing sample sudoers stuff
24633         [b8065cceec71]
24634
24635         * sudo.pod:
24636         fixed some formatting
24637         [aa9a681add0f]
24638
24639         * getspwuid.c:
24640         now treats "" as bourne shell
24641         [30194a72ad56]
24642
24643         * Makefile.in:
24644         TESTOBJS nwo includes wildmat.o
24645         [86cc6500f84d]
24646
24647         * testsudoers.c:
24648         now works with NewArg[cv]
24649         [2f72674ce942]
24650
24651         * sudo.c:
24652         removed an XXX (fixed it in getspwuid.c)
24653         [e791ee0d1a68]
24654
24655         * aclocal.m4:
24656         added check for bourne shell
24657         [a2fd51676b8a]
24658
24659         * pathnames.h.in:
24660         added _PATH_BSHELL
24661         [e7c10011d47b]
24662
24663         * config.h.in:
24664         added _SUDO_PATH_BSHELL
24665         [6a1182898de9]
24666
24667 1996-02-04  Todd C. Miller  <Todd.Miller@courtesan.com>
24668
24669         * visudo.c:
24670         unixware vi returns 256 instead of 0
24671         [234ffc7c6786]
24672
24673         * INSTALL:
24674         added Linux note
24675         [5f85efcd2b58]
24676
24677         * logging.c:
24678         fixed up some XXX's. file log format now looks a little more like
24679         real syslog(3) format.
24680         [6df55707bfc3]
24681
24682         * README, TROUBLESHOOTING:
24683         updated wrt lex/flex
24684         [eb787d69156b]
24685
24686         * Makefile.in:
24687         commented out rule to build lex.yy.c from parse.lex since we ship
24688         with a pre-flex'd parser
24689         [7507e2ce4a95]
24690
24691         * parse.c, parse.yacc, visudo.c:
24692         path_matches -> command_matches
24693         [0bd469424f86]
24694
24695         * logging.c:
24696         eliminated some strcat()'s
24697         [9878a79bc374]
24698
24699         * configure.in:
24700         no longer checks for lex/flex (now assumes flex)
24701         [a086ccc73798]
24702
24703         * configure.in:
24704         now checks for $kerb_dir_candidate/krb.h instead of just
24705         kerb_dir_candidate
24706         [9133bc3c5208]
24707
24708 1996-02-03  Todd C. Miller  <Todd.Miller@courtesan.com>
24709
24710         * parse.yacc:
24711         now use a 'hook' expression instead of an iffy one :-)
24712         [9560df01b8c0]
24713
24714 1996-02-02  Todd C. Miller  <Todd.Miller@courtesan.com>
24715
24716         * visudo.c:
24717         now works with new sudo arg stuff
24718         [310a0d43ddad]
24719
24720         * parse.yacc:
24721         fixed dereferencing deadbeef
24722         [474ef8a8006b]
24723
24724         * sudo.c:
24725         changed an occurrence of Argv to NewArgv
24726         [205b012b7691]
24727
24728         * parse.lex:
24729         took out support for quoted commands since there is no need...
24730         [5c5036d353b1]
24731
24732         * parse.c:
24733         fixed a typo in a for() loop
24734         [7e8d5283c43b]
24735
24736         * logging.c:
24737         protected against dereferencing rogue pointers
24738         [56debd517717]
24739
24740         * sudo.c:
24741         now uses NewArgv amd NewArgc so cmnd_aegs is no longer needed this
24742         also allows us to eliminate some kludges in parse_args() and
24743         eliminate superfluous code.
24744         [5122f66ad150]
24745
24746         * logging.c:
24747         no longer uses cmnd_args, now uses NewArgv instead.
24748         [abddd23cf068]
24749
24750         * sudo.h:
24751         added struct sudo_command, NewArgc, and NewArgv removed cmnd_args
24752         (no longer used)
24753         [78410984fb05]
24754
24755         * Makefile.in:
24756         added wildmat.c to SRCS & SUDOBJS
24757         [3800efb41794]
24758
24759         * parse.yacc:
24760         COMMAND is now a struct containing the path and args
24761         [5c32822c5b94]
24762
24763         * parse.lex:
24764         replaced append() with fill_cmnd() and fill_args. command args from
24765         a sudoers entry are now stored in an arrary for easy matching.
24766         [a981d7f4eb0d]
24767
24768         * parse.c:
24769         command line args from sudoers file are now in an array like ones
24770         passed in from the command line
24771         [1d9e37e84519]
24772
24773 1996-02-01  Todd C. Miller  <Todd.Miller@courtesan.com>
24774
24775         * parse.c:
24776         wildwat stuff now works
24777         [49d16488531f]
24778
24779 1996-01-29  Todd C. Miller  <Todd.Miller@courtesan.com>
24780
24781         * version.h:
24782         ++version
24783         [53e55463ef89]
24784
24785         * Makefile.in:
24786         ++version added wildmat.*
24787         [0508297a4711]
24788
24789 1996-01-28  Todd C. Miller  <Todd.Miller@courtesan.com>
24790
24791         * parse.lex:
24792         added support for quoted commands (w/ or w/o args)
24793         [b9a637155673]
24794
24795 1996-01-22  Todd C. Miller  <Todd.Miller@courtesan.com>
24796
24797         * sudo.pod, visudo.pod:
24798         cleaned up formatting
24799         [4591d4195437]
24800
24801         * sudo.pod, visudo.pod:
24802         Initial revision
24803         [7564a8242750]
24804
24805 1996-01-21  Todd C. Miller  <Todd.Miller@courtesan.com>
24806
24807         * sudoers.pod:
24808         looks reasonable, could be mroe readable
24809         [a5be2d19d9e0]
24810
24811         * sudoers.pod:
24812         Initial revision
24813         [957888be31a6]
24814
24815 1996-01-16  Todd C. Miller  <Todd.Miller@courtesan.com>
24816
24817         * RUNSON:
24818         updated
24819         [633743aa924b]
24820
24821         * OPTIONS:
24822         updated NO_ROOT_SUDO entry
24823         [f1c15b1dec9e]
24824
24825 1996-01-15  Todd C. Miller  <Todd.Miller@courtesan.com>
24826
24827         * RUNSON:
24828         *** empty log message ***
24829         [5b63de579ff7] [SUDO_1_4_0]
24830
24831         * sudo.c:
24832         fixed SECURE_PATH
24833         [6002889f606d]
24834
24835         * RUNSON:
24836         udpa`ted for 1.4
24837         [6014a8592815]
24838
24839         * configure.in:
24840         AIX aixcrypt.exp now uses $(srcdir)
24841         [b0d57674fef4]
24842
24843         * TROUBLESHOOTING:
24844         added entry for anal ansi compilers
24845         [4193cec1c6b1]
24846
24847 1996-01-14  Todd C. Miller  <Todd.Miller@courtesan.com>
24848
24849         * INSTALL:
24850         added info on libcrypt_i for SCO
24851         [575497d56698]
24852
24853         * TODO:
24854         *** empty log message ***
24855         [d0aaf67b9913]
24856
24857         * sample.sudoers:
24858         added comments
24859         [a7773f7eda8d]
24860
24861         * TODO:
24862         1.4 release
24863         [1dade29e9fd9]
24864
24865         * CHANGES:
24866         ++version
24867         [67241be40780]
24868
24869         * INSTALL, OPTIONS, README, config.h.in, configure.in:
24870         ++version
24871         [2e0a37897f68]
24872
24873         * BUGS:
24874         ++version and fixed ISC
24875         [78963f01a0e3]
24876
24877         * check.c, compat.h, dce_pwent.c, find_path.c, getspwuid.c, getwd.c,
24878         goodpath.c, ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h,
24879         insults.h, logging.c, options.h, pathnames.h.in, putenv.c, strdup.c,
24880         sudo.c, sudo.h, sudo_setenv.c, testsudoers.c, tgetpass.c, utime.c,
24881         visudo.c:
24882         ++version
24883         [b6227f29b3d9]
24884
24885         * interfaces.c:
24886         added STUB_LOAD_INTERFACES ++version
24887         [d8150a3fd577]
24888
24889         * Makefile.in, emul/utime.h, parse.c, parse.lex, parse.yacc,
24890         version.h:
24891         ++version
24892         [da9e90e69bdc]
24893
24894         * PORTING:
24895         added info about fd_set in tgetpass added info on interfaces.c
24896         [a39902febd17]
24897
24898 1996-01-11  Todd C. Miller  <Todd.Miller@courtesan.com>
24899
24900         * dce_pwent.c:
24901         added sudo header
24902         [fc0f2c48682e]
24903
24904         * tgetpass.c:
24905         fixed a typo
24906         [43d40b72ee8f]
24907
24908         * Makefile.in:
24909         tgetpass.o is now only linked in with sudo (not visudo)
24910         [7407c5ff11f8]
24911
24912 1996-01-09  Todd C. Miller  <Todd.Miller@courtesan.com>
24913
24914         * BUGS, INSTALL, Makefile.in, OPTIONS, README, config.h.in,
24915         configure.in:
24916         ++version
24917         [9b82ad805d6b]
24918
24919         * emul/utime.h:
24920         added copyright notice
24921         [4380f16cd075]
24922
24923         * check.c, compat.h, find_path.c, getspwuid.c, getwd.c, goodpath.c,
24924         ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h, insults.h,
24925         interfaces.c, logging.c, options.h, parse.c, parse.lex, parse.yacc,
24926         pathnames.h.in, putenv.c, strdup.c, sudo.c, sudo.h, sudo_setenv.c,
24927         testsudoers.c, tgetpass.c, utime.c, version.h, visudo.c:
24928         ++version
24929         [32717fdb5d05]
24930
24931         * tgetpass.c:
24932         minor cleanup and now includes sys/bsdtypes for svr4'ish boxen
24933         [326864428da2]
24934
24935         * configure.in:
24936         ISC now gets -lcrypt now check for sys/bsdtypes.h
24937         [e064799c054b]
24938
24939         * config.h.in:
24940         added check for sys/bsdtypes.h
24941         [9adb9533c363]
24942
24943 1996-01-07  Todd C. Miller  <Todd.Miller@courtesan.com>
24944
24945         * parse.yacc:
24946         removed debugging stuff (setting freed ptr to NULL)
24947         [02fe8eec63a0]
24948
24949         * TROUBLESHOOTING:
24950         added 2 entries
24951         [02884e2733e2]
24952
24953         * Makefile.in:
24954         added FAQ
24955         [074d8dfcf28d]
24956
24957         * TROUBLESHOOTING:
24958         added section on syslog
24959         [e6bc02a22b86]
24960
24961         * configure.in:
24962         added AC_ISC_POSIX for better ISC support
24963         [8436b3e12af2]
24964
24965         * config.h.in:
24966         fixed typo
24967         [f1b3922babf4]
24968
24969         * config.h.in:
24970         added define for _POSIX_SOURCE
24971         [ded6d92b34f9]
24972
24973 1996-01-04  Todd C. Miller  <Todd.Miller@courtesan.com>
24974
24975         * configure.in:
24976         fixed check for lsearch()
24977         [75baa5bc28a3]
24978
24979 1995-12-22  Todd C. Miller  <Todd.Miller@courtesan.com>
24980
24981         * interfaces.c:
24982         fixed for AIX now deal if num_interfaces == 0 (should not happen)
24983         [ae450e859227]
24984
24985 1995-12-20  Todd C. Miller  <Todd.Miller@courtesan.com>
24986
24987         * configure.in:
24988         now only define HAVE_LSEARCH if there is a corresponding search.h
24989         [8ce645c5d17f]
24990
24991         * interfaces.c:
24992         works on ISC again
24993         [ccac920d424c]
24994
24995 1995-12-18  Todd C. Miller  <Todd.Miller@courtesan.com>
24996
24997         * configure.in:
24998         now define HAVE_LSEARCH if we find lsearch() in libcompat
24999         [7343e4313a87]
25000
25001         * lsearch.c:
25002         char * -> const char *
25003         [1c0b11c2300a]
25004
25005         * configure.in:
25006         now looks in -lcompat for lsearch()
25007         [a1cc1d6fcd09]
25008
25009         * Makefile.in:
25010         remove sudo.core visudo.core for clan target
25011         [b523456a85df]
25012
25013         * aclocal.m4:
25014         added UID_MAX support in check for MAX_UID_T_LEN
25015         [7ab262b1173f]
25016
25017         * Makefile.in:
25018         fixed another occurence of sudo_getpwuid.*
25019         [fb5809c07da2]
25020
25021         * Makefile.in, getspwuid.c:
25022         sudo_getpwuid.c -> getspwuid.c
25023         [875f2ef808b4]
25024
25025         * configure.in:
25026         moved the "echo"
25027         [ad7b8f966076]
25028
25029         * BUGS, CHANGES, INSTALL, Makefile.in, OPTIONS, README, check.c,
25030         compat.h, config.h.in, configure.in, find_path.c, getspwuid.c,
25031         getwd.c, goodpath.c, ins_2001.h, ins_classic.h, ins_csops.h,
25032         ins_goons.h, insults.h, interfaces.c, logging.c, options.h, parse.c,
25033         parse.lex, parse.yacc, pathnames.h.in, putenv.c, strdup.c, sudo.c,
25034         sudo.h, sudo_setenv.c, testsudoers.c, tgetpass.c, utime.c,
25035         version.h, visudo.c:
25036         ++version
25037         [ee57c6410ffa]
25038
25039         * testsudoers.c:
25040         added group support
25041         [54d8097df8bd]
25042
25043         * sample.sudoers:
25044         added group entry
25045         [50994d31fd49]
25046
25047         * sudoers.man:
25048         documented group support
25049         [0a16707f8fed]
25050
25051         * parse.c, parse.lex, parse.yacc, visudo.c:
25052         added group support
25053         [427218c879c8]
25054
25055 1995-12-15  Todd C. Miller  <Todd.Miller@courtesan.com>
25056
25057         * check.c:
25058         tkfile was too short and overflowed the kerberos realm
25059         [53823a1ff5af]
25060
25061 1995-12-11  Todd C. Miller  <Todd.Miller@courtesan.com>
25062
25063         * sudo.c:
25064         now copy command args directly from Argv
25065         [77408278b6fd]
25066
25067         * sudo.c:
25068         replaced code to copy cmnd_args so that is does not use realloc
25069         since most realloc()'s really stink
25070         [b29a0ff73fb6]
25071
25072 1995-12-08  Todd C. Miller  <Todd.Miller@courtesan.com>
25073
25074         * configure.in:
25075         syslog() fixed in hpux 10.01
25076         [2648e6f0cdb0]
25077
25078 1995-12-06  Todd C. Miller  <Todd.Miller@courtesan.com>
25079
25080         * configure.in:
25081         AC_CHECK_LIB() now sets SUDO_LIBS (and VISUDO_LIBS if appropriate)
25082         [8f108b8d8711]
25083
25084         * configure.in:
25085         better error if cannot find skey incs or libs
25086         [5887662ee9d3]
25087
25088         * aclocal.m4:
25089         now use a temp file for determining max len of uid_t in string form.
25090         the old hacky way broke on netbsd
25091         [b68f470fa9f8]
25092
25093         * sudo.c:
25094         added set of parens and a space
25095         [8a3d4826d022]
25096
25097 1995-12-05  Todd C. Miller  <Todd.Miller@courtesan.com>
25098
25099         * dce_pwent.c:
25100         fixes from Jeff Earickson <jaearick@colby.edu> ,
25101         [bde0f0b756ec]
25102
25103         * check.c:
25104         modified a comment
25105         [e2a97f1afbbe]
25106
25107         * Makefile.in:
25108         fixed up testsudoers target
25109         [d39c4e7bb609]
25110
25111         * configure.in:
25112         DCE changes from Jeff Earickson <jaearick@colby.edu> LIBS ->
25113         SUDO_LIBS and VISUDO_LIBS LDFLAGS -> SUDO_FDFLAGS and VISUDO_LDFLAGS
25114         [da7a1c433828]
25115
25116         * Makefile.in:
25117         LIBS -> SUDO_LIBS , VISUDO_LIBS LDFLAGS -> SUDO_LDFLAGS,
25118         VISUDO_LDFLAGS
25119         [4b69503e8487]
25120
25121 1995-11-28  Todd C. Miller  <Todd.Miller@courtesan.com>
25122
25123         * configure.in:
25124         fix for C2 on hpux 10 now uses -linet if it exists
25125         [8d300112263d]
25126
25127         * check.c:
25128         LONG_SKEY_PROMPT is less of a klusge /
25129         [dcc144abaac3]
25130
25131         * configure.in:
25132         fixed typos w/ dce stuff
25133         [f7dfd6d4e149]
25134
25135         * Makefile.in:
25136         added dce_pwent.c
25137         [79047acdc516]
25138
25139 1995-11-26  Todd C. Miller  <Todd.Miller@courtesan.com>
25140
25141         * INSTALL:
25142         amended section on combining authentication mechanisms
25143         [dc5138c7c716]
25144
25145         * PORTING:
25146         minor updates for 1.3.6
25147         [fe80c13bd994]
25148
25149         * TROUBLESHOOTING:
25150         added 2 more entries
25151         [c7201439a0f5]
25152
25153         * BUGS:
25154         updated for 1.3.6
25155         [979b414d2a2d]
25156
25157         * README:
25158         overhauled
25159         [3af8b60eb594]
25160
25161         * INSTALL:
25162         rewrote for sudo 1.3.6
25163         [b16027b9c726]
25164
25165         * TROUBLESHOOTING:
25166         added 3 entries
25167         [934c9ee3f153]
25168
25169 1995-11-25  Todd C. Miller  <Todd.Miller@courtesan.com>
25170
25171         * find_path.c, getspwuid.c, sudo.c:
25172         added explict casts for strdup since many includes don't prototype
25173         it. gag me.
25174         [3e19a11f2fcc]
25175
25176         * sudo.h:
25177         removed prototype for sudo_getpwuid() since convex C compiler choked
25178         on it.
25179         [c3ea74ca67b0]
25180
25181         * sudo.c:
25182         added prototype for sudo_getpwuid()
25183         [4a8e3cdc2b98]
25184
25185         * lsearch.c:
25186         now compiles on strict ANSI compilers
25187         [3ce5d72d0b08]
25188
25189         * check.c:
25190         added LONG_SKEY_PROMPT support
25191         [48a18b8a2332]
25192
25193         * Makefile.in:
25194         added extra $'s for make to eat up, yum.
25195         [2995b214e12b]
25196
25197         * OPTIONS, options.h:
25198         added LONG_SKEY_PROMPT
25199         [f23ae799b5a4]
25200
25201 1995-11-24  Todd C. Miller  <Todd.Miller@courtesan.com>
25202
25203         * check.c:
25204         s/key support now works with normal s/key as well as logdaemon
25205         [d67573f523bf]
25206
25207         * OPTIONS, options.h:
25208         added SKEY_ONLY
25209         [bbf07654e0de]
25210
25211         * compat.h:
25212         set _PASSWD_LEN to 256 for any of KERB4, DCE, SKEY
25213         [205895b96a36]
25214
25215         * INSTALL:
25216         added DCE note added more AIX notes
25217         [6345403b3522]
25218
25219         * sudo.c:
25220         now include pthread.h for DCE support
25221         [6fe02865f679]
25222
25223         * check.c:
25224         dce_pwent() is ok after all .,
25225         [d26a8746a55d]
25226
25227         * logging.c:
25228         now uses SYSLOG() macro that equates to either syslog() or
25229         syslog_wrapper
25230         [42ac4cff8045]
25231
25232         * dce_pwent.c:
25233         minor formatting changes. renamed check() to somthing less generic
25234         [71859f217be1]
25235
25236         * check.c, logging.c, parse.yacc, sudo.c, sudo.h, testsudoers.c,
25237         visudo.c:
25238         now uses user_pw_ent and simple macros to get at the contents
25239         [f4cbf3e7145a]
25240
25241 1995-11-23  Todd C. Miller  <Todd.Miller@courtesan.com>
25242
25243         * check.c:
25244         simpler dec unix C2 support
25245         [86bc8f75250e]
25246
25247         * getspwuid.c:
25248         now sets crypt_type for DEC unix C2
25249         [99aeadd18266]
25250
25251 1995-11-21  Todd C. Miller  <Todd.Miller@courtesan.com>
25252
25253         * configure.in:
25254         added csops paths for skey
25255         [b8ca672e2117]
25256
25257         * getspwuid.c:
25258         now includes string.h for strdup() prototype
25259         [3605259c3620]
25260
25261         * getspwuid.c:
25262         fixed a few typos
25263         [46c97e4ea417]
25264
25265         * check.c:
25266         now includes skey.h
25267         [11e611ce1b61]
25268
25269         * getspwuid.c:
25270         fixed up comments
25271         [223dac56f0c8]
25272
25273         * check.c:
25274         moved a lot of the shadow passwd crap to sudo_getpwuid()
25275         [97d8887fb7d3]
25276
25277         * sudo.c:
25278         now uses sudo_pw_ent
25279         [d014dadbef48]
25280
25281         * testsudoers.c:
25282         now uses sudo_pw_ent
25283         [d92936ed7e34]
25284
25285         * visudo.c:
25286         now sets sudo_pw_ent
25287         [ff75cdfcf8b3]
25288
25289         * getspwuid.c:
25290         Initial revision
25291         [6deb6df9d7bc]
25292
25293         * tgetpass.c:
25294         moved dce stuff into compat.h
25295         [1124284396e7]
25296
25297         * logging.c, sudo.h:
25298         now uses sudo_pw_ent
25299         [404ff20a5067]
25300
25301         * Makefile.in:
25302         added sudo_getpwuid.c
25303         [6666d0644512]
25304
25305         * compat.h:
25306         added dce support
25307         [3c3b36a7ce0e]
25308
25309         * parse.yacc:
25310         now uses sudo_pw_ent
25311         [9f5e8d11bd68]
25312
25313 1995-11-20  Todd C. Miller  <Todd.Miller@courtesan.com>
25314
25315         * check.c:
25316         fixed exempt_group stuff for OS's that don't put base gid in group
25317         vector
25318         [003f153bd396]
25319
25320         * check.c:
25321         S/Key support now works with sunos4 shadow passwords
25322         [1eb64a5efff1]
25323
25324         * Makefile.in:
25325         fixed clean rule
25326         [5695a2c62816]
25327
25328         * config.h.in, configure.in:
25329         added DCE support
25330         [f53c766c1947]
25331
25332         * tgetpass.c:
25333         DCE & KERB support
25334         [904cf436506a]
25335
25336         * check.c:
25337         first stab at dce support
25338         [aea5ca07b1e3]
25339
25340         * dce_pwent.c:
25341         now smells like sudo
25342         [8b3d609b49cd]
25343
25344         * dce_pwent.c:
25345         Initial revision
25346         [b573555f2399]
25347
25348         * check.c:
25349         skey'd sudo now works w/ normal password as well
25350         [8d038f9f6e94]
25351
25352 1995-11-19  Todd C. Miller  <Todd.Miller@courtesan.com>
25353
25354         * Makefile.in, OPTIONS, check.c, compat.h, config.h.in, find_path.c,
25355         getwd.c, goodpath.c, ins_2001.h, ins_classic.h, ins_csops.h,
25356         ins_goons.h, insults.h, interfaces.c, logging.c, options.h, parse.c,
25357         parse.lex, parse.yacc, pathnames.h.in, putenv.c, strdup.c, sudo.c,
25358         sudo.h, sudo_setenv.c, testsudoers.c, tgetpass.c, utime.c,
25359         version.h, visudo.c:
25360         updated version number
25361         [ba7e346d7904]
25362
25363         * README:
25364         updated to reflect version change
25365         [1d15cf1d8cc8]
25366
25367         * configure.in:
25368         --with options now line up ++version
25369         [08ebf625fbca]
25370
25371         * sudo.h:
25372         removed unecesary S/Key stuff
25373         [68188cba90af]
25374
25375         * configure.in:
25376         fixed S/Key support
25377         [f6d9cbc36618]
25378
25379         * Makefile.in:
25380         -I stuff now goes in CPPFLAGS
25381         [7b8e53c5b046]
25382
25383         * check.c:
25384         fixed SKey support
25385         [52c1a5cf4435]
25386
25387         * README:
25388         updated version
25389         [bed6498a10bb]
25390
25391         * OPTIONS:
25392         fixed description of EXEMPTGROUP
25393         [cfeead55edc2]
25394
25395         * sudo.c:
25396         more people use _RLD_ than just alphas...
25397         [6a3c7090a6f6]
25398
25399         * Makefile.in:
25400         replaced $man_prefix with $mandir
25401         [dc4b36a550e2]
25402
25403         * configure.in:
25404         fixed a typo
25405         [a38a4acddcaf]
25406
25407         * Makefile.in:
25408         now use more GNU'ish dir names
25409         [c5498391a520]
25410
25411         * configure.in:
25412         now set *dir correctly (can override from command line)
25413         [523ff98fd438]
25414
25415         * sudo.c:
25416         now deal with situations where we getwd() fails
25417         [88a9e61dccbb]
25418
25419 1995-11-17  Todd C. Miller  <Todd.Miller@courtesan.com>
25420
25421         * Makefile.in:
25422         added etc_dir, bin_dir, sbin_dir
25423         [75fd08d92842]
25424
25425         * configure.in:
25426         added sbin_dir
25427         [3cb318c0d8d1]
25428
25429         * Makefile.in:
25430         now ship a flex-generated lex.yy.c
25431         [4d083ed70dce]
25432
25433         * Makefile.in:
25434         now sets _PATH_SUDO_SUDOERS, _PATH_SUDO_STMP, SUDOERS_OWNER
25435         [4d51dc9c3780]
25436
25437         * pathnames.h.in:
25438         _PATH_SUDO_SUDOERS & _PATH_SUDO_STMP are now overridden via Makefile
25439         [773fd163d52f]
25440
25441         * options.h:
25442         no more error for redefining SUDOERS_OWNER
25443         [4ba336644c6a]
25444
25445         * OPTIONS:
25446         expanded SUDOERS_OWNER section
25447         [12fae405759e]
25448
25449 1995-11-16  Todd C. Miller  <Todd.Miller@courtesan.com>
25450
25451         * visudo.c:
25452         now warn if chown(2) failed
25453         [d0d1db6e3a1f]
25454
25455         * logging.c:
25456         better default warning for NO_SUDOERS_FILE
25457         [5260b458ac64]
25458
25459         * sudo.c:
25460         added missing set_perms() no more cryptic message if the sudoers
25461         file is zero length, now just give a parse error
25462         [b81ea724838a]
25463
25464         * logging.c:
25465         better diagnostics if NO_SUDOERS_FILE
25466         [877e878663c5]
25467
25468         * sudo.c:
25469         check_sudoers() now catches sudoers files that are not readable (but
25470         are stat'able).
25471         [fea05663b3de]
25472
25473 1995-11-13  Todd C. Miller  <Todd.Miller@courtesan.com>
25474
25475         * configure.in:
25476         now add -D__STDC__ for convex cc (not gcc)
25477         [c80fc53ff51b]
25478
25479         * configure.in:
25480         MAN_PREFIX -> man_prefix now sets prefix and exec_prefix
25481         [fe238226a057]
25482
25483         * Makefile.in:
25484         now uses exec_prefix & prefix from configure
25485         [f62fca5f56bd]
25486
25487         * find_path.c, getwd.c, goodpath.c, interfaces.c, logging.c, parse.c,
25488         parse.lex, parse.yacc, sudo.c, sudo.h, sudo_setenv.c, tgetpass.c,
25489         utime.c, visudo.c:
25490         options.h is now <> instead of "" so shadow build trees can have a
25491         custom copy of options.h
25492         [e6782676099c]
25493
25494         * check.c:
25495         user_is_exempt() is no longer a hack, it now uses getgrnam()
25496         [287f8d5356f7]
25497
25498         * options.h:
25499         EXEMPTGROUP is now "sudo"
25500         [61487304dbe1]
25501
25502         * configure.in:
25503         MAN_POSTINSTALL now contains a leading space
25504         [eaad4ac34012]
25505
25506         * Makefile.in:
25507         removed leading tab if @MAN_POSTINSTALL@ not defined now removes
25508         testsudoers in clean:
25509         [e01711baceb8]
25510
25511         * tgetpass.c:
25512         includes pwd.h to get _PASSWD_LEN definition
25513         [8ec174f263f1]
25514
25515 1995-10-30  Todd C. Miller  <Todd.Miller@courtesan.com>
25516
25517         * sudo.c:
25518         unset the KRB_CONF envariable if using kerberos so we don't get
25519         spoofed into using a bogus server
25520         [2561a0274fca]
25521
25522 1995-09-29  Todd C. Miller  <Todd.Miller@courtesan.com>
25523
25524         * parse.yacc:
25525         now explicately initialize match[] tp be FALSE
25526         [0e45e5c47766]
25527
25528 1995-09-23  Todd C. Miller  <Todd.Miller@courtesan.com>
25529
25530         * sudo.c:
25531         removed unused variable now passes -Wall
25532         [3452508bc16d]
25533
25534         * parse.yacc:
25535         yyerror and dumpaliases are now void's now passes -Wall
25536         [2769dfb51993]
25537
25538         * parse.lex:
25539         added prototype for yyerror
25540         [1f3f0c1b4ab4]
25541
25542         * check.c, logging.c, parse.c:
25543         now passes -Wall
25544         [eab57e5e81d2]
25545
25546         * interfaces.c:
25547         rmeoved unused cruft now passes -Wall
25548         [7a47e1866f4b]
25549
25550         * Makefile.in:
25551         fixed headers that moved to emul dir
25552         [e680c1e5049b]
25553
25554         * logging.c:
25555         fixed deref of nil pointer if no args
25556         [973b9bea432f]
25557
25558 1995-09-15  Todd C. Miller  <Todd.Miller@courtesan.com>
25559
25560         * OPTIONS:
25561         added a caveat to FQDN section
25562         [dcf6e2a5fff4]
25563
25564 1995-09-13  Todd C. Miller  <Todd.Miller@courtesan.com>
25565
25566         * Makefile.in:
25567         more $srcdir support for install targets
25568         [f6eac78436dd]
25569
25570         * find_path.c, interfaces.c, parse.c, parse.lex, parse.yacc, putenv.c,
25571         strdup.c, sudo.c, sudo_setenv.c, testsudoers.c, visudo.c:
25572         don't include malloc.h if we include stdlib.h
25573         [fca2ff307cd8]
25574
25575         * parse.yacc:
25576         local search.h now lives in emul
25577         [51c458904424]
25578
25579         * check.c, utime.c:
25580         local utime.h now lives in emul dir
25581         [f92fc9e8c8de]
25582
25583         * lsearch.c:
25584         local search.h now lives in emul
25585         [579efc407439]
25586
25587         * Makefile.in:
25588         added support for building in other than the sourcedir
25589         [2ab53a43f7d4]
25590
25591 1995-09-10  Todd C. Miller  <Todd.Miller@courtesan.com>
25592
25593         * OPTIONS:
25594         annotated CSOPS_INSULTS option
25595         [9e57d45a0afa]
25596
25597         * TROUBLESHOOTING:
25598         updated shadow passwords blurb
25599         [39b785bc7253]
25600
25601         * sudo.c:
25602         if SHELL_IF_NO_ARGS is set, "sudo -- foo" now runs a shell and
25603         passes along foo as the arguments
25604         [a91077aa8fc5]
25605
25606 1995-09-09  Todd C. Miller  <Todd.Miller@courtesan.com>
25607
25608         * parse.lex:
25609         collapsed pathname and dir sections into one -- its now less
25610         expensive
25611         [89caa03bec25]
25612
25613         * parse.lex:
25614         fixed spacing quoting [,:\\=] now works correctly append() and
25615         fill() now take args to make the above work
25616         [09d023d9ef3a]
25617
25618         * sudo.c:
25619         fixed a typo that caused commands with no tty on fd 0 but a tty on
25620         fd 1 to erroneously have "none" as their tty
25621         [07d2c0e7977c]
25622
25623 1995-09-04  Todd C. Miller  <Todd.Miller@courtesan.com>
25624
25625         * check.c:
25626         timestampfile is now a global static removed decl of timestampfile
25627         in remove_timestamp since we can just use the global one
25628         [f0cbdc6aab1c]
25629
25630         * check.c:
25631         created touch() to update timestamps added USE_TTY_TICKETS support
25632         (bit of a kludge)
25633         [cee1dd0318f8]
25634
25635         * compat.h:
25636         added _S_IFDIR and S_ISDIR
25637         [b4a51cc9628e]
25638
25639         * OPTIONS, options.h:
25640         added USE_TTY_TICKETS
25641         [b4e22f81f25e]
25642
25643         * parse.yacc:
25644         removed const from casts for lsearch() & lfind() to placate irix 4.x
25645         C compiler
25646         [5003081f76ea]
25647
25648 1995-09-03  Todd C. Miller  <Todd.Miller@courtesan.com>
25649
25650         * sudo.c:
25651         now only strip '/dev/' off of a tty if it starts with '/dev/'
25652         [7f62bcd24039]
25653
25654         * pathnames.h.in:
25655         added _PATH_DEV
25656         [6375f44d1910]
25657
25658         * configure.in:
25659         AC_HAVE_HEADERS -> AC_CHECK_HEADERS now check for tcgetattr only if
25660         have termios.h
25661         [9c60391235fd]
25662
25663         * tgetpass.c:
25664         fixed incorrect #ifdef termio uses "unsigned short" not int for
25665         c_?flag
25666         [d032e6a29845]
25667
25668         * parse.lex, parse.yacc:
25669         fixed a spelling error
25670         [cad6a944c7b1]
25671
25672         * Makefile.in:
25673         fixed typo
25674         [204a65403e7c]
25675
25676 1995-09-02  Todd C. Miller  <Todd.Miller@courtesan.com>
25677
25678         * Makefile.in:
25679         fixed a comment
25680         [268f760e57ad]
25681
25682         * parse.yacc:
25683         added dotcat() to cat 2 strings w/ a dot effeciently now that we
25684         dynamically allocate strings they need to be free()'d
25685         [ec2e2152f415]
25686
25687         * parse.lex:
25688         dynamically allocates space for strings
25689         [d10ac3533d66]
25690
25691         * sudo.h:
25692         no more MAXCOMMANDLENGTH
25693         [e2e1219bff8a]
25694
25695         * sudo.h:
25696         added decl of tty
25697         [c8ae81303ee5]
25698
25699         * logging.c, sudo.c:
25700         moved tty stuff into sudo.c
25701         [e028abefeb07]
25702
25703 1995-09-01  Todd C. Miller  <Todd.Miller@courtesan.com>
25704
25705         * parse.c:
25706         fixed a logic bug. Was denying a command if user gave command line
25707         args but there were none in the sudoers file which is wrong.
25708         [7489a99b8e8a]
25709
25710         * sudo.h:
25711         MAXCOMMMANDLEN dropped down to 1K
25712         [38ef54ba290b]
25713
25714         * parse.lex:
25715         return foo; -> return(foo);
25716         [0e8be1b57001]
25717
25718         * parse.yacc:
25719         fixed netgr_matches() prototype
25720         [e69f15910464]
25721
25722         * parse.lex:
25723         added support for escaping "termination" characters
25724         [8bd4ef50f35c]
25725
25726         * parse.c:
25727         buf is now of size MAXPATHLEN+1 since it never holds command args
25728         [2ce4b763058c]
25729
25730         * sudo.c:
25731         fixed comments
25732         [0c74a3d2ebb0]
25733
25734         * goodpath.c:
25735         fixed negation problem (doh!)
25736         [782814e3a2d1]
25737
25738         * parse.yacc:
25739         fixed 2nd parameter to lfind()
25740         [63d7b1623c08]
25741
25742         * parse.lex:
25743         now do bounds checking in fill() and append()
25744         [54381b563251]
25745
25746         * sudo.c:
25747         include netdb.h as we should added a missing void cast added
25748         SHELL_IF_NO_ARGS support now use realloc() properly. would fail if
25749         realloc actually moved the string instead of shrinking it
25750         [897ccdec9c06]
25751
25752         * sample.sudoers:
25753         updated with examples of new features
25754         [9b3ed00e8aa6]
25755
25756         * goodpath.c:
25757         now set errno to EACCES if not a regular file or not executable
25758         [2d069548a5ea]
25759
25760         * find_path.c:
25761         if given a fully-qualified or relative path we now check it with
25762         sudo_goodpath() and error out with the appropriate error message if
25763         the file does not exist or is not executable
25764         [590f89dd8dec]
25765
25766         * emul/search.h, lsearch.c:
25767         now use correct args for lfind
25768         [fccdcdbf020e]
25769
25770         * logging.c:
25771         added a comment
25772         [fab9f49708ea]
25773
25774         * insults.h:
25775         added in CSOps insults
25776         [ad8eb1862adc]
25777
25778         * ins_csops.h:
25779         Initial revision
25780         [de5a475ec018]
25781
25782         * tgetpass.c:
25783         added RCS id
25784         [c3ffd550a482]
25785
25786         * sudo.h:
25787         increased MAXCOMMANDLENGTH to 8k HAVE_GETCWD -> HAVE_GETWD
25788         [aba25c90d08a]
25789
25790         * OPTIONS:
25791         added CLASSIC_INSULTS, CSOPS_INSULTS, SHELL_IF_NO_ARGS
25792         [e27bd62e9ccf]
25793
25794         * sudo.c:
25795         fixed -k load_interfaces() now gets called if FQDN is set
25796         -p now works with -s
25797         [07ca2a34bae8]
25798
25799         * parse.c:
25800         don't try to stat() "pseudo commands" like "validate"
25801         [75527045984b]
25802
25803         * options.h:
25804         added CLASSIC_INSULTS added CSOPS_INSULTS added SHELL_IF_NO_ARGS
25805         [07b157a0eafd]
25806
25807         * configure.in:
25808         added SecurID support added other insults to --with-csops
25809         [6c992ceb244c]
25810
25811         * config.h.in:
25812         added HAVE_SECURID
25813         [e734ff617fe8]
25814
25815         * Makefile.in:
25816         added clobber target added ins_csops.h now gets CFLAGS from
25817         configure
25818         [d1e29c7cec25]
25819
25820         * aclocal.m4:
25821         relaxed SUDO_FULL_VOID
25822         [fb4084f27406]
25823
25824         * visudo.c:
25825         function comment blocks are now in same style as rest of code
25826         [04a2931354c5]
25827
25828         * testsudoers.c:
25829         added support for command line args in /etc/sudoers
25830         [bfe4e1bcc655]
25831
25832         * sudoers.man:
25833         updated to have command args in the sudoers file
25834         [1cd34355e9ea]
25835
25836         * sudo.man:
25837         added -s and -- flags added SHELL to ENVIRONMENT VARIABLES section
25838         [930b48023b68]
25839
25840 1995-08-19  Todd C. Miller  <Todd.Miller@courtesan.com>
25841
25842         * parse.yacc:
25843         PATH renamed to COMMAND
25844         [4e109a6de3cd]
25845
25846         * parse.lex:
25847         it is now a parse error for directories to have args attached to
25848         them
25849         [2ab10a146b54]
25850
25851         * logging.c:
25852         now say command args if telling user to buzz off
25853         [933de26ded8b]
25854
25855         * sudo.c:
25856         -s no longer indicates end of args sped up loading on cmnd_args in
25857         load_cmnd()
25858         [eac99a4da862]
25859
25860         * parse.c:
25861         removed an unreachable statement
25862         [634302623c49]
25863
25864         * parse.lex:
25865         made more efficient by pulling out the terminators when in GOTCMND
25866         state and making them their own rule
25867         [80798f1e1166]
25868
25869 1995-08-14  Todd C. Miller  <Todd.Miller@courtesan.com>
25870
25871         * sudo.h:
25872         removed MAXLOGLEN since it is no longer used
25873         [102824196b71]
25874
25875         * parse.lex:
25876         now allows command args
25877         [d29dfa1e5254]
25878
25879         * parse.c:
25880         now groks command arguments
25881         [6c414cb7f105]
25882
25883         * logging.c:
25884         now sets tty correctly when piped input
25885         [de46a30c0406]
25886
25887         * sudo.c:
25888         fixed loading of cmnd_args (was including command name too)
25889         [15319a425ea6]
25890
25891         * logging.c:
25892         fixed a core dump due to incorrect if construct
25893         [582363c7d7fa]
25894
25895 1995-08-13  Todd C. Miller  <Todd.Miller@courtesan.com>
25896
25897         * configure.in:
25898         only add -lsun is irix < 5 don't look for -lnsl or -lsocket if irix
25899         [da591fe9b931]
25900
25901         * aclocal.m4:
25902         fixed check for ISC
25903         [52e59f2082a7]
25904
25905         * sudo.c:
25906         now sets cmnd_args used by log_error() and that will be used by the
25907         parse to check against command args
25908         [c6804389723b]
25909
25910         * sudo.h:
25911         added cmnd_args
25912         [4d00446b4a8d]
25913
25914         * logging.c:
25915         now dynamically allocate logline since we can guess at its size
25916         [4bed8c8446aa]
25917
25918 1995-08-05  Todd C. Miller  <Todd.Miller@courtesan.com>
25919
25920         * logging.c:
25921         cleaned up a bunch of unnecesary #ifdef's eliminated a buffer remove
25922         "register" since the compiler knows more than I do now do a
25923         "basename" of the tty
25924         [3b1bbf0b3da1]
25925
25926 1995-07-31  Todd C. Miller  <Todd.Miller@courtesan.com>
25927
25928         * configure.in:
25929         ++version
25930         [5ce552f9a5f1]
25931
25932         * sudo.h:
25933         added shell extern changed MODE_* to be bit masks to allow for
25934         several options together
25935         [06f9dc4f400c]
25936
25937         * sudo.c:
25938         added -s (shell) option made MODE_* masks so we can do bitwise & and
25939         | to see if multiple flags are set.
25940         [01f8143010ad]
25941
25942         * check.c:
25943         added securid support
25944         [909e078005fe]
25945
25946 1995-07-30  Todd C. Miller  <Todd.Miller@courtesan.com>
25947
25948         * logging.c:
25949         removed a bunch of unnecesary strncpy()'s and replaced with strcat()
25950         [644506b57d61]
25951
25952 1995-07-29  Todd C. Miller  <Todd.Miller@courtesan.com>
25953
25954         * Makefile.in, version.h:
25955         ++version
25956         [3cd6f1fbc3d9]
25957
25958 1995-07-27  Todd C. Miller  <Todd.Miller@courtesan.com>
25959
25960         * parse.yacc:
25961         fixed free() of an uninitialized pointer (yuck)
25962         [8c404ee502ee]
25963
25964         * testsudoers.c:
25965         added netgr_matches
25966         [e7c9fa2f774c]
25967
25968         * parse.c:
25969         cleaned up netgr_matches
25970         [8108f00b810e]
25971
25972 1995-07-26  Todd C. Miller  <Todd.Miller@courtesan.com>
25973
25974         * RUNSON:
25975         updated for 1.3.4
25976         [4741704310a1]
25977
25978 1995-07-25  Todd C. Miller  <Todd.Miller@courtesan.com>
25979
25980         * Makefile.in:
25981         now installs sudoers.man -- really should clean this up though.
25982         [455631d45a1d]
25983
25984         * Makefile.in:
25985         added sudoers.cat and sudoers.man
25986         [0bdedd6c7363]
25987
25988         * sudo.man:
25989         pulled out stuff on the sudoers file format into a separate man page
25990         [de215d999cb9]
25991
25992         * sudoers.man:
25993         Initial revision
25994         [f25eafbb7095]
25995
25996         * HISTORY:
25997         fixed up my email address
25998         [254fbf80be74]
25999
26000         * configure.in:
26001         added checks for innetgr and getdomainname
26002         [24a99cb7e97e]
26003
26004         * visudo.c:
26005         added dummy netgr_matches function
26006         [1841ff2c01da]
26007
26008         * parse.c:
26009         added netgr_matches
26010         [ec90db6a97b8]
26011
26012         * parse.lex, parse.yacc:
26013         added NETGROUP support
26014         [c9dd93e3bc4b]
26015
26016         * config.h.in:
26017         added HAVE_INNETGR & HAVE_GETDOMAINNAME
26018         [14abd494d875]
26019
26020 1995-07-24  Todd C. Miller  <Todd.Miller@courtesan.com>
26021
26022         * sudo.c:
26023         rewrote clean_env() that has rm_env() builtin
26024         [55cb43818a95]
26025
26026 1995-07-23  Todd C. Miller  <Todd.Miller@courtesan.com>
26027
26028         * check.c:
26029         now cast uid to long in sprintf
26030         [b549eea40aeb]
26031
26032         * OPTIONS:
26033         added _INSULTS suffix to HAL & GOONS end
26034         [ed620d0aad30]
26035
26036         * options.h:
26037         added _INSULTS suffix to HAL & GOONS
26038         [9f72e9b83afd]
26039
26040         * ins_2001.h, ins_classic.h, ins_goons.h, insults.h:
26041         converted to new scheme of insult "unions" end
26042         [2f6d2b412132]
26043
26044         * sudo.c:
26045         now uses MAX_UID_T_LEN
26046         [c1df79e0f389]
26047
26048         * configure.in:
26049         added SUDO_UID_T_LEN !l
26050         [195f0b9f5f84]
26051
26052         * config.h.in:
26053         added MAX_UID_T_LEN
26054         [73f42ae4f14d]
26055
26056         * check.c:
26057         now use MAX_UID_T_LEN
26058         [df9c063234cb]
26059
26060         * aclocal.m4:
26061         added check for max len of uid_t fixed sco vs. isc check
26062         [d558f36d2223]
26063
26064 1995-07-19  Todd C. Miller  <Todd.Miller@courtesan.com>
26065
26066         * configure.in:
26067         corrected version
26068         [828dd1571e86]
26069
26070         * configure.in:
26071         added sco support
26072         [af1e2f616638]
26073
26074         * aclocal.m4:
26075         hack to check for sco
26076         [549ab99a9a43]
26077
26078         * interfaces.c:
26079         removed #include <net/route.h> since it was hosing some OS's
26080         [ac78a7c04005]
26081
26082 1995-07-18  Todd C. Miller  <Todd.Miller@courtesan.com>
26083
26084         * find_path.c:
26085         fixed prreadlink() prototype
26086         [b380fe1f2b11]
26087
26088         * check.c:
26089         added parens in #if's
26090         [e96ade691b82]
26091
26092         * configure.in:
26093         added SPW_ prefix
26094         [a302683a1483]
26095
26096         * sudo.h:
26097         moved SPW_* to config.h.in
26098         [6b3be70e34cf]
26099
26100         * sudo.c:
26101         added a set of parens
26102         [8188d735d695]
26103
26104         * config.h.in:
26105         added SPW_*
26106         [5ead6371cf60]
26107
26108         * sudo.h:
26109         added SPW_* reordered error codes
26110         [dead25b4ed0a]
26111
26112         * check.c:
26113         moved SPW_* to sudo.h
26114         [ca51fb04caf4]
26115
26116 1995-07-17  Todd C. Miller  <Todd.Miller@courtesan.com>
26117
26118         * sudo.c:
26119         SPW_AUTH -> SPW_SECUREWARE
26120         [6b512b2bc5dc]
26121
26122         * logging.c:
26123         GLOBAL_NO_AUTH_ENT -> GLOBAL_NO_SPW_ENT
26124         [defdd0944e2f]
26125
26126         * configure.in:
26127         AUTH -> SECUREWARE
26128         [d1f8a17001dd]
26129
26130         * check.c:
26131         SPW_AUTH -> SPW_SECUREWARE
26132         [af0e8d8b89b2]
26133
26134         * check.c:
26135         now uses SHADOW_TYPE to make shadow pw support more readable and
26136         modular. It's a start...
26137         [8c2a59667014]
26138
26139         * configure.in:
26140         added autodetection of shadow passwords
26141         [85f81fa54b1b]
26142
26143         * sudo.c:
26144         now uses SHADOW_TYPE define
26145         [355e5dc09b07]
26146
26147         * config.h.in:
26148         added SHADOW_TYPE which replaces SUNOS4 & __svr4__ defines
26149         [c0c06e83e483]
26150
26151         * aclocal.m4:
26152         added SUDO_CHECK_SHADOW
26153         [464301301639]
26154
26155 1995-07-12  Todd C. Miller  <Todd.Miller@courtesan.com>
26156
26157         * configure.in:
26158         define SVR4 for ISC define BROKEN_SYSLOG for hpux took out test for
26159         memmove() since we dno longer use it...
26160         [8aefa87d7d31]
26161
26162         * CHANGES:
26163         updated
26164         [ce97b3fd7182]
26165
26166         * logging.c:
26167         added BROKEN_SYSLOG support
26168         [a45c3bca36f6]
26169
26170         * config.h.in:
26171         added BROKEN_SYSLOG
26172         [6f6abf0a6268]
26173
26174         * check.c:
26175         now only bitch it timestamp > time_now + 2 * timeout to allow for a
26176         machine udpating its time from a server
26177         [546bc8d35325]
26178
26179         * sudo.man:
26180         added 2 security notes updated Nieusma's email addr
26181         [616756c56977]
26182
26183         * lsearch.c:
26184         changed a memmove() to memcpy() since we don't have to worry about
26185         overlapping segments.
26186         [30baa478526b]
26187
26188 1995-07-11  Todd C. Miller  <Todd.Miller@courtesan.com>
26189
26190         * interfaces.c:
26191         cleanup up the loop when interfaces are groped in so that it is
26192         readable
26193         [1fa39446bd69]
26194
26195         * Makefile.in, version.h:
26196         ++version
26197         [b46bd2b1770f]
26198
26199 1995-07-09  Todd C. Miller  <Todd.Miller@courtesan.com>
26200
26201         * CHANGES:
26202         annotated 124-126
26203         [b82a2b3ec7ce]
26204
26205 1995-07-07  Todd C. Miller  <Todd.Miller@courtesan.com>
26206
26207         * check.c:
26208         fixed permissions check on /tmp/.odus
26209         [cc2431a65468]
26210
26211 1995-07-06  Todd C. Miller  <Todd.Miller@courtesan.com>
26212
26213         * check.c:
26214         fixed some comments
26215         [8896d09b4fda]
26216
26217         * check.c:
26218         now checks owner & mode of timedir also checks for bogus dates on
26219         timestamp file
26220         [a0fad5df5b0a]
26221
26222         * OPTIONS:
26223         updated TIMEOUT info
26224         [033cc22d9e04]
26225
26226         * logging.c, sudo.h:
26227         added BAD_STAMPDIR and BAD_STAMPFILE
26228         [31d9ce691101]
26229
26230         * compat.h:
26231         added definition of S_IRWXU
26232         [ff2dab091a9b]
26233
26234         * CHANGES:
26235         updated
26236         [a40df90284f1]
26237
26238 1995-07-03  Todd C. Miller  <Todd.Miller@courtesan.com>
26239
26240         * interfaces.c:
26241         added #ifdef to make it compile on strange arches
26242         [4a127f12afce]
26243
26244 1995-07-02  Todd C. Miller  <Todd.Miller@courtesan.com>
26245
26246         * aclocal.m4:
26247         fixed check for fulkl void impl.
26248         [b6f2a4a361d8]
26249
26250         * check.c:
26251         added mssing "static"
26252         [520552f2772b]
26253
26254         * insults.h:
26255         replaced #elif with #else #if constructs for ancient C compilers
26256         [39ab2d365b57]
26257
26258         * INSTALL:
26259         updated irix c2 & kerb5 info
26260         [ae79b99b4905]
26261
26262         * configure.in:
26263         added shadow pw support for irix
26264         [632469d9c528]
26265
26266 1995-07-01  Todd C. Miller  <Todd.Miller@courtesan.com>
26267
26268         * BUGS, TODO:
26269         updated
26270         [2a96bb18ac30]
26271
26272         * CHANGES:
26273         last changes for sudo 1.3.3
26274         [c1c0cd1034b8]
26275
26276         * configure.in:
26277         now calls SUDO_SOCK_SA_LEN
26278         [14ea78159d45]
26279
26280         * config.h.in:
26281         added HAVE_SA_LEN
26282         [cc2a346aa905]
26283
26284         * aclocal.m4:
26285         added SUDO_SOCK_SA_LEN
26286         [456a2025644a]
26287
26288         * interfaces.c:
26289         now works with ip implementations that use sa_len in sockaddr
26290         [90be6e028077]
26291
26292         * INSTALL:
26293         added note about buggy AIX compiler
26294         [c0f6d427e4e4]
26295
26296         * interfaces.c:
26297         now include sys/time.h for AIX
26298         [2510858ab38b]
26299
26300 1995-06-28  Todd C. Miller  <Todd.Miller@courtesan.com>
26301
26302         * Makefile.in:
26303         getcwd -> getwd
26304         [66085ebca98e]
26305
26306         * interfaces.c:
26307         now works for ISC and others. yay.
26308         [f336d4ffc927]
26309
26310 1995-06-26  Todd C. Miller  <Todd.Miller@courtesan.com>
26311
26312         * Makefile.in, version.h:
26313         version++
26314         [836cffc2078d]
26315
26316 1995-06-23  Todd C. Miller  <Todd.Miller@courtesan.com>
26317
26318         * aclocal.m4:
26319         fixed test for full void impl
26320         [fb004107e7b9]
26321
26322         * sudo.c:
26323         now check to see that st_dev is non-zero before assuming that we are
26324         being spoofed
26325         [1b0e1c30c506]
26326
26327 1995-06-20  Todd C. Miller  <Todd.Miller@courtesan.com>
26328
26329         * aclocal.m4, configure.in:
26330         SUDO_FUNC_UTIME_NULL -> AC_FUNC_UTIME_NULL
26331         [4953379bfb01]
26332
26333 1995-06-19  Todd C. Miller  <Todd.Miller@courtesan.com>
26334
26335         * aclocal.m4:
26336         fixed include file order for SUDO_FUNC_UTIME_POSIX
26337         [ff64ab7df44f]
26338
26339         * logging.c:
26340         added cast for ttyname()
26341         [444f05f56758]
26342
26343         * configure.in:
26344         fixed typo
26345         [de068e748431]
26346
26347         * check.c:
26348         now deal correctly with all known variation of utime() -- yippe
26349         [b778a4195a89]
26350
26351         * configure.in:
26352         added SUDO_FUNC_UTIME_POSIX
26353         [cf635f2269d6]
26354
26355         * aclocal.m4:
26356         added SUDO_FUNC_UTIME_NULL and SUDO_FUNC_UTIME_POSIX
26357         [d79593be4b73]
26358
26359         * config.h.in:
26360         added HAVE_UTIME_POSIX
26361         [c67b4ac0dca5]
26362
26363         * check.c:
26364         fixed a typo
26365         [b14df5680f59]
26366
26367         * check.c:
26368         no longer assume !HAVE_UTIME_NULL means old BSD utime()
26369         [0aeaf4b2f38b]
26370
26371         * check.c:
26372         fixed fascist C compiler warning
26373         [c61ddf2f1f93]
26374
26375         * interfaces.c:
26376         now set strioctl.ic_timout in STRSET() now initialize num_interfaces
26377         to 0 (just to be anal)
26378         [c54cc2ba0052]
26379
26380 1995-06-18  Todd C. Miller  <Todd.Miller@courtesan.com>
26381
26382         * sudo.h:
26383         increaed MAXLOGLEN by MAXPATHLEN to account for ttyname
26384         [74cf585a54fb]
26385
26386         * logging.c:
26387         added tty logging
26388         [e27d8dcfbd78]
26389
26390         * interfaces.c:
26391         reworked the ISC code
26392         [bcf57ce8ae69]
26393
26394         * Makefile.in, version.h:
26395         updated version
26396         [032941c9b94d]
26397
26398         * check.c:
26399         now expect old-style utime(3) if utime() can't take NULL as an arg
26400         [018dd4a73030]
26401
26402         * configure.in:
26403         added check for utime.h
26404         [0b76e8feb618]
26405
26406         * config.h.in:
26407         added HAVE_UTIME_H
26408         [62ee42feda46]
26409
26410         * Makefile.in:
26411         added CPPFLAGS STATIC_FLAGS -> LDFLAGS
26412         [fa3201d294e1]
26413
26414         * configure.in:
26415         now search for kerb libs and includes
26416         [cc332401e571]
26417
26418         * check.c:
26419         added support for utime(2)'s that can't take a NULL parameter
26420         [98797fedf69f]
26421
26422         * utime.c:
26423         moved HAVE_UTIME_NULL stuff to update_timestamp() where t belongs
26424         [6ce6d825fb44]
26425
26426         * configure.in:
26427         added utime(s) stuff
26428         [a2afb744403e]
26429
26430         * check.c:
26431         now use utime()
26432         [48902240a51e]
26433
26434         * config.h.in:
26435         added HAVE_UTIME and HAVE_UTIME_NULL
26436         [9a56ab65d4f4]
26437
26438 1995-06-17  Todd C. Miller  <Todd.Miller@courtesan.com>
26439
26440         * utime.c:
26441         now use HAVE_UTIME_NULL
26442         [e3944de09a92]
26443
26444         * emul/utime.h, utime.c:
26445         Initial revision
26446         [a2cbf2ef3427]
26447
26448         * check.c:
26449         need to setuid(0) to make kerb4 stuff work.
26450         [c6cfda4039d7]
26451
26452         * tgetpass.c:
26453         no more special case for kerberos
26454         [4a5c33145be9]
26455
26456         * config.h.in:
26457         took out setreuid and setresuid stuff added kerb5 stuff (use kerb4
26458         emulation)
26459         [a607ee43e650]
26460
26461         * compat.h:
26462         no longer need setreuid() emulation now set _PASSWD_LEN to 128 if
26463         kerberos
26464         [02fb274cc136]
26465
26466         * check.c:
26467         now use private ticket file for kerberos support to avoid trouncing
26468         on system one
26469         [28d8b6b812c7]
26470
26471 1995-06-15  Todd C. Miller  <Todd.Miller@courtesan.com>
26472
26473         * sudo.h:
26474         added SPOOF_ATTEMPT & cmnd_st
26475         [d3b42a1f4d0d]
26476
26477         * sudo.c:
26478         added anti-spoofing support
26479         [ab1e2aa44a57]
26480
26481         * parse.c:
26482         now use global cmnd_st
26483         [47018265a1a6]
26484
26485         * logging.c:
26486         added SPOOF_ATTEMPT suypport
26487         [7bbe9dd2a021]
26488
26489         * testsudoers.c, visudo.c:
26490         added void casts where appropriate
26491         [f191441ba333]
26492
26493         * parse.yacc:
26494         fixed up spacing and added void casts where appropriate
26495         [15d886fc809c]
26496
26497         * sudo.c:
26498         fixed problem with "-p prompt" but no args
26499         [6fc048261a3e]
26500
26501 1995-06-14  Todd C. Miller  <Todd.Miller@courtesan.com>
26502
26503         * sudo.man:
26504         added BUGS and annotated -l description
26505         [e5c506de2603]
26506
26507         * sudo.h:
26508         validate() now takes a flag
26509         [26627becc60a]
26510
26511         * sudo.c:
26512         validate() now takes a flag added -l
26513         [a4f7bb97fe54]
26514
26515         * parse.yacc:
26516         added support for -l
26517         [e7a9b10b0ad3]
26518
26519         * parse.c:
26520         validate() now takes a flag that says whether or not to check the
26521         command
26522         [9e1e67f4e281]
26523
26524 1995-06-08  Todd C. Miller  <Todd.Miller@courtesan.com>
26525
26526         * logging.c:
26527         now deals with Argv == 1
26528         [0acb637ab635]
26529
26530         * sudo.man:
26531         added -p option
26532         [e60382fc0561]
26533
26534         * sudo.c:
26535         added prompt support reworked parse_args()
26536         [2f605267ed4a]
26537
26538         * sudo.h:
26539         added prompt
26540         [5ab021bdb419]
26541
26542         * options.h:
26543         added PASSPROMPT
26544         [614727ff44a2]
26545
26546         * check.c:
26547         now use BUFSIZ as length of kerb password added kpass so pass is
26548         always a char * now use prompt global when asking for a password
26549         [76be09af784f]
26550
26551         * tgetpass.c:
26552         now use BUFSIZ as _PASSWD_LEN if using kerberos
26553         [1e907eed312b]
26554
26555         * OPTIONS:
26556         added PASSPROMPT
26557         [ddb2f405ce40]
26558
26559 1995-06-07  Todd C. Miller  <Todd.Miller@courtesan.com>
26560
26561         * configure.in:
26562         only look for -lufc or -lcrypt if crypt() not in libc
26563         [9717d315661f]
26564
26565         * check.c:
26566         don't exit on kerb error, just warn if k_errno == KDC_PR_UNKNOWN
26567         (unknown user) silently fail
26568         [2b48693d4ee9]
26569
26570         * INSTALL:
26571         added kerb4 note
26572         [986e393f740c]
26573
26574         * tgetpass.c:
26575         HAVE_KERBEROS -> HAVE_KERB4
26576         [e438bfb5e6aa]
26577
26578         * check.c:
26579         removed debugging printf
26580         [1cf9f5cbffa5]
26581
26582         * configure.in:
26583         KERBEROS -> KERB4 added checks for setreuid & setresuid
26584         [01e9945beb1e]
26585
26586         * config.h.in:
26587         HAVE_KERBEROS -> HAVE_KERB4 added HAVE_SETREUID and HAVE_SETRESUID
26588         [0e0bb5b8ac3e]
26589
26590         * compat.h:
26591         added deif of UID_NO_CHANGE & GID_NO_CHANGE added setreuid emulation
26592         with setresuid if applic
26593         [9dae24c47696]
26594
26595         * check.c:
26596         HAVE_KERBEROS -> HAVE_KERB4 now only do the stupid chown() hack if
26597         no setreuid() or a broken one
26598         [1fca642bdb8e]
26599
26600 1995-06-06  Todd C. Miller  <Todd.Miller@courtesan.com>
26601
26602         * configure.in:
26603         added kerberos support
26604         [da5639b9b8e7]
26605
26606         * config.h.in:
26607         added HAVE_KERBEROS
26608         [fcc5be550e65]
26609
26610         * tgetpass.c:
26611         added KERBEROS support (long passwords)
26612         [303ba6924dd2]
26613
26614         * check.c:
26615         added kerberos support
26616         [e40afe98fc1d]
26617
26618 1995-06-03  Todd C. Miller  <Todd.Miller@courtesan.com>
26619
26620         * sudo.h:
26621         added MODE_BACKGROUND
26622         [9b483c932016]
26623
26624         * sudo.man:
26625         escaped dashes added -b option
26626         [62e84f1a7714]
26627
26628         * sudo.c:
26629         added -b option
26630         [7e78aaefeb95]
26631
26632         * check.c:
26633         added crypt() for osf/1 3.x enhanced secuiry
26634         [e9aa5abdb7d5]
26635
26636         * configure.in:
26637         now check for -lcrypt
26638         [5cb9c67e9fa2]
26639
26640         * interfaces.c:
26641         added ENXIO like EADDRNOTAVAIL
26642         [74223bb1ba75]
26643
26644 1995-05-08  Todd C. Miller  <Todd.Miller@courtesan.com>
26645
26646         * configure.in:
26647         now emulate getwd(), not getcwd()
26648         [3e5439d9a5f4]
26649
26650         * sudo.c:
26651         getcwd() -> getwd()
26652         [6392a96a658e]
26653
26654         * getwd.c:
26655         getcwd -> getwd
26656         [1b0ab9bae11e]
26657
26658 1995-05-02  Todd C. Miller  <Todd.Miller@courtesan.com>
26659
26660         * ins_2001.h, ins_classic.h, ins_goons.h:
26661         Initial revision
26662         [86db60d8cf00]
26663
26664         * insults.h:
26665         broke out insults into separate include files
26666         [0a01993bd38a]
26667
26668         * OPTIONS, options.h:
26669         added GOONS
26670         [e283203c6515]
26671
26672         * Makefile.in:
26673         added ins_2001.h ins_classic.h ins_goons.h
26674         [2a39cd6a4cd2]
26675
26676         * Makefile.in, version.h:
26677         ++version
26678         [05ebf4f5e41a]
26679
26680         * visudo.c:
26681         moved signal handler setup to setup_signals()
26682         [3dd976c04540]
26683
26684         * sudo.h:
26685         added load_interfaces()
26686         [af2d473b09e2]
26687
26688         * sudo.c:
26689         moved load_interfaces to interfaces.c
26690         [5c8c138e5d4c]
26691
26692         * parse.yacc:
26693         added clearaliases
26694         [aeb4ff301daa]
26695
26696         * OPTIONS, options.h:
26697         added FAST_MATCH
26698         [f49ea3d1b525]
26699
26700         * parse.lex:
26701         now uses clearaliases variable
26702         [a2dda415bf61]
26703
26704         * interfaces.c:
26705         Initial revision
26706         [a1990e3f5c69]
26707
26708         * Makefile.in:
26709         added interfaces.[co]
26710         [1e8e5984de97]
26711
26712         * testsudoers.c:
26713         now uses ip addrs and netmasks via load_interfaces()
26714         [54b8f7a6835e]
26715
26716         * sudo.c:
26717         now remove IFS instead of setting to "sane" value
26718         [ce7eec9f115e]
26719
26720 1995-05-01  Todd C. Miller  <Todd.Miller@courtesan.com>
26721
26722         * parse.c:
26723         added FAST_MATCH
26724         [816d4f5fe81a]
26725
26726 1995-04-30  Todd C. Miller  <Todd.Miller@courtesan.com>
26727
26728         * Makefile.in:
26729         sudo_goodpath.c-> goodpath.c
26730         [a5072c4e1de2]
26731
26732         * sudo.c:
26733         added Andy's new ISC changes
26734         [caa6bbee358e]
26735
26736 1995-04-14  Todd C. Miller  <Todd.Miller@courtesan.com>
26737
26738         * OPTIONS:
26739         added a sentence to SECURE_PATH info
26740         [cad6e1569d15]
26741
26742         * BUGS:
26743         added one
26744         [4b35cf699a83]
26745
26746         * CHANGES:
26747         updated
26748         [5fded9dc62f0]
26749
26750         * RUNSON:
26751         updated
26752         [33cb993cfd39]
26753
26754 1995-04-13  Todd C. Miller  <Todd.Miller@courtesan.com>
26755
26756         * RUNSON:
26757         updated for beta3
26758         [a05dc6a91995]
26759
26760         * Makefile.in, version.h:
26761         ++version
26762         [54aaf3fadc75]
26763
26764         * aclocal.m4:
26765         sendmail is now looked for in \17/usr/ucblib
26766         [231ac1a4662f]
26767
26768         * sudo.c:
26769         fixed indentation
26770         [fb137400c8c2]
26771
26772         * aclocal.m4:
26773         fixed a typo
26774         [e03f1acc468b]
26775
26776         * sudo.c:
26777         updated ISC mods
26778         [070290d4754b]
26779
26780         * configure.in:
26781         added unixware case
26782         [e90250bae0d9]
26783
26784         * check.c:
26785         user_is_exempt is no longer hidden
26786         [1a341765b8af]
26787
26788         * RUNSON:
26789         updated
26790         [a9c4898b26dd]
26791
26792         * aclocal.m4:
26793         isc and riscos changes
26794         [98b5d86585d1]
26795
26796         * OPTIONS:
26797         added NOTE about new interaction of EXEMPTGROUP and SECURE_PATH
26798         [e1ecc464ce4b]
26799
26800         * Makefile.in:
26801         fixed a typo and added testsudoers stuff
26802         [435d60e163dc]
26803
26804         * testsudoers.c:
26805         Initial revision
26806         [6ce14a448662]
26807
26808 1995-04-12  Todd C. Miller  <Todd.Miller@courtesan.com>
26809
26810         * parse.yacc:
26811         applied fixed patch from Chris
26812         [cd6144203d13]
26813
26814 1995-04-11  Todd C. Miller  <Todd.Miller@courtesan.com>
26815
26816         * Makefile.in:
26817         fixed a typo
26818         [34f8a54ba041]
26819
26820         * parse.yacc:
26821         added a set of braces for bison
26822         [f0e43b938914]
26823
26824         * parse.yacc:
26825         merged in Chris' changes to dekludge the parser.
26826         [82d6e373ab1c]
26827
26828         * logging.c:
26829         send_mail() was calling find_path() which is wrong since find_path()
26830         stores cmnd in a static var. Anyhow, it doesn't make much sense
26831         since MAILER should always be fully qualified
26832         [6eae6a0b8098]
26833
26834 1995-04-10  Todd C. Miller  <Todd.Miller@courtesan.com>
26835
26836         * sample.sudoers:
26837         added User_Alias stuff
26838         [aaba8c8e918d]
26839
26840         * aclocal.m4:
26841         SUDO_NEXT now looks for /usr/lib/NextStep/software_version
26842         [52bd81f34b32]
26843
26844         * RUNSON:
26845         added DEC UNIX 3.0 w/ gcc
26846         [7daf570775b5]
26847
26848         * visudo.c:
26849         Exit was being used in places where exit should be used
26850         [6026a89c07ed]
26851
26852         * sudoers:
26853         added "User alias specification"
26854         [a487b6e234f8]
26855
26856         * parse.yacc:
26857         fixed probs caused by making nslots and naliases a size_t
26858         [0be919384f3f]
26859
26860         * RUNSON:
26861         added KSR, upped rev to 1.3.1b2
26862         [ce04ee6faadf]
26863
26864         * logging.c, parse.yacc:
26865         1024 -> BUFSIZ
26866         [cd6dda45fa11]
26867
26868         * parse.yacc:
26869         void * -> VOID * naliases and nslots are now size_t to appease
26870         lsearch on 64-bit machines
26871         [bf2f807c0dc1]
26872
26873 1995-04-09  Todd C. Miller  <Todd.Miller@courtesan.com>
26874
26875         * TODO:
26876         did a bunch of things and added a bunch :-)
26877         [42afd957b829]
26878
26879         * PORTING:
26880         updated
26881         [972f95c85776]
26882
26883         * visudo.man:
26884         closer to BSD manpage style
26885         [07ae88f50325]
26886
26887         * sudo.man:
26888         closer to standard BSD man format
26889         [372c28dcc135]
26890
26891         * compat.h, config.h.in, emul/search.h, insults.h, options.h,
26892         pathnames.h.in, sudo.h, version.h:
26893         added RCS id
26894         [c0ec90b81002]
26895
26896         * sudo.h:
26897         removed crufty #defines that are no longer used
26898         [35e2b4b477f0]
26899
26900         * BUGS:
26901         fixed a bug
26902         [5bb3e1bee85e]
26903
26904         * sudo.man:
26905         updated based on sudo changes
26906         [e65de1cae438]
26907
26908         * parse.yacc:
26909         now allow ALL keyword in User_Aliases now allow ALL keyword as well
26910         as a NAME or ALIAS
26911         [1fb31404dd0f]
26912
26913         * CHANGES:
26914         updated
26915         [b24018ac610b]
26916
26917         * sudo.c:
26918         now sets SUDO_COMMAND and SUDO_GID envariables.
26919         [e9d791557fb7]
26920
26921         * aclocal.m4:
26922         fixed bug with full void impl check
26923         [35715301023c]
26924
26925         * parse.yacc:
26926         fixed User_Alias supoprt
26927         [4c30dfbaaa07]
26928
26929         * parse.yacc:
26930         added stubs for User_Alias support
26931         [f4afbd247edf]
26932
26933         * sudo.c:
26934         now sets removes # bogus interfaces from num_interfaces
26935         [6f077fac9ab1]
26936
26937         * parse.lex:
26938         added User_Alias support
26939         [bc7997e5df85]
26940
26941 1995-04-08  Todd C. Miller  <Todd.Miller@courtesan.com>
26942
26943         * Makefile.in:
26944         removed extraneous TODO
26945         [bc87a3b14d6d]
26946
26947 1995-04-07  Todd C. Miller  <Todd.Miller@courtesan.com>
26948
26949         * visudo.c:
26950         ntwk_matches -> addr_matches
26951         [475044e288b8]
26952
26953         * parse.yacc:
26954         ntwk_matches -> addr_matches
26955         [dd1f4093fd2d]
26956
26957         * parse.c:
26958         ntwk_matches -> addr_matches now use inet_addr() not inet_network()
26959         (which expects octet boundaries) fixes for OSF (sizeof(int) !=
26960         sizeof(long))
26961         [acd2f556940f]
26962
26963         * sudo.c:
26964         took out debugging info
26965         [044023063eca]
26966
26967         * aclocal.m4:
26968         OS was being set to unknown before non-uname based host checks.
26969         This caused no checks to happen since $OS was not zero-length.
26970         [335a7267479d]
26971
26972         * sudo.c:
26973         fixed loading of interfaces struct still has debugging info in
26974         though
26975         [2d1a18998c1e]
26976
26977         * parse.c:
26978         fixed typo
26979         [175674a3a9fa]
26980
26981 1995-04-06  Todd C. Miller  <Todd.Miller@courtesan.com>
26982
26983         * Makefile.in:
26984         ++version
26985         [55d191b5daa3]
26986
26987         * version.h:
26988         ++
26989         [d7d1f115696a]
26990
26991         * visudo.c:
26992         removed extraneous extern decl of "top
26993         [50355621047d]
26994
26995         * visudo.c:
26996         now zeros "top"
26997         [4e683210345b]
26998
26999         * parse.yacc:
27000         removed parser_cleanup (no need for it now)
27001         [afa59f222b6c]
27002
27003         * parse.lex:
27004         now calls reset_aliases() directly
27005         [3a23cbd60fc0]
27006
27007 1995-04-04  Todd C. Miller  <Todd.Miller@courtesan.com>
27008
27009         * OPTIONS:
27010         added a sentence to SECURE_PATH description
27011         [c5bf75b85af0]
27012
27013         * parse.c:
27014         fixed my stupid bug where I used NAMLEN on something I wanted to
27015         just get the name from. argh.
27016         [111f460f6540]
27017
27018 1995-04-03  Todd C. Miller  <Todd.Miller@courtesan.com>
27019
27020         * lsearch.c:
27021         fixed argument order of memmove() that i hosed when converting from
27022         bcopy(). arghh.
27023         [2f5336045c8b]
27024
27025         * Makefile.in:
27026         finally fixed DISTFILES line
27027         [a1b419e73a63]
27028
27029         * Makefile.in:
27030         tabs -> spaces
27031         [280fb03e5764]
27032
27033         * Makefile.in:
27034         added missing files to DISTFILES
27035         [991fc1cd2263]
27036
27037         * Makefile.in:
27038         SUPPORTED -> RUNSON
27039         [7580e65b05fb]
27040
27041 1995-04-01  Todd C. Miller  <Todd.Miller@courtesan.com>
27042
27043         * TODO:
27044         updated
27045         [fe764a29c1cc]
27046
27047         * RUNSON:
27048         updated for pl5b1 release
27049         [aefc35bd2291]
27050
27051         * BUGS, TODO:
27052         updated
27053         [8f0ea249b687]
27054
27055         * check.c:
27056         fixed bug where if you hit return at first sudo prompt it would
27057         still log as a failure
27058         [24539c854692]
27059
27060         * CHANGES:
27061         updated
27062         [251cc7b3ede4]
27063
27064         * aclocal.m4:
27065         better test for bogus void * implementation
27066         [efe23180cb88]
27067
27068         * logging.c:
27069         added PASSWORDS_NOT_CORRECT
27070         [bd12c73f83f7]
27071
27072         * check.c:
27073         added PASSWORDS_NOT_CORRECT stuff]
27074         [90de391a979f]
27075
27076         * sudo.h:
27077         added PASSWORDS_NOT_CORRECT
27078         [727fbeb76fc5]
27079
27080         * tgetpass.c:
27081         moved pathnames.h
27082         [4f910e5a8df7]
27083
27084         * sudo.c:
27085         removed some unused vars and fixed up uid2str
27086         [70e92c7f9076]
27087
27088         * putenv.c:
27089         moved compat.h
27090         [b271091586f6]
27091
27092         * getcwd.c, getwd.c:
27093         added pathnames.h
27094         [6f25218f133f]
27095
27096 1995-03-31  Todd C. Miller  <Todd.Miller@courtesan.com>
27097
27098         * parse.yacc:
27099         fixed a typo I introduced in the last checkin :-(
27100         [62c3af75c4fe]
27101
27102         * parse.lex:
27103         can't have #ifdef's where N is defined so just do this the broken
27104         way for AIX
27105         [c5648a5594e4]
27106
27107         * parse.yacc:
27108         better hack from Chris (but still a hack)
27109         [6b6d8aed93f3]
27110
27111         * parse.lex:
27112         stupid hack for broken aix lex
27113         [efc3f9e5280e]
27114
27115         * tgetpass.c:
27116         now includes compat.h \ 6
27117         [401822173f77]
27118
27119         * visudo.c:
27120         now includes fcntl.h
27121         [63865c2f8ac6]
27122
27123         * compat.h:
27124         added FD_SET and FD_ZERO for 4.2BSD
27125         [00c5597c0bb0]
27126
27127         * parse.yacc:
27128         dirty hack to fix parser bug. i don't really like this but it works
27129         for now...
27130         [5b8bbdc81569]
27131
27132         * sudo.c:
27133         uid2str is now static like the prototype says
27134         [f2a97b5cb870]
27135
27136 1995-03-30  Todd C. Miller  <Todd.Miller@courtesan.com>
27137
27138         * CHANGES, SUPPORTED, TODO, TROUBLESHOOTING:
27139         updated
27140         [6f79c3e92716]
27141
27142         * RUNSON:
27143         Initial revision
27144         [12a09ef9e884]
27145
27146         * sudo.c:
27147         check_sudoers now returns an error code and sudo calls inform_user
27148         and log_error based on the return value.
27149         [340eca188d9a]
27150
27151         * logging.c, sudo.h:
27152         added entries for new errors
27153         [6050d8542e1f]
27154
27155         * parse.c:
27156         now set uid to that of SUDOERS_OWNER while parsing sudoers file
27157         [3683c42bc9b0]
27158
27159         * Makefile.in:
27160         took out testsudoers \ 6
27161         [65317d49db48]
27162
27163         * sudo.c:
27164         now explicately checks that it is setuid root
27165         [2fe1be60ef6a]
27166
27167         * sudo.c:
27168         If a user has no passwd entry sudo would segv (writing to a garbage
27169         pointer). Now allocate space before writing :-)
27170         [d08e7eb5e5ef]
27171
27172         * configure.in:
27173         reordered AC_CHECK_FUNCS
27174         [4c82e56c6f4f]
27175
27176         * config.h.in:
27177         fixed memset macro
27178         [77ede6b714ab]
27179
27180         * tgetpass.c, visudo.c:
27181         bzero -> memset
27182         [1a005bb322c8]
27183
27184         * logging.c:
27185         bzero -> memset when a parse error is logged the line number of the
27186         error is now logged too
27187         [a42d68047723]
27188
27189         * INSTALL:
27190         added Sunos to blurb about c2 security
27191         [af750a1d131e]
27192
27193         * configure.in:
27194         added a SUN4 define for C2 security
27195         [6ad5b23a3eb0]
27196
27197         * config.h.in:
27198         bcopy -> memmove bzero -> memset
27199         [5494460c8464]
27200
27201         * lsearch.c:
27202         bcopy -> memmove char * -> VOID *
27203         [a15f5c316e16]
27204
27205         * check.c:
27206         added support for sunos with C2 security
27207         [03fea5bb21e6]
27208
27209         * OPTIONS, options.h:
27210         reordered
27211         [1686265af3e1]
27212
27213         * pathnames.h.in:
27214         _PATH_SUDO_LOGFILE now set based on configure
27215         [5867b58e4a04]
27216
27217         * configure.in:
27218         added SUDO_LOGFILE and SUDO_TYPE_SIZE_T
27219         [1984d9fd1b5c]
27220
27221         * config.h.in:
27222         added _SUDO_PATH_LOGFILE
27223         [dd3eebe62580]
27224
27225         * aclocal.m4:
27226         added SUDO_LOGFILE to find where to put sudo.log added
27227         SUDO_CHECK_TYPE (just AC_CHECK_TYPE but checks unistd.h too) added
27228         SUDO_TYPE_SIZE_T (calls SUDO_CHECK_TYPE)
27229         [c589a515a99a]
27230
27231 1995-03-29  Todd C. Miller  <Todd.Miller@courtesan.com>
27232
27233         * TROUBLESHOOTING:
27234         Initial revision
27235         [f42f1baba3a8]
27236
27237         * sudo.c:
27238         now do set_perms(PERM_ROOT) before the getpwuid() in load_global()
27239         to work around a problem is trusted hpux shadow passwords. yuck.
27240         [ae1f13b54687]
27241
27242         * parse.yacc:
27243         backed out a change in malloc/realloc
27244         [ab868db0ad69]
27245
27246         * parse.yacc:
27247         now include stdlib.h
27248         [957eef0631eb]
27249
27250         * visudo.c:
27251         now do an freopen() of the stmp file so that yyin will always point
27252         to the same thing. This is important for flex since we are doing a
27253         YY_NEWFILE
27254         [44558922fd3e]
27255
27256         * parse.yacc:
27257         replaced yywrap() with parser_cleanup() since yywrap() needs to be
27258         in parse.lex to be able to use YY_NEW_FILE. sigh.
27259         [12dd09921074]
27260
27261         * parse.lex:
27262         now have a rule that matches anything that doesn't match an
27263         explicite rule. well, you know what i mean (. matches anything not
27264         yet matched). However, this means that there is input still queued
27265         up so we need to do a YY_NEW_FILE; in yywrap. So, yywrap has moved
27266         into parse.lex and it calls parser_cleanup() which is most of the
27267         old yywrap() sigh.
27268         [7f4042bc48d6]
27269
27270         * SUPPORTED:
27271         no longer used
27272         [8f220be4da94]
27273
27274         * getcwd.c, getwd.c:
27275         moved compat.h to be the last include file
27276         [9f3a65e2d485]
27277
27278         * parse.yacc:
27279         fixed type of aliascmp() args
27280         [1c27eb989bdf]
27281
27282         * find_path.c:
27283         NULL -> '\0'
27284         [5c8d8cf1692e]
27285
27286         * parse.yacc:
27287         added casts to lfind and lsearch args for irix
27288         [61027ddeecf8]
27289
27290         * Makefile.in:
27291         bsdinstall -> install-sh
27292         [61de6612c5a5]
27293
27294         * INSTALL:
27295         added info about make realclean
27296         [29c6324d727f]
27297
27298         * Makefile.in:
27299         updated VERSION added dependencies for visudo.cat
27300         [09077d7229d4]
27301
27302         * version.h:
27303         -> pl5b1
27304         [5d21c7ad1a41]
27305
27306         * sudo.c:
27307         took out -l
27308         [fc1478d81b38]
27309
27310         * Makefile.in:
27311         now there is a real visudo.man and visudo.cat
27312         [58aeac43a6dd]
27313
27314         * sudo.man:
27315         took out visudo stuff
27316         [4a6ac4393343]
27317
27318         * visudo.man:
27319         Initial revision
27320         [cba348843db8]
27321
27322         * parse.c, parse.lex, parse.yacc:
27323         updated copyright
27324         [ffa16b70944a]
27325
27326         * README:
27327         updated for pl5
27328         [a26e423e9e5f]
27329
27330         * sudo.man:
27331         updated Nieusma & Hieb email addresses
27332         [f0083e71989d]
27333
27334         * INSTALL:
27335         updated to include options.h and OPTIONS
27336         [ee59e2b76c94]
27337
27338         * CHANGES, TODO:
27339         updated
27340         [51e011ad5220]
27341
27342         * BUGS:
27343         eliminated bug #1 (yay)
27344         [e7e88515494e]
27345
27346         * configure.in:
27347         sunos no longer gets linked statically
27348         [2e5b3ff3108f]
27349
27350 1995-03-28  Todd C. Miller  <Todd.Miller@courtesan.com>
27351
27352         * parse.lex:
27353         prototype now uses __P()
27354         [68ecdcab4c70]
27355
27356         * parse.lex:
27357         make fill() non-ansi
27358         [d6509972260b]
27359
27360         * parse.c:
27361         made -v (validate) work
27362         [13c9d520638c]
27363
27364         * logging.c:
27365         now gives host
27366         [f04859cdba5a]
27367
27368         * find_path.c:
27369         don't check for execute/statable if fq or relative path given
27370         [4bbe851f3973]
27371
27372         * parse.c:
27373         added a cast
27374         [345c308f72f3]
27375
27376         * visudo.c:
27377         now include ctype.h for islower and tolower macros
27378         [582c0aa332d5]
27379
27380         * goodpath.c:
27381         moved _S_IFMT & _S_ISREG to compat.h
27382         [828e4ca4e7b4]
27383
27384         * sudo.c:
27385         moved a set of parens
27386         [5783474ecf37]
27387
27388         * strdup.c:
27389         now include compat.h
27390         [75e2036b94af]
27391
27392         * emul/search.h:
27393         void * -> VOID *
27394         [cedcfaf04161]
27395
27396         * parse.yacc:
27397         now cast malloc & realloc return vals added search for HAVE_LSEARCH
27398         now use strcmp if no strcasecmp available
27399         [d6a42bc3d4ae]
27400
27401         * lsearch.c:
27402         void * -> VOID *
27403         [886adc44f607]
27404
27405         * config.h.in:
27406         removed HAVE_FLEX added VOID added HAVE_DIRENT_H, HAVE_SYS_NDIR_H,
27407         HAVE_SYS_DIR_H, HAVE_NDIR_H added HAVE_LSEARCH
27408         [3b50d7fb4349]
27409
27410         * compat.h:
27411         added _S_IFMT, _S_IFREG, and S_ISREG
27412         [73d506c7d53c]
27413
27414         * aclocal.m4:
27415         took out SUDO_PROG_INSTALL 1.x to 2.x changes added echo and results
27416         to most SUDO_* macros
27417         [8442155f5936]
27418
27419         * Makefile.in:
27420         no more -I.
27421         [63462f195bd4]
27422
27423         * configure.in:
27424         various 1.x ro 2.x autoconf changes now check for strcasecmp now use
27425         AC_INSTALL_PROG instead of custom one added check for fully woorking
27426         void implementation
27427         [5ac6b6e6230f]
27428
27429         * Makefile.in:
27430         added lsearch & search.h visudo links into $(LIBOBJS)
27431         [bc119cda4598]
27432
27433         * aclocal.m4:
27434         partial 1.x to 2.x changes added SUDO_FULL_VOID
27435         [1194d01fa5c5]
27436
27437         * visudo.c:
27438         whatnow_help was prototyped to be static be was not declared as
27439         such
27440         [0f85489dd426]
27441
27442         * configure.in:
27443         autoconf 2.x changes took out HAVE_FLEX (no longer used) added check
27444         for dirent/dir/ndir.h
27445         [7408f3854948]
27446
27447         * parse.c:
27448         now use groovy gnu autoconf macro AC_HEADER_DIRENT
27449         [e465db9f5dfa]
27450
27451         * getcwd.c, getwd.c:
27452         MAXPATHLEN -> MAXPATHLEN+1
27453         [714d87424e21]
27454
27455         * emul/search.h, lsearch.c:
27456         Initial revision
27457         [55d79482c535]
27458
27459 1995-03-27  Todd C. Miller  <Todd.Miller@courtesan.com>
27460
27461         * parse.yacc:
27462         eliminated bison warnings
27463         [61ca0a96da22]
27464
27465         * parse.lex:
27466         added missing case
27467         [6be0f849747c]
27468
27469         * visudo.c:
27470         now iincludes signal.h
27471         [221e0fcc144f]
27472
27473         * parse.yacc:
27474         only clear data structures on a parse error
27475         [7b1c0f1a4527]
27476
27477         * visudo.c:
27478         whatnow() now gives help on invalid input
27479         [e5a4cd88c587]
27480
27481         * visudo.c:
27482         added a whatnow() function (sort of like mh)
27483         [932d9b145f1c]
27484
27485         * parse.yacc:
27486         kill_aliases -> reset_aliases yywrap() now cleans up by calling
27487         reset_aliases() and clearing top took reset stuff out of yyerror()
27488         since it doesn't beling there (and doesn't work anyway). errorlineno
27489         is now initially set to -1 so we can set it to the first error that
27490         occurrs (it was getting set to the last)
27491         [2f71f95a974c]
27492
27493         * parse.lex:
27494         added a void cast
27495         [18ae6042dce4]
27496
27497         * visudo.c:
27498         rewrote from scratch based on 4.3BSD vipw.c
27499         [2f6814f18576]
27500
27501 1995-03-26  Todd C. Miller  <Todd.Miller@courtesan.com>
27502
27503         * sudo.c, sudo.h:
27504         removed ocmnd
27505         [a31735f41ad4]
27506
27507         * sudo.h:
27508         no more sudo_realpath() and find_path() changed params
27509         [8e85c3b39159]
27510
27511         * sudo.c:
27512         find_path() changed since no more realpath()
27513         [b25366c7f2ee]
27514
27515         * parse.yacc:
27516         on error, errorlineno is set to the line where the error occurred
27517         added kill_aliases() to free the aliases struct now clean up in
27518         yyerror() so we can reparse cleanly
27519         [2342f578c27a]
27520
27521         * options.h, parse.c:
27522         no more USE_REALPATH
27523         [cfc59babeaff]
27524
27525         * logging.c:
27526         changed to use new find_path()
27527         [91c7a38e7751]
27528
27529         * find_path.c:
27530         removed all the realpath() stuff
27531         [cc21a43a8562]
27532
27533         * Makefile.in:
27534         sudo_realpath.c -> sudo_goodpath.c
27535         [03a9b1ddec2f]
27536
27537         * visudo.c:
27538         now works correctly with utk parser
27539         [08aa554a0ce8]
27540
27541         * goodpath.c:
27542         Initial revision
27543         [1ea607e1ffb2]
27544
27545         * sudo_realpath.c:
27546         eliminated a compiler warning
27547         [198bcccc55b6]
27548
27549         * sudo.c:
27550         elinated compiler warning
27551         [e2384f9a878b]
27552
27553         * sudo_realpath.c:
27554         added sudo_goodpath()
27555         [43878c4cc540]
27556
27557         * sudo.h:
27558         added prototype for sudo_goodpath
27559         [23e8627a2265]
27560
27561         * parse.c:
27562         added support for /sys/dir.h
27563         [eca897087741]
27564
27565         * options.h:
27566         USE_REALPATH turned off
27567         [620ac8b63d85]
27568
27569         * find_path.c:
27570         added calls to sudo_goodpath()
27571         [ad170904fbcd]
27572
27573         * configure.in:
27574         added check for dirent.h
27575         [7964a8c26855]
27576
27577         * config.h.in:
27578         added HAVE_DIRENT_H
27579         [1f785fec7e19]
27580
27581         * configure.in:
27582         added in linux shadow pass stuff \ 6
27583         [e585a5785f50]
27584
27585 1995-03-24  Todd C. Miller  <Todd.Miller@courtesan.com>
27586
27587         * visudo.c:
27588         added back host, user, cmnd, parse_error
27589         [0ec19f3d64f4]
27590
27591         * visudo.c:
27592         added in utk changes plus some minor cosmetic changes
27593         [c5c1921c8a58]
27594
27595         * sudo.c, sudo_realpath.c:
27596         added void casts for printf's
27597         [9c6ff11c0082]
27598
27599         * options.h:
27600         added a define of USE_REALPATH
27601         [db3711c9efc5]
27602
27603         * configure.in:
27604         there is no more visudoers/Makefile
27605         [36e1bc1f78d0]
27606
27607         * Makefile.in:
27608         added in utk changes (visudo is now built from the toplevel)
27609         [76203d4b345d]
27610
27611         * find_path.c:
27612         added (void) casts to printf's
27613         [dd5cb1e060ac]
27614
27615         * parse.c, parse.lex, parse.yacc, sudo.h, sudo_realpath.c:
27616         merged in utk changes
27617         [35563307fd8e]
27618
27619 1995-03-23  Todd C. Miller  <Todd.Miller@courtesan.com>
27620
27621         * find_path.c:
27622         now check to see that what we are trying to run is a file (or a link
27623         to a file, we do a stat(2) so there is no diff)
27624         [05889c4bcace]
27625
27626 1995-03-13  Todd C. Miller  <Todd.Miller@courtesan.com>
27627
27628         * CHANGES:
27629         updated
27630         [3e8047bb26fb]
27631
27632         * Makefile.in:
27633         aclocal.m4 -> acsite.m4 make realclean updated for new autoconf \ 6
27634         [0bdbaa7c4c7d]
27635
27636         * sudo.man:
27637         added myself as maintainer
27638         [77a9d75aab84]
27639
27640 1995-02-17  Todd C. Miller  <Todd.Miller@courtesan.com>
27641
27642         * sudo.c:
27643         changed setegid -> setgid
27644         [7f4788d73b6f]
27645
27646 1995-02-06  Todd C. Miller  <Todd.Miller@courtesan.com>
27647
27648         * configure.in:
27649         fixed the test for irix 5.x to skip bad libs
27650         [bfef896de013]
27651
27652         * aclocal.m4:
27653         now initialize OS and OSREV
27654         [cc302756e440]
27655
27656 1995-01-27  Todd C. Miller  <Todd.Miller@courtesan.com>
27657
27658         * configure.in:
27659         irix5 changes
27660         [ac985b23f5f2]
27661
27662         * configure.in:
27663         AC_WITH -> AC_ARG_WITH changes other misc changes for autoconf 2.1
27664         compatibility
27665         [0cf8c92a06d7]
27666
27667 1995-01-19  Todd C. Miller  <Todd.Miller@courtesan.com>
27668
27669         * visudo.c:
27670         use YY_NEW_FILE, not yyrestart since OSF flex doesn't do the righ
27671         thing wrt yyrestart (grrrr)
27672         [18e8eabfbb82]
27673
27674 1995-01-16  Todd C. Miller  <Todd.Miller@courtesan.com>
27675
27676         * Makefile.in:
27677         added visudoers/compat.h to DISTFILES
27678         [db23b574b034]
27679
27680         * configure.in:
27681         fixed an echo
27682         [7cbc0462b89d]
27683
27684         * sudo.c:
27685         added ocmnd declaration adjusted for find_path()'s new parameters
27686         [d929cd156474]
27687
27688         * sudo.h:
27689         added ocmnd extern adjusted find_path() prototype
27690         [e0004daf5d3c]
27691
27692         * parse.c:
27693         cmndcmp() now takes 3 arguments and checks against the qualified as
27694         well as the unqualified pathname. more code that should use
27695         cmndcmp() but did not, now does
27696         [6f70a8c17bee]
27697
27698         * options.h:
27699         added to a comment
27700         [7a78680426b2]
27701
27702         * logging.c:
27703         changed to use new find_path() parameter passing
27704         [840981d30db4]
27705
27706         * find_path.c:
27707         find_path() now takes 2 copyout parameters (one for the qualified
27708         pathname and one for the unqualified pathname). The third parameter
27709         may be NULL.
27710         [851503b005e9]
27711
27712         * configure.in:
27713         no longer munge pathnames.h
27714         [427d8796c5a9]
27715
27716         * pathnames.h.in:
27717         changed _PATH_* to use _SUDO_PATH_* (which are defined in config.h)
27718         as a result, pathnames.h does not need to be run through configure
27719         and the user can override the configured values easily.
27720         [2e378f2ebe88]
27721
27722         * config.h.in:
27723         added _SUDO_PATH_* entries
27724         [0857de7cebab]
27725
27726         * aclocal.m4:
27727         _PATH* -> _SUDO_PATH_*
27728         [7601193f56cc]
27729
27730         * Makefile.in:
27731         updated DISTFILES and HDRS .o's now depend on config.h
27732         [39d8601965cf]
27733
27734 1995-01-13  Todd C. Miller  <Todd.Miller@courtesan.com>
27735
27736         * compat.h:
27737         removed extraneous #endif
27738         [27d4c5f2ce7e]
27739
27740         * aclocal.m4:
27741         added SUDO_PROG_MV
27742         [76dda3bdd816]
27743
27744         * configure.in:
27745         added SUDO_PROG_MV added riscos and isc os types took out
27746         -DSHORT_MESSAGE from --with-csops since it is now the default
27747         [68c206ad976e]
27748
27749         * sudo.c:
27750         move the include of id.h to compat.h now includes options.h
27751         [45a1eaafb3a8]
27752
27753         * sudo.h:
27754         moved compatibility #defines to compat.h
27755         [0eee27057698]
27756
27757         * pathnames.h.in:
27758         added _PATH_MV
27759         [e830797ab320]
27760
27761         * config.h.in:
27762         move __P to compat.h
27763         [188e12e0ba93]
27764
27765         * getcwd.c, getwd.c, putenv.c:
27766         now includes compat.h
27767         [c72cb6d73981]
27768
27769         * compat.h:
27770         Initial revision
27771         [d4d2f359ae03]
27772
27773 1995-01-12  Todd C. Miller  <Todd.Miller@courtesan.com>
27774
27775         * sudo.h:
27776         pull user-configurable stuff out and put in options.h
27777         [ef929467b070]
27778
27779 1995-01-11  Todd C. Miller  <Todd.Miller@courtesan.com>
27780
27781         * parse.lex, parse.yacc, visudo.c:
27782         now includes options.h
27783         [e36d7c82add1]
27784
27785         * check.c, find_path.c, logging.c, parse.c, sudo_realpath.c,
27786         sudo_setenv.c:
27787         now includes options.h
27788         [f186ba03de07]
27789
27790         * Makefile.in:
27791         added visudoers/options.h
27792         [e5350c476494]
27793
27794         * OPTIONS, options.h:
27795         Initial revision
27796         [9b6b5001e318]
27797
27798         * Makefile.in:
27799         added OPTIONS and options.h
27800         [25448341e16a]
27801
27802         * logging.c:
27803         changed #ifdef's to use LOGGING and SLOG_SYSLOG/SLOG_FILE
27804         [5dd6385dd1d3]
27805
27806         * check.c, sudo.h:
27807         changed PASSWORD_TIMEOUT to minutes
27808         [0ec6aab98738]
27809
27810 1994-12-17  Todd C. Miller  <Todd.Miller@courtesan.com>
27811
27812         * visudo.c:
27813         now only do Editor +line_num if line_num != 0
27814         [b69f04b5e3c7]
27815
27816 1994-12-16  Todd C. Miller  <Todd.Miller@courtesan.com>
27817
27818         * visudo.c:
27819         now use mv if rename(2) fails
27820         [83210dca1bab]
27821
27822         * BUGS:
27823         added a visudo bug
27824         [d61a806f9aa7]
27825
27826         * check.c:
27827         expanded comment
27828         [641f2cba94cb]
27829
27830 1994-11-12  Todd C. Miller  <Todd.Miller@courtesan.com>
27831
27832         * check.c:
27833         fixed user_is_exempt to return 0 if EXEMPTGROUP is not set
27834         [7a11135039a8]
27835
27836 1994-11-10  Todd C. Miller  <Todd.Miller@courtesan.com>
27837
27838         * sudo.c:
27839         added mips & isc support
27840         [e258dc053119]
27841
27842         * parse.c:
27843         added support for non-root owned sudoers file
27844         [fea07e65a0fc]
27845
27846         * check.c:
27847         added exempt group support
27848         [928fb4bd9ad5]
27849
27850         * sudo.h:
27851         added set_perms() support added SUDOERS_OWNER so can have non-root
27852         own sudoers file added exempt group support added isc support
27853         [61c578d31fc1]
27854
27855         * visudo.c:
27856         now copy sudoers to temp file via read/write (not stdio) now chown
27857         new sudoers file to SUDOERS_OWNER
27858         [a5176c59df70]
27859
27860 1994-11-08  Todd C. Miller  <Todd.Miller@courtesan.com>
27861
27862         * configure.in:
27863         added skey support
27864         [35a8d2fabdb7]
27865
27866         * sudo_realpath.c:
27867         be_* -> setperms()
27868         [a1631d686e1c]
27869
27870         * sudo.h:
27871         fixed typo added set_perms support added skey support added
27872         seteuid()/setegid() emulation for AIX
27873         [c0c8d6771406]
27874
27875         * sudo.c:
27876         be_* -> setperms() now check to make sure sudoers file is owned by
27877         root nread/write by only root
27878         [13ab1e261f1a]
27879
27880         * logging.c, parse.c:
27881         be_* -> setperms()
27882         [21499d845c8f]
27883
27884         * check.c:
27885         be_* -> set_perms() added skey support
27886         [df51b56871c1]
27887
27888 1994-11-06  Todd C. Miller  <Todd.Miller@courtesan.com>
27889
27890         * Makefile.in:
27891         ++version
27892         [3c1abbe4e43c]
27893
27894         * version.h:
27895         ++
27896         [1d2f9b540a95]
27897
27898 1994-10-21  Todd C. Miller  <Todd.Miller@courtesan.com>
27899
27900         * sudo.c:
27901         now sets IFS
27902         [eabbb41b9f08]
27903
27904         * insults.h:
27905         fixed typo
27906         [c7997f19216e]
27907
27908 1994-10-15  Todd C. Miller  <Todd.Miller@courtesan.com>
27909
27910         * config.h.in:
27911         added HAVE_SKEY
27912         [da948ec4186b]
27913
27914 1994-10-04  Todd C. Miller  <Todd.Miller@courtesan.com>
27915
27916         * CHANGES:
27917         updated
27918         [f4b55ab007ea]
27919
27920         * Makefile.in:
27921         ++version
27922         [0489068b8c95]
27923
27924         * version.h:
27925         ++
27926         [d189faedf423]
27927
27928         * sudo.c:
27929         now bail if ARgv[1] > MAXPATHLEN
27930         [0cea8ecc9dc2]
27931
27932         * configure.in:
27933         added function check for tcgetattr(3)
27934         [e03289b22c2f]
27935
27936         * config.h.in:
27937         only define HAVE_TERMIOS_H if you have tcgetattr(3)
27938         [757eab83d1a2]
27939
27940         * config.h.in:
27941         added check for tcgetattr
27942         [c5ae92715930]
27943
27944 1994-09-26  Todd C. Miller  <Todd.Miller@courtesan.com>
27945
27946         * CHANGES:
27947         updated
27948         [cbc419883108]
27949
27950 1994-09-22  Todd C. Miller  <Todd.Miller@courtesan.com>
27951
27952         * parse.lex:
27953         now only include unistd.h for linux
27954         [e9adeab95ef0]
27955
27956 1994-09-21  Todd C. Miller  <Todd.Miller@courtesan.com>
27957
27958         * Makefile.in:
27959         added visudo.8 generation
27960         [d6a3f0f887f8]
27961
27962         * configure.in:
27963         added -Wl,-bI:./aixcrypt.exp to aix flags
27964         [72594a21edcf]
27965
27966 1994-09-20  Todd C. Miller  <Todd.Miller@courtesan.com>
27967
27968         * BUGS:
27969         added one
27970         [9993a349e096]
27971
27972         * CHANGES:
27973         updated
27974         [297b31ec4cdd]
27975
27976         * README:
27977         added mailing list info
27978         [10372f94a2b2]
27979
27980         * parse.yacc:
27981         now use sudolineno instead of yylineno fixed bison warnings
27982         [25a83e62057b]
27983
27984         * configure.in:
27985         now use -no_library_replacement for osf don't make a static binary
27986         for hpux >= 9.0
27987         [1fa7b892f1a3]
27988
27989         * tgetpass.c:
27990         added string.h/strings.h inclusion
27991         [71faa98fc0a1]
27992
27993         * config.h.in:
27994         added ssize_t def
27995         [406284bd1ac0]
27996
27997         * parse.lex:
27998         added inclusion of string.h/strings.h
27999         [6985b1df5d09]
28000
28001         * aclocal.m4:
28002         fixed uname | sed (needed to quote the '[')
28003         [4cd2d3415c1a]
28004
28005         * parse.lex:
28006         replaced yylineno with sudolineno fixed bison syntax errors
28007         [0bd31a5fab26]
28008
28009         * visudo.c:
28010         changed yylineno to sudolineno since yylineno cannot be counted
28011         upon.
28012         [38c30104d0ae]
28013
28014         * TODO:
28015         updated
28016         [5d4746f1a752]
28017
28018         * parse.c:
28019         added code to support command listings
28020         [030172e133fd]
28021
28022         * sudo.c:
28023         added code for -l flag
28024         [801dbbc82778]
28025
28026         * sudo.man:
28027         fixed typo added info for -l flag
28028         [8916ca945d65]
28029
28030         * configure.in:
28031         AC_SSIZE_T -> SUDO_SSIZE_T
28032         [c61f7f47013f]
28033
28034         * aclocal.m4:
28035         added SUDO_SSIZE_T
28036         [0ccdb77be84d]
28037
28038         * sudo.h:
28039         added MODE_LIST
28040         [9b2bd844c76c]
28041
28042         * configure.in:
28043         added AC_SSIZE_T
28044         [35cca208f9b5]
28045
28046         * find_path.c, sudo_realpath.c:
28047         readlink() is now declared as returning ssize~_t
28048         [0640a08d1407]
28049
28050         * configure.in:
28051         added -laud for OSF c2
28052         [b7539c905efc]
28053
28054 1994-09-02  Todd C. Miller  <Todd.Miller@courtesan.com>
28055
28056         * Makefile.in, visudo.c:
28057         changed sudo-bugs.cs.colorado.edu -> sudo-bugs@cs.colorado.edu
28058         [067fd9bcb5e1]
28059
28060         * config.h.in, parse.lex, parse.yacc, pathnames.h.in:
28061         changed sudo-bugs.cs.colorado.edu -> sudo-bugs@cs.colorado.edu
28062         [fc46e7c7110a]
28063
28064         * check.c, find_path.c, getcwd.c, getwd.c, insults.h, logging.c,
28065         parse.c, putenv.c, strdup.c, sudo.c, sudo.h, sudo_realpath.c,
28066         sudo_setenv.c, tgetpass.c, version.h:
28067         changed sudo-bugs.cs.colorado.edu -> sudo-bugs@cs.colorado.ed
28068         [d1d4fbc53a98]
28069
28070 1994-09-01  Todd C. Miller  <Todd.Miller@courtesan.com>
28071
28072         * Makefile.in:
28073         ++version
28074         [b7066d97633f]
28075
28076         * version.h:
28077         ++
28078         [65ec69d88110]
28079
28080         * logging.c:
28081         added host to alertmail messages
28082         [d973c19ce777]
28083
28084         * CHANGES, TODO:
28085         udpated
28086         [5a65eb16faeb]
28087
28088         * logging.c:
28089         fixed logging problem where mail would not say which user it was
28090         [35723edcc5d2]
28091
28092         * configure.in:
28093         added -laud for gcc if osf & c2
28094         [18f1e0ae5548]
28095
28096         * check.c:
28097         moved set_auth_parameters to sudo.c
28098         [d23112fe01db]
28099
28100         * sudo.c:
28101         added set_auth_parameters for osf
28102         [eb70f65214ac]
28103
28104         * configure.in:
28105         cleaned up -static stuff
28106         [01e9575f0422]
28107
28108         * Makefile.in:
28109         ++version
28110         [7ac3bff5c770]
28111
28112         * version.h:
28113         ++
28114         [10a4ff478469]
28115
28116         * sudo.c:
28117         changed setenv() to sudo_setenv()
28118         [40a78abb9946]
28119
28120         * check.c:
28121         fixed osf problem
28122         [3d69b118efb8]
28123
28124         * configure.in:
28125         added OSF C2 stuff
28126         [38cff3ad4093]
28127
28128         * CHANGES:
28129         updated
28130         [cd341dd0581a]
28131
28132         * check.c:
28133         added osf auth support & removed some extra spaces
28134         [a448cdd81514]
28135
28136         * INSTALL, SUPPORTED:
28137         added osf C2 stuff
28138         [f70484796146]
28139
28140 1994-08-31  Todd C. Miller  <Todd.Miller@courtesan.com>
28141
28142         * TODO:
28143         added 2 suggestions
28144         [695fbdbd86e6]
28145
28146         * Makefile.in:
28147         removed README.v1.3.1 and added VERSION stuff
28148         [f69403eb04c6]
28149
28150         * version.h:
28151         pl1
28152         [21580c0f8cb1]
28153
28154 1994-08-30  Todd C. Miller  <Todd.Miller@courtesan.com>
28155
28156         * version.h:
28157         1.3.1final
28158         [630114970298]
28159
28160         * Makefile.in:
28161         added HISTORY
28162         [901bff251614]
28163
28164         * sudo.man:
28165         mention HISTPRY file
28166         [86dbcfd4326e]
28167
28168         * sudo.c:
28169         use sizeof instead of a constant in 1 place
28170         [d819604c68ca]
28171
28172         * parse.yacc:
28173         added unistd.h
28174         [6f9500f9fe7e]
28175
28176         * parse.lex:
28177         added unistd.h
28178         [468b81a276eb]
28179
28180         * README:
28181         udpated
28182         [7e275618923a]
28183
28184         * HISTORY:
28185         Initial revision
28186         [5db1b0a3939b]
28187
28188 1994-08-17  Todd C. Miller  <Todd.Miller@courtesan.com>
28189
28190         * version.h:
28191         ++
28192         [7dfbb4a810bb] [SUDO_1_3_1]
28193
28194         * CHANGES:
28195         updated
28196         [7820ee610bf8]
28197
28198         * sudo_setenv.c:
28199         added unistd.h include
28200         [30cf2b654525]
28201
28202 1994-08-16  Todd C. Miller  <Todd.Miller@courtesan.com>
28203
28204         * sudo.c:
28205         added sys/time.h for AIX
28206         [199fc8caf3a3]
28207
28208 1994-08-15  Todd C. Miller  <Todd.Miller@courtesan.com>
28209
28210         * configure.in:
28211         added check for -lsocket and sys/sockio.h
28212         [f9abfbb31031]
28213
28214         * config.h.in:
28215         took out libshadow check and added in sys/sockio.h check
28216         [0c4b0393ac80]
28217
28218         * sudo.c:
28219         now include sockio.h instead of ioctl.h if it exists "sudo -" now
28220         gets a better error message
28221         [53041bea5483]
28222
28223         * sample.sudoers:
28224         now has a dir and subnet entry
28225         [56b820f65438]
28226
28227 1994-08-13  Todd C. Miller  <Todd.Miller@courtesan.com>
28228
28229         * sudo.c:
28230         removed if_ether.h
28231         [b4f64507493e]
28232
28233         * TODO:
28234         added an item
28235         [ea2a1bb6922a]
28236
28237         * sudo.man:
28238         added network and ip addresses to man page
28239         [01c85016511f]
28240
28241         * sudo.c:
28242         no error if can't get interfaces or netmask since networking may not
28243         be in the kernel.
28244         [50b8890e2134]
28245
28246         * parse.c:
28247         nwo check for interfaces == NULL
28248         [dc1b3eef0db2]
28249
28250         * parse.c:
28251         fixed a bug that caused directory specs in a Cmnd_Alias to fail if
28252         the last entry in the spec failed (ie: it was only looking at the
28253         last entry). CLeaned things up by adding the cmndcmp() function--all
28254         neat & tidy
28255         [007e93578e5e]
28256
28257         * CHANGES:
28258         added one
28259         [40e8a2cef497]
28260
28261 1994-08-12  Todd C. Miller  <Todd.Miller@courtesan.com>
28262
28263         * sudo.c:
28264         now do two passes to skip bogus interfaces (lo0, etc)
28265         [465e30aecaf7]
28266
28267         * parse.lex, parse.yacc, visudo.c:
28268         added include of netinet/in.h
28269         [11e3816ed362]
28270
28271         * logging.c, sudo_realpath.c, sudo_setenv.c:
28272         added ninclude of netinet/in.h
28273         [daccfa40fe1e]
28274
28275         * check.c, find_path.c, getcwd.c, getwd.c:
28276         added include of netinet/in.h
28277         [0222f95e06ad]
28278
28279         * version.h:
28280         ++
28281         [d6b0cfa35a38]
28282
28283         * sudo.h:
28284         added interfaces global
28285         [ba52fa8ad75e]
28286
28287         * parse.c:
28288         now uses new interfaces global
28289         [17473ad5ecba]
28290
28291         * sudo.c:
28292         now ip addresses are gleaned fw/o dns
28293         [8828bb2007e0]
28294
28295 1994-08-10  Todd C. Miller  <Todd.Miller@courtesan.com>
28296
28297         * sudo.c:
28298         added load_ip_addrs() to load the ip_addrs global var
28299         [60c825f04238]
28300
28301         * parse.c:
28302         added hostcmp() to compare hostnames, ip addrs, and network addrs
28303         [ab0e40e37537]
28304
28305         * sudo.h:
28306         added ip_addrs def added load_ip_addrs prototype
28307         [c41c565d0777]
28308
28309 1994-08-08  Todd C. Miller  <Todd.Miller@courtesan.com>
28310
28311         * CHANGES:
28312         updated
28313         [2a128dbe9bcb]
28314
28315         * Makefile.in:
28316         removed multiple entries in DISTFILES
28317         [2490f4f371e6]
28318
28319         * visudo.c:
28320         ansified the !STDC_HEADERS decls
28321         [646ba06d17ae]
28322
28323         * find_path.c, getcwd.c, getwd.c, putenv.c, strdup.c:
28324         don't do malloc decl if gnuc
28325         [f1bad1925f98]
28326
28327         * sudo.c:
28328         can't use getopt(3) since it munges args to the command to be run as
28329         root don't do malloc decl if gnuc
28330         [38e78f6da14e]
28331
28332         * find_path.c, getcwd.c, getwd.c, putenv.c, strdup.c, sudo.c,
28333         sudo_realpath.c, sudo_setenv.c:
28334         ansi-fied !STDC_HEADER function prottypes
28335         [51d8cad89976]
28336
28337         * getcwd.c, getwd.c:
28338         added missing paren
28339         [6a1fae70e27e]
28340
28341         * Makefile.in:
28342         added putenv.c to DISTFILES
28343         [a5e4523eabbb]
28344
28345         * sudo_setenv.c:
28346         added params to func decls when STDC_HEADERS is not defined now can
28347         count on putenv() being there
28348         [fd587796189b]
28349
28350         * sudo_realpath.c:
28351         took out errno decl since sudo.h does it for us fixed up a next cc
28352         warning added params to func decls when STDC_HEADERS is not defined
28353         [70fa5152ace6]
28354
28355         * sudo.h:
28356         took out environ extern added local declaratio of putenv() if local
28357         version is needed
28358         [a84bae6c020d]
28359
28360         * find_path.c, getcwd.c, getwd.c, strdup.c, sudo.c:
28361         added params to func decls when STDC_HEADERS is not defined
28362         [f406f0e47ac0]
28363
28364         * config.h.in:
28365         added memcpy check check to see that ansi vs bsd macros are ntot
28366         already defiend before defining (ie: avoid redefinition)
28367         [879ae026e19f]
28368
28369         * configure.in:
28370         removed fluff setenv check plus check w/ replace for putenv if also
28371         no setenv
28372         [e3c03814ad4b]
28373
28374         * putenv.c:
28375         Initial revision
28376         [3cff63e2dc1b]
28377
28378 1994-08-06  Todd C. Miller  <Todd.Miller@courtesan.com>
28379
28380         * sudo_setenv.c:
28381         Initial revision
28382         [4d637631fa6b]
28383
28384         * sudo.h:
28385         rm'd s realp[ath added sudo_realpath and sudo_setenv
28386         [07ba001ff57e]
28387
28388         * sudo.c:
28389         now use sudo_setenvc
28390         [fd81e04d5ef0]
28391
28392         * configure.in:
28393         added puteenv and setenv, removed realpath
28394         [27bfacfb513b]
28395
28396         * config.h.in:
28397         added putenv & setenv
28398         [515f14eaf6e4]
28399
28400         * Makefile.in:
28401         added sudo_setenv
28402         [217731a717c5]
28403
28404         * version.h:
28405         ++
28406         [eadb346d7129]
28407
28408 1994-08-05  Todd C. Miller  <Todd.Miller@courtesan.com>
28409
28410         * configure.in:
28411         added MAN_POSTINSTALL and /usr/share/catman for irix
28412         [2a9496c1bdba]
28413
28414         * Makefile.in:
28415         added MAN_POSTINSTALL
28416         [89b0d4695529]
28417
28418         * CHANGES:
28419         added
28420         [48c021ba8a70]
28421
28422         * sudo.man:
28423         added SUDO_* plus new options
28424         [c0759cff5683]
28425
28426         * CHANGES:
28427         added one
28428         [7d44a3922d56]
28429
28430         * configure.in:
28431         took out shadow lib
28432         [07cf3de18701]
28433
28434         * TODO:
28435         adde done
28436         [a27a578e8afe]
28437
28438         * visudo.c:
28439         now use yyrestart() if flex now reset yylineno to 0
28440         [77d67ce0b677]
28441
28442         * Makefile.in:
28443         support for installing a cat page instead of a man page if no nroff
28444         [44671c0fc0fa]
28445
28446         * configure.in:
28447         now defines HAVE_FLEX fixed up man stuff so that it looks for nroff
28448         to determine whether or not to install a cat or man page
28449         [0562d069c135]
28450
28451         * config.h.in:
28452         added HAVE_FLEX
28453         [c5490bae39d3]
28454
28455         * sudo.c:
28456         not set ret to MODE_RUN initially
28457         [88b4983c195b]
28458
28459         * find_path.c:
28460         made command (and therefor cmnd dynamically allocated)
28461         [95b82e32b6de]
28462
28463         * TODO:
28464         did #8
28465         [fb6f41308cdf]
28466
28467         * version.h:
28468         ++
28469         [14112ecab5ae]
28470
28471         * sudo_realpath.c:
28472         changed bufs from MAXPATHLEN to MAXPATHLEN+1
28473         [0ad4f34e55c0]
28474
28475         * sudo.h:
28476         added MODE_ removed validate_only and added remove_timestamp()
28477         [dd5f99c57728]
28478
28479         * sudo.c:
28480         usage() now takes an int (exit value) added parse_args() to parse
28481         command line arguments moved call to find_path() from load_globals
28482         to new function load_cmnd() removed validate_only global -- now use
28483         the concept of "modes" added -h and -k options
28484         [c3887090b28a]
28485
28486         * parse.c:
28487         no longer use global validate_only now checks for command called
28488         "validate" removed check for non-fully qualified commands since that
28489         is done by find_path
28490         [7d56fbd26369]
28491
28492         * find_path.c:
28493         changed MAXPATHLEN r to MAXPATHLEN+1
28494         [a86e8664d971]
28495
28496         * find_path.c:
28497         fixed off by one error with MAXPATHLEN and fixed a comment
28498         [58adcef8c981]
28499
28500         * check.c:
28501         check_timestamp no longer runs reminder(), it is implied in the
28502         return val added remove_timestamp()
28503         [42ab5a77066f]
28504
28505         * CHANGES:
28506         updated
28507         [8e69b31df024]
28508
28509 1994-08-04  Todd C. Miller  <Todd.Miller@courtesan.com>
28510
28511         * BUGS:
28512         fixed on
28513         [bc34f1ac4280]
28514
28515         * sudo_realpath.c:
28516         took out old_errno
28517         [a168d00a0768]
28518
28519         * CHANGES:
28520         updated
28521         [04ba80922df7]
28522
28523 1994-08-03  Todd C. Miller  <Todd.Miller@courtesan.com>
28524
28525         * logging.c:
28526         moved send_mail to after syslog
28527         [4d4188087834]
28528
28529         * sudo.c:
28530         now set SUDO_ envariables
28531         [e5963f1bd3bb]
28532
28533 1994-08-01  Todd C. Miller  <Todd.Miller@courtesan.com>
28534
28535         * version.h:
28536         ++
28537         [2a4534845d8c]
28538
28539         * sudo_realpath.c:
28540         now print error if chdir fails
28541         [0d75c8973d49]
28542
28543         * find_path.c:
28544         removed an XXX
28545         [e2077bcb35aa]
28546
28547 1994-07-26  Todd C. Miller  <Todd.Miller@courtesan.com>
28548
28549         * CHANGES:
28550         updated
28551         [e30a2b39b41a]
28552
28553         * configure.in:
28554         no more static binaries for aix
28555         [77a0beb6bd80]
28556
28557 1994-07-25  Todd C. Miller  <Todd.Miller@courtesan.com>
28558
28559         * INSTALL:
28560         fixed typo
28561         [ba5e0d391bc4]
28562
28563         * sudo_realpath.c:
28564         took out stuff not needed for sudo now does be_root/be_user itself
28565         now uses cwd global
28566         [4f6d4641d793]
28567
28568         * version.h:
28569         +=2
28570         [97da927b297c]
28571
28572         * logging.c, sudo.c:
28573         be_root/be_user is now down in sudo_realpath()
28574         [f331662fa50f]
28575
28576         * logging.c, sudo.h:
28577         now works with 4.2BSD syslog (blech)
28578         [98e39d89dd36]
28579
28580         * find_path.c:
28581         now use sudo_realpath()
28582         [ab436a8ebd02]
28583
28584         * config.h.in:
28585         took out realpth() stuff since we now use sudo_realpath()
28586         [8de5ef9f6044]
28587
28588         * configure.in:
28589         ultrix enhanced sec
28590         [815fb7fffcc0]
28591
28592         * SUPPORTED:
28593         added ultrix enhanced sec.
28594         [6466766c8062]
28595
28596         * INSTALL:
28597         updated
28598         [d681a634297a]
28599
28600         * check.c:
28601         ultrix enhanced security suport
28602         [f10c8decbcc2]
28603
28604         * Makefile.in:
28605         added sudo_realpath.c
28606         [6b9bcd3be022]
28607
28608         * CHANGES:
28609         updated
28610         [2fa8084c1b53]
28611
28612         * tgetpass.c:
28613         increased passwd len to 24 for c2 security
28614         [ec64838be62d]
28615
28616         * BUGS:
28617         updated BUGS
28618         [ca00d8fec2ce]
28619
28620 1994-07-15  Todd C. Miller  <Todd.Miller@courtesan.com>
28621
28622         * check.c:
28623         now use user global var
28624         [568769719013]
28625
28626         * configure.in:
28627         took out -ls
28628         [490a44180d5f]
28629
28630 1994-07-14  Todd C. Miller  <Todd.Miller@courtesan.com>
28631
28632         * configure.in:
28633         added AFS libs
28634         [4fb40c8c01ba]
28635
28636         * sudo.h:
28637         user is now a char * added epasswd
28638         [27a919fafdfb]
28639
28640         * sudo.c:
28641         added tzset() to load_globals added epasswd (encrypted password)
28642         global made user dynamically allocated
28643         [b99ef9bdbfce]
28644
28645         * configure.in:
28646         added tzset test
28647         [27592dd1214b]
28648
28649         * config.h.in:
28650         added HAVE_TZSET
28651         [b13f4213f3d0]
28652
28653         * check.c:
28654         cleaned up encrypted passwd grab somewhat
28655         [c8ba9a4db38a]
28656
28657         * configure.in:
28658         fixed AFS typo
28659         [2bfcbce237b6]
28660
28661         * INSTALL:
28662         added AFS not
28663         [80c67329393c]
28664
28665         * CHANGES:
28666         udpated
28667         [2f09ecdd5d31]
28668
28669         * logging.c:
28670         can now log to both syslog & a file
28671         [4d5c0932bc01]
28672
28673         * sudo.h:
28674         added BOTH_LOGS
28675         [623c539be824]
28676
28677         * CHANGES:
28678         updated
28679         [a1c7f5ef3616]
28680
28681         * configure.in:
28682         --with-AFS
28683         [28718d8f5daf]
28684
28685         * config.h.in:
28686         added HAVE_AFS
28687         [2e32bb4e63e4]
28688
28689         * check.c:
28690         added afs changes
28691         [fe4d0ff320a2]
28692
28693         * sudo.h:
28694         removed AFS stuff :-)
28695         [a40387e6fa27]
28696
28697         * tgetpass.c:
28698         include sys/select for AIX
28699         [f32c5a8f2c84]
28700
28701         * sudo.h:
28702         added AFS
28703         [da2ab3dd0348]
28704
28705         * version.h:
28706         ++
28707         [452d4dfe25af]
28708
28709 1994-07-07  Todd C. Miller  <Todd.Miller@courtesan.com>
28710
28711         * CHANGES, SUPPORTED:
28712         updated
28713         [e7dfe6f23a37]
28714
28715         * logging.c:
28716         can now have MAILER undefined
28717         [1d33b98b35e1]
28718
28719         * INSTALL:
28720         new sub-note about MAILER
28721         [d35c636a0574]
28722
28723         * sudo.man:
28724         added blurb about password timeout
28725         [70c2ee50de20]
28726
28727         * configure.in:
28728         convex c2 changes
28729         [367138a6232e]
28730
28731         * aclocal.m4:
28732         took out duplicate define of _CONVEX_SOURCE
28733         [647182138450]
28734
28735         * Makefile.in:
28736         added OSDEFS
28737         [7fdcd50602d1]
28738
28739         * config.h.in:
28740         added spaces
28741         [f2b8a05e48f3]
28742
28743         * tgetpass.c:
28744         added a goto if fgets fails
28745         [68a6586d9c45]
28746
28747         * sudo.h:
28748         use __hpux not hpux convex c2 stuff
28749         [5c377a8d5f34]
28750
28751         * sudo.c:
28752         use __hpux not hpux
28753         [9363bc0f9f9e]
28754
28755         * logging.c:
28756         convex c2 stuff
28757         [ea5630975ac4]
28758
28759         * config.h.in:
28760         define ansi-ish cpp os defines if non-ansi are defined for hpux &
28761         convex
28762         [664f53a5e786]
28763
28764         * INSTALL:
28765         updated to say we support sonvex C2
28766         [5f2f8b87013e]
28767
28768         * check.c:
28769         added convex c2 support
28770         [9a665d4918fa]
28771
28772 1994-07-01  Todd C. Miller  <Todd.Miller@courtesan.com>
28773
28774         * tgetpass.c:
28775         no more ioctl never returns NULL uses fgets() and select() to
28776         timeout
28777         [b333e6d63e97]
28778
28779 1994-06-29  Todd C. Miller  <Todd.Miller@courtesan.com>
28780
28781         * configure.in:
28782         things were testing -n "$GCC" instead of -z "$GCC"
28783         [059a9b15ede2]
28784
28785         * tgetpass.c:
28786         now works + uses fgets()
28787         [353d7ebcb7bb]
28788
28789 1994-06-28  Todd C. Miller  <Todd.Miller@courtesan.com>
28790
28791         * tgetpass.c:
28792         select doesn't seem to recognize a single '\n' as input waiting so
28793         we can;t use it, sigh.
28794         [f76e3218b835]
28795
28796 1994-06-26  Todd C. Miller  <Todd.Miller@courtesan.com>
28797
28798         * PORTING:
28799         updated tgetpass() blurb
28800         [95baac736b49]
28801
28802         * configure.in:
28803         added --with-getpass
28804         [42ac0bdf58ed]
28805
28806         * Makefile.in:
28807         added tgetpass stuff
28808         [e2b38c635663]
28809
28810         * tgetpass.c:
28811         now uses stdio
28812         [36af8ff66e35]
28813
28814         * version.h:
28815         ++
28816         [4e81c9db19bd]
28817
28818 1994-06-24  Todd C. Miller  <Todd.Miller@courtesan.com>
28819
28820         * PORTING:
28821         updated ,.
28822         [54f523770a05]
28823
28824         * config.h.in:
28825         added USE_GETPASS && HAVE_C2_SECURITY
28826         [86b355cb2953]
28827
28828         * configure.in:
28829         fixed a test aded --with-C2 and --with-tgetpass
28830         [abf6181588ef]
28831
28832         * check.c:
28833         added hpux C2 shit
28834         [20d4177ffa88]
28835
28836         * Makefile.in:
28837         took out tgetpass.*
28838         [cc82fd9984b4]
28839
28840         * INSTALL:
28841         added C2 blurb
28842         [1d2bfc35e4b6]
28843
28844 1994-06-13  Todd C. Miller  <Todd.Miller@courtesan.com>
28845
28846         * configure.in:
28847         no termio(s) for ultrix since it is broken
28848         [d3e82e835350]
28849
28850         * check.c:
28851         added a space (yeah, anal)
28852         [05e4b31ca68c]
28853
28854         * realpath.c, sudo_realpath.c:
28855         fixed it (duh, rtfm)
28856         [f13097cb8cb6]
28857
28858 1994-06-08  Todd C. Miller  <Todd.Miller@courtesan.com>
28859
28860         * config.h.in:
28861         took out bsd signal stuff for irix
28862         [e179cdafc97a]
28863
28864         * visudo.c:
28865         comments in #endif
28866         [e3a629190f5e]
28867
28868         * configure.in:
28869         don't define BSD signals for irix
28870         [3ce57bffb7f0]
28871
28872         * TODO:
28873         did some...
28874         [274241cd0f74]
28875
28876         * CHANGES:
28877         updated
28878         [8f29fc755faf]
28879
28880         * realpath.c, sudo_realpath.c:
28881         took out unneeded code by changing where a strings was terminated
28882         [b5564d62d30e]
28883
28884 1994-06-07  Todd C. Miller  <Todd.Miller@courtesan.com>
28885
28886         * realpath.c, sudo_realpath.c:
28887         fix bug where /dirname would return NULL
28888         [b85f470daf26]
28889
28890         * sudo.h:
28891         move __P to config.h
28892         [7763c0ff3f28]
28893
28894         * getcwd.c, getwd.c, realpath.c, sudo_realpath.c:
28895         added errno definition
28896         [4cc9d2d9782a]
28897
28898         * config.h.in:
28899         added __P
28900         [ca06f5aa58f3]
28901
28902         * config.h.in:
28903         added HAVE_FCHDIR
28904         [206d714641e0]
28905
28906         * strdup.c:
28907         now include stdio
28908         [0d8458da0e1d]
28909
28910         * realpath.c, sudo_realpath.c:
28911         now works if no fchdir
28912         [e035911b6722]
28913
28914         * visudo.c:
28915         define SA_RESETHAND to null if not defined
28916         [afec03e84342]
28917
28918         * configure.in:
28919         added check & replace
28920         [c1a65481441c]
28921
28922         * configure.in:
28923         took out -static for nextstep -- it doesn't work
28924         [fa1a1a611743]
28925
28926 1994-06-06  Todd C. Miller  <Todd.Miller@courtesan.com>
28927
28928         * logging.c:
28929         moved #endif to where it belongs
28930         [07d3a8972097]
28931
28932         * SUPPORTED:
28933         correction
28934         [0c1ecba3e5a3]
28935
28936         * configure.in:
28937         now checks for strdup realpath getcwd bzero
28938         [f029a1917515]
28939
28940         * config.h.in:
28941         emulate bzero
28942         [d792352e44a3]
28943
28944         * visudo.c:
28945         added posic signals
28946         [2ed0005f90fc]
28947
28948         * tgetpass.c:
28949         bzero cast
28950         [6d91b1a1526f]
28951
28952         * logging.c:
28953         added posix signals
28954         [67ede9c22a05]
28955
28956         * configure.in:
28957         removed BROKEN_GETPASS added new srcs toreplace missing functions
28958         [cf44274bb1c8]
28959
28960         * config.h.in:
28961         added posix signal stuff
28962         [a3c1c98fe8ef]
28963
28964         * Makefile.in:
28965         added new srcs
28966         [b6a079afee47]
28967
28968         * visudo.c:
28969         updated useag
28970         [589ed091c44f]
28971
28972         * tgetpass.c:
28973         now uses posix signals
28974         [30f74964074f]
28975
28976         * PORTING:
28977         updated sto reflect major changes
28978         [bcfc309e017b]
28979
28980         * CHANGES, TODO:
28981         updated
28982         [23aacbd54278]
28983
28984         * tgetpass.c:
28985         uses sysconf() if available
28986         [a27431c90bab]
28987
28988         * sudo.h:
28989         added PASSWORD_TIMEOUT + prototypes for new functions
28990         [d7473c2f77c4]
28991
28992         * realpath.c, sudo_realpath.c:
28993         for those w/o this in libc
28994         [1e47aa7a9d46]
28995
28996         * getcwd.c, getwd.c:
28997         Initial revision
28998         [c90dea57a84f]
28999
29000         * find_path.c:
29001         rewrote to use realpath(3) - nis now all my code
29002         [d2c3bb8fb37d]
29003
29004         * config.h.in:
29005         added HAVE_REALPATH
29006         [02c10352a8c7]
29007
29008         * check.c:
29009         now use tgetpass
29010         [b5c021fc179f]
29011
29012         * Makefile.in:
29013         added LIBOBJS use tgetpass.c
29014         [230a7b3eeaa3]
29015
29016 1994-06-05  Todd C. Miller  <Todd.Miller@courtesan.com>
29017
29018         * tgetpass.c:
29019         works now :-)
29020         [025e7a3875ba]
29021
29022         * tgetpass.c:
29023         Initial revision
29024         [3316ab33b230]
29025
29026         * pathnames.h.in:
29027         added /dev/tty
29028         [29242585e53f]
29029
29030 1994-06-04  Todd C. Miller  <Todd.Miller@courtesan.com>
29031
29032         * version.h:
29033         incremented
29034         [f2e54b48280f]
29035
29036         * sudo.c:
29037         always use getcwd
29038         [c6068e8a4029]
29039
29040         * config.h.in:
29041         added check for getwd
29042         [ab1e102ad673]
29043
29044         * configure.in:
29045         replace strdup & realpath & getcwd if missing
29046         [b0eb14f2a1c3]
29047
29048         * pathnames.h.in:
29049         added _PATH_PWD
29050         [309d2388f69a]
29051
29052         * aclocal.m4:
29053         added SUDO_PROG_PWD
29054         [e16e85deb96c]
29055
29056         * strdup.c:
29057         Initial revision
29058         [810efdc15007]
29059
29060         * realpath.c, sudo_realpath.c:
29061         Initial revision
29062         [d85eee438e09]
29063
29064 1994-06-03  Todd C. Miller  <Todd.Miller@courtesan.com>
29065
29066         * configure.in:
29067         quoted quare brackets
29068         [d0e7ca111d98]
29069
29070 1994-06-02  Todd C. Miller  <Todd.Miller@courtesan.com>
29071
29072         * sudo.c:
29073         no need to strdup() a constant
29074         [a8c44712df9a]
29075
29076         * CHANGES:
29077         updated
29078         [71364129cca0]
29079
29080         * sudo.man:
29081         added validate
29082         [0bb198095a26]
29083
29084         * sudo.c:
29085         added -v to usage
29086         [31ea71f11dbb]
29087
29088         * parse.c, sudo.c, sudo.h:
29089         added validate_only stuff
29090         [9bcd853d3c90]
29091
29092 1994-05-30  Todd C. Miller  <Todd.Miller@courtesan.com>
29093
29094         * configure.in:
29095         now finds sed
29096         [6374bb0d3f28]
29097
29098         * aclocal.m4:
29099         $OSREV is now an int
29100         [ace0666d66cf]
29101
29102 1994-05-29  Todd C. Miller  <Todd.Miller@courtesan.com>
29103
29104         * configure.in:
29105         added mtxinu to caser
29106         [73a776887b16]
29107
29108         * sudo.h:
29109         added EXEC macro
29110         [2e8eb28b710a]
29111
29112         * sudo.c:
29113         now use the EXEC nmacro now only do a gethostbyname() if FQDN is set
29114         [56afb4f658d5]
29115
29116         * logging.c:
29117         changed mail_argv[] def now use EXEC() macro
29118         [ddcabd28edb1]
29119
29120         * check.c:
29121         took out crypt() definition
29122         [0e657724cf5f]
29123
29124         * version.h:
29125         upped the version
29126         [62c5d66119fc]
29127
29128         * configure.in:
29129         always look for -lnsl
29130         [d7b594f0313b]
29131
29132         * aclocal.m4:
29133         added an echo
29134         [1caae3491dc5]
29135
29136         * sudo.h:
29137         SHORT_MESSAGE is now the default
29138         [cfce35c3119a]
29139
29140         * config.h.in:
29141         fixed typo
29142         [6499a564bf75]
29143
29144         * configure.in:
29145         added missing AC_DEFINE(SVR4) for solaris
29146         [feef0b17b94f]
29147
29148         * sudo.man:
29149         documented the -v flag
29150         [a6429f2bc2cf]
29151
29152         * SUPPORTED:
29153         updated
29154         [088886e79540]
29155
29156         * check.c:
29157         proto-ized crypt()
29158         [801e4ff5b121]
29159
29160         * config.h.in:
29161         added LIBSHADOW undef
29162         [8df588e9ee2b]
29163
29164         * configure.in:
29165         nwo set OS to be lowercase
29166         [561ebed833e4]
29167
29168 1994-05-28  Todd C. Miller  <Todd.Miller@courtesan.com>
29169
29170         * configure.in:
29171         now use SUDO_OSTYPE to set $OS
29172         [0e60aee23098]
29173
29174         * aclocal.m4:
29175         now use uname to determine os
29176         [99705e58d400]
29177
29178         * visudo.c:
29179         added prototypes & moved sig handler around
29180         [1f0bc8d23b51]
29181
29182         * sudo.h:
29183         added prototyppes
29184         [be3935a2b163]
29185
29186         * check.c, logging.c, sudo.c:
29187         added prototypes
29188         [2079b4605ab8]
29189
29190         * parse.c:
29191         added comment
29192         [a34d147d8399]
29193
29194         * config.h.in:
29195         nwo use _BSD_SIGNALS not _BSD_COMPAT
29196         [63663195f047]
29197
29198         * aixcrypt.exp:
29199         Initial revision
29200         [890aed08357e]
29201
29202         * Makefile.in:
29203         added aixcrypt.exp
29204         [1005a183105f]
29205
29206         * parse.lex, parse.yacc:
29207         moved config.h to top of includes
29208         [9569c49aa5f3]
29209
29210 1994-05-25  Todd C. Miller  <Todd.Miller@courtesan.com>
29211
29212         * find_path.c:
29213         now don't bitch if get EACCESS (treat like EPERM)
29214         [dbeffb638de4]
29215
29216         * visudo.c:
29217         added -v flag and usage()
29218         [4d44ed60ed75]
29219
29220         * version.h:
29221         fixed a typo
29222         [cf3f9347ae41]
29223
29224         * sudo.c:
29225         cast Argv to a const for exec added -v flag
29226         [d11b6efc0e45]
29227
29228         * logging.c:
29229         mail_argv is now a const
29230         [93bb5d90bb6f]
29231
29232         * configure.in:
29233         only set RETSIGTYPE if it is not set already
29234         [c97aac260b77]
29235
29236         * aclocal.m4:
29237         now defines & STDC_HEADERS for Irix
29238         [9c2b24ad1fc5]
29239
29240         * Makefile.in:
29241         added version.h
29242         [9f79e880229a]
29243
29244         * insults.h, sudo.h:
29245         prevent multiple inclusion
29246         [d68c8a9243ce]
29247
29248         * version.h:
29249         Initial revision
29250         [dbb39c5ef8d9]
29251
29252         * parse.lex, parse.yacc:
29253         now includes config.h
29254         [f117e036a56b]
29255
29256         * aclocal.m4:
29257         now talks about sunos 4.x
29258         [c9054aa92d4e]
29259
29260         * visudo.c:
29261         calls to Exit now pass an arg
29262         [a92104670551]
29263
29264 1994-05-24  Todd C. Miller  <Todd.Miller@courtesan.com>
29265
29266         * visudo.c:
29267         signal handler now takes an int argument
29268         [26f480c41523]
29269
29270         * CHANGES:
29271         updated
29272         [8c166a9d796b]
29273
29274         * sudo.c:
29275         ok, the getcwd() is now *really* done as the user
29276         [ab86cf85134a]
29277
29278         * configure.in:
29279         changed AIX STATIC_FLAGS
29280         [b9c0a3ba5663]
29281
29282         * aclocal.m4:
29283         solaris now defines SVR4
29284         [c3e20cac96f5]
29285
29286         * sudo.h:
29287         added cwd and fixed stupid core dump that makes no sense. sigh.
29288         [7a9755436dbb]
29289
29290         * sudo.c:
29291         moved getcwd stuff into load_globals
29292         [ec2bc90df1f3]
29293
29294         * parse.c:
29295         took out externs that are in suod.h
29296         [93c4b3f856d7]
29297
29298         * logging.c:
29299         moved cwd into load_globals
29300         [050de754d228]
29301
29302         * find_path.c:
29303         moved cwd stuff
29304         [22f3f3b4c34d]
29305
29306         * Makefile.in:
29307         fixed make distclean & realclean
29308         [c9964d89bcef]
29309
29310         * TODO:
29311         updated .,
29312         [e513581ef0e3]
29313
29314         * CHANGES:
29315         added solaris changes
29316         [505d930daf27]
29317
29318         * aclocal.m4:
29319         added solaris changes, need to rework
29320         [33f20fb16c49]
29321
29322         * configure.in:
29323         cleaned up for solaris
29324         [2fb8cfa05d0f]
29325
29326         * logging.c:
29327         reinstall reapchild signal handler for non-bsd signals
29328         [3d1dc545113d]
29329
29330         * sudo.h:
29331         took out getdtablesize() emulation for HP-UX (no longer needed)
29332         [1fc83d170f34]
29333
29334         * sudo.c:
29335         support for HAVE_SYSCONF
29336         [50ca2a7a224a]
29337
29338         * visudo.c:
29339         added <fcntl.h> for solaris & reorg'd the includes + minor prettying
29340         up /
29341         [0a570e826dd4]
29342
29343         * config.h.in:
29344         added HAVE_SYSCONF
29345         [2b9a9f3a4e94]
29346
29347 1994-05-16  Todd C. Miller  <Todd.Miller@courtesan.com>
29348
29349         * configure.in:
29350         now tells you what os you are running /.
29351         [06c6332a895b]
29352
29353         * aclocal.m4:
29354         took out extra ','
29355         [e8c75ce59f4a]
29356
29357 1994-05-14  Todd C. Miller  <Todd.Miller@courtesan.com>
29358
29359         * config.h.in:
29360         added _BSD_COMPAT
29361         [73c5099806c2]
29362
29363         * aclocal.m4:
29364         fixed for irix5
29365         [1047d1f6c0eb]
29366
29367         * CHANGES:
29368         updated
29369         [1bc4969fee96]
29370
29371         * sudo.c:
29372         uid seinitialized to -2
29373         [8d7812b1878b]
29374
29375 1994-04-28  Todd C. Miller  <Todd.Miller@courtesan.com>
29376
29377         * sudo.c:
29378         now removes LIBPATH for AIX
29379         [075392eb1dd9]
29380
29381 1994-03-13  Todd C. Miller  <Todd.Miller@courtesan.com>
29382
29383         * configure.in:
29384         now uses ufc if it finds it
29385         [ab6ce30a5958]
29386
29387 1994-03-12  Todd C. Miller  <Todd.Miller@courtesan.com>
29388
29389         * sudo.h:
29390         no longer define yyval & yylval since yacc does it
29391         [09d250aea50a]
29392
29393         * parse.lex:
29394         now defines yylval as extenr
29395         [8ec2b88952bc]
29396
29397         * configure.in:
29398         BROKEN_GETPASS is now an OPTION
29399         [3714f4bb8312]
29400
29401         * config.h.in:
29402         took out BROKEN_GETPASS
29403         [9c4f6aa50137]
29404
29405         * Makefile.in:
29406         took out big comment
29407         [4c13cff0e556]
29408
29409         * README:
29410         updated
29411         [b8b9902b620d]
29412
29413         * Makefile.in:
29414         took out README.beta
29415         [ed2cd861e82b]
29416
29417         * SUPPORTED:
29418         Initial revision
29419         [2fffc51e6606]
29420
29421         * INSTALL:
29422         now reference SUPPORTED .,
29423         [d112c30be1f2]
29424
29425         * config.h.in:
29426         now check for convex OR __convex__
29427         [a0e5701a3069]
29428
29429         * aclocal.m4:
29430         now check for convex or __convex__
29431         [5dae2bfbe3bc]
29432
29433         * Makefile.in:
29434         added dist target
29435         [400a54de57db]
29436
29437         * aclocal.m4:
29438         use __convex__
29439         [58a19470ed0b]
29440
29441         * find_path.c:
29442         now use _S_* stat stuff to be ansi-like
29443         [28cce560e048]
29444
29445         * INSTALL:
29446         updated for configure directions
29447         [a034ccc7c30a]
29448
29449         * Makefile.in:
29450         distclean now removes config.h and pathnames.h
29451         [300f2349b4ab]
29452
29453         * CHANGES:
29454         updated
29455         [646f7e9430c1]
29456
29457         * TODO:
29458         fixed typoe
29459         [70fd6361b2bc]
29460
29461         * visudo.c:
29462         updated version
29463         [cf13d87d789f]
29464
29465         * Makefile.in:
29466         updated version
29467         [8c5dacc27a7a]
29468
29469         * config.h.in, pathnames.h.in:
29470         added copyright header
29471         [747ce3d3d6b7]
29472
29473         * check.c, find_path.c, insults.h, logging.c, parse.c, parse.lex,
29474         parse.yacc, sudo.c, sudo.h:
29475         udpated version
29476         [4751c39bad18]
29477
29478         * visudo.c:
29479         udpated to use configure + pathnames.h
29480         [d45dff76a1cd]
29481
29482         * aclocal.m4:
29483         updated
29484         [f05a367a55be]
29485
29486         * Makefile.in, config.h.in, configure.in:
29487         updated
29488         [524778598879]
29489
29490         * sudo.h:
29491         now works with configure
29492         [83fc40e533f4]
29493
29494         * check.c, find_path.c, getpass.c, logging.c, parse.c, sudo.c:
29495         updated to work with configure + pathnames.h
29496         [cb67fa6ab52d]
29497
29498         * Makefile.in:
29499         added LEXLIB
29500         [f43cad4ab0a2]
29501
29502 1994-03-10  Todd C. Miller  <Todd.Miller@courtesan.com>
29503
29504         * COPYING:
29505         updated gnu general licence to versio 2
29506         [2b0b56112ddc]
29507
29508         * config.h.in, pathnames.h.in:
29509         Initial revision
29510         [4b586f39ec2d]
29511
29512         * sudo.h:
29513         changed to work with configure
29514         [13f3506ddf16]
29515
29516 1994-03-09  Todd C. Miller  <Todd.Miller@courtesan.com>
29517
29518         * Makefile.in, aclocal.m4, configure.in:
29519         Initial revision
29520         [a8636ae77371]
29521
29522         * visudo.c:
29523         now uses defines used by configure
29524         [de438d118993]
29525
29526 1994-03-01  Todd C. Miller  <Todd.Miller@courtesan.com>
29527
29528         * find_path.c:
29529         sudo won't bitch about EPERM now, for real
29530         [ce26d9ef7e3f]
29531
29532 1994-02-28  Todd C. Miller  <Todd.Miller@courtesan.com>
29533
29534         * logging.c:
29535         renamed exec_argv to eliminate a libc name clash with ksros
29536         [bcb4350d8411]
29537
29538         * CHANGES:
29539         corrected
29540         [dae68d422efd]
29541
29542         * logging.c, sudo.c, sudo.h:
29543         execve -> execv
29544         [40cc2c4bdb15]
29545
29546         * TODO:
29547         upated
29548         [9275a8b8fc45]
29549
29550         * PORTING:
29551         added 2 mroe items
29552         [6cbb5c56993c]
29553
29554         * CHANGES:
29555         updated
29556         [73f34f8e571a]
29557
29558         * sudo.h:
29559         added UMASK and mode_t declaration
29560         [7c2015e1d171]
29561
29562         * sudo.c:
29563         added UMASK
29564         [d37be7523680]
29565
29566         * logging.c:
29567         now opens log file with mode 077
29568         [0825cc3ee841]
29569
29570         * check.c:
29571         saved current umask ans restores it
29572         [659c1aaae8e8]
29573
29574         * sudo.h:
29575         added MAXLOGFILELEN
29576         [34331c7dee90]
29577
29578         * logging.c:
29579         split long log lines. FOr syslog, split into multiple entries, for
29580         a log file, indent the extra for readability
29581         [72c9e4cdba6e]
29582
29583 1994-02-27  Todd C. Miller  <Todd.Miller@courtesan.com>
29584
29585         * CHANGES:
29586         added changes
29587         [81196833673d]
29588
29589         * sudo.h:
29590         MAXLOGLEN & MAXSYSLOGLEN are now different (as they should be)
29591         [1aa69e903840]
29592
29593 1994-02-25  Todd C. Miller  <Todd.Miller@courtesan.com>
29594
29595         * TODO:
29596         added input from Brett M Hogden <hogden@rge.com>
29597         [80f01fc88ce9]
29598
29599 1994-02-16  Todd C. Miller  <Todd.Miller@courtesan.com>
29600
29601         * sudo.c:
29602         added rmenv() to remove stuff from environ. can now uses execvp()
29603         OR execve() becuase of this.
29604         [e7fc2535bd67]
29605
29606         * logging.c:
29607         now uses execvp() OR execve()
29608         [56391aa1f99d]
29609
29610         * sudo.h:
29611         added USE_EXECVE
29612         [f21f38050b95]
29613
29614         * sudo.h:
29615         added environ
29616         [6b805e23c6f6]
29617
29618         * find_path.c:
29619         now ignore EPERM
29620         [c8fd7117a1d7]
29621
29622         * sudo.h:
29623         moved some func decls out of sudo.h and into sudo.c as statics /.
29624         [5f555c267d27]
29625
29626         * CHANGES:
29627         updated
29628         [431f478af320]
29629
29630         * sudo.h:
29631         took out Envp
29632         [6f722be7793d]
29633
29634 1994-02-14  Todd C. Miller  <Todd.Miller@courtesan.com>
29635
29636         * BUGS:
29637         Initial revision
29638         [4a8ecf0da95c]
29639
29640 1994-02-10  Todd C. Miller  <Todd.Miller@courtesan.com>
29641
29642         * CHANGES:
29643         added SECURE_PATH
29644         [1c72cb222609]
29645
29646         * sudo.c, sudo.h:
29647         added SECURE_PATH
29648         [5bf5357a63c5]
29649
29650         * sudo.h:
29651         added SECURE_PATH
29652         [3976a74405ac]
29653
29654         * INSTALL:
29655         added sample.sudoers note
29656         [1b395d29aaeb]
29657
29658         * sudoers:
29659         Initial revision
29660         [485888d07477]
29661
29662 1994-02-09  Todd C. Miller  <Todd.Miller@courtesan.com>
29663
29664         * find_path.c:
29665         fixed typo
29666         [bfc3cc4d41ca]
29667
29668         * PORTING:
29669         took out SAVED_UID garbage
29670         [b7c2d3469661] [SUDO_1_3_0]
29671
29672         * INSTALL:
29673         mentioned HAL
29674         [253d6695df90]
29675
29676         * sudo.h:
29677         added HAL line
29678         [29ec1a4ac6de]
29679
29680         * insults.h:
29681         added HAL insults
29682         [7d7c96d77c74]
29683
29684         * TODO:
29685         updated
29686         [aa2ed9790586]
29687
29688         * logging.c:
29689         more verbose error if mailer not found
29690         [fca47fd00cb6]
29691
29692         * check.c:
29693         now do getpwent as root for soem shadow password systems (bsdi)
29694         [e0339e110d46]
29695
29696 1994-02-08  Todd C. Miller  <Todd.Miller@courtesan.com>
29697
29698         * sudo.h:
29699         took out SAVED_UID garbade
29700         [fcb0e81dcdb5]
29701
29702         * sudo.c:
29703         took out SAVED_UID garbage since it don't work
29704         [507e9513e9c2]
29705
29706 1994-02-06  Todd C. Miller  <Todd.Miller@courtesan.com>
29707
29708         * README:
29709         updated
29710         [d2b6b253dae5]
29711
29712         * insults.h:
29713         added a missing space :-)
29714         [8940ea991f87]
29715
29716         * sudo.c, sudo.h:
29717         took out multimax cruft
29718         [c2606b365181]
29719
29720         * INSTALL:
29721         minor update
29722         [05fb6ee73131]
29723
29724         * PORTING:
29725         finished
29726         [c4ac47c84dc5]
29727
29728         * sudo.c:
29729         fixed a typo + indentation
29730         [7eab40aae8fa]
29731
29732 1994-02-05  Todd C. Miller  <Todd.Miller@courtesan.com>
29733
29734         * sudo.h:
29735         took outumoved some defines to the config file ,. ,.
29736         [defff05beb52]
29737
29738         * PORTING:
29739         Initial revision
29740         [c803e9127959]
29741
29742         * TODO:
29743         did #6
29744         [c6fa1c946c31]
29745
29746         * sudo.h:
29747         added HAS_SAVED_UID
29748         [6a88a39c0a07]
29749
29750         * sudo.c:
29751         put back AIX cruft
29752         [a24d2507ddd4]
29753
29754 1994-02-03  Todd C. Miller  <Todd.Miller@courtesan.com>
29755
29756         * sudo.c:
29757         aix changes
29758         [1663915f754a]
29759
29760 1994-02-02  Todd C. Miller  <Todd.Miller@courtesan.com>
29761
29762         * CHANGES:
29763         updated
29764         [a8cc73747cae]
29765
29766         * check.c, logging.c, parse.c, sudo.c, sudo.h:
29767         now is only root when abs necesary
29768         [3c9d12c5cdfe]
29769
29770         * check.c:
29771         added missing %s\n
29772         [609320b72d89]
29773
29774 1994-01-31  Todd C. Miller  <Todd.Miller@courtesan.com>
29775
29776         * install-sh:
29777         Initial revision
29778         [b5bba140a175]
29779
29780         * TODO:
29781         updated
29782         [c9d2eba602af]
29783
29784         * CHANGES:
29785         updated
29786         [932f1fc3bb14]
29787
29788         * sudo.c:
29789         now removed _RLD_* for alphas
29790         [54a36e648158]
29791
29792         * INSTALL:
29793         updated for new config scheme
29794         [61c8ae800444]
29795
29796         * find_path.c:
29797         more verbose eror messages
29798         [b4fd123db42d]
29799
29800 1994-01-27  Todd C. Miller  <Todd.Miller@courtesan.com>
29801
29802         * TODO:
29803         now have solaris
29804         [371002fbf266]
29805
29806         * sudo.h:
29807         define __svr4__ for SOLARIS
29808         [0b5cf5ed936d]
29809
29810         * check.c:
29811         added svr4 junk for shadow pws for solaris 2.x
29812         [91ed58f21618]
29813
29814         * check.c, sudo.c:
29815         took out setuid(0) and setreuid(udi) garbage. Its not needed since
29816         we start out setuid with the correct perms.
29817         [07689e782b0b]
29818
29819         * check.c, sudo.c, sudo.h:
29820         now use setreuid()
29821         [7d64d685d78e]
29822
29823 1994-01-26  Todd C. Miller  <Todd.Miller@courtesan.com>
29824
29825         * sudo.man:
29826         revised AUTHORS secrtion & added ENV_EDITOR stuff to VARIABLES
29827         sectoin
29828         [b26967b1e19b]
29829
29830         * visudo.c:
29831         now uses ENV_EDITOR if you want to use the EDITOR envar
29832         [a4f8fcb9bd1d]
29833
29834         * sudo.h:
29835         now uses ENV_EDITOR if you want to use the EDITOR envar >> .
29836         [028cc55c4328]
29837
29838 1993-12-07  Todd C. Miller  <Todd.Miller@courtesan.com>
29839
29840         * INSTALL:
29841         rewrote most of this
29842         [a6750923f9c9]
29843
29844         * README:
29845         minor update + spell fix
29846         [a411717a7249]
29847
29848         * sudo.h:
29849         added all options that are in the Makefile
29850         [6db3b3b841b3]
29851
29852         * getpass.c:
29853         now use USE_TERMIO #define for sgi & hpux
29854         [b91f89ae6be1]
29855
29856         * TODO:
29857         todo: posix sigs
29858         [4548a56eb2ef]
29859
29860 1993-12-06  Todd C. Miller  <Todd.Miller@courtesan.com>
29861
29862         * check.c, find_path.c:
29863         always include strings.h
29864         [1fc20bda92c0]
29865
29866         * visudo.c:
29867         added STATICEDITOR
29868         [0596f820716e]
29869
29870         * sudo.h:
29871         sgi has vi in /usr/bin too
29872         [94203b62bfd9]
29873
29874         * sudo.man:
29875         added VISUAL
29876         [87c2844c4cac]
29877
29878 1993-12-03  Todd C. Miller  <Todd.Miller@courtesan.com>
29879
29880         * sudo.h:
29881         sue /usr/bin/vi on some systems
29882         [e3ad9190f35e]
29883
29884         * sudo.c:
29885         fixed warning (include strings.h)
29886         [0b896de4d8a0]
29887
29888         * sudo.man:
29889         added John_Rouillard@dl5000.bc.edu's changes (new features)
29890         [f41b4205a8cf]
29891
29892         * CHANGES:
29893         changes from John_Rouillard@dl5000.bc.edu
29894         [6bdef8e948d5]
29895
29896         * visudo.c:
29897         added EDITOR envar
29898         [5c4bf716de21]
29899
29900         * check.c, find_path.c, parse.c, sudo.c:
29901         added patches from John_Rouillard directory spec
29902         uses EDITOR
29903         [f62a435f8c41]
29904
29905 1993-12-02  Todd C. Miller  <Todd.Miller@courtesan.com>
29906
29907         * getpass.c:
29908         added flush for hpux
29909         [07cfdd6a7b55]
29910
29911 1993-11-30  Todd C. Miller  <Todd.Miller@courtesan.com>
29912
29913         * sudo.c:
29914         no longer assume malloc returns a char *
29915         [7480bd2756f3]
29916
29917         * sudo.c:
29918         alpha change to remove LD_-like thing fixed SHLIB_PATH stuff -- now
29919         gets removed correctly
29920         [8587166c6ac8]
29921
29922         * sudo.h:
29923         added STD_HEADERS macro
29924         [480f5a9a516c]
29925
29926         * sudo.c:
29927         now uses STD_HEADERS macor for ansi
29928         [c5018806fd59]
29929
29930         * find_path.c:
29931         now uses STD_HEADERS macro
29932         [ad821e0788ea]
29933
29934         * check.c:
29935         niceties for C compiler bitches -- no real change
29936         [0fc0b1a5fb64]
29937
29938 1993-11-29  Todd C. Miller  <Todd.Miller@courtesan.com>
29939
29940         * visudo.c:
29941         now doesn't fclose a file never opened.
29942         [ee888ec9427d]
29943
29944 1993-11-28  Todd C. Miller  <Todd.Miller@courtesan.com>
29945
29946         * sudo.man:
29947         added visudo line
29948         [698d51c66407]
29949
29950         * sudo.man:
29951         added error stuff added me in there...
29952         [d202fd34b906]
29953
29954         * CHANGES:
29955         noted insults
29956         [998a22c2230c]
29957
29958         * INSTALL:
29959         added blurb about reading stuff
29960         [e71db100798f]
29961
29962         * sudo.h:
29963         added insults
29964         [c110431cec56]
29965
29966         * insults.h:
29967         corrected somments and removed newlines
29968         [493706fd488c]
29969
29970         * check.c:
29971         now uses insults
29972         [6d23cf06a0ef]
29973
29974         * insults.h:
29975         Initial revision
29976         [83153c26b4a3]
29977
29978         * INSTALL:
29979         added dec syslog note
29980         [555437273237]
29981
29982         * sample.sudoers:
29983         added real stuff in there
29984         [53442a7fba78]
29985
29986         * TODO:
29987         added a todo
29988         [c630472bd4dc]
29989
29990         * TODO:
29991         added one
29992         [806464453284]
29993
29994 1993-11-27  Todd C. Miller  <Todd.Miller@courtesan.com>
29995
29996         * sample.sudoers:
29997         Initial revision
29998         [7db0a9f1ca8f]
29999
30000         * sudo.man:
30001         updated with changes
30002         [d9bf254c6c08]
30003
30004         * sudo.man:
30005         Initial revision
30006         [dd6f11174ac6]
30007
30008         * indent.pro:
30009         Initial revision
30010         [dbfbb494fad9]
30011
30012         * CHANGES, COPYING, INSTALL, README, TODO:
30013         Initial revision
30014         [6d98f489a079]
30015
30016         * visudo.c:
30017         updated version number and took out jeff's old addr since it is no
30018         good
30019         [ee47c24818cb]
30020
30021         * check.c, find_path.c, logging.c, parse.c, parse.lex, parse.yacc,
30022         sudo.c, sudo.h:
30023         updated version number and took out jeff's email (since it is
30024         invalid)
30025         [54616458a52e]
30026
30027 1993-10-28  Todd C. Miller  <Todd.Miller@courtesan.com>
30028
30029         * check.c:
30030         added fflush()
30031         [145c881f4fb4]
30032
30033 1993-10-23  Todd C. Miller  <Todd.Miller@courtesan.com>
30034
30035         * find_path.c:
30036         now return NULL instead pf\b\bof exiting for nopn\b\bn-fatal errors
30037         [8bc74f8cb1ae]
30038
30039 1993-10-21  Todd C. Miller  <Todd.Miller@courtesan.com>
30040
30041         * check.c:
30042         new banner
30043         [5387ab2af516]
30044
30045         * parse.lex:
30046         now sudo.h gets included first
30047         [2acb01c18e18]
30048
30049 1993-10-18  Todd C. Miller  <Todd.Miller@courtesan.com>
30050
30051         * parse.lex:
30052         now can use flex
30053         [164d3839adf0]
30054
30055         * sudo.h:
30056         linux patch
30057         [f1b6b1b1a2ca]
30058
30059         * sudo.c:
30060         hpux 9 fix, removes SHLIB_PATH linux patch
30061         [67611dc1737f]
30062
30063         * check.c:
30064         linux diff
30065         [c24536682397]
30066
30067 1993-10-15  Todd C. Miller  <Todd.Miller@courtesan.com>
30068
30069         * find_path.c:
30070         stat now ignores EINVAL
30071         [c7761a5dc642]
30072
30073 1993-10-06  Todd C. Miller  <Todd.Miller@courtesan.com>
30074
30075         * find_path.c, sudo.c:
30076         now declare strdup as extern
30077         [6b7d6f8784b5]
30078
30079 1993-10-04  Todd C. Miller  <Todd.Miller@courtesan.com>
30080
30081         * visudo.c:
30082         reformatted with indent + by hand
30083         [9d43084e4990]
30084
30085         * check.c, find_path.c, getpass.c, logging.c, parse.c, sudo.c, sudo.h:
30086         used indent to "fix" coding style
30087         [489ffacbdc70]
30088
30089         * find_path.c:
30090         now checks '.' or '.' or '' in PATH -- but does it LAST should maybe
30091         move the code that does this into the loop body. makes it messier
30092         tho. hmmm.
30093         [c4d22b48da9a]
30094
30095 1993-09-08  Todd C. Miller  <Todd.Miller@courtesan.com>
30096
30097         * find_path.c:
30098         redid the fix for non-executable files in an easier to read way plus
30099         some minor aethetic changes
30100         [84fe337f1426]
30101
30102         * find_path.c:
30103         fixed bug with non-executable tings of same name in path introduced
30104         by checkig errno after stat(2).
30105         [c2a812cfcbc1]
30106
30107 1993-09-05  Todd C. Miller  <Todd.Miller@courtesan.com>
30108
30109         * sudo.c:
30110         fixed off by one error
30111         [fabb7cee0041]
30112
30113         * find_path.c:
30114         now handles decending below '/' correctly
30115         [5d2ddfc0b220]
30116
30117         * sudo.c:
30118         now actually builds Envp instead of munging envp
30119         [bdc4b08f6898]
30120
30121 1993-09-04  Todd C. Miller  <Todd.Miller@courtesan.com>
30122
30123         * parse.yacc:
30124         now includes sys/param.h
30125         [efbb494ab4de]
30126
30127         * visudo.c:
30128         now includes sys/param.h
30129         [ad6c91d59958]
30130
30131         * sudo.h:
30132         fixed ifndef -> ifdef
30133         [7aebe822d863]
30134
30135         * qualify.c:
30136         make more like find_path.c
30137         [853b2dab2e03]
30138
30139         * find_path.c:
30140         rewritten by millert
30141         [c6a043cc11b3]
30142
30143         * sudo.h:
30144         fixed MAXCOMMANDLENGTH now uses USE_CWD and NEED_STRDUP added info
30145         about new defines in the comment
30146         [39ffefce3aec]
30147
30148         * logging.c:
30149         now uses USE_CWD
30150         [fa0f3b118bb3]
30151
30152         * sudo.h:
30153         added delc for clean_envp() and Envp
30154         [a12034e300c2]
30155
30156         * sudo.c:
30157         now rips LD_* env vars out of envp and passed sanitized Envp to exec
30158         [d201a218e056]
30159
30160         * logging.c:
30161         now uses execve()
30162         [f3e01032cd33]
30163
30164         * find_path.c:
30165         ENOTDIR is ok now too (in case part of the path is bogus)
30166         [b5cbbb201bb5]
30167
30168         * qualify.c:
30169         now works correctly (ttaltotal rewrite)
30170         [0c25d64a5c68]
30171
30172         * parse.lex:
30173         now includes sys/param.h didn't match trailing / -- fix from
30174         rouilj@cs.umb.edu
30175         [b6363ba110af]
30176
30177 1993-06-11  Todd C. Miller  <Todd.Miller@courtesan.com>
30178
30179         * sudo.c:
30180         moved around the #ifndef _AIX
30181         [7d4330950c20]
30182
30183         * check.c, logging.c, parse.c:
30184         Initial revision
30185         [c101e9572d7f]
30186
30187 1993-03-20  Todd C. Miller  <Todd.Miller@courtesan.com>
30188
30189         * qualify.c:
30190         Initial revision
30191         [5a5f21d0e0bf]
30192
30193 1993-03-13  Todd C. Miller  <Todd.Miller@courtesan.com>
30194
30195         * find_path.c:
30196         now works if you do sudo bin/test
30197         [07835120ce43]
30198
30199         * find_path.c:
30200         works
30201         [c3da8b5efa20]
30202
30203 1993-03-02  Todd C. Miller  <Todd.Miller@courtesan.com>
30204
30205         * sudo.h:
30206         Initial revision
30207         [28a1caa38b72]
30208
30209         * visudo.c:
30210         Initial revision
30211         [0e5cd7c3cdbe]
30212
30213         * parse.lex, parse.yacc:
30214         Initial revision
30215         [5f2d0cccb06b]
30216
30217 1993-02-16  Todd C. Miller  <Todd.Miller@courtesan.com>
30218
30219         * sudo.c:
30220         took out errno.h
30221         [7466431a2655]
30222
30223         * sudo.c:
30224         now spews error if exec fails and exits with -1
30225         [e5c41ea725c1]
30226
30227         * sudo.c:
30228         Initial revision
30229         [8aeabe39a0c2]
30230
30231         * find_path.c:
30232         now only execs files with (an) executable bit set.
30233         [0a451f9c0e58]
30234
30235         * find_path.c:
30236         Initial revision
30237         [02a534891a35]
30238
30239 1993-02-15  Todd C. Miller  <Todd.Miller@courtesan.com>
30240
30241         * getpass.c:
30242         added nice comment
30243         [ea8b2aaa9389]
30244
30245         * getpass.c:
30246         now works on sgi's
30247         [bf2b7c6d0960]
30248
30249         * getpass.c:
30250         Initial revision
30251         [9f4de251c1b5]
30252