changelog for new upstream version
[debian/sudo] / ChangeLog
1 2011-10-25  Todd C. Miller  <Todd.Miller@courtesan.com>
2
3         * plugins/sudoers/Makefile.in:
4         check_addr needs to link with the network libraries on Solaris
5         [322bd70e316e]
6
7         * plugins/sudoers/match.c:
8         When matching a RunasAlias for a runas group, pass the alias in as
9         the group_list, not the user_list. From Daniel Kopecek.
10         [766545edf141]
11
12         * plugins/sudoers/check.c, plugins/sudoers/sudoers.c:
13         We need to init the auth system regardless of whether we need a
14         password since we will be closing the PAM session in the monitor
15         process. Fixes a crash in the monitor on Solaris; bugzilla #518
16         [e82809f86fb3]
17
18 2011-10-21  Todd C. Miller  <Todd.Miller@courtesan.com>
19
20         * .hgtags:
21         Added tag SUDO_1_8_3 for changeset 82bec4d3a203
22         [6c953ef6f577] <1.8>
23
24         * Update Japanese sudoers translation from translationproject.org
25         [82bec4d3a203] [SUDO_1_8_3] <1.8>
26
27 2011-10-12  Todd C. Miller  <Todd.Miller@courtesan.com>
28
29         * configure, configure.in:
30         Override and ignore the --disable-static option. Sudo already runs
31         libtool with -tag=disable-static where applicable and we need non-
32         PIC objects to build the executables.
33         [dff177464029] <1.8>
34
35 2011-10-10  Todd C. Miller  <Todd.Miller@courtesan.com>
36
37         * NEWS:
38         Add sudoedit fix
39         [3238dc7e4fb2] <1.8>
40
41         * plugins/sudoers/po/sudoers.pot:
42         regen pot files
43         [7981d6cbf1ab] <1.8>
44
45         * Ignore set_logname (which is now the default) for sudoedit since we
46         want the LOGNAME, USER and USERNAME environment variables to refer
47         to the calling user since that is who the editor runs as. This
48         allows the editor to find the user's startup files. Fixes bugzilla
49         #515
50         [3b9486e5fddb] <1.8>
51
52         * Instead of trying to grow the buffer in make_grlist_item(), simply
53         increase the total length, free the old buffer and allocate a new
54         one. This is less error prone and saves us from having to adjust
55         all the pointers in the buffer. This code path is only taken when
56         there are groups longer than the length of the user field in struct
57         utmp or utmpx, which should be quite rare.
58         [cb7c5ac834b5] <1.8>
59
60         * Add Italian translation for sudo from translationproject.org
61         [c7876fccbc38] <1.8>
62
63         * NEWS:
64         Japanese translation for sudo and sudoers from
65         translationproject.org
66         [9945a3ef7ff7] <1.8>
67
68 2011-10-07  Todd C. Miller  <Todd.Miller@courtesan.com>
69
70         * sudoreplay depends on timestr.lo too; from Mike Frysinger
71         [ad9ae493205f] <1.8>
72
73 2011-10-04  Todd C. Miller  <Todd.Miller@courtesan.com>
74
75         * plugins/sudoers/po/sudoers.pot:
76         Regen sudoers pot file.
77         [2c4d99361994] <1.8>
78
79         * NEWS:
80         Update with latest sudo 1.8.3 news
81         [4e7f59d339d4] <1.8>
82
83         * ldap_start_tls_s() on Debian (at least) sets the effective and saved
84         uids to the same value as the real uid. This prevents sudo from
85         setting the uid or gid later on. As a workaround, we now set perms
86         to root during sudoers_policy_open().
87         [eb4c4f15833a] <1.8>
88
89         * Better warning message on setuid() failure for the setreuid()
90         version of set_perms().
91         [308c72f601e4] <1.8>
92
93 2011-10-02  Todd C. Miller  <Todd.Miller@courtesan.com>
94
95         * NEWS:
96         Combine new translations in NEWS item
97         [0aa07471a5e6] <1.8>
98
99 2011-09-27  Todd C. Miller  <Todd.Miller@courtesan.com>
100
101         * Delref auth_pw at the end of check_user() instead of getting a ref
102         twice.
103         [1c882f2fb46c] <1.8>
104
105         * Make sudo_auth_{init,cleanup} return TRUE on success and check for
106         sudo_auth_init() return value in check_user().
107         [573bf35ecac9] <1.8>
108
109         * Do not return without restoring permissions.
110         [2444a0b96469] <1.8>
111
112         * plugins/sudoers/po/sudoers.pot, src/po/sudo.pot:
113         regen pot files
114         [d286bce8dbb1] <1.8>
115
116         * NEWS:
117         Update for latest release candidate
118         [63d184ba6263] <1.8>
119
120         * plugins/sudoers/po/sudoers.pot, src/po/sudo.pot:
121         regen pot files
122         [ac3ec1315df7] <1.8>
123
124         * Modify the authentication API such that the init and cleanup
125         functions are always called, regardless of whether or not we are
126         going to verify a password. This is needed for proper PAM session
127         support.
128         [ea281ca46d94] <1.8>
129
130         * Add missing dependency for getspwgen other depends.
131         [9c124272910d] <1.8>
132
133         * Fix a PAM_USER mismatch in session open/close. We update PAM_USER
134         to the target user immediately before setting resource limits, which
135         is after the monitor process has forked (so it has the old value).
136         Also, if the user did not authenticate, there is no pamh in the
137         monitor so we need to init pam here too. This means we end up
138         calling pam_start() twice, which should be fixed, but at least the
139         session is always properly closed now.
140         [d0866ee5f190] <1.8>
141
142         * Add check for old being NULL in utmp_setid(); from Steven McDonald
143         [30cc283ac2b4] <1.8>
144
145 2011-09-25  Todd C. Miller  <Todd.Miller@courtesan.com>
146
147         * If the invoking user cannot be resolved by uid fake the struct
148         passwd and store it in the cache so we can delref it on exit.
149         [19d44f44d45d] <1.8>
150
151 2011-09-24  Todd C. Miller  <Todd.Miller@courtesan.com>
152
153         * Don't error out if the group plugin cannot be loaded, just warn.
154         [e91d9912c9a0] <1.8>
155
156 2011-09-23  Todd C. Miller  <Todd.Miller@courtesan.com>
157
158         * Quiet a false positive found by several static analysis tools. These
159         tools don't know that log_error() does not return (it longjmps to
160         error_jmp which returns to the sudo front-end).
161         [3cc319e31ed6] <1.8>
162
163 2011-09-22  Todd C. Miller  <Todd.Miller@courtesan.com>
164
165         * Add Italian translation for sudo from translationproject.org Regen
166         .mo files
167         [c0b27f9d7e57] <1.8>
168
169         * .hgtags:
170         Added tag SUDO_1_8_2 for changeset 3682e51af1d0
171         [f0be566e9ea2] <1.8>
172
173 2011-09-21  Todd C. Miller  <Todd.Miller@courtesan.com>
174
175         * Update to current reality and add bit about ssh auth
176         [48dcb86ce9be] <1.8>
177
178         * Make "verbose" static; fixes a namespace clash with
179         pam_ssh_agent_auth (and it doesn't need to be extern these days).
180         [b60fdd82de94] <1.8>
181
182         * configure, configure.in:
183         FreeBSD has libutil.h not util.h
184         [c03b121e0193] <1.8>
185
186         * configure, configure.in:
187         Define _BSD_SOURCE on FreeBSD, OpenBSD and DragonflyBSD
188         [002e3e0bb173] <1.8>
189
190         * Update po files from translationproject.org
191         [2b36af902213] <1.8>
192
193 2011-09-16  Todd C. Miller  <Todd.Miller@courtesan.com>
194
195         * NEWS:
196         Mention DEREF support
197         [dfeb152f1686] <1.8>
198
199         * plugins/sudoers/po/sudoers.pot:
200         sync pot files
201         [1fba22e927a3] <1.8>
202
203         * doc/sudoers.ldap.cat, doc/sudoers.ldap.man.in:
204         Add support for DEREF in ldap.conf.
205         [fe1cf6ad0add] <1.8>
206
207         * Makefile.in:
208         install target should depend on ChangeLog too, not just install-doc
209         [f54e2ab633b8] <1.8>
210
211         * NEWS, configure.in, doc/sudoers.cat, doc/sudoers.man.in:
212         Only iolog_file (not iolog_dir) supports mktemp-style suffixes.
213         [44a25099594e] <1.8>
214
215         * configure.in, plugins/sudoers/po/sudoers.pot, src/po/sudo.pot:
216         regen pot files
217         [e14ee85cf49b] <1.8>
218
219         * configure, configure.in:
220         Fix some square brackets in case statements that needed to be
221         doubled up. While here, use $OSMAJOR when it makes sense.
222         [853c6e5f994c] <1.8>
223
224         * Fix a crash in make_grlist_item() on 64-bit machines with strict
225         alignment.
226         [e877c89ae32f] <1.8>
227
228         * Remove list_options() function that is no longer used now that "sudo
229         -L" is gone.
230         [f31543c80b98] <1.8>
231
232         * configure, configure.in:
233         Error message if user tries --with-CC
234         [0ed7558b8924] <1.8>
235
236         * configure, configure.in:
237         Check for -libmldap too when looking for ldap libs, which is the
238         Tivoli Directory Server client library.
239         [831e32d1453c] <1.8>
240
241         * plugins/sudoers/po/sudoers.pot, src/po/sudo.pot:
242         regen pot files for 1.8.3
243         [df2fb085cff2] <1.8>
244
245         * NEWS, configure, configure.in, doc/sudo.cat, doc/sudo.man.in,
246         doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudoers.cat,
247         doc/sudoers.ldap.cat, doc/sudoers.ldap.man.in, doc/sudoers.man.in,
248         doc/sudoreplay.cat, doc/sudoreplay.man.in, doc/visudo.cat,
249         doc/visudo.man.in:
250         Update for version 1.8.3
251         [38cf153add0a] <1.8>
252
253 2011-09-09  Todd C. Miller  <Todd.Miller@courtesan.com>
254
255         * Honor NOPASSWD tag for denied commands too.
256         [f473c443ad54] <1.8>
257
258         * INSTALL, configure, configure.in:
259         Remove --with-CC option; it doesn't work correctly now that we use
260         libtool. Users can get the same effect by setting the CC
261         environment variable when running configure.
262         [4f04869d74fd] <1.8>
263
264 2011-08-31  Todd C. Miller  <Todd.Miller@courtesan.com>
265
266         * configure, configure.in:
267         Assume all modern systems support fstat(2).
268         [0422b19dced3] <1.8>
269
270 2011-08-30  Todd C. Miller  <Todd.Miller@courtesan.com>
271
272         * configure, configure.in:
273         Add configure test for missing errno declaration and only declare it
274         ourselves if it is missing.
275         [6d26974f7e16] <1.8>
276
277         * Include errno.h before sudo.h to avoid conflicting with the system
278         definition of errno.
279         [8000bdc0968f] <1.8>
280
281 2011-08-29  Todd C. Miller  <Todd.Miller@courtesan.com>
282
283         * Only print individual check status when there is a failure.
284         [bbdd669e7615] <1.8>
285
286         * Add calls to setprogname() for test programs.
287         [c721f3466a3a] <1.8>
288
289         * configure, configure.in:
290         Add -Wall and -Werror after all tests so they don't cause failures.
291         [20d75ce40086] <1.8>
292
293         * Actually run check_addr in the check target
294         [dcd96ef0dc57] <1.8>
295
296         * Split out address matching into its own file and add regression
297         tests for it.
298         [863f28589c24] <1.8>
299
300 2011-08-27  Todd C. Miller  <Todd.Miller@courtesan.com>
301
302         * Fix matching a network number with netmask when the network number
303         is not the first address in the CIDR block.
304         [719942c986e9] <1.8>
305
306 2011-08-26  Todd C. Miller  <Todd.Miller@courtesan.com>
307
308         * Don't assume all editors support the +linenumber command line
309         argument, use a whitelist of known good editors.
310         [d8d884af3b05] <1.8>
311
312 2011-08-23  Todd C. Miller  <Todd.Miller@courtesan.com>
313
314         * Silence compiler warnings on Solaris with gcc 3.4.3
315         [8047cdb5d6a1] <1.8>
316
317         * Fix building on RHEL 3
318         [6bb0464a7450] <1.8>
319
320         * INSTALL, configure, configure.in:
321         Add --enable-werror configure option.
322         [aa40fd459836] <1.8>
323
324         * setgroups() proto lives in grp.h on RHEL4, perhaps others.
325         [92f98cbaebf0] <1.8>
326
327         * configure, configure.in:
328         Use PAM by default on AIX 6 and higher.
329         [7ef53d5ac819] <1.8>
330
331 2011-08-22  Todd C. Miller  <Todd.Miller@courtesan.com>
332
333         * Add new Esperanto translation from translationproject.org
334         [109ed683b885] <1.8>
335
336 2011-08-19  Todd C. Miller  <Todd.Miller@courtesan.com>
337
338         * Quiet an innocuous valgrind warning.
339         [fc453e49f9dd] <1.8>
340
341 2011-08-18  Todd C. Miller  <Todd.Miller@courtesan.com>
342
343         * Fix expansion of strftime() escapes in log_dir and add a regress
344         test that exhibited the problem.
345         [784e60d21f11] <1.8>
346
347         * plugins/sudoers/po/sudoers.pot, src/po/sudo.pot:
348         Fix "make check" return value.
349         [d3608efd8da6] <1.8>
350
351 2011-08-17  Todd C. Miller  <Todd.Miller@courtesan.com>
352
353         * plugins/sudoers/po/sudoers.pot:
354         Regen pot files
355         [3682e51af1d0] [SUDO_1_8_2] <1.8>
356
357         * Makefile.in:
358         Fix logic inversion in pot file up to date check.
359         [343dbbca9422] <1.8>
360
361         * doc/sudo.cat, doc/sudo.man.in, doc/sudoers.cat,
362         doc/sudoers.ldap.cat, doc/sudoers.ldap.man.in, doc/sudoers.man.in,
363         doc/visudo.cat, doc/visudo.man.in:
364         regen docs
365         [96234478bde2] <1.8>
366
367 2011-08-15  Todd C. Miller  <Todd.Miller@courtesan.com>
368
369         * configure, configure.in:
370         Add caching for gettext() checks.
371         [4039d21424c3] <1.8>
372
373         * configure, configure.in:
374         Better handling of libintl header and library mismatch.
375         [cc9faee8e486] <1.8>
376
377 2011-08-14  Todd C. Miller  <Todd.Miller@courtesan.com>
378
379         * NEWS:
380         sync
381         [73649a44d934] <1.8>
382
383 2011-08-13  Todd C. Miller  <Todd.Miller@courtesan.com>
384
385         * Also check sudoers gid if sudoers is group writable.
386         [3d345347f6ac] <1.8>
387
388         * NEWS:
389         Update for 1.8.2 final
390         [441c22fea363] <1.8>
391
392 2011-08-12  Todd C. Miller  <Todd.Miller@courtesan.com>
393
394         * configure, configure.in:
395         If dlopen is present but libtool doesn't find it, error out since it
396         probably means that libtool doesn't support the system.
397         [6fc7c0de4f6d] <1.8>
398
399         * configure args on the command line should override builtin defaults.
400         Disable NLS for non-Linux/Solaris unless explicitly enabled.
401         [0ef165f892c2] <1.8>
402
403         * Fix loop that calls authenticate(). If there was an error message
404         from authenticate(), display it.
405         [f0686011ff2e] <1.8>
406
407 2011-08-11  Todd C. Miller  <Todd.Miller@courtesan.com>
408
409         * configure, configure.in:
410         Update to autoconf 2.68 and libtool 2.4
411         [00df5f3647e1] <1.8>
412
413         * Fix typo; OPT should be OTP
414         [31da1f989740] <1.8>
415
416         * Rename libsudoers convenience library to libparsesudoers to avoid
417         libtool confusion.
418         [e9ae9d611dd5] <1.8>
419
420 2011-08-10  Todd C. Miller  <Todd.Miller@courtesan.com>
421
422         * Add Danish sudoers translation from translationproject.org
423         [fa9cd9758249] <1.8>
424
425         * Add dedicated callback function for runas_default sudoers setting
426         that only sets runas_pw if no runas user or group was specified by
427         the user.
428         [3fb4b18525de] <1.8>
429
430 2011-08-09  Todd C. Miller  <Todd.Miller@courtesan.com>
431
432         * Update Finish, Polish, Russian and Ukrainian translations from
433         translationproject.org.
434         [0fcd8f6aff0a] <1.8>
435
436         * Makefile.in:
437         Go back to using a callback for runas_default to keep runas_pw in
438         sync. This is needed to make per-entry runas_default settings work
439         with LDAP-based sudoers. Instead of declaring it a callback in
440         def_data.in, sudo and testsudoers poke sudo_defs_table[] which is a
441         bit naughty, but avoids requiring stub functions in visudo and the
442         tests.
443         [4e8e70832f06] <1.8>
444
445 2011-08-05  Todd C. Miller  <Todd.Miller@courtesan.com>
446
447         * plugins/sudoers/po/sudoers.pot, src/po/sudo.pot:
448         Regen pot files
449         [ca5c58c599a6] <1.8>
450
451         * Makefile.in:
452         Add check for out of date message catalogs when doing "make dist".
453         [36414e5c762b] <1.8>
454
455 2011-08-02  Todd C. Miller  <Todd.Miller@courtesan.com>
456
457         * configure, configure.in:
458         Make sure compiler supports static-libgcc before using it.
459         [6c98e8809291] <1.8>
460
461 2011-08-01  Todd C. Miller  <Todd.Miller@courtesan.com>
462
463         * Link libsudo_noexec.la with LDLDFLAGS for -static-libgcc
464         [a0a3a3fa6470] <1.8>
465
466 2011-07-30  Todd C. Miller  <Todd.Miller@courtesan.com>
467
468         * Add new Russian sudo translation from translationproject.org and
469         rebuild the other translation files.
470         [e953d7d1ca6d] <1.8>
471
472 2011-07-29  Todd C. Miller  <Todd.Miller@courtesan.com>
473
474         * Update Finish and Polish translations from translationproject.org
475         [17e408d73c85] <1.8>
476
477         * Go back to escaping the command args for "sudo -i" and "sudo -s"
478         before calling the plugin. Otherwise, spaces in the command args
479         are not treated properly. The sudoers plugin will unescape non-
480         spaces to make matching easier.
481         [f666191a4e80] <1.8>
482
483 2011-07-28  Todd C. Miller  <Todd.Miller@courtesan.com>
484
485         * Fix some potential problems found by the clang static analyzer, none
486         serious.
487         [c1ab4b940980] <1.8>
488
489         * Updated Ukranian and Chinese (simplified) po files from
490         translationproject.org
491         [792a66672715] <1.8>
492
493 2011-07-27  Todd C. Miller  <Todd.Miller@courtesan.com>
494
495         * Updated Polish translation from translationproject.org
496         [5f434cc04482] <1.8>
497
498         * plugins/sudoers/po/sudoers.pot, src/po/sudo.pot:
499         Rebuild pot files
500         [639230dbd741] <1.8>
501
502         * Don't try to audit failure if the runas user does not exist. We
503         don't have the user's command at this point so there is nothing to
504         audit. Add a NULL check in audit_success() and audit_failure() just
505         to be on the safe side.
506         [2bfb96a32b00] <1.8>
507
508         * Add -g to CFLAG for PIE builds.
509         [e4c94977ca4e] <1.8>
510
511 2011-07-25  Todd C. Miller  <Todd.Miller@courtesan.com>
512
513         * Remove fallback to per-group lookup when matching groups in sudoers.
514         The sudo front-end will now use getgrouplist() to get the user's
515         list of groups if getgroups() fails or returns zero groups so we
516         always have a list of the user's groups. For systems with
517         mbr_check_membership() which support more that NGROUPS_MAX groups
518         (Mac OS X), skip the call to getgroups() and use getgrouplist() so
519         we get all the groups.
520         [168d6d4a386b] <1.8>
521
522 2011-07-22  Todd C. Miller  <Todd.Miller@courtesan.com>
523
524         * Fix setgroups() fallback code on EINVAL.
525         [dd1310945ab3] <1.8>
526
527         * Fix two PERM_INITIAL cases that were still using user_gids.
528         [d497d0d47a23] <1.8>
529
530         * Add Polish sudo message catalog
531         [1a0aa3f9f179] <1.8>
532
533         * user_group is no longer used, remove it
534         [379185a76094] <1.8>
535
536 2011-07-21  Todd C. Miller  <Todd.Miller@courtesan.com>
537
538         * Add Polish translation from translationproject.org
539         [2e7cdfe4ef41] <1.8>
540
541         * Add a wrapper for setgroups() that trims off extra groups and
542         retries if setgroups() fails. Also add some missing addrefs for
543         PERM_USER and PERM_FULL_USER.
544         [bacb4170a510] <1.8>
545
546         * configure, configure.in:
547         Instead of keeping separate groups and gids arrays, create struct
548         group_info and use it to store both, along with a count for each.
549         Cache group info on a per-user basis using getgrouplist() to get the
550         groups. We no longer need special to special case the user or list
551         user for user_in_group() and thus no longer need to reset the groups
552         list when listing another user.
553         [f1d8962821a0] <1.8>
554
555         * Don't rely on NULL since we don't include a header for it.
556         [ed46286f848b] <1.8>
557
558         * Fix typo
559         [a38b8fbb0e70] <1.8>
560
561         * Do not shadow global sudo_mode with a local variable in set_cmnd()
562         [8e462ebafea4] <1.8>
563
564 2011-07-17  Todd C. Miller  <Todd.Miller@courtesan.com>
565
566         * bash 2.x doesd not support the -l flag and exits with an error if it
567         is specified so use --login instead. This causes an error with bash
568         1.x (which uses -login instead) but this version is hopefully less
569         used than 2.x.
570         [73020a67b9d5] <1.8>
571
572         * Add Polish translation from translationproject.org
573         [8cac0da9ffb1] <1.8>
574
575 2011-07-13  Todd C. Miller  <Todd.Miller@courtesan.com>
576
577         * Make error strings translatable.
578         [d1ff594f27b5] <1.8>
579
580         * Only run configure with --with-pam-login for RHEL 5 and above.
581         [2f1a0ff5230e] <1.8>
582
583         * Fix typo in summary
584         [1e1d7dcae9ab] <1.8>
585
586 2011-07-11  Todd C. Miller  <Todd.Miller@courtesan.com>
587
588         * Add missing logwrap.c
589         [abcd28c194d2] <1.8>
590
591         * Split out log file word wrap code into its own file and add unit
592         tests. Fixes an off-by one in the word wrap when the log line
593         length matches loglinelen.
594         [0ae1c7aa9ef1] <1.8>
595
596 2011-07-05  Todd C. Miller  <Todd.Miller@courtesan.com>
597
598         * For SuSE, only use /usr/lib64 as libexec if generating 64-bit
599         binaries.
600         [4448fa1c639f] <1.8>
601
602         * Fix build error when --without-noexec configure option is used.
603         [f6bfd748ae45] <1.8>
604
605         * configure, configure.in:
606         Disable noexec for AIX < 5. LDR_PRELOAD is only available in AIX
607         5.3 and above.
608         [9d957ae1840d] <1.8>
609
610 2011-07-03  Todd C. Miller  <Todd.Miller@courtesan.com>
611
612         * NEWS, doc/UPGRADE:
613         Document group lookup change and possible side effects.
614         [fe4b2d2701b2] <1.8>
615
616 2011-07-01  Todd C. Miller  <Todd.Miller@courtesan.com>
617
618         * Resolve the list of gids passed in from the sudo frontend (the
619         result of getgroups()) to names and store both the group names and
620         ids in the sudo_user struct. When matching groups in the sudoers
621         file, match based on the names in the groups list first and only do
622         a gid-based match when we absolutely have to. By matching on the
623         group name (as it is listed in sudoers) instead of id (which we
624         would have to resolve) we save a lot of group lookups for sudoers
625         files with a lot of groups in them.
626         [c10d208bd7e5] <1.8>
627
628 2011-06-29  Todd C. Miller  <Todd.Miller@courtesan.com>
629
630         * NEWS:
631         Update for 1.8.2rc5
632         [f6a3aa2edf7a] <1.8>
633
634 2011-06-26  Todd C. Miller  <Todd.Miller@courtesan.com>
635
636         * Workaround for "sudo -i command" and newer versions of bash which
637         don't go into login mode when -c is specified unless -l is too.
638         [381e74d35006] <1.8>
639
640 2011-06-23  Todd C. Miller  <Todd.Miller@courtesan.com>
641
642         * Rewrite logfile word wrapping code to be more straight-forward and
643         actually wrap at the correct place.
644         [8a7862d6a82f] <1.8>
645
646 2011-06-22  Todd C. Miller  <Todd.Miller@courtesan.com>
647
648         * NEWS:
649         Fix typo
650         [2456ad2ad3e3] <1.8>
651
652         * NEWS:
653         Mention use_pty bug fix
654         [f4eab5193452] <1.8>
655
656         * Set use_pty=true in command details when use_pty is set in sudoers.
657         From Ludwig Nussel
658         [abaafc5793d9] <1.8>
659
660 2011-06-20  Todd C. Miller  <Todd.Miller@courtesan.com>
661
662         * Sync Chinese (simplified) PO files from translationproject.org
663         [a4cf84dd9ddf] <1.8>
664
665 2011-06-18  Todd C. Miller  <Todd.Miller@courtesan.com>
666
667         * Add Danish translation from translationproject.org and add missing
668         Basque mo files.
669         [672b88adcc34] <1.8>
670
671         * Makefile.in, configure, configure.in:
672         No longer need to specify LINGUAS in configure, "make install-nls"
673         now just installs all the .mo files it finds.
674         [c226a39ece48] <1.8>
675
676 2011-06-17  Todd C. Miller  <Todd.Miller@courtesan.com>
677
678         * Build CONTRIBUTORS from newly-added contributors.pod
679         [b8871dd293ff] <1.8>
680
681         * Rework the wording in the leading paragraph
682         [d8b081dedeb3] <1.8>
683
684 2011-06-16  Todd C. Miller  <Todd.Miller@courtesan.com>
685
686         * Add a CONTRIBUTORS file with the names of folks who have contributed
687         code or patches to sudo since I started maintaining it (plus the
688         original authors).
689         [8b064e8996af] <1.8>
690
691 2011-06-13  Todd C. Miller  <Todd.Miller@courtesan.com>
692
693         * Preserve SHELL variable for "sudo -s". Otherwise we can end up with
694         a situation where the SHELL variable and the actual shell being run
695         do not match.
696         [8f5bb61a8b76] <1.8>
697
698 2011-06-10  Todd C. Miller  <Todd.Miller@courtesan.com>
699
700         * configure, configure.in:
701         Only enable Solaris project support when setproject() is present in
702         libproject.
703         [bf370ff3c194] <1.8>
704
705         * Explicitly set mode and owner of /etc/sudoers instead of relying on
706         "cp -p" to work in the postinstall script. On AIX 6.1 at least the
707         postinstall script runs before the final file permissions are set.
708         [7a4a87405349] <1.8>
709
710         * Refer the user to the "Command Environment" section in description
711         of sudo's -i option.
712         [1a063eaf9670] <1.8>
713
714         * Fix typo
715         [442c50370c44] <1.8>
716
717         * If there is no old dependency for an object file, use the MANIFEST
718         to find its source.
719         [d95c77ad283f] <1.8>
720
721         * Remove dependency for getgrouplist.lo as we don't ship that source
722         file.
723         [bbede77e6256] <1.8>
724
725         * Do not declare yyparse() static as the actual function generated by
726         yacc is extern.
727         [8e615bd15a4c] <1.8>
728
729         * Makefile.in:
730         Remove locale files in "make uninstall"
731         [9791be90d5ac] <1.8>
732
733 2011-06-06  Todd C. Miller  <Todd.Miller@courtesan.com>
734
735         * configure.in:
736         Add Basque translation and sync Finish and Ukranian translations.
737         [64af34789164] <1.8>
738
739         * NEWS:
740         Update PAM change to reflect latest checkin.
741         [657cddf2077a] <1.8>
742
743         * configure, configure.in:
744         FreeBSD no longer needs the main sudo binary to link with -lpam now
745         that plug-ins are loaded with RTLD_GLOBAL.
746         [573a6f4b29af] <1.8>
747
748         * Load plugins with RTLD_GLOBAL instead of RTLD_LOCAL. This fixes
749         problems with pam modules not having access to symbols provided by
750         libpam on some platforms. Affects FreeBSD and SLES 10 at least.
751         [4ec864fdba46] <1.8>
752
753         * Makefile.in:
754         Move xgettext invocation out of update-po target into update-pot
755         [421ac1a073ea] <1.8>
756
757 2011-06-04  Todd C. Miller  <Todd.Miller@courtesan.com>
758
759         * plugins/sudoers/po/sudoers.pot, src/po/sudo.pot:
760         Regenerate .pot files for 1.8.2rc2
761         [d2a891e3d3dd] <1.8>
762
763         * Makefile.in:
764         Move nls targets to the top level Makefile so the paths in the pot
765         file are saner
766         [6c256cb77f78] <1.8>
767
768         * NEWS:
769         Update 1.8.2 news
770         [17bd04278b04] <1.8>
771
772         * Add compiled version of sudo Finish translation
773         [ff9d20a02aa0] <1.8>
774
775         * Update MANIFEST with .po and .mo files Rebuild sudoers fi and uk .mo
776         files
777         [60c4f3b3829c] <1.8>
778
779         * configure, configure.in:
780         Add Finish translation from translationproject.org
781         [ade788a35521] <1.8>
782
783         * The group named by exempt_group should not have a % prefix.
784         [1f74c691c1e1] <1.8>
785
786         * Fix typo; "Defaults group_plugin" not "Defaults sudo_plugin"
787         [58d36c0e76f9] <1.8>
788
789         * Fix compressed io log corruption in background mode by using _exit()
790         instead of exit() to avoid flushing buffers twice.
791
792         Improved background mode support. When not allocating a pty, the
793         command is run in its own process group. This prevents write access
794         to the tty. When running in a pty, stdin is not hooked up and we
795         never read from /dev/tty, which results in similar behavior.
796         [fe50d6a5c5b9] <1.8>
797
798 2011-05-31  Todd C. Miller  <Todd.Miller@courtesan.com>
799
800         * Clean up regress files Generate proper dependencies for regress objs
801         in compat
802         [264196584549] <1.8>
803
804         * Add missing dependency for check_fill.o.
805         [c41f4e6ff078] <1.8>
806
807 2011-05-30  Todd C. Miller  <Todd.Miller@courtesan.com>
808
809         * INSTALL, configure, configure.in:
810         Add support for --enable-nls[=location]
811         [0ea8e7bd1739] <1.8>
812
813 2011-05-28  Todd C. Miller  <Todd.Miller@courtesan.com>
814
815         * Include gettext.h
816         [fe8bab6403c6] <1.8>
817
818         * Quiet gcc warnings.
819         [aa16d09710a7] <1.8>
820
821         * configure, configure.in:
822         Don't install .mo files if gettext was not found.
823         [c6b233e829aa] <1.8>
824
825 2011-05-27  Todd C. Miller  <Todd.Miller@courtesan.com>
826
827         * Always allocate a pty when running a command in the background but
828         call setsid() after forking to make sure we don't end up with a
829         controlling tty.
830         [77c6b2923714] <1.8>
831
832         * Add missing space between command name and the first command line
833         argument.
834         [d0a36b9c0f38] <1.8>
835
836         * Quiet a compiler warning on some platforms.
837         [654e76cf0574] <1.8>
838
839         * README file that directs people to translationproject.org
840         [5545e9a5ae37] <1.8>
841
842         * Sync translations with TP
843         [b054ce577022] <1.8>
844
845         * Makefile.in:
846         Add 'sync-po' target to top-level Makefile to rsync the po files
847         from translationproject.org.
848         [87a5011b0410] <1.8>
849
850         * install nls files from install target
851         [a3feba9ef323] <1.8>
852
853         * Makefile.in:
854         Include .mo files in sudo binary packags.
855         [bc3ee7e7fb44] <1.8>
856
857         * configure, configure.in:
858         Add simplified chinese translation
859         [c22e6842c766] <1.8>
860
861 2011-05-26  Todd C. Miller  <Todd.Miller@courtesan.com>
862
863         * configure, configure.in:
864         Add ukranian translation
865         [0bb9e6437f0f] <1.8>
866
867         * refer to siglist.c, not ./siglist.c since not all makes will treat
868         foo and ./foo the same.
869         [909051ff6061] <1.8>
870
871         * Set def_preserve_groups before searching for the command when the -P
872         flag is specified.
873         [08e9378f50e4] <1.8>
874
875         * Makefile.in:
876         Add dependency for siglist.lo in compat. This is a generated file
877         so "make depend" needs to depend on it.
878         [e6c0daf36af0] <1.8>
879
880         * More dependency fixes.
881         [7fed03624689] <1.8>
882
883         * Fix a few dependencies.
884         [7cb86c721961] <1.8>
885
886         * Place compiled mo files in the src dir, not the build dir. When
887         installing compiled mo files, display a status message.
888         [b87aa18a9968] <1.8>
889
890 2011-05-25  Todd C. Miller  <Todd.Miller@courtesan.com>
891
892         * Tivoli Directory Server requires that seconds be present in a
893         timestamp, even though RFC 4517 states that they are optional.
894         [47ebf110ea7a] <1.8>
895
896         * Add missing bit of copyright
897         [d05d28a91bc4] <1.8>
898
899         * Mention cycle detection warnings
900         [ee8231aa1aed] <1.8>
901
902         * When checking aliases, also check the contents of the alias in case
903         there are problems with an alias that is referenced inside another.
904         Replace the self reference check with real alias cycle detection.
905         [abcfe1bc95d8] <1.8>
906
907         * Set errno to ELOOP in alias_find() if there is a cycle. Set errno to
908         ENOENT in alias_find() and alias_remove() if the entry could not be
909         found.
910         [e73d169f4e9b] <1.8>
911
912         * Increment alias_seqno before calls to alias_remove_recursive() to
913         avoid false positives with the alias loop detection. Fixes spurious
914         warnings about unused aliases when they are nested.
915         [ac094820ef19] <1.8>
916
917         * add mkdep.pl
918         [3721e9654ba6] <1.8>
919
920         * Add dependency on convenience libs to binaries
921         [8a4db8226dfe] <1.8>
922
923         * Makefile.in:
924         mkdep.pl only works when run from the src dir
925         [2480427a0680] <1.8>
926
927         * Makefile.in:
928         Auto-generate Makefile dependencies with a perl script.
929         [ef5f56907d97] <1.8>
930
931 2011-05-23  Todd C. Miller  <Todd.Miller@courtesan.com>
932
933         * If the user specifies a runas group via sudo's -g option that
934         matches the runas user's group in the passwd database and that group
935         is not denied in the Runas_Spec, allow it. Thus, if user root's gid
936         in /etc/passwd is 0, then "sudo -u root -g root id" is allow even if
937         no groups are present in the Runas_Spec.
938         [942e1e7c5090] <1.8>
939
940 2011-05-22  Todd C. Miller  <Todd.Miller@courtesan.com>
941
942         * NEWS:
943         Mention what is new in 1.8.2 (for now)
944         [d44b26eceee5] <1.8>
945
946         * Add dependencies on gettext.h
947         [32c61c6af852] <1.8>
948
949         * Fix install-nls target with HP-UX sh when gettext is not present.
950         [3441cece9638] <1.8>
951
952         * doc/sudo.cat, doc/sudo.man.in, doc/sudo_plugin.cat,
953         doc/sudo_plugin.man.in, doc/sudoers.cat, doc/sudoers.ldap.cat,
954         doc/sudoers.ldap.man.in, doc/sudoers.man.in, doc/sudoreplay.cat,
955         doc/sudoreplay.man.in, doc/visudo.cat, doc/visudo.man.in:
956         Regen for sudo 1.8.2
957         [9ea124b542cc] <1.8>
958
959 2011-05-20  Todd C. Miller  <Todd.Miller@courtesan.com>
960
961         * plugins/sudoers/po/sudoers.pot, src/po/sudo.pot:
962         regenerate .pot files for lbuf changes
963         [a8a9cc62c3a5] <1.8>
964
965         * configure, configure.in:
966         Add missing "checking" message for gettext when using the cache.
967         [4136bc346576] <1.8>
968
969         * Add primitive format string support to the lbuf code to make
970         translations simpler.
971         [22fc74618d09] <1.8>
972
973         * configure, configure.in, plugins/sudoers/po/sudoers.pot,
974         src/po/sudo.pot:
975         Bump version to 1.8.2
976         [999de1ac5b3e] <1.8>
977
978         * Add message catalog template files for sudo and the sudoers module.
979         [6afad75e7afa] <1.8>
980
981         * configure.in:
982         Add gettext.h convenience header. This is similar to but distinct
983         from the one included with the gettext package.
984         [5ae5a86e0d06] <1.8>
985
986         * configure, configure.in:
987         Add checks for nroff -c and -Tascii flags
988         [580c21905280] <1.8>
989
990         * configure, configure.in:
991         Add check for HP bundled C Compiler (which cannot create shared
992         libs)
993         [34f616cbb0f3] <1.8>
994
995         * Fix C format warnings.
996         [f20a43a817f0] <1.8>
997
998         * Add __printflike
999         [76bf8a4bf075] <1.8>
1000
1001         * Translate help / usage strings.
1002         [16c5b7902d4c] <1.8>
1003
1004         * Set --msgid-bugs-address to the bugzilla url
1005         [3e3cfa7b4ceb] <1.8>
1006
1007         * INSTALL, Makefile.in, README, configure, configure.in:
1008         Add scaffolding to update .po files and install .mo files.
1009         [a51e60b35e47] <1.8>
1010
1011         * Minor warning/error cleanup
1012         [593144ac87ff] <1.8>
1013
1014         * configure.in:
1015         Emulate ngettext for the non-nls case
1016         [7cdf82de4dee] <1.8>
1017
1018         * Do not mark untranslatable strings for translation
1019         [088271ed02d0] <1.8>
1020
1021         * Use ROOT_UID not 0.
1022         [f901fa2fdaf2] <1.8>
1023
1024         * Minor warning/error message cleanup
1025         [b99c7ef46236] <1.8>
1026
1027         * cannot -> "unable to" in warning/error messages can't -> "unable to"
1028         in warning/error messages
1029         [5119140fabc7] <1.8>
1030
1031         * configure, configure.in:
1032         FreeBSD needs the main sudo executable to link with -lpam when
1033         loading dynaic pam modules for some reason.
1034         [738b6778a505] <1.8>
1035
1036         * We don't want to translate debugging messages.
1037         [357a575c2dfd] <1.8>
1038
1039         * configure, configure.in:
1040         Add calls to bindtextdomain() and textdomain() Currently there are
1041         two domains, one for the sudo front-end and one for the sudoers
1042         plugin and its associated utilities.
1043         [907f39439d80] <1.8>
1044
1045         * configure, configure.in:
1046         Fix caching of libc gettext check.
1047         [e229c21f412f] <1.8>
1048
1049         * Mark defaults descriptions for translation
1050         [65e03d1f8203] <1.8>
1051
1052         * NEWS:
1053         Update for sudo 1.8.1p2
1054         [89c31f2aa11e] <1.8>
1055
1056         * Quiet compiler warning when SELinux is enabled.
1057         [51b1d7c8aa86] <1.8>
1058
1059         * dd missing includes of libintl.h.
1060         [25662143d36d] <1.8>
1061
1062         * Fix gettext marker.
1063         [7618856ba5de] <1.8>
1064
1065         * Include libint.h where needed.
1066         [cc256b297b9d] <1.8>
1067
1068         * Prepare sudoers module messages for translation.
1069         [1b7f0bbaa55f] <1.8>
1070
1071         * Only check gid of sudoers file if it is group-readable.
1072         [f3cae943f35a] <1.8>
1073
1074         * For AIX, keep calling authenticate() until reenter reaches 0.
1075         [e412676bac73] <1.8>
1076
1077         * configure, configure.in:
1078         Cache the status of the initial gettext() check.
1079         [c32281768c0f] <1.8>
1080
1081         * INSTALL, configure, configure.in:
1082         Add --disable-nls flag and improve checks for gettext.
1083         [b39674c1e538] <1.8>
1084
1085         * configure, configure.in:
1086         When building with gcc on HP-UX, use -march=1.1 to produce portable
1087         binaries on a pa-risc2 host. Previously, the +Dportable option was
1088         used for the HP-UX C compiler but gcc always produced native
1089         binaries.
1090         [41351c23ad41] <1.8>
1091
1092         * Prepare sudo front end messages for translation.
1093         [7807d6f74dac] <1.8>
1094
1095         * configure, configure.in:
1096         Add initial scaffolding to support localization via gettext()
1097         [cdbbff7e6376] <1.8>
1098
1099 2011-05-19  Todd C. Miller  <Todd.Miller@courtesan.com>
1100
1101         * doc/license.pod:
1102         update copyright year
1103         [d681661f03cc] <1.8>
1104
1105         * INSTALL, README:
1106         No need to include version number at the top of these files.
1107         [7e11f673f773] <1.8>
1108
1109         * README:
1110         This is sudo 1.8.1 not 1.8.0
1111         [4d674f230d8a] <1.8>
1112
1113 2011-05-04  Todd C. Miller  <Todd.Miller@courtesan.com>
1114
1115         * Don't let the fnmatch/glob macros expand the function prototype.
1116         [d449e9a8f447] <1.8>
1117
1118 2011-05-03  Todd C. Miller  <Todd.Miller@courtesan.com>
1119
1120         * Resolve namespace collisions on HP-UX ia64 and possibly others by
1121         adding a rpl_ prefix to our fnmatch and glob replacements and
1122         #defining rpl_foo to foo in the header files.
1123         [d23889375b21] <1.8>
1124
1125 2011-04-29  Todd C. Miller  <Todd.Miller@courtesan.com>
1126
1127         * Split ALL, ROLE and TYPE into their own actions. Since you can only
1128         have #ifdefs inside of braces, ROLE and TYPE use a naughty goto in
1129         the non-SELinux case. This is safe because the actions are in one
1130         big switch() statement.
1131         [0bd9b7e37ab1] <1.8>
1132
1133         * Fix regexp for matching a CIDR-style IPv4 netmask. From Marc Espie.
1134         [8dec97b359e0] <1.8>
1135
1136         * askpass moved from sudoers to sudo.conf in sudo 1.8.0
1137         [1001d87d82ed] <1.8>
1138
1139         * Remove obsolete warning about runas_default and ordering. Move
1140         syslog facility and priority lists into the section where the
1141         relevant options are described.
1142         [1286b9624021] <1.8>
1143
1144 2011-04-26  Todd C. Miller  <Todd.Miller@courtesan.com>
1145
1146         * Fix SIA support; we no longer have access to the real argc and argv
1147         so allocate space for a fake one and use the argv passed to the
1148         plugin with "sudo" for argv[0].
1149         [7c11eeffb91c] <1.8>
1150
1151         * Remove useless realloc when trying to get the buffer size right.
1152         [58128e7f4e28] <1.8>
1153
1154         * Be explicit when setting euid to 0 before call to setreuid(0, 0)
1155         [95769a564ab8] <1.8>
1156
1157 2011-04-18  Todd C. Miller  <Todd.Miller@courtesan.com>
1158
1159         * NEWS:
1160         sudo 1.8.1p1 updates
1161         [de3d688b5bb1] <1.8>
1162
1163         * configure, configure.in:
1164         Need to do checks for krb5_verify_user, krb5_init_secure_context and
1165         krb5_get_init_creds_opt_alloc regardless of whether or
1166         notkrb5-config is present.
1167         [456c4a9cd5d6] <1.8>
1168
1169 2011-04-15  Todd C. Miller  <Todd.Miller@courtesan.com>
1170
1171         * Work around weird AIX saved uid semantics on setuid() and
1172         setreuid(). On AIX, setuid() will only set the saved uid if the euid
1173         is already 0.
1174         [5d0a69e9d181] <1.8>
1175
1176 2011-04-14  Todd C. Miller  <Todd.Miller@courtesan.com>
1177
1178         * update copyright year
1179         [fa8da6d55783] <1.8>
1180
1181         * Treat a missing includedir like an empty one and do not return an
1182         error.
1183         [5fd9fe004728] <1.8>
1184
1185 2011-04-12  Todd C. Miller  <Todd.Miller@courtesan.com>
1186
1187         * Fix ARCH setting in cross-compile Solaris packages.
1188         [8ce40940f6c9] <1.8>
1189
1190         * Fix aix version setting.
1191         [02a9e25d46ba] <1.8>
1192
1193         * Remove extraneous parens in LDAP filter when sudoers_search_filter
1194         is enabled that causes a search error. From Matthew Thomas.
1195         [b67be9b51ec6] <1.8>
1196
1197 2011-04-11  Todd C. Miller  <Todd.Miller@courtesan.com>
1198
1199         * Correct sizeof() to fix test failure.
1200         [a11b89fd13f9] <1.8>
1201
1202         * "install" target should depend on "install-dirs". Fixes "make -j"
1203         problem and closes bz #487. From Chris Coleman.
1204         [06ab0558f848] <1.8>
1205
1206 2011-04-09  Todd C. Miller  <Todd.Miller@courtesan.com>
1207
1208         * .hgtags:
1209         Added tag SUDO_1_8_1 for changeset 0ed6281995f0
1210         [543d41a163e9] <1.8>
1211
1212         * doc/sudo.cat, doc/sudo.man.in, doc/sudo_plugin.cat,
1213         doc/sudo_plugin.man.in, doc/sudoers.cat, doc/sudoers.ldap.cat,
1214         doc/sudoers.ldap.man.in, doc/sudoers.man.in, doc/sudoreplay.cat,
1215         doc/sudoreplay.man.in, doc/visudo.cat, doc/visudo.man.in:
1216         Regen man pages for 1.8.1
1217         [0ed6281995f0] [SUDO_1_8_1] <1.8>
1218
1219 2011-04-07  Todd C. Miller  <Todd.Miller@courtesan.com>
1220
1221         * Add HAVE_RFC1938_SKEYCHALLENGE
1222         [c0d7eb39799d] <1.8>
1223
1224 2011-04-06  Todd C. Miller  <Todd.Miller@courtesan.com>
1225
1226         * Mention plugin loading and libgcc changes
1227         [b74929cba37c] <1.8>
1228
1229         * Load plugins after parsing arguments and potentially printing the
1230         version. That way, an error loading or initializing a plugin
1231         doesn't break "sudo -h" or "sudo -V".
1232         [c1ecb5979cf0] <1.8>
1233
1234         * Makefile.in:
1235         When using a sub-shell to invoke the sub-make, exec make instead of
1236         running it inside the shell to avoid an extra process.
1237         [9439f016c993] <1.8>
1238
1239         * Stop testing unspecified behavior in fnmatch Make glob test more
1240         portable
1241         [87a91d76fbff] <1.8>
1242
1243         * No need to add current dir to include path and having it breaks the
1244         test programs that expect to get the system glob.h and fnmatch.h
1245         [3ae7f9e7b710] <1.8>
1246
1247         * configure, configure.in:
1248         Fix and document --with-plugindir; partially from Diego Elio Petteno
1249         [0220a0c2606f] <1.8>
1250
1251         * Fix fnmatch and glob tests to not use hard-coded flag values in the
1252         input file. Link test programs with libreplace so we get our
1253         replacement verions as needed.
1254         [66bab80241e0] <1.8>
1255
1256         * Makefile.in:
1257         If make in a subdir fails, fail the target in the upper level
1258         Makefile too. Adapted from a patch from Diego Elio Petteno
1259         [bc35b7813507] <1.8>
1260
1261         * configure, configure.in:
1262         Add check for NetBSD-style 4-argument skeychallenge() as Gentoo also
1263         has this. Adapted from a patch from Diego Elio Petteno
1264         [bb6228f484b9] <1.8>
1265
1266         * Make SUDOERS_LDFLAGS reference $(LDFLAGS) instead of using @LDFLAGS@
1267         directly.
1268         [47e6d5fadc6d] <1.8>
1269
1270         * configure, configure.in:
1271         Fix warnings when -without-skey, --without-opie, --without-kerb4,
1272         --without-kerb5 or --without-SecurID were specified.
1273         [1b75035dd129] <1.8>
1274
1275         * Add plugins/sudoers/sudoers_version.h
1276         [1d470c6033ca] <1.8>
1277
1278         * configure, configure.in:
1279         Back out the --with-libpath addition to SUDOERS_LDFLAGS since that
1280         now include LDFLAGS in the sudoers Makefile.in. Add missing settng
1281         of @LDFLAGS@ in plugin Makefile.in files.
1282         [dd237f43aa12] <1.8>
1283
1284 2011-04-05  Todd C. Miller  <Todd.Miller@courtesan.com>
1285
1286         * Mention %#gid support in User_List and Runas_List
1287         [37e259b9181b] <1.8>
1288
1289         * Keep track of sudoers grammar version and report it in the -V
1290         output.
1291         [0e0b891dd8a4] <1.8>
1292
1293         * Add multiple inclusion guard
1294         [ec6884f51ea8] <1.8>
1295
1296         * configure, configure.in:
1297         The --with-libpath option now adds to SUDOERS_LDFLAGS as well as
1298         LDFLAGS. Remove old -static hack for HP-UX < 9. Add LTLDFLAGS and
1299         set it to -Wc,-static-libgcc if not using GNU ld so we don't
1300         have a dependency on the shared libgcc in sudoers.so.
1301         [28d03f3eb0d2] <1.8>
1302
1303         * Fix typo; from Petr Uzel
1304         [d19b9bd92bd3] <1.8>
1305
1306 2011-04-01  Todd C. Miller  <Todd.Miller@courtesan.com>
1307
1308         * In dump-only mode, use "root" as the default username instead of
1309         "nobody" as the latter may not be available on all systems.
1310         [b304111616dd] <1.8>
1311
1312 2011-03-31  Todd C. Miller  <Todd.Miller@courtesan.com>
1313
1314         * Remove NewArgv/NewArgc, they are no longer needed.
1315         [c0a36a42a68c] <1.8>
1316
1317         * Fix setting of user_args
1318         [529e79ea95d1] <1.8>
1319
1320         * Add '!' token to lex tracing
1321         [aef295d428e7] <1.8>
1322
1323         * Use group bin in test, not wheel as most systems have the bin group
1324         but the same is no longer true of wheel.
1325         [350347f09c1a] <1.8>
1326
1327         * Avoid using pre or post increment in a parameter to a ctype(3)
1328         function as it might be a macro that causes the increment to happen
1329         more than once.
1330         [8a94ebdd53b8] <1.8>
1331
1332 2011-03-30  Todd C. Miller  <Todd.Miller@courtesan.com>
1333
1334         * Strip off the beta or release candidate version when building AIX
1335         packages.
1336         [00ad950764e2] <1.8>
1337
1338         * configure, configure.in:
1339         We need to include OSDEFS in CFLAGS when doing the utmp/utmpx
1340         structure checks for glibc which only has __e_termination visible
1341         when _GNU_SOURCE is *not* defined.
1342         [1d58420a4a4a] <1.8>
1343
1344         * getuserattr(user, ...) will fall back to the "default" entry
1345         automatically, there's no need to check "default" manually.
1346         [cefffa82967d] <1.8>
1347
1348         * Document parser changes.
1349         [5038238f60eb] <1.8>
1350
1351 2011-03-29  Todd C. Miller  <Todd.Miller@courtesan.com>
1352
1353         * Makefile.in:
1354         If there is an existing sudoers file, only install if it passes a
1355         syntax check.
1356         [b1e4c9c56fe0] <1.8>
1357
1358         * Add runasgroup support to testsudoers
1359         [30838590e9de] <1.8>
1360
1361         * For "make check", keep going even if a test fails.
1362         [d3a72f67227e] <1.8>
1363
1364         * More useful exit codes:
1365          * 0 - parsed OK and command matched.
1366          * 1 - parse error
1367          * 2 - command not matched
1368          * 3 - command denied
1369         [59301e0769cd] <1.8>
1370
1371         * Document %#gid, and %:#nonunix_gid syntax.
1372         [39ee15af58e9] <1.8>
1373
1374         * Add support to user_in_group() for treating group names that begin
1375         with a '#' as gids.
1376         [0eb19980cf5f] <1.8>
1377
1378         * configure, configure.in:
1379         Add explicit check for struct utmpx.ut_exit.e_termination and struct
1380         utmpx.ut_exit.__e_termination. HP-UX uses the latter. Only update
1381         ut_exit if we detect one or the other.
1382         [ab5b665fc04b] <1.8>
1383
1384 2011-03-28  Todd C. Miller  <Todd.Miller@courtesan.com>
1385
1386         * Add back missing #include of config.h
1387         [9c82bec81018] <1.8>
1388
1389         * Avoid a NULL deref on unrecognized escapes. Collapse %% -> % like
1390         strftime() does.
1391         [1ae630470f8a] <1.8>
1392
1393         * Quote first argument to AC_DEFUN(); from Elan Ruusamae
1394         [c467e9e3b399] <1.8>
1395
1396 2011-03-27  Todd C. Miller  <Todd.Miller@courtesan.com>
1397
1398         * add new sudoers tests
1399         [05f2a0924acc] <1.8>
1400
1401         * Add test for a newline in the middle of a string when no line
1402         continuation character is used.
1403         [24b79be5822b] <1.8>
1404
1405         * Use bitwise AND instead of modulus to check for length being odd. A
1406         newline in the middle of a string is an error unless a line
1407         continuation character is used.
1408         [65c468599688] <1.8>
1409
1410         * Move lexer globals initialization into init_lexer.
1411         [07a1171a1853] <1.8>
1412
1413         * Fix a potential crash when a non-regular file is present in an
1414         includedir. Fixes bz #452
1415         [5057cb9516e4] <1.8>
1416
1417         * On some Linux systems, "uname -p" contains detailed processor info
1418         so check "uname -m" first and then "uname -p" if needed. Recognize
1419         PLD Linux.
1420         [56226c84a060] <1.8>
1421
1422 2011-03-25  Todd C. Miller  <Todd.Miller@courtesan.com>
1423
1424         * Don't need all sudoers.h here.
1425         [43b6ae5999c5] <1.8>
1426
1427         * Print sudo version early, in case policy plugin init fails.
1428         [620f2d0ec4b1] <1.8>
1429
1430 2011-03-24  Todd C. Miller  <Todd.Miller@courtesan.com>
1431
1432         * Update to match change in input.
1433         [69540f84721d] <1.8>
1434
1435         * Make an empty group or netgroup a syntax error.
1436         [4b85bddc494e] <1.8>
1437
1438         * An empty group or netgroup should be a syntax error.
1439         [6ec796972eff] <1.8>
1440
1441         * Check that uids work in per-user and per-runas Defaults Check that
1442         uids and gids work in a Command_Spec
1443         [68cf62353420] <1.8>
1444
1445         * Test empty string in User_Alias and Command_Spec
1446         [017d487c31be] <1.8>
1447
1448         * Allow a group ID in the User_Spec.
1449         [37e0bf69c8d8] <1.8>
1450
1451         * Return an error for the empty string when a word is expected. Allow
1452         an ID for per-user or per-runas Defaults.
1453         [4c9020779582] <1.8>
1454
1455 2011-03-23  Todd C. Miller  <Todd.Miller@courtesan.com>
1456
1457         * Fix printing "User_Alias FOO = ALL"
1458         [97c9fd7caeb7] <1.8>
1459
1460 2011-03-22  Todd C. Miller  <Todd.Miller@courtesan.com>
1461
1462         * Better error message about invalid -C argument
1463         [2301e7a3835b] <1.8>
1464
1465         * fix typo
1466         [c5acde62a309] <1.8>
1467
1468         * Fix placement of equal size ('=') in user specification summary.
1469         [4d0ffef77ae4] <1.8>
1470
1471 2011-03-21  Todd C. Miller  <Todd.Miller@courtesan.com>
1472
1473         * update to match sudoers regress
1474         [0efb8dc9092a] <1.8>
1475
1476         * Restore ability to define TRACELEXER and have trace output go to
1477         stderr.
1478         [441c8b372217] <1.8>
1479
1480         * Restore old behavior of setting sawspace = TRUE for command line
1481         args when a line continuation character is hit to avoid causing
1482         problems for existing sudoers files.
1483         [963ded6ce070] <1.8>
1484
1485         * Add test for line continuation and aliases
1486         [5703d11a3c46] <1.8>
1487
1488         * Make test output line up nicely for parse vs. toke
1489         [15321ce2d7d9] <1.8>
1490
1491         * plugins/sudoers/regress/testsudoers/test1.ok,
1492         plugins/sudoers/regress/testsudoers/test2.out,
1493         plugins/sudoers/regress/testsudoers/test2.sh,
1494         plugins/sudoers/regress/testsudoers/test3.ok,
1495         plugins/sudoers/regress/testsudoers/test3.sh,
1496         plugins/sudoers/regress/visudo/test1.ok,
1497         plugins/sudoers/regress/visudo/test1.sh:
1498         Move parser tests to sudoers directory and test the tokenizer output
1499         too.
1500         [111c1ccda334] <1.8>
1501
1502         * If we match a rule anchored to the beginning of a line after parsing
1503         a line continuation character, return an ERROR token. It would be
1504         nicer to use REJECT instead but that substantially slows down the
1505         lexer.
1506         [67e54b14aa9d] <1.8>
1507
1508         * Move LEXTRACE macro to toke.h so we can use it in yyerror().
1509         [e6e04037deed] <1.8>
1510
1511         * Make lex tracing settable at run-time in testsudoers via the -t
1512         flag. Trace output goes to stderr. Will be used by regress tests
1513         to check lexer.
1514         [a973f43cc0c2] <1.8>
1515
1516         * Allow whitespace after the modifier in a Defaults entry. E.g.
1517         "Defaults: username set_home"
1518         [bf876c9fc5bb] <1.8>
1519
1520 2011-03-18  Todd C. Miller  <Todd.Miller@courtesan.com>
1521
1522         * Don't set CC when cross-compiling.
1523         [d3c33dcb02f2] <1.8>
1524
1525         * Credit Matthew Thomas for the sudoers_search_filter changes.
1526         [2209b80664af] <1.8>
1527
1528         * Add the .sym files to the MANIFEST
1529         [bb452b28a009] <1.8>
1530
1531         * Update for sudo 1.8.1 beta
1532         [700d42d80e00] <1.8>
1533
1534         * user_shell -> run_shell to avoid confusion with the user's SHELL
1535         variable.
1536         [451b96d5f97e] <1.8>
1537
1538         * Save the controlling tty process group before suspending in pty
1539         mode. Previously, we assumed that the child pgrp == child pid
1540         (which is usually, but not always, the case).
1541         [b0841d861191] <1.8>
1542
1543         * Add support for sudoers_search_filter setting in ldap.conf. This
1544         can be used to restrict the set of records returned by the LDAP
1545         query.
1546         [70c5f496e2b3] <1.8>
1547
1548 2011-03-17  Todd C. Miller  <Todd.Miller@courtesan.com>
1549
1550         * configure, configure.in:
1551         Remove the hack to disable -g in CFLAGS unless --with-devel
1552         [9459839f50ba] <1.8>
1553
1554         * The '@' character does not normally need to be quoted.
1555         [e66c4c64e514] <1.8>
1556
1557         * We normaly transition from GOTDEFS to STARTDEFS on whitespace, but
1558         if that whitespace is followed by a comma, we want to treat it as
1559         part of a list and not transition.
1560         [52ae2df9959d] <1.8>
1561
1562         * Add check for whitespace when a User_List is used for a per-user
1563         Defaults entry.
1564         [44a4db95be86] <1.8>
1565
1566         * Expand quoted name checks to cover recent fixes.
1567         [bd494b5c2bed] <1.8>
1568
1569         * Fix parsing of double-quoted names in Defaults and Aliases which was
1570         broken in 601d97ea8792.
1571         [dfdd58c3eb3b] <1.8>
1572
1573         * toke_util.c lives in $(srcdir) not $(devdir)
1574         [94f8f024782e] <1.8>
1575
1576 2011-03-16  Todd C. Miller  <Todd.Miller@courtesan.com>
1577
1578         * configure, configure.in:
1579         Update version to 1.8.1
1580         [531a7d520f18] <1.8>
1581
1582         * Document major changes in 1.8.1 and add upgrade notes.
1583         [116821646140] <1.8>
1584
1585         * Be careful not to deref user_stat if it is NULL. This cannot
1586         currently happen in sudo but might in other programs using the
1587         parser.
1588         [d72a9c7151c4] <1.8>
1589
1590         * configure will not add -O2 to CFLAGS if it is already defined to add
1591         -O2 to the CFLAGS we pass in when PIE is being used.
1592         [2c7fe82be93d] <1.8>
1593
1594         * Warn about the dangers of log_input and mention iolog_file and
1595         iolog_dir in the log_input and log_output descriptions.
1596         [edc6aa59aa45] <1.8>
1597
1598         * sync with git version
1599         [b121cf739c77] <1.8>
1600
1601         * It seems that h comes after i
1602         [99ad15015f05] <1.8>
1603
1604         * Move log_input and log_output to their proper, sorted, location.
1605         Document set_utmp and utmp_runas.
1606         [216ce8b0ae1a] <1.8>
1607
1608         * Save the controlling tty process group before suspending so we can
1609         restore it when we resume. Fixes job control problems on Linux
1610         caused by the previous attemp to fix resuming a shell when I/O
1611         logging not enabled.
1612         [dfe038f733be] <1.8>
1613
1614         * Fix printing of the remainder after a newline. Fixes "sudo -l"
1615         output corruption that could occur in some cases.
1616         [ab2f0a629e0d] <1.8>
1617
1618         * Add support for ut_exit
1619         [7039ec6a73fa] <1.8>
1620
1621         * Add support for controlling whether utmp is updated and which user
1622         is listed in the entry.
1623         [1b008ce71eab] <1.8>
1624
1625         * Fix typo; tupple vs. tuple
1626         [67bb5c67ae3d] <1.8>
1627
1628         * For legacy utmp, strip the /dev/ prefix before trying to determine
1629         slot since the ttys file does not include the /dev/ prefix.
1630         [8f597114381d] <1.8>
1631
1632         * Add check for _PATH_UTMP
1633         [fe7e2456f017] <1.8>
1634
1635         * Adapt check_iolog_path to sessid changes
1636         [3016201869b6] <1.8>
1637
1638         * Redo utmp handling. If no getutent()/getutxent() is available,
1639         assume a ttyslot-based utmp. If getttyent() is available, use that
1640         directly instead of ttyslot() so we don't have to do the stdin dup2
1641         dance.
1642         [817490c7c20e] <1.8>
1643
1644         * Move utmp handling into utmp.c
1645         [e4729d9259e9] <1.8>
1646
1647         * Update copyright years.
1648         [1065afc00233] <1.8>
1649
1650 2011-03-11  Todd C. Miller  <Todd.Miller@courtesan.com>
1651
1652         * Add "user_shell" boolean as a way to indicate to the plugin that the
1653         -s flag was given.
1654         [6e8bc49b7ea7] <1.8>
1655
1656         * Move sessid out of sudo_user.
1657         [00d67d5ba894] <1.8>
1658
1659         * Log the TSID even if it is not a simple session ID.
1660         [490cf0adae29] <1.8>
1661
1662         * Document noexec in sample.sudo.conf and add back noexec_file section
1663         in sudoers with a note that it is deprecated.
1664         [c7a2d8d0c563] <1.8>
1665
1666         * Fix running commands as non-root on systems where setreuid() changes
1667         the saved uid based on the effective uid we are changing to.
1668         [f3b27db56ba6] <1.8>
1669
1670 2011-03-10  Todd C. Miller  <Todd.Miller@courtesan.com>
1671
1672         * Move noexec path into sudo.conf now that sudo itself handles noexec.
1673         Currently can be configured in sudoers too but is now undocumented
1674         and will be removed in a future release.
1675         [9c5f64709994] <1.8>
1676
1677         * Document "Path noexec ..." in sudo.conf. No longer document
1678         noexec_file in sudoers, it will be removed in a future release.
1679         [959fa6b5217b] <1.8>
1680
1681         * Move noexec handling to sudo front-end where it is documented as
1682         being.
1683         [ef6cd4a40c61] <1.8>
1684
1685         * Add support for disabling exec via solaris privileges. Includes
1686         preparation for moving noexec support out of sudoers and into front
1687         end as documented.
1688         [d9c05ba9a24f] <1.8>
1689
1690         * Only export the symbols corresponding to the plugin structs.
1691         [cb07af1d9b39] <1.8>
1692
1693         * Install plugins manually instead of using libtool. This works
1694         around a problem on AIX where libtool will install a .a file
1695         containing the .so file instead of the .so file itself.
1696         [1ccf5af58c05] <1.8>
1697
1698         * Makefile.in:
1699         Move check into its own rule since some versions of make will run
1700         both targets as the default rule.
1701         [7159f37eb552] <1.8>
1702
1703         * Update to libtool 2.2.10
1704         [9e49773b32b7] <1.8>
1705
1706         * In handle_signals(), restart the read() on EINTR to make sure we
1707         keep up with the signal pipe. Don't return -1 on EAGAIN, it just
1708         means we have emptied the pipe.
1709         [dc2926097b2d] <1.8>
1710
1711         * Reorder functions to quiet a compiler warning.
1712         [5201367e5db4] <1.8>
1713
1714         * Use the Sun Studio C compiler on Solaris if possible
1715         [b8d43b423fb9] <1.8>
1716
1717 2011-03-08  Todd C. Miller  <Todd.Miller@courtesan.com>
1718
1719         * Fix default setting of osversion variable.
1720         [e12905851be5] <1.8>
1721
1722         * Make two login_class entris consistent.
1723         [0671d7b204be] <1.8>
1724
1725         * Add support for adding a utmp entry when allocating a new pty.
1726         Requires the BSD login(3) or SYSV/POSIX getutent()/getutxent().
1727         Currently only creates a new entry if the existing tty has a utmp
1728         entry.
1729         [40ff30099e79] <1.8>
1730
1731         * Avoid pulling in headers we don't need on Linux For getutx?id(),
1732         call setutx?ent() first and always call endutx?ent().
1733         [b86f7a13aae9] <1.8>
1734
1735         * Add some more libs to SUDOERS_LIBS instead of relying on them to be
1736         pulled in by SUDO_LIBS.
1737         [bcbd16ec56c6] <1.8>
1738
1739         * Fix return value of "sudo -l command" when command is not allowed,
1740         broken in [c7097ea22111]. The default return value is now TRUE and
1741         a bad: label is used when permission is denied. Also fixed missing
1742         permissions restoration on certain errors. On error()/errorx(), the
1743         password and group files are now closed before returning.
1744         [757c941a47b2] <1.8>
1745
1746 2011-03-07  Todd C. Miller  <Todd.Miller@courtesan.com>
1747
1748         * Fix passing of login class back to sudo front end.
1749         [5e649de6b7f5] <1.8>
1750
1751         * Add --osversion flag to specify OS instead of running "pp
1752         --probeonly"
1753         [8a03943ac5e8] <1.8>
1754
1755         * Fix expr usage w/ GNU expr
1756         [bdecfa1f54fc] <1.8>
1757
1758 2011-03-06  Todd C. Miller  <Todd.Miller@courtesan.com>
1759
1760         * Fix exit value for validate and list mode.
1761         [6f8b20199935] <1.8>
1762
1763         * Fix non-interactive mode with sudoers plugin.
1764         [cf5aca4fcbcf] <1.8>
1765
1766 2011-03-05  Todd C. Miller  <Todd.Miller@courtesan.com>
1767
1768         * sudoreplay can now find IDs other than %{seq} and display the
1769         session.
1770         [60396b417633] <1.8>
1771
1772         * Add support for replaying sessions when iolog_file is set to
1773         something other than %{seq}.
1774         [1cd2baa74d56] <1.8>
1775
1776 2011-03-04  Todd C. Miller  <Todd.Miller@courtesan.com>
1777
1778         * If we are killed by a signal, display the name of the signal that
1779         got us.
1780         [1b38c4d42282] <1.8>
1781
1782         * Move libs used for authentication from SUDO_LIBS to SUDOERS_LIBS
1783         where they belong.
1784         [78e97a921104] <1.8>
1785
1786         * Fix bug in skey/opie check that could cause a shell warning.
1787         [f20229a04f30] <1.8>
1788
1789         * No longer need sudo_getepw() stubs.
1790         [795631ac7db0] <1.8>
1791
1792 2011-03-03  Todd C. Miller  <Todd.Miller@courtesan.com>
1793
1794         * Fix exit value of "sudo -l command" in sudoers module.
1795         [4a05d6019b3d] <1.8>
1796
1797 2011-03-02  Todd C. Miller  <Todd.Miller@courtesan.com>
1798
1799         * Use fgets() not fgetln() for portability.
1800         [1f2050745096] <1.8>
1801
1802         * Don't use the beta or release candidate version as the rpm release.
1803         [a5b049477646] <1.8>
1804
1805 2011-02-25  Todd C. Miller  <Todd.Miller@courtesan.com>
1806
1807         * Makefile.in:
1808         Adjust ChangeLog rule now that 1.8 is branched
1809         [a994ac361e44] <1.8>
1810
1811         * .hgtags:
1812         Added tag SUDO_1_8_0 for changeset f6530d56f6ae
1813         [99a2b3801419] <1.8>
1814
1815 2011-02-25  Todd C. Miller  <Todd.Miller@courtesan.com>
1816
1817         * configure, configure.in:
1818         version 1.8.0
1819         [f6530d56f6ae] [SUDO_1_8_0]
1820
1821         * NEWS:
1822         update sudo 1.8 section
1823         [f2ee2cf95d18]
1824
1825 2011-02-23  Todd C. Miller  <Todd.Miller@courtesan.com>
1826
1827         * plugins/sudoers/regress/testsudoers/test2.sh:
1828         fix test description
1829         [cd5730fa9f09]
1830
1831         * plugins/sudoers/regress/testsudoers/test2.out,
1832         plugins/sudoers/regress/testsudoers/test2.sh,
1833         plugins/sudoers/regress/visudo/test2.out,
1834         plugins/sudoers/regress/visudo/test2.sh:
1835         convert test2 to use testsudoers
1836         [b5ec3f0b69f1]
1837
1838         * include/sudo_plugin.h, src/sudo_plugin_int.h:
1839         Move struct generic_plugin to sudo_plugin_int.h
1840         [6f7bc629329c]
1841
1842         * plugins/sudoers/gram.c, plugins/sudoers/gram.y,
1843         plugins/sudoers/parse.c, plugins/sudoers/parse.h,
1844         plugins/sudoers/set_perms.c, plugins/sudoers/sudoers.c,
1845         plugins/sudoers/sudoers.h:
1846         Allow sudoers file name, mode, uid and gid to be specified in the
1847         settings list. The sudo front end does not currently set these but
1848         may in the future.
1849         [22f38a0fda2a]
1850
1851 2011-02-21  Todd C. Miller  <Todd.Miller@courtesan.com>
1852
1853         * configure, configure.in, doc/sudo.cat, doc/sudo.man.in,
1854         doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudoers.cat,
1855         doc/sudoers.ldap.cat, doc/sudoers.ldap.man.in, doc/sudoers.man.in,
1856         doc/sudoreplay.cat, doc/sudoreplay.man.in, doc/visudo.cat,
1857         doc/visudo.man.in:
1858         1.8.0rc1
1859         [5d4588b9c057]
1860
1861         * doc/sudo.pod, doc/sudoreplay.pod, doc/visudo.pod,
1862         plugins/sudoers/sudoreplay.c, plugins/sudoers/visudo.c,
1863         src/parse_args.c, src/sudo.h:
1864         add help text to sudo, visudo and sudoreplay for the -h option
1865         [52e7378d8476]
1866
1867 2011-02-19  Todd C. Miller  <Todd.Miller@courtesan.com>
1868
1869         * compat/snprintf.c:
1870         avoid using "howmany" for a parameter name since it is a select-
1871         related macro
1872         [a14d565401a1]
1873
1874         * doc/sudoers.pod:
1875         mention group_plugin when describing nonunix_group
1876         [e0d1d0034b17]
1877
1878         * doc/sudo_plugin.pod:
1879         Add missing period at end of sentence
1880         [6744d7e9056d]
1881
1882         * Makefile.in, doc/Makefile.in, include/Makefile.in,
1883         plugins/sample/Makefile.in, plugins/sample_group/Makefile.in,
1884         plugins/sudoers/Makefile.in, src/Makefile.in:
1885         add localstatedir; closes bug 471
1886         [7aefcab85088]
1887
1888         * config.h.in, configure, configure.in, plugins/sudoers/sudoreplay.c,
1889         src/exec.c, src/exec_pty.c:
1890         The howmany macro lives in sys/sysmacros.h on SVR5 systems Closes
1891         Bug 470
1892         [927ed6740f32]
1893
1894         * configure.in:
1895         add missing AH_TEMPLATE for ENV_RESET
1896         [16300010c986]
1897
1898         * src/exec.c:
1899         SVR5 systems return non-zero for success on socketpair(), check for
1900         -1 instead. Closes Bug 469
1901         [4d276494bf8e]
1902
1903 2011-02-16  Todd C. Miller  <Todd.Miller@courtesan.com>
1904
1905         * configure, configure.in:
1906         1.8.0b5
1907         [d611cd5d73d3]
1908
1909         * doc/sudo.cat, doc/sudo.man.in, doc/sudo_plugin.cat,
1910         doc/sudo_plugin.man.in, doc/sudoers.cat, doc/sudoers.ldap.cat,
1911         doc/sudoers.ldap.man.in, doc/sudoers.man.in, doc/sudoreplay.cat,
1912         doc/sudoreplay.man.in, doc/visudo.cat, doc/visudo.man.in:
1913         regen
1914         [85e96eeaed82]
1915
1916         * doc/sudo.pod:
1917         Document that a sudo.conf file with no Pligin lines uses the default
1918         sudoers plugins.
1919         [88bd52da977f]
1920
1921         * src/load_plugins.c:
1922         If sudo.conf contains no Plugin lines, use the default sudoers
1923         policy and I/O plugins.
1924         [fd8f4cb811ab]
1925
1926 2011-02-14  Todd C. Miller  <Todd.Miller@courtesan.com>
1927
1928         * plugins/sudoers/sudo_nss.c:
1929         Avoid printing empty "Runas and Command-specific defaults for user"
1930         line.
1931         [2dd330fe4f8b]
1932
1933         * common/lbuf.c:
1934         Truncate the buffer at buf.len before printing in the non-wordwrap
1935         case.
1936         [901e9833f80d]
1937
1938         * common/lbuf.c:
1939         Remove extra newline when the tty width is very small or unavailable
1940         [245c05506c0e]
1941
1942 2011-02-11  Todd C. Miller  <Todd.Miller@courtesan.com>
1943
1944         * plugins/sudoers/alias.c:
1945         Remove unneeded variable.
1946         [2c086d30b796]
1947
1948 2011-02-09  Todd C. Miller  <Todd.Miller@courtesan.com>
1949
1950         * configure, configure.in:
1951         Prefer getutxid over getutid
1952         [3f3322e9c93e]
1953
1954         * plugins/sudoers/boottime.c:
1955         Include utmp.h / utmpx.h before missing.h as apparently including it
1956         afterwards causes a compilation problem on GNU Hurd.
1957         [a528029ae962]
1958
1959 2011-02-07  Todd C. Miller  <Todd.Miller@courtesan.com>
1960
1961         * plugins/sudoers/sudoreplay.c, plugins/sudoers/toke_util.c:
1962         #include "foo.h", not <foo.h> for local includes.
1963         [f65ec693998e]
1964
1965         * src/parse_args.c:
1966         remove bogus XXX
1967         [9136c17d53ce]
1968
1969         * compat/mksiglist.c:
1970         Fix typo
1971         [1a3bb7b455c9]
1972
1973         * compat/glob.c, plugins/sudoers/ldap.c, plugins/sudoers/logging.c,
1974         plugins/sudoers/match.c:
1975         return foo not return(foo)
1976         [5c9e0647359a]
1977
1978 2011-02-06  Todd C. Miller  <Todd.Miller@courtesan.com>
1979
1980         * src/exec.c:
1981         Remove duplicate FD_SET of signal_pipe[0]
1982         [3096527d2215]
1983
1984 2011-02-05  Todd C. Miller  <Todd.Miller@courtesan.com>
1985
1986         * compat/mksiglist.c:
1987         Use "missing.h" not <missing.h> in generated code.
1988         [d8e09cffbe09]
1989
1990 2011-02-04  Todd C. Miller  <Todd.Miller@courtesan.com>
1991
1992         * aclocal.m4, configure:
1993         fix --with-iologdir=no
1994         [a89699cb5f5f]
1995
1996         * aclocal.m4, configure:
1997         fix typo that broke --with-iologdir
1998         [91b54eb22403]
1999
2000 2011-02-03  Todd C. Miller  <Todd.Miller@courtesan.com>
2001
2002         * configure, configure.in, doc/sudo.cat, doc/sudo.man.in,
2003         doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudoers.cat,
2004         doc/sudoers.ldap.cat, doc/sudoers.ldap.man.in, doc/sudoers.man.in,
2005         doc/sudoreplay.cat, doc/sudoreplay.man.in, doc/visudo.cat,
2006         doc/visudo.man.in:
2007         Bump version to 1.8.0b4
2008         [e2b7f2cdc02e]
2009
2010         * NEWS:
2011         sync
2012         [decf5a0a8a33]
2013
2014         * doc/sudoers.cat, doc/sudoers.man.in, doc/sudoers.pod:
2015         Attempt to clarify how users and groups interact in Runas_Specs
2016         [e6fb3a2dbd77]
2017
2018         * plugins/sudoers/regress/visudo/test2.out,
2019         plugins/sudoers/regress/visudo/test2.sh:
2020         Add test for quoted group that contains escaped double quotes
2021         [44596c48c629]
2022
2023         * src/exec.c, src/exec_pty.c:
2024         Pass SIGUSR1/SIGUSR2 through to the child.
2025         [c3108a827b01]
2026
2027         * src/exec_pty.c, src/sudo_exec.h:
2028         Use special values SIGCONT_FG and SIGCONT_BG instead of SIGUSR1 and
2029         SIGUSR2 to indicate whether the child should be continued in the
2030         foreground or background.
2031         [35ca47cc6785]
2032
2033         * src/exec.c:
2034         Use pid_t not int and check the return value of kill()
2035         [36ae7d37d7f9]
2036
2037 2011-02-02  Todd C. Miller  <Todd.Miller@courtesan.com>
2038
2039         * src/exec_pty.c:
2040         Remove obsolete comment
2041         [baebef4919f6]
2042
2043         * src/exec.c:
2044         In non-pty mode before continuing the child, make it the foreground
2045         pgrp if possible. Fixes resuming a shell.
2046         [fef5b1d02ddb]
2047
2048         * src/exec_pty.c:
2049         If we get a signal other than SIGCHLD in the monitor, pass it
2050         directly to the child.
2051         [b3ecb28163a0]
2052
2053         * src/exec.c, src/exec_pty.c, src/sudo.h:
2054         Save signal state before changing handlers and restore before we
2055         execute the command.
2056         [faf7475dc4bf]
2057
2058 2011-02-01  Todd C. Miller  <Todd.Miller@courtesan.com>
2059
2060         * plugins/sudoers/iolog.c:
2061         Use a char array to map a number to a base36 digit.
2062         [257576c51f8b]
2063
2064         * doc/sudoers.ldap.cat, doc/sudoers.ldap.man.in, doc/sudoers.ldap.pod:
2065         Be clear about what versions of sudo support new LDAP attributes.
2066         Fix up some formatting of attribute names. Minor other tweaks.
2067         [39f65df71f65]
2068
2069 2011-01-31  Todd C. Miller  <Todd.Miller@courtesan.com>
2070
2071         * plugins/sudoers/toke.c, plugins/sudoers/toke.l:
2072         match quoted strings the same way whether in a Defaults line or as a
2073         user/group/netgroup name. Fixes escaped double quotes in quoted
2074         user/group/netgroup names.
2075         [601d97ea8792]
2076
2077         * plugins/sudoers/Makefile.in:
2078         'make check' depends on visudo and testsudoers
2079         [127c5a24df8f]
2080
2081         * plugins/sudoers/sudoers2ldif:
2082         Add sudoOrder attribute to each entry Parse LOG_{INPUT,OUTPUT} tags
2083         [9029163a58c3]
2084
2085 2011-01-30  Todd C. Miller  <Todd.Miller@courtesan.com>
2086
2087         * doc/UPGRADE:
2088         Mention LDAP attribute compatibility status.
2089         [2c3595aaec63]
2090
2091 2011-01-28  Todd C. Miller  <Todd.Miller@courtesan.com>
2092
2093         * README.LDAP:
2094         Mention phpQLAdmin
2095         [9304c9064fbe]
2096
2097         * INSTALL, NEWS, config.h.in, configure, configure.in,
2098         doc/sudoers.man.in, doc/sudoers.pod, plugins/sudoers/defaults.c:
2099         Add --disable-env-reset configure option.
2100         [8a753aa13a46]
2101
2102         * doc/sudoers.cat, doc/sudoers.man.in, doc/sudoers.pod:
2103         Document that sudoers_locale also affects logging and email.
2104         [998d6ac11277]
2105
2106         * NEWS, config.h.in, configure, configure.in,
2107         plugins/sudoers/logging.c:
2108         Do logging and email sending in the locale specified by the
2109         "sudoers_locale" setting ("C" by default). Email send by sudo
2110         includes MIME headers when the sudoers locale is not "C".
2111         [cb7e55408400]
2112
2113 2011-01-27  Todd C. Miller  <Todd.Miller@courtesan.com>
2114
2115         * plugins/sudoers/check.c:
2116         Fix indentation
2117         [65ae7e92b9e4]
2118
2119 2011-01-25  Todd C. Miller  <Todd.Miller@courtesan.com>
2120
2121         * NEWS, src/parse_args.c, src/sudo.c:
2122         Perform command escaping for "sudo -s" and "sudo -i" after
2123         validating sudoers so the sudoers entries don't need to have all the
2124         backslashes.
2125         [4e168c103f4b]
2126
2127 2011-01-24  Todd C. Miller  <Todd.Miller@courtesan.com>
2128
2129         * plugins/sudoers/logging.c:
2130         Prepend "list " to the command logged when "sudo -l command" is used
2131         to make it clear that the command was listed, not run.
2132         [f392a6056cd6]
2133
2134         * plugins/sudoers/parse.c:
2135         cosmetic change
2136         [7c0951dbc2dd]
2137
2138         * common/aix.c, common/alloc.c, common/fileops.c, common/fmt_string.c,
2139         common/list.c, common/term.c, compat/fnmatch.c, compat/getcwd.c,
2140         compat/glob.c, compat/isblank.c, compat/memrchr.c, compat/mktemp.c,
2141         compat/nanosleep.c, compat/regress/glob/globtest.c,
2142         compat/snprintf.c, compat/strlcat.c, compat/strlcpy.c,
2143         compat/strsignal.c, compat/utimes.c, plugins/sample/sample_plugin.c,
2144         plugins/sample_group/getgrent.c, plugins/sample_group/plugin_test.c,
2145         plugins/sudoers/alias.c, plugins/sudoers/auth/afs.c,
2146         plugins/sudoers/auth/aix_auth.c, plugins/sudoers/auth/bsdauth.c,
2147         plugins/sudoers/auth/dce.c, plugins/sudoers/auth/fwtk.c,
2148         plugins/sudoers/auth/kerb4.c, plugins/sudoers/auth/kerb5.c,
2149         plugins/sudoers/auth/pam.c, plugins/sudoers/auth/passwd.c,
2150         plugins/sudoers/auth/rfc1938.c, plugins/sudoers/auth/secureware.c,
2151         plugins/sudoers/auth/securid.c, plugins/sudoers/auth/securid5.c,
2152         plugins/sudoers/auth/sia.c, plugins/sudoers/bsm_audit.c,
2153         plugins/sudoers/check.c, plugins/sudoers/defaults.c,
2154         plugins/sudoers/find_path.c, plugins/sudoers/goodpath.c,
2155         plugins/sudoers/gram.c, plugins/sudoers/gram.y,
2156         plugins/sudoers/iolog.c, plugins/sudoers/ldap.c,
2157         plugins/sudoers/match.c, plugins/sudoers/mon_systrace.c,
2158         plugins/sudoers/parse.c, plugins/sudoers/pwutil.c,
2159         plugins/sudoers/redblack.c, plugins/sudoers/set_perms.c,
2160         plugins/sudoers/sudo_nss.c, plugins/sudoers/sudoers.c,
2161         plugins/sudoers/sudoreplay.c, plugins/sudoers/testsudoers.c,
2162         plugins/sudoers/timestr.c, plugins/sudoers/toke.c,
2163         plugins/sudoers/toke.l, plugins/sudoers/toke_util.c,
2164         plugins/sudoers/tsgetgrpw.c, plugins/sudoers/visudo.c,
2165         src/exec_pty.c, src/get_pty.c, src/load_plugins.c, src/parse_args.c,
2166         src/sudo_noexec.c, src/tgetpass.c:
2167         standardize on "return foo;" rather than "return(foo);" or "return
2168         (foo);"
2169         [32d76c5aaf8c]
2170
2171         * plugins/sudoers/sudoers.c:
2172         Do not reject sudoers file just because it is root-writable.
2173         [0febc579185b]
2174
2175 2011-01-21  Todd C. Miller  <Todd.Miller@courtesan.com>
2176
2177         * NEWS:
2178         sync
2179         [1ab03f8278ff]
2180
2181         * plugins/sudoers/sudo_nss.c:
2182         For "sudo -U user -l" if user is not authorized on the host, say so.
2183         [289afe6dd15c]
2184
2185         * plugins/sudoers/ldap.c:
2186         In sudo_ldap_lookup(), always do the initial sudoers check as the
2187         invoking user. If we are listing another user's privs we will do a
2188         separate lookup using list_pw later.
2189         [e52bc15de76d]
2190
2191 2011-01-20  Todd C. Miller  <Todd.Miller@courtesan.com>
2192
2193         * MANIFEST:
2194         add parser fill tests
2195         [4f65140d3515]
2196
2197         * compat/regress/glob/globtest.c, compat/regress/glob/globtest.in:
2198         Don't test features not supported by the bundled glob()
2199         [8ec7ace11949]
2200
2201         * Makefile.in, aclocal.m4, common/Makefile.in, common/term.c,
2202         compat/Makefile.in, configure.in, doc/LICENSE, doc/Makefile.in,
2203         doc/sudo_plugin.man.in, doc/sudo_plugin.pod,
2204         doc/sudoers.ldap.man.in, doc/sudoers.ldap.pod, doc/sudoers.man.in,
2205         doc/sudoers.pod, include/Makefile.in, plugins/sample/Makefile.in,
2206         plugins/sample_group/Makefile.in, plugins/sudoers/Makefile.in,
2207         plugins/sudoers/check.c, plugins/sudoers/defaults.c,
2208         plugins/sudoers/gram.c, plugins/sudoers/gram.y,
2209         plugins/sudoers/iolog.c, plugins/sudoers/iolog_path.c,
2210         plugins/sudoers/ldap.c, plugins/sudoers/match.c,
2211         plugins/sudoers/pwutil.c, plugins/sudoers/sudo_nss.c,
2212         plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h,
2213         plugins/sudoers/sudoreplay.c, plugins/sudoers/testsudoers.c,
2214         plugins/sudoers/toke.c, plugins/sudoers/toke.l,
2215         plugins/sudoers/toke_util.c, src/Makefile.in, zlib/Makefile.in:
2216         Update copyright year to 2011
2217         [ac1b45cb1809]
2218
2219         * plugins/sudoers/sudo_nss.c:
2220         When listing, use separate lbufs for the defaults and the privileges
2221         and only print something if the number of privileges is non-zero.
2222         Fixes extraneous Defaults output for "sudo -U unauthorized_user -l".
2223         [d0854d39f8ef]
2224
2225         * plugins/sudoers/ldap.c:
2226         Stash pointer to user group vector in LDAP handle and only reuse the
2227         query if it has not changed. We always allocate a new buffer when
2228         we reset the group vector so a simple pointer check is sufficient.
2229         [88861d4eba69]
2230
2231         * plugins/sudoers/sudo_nss.c:
2232         Check initgroups() return value.
2233         [3bdaf58408a7]
2234
2235         * plugins/sudoers/Makefile.in,
2236         plugins/sudoers/regress/parser/check_fill.c:
2237         Add tests for the fill functions in toke_util.c
2238         [bca587ab4956]
2239
2240 2011-01-19  Todd C. Miller  <Todd.Miller@courtesan.com>
2241
2242         * plugins/sudoers/regress/iolog_path/check_iolog_path.c:
2243         fix copyright year
2244         [e2038cdaf055]
2245
2246         * NEWS:
2247         sync
2248         [56ca5d5eaebe]
2249
2250 2011-01-18  Todd C. Miller  <Todd.Miller@courtesan.com>
2251
2252         * common/term.c:
2253         Clear, don't set, OPOST in c_oflag as was intended in 506ad5ae9b4e.
2254         [b91f266624ec]
2255
2256 2011-01-14  Todd C. Miller  <Todd.Miller@courtesan.com>
2257
2258         * mkpkg, sudo.pp:
2259         Add Requires line for audit-libs >= 1.4 for RHEL5+
2260         [6c02f976171b]
2261
2262         * pp:
2263         sync with git version
2264         [d301c32d5865]
2265
2266 2011-01-13  Todd C. Miller  <Todd.Miller@courtesan.com>
2267
2268         * doc/sudoers.cat, doc/sudoers.man.in, doc/sudoers.pod:
2269         fix typo
2270         [39353f92976f]
2271
2272 2011-01-12  Todd C. Miller  <Todd.Miller@courtesan.com>
2273
2274         * NEWS:
2275         Update for sudo 1.7.4p5
2276         [b444da76901f]
2277
2278         * doc/schema.OpenLDAP, doc/schema.iPlanet:
2279         Add sudoNotBefore and sudoNotAfter attributes as optional attributes
2280         to the sudoRole object class. From Andreas Mueller
2281         [dacfad7e7a95]
2282
2283 2011-01-11  Todd C. Miller  <Todd.Miller@courtesan.com>
2284
2285         * NEWS:
2286         Mention "sudo -g group" password check fix.
2287         [1eb8fb14e53b]
2288
2289         * plugins/sudoers/sudoers.c:
2290         Fix "sudo -g" support in the sudoers module.
2291         [07d1b0ce530e]
2292
2293         * plugins/sudoers/check.c:
2294         If the user is running sudo as himself but as a different group we
2295         need to prompt for a password.
2296         [caf1fcc9a117]
2297
2298 2011-01-10  Todd C. Miller  <Todd.Miller@courtesan.com>
2299
2300         * NEWS, config.h.in, configure, configure.in, doc/sudoers.ldap.cat,
2301         doc/sudoers.ldap.man.in, doc/sudoers.ldap.pod,
2302         plugins/sudoers/ldap.c:
2303         Add support for TIMEOUT in ldap.conf, mapping to the OpenLDAP
2304         LDAP_OPT_TIMEOUT. There is no corresponding option for mozilla-
2305         derived LDAP SDKs but we can pass the timeout parameter to
2306         ldap_search_ext_s() or ldap_search_st() when possible.
2307         [5537049991f7]
2308
2309         * doc/sudoers.ldap.cat, doc/sudoers.ldap.man.in:
2310         regen
2311         [5b361c3c4324]
2312
2313         * NEWS, doc/sudoers.ldap.pod, plugins/sudoers/ldap.c:
2314         Add NETWORK_TIMEOUT as an alias for BIND_TIMELIMIT for compatibility
2315         with OpenLDAP ldap.conf files.
2316         [e97843bd16fb]
2317
2318         * plugins/sudoers/pwutil.c:
2319         If user has no supplementary groups, fall back on checking the group
2320         file expliticly.
2321         [5223ad4eb690]
2322
2323 2011-01-08  Todd C. Miller  <Todd.Miller@courtesan.com>
2324
2325         * plugins/sudoers/toke.h, plugins/sudoers/toke_util.c:
2326         constify
2327         [6e132a4cca61]
2328
2329         * plugins/sudoers/toke.c, plugins/sudoers/toke.h,
2330         plugins/sudoers/toke.l:
2331         Move fill macro to toke.h
2332         [623d430798cf]
2333
2334         * MANIFEST, plugins/sudoers/Makefile.in, plugins/sudoers/toke.c,
2335         plugins/sudoers/toke.h, plugins/sudoers/toke.l,
2336         plugins/sudoers/toke_util.c:
2337         Split tokenizer utility functions out into toke_util.c
2338         [89a97bd51618]
2339
2340         * plugins/sudoers/gram.c, plugins/sudoers/gram.y,
2341         plugins/sudoers/toke.c, plugins/sudoers/toke.l:
2342         ANSIfy
2343         [ca0eba1dfaa9]
2344
2345 2011-01-07  Todd C. Miller  <Todd.Miller@courtesan.com>
2346
2347         * MANIFEST:
2348         sync
2349         [a43f94064bb3]
2350
2351         * plugins/sudoers/Makefile.in:
2352         Add visudo tests to check target
2353         [8c82fb4ed40f]
2354
2355         * compat/Makefile.in, compat/regress/fnmatch/fnm_test.c,
2356         compat/regress/fnmatch/fnm_test.in, compat/regress/glob/files,
2357         compat/regress/glob/globtest.c, compat/regress/glob/globtest.in:
2358         Add my regress tests for fnmatch() and glob() from OpenBSD.
2359         [6e8c1f211723]
2360
2361         * plugins/sudoers/regress/testsudoers/test1.sh,
2362         plugins/sudoers/regress/visudo/test1.ok,
2363         plugins/sudoers/regress/visudo/test1.sh:
2364         Add regress test for command tags using visudo -c
2365         [18b0ef207c0f]
2366
2367         * plugins/sudoers/Makefile.in,
2368         plugins/sudoers/regress/testsudoers/test1.ok,
2369         plugins/sudoers/regress/testsudoers/test1.sh:
2370         Add support for regress tests using testsudoers
2371         [1fa94bd2671b]
2372
2373         * plugins/sudoers/testsudoers.c:
2374         Need to set user_name explicitly due to internal changes made when
2375         converting sudoers to a plugin.
2376         [1fa54e86a364]
2377
2378 2011-01-06  Todd C. Miller  <Todd.Miller@courtesan.com>
2379
2380         * MANIFEST, Makefile.in, common/Makefile.in, compat/Makefile.in,
2381         doc/Makefile.in, include/Makefile.in, plugins/sample/Makefile.in,
2382         plugins/sample_group/Makefile.in, plugins/sudoers/Makefile.in,
2383         plugins/sudoers/regress/iolog_path/check_iolog_path.c,
2384         plugins/sudoers/regress/iolog_path/data, src/Makefile.in,
2385         zlib/Makefile.in:
2386         Add regression tests for iolog_path()
2387         [afa4b416e559]
2388
2389         * Makefile.in, common/Makefile.in, compat/Makefile.in,
2390         doc/Makefile.in, include/Makefile.in, plugins/sample/Makefile.in,
2391         plugins/sample_group/Makefile.in, plugins/sudoers/Makefile.in,
2392         src/Makefile.in, zlib/Makefile.in:
2393         Add support for "make Makefile" to regenerate Makefile from
2394         Makefile.in
2395         [98bd2dda3294]
2396
2397         * plugins/sudoers/iolog_path.c:
2398         Quiest a bogus compiler warning.
2399         [5ff932a7ad67]
2400
2401 2011-01-05  Todd C. Miller  <Todd.Miller@courtesan.com>
2402
2403         * plugins/sudoers/iolog_path.c:
2404         Protect call to setlocale() with HAVE_SETLOCALE
2405         [2c29ee3ccc81]
2406
2407 2011-01-04  Todd C. Miller  <Todd.Miller@courtesan.com>
2408
2409         * MANIFEST:
2410         mkstemps.c was renamed mktemp.c
2411         [ae299c3b1827]
2412
2413         * NEWS:
2414         Update from 1.7 branch
2415         [20817d79717b]
2416
2417         * Makefile.in:
2418         Use "mv -f" when regenerating ChangeLog
2419         [c163635206c6]
2420
2421         * plugins/sudoers/match.c:
2422         Fix NULL dereference with "sudo -g group" when the sudoers rule has
2423         no runas user or group listed. Fixes RedHat bug Bug 667103.
2424         [41a6a1243d9e]
2425
2426 2011-01-03  Todd C. Miller  <Todd.Miller@courtesan.com>
2427
2428         * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod:
2429         Correct the default sudo.conf example
2430         [4e791698cad1]
2431
2432 2010-12-31  Todd C. Miller  <Todd.Miller@courtesan.com>
2433
2434         * plugins/sudoers/iolog_path.c:
2435         Reset slashp if we allocate a new buffer for strftime()
2436         [e491daa4203b]
2437
2438         * plugins/sudoers/iolog_path.c, plugins/sudoers/sudoers.c,
2439         plugins/sudoers/sudoers.h:
2440         Add extra out parameter to expand_iolog_path() to allow the caller
2441         to split the path into dir and file components if needed.
2442         [88346bc5ae39]
2443
2444 2010-12-30  Todd C. Miller  <Todd.Miller@courtesan.com>
2445
2446         * plugins/sudoers/iolog.c:
2447         mkdir_iopath() returns size_t now that it uses strlcpy() and not
2448         snprintf()
2449         [3c4c64d265eb]
2450
2451         * plugins/sudoers/iolog.c, plugins/sudoers/iolog_path.c:
2452         Trim leading slashes from iolog_file and trailing slashes from
2453         iolog_dir
2454         [a803b51f8948]
2455
2456         * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod,
2457         plugins/sudoers/iolog.c, plugins/sudoers/iolog_path.c,
2458         plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h:
2459         Pass a single I/O log file name in command_details instead of
2460         separate dir + file parameters.
2461         [d672a3e46e80]
2462
2463         * plugins/sudoers/sudoreplay.c:
2464         change an error() to errorx()
2465         [8013dcfdd69d]
2466
2467         * plugins/sudoers/iolog.c:
2468         Add missing cwd line to I/O log info file that got dropped when
2469         iolog_deserialize_info() was added
2470         [7cf84f208423]
2471
2472 2010-12-29  Todd C. Miller  <Todd.Miller@courtesan.com>
2473
2474         * plugins/sudoers/iolog.c:
2475         Avoid relying on globals filled in by the sudoers policy module for
2476         the sudoers I/O log module. The I/O log open function now pulls the
2477         bits it needs out of user_info and command_info.
2478         [c02f6951b0cc]
2479
2480         * plugins/sudoers/iolog.c, plugins/sudoers/sudoers.c,
2481         plugins/sudoers/sudoers.h:
2482         If no iolog file is specified by the policy plugin, use io_nextid()
2483         to determine the next file in the sequence.
2484         [faa1130b1020]
2485
2486 2010-12-28  Todd C. Miller  <Todd.Miller@courtesan.com>
2487
2488         * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod:
2489         Document iolog_compress in command_info
2490         [58895c7d12f5]
2491
2492         * plugins/sudoers/iolog.c, plugins/sudoers/sudoers.c:
2493         Add support for the iolog_compress variable in command_info.
2494         [36f13a2fd1c1]
2495
2496         * plugins/sudoers/iolog.c, plugins/sudoers/sudoers.c:
2497         Add sigsetjmp() calls to all plugin entry points just to be safe.
2498         [3fa482355bc4]
2499
2500         * src/sudo.c, src/sudo.h:
2501         Don't need iolog variables in struct command_details, they are for
2502         the I/O log plugins to handle.
2503         [5111579ffd9d]
2504
2505 2010-12-27  Todd C. Miller  <Todd.Miller@courtesan.com>
2506
2507         * doc/sudoers.cat, doc/sudoers.man.in, doc/sudoers.pod:
2508         Document use of mkdtemp() for iolog path teplates
2509         [5db6101408a9]
2510
2511         * doc/sudo.cat, doc/sudo.man.in, doc/sudo_plugin.cat,
2512         doc/sudo_plugin.man.in, doc/sudoers.cat, doc/sudoers.ldap.cat,
2513         doc/sudoers.ldap.man.in, doc/sudoers.man.in, doc/sudoreplay.cat,
2514         doc/sudoreplay.man.in, doc/visudo.cat, doc/visudo.man.in:
2515         regen
2516         [1ee11fd6d4eb]
2517
2518         * doc/sudo_plugin.pod, doc/sudoers.pod:
2519         Document iolog_file and supported escape sequences for sudoers.
2520         Clarify that iolog_file can contain directories.
2521         [da611dedcbdb]
2522
2523         * compat/Makefile.in, configure, configure.in:
2524         Fix building of mkstemps/mkdtemp replacements.
2525         [793a5e303122]
2526
2527         * compat/mkstemps.c, compat/mktemp.c, config.h.in, configure,
2528         configure.in, include/missing.h:
2529         Provide mkdtemp() for systems without it.
2530         [b0527dfa965c]
2531
2532         * plugins/sudoers/iolog_path.c:
2533         Fix typo
2534         [277f6c514cba]
2535
2536         * plugins/sudoers/iolog.c:
2537         Only use mkdtemp() if the path ends in at least 6 Xs since otherwise
2538         glibc mkdtemp() returns EINVAL.
2539         [2e7323b05579]
2540
2541         * plugins/sudoers/Makefile.in, plugins/sudoers/def_data.c,
2542         plugins/sudoers/def_data.h, plugins/sudoers/def_data.in,
2543         plugins/sudoers/defaults.c, plugins/sudoers/iolog.c,
2544         plugins/sudoers/iolog_path.c, plugins/sudoers/plugin_error.c,
2545         plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h:
2546         Allow sudoers to specify the iolog file in addition to the iolog
2547         dir. Add escape sequence support to iolog file and dir: sequence
2548         number, user, group, runas_user, runas_group, hostname and
2549         command in addition to any escape sequence recognized by
2550         strftime(3).
2551         [75cd32ee0435]
2552
2553         * plugins/sudoers/iolog.c:
2554         Add missing sigsetjmp() call in I/O plugin open function. Fixes a
2555         crash when the I/O plugin calls error(), errorx() or log_error().
2556         [1a6718bd817d]
2557
2558 2010-12-21  Todd C. Miller  <Todd.Miller@courtesan.com>
2559
2560         * doc/sudo_plugin.pod, plugins/sudoers/iolog.c,
2561         plugins/sudoers/sudoers.c:
2562         Give the policy module fine-grained control over what the I/O plugin
2563         logs.
2564         [d29784fd2a66]
2565
2566         * common/term.c:
2567         Clear OPOST from c_oflag like we used to. Fixes screen-based
2568         editors such as vi.
2569         [506ad5ae9b4e]
2570
2571         * doc/sudoers.pod:
2572         Clarify umask option description. From Reuben Thomas.
2573         [1294ac84222b]
2574
2575 2010-12-20  Todd C. Miller  <Todd.Miller@courtesan.com>
2576
2577         * doc/sudoers.ldap.pod, plugins/sudoers/ldap.c:
2578         Pick last match in LDAP sudoers too
2579         [fbfd8e85703b]
2580
2581         * doc/sudo_plugin.pod:
2582         Document iolog_file, iolog_dir and use_pty
2583         [26120a59c20e]
2584
2585         * plugins/sample/sample_plugin.c, plugins/sudoers/iolog.c,
2586         plugins/sudoers/sudoers.c:
2587         Adapt plugins to version I/O logging ABI 1.1
2588         [880dd64bc1e8]
2589
2590         * src/exec.c, src/sudo.h:
2591         Add use_pty command_info flag for policies to indicate that a pty
2592         should be allocated even if no I/O logging is performed.
2593         [e7b167f8a6e5]
2594
2595         * src/sudo.c:
2596         Add remaining plugin convenience functions
2597         [ffeaf96da031]
2598
2599         * include/sudo_plugin.h, src/sudo.c, src/sudo.h,
2600         src/sudo_plugin_int.h:
2601         Change I/O log API to pass in command info to the I/O log open
2602         function. Add iolog_file and iolog_dir parameters to command info.
2603         This allows the policy plugin to specify the I/O log pathname. Add
2604         convenience functions for calling plugin functions that handle ABI
2605         backwards compatibility.
2606         [9b81dce76ce5]
2607
2608         * compat/dlopen.c:
2609         Remove useless cast
2610         [7cecce969739]
2611
2612 2010-12-17  Todd C. Miller  <Todd.Miller@courtesan.com>
2613
2614         * configure, configure.in:
2615         Bump version to 1.8.0b3
2616         [1dc9f040aae0]
2617
2618 2010-12-13  Todd C. Miller  <Todd.Miller@courtesan.com>
2619
2620         * configure.in:
2621         Remove extraneous newline
2622         [71c94551eea5]
2623
2624 2010-12-10  Todd C. Miller  <Todd.Miller@courtesan.com>
2625
2626         * doc/sudoers.pod, plugins/sudoers/def_data.c,
2627         plugins/sudoers/def_data.h, plugins/sudoers/def_data.in,
2628         plugins/sudoers/defaults.c, plugins/sudoers/iolog.c:
2629         Make I/O log dir configurable.
2630         [99b576667a38]
2631
2632         * aclocal.m4, configure, configure.in, doc/sudoers.pod:
2633         Rename io_logdir to iolog_dir
2634         [0731662acc8d]
2635
2636 2010-12-07  Todd C. Miller  <Todd.Miller@courtesan.com>
2637
2638         * pp:
2639         Add missing '*' that prevented the generic ELF case from matching.
2640         [be77ca26bfb2]
2641
2642         * pp:
2643         If file(1) can't identify the ELF binary type, try readelf(1).
2644         [38a18d32a9e3]
2645
2646 2010-11-30  Todd C. Miller  <Todd.Miller@courtesan.com>
2647
2648         * plugins/sudoers/auth/kerb4.c, plugins/sudoers/check.c,
2649         plugins/sudoers/env.c, plugins/sudoers/pwutil.c,
2650         plugins/sudoers/sudoers.c, src/sudo.c:
2651         Use %u to print uid/gid, not %lu and adjust casts to match.
2652         [03c43b8749cf]
2653
2654         * doc/sudoers.ldap.pod:
2655         Clarify ordering of entries and attributes.
2656         [924e2a6bb603]
2657
2658         * doc/sudoers.ldap.pod:
2659         Fix typo and editing goof.
2660         [79dc7ccd85a8]
2661
2662         * doc/schema.ActiveDirectory, doc/schema.OpenLDAP, doc/schema.iPlanet,
2663         doc/sudoers.ldap.pod:
2664         Merge in ordered LDAP entry support from Andreas Mueller.
2665         [ea5885989bad]
2666
2667         * plugins/sudoers/ldap.c:
2668         Make sure we don't dereference a NULL handle.
2669         [1a9f9ee15371]
2670
2671 2010-11-24  Todd C. Miller  <Todd.Miller@courtesan.com>
2672
2673         * pp:
2674         Add support for RHEL 6 file modes that include a trailing dot on
2675         files with an SELinux security context
2676         [dc09be959547]
2677
2678 2010-11-23  Todd C. Miller  <Todd.Miller@courtesan.com>
2679
2680         * src/sudo.c:
2681         exec_setup() does not need to setuid(0), the Ubuntu issue was in the
2682         sudoers module.
2683         [d6dd99fc6062]
2684
2685         * plugins/sudoers/sudoers.c:
2686         create_admin_success_flag() should use restore_perms() rather than
2687         set_perms() to restore the uid.
2688         [eba7a91c1f57]
2689
2690         * src/sudo.c:
2691         In exec_setup() call setuid(0) to make certain the subsequent uid
2692         and gid changes will succeed. Fixes a problem on Ubuntu.
2693         [c5d32abf0645]
2694
2695         * src/sudo_edit.c:
2696         Error out if we cannot change to root's uid so we catch the failure
2697         early.
2698         [7a2e7f8f2c80]
2699
2700 2010-11-22  Todd C. Miller  <Todd.Miller@courtesan.com>
2701
2702         * doc/sudoers.pod:
2703         fix typo; from Michael T Hunter
2704         [a574a9d0db5b]
2705
2706         * plugins/sudoers/match.c:
2707         In sudoedit mode, assume command line arguments are paths and pass
2708         FNM_PATHNAME to fnmatch().
2709         [ce0abff8ce9f]
2710
2711 2010-11-20  Todd C. Miller  <Todd.Miller@courtesan.com>
2712
2713         * configure, configure.in:
2714         Add workaround for an error in sys/types.h on HP-UX 11.23 when large
2715         file support is enabled. Defining _XOPEN_SOURCE_EXTENDED avoids the
2716         broken bits of the header file.
2717         [e337217f097a]
2718
2719         * aclocal.m4:
2720         Fix SUDO_MAILDIR usage of AC_LANG_PROGRAM
2721         [fbbcee28961f]
2722
2723         * sudo.pp:
2724         For Tru64, strip off beta version.
2725         [eeccd762df5e]
2726
2727         * MANIFEST, plugins/sudoers/testsudoers.c,
2728         plugins/sudoers/tsgetgrpw.c, plugins/sudoers/tsgetgrpw.h:
2729         Avoid conflicts with system definitions in grp.h and pwd.h
2730         [b219ffe1da09]
2731
2732         * zlib/gzguts.h:
2733         Include stdio.h after zlib.h, not before. We need the large file
2734         defines to come first.
2735         [21d6df39790f]
2736
2737 2010-11-19  Todd C. Miller  <Todd.Miller@courtesan.com>
2738
2739         * doc/sudoers.ldap.cat, doc/sudoers.ldap.man.in:
2740         regen
2741         [3ff8750d0aac]
2742
2743         * Makefile.in:
2744         Don't clean ChangeLog
2745         [ab0d30d289d4]
2746
2747         * plugins/sudoers/testsudoers.c, plugins/sudoers/visudo.c:
2748         Add prototype for cleanup()
2749         [75626fd3769a]
2750
2751 2010-11-18  Todd C. Miller  <Todd.Miller@courtesan.com>
2752
2753         * plugins/sudoers/group_plugin.c:
2754         Avoid deferencing group_plugin if it is NULL in
2755         group_plugin_query(). This should not happen.
2756         [4f2933c8da7e]
2757
2758         * plugins/sudoers/group_plugin.c:
2759         group plugin init function return TRUE when successful
2760         [198024477030]
2761
2762 2010-11-17  Todd C. Miller  <Todd.Miller@courtesan.com>
2763
2764         * plugins/sudoers/ldap.c:
2765         Enlarge the array of entry wrappers int blocks of 100 entries to
2766         save on allocation time. From Andreas Mueller
2767         [375c916bb03b]
2768
2769         * plugins/sudoers/ldap.c:
2770         Add back call to sudo_ldap_timefilter() in sudo_ldap_build_pass2()
2771         that was mistakenly dropped.
2772         [1555f5bc132d]
2773
2774 2010-11-16  Todd C. Miller  <Todd.Miller@courtesan.com>
2775
2776         * doc/TROUBLESHOOTING:
2777         Mention that sudo needs "ar" to build.
2778         [65582ace2d09]
2779
2780         * configure, configure.in:
2781         Fail with a more useful error if "ar" is not found.
2782         [d1cb83719c17]
2783
2784 2010-11-14  Todd C. Miller  <Todd.Miller@courtesan.com>
2785
2786         * plugins/sudoers/ldap.c:
2787         Merge in ordered LDAP entry support from Andreas Mueller and add
2788         local changes from the 1.7 branch.
2789         [bca29e461618]
2790
2791 2010-11-12  Todd C. Miller  <Todd.Miller@courtesan.com>
2792
2793         * doc/schema.ActiveDirectory, doc/schema.OpenLDAP, doc/schema.iPlanet,
2794         doc/sudoers.ldap.pod, plugins/sudoers/ldap.c:
2795         Add timed entry support from Andreas Mueller.
2796         [e18d1df46a8d]
2797
2798         * plugins/sudoers/group_plugin.c:
2799         Don't try to unload if group_plugin is NULL. Don't call dlclose() if
2800         group_handle is NULL
2801         [de2273da37d5]
2802
2803         * plugins/sudoers/sudoers.h:
2804         It is now plugin_cleanup(), not cleanup()
2805         [da62a4e1a78c]
2806
2807         * plugins/sudoers/logging.c, plugins/sudoers/sudoers.c:
2808         Call plugin_cleanup(), not cleanup()
2809         [e800ad8b33ad]
2810
2811 2010-11-11  Todd C. Miller  <Todd.Miller@courtesan.com>
2812
2813         * plugins/sudoers/ldap.c:
2814         Use efree() not free() and remove malloc.h include since we never
2815         directly call malloc() or free().
2816         [107fffd134bb]
2817
2818 2010-11-09  Todd C. Miller  <Todd.Miller@courtesan.com>
2819
2820         * sudo.pp:
2821         set PSTAMP for Solaris and move the backend-specific bits to their
2822         own %if [xxx] %endif blocks in %set.
2823         [a94ebe8920c1]
2824
2825         * pp:
2826         sync with git repo
2827         [75ff509696b4]
2828
2829         * configure, configure.in:
2830         Only substitute file zlib files when using the builtin zlib
2831         [6c8145b2deb4]
2832
2833         * common/Makefile.in, compat/Makefile.in, plugins/sample/Makefile.in,
2834         plugins/sample_group/Makefile.in, plugins/sudoers/Makefile.in,
2835         src/Makefile.in, zlib/Makefile.in:
2836         Give up on using VPATH to find sources as it is implemented
2837         inconsistenly in different versions of make.
2838         [60517c69aaee]
2839
2840         * plugins/sudoers/Makefile.in, plugins/sudoers/getdate.c,
2841         plugins/sudoers/gram.c, plugins/sudoers/toke.c:
2842         Include config.h before any other includes to make sure we get the
2843         right value for _FILE_OFFSET_BITS.
2844         [8fb007ca832e]
2845
2846         * MANIFEST:
2847         Add zlib
2848         [04a3e23dfaa9]
2849
2850         * zlib/Makefile.in:
2851         Add missing targets
2852         [40e45a177168]
2853
2854         * src/Makefile.in:
2855         g/c unused $(GENERATED)
2856         [c8758068c1bc]
2857
2858 2010-11-08  Todd C. Miller  <Todd.Miller@courtesan.com>
2859
2860         * plugins/sudoers/group_plugin.c:
2861         Zero out group_plugin on unload just to be safe.
2862         [0b10f4d101ca]
2863
2864         * plugins/sudoers/group_plugin.c:
2865         Unload group plugin if its init function fails.
2866         [6552cdac4b7c]
2867
2868         * src/sudo.c:
2869         Only chdir to cwd if it is different from the current cwd or there
2870         is a new root (chroot).
2871         [b8203e875e84]
2872
2873         * configure, configure.in, doc/sudo.cat, doc/sudo.man.in,
2874         doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudoers.ldap.cat,
2875         doc/sudoers.ldap.man.in, doc/visudo.cat, doc/visudo.man.in:
2876         Bump version to 1.8.0b2
2877         [6dadeb75a878]
2878
2879 2010-10-28  Todd C. Miller  <Todd.Miller@courtesan.com>
2880
2881         * INSTALL:
2882         Better --enable-zlib description
2883         [e0da54fa59a6]
2884
2885         * mkpkg:
2886         Use system zlib on Linux Let configure decide on Solaris For all
2887         others, use builtin zlib
2888         [3d52eddb523c]
2889
2890         * zlib/zconf.h.in:
2891         Add large file support.
2892         [bec01215270d]
2893
2894         * config.h.in:
2895         Add large file support.
2896         [244e95b034ec]
2897
2898         * Makefile.in, configure, configure.in, doc/LICENSE, doc/license.pod,
2899         zlib/Makefile.in, zlib/adler32.c, zlib/compress.c, zlib/crc32.c,
2900         zlib/crc32.h, zlib/deflate.c, zlib/deflate.h, zlib/gzclose.c,
2901         zlib/gzguts.h, zlib/gzlib.c, zlib/gzread.c, zlib/gzwrite.c,
2902         zlib/infback.c, zlib/inffast.c, zlib/inffast.h, zlib/inffixed.h,
2903         zlib/inflate.c, zlib/inflate.h, zlib/inftrees.c, zlib/inftrees.h,
2904         zlib/trees.c, zlib/trees.h, zlib/uncompr.c, zlib/zconf.h.in,
2905         zlib/zlib.h, zlib/zutil.c, zlib/zutil.h:
2906         Add local copy of zlib for systems that lack it.
2907         [7542ca465c5a]
2908
2909 2010-10-15  Todd C. Miller  <Todd.Miller@courtesan.com>
2910
2911         * src/exec.c:
2912         If perform_io() fails, kill the child before exiting so it doesn't
2913         complain about connection reset. We can get an I/O error if, for
2914         example, and we get EIO reading from stdin.
2915         [e59a05fa729f]
2916
2917 2010-10-12  Todd C. Miller  <Todd.Miller@courtesan.com>
2918
2919         * plugins/sudoers/sudoers.c, src/sudo.c:
2920         Fix complilation on systems with set_auth_parameters() Sprinkle
2921         volatile to quiet warnings from gcc 2.8.0
2922         [a34c2b924ba7]
2923
2924         * compat/dlfcn.h, compat/dlopen.c:
2925         Avoid potential namespace issues with dlopen() emulation.
2926         [aedfababd6ca]
2927
2928         * MANIFEST:
2929         sync
2930         [6afb97e6d308]
2931
2932         * plugins/sudoers/interfaces.c:
2933         Use INADDR_NONE instead of casting -1 to in_addr_t (which may not
2934         exist).
2935         [ddfca5af1a36]
2936
2937         * Makefile.in:
2938         Mark ChangeLog as PHONY Don't overwrite ChangeLog if we can't run hg
2939         [e9d04bfa4505]
2940
2941         * configure, configure.in:
2942         HP-UX 10.20 libc has an incompatible getline
2943         [2e7bc202e78d]
2944
2945         * plugins/sudoers/visudo.c:
2946         Quiet an HP-UX compiler warning.
2947         [55b9d587ac8c]
2948
2949         * configure, configure.in:
2950         Check for vi even with --with-editor specified; the sample plugin
2951         needs it.
2952         [94dfc3643f76]
2953
2954 2010-10-11  Todd C. Miller  <Todd.Miller@courtesan.com>
2955
2956         * compat/dlopen.c:
2957         Fix remaining syntax errors.
2958         [9d729b5b577e]
2959
2960         * src/Makefile.in:
2961         sudo binary depends on the libtool-generated libs
2962         [9e6148406adb]
2963
2964         * plugins/sudoers/group_plugin.c, src/load_plugins.c:
2965         Use HAVE_DLOPEN instead of HAVE_DLFCN_H when determining whether to
2966         include the local or system dlfcn.h
2967         [68cfe4c1089b]
2968
2969         * pp:
2970         Don't use run_as_superuser=false on HP-UX
2971         [532242370b09]
2972
2973         * src/net_ifs.c:
2974         Use memset() instead of zero_bytes() since we don't include
2975         sudoers.h
2976         [a187c18c2472]
2977
2978         * plugins/sudoers/interfaces.c:
2979         Fix pasto; AF_INET not AF_INET6
2980         [2d2e9d7dc6f9]
2981
2982         * compat/dlopen.c:
2983         Actually call shl_load()
2984         [ed8153b8a3cd]
2985
2986         * pp:
2987         Update from git repo. Debian: version numbers now compliant with
2988         policy section 5.6.12 HP-UX: minimal changes needed to work on HP-UX
2989         10.20
2990         [ecf2692bceeb]
2991
2992         * configure, configure.in:
2993         Fix dlopen() detection for systems where dlopen() is in a separate
2994         library.
2995         [fa6b175582b6]
2996
2997         * plugins/sudoers/auth/pam.c:
2998         If pam_acct_mgmt() returns PAM_AUTH_ERR print a (hopefully) more
2999         useful message and return AUTH_FATAL so sudo does not keep trying to
3000         validate the user.
3001         [1be8857e5291]
3002
3003         * src/preload.c:
3004         sudo_preload_table is an array
3005         [b7704e72a9da]
3006
3007         * compat/dlopen.c:
3008         Quiet a compiler warning and fix sudo_preload_table external
3009         definition.
3010         [8234987664cc]
3011
3012         * compat/dlfcn.h:
3013         Fix multiple inclusion guard in dlfcn.h and fix dlerror() prototype.
3014         [8bab6a4053cc]
3015
3016         * plugins/sudoers/group_plugin.c:
3017         Make this compile correctly when no dlopen is available.
3018         [57643879bd2b]
3019
3020 2010-10-07  Todd C. Miller  <Todd.Miller@courtesan.com>
3021
3022         * plugins/sudoers/check.c:
3023         Having a timestamp file defined is no longer indicative of tty
3024         tickets being enabled. Check def_tty_tickets directly.
3025         [efcc11ad157f]
3026
3027         * src/exec_pty.c, src/sudo.h, src/ttysize.c:
3028         Fix TCGETWINSZ compat.
3029         [da3a8b17cf7a]
3030
3031 2010-10-02  Todd C. Miller  <Todd.Miller@courtesan.com>
3032
3033         * src/exec_pty.c, src/ttysize.c:
3034         Prefer newer TIOCGWINSZ ioctl to old TIOCGSIZE
3035         [926492dd10a6]
3036
3037 2010-10-01  Todd C. Miller  <Todd.Miller@courtesan.com>
3038
3039         * plugins/sudoers/sudoers.c, src/sudo.c:
3040         Move set_project() from sudoers module into sudo proper.
3041         [beabafac03b4]
3042
3043         * configure, configure.in:
3044         Fix typo and regenerate
3045         [4a3caf4234f3]
3046
3047         * plugins/sudoers/ldap.c:
3048         When iterating over returned LDAP entries, keep looking at remaining
3049         matches even if we have a positive match. This catches negative
3050         matches that may exist in other entries and more closely match the
3051         sudoers file behavior.
3052         [f47db6e609b0]
3053
3054         * pp:
3055         Add support for multiple package instances on Solaris.
3056         [7f2a8b942545]
3057
3058         * src/exec.c:
3059         Add missing signal_pipe[0] to fdsr for the non-pty case.
3060         [79d01e11b19c]
3061
3062         * mkpkg:
3063         Add --with-project for Solaris
3064         [ffa4c2bb93f7]
3065
3066         * README:
3067         Need ar and ranlib too
3068         [5c2f679172ef]
3069
3070 2010-09-27  Todd C. Miller  <Todd.Miller@courtesan.com>
3071
3072         * plugins/sudoers/env.c:
3073         Preserve ODMDIR environment variable by default on AIX.
3074         [bd47cb1e804f]
3075
3076 2010-09-26  Todd C. Miller  <Todd.Miller@courtesan.com>
3077
3078         * Makefile.in, compat/Makefile.in, compat/dlfcn.h, compat/dlopen.c,
3079         config.h.in, configure, configure.in, plugins/sample/Makefile.in,
3080         plugins/sample_group/Makefile.in, plugins/sudoers/Makefile.in,
3081         plugins/sudoers/group_plugin.c, plugins/sudoers/plugin_error.c,
3082         plugins/sudoers/sudoers.c, src/Makefile.in, src/load_plugins.c,
3083         src/preload.c:
3084         Add dlopen() emulation for systems without it. For HP-UX 10, emulate
3085         using shl_load(). For others, link sudoers plugin statically and use
3086         a lookup table to emulate dlsym().
3087         [e92edfb3c642]
3088
3089 2010-09-24  Todd C. Miller  <Todd.Miller@courtesan.com>
3090
3091         * compat/fnmatch.c, compat/glob.c, compat/mksiglist.c,
3092         compat/nanosleep.c, compat/utimes.c:
3093         When including compat headers, use the compat dir as part of the
3094         path so we are sure to get the correct header.
3095         [6c2a45da6af5]
3096
3097 2010-09-21  Todd C. Miller  <Todd.Miller@courtesan.com>
3098
3099         * plugins/sudoers/linux_audit.c:
3100         Ignore ECONNREFUSED from audit_log_user_command() which will occur
3101         if auditd is not running.
3102         [d314fe4c8d03]
3103
3104 2010-09-17  Todd C. Miller  <Todd.Miller@courtesan.com>
3105
3106         * pp:
3107         Sync with git version
3108         [1c0357744222]
3109
3110 2010-09-16  Todd C. Miller  <Todd.Miller@courtesan.com>
3111
3112         * common/fileops.c, plugins/sudoers/defaults.c:
3113         Cast isblank argument to unsigned char.
3114         [c822dbb3ca54]
3115
3116 2010-09-14  Todd C. Miller  <Todd.Miller@courtesan.com>
3117
3118         * INSTALL, config.h.in, configure, configure.in, doc/sudoers.cat,
3119         doc/sudoers.man.in, doc/sudoers.pod, plugins/sudoers/defaults.c:
3120         Implement --with-umask-override configure flag.
3121         [863e3047df22]
3122
3123         * plugins/sudoers/env.c:
3124         Take MODE_LOGIN_SHELL into account when initially setting reset_home
3125         instead of special-casing it later.
3126         [5d6b16480fd6]
3127
3128         * plugins/sudoers/sudoers.c:
3129         In login mode, make a copy of the runas user's pw_shell for
3130         NewArgv[0] because 1) we modify it and 2) it will runas_pw gets
3131         freed before exec.
3132         [1d1ccb568dfa]
3133
3134         * plugins/sudoers/env.c:
3135         Reset HOME for "sudo -i" even if HOME was listed in env_keep.
3136         [c1c1c65a2d63]
3137
3138         * src/sudo.c:
3139         Use SIG_SETMASK when resetting signal mask instead of SIG_UNBLOCK.
3140         [7443454e5f88]
3141
3142         * src/sudo.c:
3143         Reset signal mask at sudo startup time; we need to be able to rely
3144         on normal signal delivery to control the child process.
3145         [95800163ff94]
3146
3147 2010-09-13  Todd C. Miller  <Todd.Miller@courtesan.com>
3148
3149         * install-sh:
3150         Use sed instead of expr to split a flag from its argument. Fixes a
3151         problem with expr interpreting its arguments as a flag when they
3152         start with a dash.
3153         [736065e14301]
3154
3155         * common/lbuf.c:
3156         Do not need sys/time.h after all
3157         [91f6f668ccda]
3158
3159         * common/lbuf.c:
3160         Include sys/time.h for utimes() and struct timeval. No longer need
3161         ioctl.h or termios.h
3162         [2d75273d3213]
3163
3164         * compat/snprintf.c:
3165         Quiet bogus compiler warnings.
3166         [fe252e1968f5]
3167
3168         * include/missing.h:
3169         Declare innetgr() for HP-UX which is missing a declaration. Declare
3170         domainname() for HP-UX and Solaris which are missing a declaration.
3171         [b37c50751138]
3172
3173         * plugins/sudoers/bsm_audit.c:
3174         Use __sun for consistency with the rest of the sources.
3175         [6b086b61ccb6]
3176
3177         * plugins/sudoers/group_plugin.c:
3178         Quiet a bogus compiler warning.
3179         [ebc069842c4a]
3180
3181         * plugins/sudoers/pwutil.c:
3182         Don't try to delref a NULL group.
3183         [f6ff0838be21]
3184
3185         * common/alloc.c, common/lbuf.c:
3186         Include memory.h on systems that need it.
3187         [4e676da81c6f]
3188
3189 2010-09-11  Todd C. Miller  <Todd.Miller@courtesan.com>
3190
3191         * src/exec.c:
3192         Quiet gcc warnings on glibc systems that use warn_unused_result for
3193         write(2).
3194         [0532da0b7cf7]
3195
3196         * doc/sudoers.cat, doc/sudoers.man.in, doc/sudoers.pod:
3197         sudo_plugin is in section 8; from Ted Percival
3198         [b4506a0de87e]
3199
3200         * plugins/sudoers/Makefile.in:
3201         testsudoers depends on libsudoers.la, not sudoreplay
3202         [cdb1cc3bf06a]
3203
3204 2010-09-10  Todd C. Miller  <Todd.Miller@courtesan.com>
3205
3206         * src/exec.c:
3207         Read as many signals on the signal pipe as we can before returning.
3208         [b181671da047]
3209
3210         * src/exec.c, src/exec_pty.c, src/sudo_exec.h:
3211         Instead of using a array to store received signals, open a pipe and
3212         have the signal handler write the signal number to one end and
3213         select() on the other end. This makes it possible to handle signals
3214         similar to I/O without race conditions.
3215         [ee84d65c16b6]
3216
3217 2010-09-09  Todd C. Miller  <Todd.Miller@courtesan.com>
3218
3219         * doc/visudo.pod, plugins/sudoers/visudo.c:
3220         Make "visudo -c -f -" check the standard input.
3221         [195a3d2a9a26]
3222
3223         * doc/sudoers.pod:
3224         set_home and always_set_home have an effect if HOME is present in
3225         the env_keep list.
3226         [159d0b9dc5c8]
3227
3228         * plugins/sudoers/env.c:
3229         Make -H flag work when HOME is listed in env_keep. Also makes
3230         "set_home" and "always_set_home" override override HOME in env_keep.
3231         [a3e5b966193f]
3232
3233 2010-09-08  Todd C. Miller  <Todd.Miller@courtesan.com>
3234
3235         * plugins/sudoers/Makefile.in, plugins/sudoers/interfaces.c,
3236         plugins/sudoers/interfaces.h, plugins/sudoers/match.c,
3237         plugins/sudoers/sudoers.c, plugins/sudoers/testsudoers.c,
3238         plugins/sudoers/visudo.c, src/net_ifs.c:
3239         Convert sudoers plugin to use interface list passed in settings.
3240         [87d9b5f4f586]
3241
3242         * doc/sudo_plugin.pod, src/Makefile.in, src/net_ifs.c,
3243         src/parse_args.c, src/sudo.h:
3244         Query local network interfaces in the main sudo driver and pass to
3245         the plugin as "network_addrs" in the settings list.
3246         [7f35bcfe77a7]
3247
3248         * plugins/sudoers/bsm_audit.c:
3249         Solaris BSM audit return EINVAL when auditing is not enabled,
3250         whereas OpenBSM returns ENOSYS.
3251         [411b980ec58b]
3252
3253 2010-09-07  Todd C. Miller  <Todd.Miller@courtesan.com>
3254
3255         * compat/fnmatch.c:
3256         missing.h should come before most local includes
3257         [53921a7b8b5b]
3258
3259         * plugins/sudoers/sudoreplay.c:
3260         missing.h should come before most local includes
3261         [e9abb0db1aac]
3262
3263         * plugins/sudoers/sudoers.h:
3264         Make local includes consistent; use double quotes for local includes
3265         except for generated ones where we use angle brackets.
3266         [09de4faa9547]
3267
3268         * plugins/sudoers/sudoers.c:
3269         Always fill in NewArgv for audit code.
3270         [7c3aca60519f]
3271
3272         * plugins/sudoers/toke.c, plugins/sudoers/toke.l:
3273         Add missing LOG_INPUT/LOG_OUTPUT support in the lexer.
3274         [007cf6560f92]
3275
3276         * common/alloc.c, common/atobool.c, common/fileops.c,
3277         common/fmt_string.c, common/lbuf.c, common/list.c, common/term.c,
3278         common/zero_bytes.c, compat/closefrom.c, compat/fnmatch.c,
3279         compat/getcwd.c, compat/getgrouplist.c, compat/getline.c,
3280         compat/getprogname.c, compat/glob.c, compat/isblank.c,
3281         compat/memrchr.c, compat/mksiglist.c, compat/mkstemps.c,
3282         compat/nanosleep.c, compat/setenv.c, compat/snprintf.c,
3283         compat/strlcat.c, compat/strlcpy.c, compat/strsignal.c,
3284         compat/unsetenv.c, compat/utimes.c, include/compat.h,
3285         plugins/sample/sample_plugin.c, plugins/sample_group/getgrent.c,
3286         plugins/sample_group/plugin_test.c,
3287         plugins/sample_group/sample_group.c, plugins/sudoers/audit.c,
3288         plugins/sudoers/auth/afs.c, plugins/sudoers/boottime.c,
3289         plugins/sudoers/getdate.c, plugins/sudoers/getdate.y,
3290         plugins/sudoers/linux_audit.c, plugins/sudoers/match.c,
3291         plugins/sudoers/plugin_error.c, plugins/sudoers/sudoreplay.c,
3292         plugins/sudoers/timestr.c, src/error.c, src/sesh.c, src/sudo.h,
3293         src/sudo_noexec.c, src/ttysize.c:
3294         Make local includes consistent; use double quotes for local includes
3295         except for generated ones where we use angle brackets. Also g/c
3296         unused compat.h.
3297         [e57070dc8f04]
3298
3299 2010-09-06  Todd C. Miller  <Todd.Miller@courtesan.com>
3300
3301         * plugins/sudoers/match.c:
3302         When matching the runas user and runas group (-u and -g command line
3303         options), keep track of runas group and runas user matches
3304         separately. Only return a positive match if we have a match for
3305         both runas user and runas group (if specified).
3306         [815219e04cc8]
3307
3308 2010-09-04  Todd C. Miller  <Todd.Miller@courtesan.com>
3309
3310         * doc/sudoers.ldap.pod, plugins/sudoers/ldap.c:
3311         Add support for multiple URI lines by joining the contents and
3312         passing the result to ldap_initialize.
3313         [a47cae3b72e8]
3314
3315         * plugins/sudoers/ldap.c, plugins/sudoers/parse.c:
3316         Do not return -1 on error from the display functions; the caller
3317         expects a return value >= 0.
3318         [101456a7dd00]
3319
3320         * plugins/sudoers/sudoers.c:
3321         Do not set both MODE_EDIT and MODE_RUN
3322         [8faa36694d54]
3323
3324 2010-09-03  Todd C. Miller  <Todd.Miller@courtesan.com>
3325
3326         * include/missing.h:
3327         Move includes to the top of the file.
3328         [a51436798e8c]
3329
3330 2010-08-30  Todd C. Miller  <Todd.Miller@courtesan.com>
3331
3332         * plugins/sudoers/Makefile.in:
3333         Add missing definition of timedir
3334         [458a749c2c5e]
3335
3336         * compat/fnmatch.c, compat/getprogname.c, compat/isblank.c,
3337         compat/mksiglist.c, compat/strsignal.c,
3338         plugins/sudoers/plugin_error.c, src/error.c, src/sudo_noexec.c:
3339         Add #include of sys/types.h for .c files that include missing.h to
3340         be sure that size_t and ssize_t are defined.
3341         [08e3132dbf4f]
3342
3343         * plugins/sudoers/Makefile.in:
3344         Install sudoers file from the build dir not hte src dir.
3345         [ca89e962dbf4]
3346
3347 2010-08-26  Todd C. Miller  <Todd.Miller@courtesan.com>
3348
3349         * plugins/sudoers/set_perms.c:
3350         If runas_pw changes, reset the stashed runas aux group vector.
3351         Otherwise, if runas_default is set in a per-command Defaults
3352         statement, the command runs with root's aux group vector (i.e. the
3353         one that was used when locating the command).
3354         [24f9107cedd2]
3355
3356         * plugins/sudoers/Makefile.in:
3357         Add target to generate sudoers file Remove generated sudoers file as
3358         part of distclean
3359         [fb7422e90f03]
3360
3361 2010-08-24  Todd C. Miller  <Todd.Miller@courtesan.com>
3362
3363         * src/exec.c:
3364         When not logging I/O install a handler for SIGCONT and deliver it to
3365         the command upon resume. Fixes bugzilla #431
3366         [495dce52a5aa]
3367
3368 2010-08-21  Todd C. Miller  <Todd.Miller@courtesan.com>
3369
3370         * plugins/sudoers/sudoers.h:
3371         g/c unused auth_pw extern definition
3372         [40eb7477ba17]
3373
3374         * plugins/sudoers/check.c, plugins/sudoers/sudoers.c:
3375         Move get_auth() into check.c where it is actually used.
3376         [e31db0ce3a61]
3377
3378 2010-08-20  Todd C. Miller  <Todd.Miller@courtesan.com>
3379
3380         * common/lbuf.c:
3381         Convert a remaining puts() and putchar() to use the output function.
3382         [d69e363a506b]
3383
3384         * plugins/sudoers/plugin_error.c:
3385         Plug memory leak
3386         [68895469ea8d]
3387
3388 2010-08-18  Todd C. Miller  <Todd.Miller@courtesan.com>
3389
3390         * plugins/sudoers/env.c:
3391         Set dupcheck to TRUE when setting new HOME value if !env_reset but
3392         always_set_home is true. Prevents a duplicate HOME in the
3393         environment (old value plus the new one) introduced in f421f8827340.
3394         [9ca19183794f]
3395
3396         * configure, configure.in, plugins/sudoers/sudoers,
3397         plugins/sudoers/sudoers.in:
3398         Substitute sysconfdir in the installed sudoers file to get the
3399         correct path for sudoers.d.
3400         [86072b6cd55d]
3401
3402 2010-08-17  Todd C. Miller  <Todd.Miller@courtesan.com>
3403
3404         * src/get_pty.c:
3405         Fix typo that prevented compilation on Irix; Friedrich Haubensak
3406         [b48be51b65fc]
3407
3408 2010-08-16  Todd C. Miller  <Todd.Miller@courtesan.com>
3409
3410         * MANIFEST, common/Makefile.in, common/aix.c, common/alloc.c,
3411         common/atobool.c, common/fileops.c, common/fmt_string.c,
3412         common/lbuf.c, common/list.c, common/term.c, common/zero_bytes.c,
3413         compat/Makefile.in, compat/closefrom.c, compat/fnmatch.c,
3414         compat/getcwd.c, compat/getgrouplist.c, compat/getline.c,
3415         compat/getprogname.c, compat/glob.c, compat/isblank.c,
3416         compat/memrchr.c, compat/mksiglist.c, compat/mkstemps.c,
3417         compat/nanosleep.c, compat/setenv.c, compat/snprintf.c,
3418         compat/strlcat.c, compat/strlcpy.c, compat/strsignal.c,
3419         compat/unsetenv.c, compat/utimes.c, include/compat.h,
3420         include/missing.h, plugins/sample/sample_plugin.c,
3421         plugins/sample_group/getgrent.c,
3422         plugins/sample_group/sample_group.c, plugins/sudoers/Makefile.in,
3423         plugins/sudoers/audit.c, plugins/sudoers/boottime.c,
3424         plugins/sudoers/getdate.c, plugins/sudoers/getdate.y,
3425         plugins/sudoers/linux_audit.c, plugins/sudoers/plugin_error.c,
3426         plugins/sudoers/sudoers.h, plugins/sudoers/sudoreplay.c,
3427         plugins/sudoers/timestr.c, src/Makefile.in, src/error.c, src/sesh.c,
3428         src/sudo.h, src/sudo_noexec.c, src/ttysize.c:
3429         Merge compat.h and missing.h into missing.h
3430         [572909ae9716]
3431
3432 2010-08-14  Todd C. Miller  <Todd.Miller@courtesan.com>
3433
3434         * plugins/sudoers/auth/pam.c:
3435         If the user hits ^C while a password is being read, error out before
3436         reading any further passwords in the pam conversation function.
3437         Otherwise, if multiple PAM auth methods are required, the user will
3438         have to hit ^C for each one.
3439         [23782631748c]
3440
3441 2010-08-12  Todd C. Miller  <Todd.Miller@courtesan.com>
3442
3443         * plugins/sudoers/check.c:
3444         Update comment
3445         [a5296cb3a20a]
3446
3447         * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod:
3448         Document sudo_conv_t function and sudo_printf_t return values.
3449         [745c0017814c]
3450
3451         * src/conversation.c:
3452         Make _sudo_printf return the number of characters printed on success
3453         like printf(3).
3454         [8eeefe8d7e77]
3455
3456 2010-08-10  Todd C. Miller  <Todd.Miller@courtesan.com>
3457
3458         * plugins/sudoers/sudoers.c:
3459         sudoers.h includes sudo_plugin.h for us
3460         [cabe68e07807]
3461
3462         * common/Makefile.in, common/gettime.c, compat/mkstemps.c,
3463         plugins/sudoers/sudoers.h, plugins/sudoers/visudo.c, src/sudo.h,
3464         src/sudo_edit.c:
3465         Use gettimeofday() directly instead of via the gettime() wrapper.
3466         [7490426c99ae]
3467
3468         * common/gettime.c, compat/snprintf.c, compat/strcasecmp.c,
3469         compat/strerror.c, config.h.in, configure, configure.in,
3470         include/compat.h, include/missing.h, plugins/sudoers/logging.c,
3471         plugins/sudoers/sudoers.c, plugins/sudoers/visudo.c, src/sudo.c:
3472         Remove some obsolete configure tests, ancient Unix systems are no
3473         longer supported.
3474         [2be6218c3a36]
3475
3476 2010-08-07  Todd C. Miller  <Todd.Miller@courtesan.com>
3477
3478         * sudo.pp:
3479         Set pp_kit_version and strip off patch level
3480         [aacfda1b676d]
3481
3482         * sudo.pp:
3483         Better handling of versions with a patchlevel. For rpm and deb, use
3484         the patchlevel+1 as the release. For AIX, use the patchlevel as the
3485         4th version number. For the rest, just leave the patchlevel in the
3486         version string.
3487         [638bd35f2346]
3488
3489 2010-08-06  Todd C. Miller  <Todd.Miller@courtesan.com>
3490
3491         * plugins/sudoers/auth/sudo_auth.c:
3492         For non-standalone auth methods, stop reading the password if the
3493         user enters ^C at the prompt.
3494         [82c2911bb264]
3495
3496         * configure, configure.in, plugins/sudoers/Makefile.in,
3497         plugins/sudoers/auth/passwd.c, plugins/sudoers/auth/secureware.c,
3498         plugins/sudoers/auth/sudo_auth.c, plugins/sudoers/auth/sudo_auth.h,
3499         plugins/sudoers/pwutil.c:
3500         No need to look up shadow password unless we are doing password-
3501         style authentication. This moves the shadow password lookup to the
3502         auth functions that need it.
3503         [ba9e3eba2b72]
3504
3505         * plugins/sudoers/sudoers.c:
3506         Retain final passwd/group refs until the policy close() function.
3507         Note that this doesn't get called in all cases so putting this in a
3508         cleanup function is probably better.
3509         [bbe214cb4119]
3510
3511         * plugins/sudoers/check.c:
3512         Fix mismerge
3513         [395115f89dd6]
3514
3515         * plugins/sudoers/check.c:
3516         When removing/resetting the timestamp file ignore the tty ticket
3517         contents.
3518         [b709f5667a0b]
3519
3520         * plugins/sudoers/sudoers.c:
3521         delref sudo_user.pw, runas_pw and runas_gr immediately before we
3522         return.
3523         [4d67d15dfd3b]
3524
3525 2010-08-04  Todd C. Miller  <Todd.Miller@courtesan.com>
3526
3527         * plugins/sudoers/check.c, plugins/sudoers/ldap.c,
3528         plugins/sudoers/match.c, plugins/sudoers/pwutil.c,
3529         plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h:
3530         Reference count cached passwd and group structs. The cache holds
3531         one reference itself and another is added by sudo_getgr{gid,nam} and
3532         sudo_getpw{uid,nam}. The final ref on the runas and user passwd and
3533         group structs are persistent for now.
3534         [e544685523c3]
3535
3536         * doc/UPGRADE:
3537         fix typo
3538         [e32f2d35e6c9]
3539
3540 2010-08-03  Todd C. Miller  <Todd.Miller@courtesan.com>
3541
3542         * plugins/sudoers/check.c:
3543         Do not produce a warning for "sudo -k" if the ticket file does not
3544         exist.
3545         [1598f6061b75]
3546
3547         * plugins/sudoers/pwutil.c:
3548         Instead of caching struct passwd and struct group in the red-black
3549         tree, store a struct cache_item which includes both the key and
3550         datum. This allows us to user the actual name that was looked up as
3551         the key instead of the contents of struct passwd or struct group.
3552         This matters because the name in the database may not match what we
3553         looked up, due either to case folding or truncation (historically at
3554         8 characters). Also mark the disabled calls to sudo_freepwcache()
3555         and sudo_freegrcache() as broken since we use cached data for things
3556         like set_perms() and the logging functions. Fixing this would
3557         require making a copy of the structs for user and runas or adding a
3558         reference count (better).
3559         [225d4a22f60e]
3560
3561         * plugins/sudoers/Makefile.in:
3562         Fix path to mkinstalldirs
3563         [b4968379b12d]
3564
3565         * plugins/sudoers/check.c, plugins/sudoers/logging.c,
3566         plugins/sudoers/sudoreplay.c, plugins/sudoers/visudo.c,
3567         src/exec_pty.c, src/get_pty.c, src/tgetpass.c:
3568         Quiet gcc warnings on glibc systems that use warn_unused_result for
3569         write(2) and others.
3570         [c99f138960e0]
3571
3572 2010-08-02  Todd C. Miller  <Todd.Miller@courtesan.com>
3573
3574         * plugins/sudoers/toke.c, plugins/sudoers/toke.l:
3575         Add %option noinput
3576         [72b9cd49b4f1]
3577
3578         * aclocal.m4, configure, configure.in:
3579         Add cross-compile defaults for remaining AC_TRY_RUN usage. Also add
3580         back getgroups() check since AC_FUNC_GETGROUPS defaults to "no" when
3581         cross-compiling.
3582         [e385c176d0ee]
3583
3584 2010-07-31  Todd C. Miller  <Todd.Miller@courtesan.com>
3585
3586         * aclocal.m4, compat/snprintf.c, config.h.in, configure, configure.in:
3587         Use AC_CHECK_MEMBER in SUDO_SOCK_SA_LEN Use AC_TYPE_LONG_LONG_INT
3588         and AC_CHECK_SIZEOF([long int]) instead of rolling our own.
3589         [cf3e60d9c440]
3590
3591 2010-07-29  Todd C. Miller  <Todd.Miller@courtesan.com>
3592
3593         * pp:
3594         Update to latest version
3595         [32f93be33961]
3596
3597 2010-07-28  Todd C. Miller  <Todd.Miller@courtesan.com>
3598
3599         * sudo.pp:
3600         Let pp determine pp_aix_version itself.
3601         [7cf0245d84ed]
3602
3603         * INSTALL, config.h.in, configure, configure.in, mkpkg,
3604         plugins/sudoers/sudoers.c:
3605         Add support for Ubuntu admin flag file and enable it when building
3606         Ubuntu packages.
3607         [00e27cff2dfb]
3608
3609         * plugins/sudoers/sudoers, sudo.pp:
3610         Add commented out SuSE-like targetpw settings
3611         [4605d47b7413]
3612
3613         * configure, configure.in:
3614         Only try to use +DAportable for non-GCC on hppa
3615         [75d0f284ccf7]
3616
3617         * configure, configure.in:
3618         Prevent configure from adding the -g flag unless in devel mode
3619         [b1fd3f8d45c0]
3620
3621 2010-07-27  Todd C. Miller  <Todd.Miller@courtesan.com>
3622
3623         * sudo.pp:
3624         Go back to sudo-flavor to match existing packages and only use an
3625         underscore for those that need it.
3626         [d737069d1e1c]
3627
3628         * sudo.pp:
3629         Use sudo_$flavor instead of sudo-$flavor since that causes the least
3630         amount of trouble for the various package managers.
3631         [71f547af35fc]
3632
3633         * mkpkg:
3634         Fix handling of the ldap flavor Remove destdir unless --debug was
3635         specified Make distclean before running configure if there is a
3636         Makefile present
3637         [6316f08de7d3]
3638
3639         * sudo.pp:
3640         Add back include file.
3641         [195627bf68b8]
3642
3643         * mkpkg:
3644         Pass extra args on to configure on HP-UX, if we don't have the HP C
3645         compiler, disable zlib to prevent gcc from finding it in
3646         /usr/local/lib.
3647         [473efa0e2bac]
3648
3649         * mkpkg:
3650         Use the HP ANSI C compiler on HP-UX if possible
3651         [fb249b6b175d]
3652
3653         * plugins/sudoers/sudoreplay.c:
3654         Some getline() implementations (FreeBSD 8.0) do not ignore the
3655         length pointer when the line pointer is NULL as they should.
3656         [2410a1a3543c]
3657
3658         * plugins/sudoers/sudoreplay.c:
3659         Don't need to check for *cp being non-zero, isdigit() will do that.
3660         [7df11ea8a487]
3661
3662         * plugins/sudoers/sudoreplay.c:
3663         Add setlocale() so the command line arguments that use floating
3664         point work in different locales. Since sudo now logs the timing
3665         data in the C locale we must Parse the seconds in the timing file
3666         manually instead of using strtod(). Furthermore, sudo 1.7.3 logged
3667         the number of seconds with the user's locale so if the decimal point
3668         is not '.' try using the locale-specific version.
3669         [4d385765f23b]
3670
3671         * src/exec.c:
3672         Do I/O logging in the C locale so the floating point numbers in the
3673         timing file are not locale-dependent.
3674         [5961cec044ec]
3675
3676         * plugins/sudoers/sudoreplay.c:
3677         Use errorx() not error() for thingsthat don't set errno.
3678         [0fe5e692af84]
3679
3680 2010-07-26  Todd C. Miller  <Todd.Miller@courtesan.com>
3681
3682         * pp:
3683         Better support for 1.2.3 style versions in Tru64 kits
3684         [997c549bb777]
3685
3686         * sudo.pp:
3687         Add Tru64 kit support
3688         [e273a954f981]
3689
3690         * pp:
3691         Remove apparently unnecessary use of sudo
3692         [be8840d85125]
3693
3694         * Makefile.in, plugins/sudoers/Makefile.in:
3695         Create timedir as part of install-dirs target.
3696         [c736bc2fb14f]
3697
3698         * src/exec_pty.c:
3699         Handle ENXIO from read/write which can occur when reading/writing a
3700         pty that has gone away.
3701         [fa2e8059879f]
3702
3703         * plugins/sudoers/pwutil.c:
3704         sudo_pwdup() was not expanding an empty pw_shell to _PATH_BSHELL
3705         [3a045475d5ee]
3706
3707         * mkpkg:
3708         platform is a pp flag not a variable
3709         [12eba39a47c1]
3710
3711         * Makefile.in, mkpkg, sudo.pp:
3712         Add simple arg parsing for mkpkg so we can set debug, flavor or
3713         platform.
3714         [ada839fe252d]
3715
3716         * pp:
3717         Make rpm backend work on AIX 5.x
3718         [549a76d11393]
3719
3720 2010-07-25  Todd C. Miller  <Todd.Miller@courtesan.com>
3721
3722         * plugins/sudoers/sudoers:
3723         Add commented out Defaults entry for log_output
3724         [7e67d7588900]
3725
3726 2010-07-23  Todd C. Miller  <Todd.Miller@courtesan.com>
3727
3728         * doc/Makefile.in:
3729         Remove sudo docdir completely
3730         [dce8e82878ef]
3731
3732         * doc/sample.sudo.conf:
3733         Add sample sudo.conf
3734         [aafdba3fc411]
3735
3736 2010-07-22  Todd C. Miller  <Todd.Miller@courtesan.com>
3737
3738         * plugins/sudoers/Makefile.in:
3739         Add PACKAGE_TARNAME for docdir
3740         [930c92b8f8f0]
3741
3742 2010-07-23  Todd C. Miller  <Todd.Miller@courtesan.com>
3743
3744         * src/Makefile.in:
3745         Pass install-sh -b~ here too.
3746         [c3f5eb446c38]
3747
3748         * plugins/sample/Makefile.in, plugins/sample_group/Makefile.in,
3749         plugins/sudoers/Makefile.in, src/Makefile.in:
3750         Install binary files with -b~ to make a backup. Fixes "text file
3751         busy" error on HP-UX during install.
3752         [81f306f54f8c]
3753
3754         * install-sh:
3755         "mv -f" on HP-UX doesn't unlink the destination first so add an
3756         explicit rm before moving the temporary into place.
3757         [fb719a79582d]
3758
3759         * configure, configure.in:
3760         Some more ${foo} -> $(foo) conversion for consistent Makefiles.
3761         [0aa098770074]
3762
3763         * doc/Makefile.in, plugins/sudoers/Makefile.in:
3764         Install sudoers2ldif in the doc dir
3765         [33ac3b53d7f5]
3766
3767 2010-07-22  Todd C. Miller  <Todd.Miller@courtesan.com>
3768
3769         * pathnames.h.in:
3770         Add missing include of maillock.h for Solaris
3771         [5a58883be23a]
3772
3773         * NEWS, configure, configure.in, doc/TROUBLESHOOTING, doc/UPGRADE,
3774         doc/sample.syslog.conf, doc/sudoers.cat:
3775         Change the default syslog facility from local2 to authpriv (or auth
3776         if the operating system doesn't support authpriv).
3777         [3b70ba514f49]
3778
3779         * Makefile.in, sudo.pp:
3780         Install sudoers as /etc/sudoers on RPM and debian systems where the
3781         package manager will not replace a user-modified configuration file.
3782         This fixes upgrades from the vendor sudo packages.
3783         [d886b6d60b5b]
3784
3785         * pp:
3786         RPM: use %config(noreplace) instead of %config for volatile This
3787         results in the new file being installed with a .rpmnew suffix
3788         instead of the file being replaced and the old one renamed with a
3789         .rpmsave suffix.
3790         [58be2119f8e8]
3791
3792 2010-07-21  Todd C. Miller  <Todd.Miller@courtesan.com>
3793
3794         * compat/mkstemps.c, plugins/sudoers/boottime.c:
3795         Include time.h for struct timeval
3796         [ddf8b04f0276]
3797
3798         * src/exec_pty.c:
3799         The return value of strsignal() may be const and should be treated
3800         as const regardless.
3801         [620074ae1e77]
3802
3803         * doc/sudoers.cat, doc/sudoers.man.in, doc/sudoers.pod:
3804         Mention that 127.0.0.1 will not match, nor will localhost unless
3805         that is the actual host name.
3806         [8b574122eb8f]
3807
3808         * MANIFEST, NEWS, README, WHATSNEW, doc/Makefile.in, doc/UPGRADE:
3809         Rename WHATSNEW -> NEWS
3810         [d1a2c8c47d89]
3811
3812         * pp:
3813         Updated pp with latest patches
3814         [98e16b9b8f62]
3815
3816         * WHATSNEW:
3817         Sync with 1.7.4
3818         [65ac4dafeef7]
3819
3820         * doc/UPGRADE, doc/sudoers.cat, doc/sudoers.man.in, doc/sudoers.pod,
3821         plugins/sudoers/sudoers:
3822         Add commented out line to add HOME to env_keep and add a warning to
3823         the note about the HOME change in UPGRADE.
3824         [0d6a775bb6c8]
3825
3826 2010-07-20  Todd C. Miller  <Todd.Miller@courtesan.com>
3827
3828         * plugins/sudoers/sudoreplay.c:
3829         Add LINE_MAX define for those without it.
3830         [446d9dbe7859]
3831
3832         * INSTALL, WHATSNEW, config.h.in, configure, configure.in,
3833         doc/UPGRADE, doc/sudoers.cat, doc/sudoers.man.in, doc/sudoers.pod,
3834         plugins/sudoers/defaults.c:
3835         The tty_tickets option is now on by default.
3836         [a01c48206d80]
3837
3838         * WHATSNEW:
3839         Mention that AIX authdb support has been fixed.
3840         [87bd7f4eba6a]
3841
3842         * common/aix.c:
3843         setauthdb() only sets the "old" registry if it was set by a previous
3844         call to setauthdb(). To restore the original value, passing NULL
3845         (or an empty string) to setauthdb() is sufficient.
3846         [470da190a254]
3847
3848 2010-07-19  Todd C. Miller  <Todd.Miller@courtesan.com>
3849
3850         * WHATSNEW, doc/UPGRADE, doc/sudo.cat, doc/sudo.man.in, doc/sudo.pod,
3851         doc/sudoers.cat, doc/sudoers.man.in, doc/sudoers.pod,
3852         plugins/sudoers/env.c:
3853         Reset HOME when env_reset is enabled unless it is in env_keep
3854         [f421f8827340]
3855
3856         * doc/sudoers.cat, doc/sudoers.man.in, doc/sudoers.pod:
3857         The default for set_logname has been "true" for some time now.
3858         [f489da5674c3]
3859
3860         * plugins/sudoers/boottime.c:
3861         Add missing include of time.h
3862         [624d7014932f]
3863
3864         * plugins/sudoers/logging.c:
3865         Fix check for dup2() return value.
3866         [140ea2d50d20]
3867
3868         * plugins/sudoers/env.c:
3869         Add PYTHONUSERBASE to initial_badenv_table
3870         [3149aae5b12c]
3871
3872         * plugins/sudoers/visudo.c:
3873         Treat an unknown defaults entry as a parse error.
3874         [b3ebad73efb2]
3875
3876         * plugins/sudoers/defaults.c, plugins/sudoers/sudoers.c:
3877         Check return value of setdefs() but don't stop setting defaults if
3878         we hit an unknown one.
3879         [945e752239ab]
3880
3881         * WHATSNEW, aclocal.m4, config.h.in, configure, configure.in,
3882         doc/sudo.cat, doc/sudo.man.in, doc/sudo.pod, doc/sudoers.cat,
3883         doc/sudoers.man.in, doc/sudoers.pod, pathnames.h.in,
3884         plugins/sudoers/env.c:
3885         If env_reset is enabled, set the MAIL environment variable based on
3886         the target user unless MAIL is explicitly preserved in sudoers.
3887         [a1b03e2e0e96]
3888
3889 2010-07-17  Todd C. Miller  <Todd.Miller@courtesan.com>
3890
3891         * pp:
3892         decode debian code names
3893         [8741280d9960]
3894
3895         * WHATSNEW:
3896         fix typo
3897         [a8a19451110b]
3898
3899 2010-07-16  Todd C. Miller  <Todd.Miller@courtesan.com>
3900
3901         * WHATSNEW:
3902         Merge with 1.7.4
3903         [9348fa7e15b8]
3904
3905         * src/sudo.c:
3906         Restore RLIMIT_NPROC after the uid switch if it appears that
3907         runas_setup() did not do it for us. Fixes a bash script problem on
3908         SuSE with RLIMIT_NPROC set to RLIM_INFINITY.
3909         [786fb272e5fd]
3910
3911 2010-07-15  Todd C. Miller  <Todd.Miller@courtesan.com>
3912
3913         * mkpkg, pp, sudo.pp:
3914         Restore the dot removal in the os version reported by polypkg. Adapt
3915         mkpkg and sudo.pp to the change.
3916         [dcafdd53b88f]
3917
3918 2010-07-16  Todd C. Miller  <Todd.Miller@courtesan.com>
3919
3920         * INSTALL:
3921         document --with-pam-login
3922         [ea93e4c6873c]
3923
3924         * doc/sudoers.cat, doc/sudoers.man.in, doc/sudoers.pod:
3925         The tag is NOSETENV, not UNSETENV. From Petr Uzel.
3926         [2ac90d8de36e]
3927
3928 2010-07-15  Todd C. Miller  <Todd.Miller@courtesan.com>
3929
3930         * sudo.pp:
3931         Include flavor in solaris package name
3932         [e605f6364c9f]
3933
3934         * mkpkg:
3935         Older shells don't support IFS= so set explictly to space, tab,
3936         newline.
3937         [7773960bc8a0]
3938
3939         * mkpkg:
3940         Use '=' not '==' in test
3941         [c99d42bc48e6]
3942
3943         * mkpkg:
3944         Fix typo that prevented debian from matching
3945         [84421078fcb7]
3946
3947         * mkpkg:
3948         Add missing prefix setting for debian
3949         [6466f23de4aa]
3950
3951         * sudo.pp:
3952         Use tab indents to reduce the chance of problem with <<- Fix the
3953         debian %set section, pp does not set pp_deb_distro Uncomment %sudo
3954         line in sudoers for debian Uncomment some env_keep lines for RHEL,
3955         SLES and debian to more closely match the vendor sudoers files.
3956         Add /etc/pam.d to %files Remove the /etc/sudo-ldap.conf symlink on
3957         debian for ldap flavor
3958         [c5b49feb1a0c]
3959
3960         * plugins/sudoers/sudoers:
3961         Add commented out env_keep entries, sample Aliases and a %sudo line
3962         for debian.
3963         [387719e52d0f]
3964
3965         * configure, configure.in:
3966         Move zlib check later on in the script to avoid a strange shell
3967         problem on SLES11.
3968         [1a3153bb1291]
3969
3970         * configure.in:
3971         Remove check for egrep; configure has its own
3972         [a3b9d98cb5d2]
3973
3974 2010-07-14  Todd C. Miller  <Todd.Miller@courtesan.com>
3975
3976         * mkpkg:
3977         Enable zlib for linux distros
3978         [8fa51a1405a4]
3979
3980         * mkpkg:
3981         Add ldap flavor to default build
3982         [97644f5a555f]
3983
3984         * mkpkg, sudo.pp:
3985         Simplify rpm linux distro settings
3986         [b9dcf10cdf20]
3987
3988         * aclocal.m4, configure, configure.in, doc/UPGRADE, doc/sudoers.cat:
3989         Move time stamp files from /var/run/sudo to /var/{db,lib,adm}/sudo.
3990         [2c549c1acde9]
3991
3992         * Makefile.in:
3993         Fix ChangeLog creation from build dir
3994         [3d0c7904f173]
3995
3996         * plugins/sudoers/sudoers.c:
3997         Handle getcwd() failure.
3998         [aef7bef87394]
3999
4000         * doc/Makefile.in, mkpkg, sudo.pp:
4001         Add ldap "flavor" for debian, controlled by the SUDO_FLAVOR
4002         environment variable.
4003         [be6ed611b7a8]
4004
4005         * sudo.pp:
4006         Create sudo group on debian
4007         [6ed6c032042e]
4008
4009         * mkpkg, sudo.pp:
4010         Add debian 4/5/6 and use the dot when doing version matches
4011         [6bcb664d1f4f]
4012
4013         * aclocal.m4, configure:
4014         Use a loop when searching for mv, sendmail and sh
4015         [d5e9369f8d13]
4016
4017         * doc/sudoers.cat, doc/sudoers.man.in, doc/sudoers.pod:
4018         Remove spurious "and"; from debian
4019         [a21e6f7c5b99]
4020
4021         * aclocal.m4, configure, configure.in, doc/sudoers.cat,
4022         doc/sudoers.man.in, doc/sudoers.pod, doc/visudo.cat,
4023         doc/visudo.man.in, doc/visudo.pod:
4024         Substitute the value of EDITOR into the sudoers and visudo manuals.
4025         [cd79e587dd7f]
4026
4027 2010-07-13  Todd C. Miller  <Todd.Miller@courtesan.com>
4028
4029         * mkpkg, pp, sudo.pp:
4030         Initial support for debian 4.0
4031         [ac6707915fa8]
4032
4033         * mkpkg:
4034         Some platforms need -fPIE instead of -fpie
4035         [fd6be19e5bc2]
4036
4037         * plugins/sudoers/auth/pam.c:
4038         Only set PAM_RHOST for Solaris, where it is needed to avoid a bug.
4039         On Linux it causes a DNS lookup via libaudit.
4040         [1e10105ade5b]
4041
4042         * MANIFEST:
4043         Update MANIFEST to match packaging changes
4044         [ef86ee557b5b]
4045
4046         * sudo.psf:
4047         We now use pp to generate HP-UX packages
4048         [f7aa8da7844e]
4049
4050         * INSTALL.binary, plugins/sudoers/Makefile.binary.in:
4051         Remove vestiges of old binary package bits.
4052         [afffd005452f]
4053
4054         * INSTALL, Makefile.in, common/Makefile.in, compat/Makefile.in,
4055         doc/Makefile.in, include/Makefile.in, plugins/sample/Makefile.in,
4056         plugins/sample_group/Makefile.in, plugins/sudoers/Makefile.in,
4057         src/Makefile.in:
4058         install-man -> install-doc
4059         [99b5fa05567c]
4060
4061         * Makefile.in, doc/Makefile.in, include/Makefile.in, mkpkg,
4062         plugins/sudoers/Makefile.in, pp, src/Makefile.in, sudo.pp:
4063         Use http://rc.quest.com/topics/polypkg/ for packaging
4064         [5ca8eb75b223]
4065
4066         * install-sh:
4067         Just ignore the -c option, it is the default Add support for -d
4068         option
4069         [a8b6b0a131e8]
4070
4071 2010-07-12  Todd C. Miller  <Todd.Miller@courtesan.com>
4072
4073         * pathnames.h.in, plugins/sudoers/env.c, plugins/sudoers/logging.c:
4074         Use _PATH_STDPATH instead of _PATH_DEFPATH
4075         [137fa911908e]
4076
4077         * plugins/sudoers/Makefile.in, src/Makefile.in:
4078         Do not strip binaries.
4079         [20166e287176]
4080
4081         * INSTALL, configure, configure.in:
4082         Add --insults=disabled configure option to allow people to build in
4083         insult support but have the insults disabled unless explicitly
4084         enabled in sudoers.
4085         [523b8c552e90]
4086
4087         * compat/mkstemps.c:
4088         Add prototype for gettime()
4089         [275eee40473b]
4090
4091         * config.h.in, configure, configure.in, plugins/sudoers/auth/pam.c,
4092         plugins/sudoers/env.c, plugins/sudoers/sudoers.c,
4093         plugins/sudoers/sudoers.h:
4094         Add support for a sudo-i pam.d file to be used for "sudo -i".
4095         Adapted from a RedHat patch.
4096         [06d34f16520b]
4097
4098 2010-07-09  Todd C. Miller  <Todd.Miller@courtesan.com>
4099
4100         * include/missing.h:
4101         Fix mkstemps() prototype
4102         [2421841e815b]
4103
4104         * MANIFEST, compat/Makefile.in, compat/mkstemp.c, compat/mkstemps.c,
4105         config.h.in, configure, configure.in, include/missing.h,
4106         src/sudo_edit.c:
4107         Use mkstemps() instead of mkstemp() in sudoedit. This allows
4108         sudoedit to preserve the file extension (if any) which may be used
4109         by the editor (like emacs) to choose the editing mode.
4110         [d33172d2c086]
4111
4112 2010-07-08  Todd C. Miller  <Todd.Miller@courtesan.com>
4113
4114         * doc/sudoers.ldap.cat, doc/sudoers.ldap.man.in, doc/sudoers.ldap.pod,
4115         plugins/sudoers/ldap.c:
4116         TLS_CACERT is now an alias for TLS_CACERTFILE. OpenLDAP uses
4117         TLS_CACERT, not TLS_CACERTFILE in its ldap.conf. Other LDAP client
4118         code, such as nss_ldap, uses TLS_CACERTFILE. Also document why you
4119         should avoid disabling TLS_CHECKPEER is possible.
4120         [196622436212]
4121
4122 2010-07-07  Todd C. Miller  <Todd.Miller@courtesan.com>
4123
4124         * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod:
4125         Make sudo_plugin format a bit more like a man page
4126         [048d596e32da]
4127
4128         * plugins/sudoers/toke.c, plugins/sudoers/toke.l:
4129         Add suport for negated user/host/command lists in a Defaults entry.
4130         E.g. Defaults:!baduser noexec
4131         [d41112cf0342]
4132
4133         * Makefile.in, common/Makefile.in, compat/Makefile.in,
4134         doc/Makefile.in, include/Makefile.in, plugins/sample/Makefile.in,
4135         plugins/sample_group/Makefile.in, plugins/sudoers/Makefile.in,
4136         src/Makefile.in:
4137         Add uninstall target
4138         [fea66ebf136a]
4139
4140         * common/Makefile.in, compat/Makefile.in:
4141         Remove unused AR, SED and RANLIB variables
4142         [2ff9928bfdb3]
4143
4144         * Makefile.in:
4145         Do not install sample plugins
4146         [5443b87bd1c3]
4147
4148 2010-07-06  Todd C. Miller  <Todd.Miller@courtesan.com>
4149
4150         * MANIFEST, aclocal.m4, compat/setenv.c, compat/unsetenv.c, configure,
4151         configure.in, plugins/sudoers/env.c:
4152         Now that sudoers is a dynamically loaded module we cannot override
4153         the libc environment functions because the symbols may already have
4154         been resolved via libc. Remove getenv/putenv/setenv/unsetenv
4155         replacements from sudoers and add replacements for setenv/unsetenv
4156         for systems that lack them.
4157         [3f2b43cb8851]
4158
4159         * configure, configure.in, plugins/sudoers/Makefile.in:
4160         Link testsudoers with -ldl when needed
4161         [f79606f9fcd7]
4162
4163         * plugins/sample_group/plugin_test.c:
4164         Remove unused time.h and add limits.h for PATH_MAX
4165         [3f5d0074d621]
4166
4167         * doc/sudoers.ldap.pod:
4168         Fix typo.
4169         [bc855fd57397]
4170
4171 2010-07-05  Todd C. Miller  <Todd.Miller@courtesan.com>
4172
4173         * plugins/sample_group/plugin_test.c:
4174         Do not depend on strlcpy/strlcat
4175         [6e7e2b5af051]
4176
4177         * plugins/sample_group/plugin_test.c:
4178         Standalone test driver for sudoers group plugin.
4179         [eb1235fc3b8e]
4180
4181 2010-07-02  Todd C. Miller  <Todd.Miller@courtesan.com>
4182
4183         * plugins/sudoers/group_plugin.c, src/load_plugins.c:
4184         Use RTLD_LAZY instead of RTLD_NOW; was using RTLD_NOW as a debugging
4185         aid.
4186         [2a34e616229b]
4187
4188         * plugins/sample_group/sample_group.c:
4189         Fix style nit in function declarations
4190         [ab87c7c76bf9]
4191
4192         * doc/sudoers.cat, doc/sudoers.man.in, doc/sudoers.pod:
4193         Document group_plugin syntax.
4194         [ed1faf72ddcb]
4195
4196         * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod:
4197         Document the sudoers group plugin.
4198         [f19a62dc8cfc]
4199
4200         * INSTALL, MANIFEST, Makefile.in, config.h.in, configure,
4201         configure.in, doc/LICENSE, doc/license.pod, include/sudo_plugin.h,
4202         plugins/sample_group/Makefile.in, plugins/sample_group/getgrent.c,
4203         plugins/sample_group/sample_group.c, plugins/sudoers/Makefile.in,
4204         plugins/sudoers/def_data.c, plugins/sudoers/def_data.h,
4205         plugins/sudoers/def_data.in, plugins/sudoers/group_plugin.c,
4206         plugins/sudoers/match.c, plugins/sudoers/nonunix.h,
4207         plugins/sudoers/set_perms.c, plugins/sudoers/sudoers.c,
4208         plugins/sudoers/sudoers.h, plugins/sudoers/testsudoers.c,
4209         plugins/sudoers/vasgroups.c, plugins/sudoers/visudo.c, src/sudo.c:
4210         Replace built-in non-unix group support with a sudoers group plugin.
4211         Include a sample plugin that can read Unix-format group files.
4212         [8fc58ce0b1a8]
4213
4214         * configure, configure.in, src/load_plugins.c:
4215         Add a trailing slash to _PATH_SUDO_PLUGIN_DIR to simplify usage.
4216         [5c491dddb8ef]
4217
4218 2010-07-01  Todd C. Miller  <Todd.Miller@courtesan.com>
4219
4220         * doc/sudo.cat, doc/sudo.man.in, doc/sudo.pod, doc/sudoers.cat,
4221         doc/sudoers.man.in, doc/sudoers.pod:
4222         Move sudoers-specific bits out of sudo(8) and into sudoers(5)
4223         [e8a5a5830cfe]
4224
4225         * aclocal.m4, configure, configure.in:
4226         Substitute @io_logdir@ for the sudoers I/O log directory.
4227         [21a75ca7b0ab]
4228
4229 2010-06-29  Todd C. Miller  <Todd.Miller@courtesan.com>
4230
4231         * MANIFEST, common/Makefile.in, common/aix.c, common/alloc.c,
4232         common/atobool.c, common/fileops.c, common/fmt_string.c,
4233         common/lbuf.c, common/term.c, compat/fnmatch.c, compat/getcwd.c,
4234         compat/getgrouplist.c, compat/getline.c, compat/glob.c,
4235         compat/snprintf.c, config.h.in, configure, configure.in,
4236         include/fileops.h, plugins/sample/sample_plugin.c,
4237         plugins/sudoers/alias.c, plugins/sudoers/auth/afs.c,
4238         plugins/sudoers/auth/aix_auth.c, plugins/sudoers/auth/bsdauth.c,
4239         plugins/sudoers/auth/dce.c, plugins/sudoers/auth/fwtk.c,
4240         plugins/sudoers/auth/kerb4.c, plugins/sudoers/auth/kerb5.c,
4241         plugins/sudoers/auth/pam.c, plugins/sudoers/auth/passwd.c,
4242         plugins/sudoers/auth/rfc1938.c, plugins/sudoers/auth/secureware.c,
4243         plugins/sudoers/auth/securid.c, plugins/sudoers/auth/securid5.c,
4244         plugins/sudoers/auth/sia.c, plugins/sudoers/auth/sudo_auth.c,
4245         plugins/sudoers/boottime.c, plugins/sudoers/check.c,
4246         plugins/sudoers/defaults.c, plugins/sudoers/env.c,
4247         plugins/sudoers/find_path.c, plugins/sudoers/getdate.c,
4248         plugins/sudoers/getdate.y, plugins/sudoers/getspwuid.c,
4249         plugins/sudoers/goodpath.c, plugins/sudoers/gram.c,
4250         plugins/sudoers/gram.y, plugins/sudoers/interfaces.c,
4251         plugins/sudoers/iolog.c, plugins/sudoers/ldap.c,
4252         plugins/sudoers/logging.c, plugins/sudoers/match.c,
4253         plugins/sudoers/parse.c, plugins/sudoers/pwutil.c,
4254         plugins/sudoers/set_perms.c, plugins/sudoers/sudo_nss.c,
4255         plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h,
4256         plugins/sudoers/sudoreplay.c, plugins/sudoers/testsudoers.c,
4257         plugins/sudoers/toke.c, plugins/sudoers/toke.l,
4258         plugins/sudoers/tsgetgrpw.c, plugins/sudoers/visudo.c,
4259         src/Makefile.in, src/aix.c, src/conversation.c, src/exec.c,
4260         src/exec_pty.c, src/get_pty.c, src/load_plugins.c, src/parse_args.c,
4261         src/sudo.c, src/sudo.h, src/sudo_edit.c, src/tgetpass.c:
4262         Set usrinfo for AIX Set adminstrative domain for the process when
4263         looking up user's password or group info and when preparing for
4264         execve(). Include strings.h even if string.h exists since they may
4265         define different things. Fixes warnings on AIX and others.
4266         [cf8b93e872c9]
4267
4268         * Makefile.in:
4269         Add a separate all target for AIX make which was using the entire
4270         LHS (not just the first entry) of the first target as the implicit
4271         target.
4272         [a45b980a01ef]
4273
4274         * plugins/sudoers/env.c:
4275         Do not rely on env.env_len when unsetting a variable, just use the
4276         NULL terminator.
4277         [ca6eb239c829]
4278
4279         * plugins/sudoers/env.c:
4280         In unsetenv() check for NULL or empty name as per POSIX 1003.1-2008
4281         [7046ba7caa4e]
4282
4283 2010-06-25  Todd C. Miller  <Todd.Miller@courtesan.com>
4284
4285         * plugins/sudoers/vasgroups.c:
4286         Use warningx() instead of log_error() since the latter is not
4287         available to visudo or testsudoers. This does mean that they don't
4288         end up in syslog.
4289         [152b7c50f426]
4290
4291         * plugins/sudoers/sudoers.c:
4292         Defer call to sudo_nonunix_groupcheck_cleanup() until after we have
4293         closed the sudoers sources. From Quest sudo.
4294         [c1cd573bab94]
4295
4296         * plugins/sudoers/pwutil.c:
4297         Ignore case when matching user/group names in the cache. From Quest
4298         sudo.
4299         [2aa4ecc7d7f5]
4300
4301 2010-06-24  Todd C. Miller  <Todd.Miller@courtesan.com>
4302
4303         * config.h.in, configure, configure.in, src/selinux.c:
4304         Add check for setkeycreatecon() when --with-selinux is specified.
4305         [affae247b4e0]
4306
4307         * configure, configure.in:
4308         Error out if libaudit.h is missing or ununable when --with-linux-
4309         audit was specified
4310         [d82e743fac04]
4311
4312         * doc/HISTORY, doc/history.pod:
4313         Add =head3 entries, mostly for the html version
4314         [ee93112d0308]
4315
4316 2010-06-22  Todd C. Miller  <Todd.Miller@courtesan.com>
4317
4318         * doc/HISTORY, doc/history.pod:
4319         Mention when LDAP was incorporate.
4320         [2923dc17f79c]
4321
4322 2010-06-21  Todd C. Miller  <Todd.Miller@courtesan.com>
4323
4324         * configure, configure.in:
4325         Define _LINUX_SOURCE_COMPAT on AIX for strsignal() prototype, it is
4326         not covered by _ALL_SOURCE.
4327         [c92fd69809d0]
4328
4329 2010-06-18  Todd C. Miller  <Todd.Miller@courtesan.com>
4330
4331         * plugins/sudoers/iolog.c:
4332         Add a cast to quiet a compiler warning.
4333         [a200e07ee1bc]
4334
4335         * plugins/sudoers/getdate.c, plugins/sudoers/getdate.y:
4336         Quiet a compiler warning.
4337         [c9acfc927cea]
4338
4339         * plugins/sudoers/defaults.c, plugins/sudoers/sudoers.c:
4340         Call set_fqdn() after sudoers has parsed instead of inline as a
4341         callback.
4342         [5f4e5d075f2d]
4343
4344         * WHATSNEW, plugins/sudoers/sudoers.c:
4345         Do not call set_fqdn() until sudoers parses (where is gets run as a
4346         callback).
4347         [09040fca6d40]
4348
4349         * WHATSNEW:
4350         mention the change in tty ticket behavior when there is no tty
4351         [575a1fd98f05]
4352
4353         * plugins/sudoers/check.c:
4354         Do not update tty ticket if there is no tty.
4355         [63f9c33ce6a7]
4356
4357         * doc/LICENSE, doc/license.pod:
4358         Update copyright year
4359         [0722ab5d404b]
4360
4361         * doc/Makefile.in:
4362         Do not rely on BSD make's $>
4363         [936a86398bd9]
4364
4365         * configure, configure.in:
4366         Set timedir to /var/db/sudo for darwin to match Apple sudo's
4367         location
4368         [d5b9b03096f1]
4369
4370 2010-06-16  Todd C. Miller  <Todd.Miller@courtesan.com>
4371
4372         * plugins/sudoers/sudoers.h:
4373         Add stub declarations for struct stat and struct timeval
4374         [f6d90551a4fd]
4375
4376         * MANIFEST:
4377         Remove compat/sigaction.c
4378         [d0ed6d9a770e]
4379
4380         * config.h.in, configure, configure.in, plugins/sudoers/defaults.c,
4381         plugins/sudoers/iolog.c, plugins/sudoers/sudoreplay.c:
4382         Check for zlib.h in addition to libz.
4383         [6e191b4a6065]
4384
4385         * MANIFEST, src/Makefile.in, src/exec.c, src/exec_pty.c, src/sudo.h,
4386         src/sudo_exec.h:
4387         Move functions and symbols shared between exec.c and exec_pty.c into
4388         sudo_exec.h.
4389         [14ae63403544]
4390
4391         * doc/Makefile.in:
4392         Comment out rules to build .man.in and .cat files unless --with-
4393         devel
4394         [3cf7e5606a85]
4395
4396         * doc/Makefile.in:
4397         Comment out rules to build .man.in and .cat files unless --with-
4398         devel
4399         [d30495b0e29e]
4400
4401         * src/parse_args.c:
4402         Quote any non-alphanumeric characters other than '_' or '-' when
4403         passing a command to be run via the shell for the -s and -i options.
4404         [d633f74fe2d9]
4405
4406         * doc/Makefile.in:
4407         Add back .man suffix
4408         [6e63b60a2739]
4409
4410         * INSTALL, MANIFEST, WHATSNEW, config.h.in, configure, configure.in,
4411         plugins/sudoers/Makefile.in, plugins/sudoers/audit.c,
4412         plugins/sudoers/bsm_audit.c, plugins/sudoers/linux_audit.c,
4413         plugins/sudoers/linux_audit.h, plugins/sudoers/logging.h,
4414         src/selinux.c:
4415         Add Linux audit support.
4416         [5a2f445e0bd4]
4417
4418 2010-06-15  Todd C. Miller  <Todd.Miller@courtesan.com>
4419
4420         * plugins/sudoers/iolog.c:
4421         Remove an XXX
4422         [a170cbe651d1]
4423
4424         * doc/sudoreplay.cat, doc/sudoreplay.man.in, doc/sudoreplay.pod,
4425         plugins/sudoers/sudoreplay.c:
4426         Add -f (filter) option to sudoreplay to allow certain streams to be
4427         replayed and others ignored.
4428         [62e51b432ea1]
4429
4430         * src/load_plugins.c, src/parse_args.c, src/sudo.c, src/sudo.h,
4431         src/tgetpass.c:
4432         Fix -A flag when askpass is specified in sudo.conf or if sudo
4433         doesn't need to read a password.
4434         [2e401e4a00e3]
4435
4436         * src/exec.c, src/exec_pty.c, src/parse_args.c, src/sudo.c,
4437         src/sudo.h, src/sudo_edit.c, src/tgetpass.c:
4438         Clean up some XXXs
4439         [689f0b002d3d]
4440
4441         * WHATSNEW, doc/sudoers.ldap.cat, doc/sudoers.ldap.man.in,
4442         doc/sudoers.ldap.pod, plugins/sudoers/ldap.c:
4443         Add support for multiple sudoers_base entries in ldap.conf. From
4444         Joachim Henke
4445         [e3e4a3c2bd5b]
4446
4447         * config.h.in, configure, configure.in, plugins/sudoers/logging.c,
4448         src/exec_pty.c:
4449         remove setsid check, we require a POSIX system
4450         [cc73cb9e22c0]
4451
4452         * plugins/sudoers/logging.c, src/exec_pty.c, src/selinux.c,
4453         src/sudo.c, src/tgetpass.c:
4454         Check for dup2() failure.
4455         [5d46d66794f5]
4456
4457         * config.h.in, configure, configure.in:
4458         Remove dup2() check, it is not optional.
4459         [5f1d56de4384]
4460
4461 2010-06-14  Todd C. Miller  <Todd.Miller@courtesan.com>
4462
4463         * WHATSNEW:
4464         sync with sudo 1.7.3
4465         [88e5c0bd6d59]
4466
4467         * INSTALL:
4468         SunOS does not ship with an ANSI compiler
4469         [f13c85c67069]
4470
4471         * INSTALL:
4472         Update OS specific notes. Delete some really ancient ones and move
4473         older ones to the end of the list.
4474         [59ce592c4c52]
4475
4476         * README:
4477         Sudo can be downloaded from the web site too Mention "OS dependent
4478         notes" section in INSTALL
4479         [191871538984]
4480
4481         * src/exec_pty.c, src/selinux.c:
4482         Call selinux_restore_tty() as part of cleanup() so it gets called
4483         from error()/errorx()
4484         [bb017da6b6da]
4485
4486         * MANIFEST, doc/PORTING:
4487         Remove obsolete porting guide
4488         [321e35591344]
4489
4490         * plugins/sudoers/interfaces.h, plugins/sudoers/match.c:
4491         Move union sudo_in_addr_un into interfaces.h
4492         [b2c8b19ee094]
4493
4494         * doc/Makefile.in:
4495         Remove useless circular dependencies
4496         [5682181b59cf]
4497
4498         * plugins/sudoers/auth/afs.c, plugins/sudoers/auth/aix_auth.c,
4499         plugins/sudoers/auth/bsdauth.c, plugins/sudoers/auth/dce.c,
4500         plugins/sudoers/auth/fwtk.c, plugins/sudoers/auth/kerb4.c,
4501         plugins/sudoers/auth/kerb5.c, plugins/sudoers/auth/pam.c,
4502         plugins/sudoers/auth/passwd.c, plugins/sudoers/auth/rfc1938.c,
4503         plugins/sudoers/auth/secureware.c, plugins/sudoers/auth/securid.c,
4504         plugins/sudoers/auth/securid5.c, plugins/sudoers/auth/sia.c:
4505         Convert to ANSI C function declarations
4506         [a4f76927d034]
4507
4508         * common/alloc.c, common/fileops.c, common/gettime.c, common/list.c,
4509         common/zero_bytes.c, compat/charclass.h, compat/closefrom.c,
4510         compat/fnmatch.c, compat/glob.c, compat/isblank.c, compat/memrchr.c,
4511         compat/mkstemp.c, compat/nanosleep.c, compat/snprintf.c,
4512         compat/strcasecmp.c, compat/strerror.c, compat/strlcat.c,
4513         compat/strlcpy.c, compat/timespec.h, compat/utime.h,
4514         compat/utimes.c, doc/HISTORY, doc/history.pod, doc/license.pod,
4515         include/alloc.h, include/error.h, include/lbuf.h, include/list.h,
4516         include/missing.h, pathnames.h.in, plugins/sudoers/alias.c,
4517         plugins/sudoers/audit.c, plugins/sudoers/auth/sudo_auth.h,
4518         plugins/sudoers/boottime.c, plugins/sudoers/bsm_audit.c,
4519         plugins/sudoers/bsm_audit.h, plugins/sudoers/defaults.c,
4520         plugins/sudoers/defaults.h, plugins/sudoers/find_path.c,
4521         plugins/sudoers/getspwuid.c, plugins/sudoers/goodpath.c,
4522         plugins/sudoers/gram.y, plugins/sudoers/interfaces.c,
4523         plugins/sudoers/interfaces.h, plugins/sudoers/logging.c,
4524         plugins/sudoers/logging.h, plugins/sudoers/match.c,
4525         plugins/sudoers/parse.h, plugins/sudoers/plugin_error.c,
4526         plugins/sudoers/pwutil.c, plugins/sudoers/redblack.c,
4527         plugins/sudoers/redblack.h, plugins/sudoers/sudo_nss.h,
4528         plugins/sudoers/sudoers.h, plugins/sudoers/sudoreplay.c,
4529         plugins/sudoers/testsudoers.c, plugins/sudoers/timestr.c,
4530         plugins/sudoers/toke.l, plugins/sudoers/visudo.c, src/aix.c,
4531         src/conversation.c, src/error.c, src/load_plugins.c,
4532         src/parse_args.c, src/sesh.c, src/sudo.h, src/sudo_noexec.c,
4533         src/sudo_plugin_int.h, src/sudo_usage.h.in, src/tgetpass.c:
4534         Update copyright year
4535         [26ac7991f7d8]
4536
4537         * doc/Makefile.in:
4538         Fix commented DEVDOCS when not in devel mode.
4539         [e0a97eaf3793]
4540
4541         * plugins/sudoers/match.c:
4542         Quiet a compiler warning.
4543         [b2a17ebd5d38]
4544
4545         * plugins/sudoers/getdate.c, plugins/sudoers/getdate.y:
4546         Quiet a compiler warning.
4547         [687843bc593d]
4548
4549         * plugins/sudoers/ldap.c, plugins/sudoers/sudoers.h:
4550         Make all functions in ldap.c static
4551         [b2111e89eeba]
4552
4553         * doc/schema.ActiveDirectory:
4554         Updates from Alain Roy to provide better examples for importing the
4555         schema and to fix problems caused by Windows validating attributes
4556         which have not yet been added before committing the changes.
4557         [69f4c5ccaf89]
4558
4559 2010-06-11  Todd C. Miller  <Todd.Miller@courtesan.com>
4560
4561         * configure, configure.in, doc/Makefile.in, doc/sudo.cat,
4562         doc/sudo.man.in, doc/sudo_plugin.cat, doc/sudo_plugin.man.in,
4563         doc/sudoers.cat, doc/sudoers.ldap.cat, doc/sudoers.ldap.man.in,
4564         doc/sudoers.man.in, doc/sudoreplay.cat, doc/sudoreplay.man.in,
4565         doc/visudo.cat, doc/visudo.man.in:
4566         Leave rules to build .man.in and .cat files uncommented but only
4567         make them part of the "all" rule in devel mode. Generate .cat files
4568         directly from .man.in instead of .man using default values in
4569         configure.in
4570         [c3054a44f6a5]
4571
4572         * configure, configure.in:
4573         Bump sudo version to 1.8.0b1
4574         [8f79c85135e1]
4575
4576         * configure, configure.in, src/sudo.c, src/sudo_usage.h.in:
4577         Print configure args with verbose version information.
4578         [1ce690660ed2]
4579
4580         * TODO, plugins/sudoers/visudo.c:
4581         Remove tfd from struct sudoersfile; it is not used. Add prev pointer
4582         to struct sudoersfile. Declare list of sudoersfile using TQ_DECLARE.
4583         Use tq_append to append sudoers entries to the tail queue.
4584         [1743f9a286e4]
4585
4586 2010-06-10  Todd C. Miller  <Todd.Miller@courtesan.com>
4587
4588         * WHATSNEW:
4589         Describe tty timestamp improvements
4590         [e214e863a313]
4591
4592         * plugins/sudoers/toke.c, plugins/sudoers/toke.l:
4593         A comment character may not be part of a command line argument
4594         unless it is quoted with a backslash. Fixes parsing of:
4595         testuser ALL=NOPASSWD: /usr/bin/wl #comment foo bar closes bz #441
4596         [ea2e990f85ed]
4597
4598         * doc/sudoers.pod:
4599         Make this read a little bit better when passwd_timeout is 0.
4600         [39d362757f31]
4601
4602         * doc/sudo.man.in, doc/sudo.man.pl, doc/sudo.pod:
4603         Attempt to handle a default password prompt timeout of zero more
4604         gracefully.
4605         [ea47d43acf5b]
4606
4607         * plugins/sudoers/toke.c, plugins/sudoers/toke.l:
4608         Do not override value of keepopen global, instead restore it to the
4609         value we pushed onto the stack when popping.
4610         [fe282e5a3402]
4611
4612         * plugins/sudoers/Makefile.in:
4613         Add dependency for utility programs on libreplace and libcommon
4614         [2339aba64928]
4615
4616         * compat/sigaction.c, config.h.in, configure.in, include/compat.h,
4617         plugins/sudoers/logging.c, plugins/sudoers/mon_systrace.c,
4618         src/exec.c, src/exec_pty.c, src/tgetpass.c:
4619         Remove sigaction emulation Use SA_INTERRUPT in sa_flags
4620         [7dd61f1bd8d2]
4621
4622         * MANIFEST, config.h.in, configure, configure.in, include/missing.h:
4623         We don't use getgrouplist() at the moment so there's no need to
4624         provide a compat version.
4625         [1597536fbada]
4626
4627         * TODO:
4628         sync with reality
4629         [9e1a874e7885]
4630
4631         * include/sudo_plugin.h, plugins/sudoers/auth/sudo_auth.c,
4632         src/conversation.c, src/sudo.h, src/tgetpass.c:
4633         Fix visiblepw sudoers option; the plugin API portion still needs
4634         documenting
4635         [60b6933ef5e0]
4636
4637         * src/sudo.c:
4638         Print sudo version as well.
4639         [987ed459b459]
4640
4641         * plugins/sudoers/iolog.c, plugins/sudoers/sudoers.c:
4642         Use sudo_printf for I/O log version Clarify policy plugin version
4643         string
4644         [5a58b7e8c80b]
4645
4646         * plugins/sudoers/getdate.c, plugins/sudoers/getdate.y,
4647         plugins/sudoers/ldap.c, plugins/sudoers/sudoreplay.c:
4648         Silence some compiler warnings
4649         [afb1eba90915]
4650
4651         * src/load_plugins.c, src/tgetpass.c:
4652         Store askpass path in a global instead of uses setenv() which many
4653         systems lack.
4654         [b440bcc0e660]
4655
4656 2010-06-09  Todd C. Miller  <Todd.Miller@courtesan.com>
4657
4658         * doc/sudo.cat, doc/sudo.man.in, doc/sudo.pod, doc/sudo_plugin.cat,
4659         doc/sudo_plugin.man.in, doc/sudo_plugin.pod,
4660         plugins/sudoers/check.c, plugins/sudoers/def_data.c,
4661         plugins/sudoers/def_data.h, plugins/sudoers/def_data.in,
4662         plugins/sudoers/defaults.c, plugins/sudoers/sudoers.c,
4663         plugins/sudoers/sudoers.h, src/load_plugins.c, src/parse_args.c,
4664         src/tgetpass.c:
4665         Move askpass path specification from sudoers to sudo.conf.
4666         [5507ab867c26]
4667
4668         * src/exec.c, src/exec_pty.c, src/sudo.c, src/sudo.h:
4669         Use a flag bit in struct command_details for selinux instead of a
4670         separate field.
4671         [c59ca4acded9]
4672
4673         * src/exec.c, src/exec_pty.c, src/sudo.c, src/sudo.h:
4674         Implement background mode. If I/O logging we use pipes instead of a
4675         pty.
4676         [c07a4b356cbd]
4677
4678         * compat/mksiglist.c, compat/strsignal.c, include/compat.h,
4679         src/exec.c, src/exec_pty.c, src/tgetpass.c:
4680         Move compat definition of NSIG to compat.h
4681         [ab0385467f25]
4682
4683         * doc/sudo.cat, doc/sudo.man.in, doc/sudo.pod, doc/sudo_plugin.cat,
4684         doc/sudo_plugin.man.in, doc/sudo_plugin.pod:
4685         Mention plugins in the sudo manual and add some missing path
4686         substitution in the sudo_plugin manual.
4687         [570f831f47a3]
4688
4689         * src/Makefile.in:
4690         Set _PATH_SUDO_CONF based on $(sysconfdir)
4691         [fde51869cf07]
4692
4693         * common/lbuf.c, common/term.c, config.h.in, configure, configure.in,
4694         src/exec.c, src/exec_pty.c, src/ttysize.c:
4695         Require POSIX termios to build sudo
4696         [9ec6b41f3f95]
4697
4698         * src/tgetpass.c:
4699         Ignore SIGPIPE for "sudo -S"
4700         [7ad27fde0c06]
4701
4702         * src/tgetpass.c:
4703         Fix uninitialized variable in TGP_ECHO case and print a newline if
4704         the user interrupted password input.
4705         [ce19204d8dd4]
4706
4707         * src/tgetpass.c:
4708         Make TGP_ECHO override TGP_MASK and don't try to restore the
4709         terminal if we didn't modify it.
4710         [a7e11abfe7e4]
4711
4712         * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod,
4713         include/sudo_plugin.h, plugins/sudoers/auth/sudo_auth.c,
4714         src/conversation.c, src/sudo.h, src/tgetpass.c:
4715         Add SUDO_CONV_PROMPT_MASK define which corresponds to the
4716         "pwfeedback" sudoers option. Do not disable echo if TGP_ECHO is
4717         set.
4718         [e0550590cabe]
4719
4720         * src/exec_pty.c:
4721         Use POSIX tcgetpgrp() instead of BSD TIOCGPGRP ioctl
4722         [762448182fe3]
4723
4724 2010-06-08  Todd C. Miller  <Todd.Miller@courtesan.com>
4725
4726         * src/exec.c, src/exec_pty.c, src/selinux.c, src/sudo.c, src/sudo.h:
4727         Add selinux_enabled flag into struct command_details and set it in
4728         command_info_to_details(). Return an error from selinux_setup()
4729         instead of exiting. Call selinux_setup() from exec_setup().
4730         [011bea23a5a0]
4731
4732 2010-06-09  Todd C. Miller  <Todd.Miller@courtesan.com>
4733
4734         * src/exec_pty.c:
4735         Remove commented out copy of old sudo_execve() function.
4736         [9c5e21380472]
4737
4738 2010-06-08  Todd C. Miller  <Todd.Miller@courtesan.com>
4739
4740         * plugins/sudoers/sudoers.c:
4741         Fix setting selinux type on command line.
4742         [814b20a0b3be]
4743
4744         * plugins/sudoers/iolog.c:
4745         In sudoers_io_close(), skip NULL io_fds[] elements.
4746         [4011ff7d4daf]
4747
4748         * include/compat.h:
4749         No longer need NGROUPS_MAX define
4750         [cae4c49d7077]
4751
4752         * compat/nanosleep.c, config.h.in, configure, configure.in,
4753         include/compat.h, plugins/sudoers/check.c, plugins/sudoers/iolog.c,
4754         plugins/sudoers/visudo.c, src/sudo_edit.c:
4755         Replace timerfoo macros with timevalfoo since the timer macros are
4756         known to be busted on some systems.
4757         [4f97d79f2d41]
4758
4759         * src/exec_pty.c:
4760         Remove duplicate call to selinux_setup().
4761         [82bd52764e21]
4762
4763         * plugins/sudoers/auth/pam.c:
4764         If pam_open_session() fails, pass its status to pam_end.
4765         [1d8de4cf8ff3]
4766
4767         * plugins/sudoers/toke.c, plugins/sudoers/toke.l:
4768         If a file in a #includedir has improper permissions or owner just
4769         skip it. This prevents packages that incorrectly install a file
4770         into /etc/sudoers.d from breaking sudo so easily. Syntax errors in
4771         #includedir files still result in a parse error (for now).
4772         [ade99a4549a4]
4773
4774         * WHATSNEW, doc/sudoers.cat, doc/sudoers.man.in, doc/sudoers.pod,
4775         plugins/sudoers/def_data.c, plugins/sudoers/def_data.h,
4776         plugins/sudoers/def_data.in, plugins/sudoers/iolog.c:
4777         Add use_pty sudoers option to force use of a pty even when not
4778         logging I/O.
4779         [b280a8972a79]
4780
4781         * plugins/sudoers/env.c, plugins/sudoers/sudoers.h:
4782         Make env_init() void as it never fails.
4783         [d3890e55daa7]
4784
4785         * plugins/sudoers/env.c:
4786         No longer use _NSGetEnviron so don't need crt_externs.h
4787         [9b4e0e139881]
4788
4789         * plugins/sudoers/env.c:
4790         Remove unused VNULL define
4791         [a42cacb263e3]
4792
4793 2010-06-07  Todd C. Miller  <Todd.Miller@courtesan.com>
4794
4795         * plugins/sudoers/iolog.c:
4796         Add #define for maximum session id
4797         [9e18c17a28c2]
4798
4799         * MANIFEST, src/Makefile.in, src/exec.c, src/exec_pty.c, src/sudo.h:
4800         Split exec.c into exec.c and exec_pty.c
4801         [d52376327332]
4802
4803         * MANIFEST:
4804         Sync with source file moves.
4805         [4a62c6c9e846]
4806
4807         * src/Makefile.in, src/get_pty.c, src/pty.c:
4808         Rename pty.c -> get_pty.c
4809         [5696a12bd29b]
4810
4811 2010-06-06  Todd C. Miller  <Todd.Miller@courtesan.com>
4812
4813         * plugins/sudoers/iolog.c:
4814         Only use I/O input log file if def_log_input is set and output file
4815         if def_log_output is set.
4816         [d866992f1681]
4817
4818 2010-06-04  Todd C. Miller  <Todd.Miller@courtesan.com>
4819
4820         * compat/strsignal.c:
4821         Update copyright year
4822         [a96f2593fd4e]
4823
4824         * src/pty.c:
4825         uid -> ttyuid
4826         [c3454d74ebcb]
4827
4828         * plugins/sudoers/sudoers.c:
4829         For sudoedit, make a local copy of editor string si become part of
4830         argv. If no editor environment variable, split def_editor on ':'
4831         since it may be a colon-delimited path.
4832         [2ee298506a6e]
4833
4834         * src/sudo_edit.c:
4835         Remove unneeded endpwent()/endgrent()
4836         [623f6743d101]
4837
4838         * doc/Makefile.in:
4839         Use value of nroff from configure
4840         [b2ce649125ab]
4841
4842         * src/exec.c:
4843         Add missing const to I/O log action function
4844         [d764a3955e04]
4845
4846         * plugins/sudoers/check.c:
4847         Update copyright year and fix whitespace
4848         [e648c35b16be]
4849
4850         * configure, configure.in:
4851         Fix typo
4852         [8e0bdfc47da4]
4853
4854         * plugins/sudoers/iolog.c:
4855         Remove redundant tty signal blocking in log function.
4856         [f17f575dabd4]
4857
4858 2010-06-03  Todd C. Miller  <Todd.Miller@courtesan.com>
4859
4860         * plugins/sudoers/iolog.c:
4861         Place static keyword where it belongs
4862         [b01aec7c86b4]
4863
4864         * plugins/sudoers/logging.c:
4865         Always use a printf format string for send_mail()
4866         [13b1ada644c9]
4867
4868         * common/atobool.c, plugins/sudoers/ldap.c:
4869         Extend atobool() so we can use it in the LDAP code.
4870         [73f8e6807044]
4871
4872         * doc/sudo.cat, doc/sudo.man.in, doc/sudo.pod:
4873         Sudo now stashes tty ctime for tty_tickets on Solaris too.
4874         [e82df13ad3fd]
4875
4876         * plugins/sudoers/boottime.c:
4877         Fix dummy version of get_boottime()
4878         [01d69c06013b]
4879
4880 2010-06-02  Todd C. Miller  <Todd.Miller@courtesan.com>
4881
4882         * plugins/sudoers/check.c:
4883         Enable tty_is_devpts() support for Solaris with the "devices"
4884         filesystem.
4885         [237c6b25fa84]
4886
4887         * src/exec.c:
4888         Unbreak the non-io logging case.
4889         [4822b9f709fb]
4890
4891         * src/conversation.c, src/sudo.c, src/sudo_plugin_int.h:
4892         Fix symbol name conflict with sudo_printf.
4893         [0d44eab0a8f6]
4894
4895         * plugins/sudoers/auth/pam.c:
4896         Fix OpenPAM detection for newer versions.
4897         [1b2abed232d8]
4898
4899         * plugins/sudoers/vasgroups.c:
4900         Sync with Quest sudo git repo
4901         [f1d98b3cba02]
4902
4903         * aclocal.m4, configure, configure.in:
4904         HP-UX ld uses +b instead or -R or -rpath Fix typo in libvas check
4905         Add missing template for ENV_DEBUG Adapted from Quest sudo
4906         [695dbd7b28f4]
4907
4908         * README.LDAP:
4909         Fix typos; from Quest Sudo
4910         [4eba9da33b8e]
4911
4912 2010-06-01  Todd C. Miller  <Todd.Miller@courtesan.com>
4913
4914         * plugins/sudoers/Makefile.in:
4915         Add back -I$(top_srcdir); we need it for including compat/foo.h
4916         since we cannot rely on "foo.h" being found relative to the source
4917         file when the cwd is different.
4918         [bbf24695f325]
4919
4920         * src/exec.c:
4921         Fix a bug where we could treat EAGAIN as a permanent error. Also set
4922         cstat if perform_io() returns an error.
4923         [200475c4326f]
4924
4925         * common/alloc.c, plugins/sudoers/boottime.c,
4926         plugins/sudoers/sudoers.c:
4927         Add casts to quiet compiler warnings.
4928         [85eb1c336697]
4929
4930         * plugins/sudoers/sudoreplay.c, plugins/sudoers/testsudoers.c,
4931         plugins/sudoers/visudo.c:
4932         Fix typo in ternary operator usage.
4933         [6492ac1450e2]
4934
4935 2010-05-30  Todd C. Miller  <Todd.Miller@courtesan.com>
4936
4937         * INSTALL, configure, configure.in:
4938         Add --enable-warnings and fix typo in SUDO_IO_LOGDIR
4939         [92121d693b30]
4940
4941         * doc/sudoers.cat, doc/sudoers.man.in, doc/sudoers.pod,
4942         doc/sudoreplay.cat, doc/sudoreplay.man.in, doc/sudoreplay.pod:
4943         Update docs to match sudoers I/O logging changes
4944         [18d651989e49]
4945
4946         * INSTALL, WHATSNEW, aclocal.m4, configure, configure.in,
4947         pathnames.h.in, plugins/sudoers/def_data.c,
4948         plugins/sudoers/def_data.h, plugins/sudoers/def_data.in,
4949         plugins/sudoers/defaults.c, plugins/sudoers/gram.c,
4950         plugins/sudoers/gram.h, plugins/sudoers/gram.y,
4951         plugins/sudoers/iolog.c, plugins/sudoers/parse.c,
4952         plugins/sudoers/parse.h, plugins/sudoers/sudoers.c,
4953         plugins/sudoers/sudoreplay.c:
4954         Break sudoers transcript feature up into log_input and log_output.
4955         [db3c1248d2ad]
4956
4957         * plugins/sudoers/sudoreplay.c, plugins/sudoers/testsudoers.c,
4958         plugins/sudoers/visudo.c:
4959         Use setprogname() as needed.
4960         [6beee63a4553]
4961
4962         * plugins/sudoers/iolog.c, plugins/sudoers/sudoreplay.c:
4963         Adapt sudoreplay to iolog changes.
4964         [581f52c05f0f]
4965
4966 2010-05-29  Todd C. Miller  <Todd.Miller@courtesan.com>
4967
4968         * plugins/sudoers/iolog.c:
4969         Log all input and output into separate files and store a number on
4970         each timing file line to indicate which file the data is in.
4971         [fb460c5273dd]
4972
4973         * plugins/sudoers/iolog.c, plugins/sudoers/sudoers.c,
4974         plugins/sudoers/sudoers.h:
4975         Make sudoers_io functions static to iolog.c
4976         [b2df3cc3eecb]
4977
4978 2010-05-28  Todd C. Miller  <Todd.Miller@courtesan.com>
4979
4980         * doc/sudo.cat, doc/sudo.man.in, doc/sudo.pod, src/parse_args.c,
4981         src/sudo_usage.h.in:
4982         Completely remove the -L flag from the sudo front end.
4983         [3d220030b720]
4984
4985         * plugins/sudoers/sudoreplay.c:
4986         Fix EAGAIN handling when writing to stdout.
4987         [4766d77cea49]
4988
4989         * plugins/sudoers/sudoers.c:
4990         Eliminate unused variables
4991         [83bd711e79c4]
4992
4993         * plugins/sudoers/sudoers.c, src/exec.c, src/sudo.c:
4994         Re-enable cleanup functions in sudoers plugin and sudo driver for
4995         error()/errorx().
4996         [43093f937dd8]
4997
4998         * plugins/sudoers/auth/sudo_auth.c, plugins/sudoers/defaults.c,
4999         plugins/sudoers/interfaces.c, plugins/sudoers/iolog.c,
5000         plugins/sudoers/parse.c, plugins/sudoers/sudoers.c,
5001         plugins/sudoers/testsudoers.c, plugins/sudoers/visudo.c:
5002         Use sudo_printf to display verbose version information.
5003         [435cc9f8d4a2]
5004
5005         * common/Makefile.in, compat/Makefile.in, plugins/sample/Makefile.in,
5006         plugins/sudoers/Makefile.in, src/Makefile.in:
5007         Minor Makefile cleanup: fix a typo, change the removal order in the
5008         clean targets, and remove a superfluous include path for the sudoers
5009         plugin.
5010         [6e3b2d6b4437]
5011
5012         * plugins/sudoers/env.c:
5013         Handle duplicate variables in the environment. For unsetenv(), keep
5014         looking even after remove the first instance. For sudo_putenv(),
5015         check for and remove dupes after we replace an existing value.
5016         [c1bbb88d0435]
5017
5018 2010-05-27  Todd C. Miller  <Todd.Miller@courtesan.com>
5019
5020         * plugins/sudoers/Makefile.in:
5021         Use explicit path to source file instead of $< for files that live
5022         in devdir and top_srcdir.
5023         [358ab7f6cc64]
5024
5025         * plugins/sudoers/Makefile.in:
5026         Add explicit rules to compile gram.c and toke.c for HP-UX Pevent
5027         ending LIBSUDOERS_OBJS with a backslash
5028         [481a5c96d47e]
5029
5030         * plugins/sudoers/Makefile.in, src/Makefile.in:
5031         Link libcommon before libreplace since libcommon may use functions
5032         only present in libreplace.
5033         [1847c496ff5b]
5034
5035         * common/Makefile.in:
5036         Move code common to sudo and the sudoers plugin to a convenience
5037         library, libcommon. Removes the need to make links in the sudoers
5038         plugin dir and reduces re-compilation of duplicate object files.
5039         [4c8986352937]
5040
5041         * Makefile.in, common/alloc.c, common/atobool.c, common/fileops.c,
5042         common/fmt_string.c, common/gettime.c, common/lbuf.c, common/list.c,
5043         common/term.c, common/zero_bytes.c, configure, configure.in,
5044         plugins/sample/Makefile.in, plugins/sudoers/Makefile.in,
5045         src/Makefile.in, src/alloc.c, src/atobool.c, src/fileops.c,
5046         src/fmt_string.c, src/gettime.c, src/lbuf.c, src/list.c, src/term.c,
5047         src/zero_bytes.c:
5048         Move code common to sudo and the sudoers plugin to a convenience
5049         library, libcommon. Removes the need to make links in the sudoers
5050         plugin dir and reduces re-compilation of duplicate object files.
5051         [1d1d98bd55b9]
5052
5053         * src/exec.c, src/sudo.c, src/sudo.h:
5054         Rename script_execve to sudo_execve and rename script_foo in exec.c
5055         [a35ec80de96a]
5056
5057         * MANIFEST, src/Makefile.in, src/exec.c, src/script.c:
5058         rename script.c exec.c and fix up the MANIFEST file
5059         [36bc3bff9578]
5060
5061         * src/script.c, src/sudo.c, src/sudo.h:
5062         Rename script_setup() to pty_setup() and call from script_execve()
5063         directly.
5064         [899b0fb2a14d]
5065
5066         * configure, configure.in:
5067         bump version to 1.8.0a2
5068         [0b1c1ca9d4e5]
5069
5070         * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod:
5071         Document init_session
5072         [b5324785a406]
5073
5074         * plugins/sudoers/auth/API, plugins/sudoers/auth/sudo_auth.c,
5075         plugins/sudoers/auth/sudo_auth.h:
5076         Clean up the sudoers auth API a bit and update the docs.
5077         [c40fd4cb6e68]
5078
5079         * include/sudo_plugin.h, plugins/sudoers/auth/pam.c,
5080         plugins/sudoers/auth/sudo_auth.c, plugins/sudoers/sudoers.c,
5081         plugins/sudoers/sudoers.h, src/script.c, src/sudo.c:
5082         Add init_session function to struct policy_plugin that gets called
5083         before the uid/gid/etc changes. A struct passwd pointer is passed
5084         in,which may be NULL if the user does not exist in the passwd
5085         database.The sudoers module uses init_session to open the pam
5086         session as needed.
5087         [d71723320ee8]
5088
5089 2010-05-26  Todd C. Miller  <Todd.Miller@courtesan.com>
5090
5091         * plugins/sudoers/auth/pam.c, plugins/sudoers/auth/sudo_auth.c,
5092         plugins/sudoers/auth/sudo_auth.h, plugins/sudoers/set_perms.c,
5093         plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h:
5094         Add open/close session to sudo auth, only used by PAM. This allows
5095         us to open (and close) the PAM session from sudoers.
5096         [2665e2920d0d]
5097
5098         * plugins/sudoers/Makefile.in:
5099         Add explicit rule to build getdate.o for HP-UX make.
5100         [7f049e989956]
5101
5102         * plugins/sudoers/Makefile.in:
5103         Back out most of change 45e406ebdea2. Create dummy .l.c and .y.c
5104         rules as an alternate way to prevent HP-UX make (and others) from
5105         trying to rebuild the parser in non-dev mode.
5106         [f84badad98c5]
5107
5108         * plugins/sudoers/sudoers.c:
5109         Re-enable PATH_MAX check for command
5110         [40d8a50da136]
5111
5112         * Makefile.in:
5113         For distclean, clean the main directory last since the subdirs need
5114         to be able to run libtool to clean things.
5115         [8949a9861634]
5116
5117         * compat/Makefile.in:
5118         Fix generation of mksiglist.h
5119         [b7cdc9b36650]
5120
5121         * src/script.c:
5122         Now that we defer sending cstat until the end of script_child() we
5123         cannot reuse cstat when reading command status from parent.
5124         [25c882643466]
5125
5126 2010-05-25  Todd C. Miller  <Todd.Miller@courtesan.com>
5127
5128         * configure, configure.in, doc/sudo.man.in, doc/sudo.man.pl,
5129         doc/sudoers.cat, doc/sudoers.ldap.cat, doc/sudoers.ldap.man.in,
5130         doc/sudoers.man.in, doc/sudoers.man.pl, doc/sudoreplay.cat,
5131         doc/sudoreplay.man.in, doc/visudo.cat, doc/visudo.man.in:
5132         Use numeric registers to handle conditionals instead of trying to do
5133         it all with text processing.
5134         [478079c3fd4b]
5135
5136         * doc/sudoers.pod:
5137         Document per-command SELinux settings
5138         [13840d566805]
5139
5140         * plugins/sudoers/sudoers.c:
5141         Repair "sudo -l -U username"
5142         [10a0dcdf2ddf]
5143
5144         * plugins/sudoers/sudoers.c:
5145         Set selinux role and type in command details.
5146         [8ae6d35a126d]
5147
5148         * src/script.c, src/selinux.c, src/sudo.h:
5149         Rework SELinux support.
5150         [83279cc94bf2]
5151
5152 2010-05-24  Todd C. Miller  <Todd.Miller@courtesan.com>
5153
5154         * src/script.c, src/selinux.c, src/sudo.h:
5155         Make SELinux support compile again. Needs more work to be complete.
5156         [3d3addebcf82]
5157
5158         * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod,
5159         plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h,
5160         src/parse_args.c, src/script.c, src/selinux.c, src/sudo.c,
5161         src/sudo.h:
5162         Bring back closefrom settings.
5163         [b1c6257d4bbb]
5164
5165         * plugins/sudoers/iolog.c, plugins/sudoers/sudoers.c,
5166         plugins/sudoers/sudoers.h:
5167         If running a command or sudoedit in transcript mode, call
5168         io_nextid() before log_allowed() so the session id is logged.
5169         [c42f3ae40150]
5170
5171         * configure, configure.in:
5172         Use mandoc(1) if nroff(1) is not present.
5173         [daad4bbd04af]
5174
5175         * doc/Makefile.in:
5176         Use the --file argument to config.status instead of setting
5177         CONFIG_FILES in the environment.
5178         [c89411a8bf70]
5179
5180         * plugins/sudoers/Makefile.in:
5181         We cannot conditionally update gram.h or the dependency ordering
5182         gets messed up in devel mode.
5183         [c938953231d9]
5184
5185 2010-05-21  Todd C. Miller  <Todd.Miller@courtesan.com>
5186
5187         * Makefile.in, compat/Makefile.in, configure, configure.in,
5188         doc/Makefile.in, include/Makefile.in, plugins/sample/Makefile.in,
5189         plugins/sudoers/Makefile.in, src/Makefile.in:
5190         Substitute @SHELL@ into Makefiles
5191         [36aa6a095335]
5192
5193         * config.sub:
5194         Fix typo
5195         [16d294d26b58]
5196
5197         * config.guess, config.sub, configure, configure.in:
5198         Update to autoconf 2.65
5199         [4fa6ea8caea3]
5200
5201         * Makefile.in:
5202         Fix libtool target (space vs. tabs)
5203         [755cf3892618]
5204
5205         * config.h.in, plugins/sudoers/logging.h, plugins/sudoers/visudo.c:
5206         Remove use of RETSIGTYPE; all modern systems have signal handlers
5207         that return void.
5208         [42b4e3aee668]
5209
5210         * Makefile.in, aclocal.m4, acsite.m4, configure, configure.in,
5211         ltmain.sh, m4/libtool.m4, m4/ltoptions.m4, m4/ltsugar.m4,
5212         m4/ltversion.m4, m4/lt~obsolete.m4, plugins/sample/Makefile.in,
5213         plugins/sudoers/Makefile.in, src/Makefile.in:
5214         Update to libtool-2.2.6b. I haven't made any local modifications
5215         this time, which should be OK since we install sudo_noexec.so by
5216         hand now.
5217         [6f79ced593bb]
5218
5219         * compat/Makefile.in, plugins/sample/Makefile.in,
5220         plugins/sudoers/Makefile.in, src/Makefile.in:
5221         Use libtool to clean objects
5222         [1581057d6472]
5223
5224         * include/Makefile.in:
5225         Install sudo_plugin.h as part of "make install" and make other
5226         install targets callable from the top-level Makefile
5227         [aaaeb027d774]
5228
5229         * configure, configure.in:
5230         regen with autoupdate to eliminate AC_TRY_LINK
5231         [5d5541c230f5]
5232
5233         * Makefile.in, compat/Makefile.in, configure, configure.in,
5234         doc/Makefile.in, plugins/sample/Makefile.in,
5235         plugins/sudoers/Makefile.in, src/Makefile.in:
5236         Install sudo_plugin.h as part of "make install" and make other
5237         install targets callable from the top-level Makefile
5238         [b258b8401b1c]
5239
5240         * plugins/sample/sample_plugin.c:
5241         The sample plugin doesn't support being run with no args so return a
5242         usage error in this case.
5243         [473b3cf965be]
5244
5245         * plugins/sudoers/iolog.c:
5246         Set close on exec flag for descriptors used for I/O logging so they
5247         are not present in the command being run.
5248         [2c7e8708df76]
5249
5250         * plugins/sudoers/tsgetgrpw.c:
5251         Set close on exec flag in private versions of setpwent() and
5252         setgrent().
5253         [64fef78cb833]
5254
5255         * src/script.c:
5256         Close the I/O pipes aftering dup2()ing them to std{in,out,err}.
5257         Fixes extra fds being present in the command when it is part of a
5258         pipeline.
5259         [060451617713]
5260
5261         * plugins/sudoers/sudoers.c:
5262         Set user_tty to "unknown" if there is no tty, like sudo 1.7 does (it
5263         is used when logging). Note that user_ttypath will still be NULL if
5264         there is no tty.
5265         [31b69a6ecda7]
5266
5267         * src/script.c, src/sudo.h:
5268         Cosmetic changes: add comments, remove orphaned prototype and
5269         make a global static.
5270         [f7851af0143e]
5271
5272 2010-05-20  Todd C. Miller  <Todd.Miller@courtesan.com>
5273
5274         * src/script.c:
5275         Move check for maxfd == -1 to flush_output where it belongs.
5276         [b826a95b4491]
5277
5278         * src/script.c:
5279         Break out of select loop if all the fds we want to select on are -1.
5280         [f5b387024238]
5281
5282         * src/sudo.c:
5283         Avoid possible malloc(0) if plugin returns an empty groups list.
5284         [9765a8fe5ce7]
5285
5286         * src/sudo.c:
5287         Add debugging info when calling plugin close function
5288         [95a273c7ff66]
5289
5290         * src/script.c:
5291         Avoid closing stdin/stdout/stderr when we are piping output.
5292         [330e76423caf]
5293
5294         * src/script.c:
5295         When execve() of the command fails, it is possible to receive
5296         SIGCHLD before we've read the error status from the pipe. Re-order
5297         things such that we send the final status at the very end and prefer
5298         error status over wait status.
5299         [b0dcf825244f]
5300
5301 2010-05-19  Todd C. Miller  <Todd.Miller@courtesan.com>
5302
5303         * plugins/sudoers/auth/sudo_auth.c:
5304         Fix compilation for non PAM/BSD auth/AIX auth
5305         [e382b39d2e4f]
5306
5307 2010-05-18  Todd C. Miller  <Todd.Miller@courtesan.com>
5308
5309         * src/script.c:
5310         Additional checks to make sure we don't close /dev/tty by mistake.
5311         When flushing, sleep in select as long as we have buffers that need
5312         to be written out.
5313         [8139cbd3dd54]
5314
5315         * src/script.c:
5316         Now that we can use pipes for stdin/stdout/stderr there is no longer
5317         a need to error out when there is no tty. We just need to make sure
5318         we don't try to use the tty fd if it is -1.
5319         [666621635d26]
5320
5321 2010-05-17  Todd C. Miller  <Todd.Miller@courtesan.com>
5322
5323         * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod,
5324         include/sudo_plugin.h, plugins/sample/sample_plugin.c,
5325         plugins/sudoers/iolog.c, plugins/sudoers/sudoers.h, src/sudo.c:
5326         Add argc and argv to I/O logger open function.
5327         [0d7faa007d27]
5328
5329         * doc/sudo_plugin.man.in, doc/sudo_plugin.pod, include/sudo_plugin.h,
5330         plugins/sample/sample_plugin.c, plugins/sudoers/sudoers.c,
5331         src/parse_args.c, src/sudo.c, src/sudo_edit.c:
5332         Remove check_sudoedit function pointer in struct sudo_policy.
5333         Instead, sudo will set sudoedit=true in the settings array. The
5334         plugin should check for this and modify argv_out as appropriate in
5335         check_policy.
5336         [c0328e3276b8]
5337
5338 2010-05-16  Todd C. Miller  <Todd.Miller@courtesan.com>
5339
5340         * plugins/sample/sample_plugin.c, src/sudo.c, src/sudo.h,
5341         src/sudo_edit.c:
5342         If plugin sets "sudoedit=true" in the command info, enable sudoedit
5343         mode even if not invoked as sudoedit. This allows a plugin to
5344         enable sudoedit when the user runs an editor.
5345         [96d67b99e42e]
5346
5347 2010-05-15  Todd C. Miller  <Todd.Miller@courtesan.com>
5348
5349         * plugins/sudoers/Makefile.in:
5350         gram.h must not depend on gram.y if we want to avoid unnecessary
5351         rebuilding of targets dependent on gram.h when gram.y changes.
5352         [9db4b767fdca]
5353
5354         * plugins/sample/sample_plugin.c:
5355         Refactor common bits of check_policy and check_edit
5356         [ac4d366a04cf]
5357
5358         * plugins/sample/sample_plugin.c:
5359         Add sudoedit support
5360         [a1a6cc4c0cef]
5361
5362 2010-05-14  Todd C. Miller  <Todd.Miller@courtesan.com>
5363
5364         * plugins/sudoers/Makefile.in:
5365         Rely more on VPATH; fixes a dependency issue with the parser.
5366         [45e406ebdea2]
5367
5368         * include/compat.h:
5369         Fix typo introduced in last commit
5370         [3ccb0f853d11]
5371
5372         * include/compat.h:
5373         Emulate seteuid using setreuid() or setresuid() as needed. There are
5374         still a few places that call seteuid() directly.
5375         [36e8efa3a99d]
5376
5377         * src/parse_args.c, src/sudo_edit.c:
5378         Attempt to fix building on systems that only have setuid.
5379         [8e9ba4083318]
5380
5381         * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod:
5382         Clarify sudoedit a tad.
5383         [d39dfaa14ade]
5384
5385 2010-05-13  Todd C. Miller  <Todd.Miller@courtesan.com>
5386
5387         * src/sudo_edit.c:
5388         Fix compilation on HP-UX
5389         [f6e47843d139]
5390
5391         * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod:
5392         Document sudoedit
5393         [4cbf5196d993]
5394
5395         * plugins/sudoers/sudoers.c, src/sudo.c, src/sudo.h, src/sudo_edit.c:
5396         Change how we handle the sudoedit argv. We now require that there
5397         be a "--" in argv to separate the editor and any command line
5398         arguments from the files to be edited.
5399         [20623d549a3c]
5400
5401         * include/sudo_plugin.h, plugins/sample/sample_plugin.c,
5402         plugins/sudoers/Makefile.in, plugins/sudoers/gettime.c,
5403         plugins/sudoers/set_perms.c, plugins/sudoers/sudoers.c,
5404         src/Makefile.in, src/gettime.c, src/parse_args.c, src/sudo.c,
5405         src/sudo.h, src/sudo_edit.c:
5406         Work in progress support for sudoedit. The actual interface used by
5407         the plugin for sudoedit is likely to change.
5408         [c31262a31997]
5409
5410         * plugins/sudoers/find_path.c, plugins/sudoers/sudoers.c,
5411         plugins/sudoers/sudoers.h, plugins/sudoers/visudo.c:
5412         Make find_path() a little more generic by not checking def_foo
5413         variables inside it. Instead, pass in ignore_dot as a function
5414         argument.
5415         [9c23101a094d]
5416
5417         * plugins/sudoers/env.c:
5418         Add version of getenv(3) that uses our own environ pointer.
5419         [0e3783e63534]
5420
5421 2010-05-12  Todd C. Miller  <Todd.Miller@courtesan.com>
5422
5423         * src/script.c:
5424         Avoid a potential race condition if SIGCHLD is received immediately
5425         before we call select().
5426         [99adc5ea7f0a]
5427
5428         * plugins/sudoers/sudoers.c:
5429         Call env_init() before we open the sudoers sources as those may call
5430         our setenv() replacement.
5431         [5f82601f5ab0]
5432
5433         * plugins/sudoers/env.c:
5434         Initialize env_len in env_init()
5435         [7ae02b3029b5]
5436
5437 2010-05-11  Todd C. Miller  <Todd.Miller@courtesan.com>
5438
5439         * doc/sudo.cat, doc/sudo.man.in, doc/sudo.pod:
5440         Document time stamp shortcomings under SECURITY NOTES Use "time
5441         stamp" instead of timestamp.
5442         [2b86120815b2]
5443
5444         * doc/Makefile.in:
5445         Make sed substitution of mansectsu and mansectform global.
5446         [94588632dba0]
5447
5448         * plugins/sudoers/check.c:
5449         If the tty lives on a devpts filesystem, stash the ctime in the tty
5450         ticket file, as it is not updated when the tty is written to. This
5451         helps us determine when a tty has been reused without the user
5452         authenticating again with sudo.
5453         [0e62a31bceb0]
5454
5455         * src/tgetpass.c:
5456         Fix pasto in mulitple signal fix and use _NSIG not NSIG since that
5457         is what our compat checks set.
5458         [df50f0a040c9]
5459
5460         * configure, configure.in:
5461         Add check for whether sudo need to link with -ldl to get dlopen().
5462         This is a bit of a hack that will get reworked when libtool is
5463         updated.
5464         [63bdcf579533]
5465
5466         * plugins/sudoers/check.c:
5467         Fix timestamp removal with -k/-K
5468         [6b4639fef973]
5469
5470         * plugins/sudoers/Makefile.in:
5471         audit.c is now private to the sudoers plugin
5472         [1974f342ae0b]
5473
5474         * configure, configure.in:
5475         Link with -lpthread on HP-UX since a plugin may be linked with
5476         -lpthread and dlopen() will fail if the shared object has a
5477         dependency on -lpthread but the main program is not linked with it.
5478         [d42139391263]
5479
5480         * config.h.in, configure, configure.in, plugins/sudoers/set_perms.c:
5481         Add separate test for getresuid() since HP-UX has setresuid() but no
5482         getresuid().
5483         [910fe727a374]
5484
5485         * doc/Makefile.in:
5486         Remove errant backslash
5487         [dd5464257c69]
5488
5489         * src/script.c:
5490         Fix SIGPIPE handling. Now that we use may use pipes for
5491         stdin/stdout we need to pass any SIGPIPE we receive to the running
5492         command.
5493         [3f6b1991f4fd]
5494
5495         * src/script.c:
5496         Also start the command in the background if stdin is not a tty.
5497         [d93bc33a3740]
5498
5499 2010-05-10  Todd C. Miller  <Todd.Miller@courtesan.com>
5500
5501         * plugins/sudoers/sudoreplay.c, src/script.c, src/sudo.h, src/term.c:
5502         No need to use pseudo-cbreak mode now that we use pipes when stdout
5503         is not a tty. Instead, check whether stdin is a tty and if not,
5504         delay setting the tty to raw mode until the command tries to access
5505         it itself (and receives SIGTTIN or SIGTTOU).
5506         [e68315cf8c6b]
5507
5508         * src/tgetpass.c:
5509         Use an array for signals received instead of a single variable so we
5510         don't lose any when there are multiple different signals.
5511         [2ac726dac864]
5512
5513         * src/tgetpass.c:
5514         Do signal setup after turning off echo, not before. If we are using
5515         a tty but are not the foreground pgrp this will generate SIGTTOU so
5516         we want the default action to be taken (suspend process).
5517         [bebb6209c795]
5518
5519 2010-05-07  Todd C. Miller  <Todd.Miller@courtesan.com>
5520
5521         * src/script.c:
5522         Flush the iobufs on suspend or child exit using the same logic as
5523         the main event loop.
5524         [c627feee1035]
5525
5526         * src/script.c:
5527         Free memory after we are done with it.
5528         [8db9b611b45a]
5529
5530 2010-05-06  Todd C. Miller  <Todd.Miller@courtesan.com>
5531
5532         * doc/HISTORY:
5533         Quest now sponsors Sudo development
5534         [6cc490083bc7]
5535
5536 2010-05-05  Todd C. Miller  <Todd.Miller@courtesan.com>
5537
5538         * doc/Makefile.in:
5539         Install sudo_plugin man page.
5540         [c253729790b2]
5541
5542         * src/script.c:
5543         Go back to reseting io_buffer offset and length (and now also the
5544         EOF handling) in the loop we do the FD_SET, not after we drain the
5545         buffer after write() since we don't know what order reads and writes
5546         will occur in.
5547         [5f38bfa8497f]
5548
5549         * MANIFEST:
5550         audit files moved to sudoers plugin directory
5551         [b1ead182428e]
5552
5553         * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod:
5554         Document plugin_printf and new logging functions.
5555         [fe9430b60ab5]
5556
5557         * src/script.c:
5558         Add support for logging stdin when it is not a tty. There is still a
5559         bug where "cat | sudo cat" has problems because both cat and sudo
5560         are trying to read from the tty.
5561         [04c9c59fcfba]
5562
5563         * include/sudo_plugin.h, plugins/sample/sample_plugin.c,
5564         plugins/sudoers/sudoers.c, src/script.c:
5565         Add separate I/O logging functions for tty in/out and
5566         stdin/stdout/stderr. NOTE: stdin logging does not currently work and
5567         is disabled for now.
5568         [a36dfd4ca935]
5569
5570 2010-05-04  Todd C. Miller  <Todd.Miller@courtesan.com>
5571
5572         * include/sudo_plugin.h, plugins/sample/sample_plugin.c,
5573         plugins/sudoers/iolog.c, plugins/sudoers/ldap.c,
5574         plugins/sudoers/logging.c, plugins/sudoers/plugin_error.c,
5575         plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h,
5576         src/conversation.c, src/sudo.c, src/sudo_plugin_int.h:
5577         Add pointer to a printf like function to plugin open functon. This
5578         can be used instead of the conversation function to display info and
5579         error messages.
5580         [98734eea8ef1]
5581
5582         * Makefile.in:
5583         Stop if make in a subdir fails
5584         [228bb3ad2dbc]
5585
5586         * src/script.c:
5587         Only set user's tty to blocking mode when doing the final flush.
5588         Flush pipes as well as pty master when the process is done.
5589         [20ff67218666]
5590
5591 2010-05-03  Todd C. Miller  <Todd.Miller@courtesan.com>
5592
5593         * plugins/sudoers/ldap.c:
5594         Use print_error() when displaying ldap config info in debugging
5595         mode.
5596         [d142e0cacb22]
5597
5598         * compat/Makefile.in, compat/strdup.c, compat/strndup.c:
5599         No longer need strdup() or strndup() replacements.
5600         [df53697174ec]
5601
5602         * plugins/sudoers/logging.c, plugins/sudoers/plugin_error.c,
5603         plugins/sudoers/sudoers.h:
5604         Add print_error() function that uses the conversation function to
5605         print a variable number of error strings and use it in log_error().
5606         [b1fa2861b575]
5607
5608         * src/script.c, src/sudo.h, src/term.c:
5609         Do not need the opost flag to term_copy() now that we use pipes for
5610         stdout/stderr when they are not a tty.
5611         [f42811f70a19]
5612
5613         * src/script.c:
5614         Use pipes to the sudo process if stdout or stderr is not a tty.
5615         Still needs some polishing and a decision as to whether it is
5616         desirable to add additonal entry points for logging
5617         stdout/stderr/stdin when they are not ttys. That would allow a
5618         replay program to keep things separate and to know whether the
5619         terminal needs to be in raw mode at replay time.
5620         [1a945e0ab2da]
5621
5622 2010-04-30  Todd C. Miller  <Todd.Miller@courtesan.com>
5623
5624         * plugins/sudoers/Makefile.in, plugins/sudoers/audit.c,
5625         plugins/sudoers/bsm_audit.c, plugins/sudoers/bsm_audit.h,
5626         src/audit.c, src/bsm_audit.c, src/bsm_audit.h:
5627         Move audit sources into the sudoers plugin dir; the driver does not
5628         use them.
5629         [50ec36422cd0]
5630
5631         * compat/getline.c, compat/mksiglist.c, compat/nanosleep.c,
5632         compat/strdup.c, compat/strndup.c, plugins/sample/sample_plugin.c,
5633         plugins/sudoers/boottime.c, plugins/sudoers/getdate.c,
5634         plugins/sudoers/match.c, plugins/sudoers/sudoreplay.c,
5635         plugins/sudoers/timestr.c, plugins/sudoers/vasgroups.c, src/alloc.c,
5636         src/atobool.c, src/audit.c, src/lbuf.c, src/list.c, src/sesh.c,
5637         src/term.c, src/ttysize.c:
5638         Use angle brackets when including headers that can only be found
5639         when an -I flag is specified. The files in the compat dir could get
5640         away with double quotes here but I've converted all the source files
5641         to use angle brackets for consistency.
5642         [9e30a8fc6d4b]
5643
5644         * plugins/sudoers/Makefile.in:
5645         Add missing -I$(top_srcdir) to CPPFLAGS so includes in the compat
5646         dir can be found when building outside the source tree.
5647         [1150934b79dd]
5648
5649         * plugins/sudoers/Makefile.in:
5650         Clean up links in distclean
5651         [78595028be8b]
5652
5653         * plugins/sudoers/Makefile.in:
5654         Hack around VPATH semantic differences by symlinking files we need
5655         from ../../src into the current directory and build those. A better
5656         fix would be to either make a .a or .la file with those files in it
5657         or simply use a single, flat, Makefile instead of per-subdirs
5658         Makefiles.
5659         [892c332d3f05]
5660
5661         * plugins/sudoers/Makefile.in, src/Makefile.in, src/fmt_string.c:
5662         fmt_string is used by the sudoers plugin too so do not include
5663         sudo.h (which is not really needed here anyway)
5664         [231c35e3941f]
5665
5666         * compat/Makefile.in, plugins/sample/Makefile.in,
5667         plugins/sudoers/Makefile.in, src/Makefile.in:
5668         Fix building with non-BSD versions of make such as GNU make.
5669         Requires VPATH support, which should be in any non-neolithic make.
5670         [dc174f135919]
5671
5672         * configure, configure.in, plugins/sudoers/Makefile.in,
5673         plugins/sudoers/auth/sudo_auth.c, plugins/sudoers/sudoers.c,
5674         src/Makefile.in:
5675         Re-enable bsm audit. Currently auditing is done within the sudoers
5676         plugin itself. If possible, this should really be done in the main
5677         driver but we don't presently have the needed data to do that. This
5678         will be re-evaluated when Linux audit support is added.
5679         [1d05a3236bfe]
5680
5681         * compat/Makefile.in, plugins/sample/Makefile.in,
5682         plugins/sudoers/Makefile.in, src/Makefile.in:
5683         Remove extraneous $srcdir and use more .c.lo and .c.o rules instead
5684         of explicit rules in the dependency.
5685         [88f80efd25f0]
5686
5687         * plugins/sudoers/visudo.c:
5688         Fix mismerge; alias_remove_recursive() now returns int
5689         [6257a4849641]
5690
5691 2010-04-29  Todd C. Miller  <Todd.Miller@courtesan.com>
5692
5693         * plugins/sudoers/visudo.c:
5694         Fix a crash when checking a sudoers file that has aliases that
5695         reference themselves. Based on a diff from David Wood.
5696         [545d194484a7]
5697
5698         * src/script.c:
5699         Print signal info after restoring the tty mode, not before.
5700         [a68618e67435]
5701
5702         * src/script.c:
5703         Defer call to alarm() until after we fork the child. Pass correct
5704         pid to terminate_child() If the command exits due to signal, set
5705         alive to false like we do when it exits normally. Add missing
5706         check for errpipe[0] != -1 before using it in FD_ISSET
5707         [22f0a1549391]
5708
5709 2010-04-28  Todd C. Miller  <Todd.Miller@courtesan.com>
5710
5711         * plugins/sudoers/boottime.c:
5712         Use 1/0 instead of TRUE/FALSE so we don't need sudoers.h
5713         [0e627170c6e8]
5714
5715 2010-04-27  Todd C. Miller  <Todd.Miller@courtesan.com>
5716
5717         * src/Makefile.in:
5718         Simplify dependencies by using .c.o and .c.lo rules.
5719         [6abcaef5d1ac]
5720
5721         * configure, configure.in, plugins/sudoers/Makefile.in,
5722         src/Makefile.in:
5723         Substitute in @PROGS@ into src/Makefile to add sesh
5724         [cc46d3b6208f]
5725
5726 2010-04-26  Todd C. Miller  <Todd.Miller@courtesan.com>
5727
5728         * plugins/sudoers/sudoers.c:
5729         Add back calls to log_denial() if sudoers does not allow the
5730         command.
5731         [9783316207f0]
5732
5733         * plugins/sudoers/sudoers.c:
5734         Pass in correct pwflag for list and validate.
5735         [973dd56d4b81]
5736
5737         * plugins/sudoers/env.c:
5738         Add missing check for NULL in validate_env_vars
5739         [1d6eb6957824]
5740
5741         * src/Makefile.in:
5742         Add sudo_noexec.la to "all" target, otherwise it only gets built at
5743         install time.
5744         [644a9694d2ef]
5745
5746         * plugins/sudoers/sudoers.c:
5747         Only set sudo_user.env_vars if the env_add list is empty.
5748         [fccdf6f0e0e2]
5749
5750         * plugins/sudoers/sudoers.c:
5751         Set sudo_user.env_vars so that environment variables specified on
5752         the command line get logged correctly.
5753         [9b51012c491e]
5754
5755         * plugins/sudoers/env.c, plugins/sudoers/logging.c,
5756         plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h:
5757         Re-enable environment files and setting environment variables on the
5758         command line.
5759         [5662d5645dbd]
5760
5761 2010-04-24  Todd C. Miller  <Todd.Miller@courtesan.com>
5762
5763         * plugins/sudoers/check.c:
5764         Fix typo in last commit (ifndef vs ifdef) Make sure we pass ctime()
5765         a pointer to time_t as tv_sec in struct timeval may be long.
5766         [4de0c46e788e]
5767
5768         * plugins/sudoers/check.c:
5769         Don't stash ctime in on-disk tty ticket info for now; on many
5770         (most?) systems the ctime is updated when the tty is written to.
5771         Once I have a better idea of what systems do not update ctime on
5772         ttys (and have a way to test for this) the ctime stash will be
5773         conditionally re-enabled.
5774         [a90eeec0f648]
5775
5776 2010-04-23  Todd C. Miller  <Todd.Miller@courtesan.com>
5777
5778         * MANIFEST, Makefile.in:
5779         Add back "dist" target, this time using a MANIFEST file
5780         [29277c05499f]
5781
5782         * Makefile.in:
5783         Remove Makefile in distclean target
5784         [83d695f4f450]
5785
5786         * Makefile.in, src/Makefile.in:
5787         Update clean and cleandir targets
5788         [ad7b2afeb9c1]
5789
5790         * include/fileops.h, plugins/sudoers/sudoers.h, src/fileops.c,
5791         src/sudo.h:
5792         Move fileops.c defines and prototypes to filesops.h
5793         [4545e9b6892d]
5794
5795         * plugins/sudoers/check.c:
5796         Lock the tty timestamp when writing. We shouldn't have to lock when
5797         reading since the file is updated via a single write system call.
5798         [0c7276f02696]
5799
5800 2010-04-22  Todd C. Miller  <Todd.Miller@courtesan.com>
5801
5802         * plugins/sudoers/alias.c, plugins/sudoers/check.c,
5803         plugins/sudoers/defaults.c, plugins/sudoers/find_path.c,
5804         plugins/sudoers/getspwuid.c, plugins/sudoers/gettime.c,
5805         plugins/sudoers/goodpath.c, plugins/sudoers/interfaces.c,
5806         plugins/sudoers/iolog.c, plugins/sudoers/ldap.c,
5807         plugins/sudoers/logging.c, plugins/sudoers/match.c,
5808         plugins/sudoers/nonunix.h, plugins/sudoers/parse.c,
5809         plugins/sudoers/pwutil.c, plugins/sudoers/redblack.c,
5810         plugins/sudoers/sudo_nss.c, plugins/sudoers/sudoers.c,
5811         plugins/sudoers/sudoreplay.c, plugins/sudoers/testsudoers.c,
5812         plugins/sudoers/timestr.c, plugins/sudoers/tsgetgrpw.c,
5813         plugins/sudoers/vasgroups.c, plugins/sudoers/visudo.c:
5814         Convert to ANSI C function declarations
5815         [9c45def57cf7]
5816
5817         * plugins/sudoers/sudoers.h:
5818         Remove extraneous bits and classify by source file.
5819         [e8ea9f109ebb]
5820
5821         * include/compat.h:
5822         Add timercmp macro for systems without it
5823         [d3bf87b1d08e]
5824
5825         * plugins/sudoers/boottime.c, plugins/sudoers/check.c,
5826         plugins/sudoers/sudoers.h:
5827         get_boottime() now fills in a timeval struct
5828         [3573c3f44e11]
5829
5830         * plugins/sudoers/check.c:
5831         Store info from stat(2)ing the tty in the tty ticket when tty
5832         tickets are in use. On most systems, this closes the loophole
5833         whereby a user can log out of a tty, log back in and still have the
5834         timestamp be valid.
5835         [53380f9f5242]
5836
5837         * config.h.in, configure.in:
5838         Add timespec2timeval and use it when getting ctime/mtime
5839         [4cb7f7caec2c]
5840
5841 2010-04-20  Todd C. Miller  <Todd.Miller@courtesan.com>
5842
5843         * plugins/sudoers/auth/sudo_auth.c, plugins/sudoers/set_perms.c,
5844         plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h,
5845         plugins/sudoers/testsudoers.c:
5846         Convert perm setting to push/pop model; still needs some work Use
5847         the stashed runas groups instead of using getgrouplist() Reset perms
5848         to the initial value on error
5849         [09c072ebde8b]
5850
5851         * config.h.in, configure.in:
5852         fix ctim_get and mtim_get macros
5853         [58773dc1e360]
5854
5855         * config.h.in, configure, configure.in, include/compat.h,
5856         plugins/sudoers/check.c, plugins/sudoers/gettime.c,
5857         plugins/sudoers/sudoers.h, plugins/sudoers/visudo.c, src/fileops.c:
5858         Use timeval directly instead of converting to timespec when dealing
5859         with file times and time of day.
5860         [a0ce1ae00a67]
5861
5862         * plugins/sudoers/Makefile.in:
5863         Don't like sudoreplay with libsudoers.la due to a yacc symbol
5864         conflict.
5865         [f1a59cc63a15]
5866
5867 2010-04-18  Todd C. Miller  <Todd.Miller@courtesan.com>
5868
5869         * configure, configure.in:
5870         Darwin >= 9.x has real setreuid(2)
5871         [7ec942a64275]
5872
5873 2010-04-17  Todd C. Miller  <Todd.Miller@courtesan.com>
5874
5875         * plugins/sudoers/env.c, plugins/sudoers/sudoers.h:
5876         Ansify env.c
5877         [f58551bad10a]
5878
5879         * plugins/sudoers/env.c, plugins/sudoers/sudoers.c,
5880         plugins/sudoers/sudoers.h:
5881         Remove remaining references to the environ pointer.
5882         [96faa530816a]
5883
5884 2010-04-16  Todd C. Miller  <Todd.Miller@courtesan.com>
5885
5886         * config.h.in, configure, configure.in, plugins/sudoers/env.c:
5887         Don't change the environ directly in the sudoers plugin
5888         [6db48ed3f7e0]
5889
5890 2010-04-15  Todd C. Miller  <Todd.Miller@courtesan.com>
5891
5892         * plugins/sudoers/sudoers.c:
5893         Fix typo
5894         [4aa452b07f8f]
5895
5896         * plugins/sudoers/alias.c:
5897         Fix use after free in error message when a duplicate alias exists.
5898         [ce1d2812ee34]
5899
5900 2010-04-14  Todd C. Miller  <Todd.Miller@courtesan.com>
5901
5902         * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod,
5903         src/parse_args.c:
5904         Add a "noninteractive" boolean to the settings passed in to the
5905         plugin's open function that is set when the user specifies the -n
5906         flag.
5907         [68f8d9d6d4d0]
5908
5909         * config.h.in, configure, configure.in, plugins/sudoers/env.c:
5910         Add workaround for the lack of the environ pointer on Mac OS X in
5911         dlopen()ed modules. Use of environ in the sudoers plugin should
5912         ultimately be removed but this will do for the moment.
5913         [80c61647434f]
5914
5915         * plugins/sudoers/visudo.c:
5916         Set errorfile to the sudoers path if we set parse_error manually.
5917         This prevents a NULL dereference in printf() when checking a sudoers
5918         file in strict mode when alias errors are present.
5919         [45e249ca99f7]
5920
5921         * plugins/sudoers/sudoers.c:
5922         Main sudo no longer print "unable to execute" on exec failure so do
5923         it here.
5924         [50aaf62b43b5]
5925
5926 2010-04-13  Todd C. Miller  <Todd.Miller@courtesan.com>
5927
5928         * src/script.c:
5929         Use a pipe to pass back errno to the parent if execve() fails. If we
5930         get an error in script_child(), kill the command and exit.
5931         [dc3bf870f91b]
5932
5933         * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod,
5934         src/parse_args.c, src/sudo.c:
5935         Handle plugin's open function returning -2 (usage error).
5936         [aadf900c1de8]
5937
5938         * src/script.c:
5939         If execve() fails, leave it to the plugin to print an error string.
5940         [e25748f2d5b9]
5941
5942         * src/script.c:
5943         If execve fails in logging mode, pass the errno directly to the
5944         grandparent on the backchannel and exit. The immediate parent will
5945         get SIGCHLD and try to report that status but its parent will no
5946         longer be listening. It would probably be cleaner to pass this over
5947         a pipe in script_child().
5948         [cb122acc81a8]
5949
5950         * plugins/sudoers/sudoers.c:
5951         Don't override rval with results of check_user() unless it failed.
5952         [46fb7e87ac7d]
5953
5954 2010-04-12  Todd C. Miller  <Todd.Miller@courtesan.com>
5955
5956         * doc/sudoers.cat, doc/sudoers.man.in, doc/sudoers.pod:
5957         Fix typo
5958         [ccd0b693f3da]
5959
5960         * src/parse_args.c:
5961         NULL-terminate env_add
5962         [2c534368a0c3]
5963
5964 2010-04-11  Todd C. Miller  <Todd.Miller@courtesan.com>
5965
5966         * src/sudo.c:
5967         Call the I/O log open function before the I/O version function.
5968         [e88bf898990b]
5969
5970         * plugins/sudoers/iolog.c:
5971         Remove io_conv and just use sudo_conv
5972         [a280052468eb]
5973
5974         * plugins/sudoers/set_perms.c:
5975         Fix set/restore perms for systems w/o setresuid
5976         [4160517f6666]
5977
5978 2010-04-10  Todd C. Miller  <Todd.Miller@courtesan.com>
5979
5980         * plugins/sudoers/check.c, plugins/sudoers/logging.c,
5981         plugins/sudoers/parse.c, plugins/sudoers/set_perms.c,
5982         plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h:
5983         Primitive set/restore permissions. Will be replaced by a push/pop
5984         model.
5985         [aae102290866]
5986
5987         * src/script.c:
5988         Only need to take action on SIGCHLD in parent if no I/O logger. If
5989         there is an I/O logger we will receive ECONNRESET or EPIPE when we
5990         try to read from the socketpair.
5991         [e1e4560401f6]
5992
5993 2010-04-09  Todd C. Miller  <Todd.Miller@courtesan.com>
5994
5995         * compat/memrchr.c, doc/sudoers.cat, doc/sudoers.man.in,
5996         doc/sudoers.pod, plugins/sudoers/find_path.c:
5997         Merge fb4d571495fa from the 1.7 branch to trunk.
5998         [c8fb424ad4d2]
5999
6000 2010-04-08  Todd C. Miller  <Todd.Miller@courtesan.com>
6001
6002         * src/script.c:
6003         Don't set SA_RESTART when registering SIGALRM handler. Do set
6004         SA_RESTART when registering SIGWINCH handler.
6005         [173472b76525]
6006
6007         * doc/Makefile.in:
6008         Add dev targets for *.man.in and *.cat that don't specfify the
6009         $(srcdir) prefix.
6010         [b62f425da2e4]
6011
6012         * src/script.c:
6013         If log_input or log_output returns false, terminate the command.
6014         [074f4c0c34a0]
6015
6016         * src/script.c:
6017         Better signal handling. Instead of using a single variable to store
6018         the received signal, use an array so we can't lose a signal when
6019         multiple are sent. Fix process termination by SIGALRM in non-I/O
6020         logger mode. Fix relaying terminal signals to the child in non-I/O
6021         logger mode.
6022         [7a4723aca99d]
6023
6024         * src/script.c:
6025         Fix a race between when we get the child pid in the parent and when
6026         the child process exits. The problem exhibited as a hang after a
6027         short-lived process, e.g. "sudo id" when no IO logger was enabled.
6028         [80bcc0aca70b]
6029
6030 2010-04-07  Todd C. Miller  <Todd.Miller@courtesan.com>
6031
6032         * doc/sudoers.cat, doc/sudoers.man.in, doc/sudoers.pod:
6033         Add a note about the security implications of the fast_glob option.
6034         [c37a92ab7c93]
6035
6036 2010-04-06  Todd C. Miller  <Todd.Miller@courtesan.com>
6037
6038         * config.h.in, configure, configure.in:
6039         Fix up some AC_DEFINE descriptions and regen config.h.in
6040         [f4655adc0db3]
6041
6042 2010-04-05  Todd C. Miller  <Todd.Miller@courtesan.com>
6043
6044         * include/missing.h:
6045         No longer check for strdup or strndup for LIBOBJ replacement.
6046         [fdc764ee8109]
6047
6048         * src/script.c:
6049         Avoid installing signal handlers that are io-logger specific. Fixes
6050         job control when no io logger is enabled.
6051         [0853dd0906d4]
6052
6053         * doc/Makefile.in:
6054         Only regen man pages from pod when configured with --with-devel
6055         [ab1995f8103d]
6056
6057 2010-04-04  Todd C. Miller  <Todd.Miller@courtesan.com>
6058
6059         * Makefile, Makefile.in, configure, configure.in:
6060         Top-level Makefile.in. Nothing is currently substituted but this is
6061         needed for separate build dirs.
6062         [e80873cbd201]
6063
6064         * compat/Makefile.in, doc/Makefile.in, plugins/sample/Makefile.in,
6065         plugins/sudoers/Makefile.in, src/Makefile.in:
6066         Fix out-of-tree builds
6067         [59a35bef07b8]
6068
6069         * Merge
6070         [386b848047e9]
6071
6072         * doc/Makefile.in:
6073         We always install sudoreplay in 1.8
6074         [ce52ba6617c9]
6075
6076 2010-04-03  Todd C. Miller  <Todd.Miller@courtesan.com>
6077
6078         * compat/siglist.in:
6079         SIGPOLL is sometimes the same as SIGIO (like on HP-UX)
6080         [6d69e1b05faf]
6081
6082 2010-04-02  Todd C. Miller  <Todd.Miller@courtesan.com>
6083
6084         * configure, configure.in:
6085         No need to provide strdup() or strndup(), sudo uses estrdup() and
6086         estrndup()
6087         [57ec23b72958]
6088
6089 2010-04-04  Todd C. Miller  <Todd.Miller@courtesan.com>
6090
6091         * plugins/sudoers/iolog.c, plugins/sudoers/sudoers.c:
6092         Free str after using it in the version method. Use sudo_conv, not
6093         io_conv since we don't have the IO conversation function pointer in
6094         the I/O version method anymore now that io_open is delayed.
6095         [f2ed132adeb0]
6096
6097 2010-04-02  Todd C. Miller  <Todd.Miller@courtesan.com>
6098
6099         * compat/Makefile.in, compat/mksiglist.c, compat/mksiglist.h,
6100         compat/siglist.in:
6101         Add license to mksiglist.c and note that the bits from pdksh are
6102         public domain
6103         [d8121a2467e8]
6104
6105         * compat/Makefile.in:
6106         Fix LIBOBJDIR vs. srcdir wrt the siglist bits
6107         [164160148421]
6108
6109         * plugins/sudoers/Makefile.in:
6110         Add sudoreplay testsudoers and visudo to clean target
6111         [138a17e51c0c]
6112
6113         * compat/Makefile.in, compat/mksiglist.c, compat/mksiglist.h,
6114         compat/siglist.in, compat/strsignal.c, configure, configure.in,
6115         include/missing.h, src/script.c:
6116         Create our own sys_siglist for systems without it for use by
6117         strsignal()
6118         [2e5da011ebc3]
6119
6120         * compat/Makefile.in:
6121         Remove duplicate $(LIBOBJDIR)
6122         [adf9abc9432f]
6123
6124 2010-04-01  Todd C. Miller  <Todd.Miller@courtesan.com>
6125
6126         * plugins/sudoers/sudoers.c, src/sudo.c, src/sudo_edit.c:
6127         Main sudo should not block signals; the plugin should do this in
6128         check_policy.
6129         [3f3736a7c5ed]
6130
6131 2010-03-31  Todd C. Miller  <Todd.Miller@courtesan.com>
6132
6133         * src/script.c:
6134         Fix a sizeof(ptr) vs. sizeof(*ptr)
6135         [aa1bcf5afcce]
6136
6137         * src/script.c:
6138         Unlike most operating systems, HP-UX select() is not interrupted by
6139         SIGCHLD when the signal is registered with SA_RESTART. If we clear
6140         SA_RESTART when calling sigaction() for SIGCHLD we get the expected
6141         behavior and the code in the select() loops already handles EINTR
6142         correctly.
6143         [9eba0115e35a]
6144
6145         * compat/getprogname.c:
6146         progname should be const
6147         [130228f062b7]
6148
6149         * plugins/sudoers/Makefile.in:
6150         Move --tag=disable-static to when we link sudoers.la, not when we
6151         install.
6152         [ceb5e6c3b78b]
6153
6154         * src/load_plugins.c:
6155         Load the sudoers I/O plugin by default too now that it is hooked up.
6156         [ea38befd0742]
6157
6158 2010-03-30  Todd C. Miller  <Todd.Miller@courtesan.com>
6159
6160         * src/pty.c:
6161         It looks like AIX doesn't need to push STREAMS modules for ptys.
6162         [22da618ba0a1]
6163
6164 2010-03-28  Todd C. Miller  <Todd.Miller@courtesan.com>
6165
6166         * src/parse_args.c, src/sudo.c:
6167         Delay calling the I/O plugin open function until the policy plugin
6168         returns success.
6169         [f3297c325b48]
6170
6171 2010-03-27  Todd C. Miller  <Todd.Miller@courtesan.com>
6172
6173         * plugins/sudoers/Makefile.in, plugins/sudoers/iolog.c,
6174         plugins/sudoers/set_perms.c, plugins/sudoers/sudoers.c,
6175         plugins/sudoers/sudoers.h:
6176         Add back io logging (transcript) support. Currently, the open
6177         function runs too early and it is not possible to use the io module
6178         independently of the policy module.
6179         [9bd932f66226]
6180
6181         * plugins/sudoers/set_perms.c:
6182         Comment out dead code; will be removed when set_perms is rewritten.
6183         [af7a995284f8]
6184
6185 2010-03-23  Todd C. Miller  <Todd.Miller@courtesan.com>
6186
6187         * plugins/sudoers/sudoers.c:
6188         Fix off by one error when allocating user_groups.
6189         [6281fcf9c3bb]
6190
6191 2010-03-22  Todd C. Miller  <Todd.Miller@courtesan.com>
6192
6193         * configure, configure.in, plugins/sudoers/Makefile.in:
6194         Add REPLAY_LIBS for sudoreplay and add -lrt to it on Solaris.
6195         [fbce3e9eda3a]
6196
6197         * plugins/sudoers/sudoers.c:
6198         Fix typo in preserve groups case
6199         [1fd72024fb5a]
6200
6201         * plugins/sudoers/sudoers.c:
6202         In command_info it is "runas_groups" not "groups".
6203         [5c64dce4f285]
6204
6205         * src/sudo.c:
6206         Fix iteration over runas_groups list.
6207         [b3c45a0cd643]
6208
6209         * configure, configure.in, plugins/sudoers/env.c,
6210         plugins/sudoers/match.c, src/script.c:
6211         Merge 5177a284b9ff 549f8f7c2463 88f3181692fe from 1.7 branch.
6212         [a8108a0776c2]
6213
6214         * compat/getgrouplist.c:
6215         getgrouplist(3) for those without it
6216         [4ab4d21e3b16]
6217
6218         * plugins/sudoers/sudoers.c:
6219         Set preserve_groups or groups list in command_info
6220         [1266119ad654]
6221
6222         * src/sudo.c:
6223         Fix setting of groups list
6224         [e75315e40bd4]
6225
6226         * config.h.in, configure, configure.in, include/compat.h,
6227         include/missing.h:
6228         Add checks for getgrset and getgrouplist and use replacement
6229         getgrouplist if the system doesn't support it.
6230         [a62b8ba50863]
6231
6232         * src/parse_args.c:
6233         Pass in preserve_groups when the -P flag is specified as per the
6234         design
6235         [7420c5d15474]
6236
6237         * plugins/sudoers/sudoers.c:
6238         Check preserve_groups and ignore_ticket args with atobool instead of
6239         assuming they are true if present.
6240         [71c905702697]
6241
6242 2010-03-21  Todd C. Miller  <Todd.Miller@courtesan.com>
6243
6244         * plugins/sudoers/Makefile.in, plugins/sudoers/error.c,
6245         plugins/sudoers/plugin_error.c:
6246         Rename plugin-specific error.c to plugin_error.c Wire up visudo,
6247         sudoreplay and testsudoers in the build
6248         [9d581d5fa4d4]
6249
6250         * src/Makefile.in, src/term.c:
6251         term.c does not needto include sudo.h
6252         [f6683cdcd2dd]
6253
6254         * TODO, doc/sudo_plugin.cat, doc/sudo_plugin.man.in,
6255         doc/sudo_plugin.pod:
6256         Document the -2 return in the check_policy section too
6257         [e9cb4c34bbcf]
6258
6259         * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod,
6260         plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h,
6261         src/parse_args.c, src/sudo.c, src/sudo.h:
6262         Fix the -s and -i flags and add support for the "implied_shell"
6263         option. If the user does not specify a command, sudo will now pass
6264         in the path to the user's shell and set impied_shell=true. The
6265         plugin can them either check the command normally or return -2 to
6266         cause sudo to print a usage message and exit.
6267         [bf889c38f229]
6268
6269 2010-03-19  Todd C. Miller  <Todd.Miller@courtesan.com>
6270
6271         * config.h.in, configure, configure.in, src/load_plugins.c:
6272         Bring back SUDOERS_PLUGIN but add .dylib -> .so conversion for
6273         Darwin where libraries end in .dylib but modules end in .so
6274         [2c56aaa38e21]
6275
6276         * plugins/sudoers/parse.c:
6277         Better prefix determination now that we can't rely on len==0 to tell
6278         the beginning on an entry.
6279         [622bf18179e9]
6280
6281         * plugins/sudoers/ldap.c:
6282         display_bound_defaults() stub should return 0, not 1 since it is a
6283         count, not a boolean.
6284         [0327a6c3d55d]
6285
6286         * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod:
6287         Document progname in settings
6288         [42031d56a2e3]
6289
6290         * compat/getprogname.c, include/compat.h,
6291         plugins/sample/sample_plugin.c, plugins/sudoers/sudoers.c,
6292         src/parse_args.c, src/sudo.c:
6293         Rewrite compat/getprogname.c and add setprogname(). The progname is
6294         now passed to the plugin via the settings array.
6295         [25d8663e6006]
6296
6297         * configure, configure.in, plugins/sudoers/Makefile.in:
6298         Fix --with-ldap
6299         [b64b633f426d]
6300
6301         * plugins/sudoers/sudo_nss.c:
6302         Add missing whitespace for Runas and Command-specific defaults
6303         [65f4ddf5545e]
6304
6305         * plugins/sudoers/ldap.c, plugins/sudoers/parse.c,
6306         plugins/sudoers/sudo_nss.c:
6307         Use embedded newlines in lbuf instead of multiple calls to
6308         lbuf_print.
6309         [eed3af9cc3e1]
6310
6311         * src/lbuf.c:
6312         Add support for embedded newlines.
6313         [e11f79b18deb]
6314
6315 2010-03-18  Todd C. Miller  <Todd.Miller@courtesan.com>
6316
6317         * compat/getprogname.c:
6318         If system doesn't support getprogname or __programe and we are
6319         building a shared object don't bother with Argc/Argv, just return
6320         "sudo"
6321         [aebde9062be7]
6322
6323         * config.h.in, configure, configure.in, src/load_plugins.c:
6324         Hard-code sudoers.so instead of using SUDOERS_PLUGIN since libtool
6325         appears to always install a shared object with the .so suffix.
6326         [f9bbd0c0e9d3]
6327
6328         * compat/Makefile.in, configure, configure.in,
6329         plugins/sample/Makefile.in, plugins/sudoers/Makefile.in,
6330         src/Makefile.in:
6331         Play more nicely with libtool and let it build libreplace (was
6332         libmissing) for us.
6333         [a4c6ebb2495c]
6334
6335         * include/missing.h:
6336         Include stdarg.h for va_list rather than requiring all consumers of
6337         missing.h to include stdarg.h themselves.
6338         [37382df948de]
6339
6340         * include/lbuf.h, plugins/sudoers/auth/sudo_auth.c,
6341         plugins/sudoers/check.c, plugins/sudoers/sudo_nss.c,
6342         plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h, src/lbuf.c,
6343         src/parse_args.c:
6344         Pass in output function to lbuf_init() instead of writing to stdout.
6345         A side effect is that the usage info can now go to stderr as it
6346         should.
6347         [6d261261a072]
6348
6349 2010-03-17  Todd C. Miller  <Todd.Miller@courtesan.com>
6350
6351         * include/lbuf.h, plugins/sudoers/sudo_nss.c,
6352         plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h, src/lbuf.c,
6353         src/parse_args.c, src/sudo.c:
6354         Use number of tty columns that is passed in user_info instead of
6355         getting it directly in the lbuf code.
6356         [8a16635c2638]
6357
6358         * plugins/sudoers/alias.c, plugins/sudoers/auth/dce.c,
6359         plugins/sudoers/auth/kerb5.c, plugins/sudoers/auth/pam.c,
6360         plugins/sudoers/auth/sia.c, plugins/sudoers/auth/sudo_auth.h,
6361         plugins/sudoers/check.c, plugins/sudoers/defaults.c,
6362         plugins/sudoers/defaults.h, plugins/sudoers/env.c,
6363         plugins/sudoers/getdate.c, plugins/sudoers/getdate.y,
6364         plugins/sudoers/gram.c, plugins/sudoers/gram.y,
6365         plugins/sudoers/interfaces.h, plugins/sudoers/logging.c,
6366         plugins/sudoers/logging.h, plugins/sudoers/match.c,
6367         plugins/sudoers/mon_systrace.h, plugins/sudoers/parse.c,
6368         plugins/sudoers/parse.h, plugins/sudoers/pwutil.c,
6369         plugins/sudoers/redblack.c, plugins/sudoers/redblack.h,
6370         plugins/sudoers/set_perms.c, plugins/sudoers/sudo_nss.h,
6371         plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h,
6372         plugins/sudoers/sudoreplay.c, plugins/sudoers/testsudoers.c,
6373         plugins/sudoers/timestr.c, plugins/sudoers/toke.c,
6374         plugins/sudoers/toke.l, plugins/sudoers/tsgetgrpw.c,
6375         plugins/sudoers/visudo.c:
6376         Kill __P in sudoers
6377         [63601e6cb171]
6378
6379         * config.h.in, configure, configure.in, src/load_plugins.c:
6380         Set the sudoers plugin name in configure so we get the extension
6381         right.
6382         [edad89924cd1]
6383
6384         * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod:
6385         Document lines/cols in user_info
6386         [a808872394f3]
6387
6388         * src/Makefile.in, src/sudo.c, src/sudo.h, src/ttysize.c:
6389         Add tty size to user info
6390         [23f3d27e77a7]
6391
6392         * src/script.c:
6393         Use TIOCGSIZE/TIOCSSIZE instead of TIOCGWINSZ/TIOCSWINSZ
6394         [a2208dd09051]
6395
6396 2010-03-16  Todd C. Miller  <Todd.Miller@courtesan.com>
6397
6398         * plugins/sudoers/sudoers.c:
6399         Kill dead code Add missing sigsetjmp in sudo_policy_invalidate Error
6400         out if we fail to lookup the user's name that is passed in
6401         [e4e3728ed482]
6402
6403         * plugins/sudoers/error.c:
6404         Pass the error value back via siglongjmp.
6405         [667b8ad575ce]
6406
6407         * plugins/sudoers/check.c:
6408         Use conversation function for lecture.
6409         [1ab4719f509b]
6410
6411         * plugins/sudoers/check.c:
6412         Don't update ticket file if verify_user returns FALSE.
6413         [2bbc46a39a2b]
6414
6415 2010-03-15  Todd C. Miller  <Todd.Miller@courtesan.com>
6416
6417         * plugins/sudoers/sudoers.c, src/sudo.c:
6418         Wire up invalidate and validate methods for sudoers
6419         [c0630c7bca47]
6420
6421         * plugins/sudoers/check.c, plugins/sudoers/sudoers.c,
6422         plugins/sudoers/sudoers.h:
6423         Add support for -k flag with a command.
6424         [edad239b098b]
6425
6426         * src/parse_args.c:
6427         Allow -k to be specified with a command.
6428         [43a45add9974]
6429
6430         * plugins/sudoers/sudoers.c:
6431         Wire up policy_list
6432         [27cc35699eca]
6433
6434         * plugins/sudoers/error.c:
6435         Add newline at the end of message and space after the colon in
6436         warning message
6437         [5a591aa8e744]
6438
6439         * plugins/sudoers/auth/sudo_auth.c:
6440         Add missing newline after pass password warning
6441         [337dba3870a7]
6442
6443         * plugins/sudoers/sudoers.c:
6444         Set user_groups and user_ngroups based on user_info
6445         [61bee85128c8]
6446
6447         * plugins/sudoers/error.c:
6448         Make this compile
6449         [7041c441e1c8]
6450
6451         * plugins/sudoers/error.c, plugins/sudoers/sudoers.c:
6452         Make _warning in error.c use the conversation function and remove
6453         commented out warning/warningx in sudoers.c.
6454         [7c9b09024b63]
6455
6456         * plugins/sudoers/logging.c:
6457         Use siglongjmp() in log_error for fatal errors
6458         [b50e26f1c73f]
6459
6460         * plugins/sample/Makefile.in, plugins/sudoers/Makefile.in:
6461         Quiet a libtool warning
6462         [b2331fb006bc]
6463
6464         * Makefile:
6465         Build sudoers plugin
6466         [5cdf06e66978]
6467
6468         * plugins/sudoers/gram.c, plugins/sudoers/gram.y:
6469         Use warningx in yyerror() so the conversation function gets used
6470         when built as part of sudoers.
6471         [85f964215eef]
6472
6473 2010-03-14  Todd C. Miller  <Todd.Miller@courtesan.com>
6474
6475         * plugins/sudoers/auth/pam.c:
6476         Rename sudo_conv to conversation to avoid a namespace conflict.
6477         [1ad359d36be9]
6478
6479         * plugins/sudoers/Makefile.in, plugins/sudoers/alias.c,
6480         plugins/sudoers/auth/afs.c, plugins/sudoers/auth/aix_auth.c,
6481         plugins/sudoers/auth/bsdauth.c, plugins/sudoers/auth/dce.c,
6482         plugins/sudoers/auth/fwtk.c, plugins/sudoers/auth/kerb4.c,
6483         plugins/sudoers/auth/kerb5.c, plugins/sudoers/auth/pam.c,
6484         plugins/sudoers/auth/passwd.c, plugins/sudoers/auth/rfc1938.c,
6485         plugins/sudoers/auth/secureware.c, plugins/sudoers/auth/securid.c,
6486         plugins/sudoers/auth/securid5.c, plugins/sudoers/auth/sia.c,
6487         plugins/sudoers/auth/sudo_auth.c, plugins/sudoers/auth/sudo_auth.h,
6488         plugins/sudoers/check.c, plugins/sudoers/defaults.c,
6489         plugins/sudoers/env.c, plugins/sudoers/error.c,
6490         plugins/sudoers/find_path.c, plugins/sudoers/getspwuid.c,
6491         plugins/sudoers/goodpath.c, plugins/sudoers/gram.c,
6492         plugins/sudoers/gram.y, plugins/sudoers/interfaces.c,
6493         plugins/sudoers/ldap.c, plugins/sudoers/logging.c,
6494         plugins/sudoers/match.c, plugins/sudoers/mon_systrace.c,
6495         plugins/sudoers/parse.c, plugins/sudoers/pwutil.c,
6496         plugins/sudoers/redblack.c, plugins/sudoers/set_perms.c,
6497         plugins/sudoers/sudo_nss.c, plugins/sudoers/sudoers.c,
6498         plugins/sudoers/sudoers.h, plugins/sudoers/testsudoers.c,
6499         plugins/sudoers/toke.c, plugins/sudoers/tsgetgrpw.c,
6500         plugins/sudoers/vasgroups.c, plugins/sudoers/visudo.c:
6501         Initial bits of sudoers plugin; still needs work.
6502         [af2a2c59a952]
6503
6504         * config.h.in:
6505         Add HAVE_STRDUP and HAVE_STRNDUP
6506         [50a3c0dd510f]
6507
6508         * compat/Makefile.in, configure, configure.in:
6509         Build libmissing in two flavors (one PIC one non-PIC) and link with
6510         the appropriate one.
6511         [b62f411a4c18]
6512
6513         * Makefile, compat/fnmatch.c, compat/glob.c, compat/nanosleep.c,
6514         compat/utimes.c, plugins/sample/Makefile.in, src/Makefile.in:
6515         Build libmissing in two flavors (one PIC one non-PIC) and link with
6516         the appropriate one.
6517         [e1e04972b5fe]
6518
6519 2010-03-13  Todd C. Miller  <Todd.Miller@courtesan.com>
6520
6521         * include/missing.h:
6522         Add strdup and strndup and fix strsignal
6523         [c159babe2896]
6524
6525 2010-03-12  Todd C. Miller  <Todd.Miller@courtesan.com>
6526
6527         * compat/strdup.c, compat/strndup.c, configure, configure.in,
6528         plugins/sample/Makefile.in, src/Makefile.in:
6529         Add strdup and strndup to compat
6530         [25c9fd399a4d]
6531
6532         * plugins/sample/sample_plugin.c:
6533         Need to include compat.h before missing.h
6534         [c94f7aad380f]
6535
6536         * compat/strsignal.c:
6537         Must check HAVE_DECL_SYS_SIGLIST == 1 (not just if defined) since if
6538         it doesn't exist configure will set it to 0.
6539         [384580566389]
6540
6541         * compat/glob.c:
6542         Fix botched ANSI C coversion of globexp2()
6543         [4a344b8cbe49]
6544
6545         * configure, configure.in:
6546         Remove redundant getgroups check
6547         [0b16ec210c81]
6548
6549         * configure, configure.in, src/lbuf.c, src/script.c, src/term.c:
6550         Require either termios or termio, no more sgtty.
6551         [9b2fa2f17a1c]
6552
6553         * compat/strsignal.c, config.h.in, configure, configure.in:
6554         Change the sys_siglist check to use AC_CHECK_DECLS and also check
6555         for _sys_siglist and__sys_siglist
6556         [2e078fed2408]
6557
6558 2010-03-11  Todd C. Miller  <Todd.Miller@courtesan.com>
6559
6560         * configure, configure.in, src/Makefile.in:
6561         Change SUDO_LDFLAGS to SUDOERS_LDFLAGS and add SUDOERS_OBJS. We now
6562         use SUDO_OBJS for the main driver as part of OBJS.
6563         [9ae4a80a5ade]
6564
6565         * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod:
6566         Mention in the conversation function section that a newline is not
6567         implicit.
6568         [04a233b6c491]
6569
6570         * include/compat.h:
6571         Add definition of WCOREDUMP for systems without it. This is known
6572         to work on AIX and SunOS 4, but may be incorrect on other systems
6573         that lack WCOREDUMP.
6574         [c85b3ce6b77d]
6575
6576 2010-03-09  Todd C. Miller  <Todd.Miller@courtesan.com>
6577
6578         * plugins/sample/sample_plugin.c, src/conversation.c:
6579         conversation function no longer puts a newline at the end of info or
6580         error messages.
6581         [c534cae1ac4a]
6582
6583 2010-03-07  Todd C. Miller  <Todd.Miller@courtesan.com>
6584
6585         * src/script.c:
6586         Use parent process group id instead of parent process id when
6587         checking foreground status and suspending parent. Fixes an issue
6588         when running commands under /usr/bin/time and others.
6589         [564f528c3bb7]
6590
6591 2010-03-06  Todd C. Miller  <Todd.Miller@courtesan.com>
6592
6593         * aclocal.m4:
6594         transcript option is now --with not --enable
6595         [0646fac4cf93]
6596
6597         * plugins/sample/sample_plugin.c:
6598         Add support to -u and -g flags Check fmt_string retval Add timeout
6599         for debugging purposes
6600         [cfefa4fa60b5]
6601
6602         * src/script.c, src/sudo.c:
6603         Wire up SIGALRM handler Set close on exec flag for child side of the
6604         socketpair Fix signal handling when not doing I/O logging
6605         [379581ec7272]
6606
6607         * src/sudo.c:
6608         g/c unused SIGCHLD handler
6609         [0afa03912dce]
6610
6611         * src/fmt_string.c, src/parse_args.c, src/sudo.c:
6612         Don't use emalloc() in fmt_string(); we want to be able to use it
6613         from a plugin.
6614         [ade64d368147]
6615
6616         * include/list.h:
6617         tq_remove not list_remove
6618         [0e0e1fd5c31c]
6619
6620         * configure, configure.in:
6621         AUTH_OBJS should contain .lo files not .o files.
6622         [c64c82c9d5a2]
6623
6624 2010-03-05  Todd C. Miller  <Todd.Miller@courtesan.com>
6625
6626         * src/parse_args.c:
6627         Simplify conversion of command line args to name=value pairs.
6628         [75ab127c6a94]
6629
6630         * plugins/sample/sample_plugin.c:
6631         Handle NULL reply from conversation function
6632         [6ce09b6cb204]
6633
6634         * compat/getline.c:
6635         Don't depend on emalloc/erealloc
6636         [73df09e2109f]
6637
6638         * plugins/sample/Makefile.in:
6639         Use $(OBJS) instead of sample_plugin.lo
6640         [2d995db9aa99]
6641
6642         * plugins/sample/sample_plugin.c:
6643         runas_user is in settings not user_info
6644         [7ee12068bc57]
6645
6646         * src/parse_args.c:
6647         Fix a mismatch between sudo_settings and settings_pairs that causes
6648         some settings to get the wrong values.
6649         [b1bc6d81a65f]
6650
6651 2010-03-04  Todd C. Miller  <Todd.Miller@courtesan.com>
6652
6653         * src/Makefile.in, src/aix.c, src/alloc.c, src/atobool.c, src/error.c,
6654         src/fileops.c, src/lbuf.c, src/list.c, src/pty.c, src/sesh.c,
6655         src/sudo.c, src/sudo_edit.c, src/term.c, src/zero_bytes.c:
6656         Convert to ANSI C
6657         [d03b6e4a3b75]
6658
6659         * src/load_plugins.c:
6660         Fix strlcpy() return value check.
6661         [7cd66999a374]
6662
6663         * INSTALL, configure, configure.in:
6664         No longer need to substitute in script.o and pty.o; I/O logging
6665         support is always built.
6666         [45250024c5dc]
6667
6668 2010-02-28  Todd C. Miller  <Todd.Miller@courtesan.com>
6669
6670         * src/script.c:
6671         Add fallback to /bin/sh when execve() fails with ENOEXEC.
6672         [7684a15a1352]
6673
6674         * include/alloc.h, src/alloc.c:
6675         Add estrndup()
6676         [47621c83bed9]
6677
6678 2010-02-27  Todd C. Miller  <Todd.Miller@courtesan.com>
6679
6680         * src/script.c, src/sudo.c:
6681         Refactor script_execve() a bit so that it can be used in non-script
6682         mode. Needs more cleanup.
6683         [f09e022d547c]
6684
6685         * src/sudo.c:
6686         Ignore empty entries in command_info list
6687         [1eea9a8de21c]
6688
6689         * include/list.h, src/list.c:
6690         Add tq_remove
6691         [40908a617cb2]
6692
6693         * src/conversation.c:
6694         Pass timeout to tgetpass()
6695         [9e66c918b771]
6696
6697         * Makefile:
6698         Add ChangeLog target
6699         [da4a39150838]
6700
6701         * README, WHATSNEW:
6702         Bump version and update things slightly for sudo 1.8.0
6703         [4b73cc45e2d4]
6704
6705         * configure, configure.in:
6706         Sudo now requires an ANSI/ISO C compiler
6707         [1e51f72e6964]
6708
6709         * src/alloc.c, src/audit.c, src/error.c, src/lbuf.c,
6710         src/sudo_noexec.c:
6711         Convert to ANSI C
6712         [5cbd315dbde8]
6713
6714         * include/alloc.h, include/compat.h, include/error.h, include/lbuf.h,
6715         include/list.h, include/missing.h:
6716         Convert to ANSI C
6717         [3f5016ff64f4]
6718
6719         * compat/charclass.h, compat/closefrom.c, compat/fnmatch.c,
6720         compat/fnmatch.h, compat/getcwd.c, compat/getline.c,
6721         compat/getprogname.c, compat/glob.c, compat/glob.h,
6722         compat/isblank.c, compat/memrchr.c, compat/mkstemp.c,
6723         compat/nanosleep.c, compat/sigaction.c, compat/snprintf.c,
6724         compat/strcasecmp.c, compat/strerror.c, compat/strlcat.c,
6725         compat/strlcpy.c, compat/strsignal.c, compat/utime.h,
6726         compat/utimes.c:
6727         Convert to ANSI C
6728         [0d635c85461c]
6729
6730 2010-02-24  Todd C. Miller  <Todd.Miller@courtesan.com>
6731
6732         * src/sudo.c, src/tgetpass.c:
6733         Make user_details extern so tgetpass can get at the uid and gid. Set
6734         uid/gid to user before executing askpass program. Check environment
6735         for SUDO_ASKPASS and use that if set. TODO: a way for the policy to
6736         set the askpass program itself
6737         [d33606396176]
6738
6739         * src/sudo.c:
6740         No longer need sudo_usage.h in sudo.c
6741         [063e2946c382]
6742
6743         * doc/sudo.cat, doc/sudo.man.in, doc/sudo.pod, doc/sudo_plugin.man.in,
6744         doc/sudo_plugin.pod, src/Makefile.in, src/parse_args.c,
6745         src/sudo_usage.h.in:
6746         Document -D level command line flag which maps to the debug_level
6747         setting.
6748         [61f1e2ab3ac1]
6749
6750         * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod:
6751         Document debug_level in plugin doc. Still need to document the -D
6752         flag in sudo itself.
6753         [8c62daea3e9b]
6754
6755 2010-02-21  Todd C. Miller  <Todd.Miller@courtesan.com>
6756
6757         * plugins/sample/sample_plugin.c:
6758         include missing,h for vasprintf
6759         [92503de49b39]
6760
6761         * doc/Makefile.in, doc/plugin.pod, doc/sudo_plugin.cat,
6762         doc/sudo_plugin.man.in, doc/sudo_plugin.pod:
6763         Rename plugin.pod -> sudo_plugin.pod and wire into Makefile
6764         [14cfb4775238]
6765
6766         * plugins/sample/sample_plugin.c:
6767         Need to include limits.h
6768         [bda7f74343d2]
6769
6770         * compat/glob.c:
6771         No more sudo_getpw*
6772         [232e52907634]
6773
6774         * plugins/sample/Makefile.in, src/Makefile.in:
6775         Add missing compat bits
6776         [4843dd000e08]
6777
6778         * compat/closefrom.c, compat/mkstemp.c, plugins/sample/Makefile.in:
6779         compat files should not include sudo.h wire up compat in sample
6780         plugin
6781         [a175b8185e0f]
6782
6783         * Makefile, configure, configure.in, doc/Makefile.in, src/Makefile.in:
6784         Fix up compat dependencies. Fix distclean target in doc/Makefile.in
6785         [57e49bc20857]
6786
6787         * configure, configure.in:
6788         Fix typo
6789         [333655e3d5fe]
6790
6791         * plugins/sample/sample_plugin.c:
6792         Log input and output to temp files for proof of concept.
6793         [ae1dfc34f7d6]
6794
6795         * Makefile, configure, configure.in, doc/Makefile.in:
6796         Add doc Makefile.in and wire it up
6797         [6a310443c87d]
6798
6799         * src/script.c:
6800         Handle SIGSTOP in addition to SIGTSTP. Fixes a problem with
6801         suspending a shell with the "suspend" builtint.
6802         [3d65f182819a]
6803
6804         * src/script.c:
6805         In child, handle parent side of the pipe going away.
6806         [a29c14d78cd9]
6807
6808         * src/script.c:
6809         No longer need to check for explicit death of the child (process #2)
6810         since if it dies we will get EPIPE from the socketpair. Fix a
6811         sizeof() that was causing a spurious error. Convert SCRIPT_DEBUG to
6812         sudo_debug.
6813         [24c55dd4ff60]
6814
6815         * src/sudo.c:
6816         Make sudo_debug do a single vfprintf() which will result in a single
6817         write call on most systems. Avoids problems with interleaved debug
6818         printf from different processes. Also remove an extraneous error
6819         case since recv() can't return a short read and add some more XXX.
6820         [b37a8533ef1e]
6821
6822 2010-02-20  Todd C. Miller  <Todd.Miller@courtesan.com>
6823
6824         * src/script.c:
6825         Fix uninitialized variable.
6826         [e012a0a30890]
6827
6828         * src/Makefile.in:
6829         Fix sudo install target
6830         [1417fa4b4ab9]
6831
6832         * src/parse_args.c, src/sudo.c, src/sudo.h:
6833         Wire up debug_level
6834         [144fab289c73]
6835
6836         * src/Makefile.in:
6837         Fix dependencies
6838         [5170940af2ce]
6839
6840         * configure, configure.in:
6841         Fix setting of plugin dir
6842         [144eda170a72]
6843
6844         * Makefile:
6845         add clean targets
6846         [d53f6f6f5c3a]
6847
6848         * src/atobool.c:
6849         Add missing source for sudo front end
6850         [42487de9c489]
6851
6852         * plugins/sample/Makefile.in, plugins/sample/sample_plugin.c:
6853         Sample plugin demonstrating the sudo plugin API
6854         [f1fd62d7644f]
6855
6856         * Makefile, configure, configure.in, install-sh, pathnames.h.in,
6857         plugins/sudoers/install-sh, src/Makefile.in, src/conversation.c,
6858         src/fileops.c, src/fmt_string.c, src/load_plugins.c,
6859         src/parse_args.c, src/pty.c, src/script.c, src/sudo.c, src/sudo.h,
6860         src/sudo_plugin_int.h, src/sudo_usage.h.in, src/tgetpass.c,
6861         sudo_usage.h.in:
6862         Modular sudo front-end which loads policy and I/O plugins that do
6863         most the actual work. Currently relies on dynamic loading using
6864         dlopen(). See doc/plugin.pod for the plugin API.
6865         [924f6eb2fbba]
6866
6867         * doc/plugin.pod, include/sudo_plugin.h:
6868         Sudo plugin API
6869         [374ccbbd24ae]
6870
6871         * compat/fnmatch.c, compat/glob.c, compat/nanosleep.c,
6872         compat/utimes.c, plugins/sudoers/check.c, plugins/sudoers/gettime.c,
6873         plugins/sudoers/match.c, plugins/sudoers/sudoreplay.c,
6874         plugins/sudoers/testsudoers.c, plugins/sudoers/visudo.c,
6875         src/fileops.c, src/sudo_edit.c:
6876         Replace emul/include.h with compat/include.h to match new source
6877         tree layout.
6878         [7eccd10449a1]
6879
6880         * src/lbuf.c:
6881         Include missing.h for memrchr() proto
6882         [03abd63a8a33]
6883
6884         * HISTORY, LICENSE, Makefile.binary.in, Makefile.in, PORTING,
6885         TROUBLESHOOTING, UPGRADE, aix.c, aixcrypt.exp, alias.c, alloc.c,
6886         alloc.h, audit.c, auth/API, auth/afs.c, auth/aix_auth.c,
6887         auth/bsdauth.c, auth/dce.c, auth/fwtk.c, auth/kerb4.c, auth/kerb5.c,
6888         auth/pam.c, auth/passwd.c, auth/rfc1938.c, auth/secureware.c,
6889         auth/securid.c, auth/securid5.c, auth/sia.c, auth/sudo_auth.c,
6890         auth/sudo_auth.h, boottime.c, bsm_audit.c, bsm_audit.h, check.c,
6891         closefrom.c, compat.h, compat/charclass.h, compat/closefrom.c,
6892         compat/fnmatch.c, compat/fnmatch.h, compat/getcwd.c,
6893         compat/getline.c, compat/getprogname.c, compat/glob.c,
6894         compat/glob.h, compat/isblank.c, compat/memrchr.c, compat/mkstemp.c,
6895         compat/nanosleep.c, compat/sigaction.c, compat/snprintf.c,
6896         compat/strcasecmp.c, compat/strerror.c, compat/strlcat.c,
6897         compat/strlcpy.c, compat/strsignal.c, compat/timespec.h,
6898         compat/utime.h, compat/utimes.c, def_data.c, def_data.h,
6899         def_data.in, defaults.c, defaults.h, doc/HISTORY, doc/LICENSE,
6900         doc/PORTING, doc/TROUBLESHOOTING, doc/UPGRADE, doc/history.pod,
6901         doc/license.pod, doc/sample.pam, doc/sample.sudoers,
6902         doc/sample.syslog.conf, doc/schema.ActiveDirectory,
6903         doc/schema.OpenLDAP, doc/schema.iPlanet, doc/sudo.cat,
6904         doc/sudo.man.in, doc/sudo.man.pl, doc/sudo.pod, doc/sudoers.cat,
6905         doc/sudoers.ldap.cat, doc/sudoers.ldap.man.in, doc/sudoers.ldap.pod,
6906         doc/sudoers.man.in, doc/sudoers.man.pl, doc/sudoers.pod,
6907         doc/sudoreplay.cat, doc/sudoreplay.man.in, doc/sudoreplay.pod,
6908         doc/visudo.cat, doc/visudo.man.in, doc/visudo.pod, emul/charclass.h,
6909         emul/fnmatch.h, emul/glob.h, emul/timespec.h, emul/utime.h, env.c,
6910         error.c, error.h, fileops.c, find_path.c, fnmatch.c, getcwd.c,
6911         getdate.c, getdate.y, getline.c, getprogname.c, getspwuid.c,
6912         gettime.c, glob.c, goodpath.c, gram.c, gram.h, gram.y, history.pod,
6913         include/alloc.h, include/compat.h, include/error.h, include/lbuf.h,
6914         include/list.h, include/missing.h, ins_2001.h, ins_classic.h,
6915         ins_csops.h, ins_goons.h, install-sh, insults.h, interfaces.c,
6916         interfaces.h, isblank.c, lbuf.c, lbuf.h, ldap.c, license.pod,
6917         list.c, list.h, logging.c, logging.h, match.c, memrchr.c, missing.h,
6918         mkdefaults, mkstemp.c, mon_systrace.c, mon_systrace.h, nanosleep.c,
6919         nonunix.h, parse.c, parse.h, plugins/sudoers/Makefile.binary.in,
6920         plugins/sudoers/Makefile.in, plugins/sudoers/aixcrypt.exp,
6921         plugins/sudoers/alias.c, plugins/sudoers/auth/API,
6922         plugins/sudoers/auth/afs.c, plugins/sudoers/auth/aix_auth.c,
6923         plugins/sudoers/auth/bsdauth.c, plugins/sudoers/auth/dce.c,
6924         plugins/sudoers/auth/fwtk.c, plugins/sudoers/auth/kerb4.c,
6925         plugins/sudoers/auth/kerb5.c, plugins/sudoers/auth/pam.c,
6926         plugins/sudoers/auth/passwd.c, plugins/sudoers/auth/rfc1938.c,
6927         plugins/sudoers/auth/secureware.c, plugins/sudoers/auth/securid.c,
6928         plugins/sudoers/auth/securid5.c, plugins/sudoers/auth/sia.c,
6929         plugins/sudoers/auth/sudo_auth.c, plugins/sudoers/auth/sudo_auth.h,
6930         plugins/sudoers/boottime.c, plugins/sudoers/check.c,
6931         plugins/sudoers/def_data.c, plugins/sudoers/def_data.h,
6932         plugins/sudoers/def_data.in, plugins/sudoers/defaults.c,
6933         plugins/sudoers/defaults.h, plugins/sudoers/env.c,
6934         plugins/sudoers/find_path.c, plugins/sudoers/getdate.c,
6935         plugins/sudoers/getdate.y, plugins/sudoers/getspwuid.c,
6936         plugins/sudoers/gettime.c, plugins/sudoers/goodpath.c,
6937         plugins/sudoers/gram.c, plugins/sudoers/gram.h,
6938         plugins/sudoers/gram.y, plugins/sudoers/ins_2001.h,
6939         plugins/sudoers/ins_classic.h, plugins/sudoers/ins_csops.h,
6940         plugins/sudoers/ins_goons.h, plugins/sudoers/install-sh,
6941         plugins/sudoers/insults.h, plugins/sudoers/interfaces.c,
6942         plugins/sudoers/interfaces.h, plugins/sudoers/ldap.c,
6943         plugins/sudoers/logging.c, plugins/sudoers/logging.h,
6944         plugins/sudoers/match.c, plugins/sudoers/mkdefaults,
6945         plugins/sudoers/mon_systrace.c, plugins/sudoers/mon_systrace.h,
6946         plugins/sudoers/nonunix.h, plugins/sudoers/parse.c,
6947         plugins/sudoers/parse.h, plugins/sudoers/pwutil.c,
6948         plugins/sudoers/redblack.c, plugins/sudoers/redblack.h,
6949         plugins/sudoers/set_perms.c, plugins/sudoers/sudo_nss.c,
6950         plugins/sudoers/sudo_nss.h, plugins/sudoers/sudoers,
6951         plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h,
6952         plugins/sudoers/sudoers2ldif, plugins/sudoers/sudoreplay.c,
6953         plugins/sudoers/testsudoers.c, plugins/sudoers/timestr.c,
6954         plugins/sudoers/toke.c, plugins/sudoers/toke.l,
6955         plugins/sudoers/tsgetgrpw.c, plugins/sudoers/vasgroups.c,
6956         plugins/sudoers/visudo.c, pty.c, pwutil.c, redblack.c, redblack.h,
6957         sample.pam, sample.sudoers, sample.syslog.conf,
6958         schema.ActiveDirectory, schema.OpenLDAP, schema.iPlanet, script.c,
6959         selinux.c, sesh.c, set_perms.c, sigaction.c, snprintf.c, src/aix.c,
6960         src/alloc.c, src/audit.c, src/bsm_audit.c, src/bsm_audit.h,
6961         src/error.c, src/fileops.c, src/lbuf.c, src/list.c, src/pty.c,
6962         src/script.c, src/selinux.c, src/sesh.c, src/sudo_edit.c,
6963         src/sudo_noexec.c, src/term.c, src/tgetpass.c, src/zero_bytes.c,
6964         strcasecmp.c, strerror.c, strlcat.c, strlcpy.c, strsignal.c, sudo.c,
6965         sudo.cat, sudo.h, sudo.man.in, sudo.man.pl, sudo.pod, sudo_edit.c,
6966         sudo_noexec.c, sudo_nss.c, sudo_nss.h, sudoers, sudoers.cat,
6967         sudoers.ldap.cat, sudoers.ldap.man.in, sudoers.ldap.pod,
6968         sudoers.man.in, sudoers.man.pl, sudoers.pod, sudoers2ldif,
6969         sudoreplay.c, sudoreplay.cat, sudoreplay.man.in, sudoreplay.pod,
6970         term.c, testsudoers.c, tgetpass.c, timestr.c, toke.c, toke.l,
6971         tsgetgrpw.c, utimes.c, vasgroups.c, visudo.c, visudo.cat,
6972         visudo.man.in, visudo.pod, zero_bytes.c:
6973         Rework source layout in preparation for modular sudo.
6974         [7fc1978c6ad5]
6975
6976 2010-02-13  Todd C. Miller  <Todd.Miller@courtesan.com>
6977
6978         * Avoid a duplicate fclose() of the sudoers file.
6979         [5dba851088c1]
6980
6981         * Fix size arg when realloc()ing include stack. From Daniel Kopecek
6982         [0a2935061e33]
6983
6984         * Use setrlimit64(), if available, instead of setrlimit() when setting
6985         AIX resource limits since rlim_t is 32bits.
6986         [353db89bac61]
6987
6988         * Fix use after free when sending error messages. From Timo Juhani
6989         Lindfors
6990         [e50dbd902382]
6991
6992         * ChangeLog, Makefile.in:
6993         Generate the ChangeLog as part of "make dist" instead of having it
6994         in the repo.
6995         [251b70964673]
6996
6997 2010-01-17  Todd C. Miller  <Todd.Miller@courtesan.com>
6998
6999         * Makefile.binary.in, Makefile.in, aix.c, alias.c, alloc.c, alloc.h,
7000         auth/afs.c, auth/aix_auth.c, auth/bsdauth.c, auth/dce.c,
7001         auth/fwtk.c, auth/kerb4.c, auth/kerb5.c, auth/pam.c, auth/passwd.c,
7002         auth/rfc1938.c, auth/secureware.c, auth/securid.c, auth/securid5.c,
7003         auth/sia.c, auth/sudo_auth.c, auth/sudo_auth.h, check.c,
7004         closefrom.c, compat.h, configure.in, defaults.c, defaults.h,
7005         emul/charclass.h, emul/timespec.h, env.c, error.c, error.h,
7006         fileops.c, find_path.c, getcwd.c, getprogname.c, getspwuid.c,
7007         gettime.c, goodpath.c, gram.c, gram.y, ins_2001.h, ins_classic.h,
7008         ins_csops.h, ins_goons.h, insults.h, interfaces.c, interfaces.h,
7009         isblank.c, lbuf.c, lbuf.h, ldap.c, list.c, list.h, logging.c,
7010         logging.h, match.c, memrchr.c, missing.h, mkinstalldirs, mkstemp.c,
7011         mon_systrace.c, nanosleep.c, parse.c, parse.h, pathnames.h.in,
7012         pty.c, pwutil.c, redblack.c, redblack.h, sample.pam, sample.sudoers,
7013         sample.syslog.conf, script.c, selinux.c, sesh.c, set_perms.c,
7014         sigaction.c, snprintf.c, strcasecmp.c, strerror.c, strlcat.c,
7015         strlcpy.c, strsignal.c, sudo.c, sudo.h, sudo.man.in, sudo.pod,
7016         sudo_edit.c, sudo_noexec.c, sudo_nss.c, sudo_nss.h, sudo_usage.h.in,
7017         sudoers.ldap.man.in, sudoers.ldap.pod, sudoers.man.in, sudoers.pod,
7018         sudoers2ldif, sudoreplay.c, sudoreplay.man.in, sudoreplay.pod,
7019         term.c, testsudoers.c, tgetpass.c, timestr.c, toke.c, toke.l,
7020         utimes.c, visudo.c, visudo.man.in, visudo.pod, zero_bytes.c:
7021         Remove CVS $Sudo$ tags.
7022         [de683a8b31f5]
7023
7024 2010-01-18  convert-repo  <convert-repo>
7025
7026         * .hgtags:
7027         update tags
7028         [9b7aa44ae436]
7029
7030 2009-12-26  Todd C. Miller  <Todd.Miller@courtesan.com>
7031
7032         * sudo_usage.h.in:
7033         make this match sudoers SYNOPSIS
7034         [c74ba66944c2]
7035
7036         * lbuf.c, parse.c:
7037         Print a newline between Runas and Command-specific defaults in sudo
7038         -l.
7039         [b5bdfcc9ce4b]
7040
7041         * term.c:
7042         Use SET and CLR macros in term_raw
7043         [50ca42609d6c]
7044
7045         * sudoreplay.c:
7046         Set stdin to non-blocking mode early instead of in check_input. Use
7047         term_raw instead of term_cbreak since the data we get has already
7048         been expanded via OPOST.
7049         [51c47e803d62]
7050
7051 2009-12-23  Todd C. Miller  <Todd.Miller@courtesan.com>
7052
7053         * script.c, term.c:
7054         Enable/disable all postprocessing instead of just nl->crnl
7055         processing since things like tab expansion matter too. However, if
7056         stdout is a tty leave postprocessing on in the pty since we run into
7057         problems doing it only on the real stdout with .e.g nvi.
7058         [62666e309673]
7059
7060 2009-12-19  Todd C. Miller  <Todd.Miller@courtesan.com>
7061
7062         * check.c:
7063         If tty_tickets is enabled and there is no tty, prompt for a
7064         password. Do not lecture user for "sudo -k command" if user has a
7065         timestamp.
7066         [5880200c5f6b]
7067
7068         * INSTALL:
7069         Document missing options: --with-efence and --with-bsm-audit
7070         [d83afcdf9ff3]
7071
7072         * sudo.cat, sudo.man.in, sudo.pod, sudoers.cat, sudoers.ldap.cat,
7073         sudoers.ldap.man.in, sudoers.ldap.pod, sudoers.man.in, sudoers.pod,
7074         sudoreplay.cat, sudoreplay.man.in, sudoreplay.pod, visudo.cat,
7075         visudo.man.in, visudo.pod:
7076         username -> user name groupname -> group name hostname -> host name
7077         [10c85646f45d]
7078
7079         * INSTALL, README.LDAP, sudoers.pod:
7080         filename -> file name like the rest of the docs
7081         [1ef8ab5a9018]
7082
7083 2009-12-17  Todd C. Miller  <Todd.Miller@courtesan.com>
7084
7085         * parse.c:
7086         Fix printing of entries with multiple host entries on a single line.
7087         [226ceaf91d8d]
7088
7089 2009-12-14  Todd C. Miller  <Todd.Miller@courtesan.com>
7090
7091         * sudoers.pod:
7092         Mention that targetpw affects the timestamp file name.
7093         [a26e22e4f72e]
7094
7095         * def_data.c, def_data.h, def_data.in, defaults.c, script.c,
7096         sudoers.pod:
7097         Add compress_transcript option.
7098         [6e94f8cb9dfb]
7099
7100 2009-12-13  Todd C. Miller  <Todd.Miller@courtesan.com>
7101
7102         * configure, configure.in:
7103         bump to 1.7.3b2
7104         [906d7e347d15]
7105
7106         * pwutil.c, set_perms.c, sudo.c, sudo_nss.c:
7107         Better split of membership vs. traditional group check in
7108         user_in_group(). Allow user_ngroups to be < 0 if getgroups() fails.
7109         [6ebc55d4716b]
7110
7111 2009-12-12  Todd C. Miller  <Todd.Miller@courtesan.com>
7112
7113         * pwutil.c:
7114         Fix pasto and add default return value.
7115         [7973b5e4599c]
7116
7117         * check.c, match.c, pwutil.c, sudo.h:
7118         refactor group member checking into user_in_group()
7119         [48ca8c2eddf8]
7120
7121         * check.c, config.h.in, configure, configure.in, match.c, sudo.c,
7122         sudo.h:
7123         Add support for mbr_check_membership() as present in darwin.
7124         [5501aed02b9f]
7125
7126 2009-12-10  Todd C. Miller  <Todd.Miller@courtesan.com>
7127
7128         * match.c:
7129         Rename label to be accurate
7130         [3af17dd960f7]
7131
7132         * Makefile.in, boottime.c, check.c, config.h.in, configure,
7133         configure.in, sudo.h:
7134         Treat timestamp files from before we booted as old. Idea from and
7135         Apple patch.
7136         [5c96e484c05a]
7137
7138 2009-12-09  Todd C. Miller  <Todd.Miller@courtesan.com>
7139
7140         * sudo.c, sudo.pod, sudo_usage.h.in:
7141         Allow the -u flag to be used in conjunction with the -v flag as per
7142         older versions of sudo.
7143         [591e9fc13c1a]
7144
7145         * logging.c:
7146         fix typo in last commit
7147         [4fd0c692dcf0]
7148
7149 2009-12-08  Todd C. Miller  <Todd.Miller@courtesan.com>
7150
7151         * logging.c:
7152         Convert fmt_first and fmt_confd into macros.
7153         [32e870158b29]
7154
7155         * sudoers.pod:
7156         timeouts can be floats now
7157         [89de639a9679]
7158
7159         * WHATSNEW, def_data.c, def_data.h, def_data.in, defaults.c,
7160         defaults.h, mkdefaults:
7161         Add support for floating point timeout values (e.g. 2.5 minutes).
7162         [210ffa291733]
7163
7164 2009-12-07  Todd C. Miller  <Todd.Miller@courtesan.com>
7165
7166         * sudo.pod:
7167         The -L flag will be removed in sudo 1.7.4
7168         [ffd026084333]
7169
7170 2009-12-06  Todd C. Miller  <Todd.Miller@courtesan.com>
7171
7172         * sudoreplay.c:
7173         Fix a bug due to order of operators.
7174         [938d34464283]
7175
7176 2009-11-23  Todd C. Miller  <Todd.Miller@courtesan.com>
7177
7178         * match.c:
7179         cmnd_matches() already deals with negation so _cmndlist_matches()
7180         does not need to do so itself. Fixes a bug with negated entries in
7181         a Cmnd_List.
7182         [71c845f6ce73]
7183
7184 2009-11-22  Todd C. Miller  <Todd.Miller@courtesan.com>
7185
7186         * sudo.c:
7187         Don't exit() from open_sudoers, just return NULL for all errors.
7188         [8cfa832f972a]
7189
7190         * script.c:
7191         Can't rely on the shell sending us SIGCONT when transitioning from
7192         backgroup to foreground process.
7193         [3c6c5b6cb4b3]
7194
7195         * toke.c, toke.l:
7196         Add missing extern def for parse_error
7197         [45b7b59d03b7]
7198
7199 2009-11-21  Todd C. Miller  <Todd.Miller@courtesan.com>
7200
7201         * toke.c, toke.l:
7202         Avoid a parse error when #includedir doesn't find any files. Closes
7203         bug #375
7204         [1ce1b850e9e6]
7205
7206         * Makefile.in:
7207         Include sudo.man.pl and sudoers.man.pl in the distribution tarball.
7208         [6a22e32da108]
7209
7210 2009-11-15  Todd C. Miller  <Todd.Miller@courtesan.com>
7211
7212         * script.c:
7213         Start command out in foreground mode if stdout is a tty. Works
7214         around issues with some curses-based programs that don't handle
7215         tcsetattr getting interrupted by a signal. Still allows us to avoid
7216         hogging the tty if the command is part of a pipeline.
7217         [1c32f2b94769]
7218
7219         * script.c, sudo.c, sudo.h, sudoreplay.c, term.c, tgetpass.c:
7220         Use a socketpair to pass signals from parent to child. Child will
7221         now pass command status change info back via the socketpair. This
7222         allows the parent to distinguish between signals it has been sent
7223         directly and signals the command has received. It also means the
7224         parent can once again print the signal notifications to the tty so
7225         all writes to the pty master occur in the parent. The command is
7226         now always started in background mode with tty signals handled by
7227         the parent.
7228         [c6790b82986d]
7229
7230 2009-11-04  Todd C. Miller  <Todd.Miller@courtesan.com>
7231
7232         * configure, configure.in:
7233         Fix a few typos in the descriptions; from Jeff Makey Only do the
7234         check for krb5_get_init_creds_opt_free() taking two arguments if we
7235         find krb5_get_init_creds_opt_alloc(). Otherwise we will get a false
7236         positive when using our own krb5_get_init_creds_opt_free which takes
7237         only a single argument.
7238         [845a9ff6f93d]
7239
7240 2009-11-03  Todd C. Miller  <Todd.Miller@courtesan.com>
7241
7242         * configure, configure.in:
7243         Remove a spurious comma in the kerb5 bits.
7244         [3433eab083db]
7245
7246         * auth/kerb5.c:
7247         Call krb5_get_init_creds_opt_init() in our emulated
7248         krb5_get_init_creds_opt_alloc() for MIT kerberos.
7249         [7ffb40bf43e9]
7250
7251 2009-11-01  Todd C. Miller  <Todd.Miller@courtesan.com>
7252
7253         * config.h.in:
7254         Add HAVE_ZLIB
7255         [9297bde61ecc]
7256
7257         * script.c:
7258         Need to ignore SIGTT{IN,OU} in child when running the command in the
7259         background. Also some minor cleanup.
7260         [dc208d982319]
7261
7262 2009-10-31  Todd C. Miller  <Todd.Miller@courtesan.com>
7263
7264         * script.c:
7265         Instead of calling sigsuspend when waiting for SIGUSR[12] from
7266         parent, install the signal handlers w/o SA_RESTART and let them
7267         interrupt waitpid().
7268         [759c7d18203b]
7269
7270         * script.c:
7271         Pass along SIGHUP and SIGTERM from parent to child.
7272         [035b0e254568]
7273
7274         * script.c:
7275         Close unused bits of script_fds in processes that don't need them.
7276         Restore default SIGCONT handler in child.
7277         [e037378ab0c1]
7278
7279         * script.c:
7280         Update foreground/background status in SIGCONT handler in parent
7281         process.
7282         [3f7f91333264]
7283
7284 2009-10-25  Todd C. Miller  <Todd.Miller@courtesan.com>
7285
7286         * script.c:
7287         Defer setting terminal into raw mode until just before we fork() and
7288         only do it if sudo is the foreground process. If we get SIGTT{IN,OU}
7289         and sudo is already in the foreground be sure to set raw mode before
7290         continuing the child.
7291         [1102ef40832c]
7292
7293 2009-10-24  Todd C. Miller  <Todd.Miller@courtesan.com>
7294
7295         * script.c:
7296         Fix handling of SIGTTOU/SIGTTIN in program being run. We now only
7297         give the command the controlling tty if the main sudo process is the
7298         foreground process.
7299         [cf3a91cb5682]
7300
7301         * script.c:
7302         Don't bother with sudo_waitpid() here for now.
7303         [9086de480c2d]
7304
7305         * script.c:
7306         fix non-zlib case
7307         [a258bff0f9a6]
7308
7309 2009-10-23  Todd C. Miller  <Todd.Miller@courtesan.com>
7310
7311         * script.c:
7312         Remove non-wroking code that crept into rev 1.55
7313         [2802dd55cff5]
7314
7315 2009-10-22  Todd C. Miller  <Todd.Miller@courtesan.com>
7316
7317         * INSTALL, configure, configure.in, script.c, sudoreplay.c:
7318         First pass at zlib support for transcript data files
7319         [5d10260807da]
7320
7321         * Makefile.in:
7322         remove vestiges of ZLDFLAGS
7323         [1fa0caf1c0fb]
7324
7325         * script.c:
7326         Add missing variable declaration for when TIOCSCTTY is not defined.
7327         Need to include sys/termio.h for TIOCSCTTY on some systems.
7328         [ee7f41ac2709]
7329
7330         * script.c:
7331         when resuming command, send SIGCONT to its pgrp not just pid
7332         [5cd63c1d565b]
7333
7334         * selinux.c:
7335         remove unused variable
7336         [df67df4be228]
7337
7338         * script.c:
7339         include selinux.h for is_selinux_enabled() proto
7340         [85ebaa880cc1]
7341
7342         * script.c:
7343         Don't use log_error() in the child process.
7344         [def65fe2a433]
7345
7346         * script.c:
7347         Do I/O in parent instead of child since the parent can have both
7348         /dev/tty as well as the pty fds open. The child just sets things up
7349         and waits for its grandchild and writes the signal description to
7350         the pty master if the command was killed by a signal.
7351         [95e473208982]
7352
7353 2009-10-18  Todd C. Miller  <Todd.Miller@courtesan.com>
7354
7355         * missing.h, sudo.h:
7356         Move two struct forward declarations from sudo.h to missing.h
7357         [90ad28294a8c]
7358
7359         * script.c:
7360         Make comment at the top of script_exec() match reality.
7361         [c5042d27dbe0]
7362
7363         * sudo.c:
7364         if neither stdin nor stdout is a tty, check stderr
7365         [c532ff20c8d8]
7366
7367         * Makefile.in:
7368         Add back dependecy of gram.h on gram.y
7369         [c58382b7fcca]
7370
7371         * script.c:
7372         Make transcript mode work as long as we can figure out our tty, even
7373         if it is not stdin. We'd like to use /dev/tty but that won't be
7374         valid after the setsid().
7375         [7b8bba8d99e7]
7376
7377 2009-10-17  Todd C. Miller  <Todd.Miller@courtesan.com>
7378
7379         * config.h.in, configure, configure.in, pty.c:
7380         Add support for IRIX-style dynamic ptys
7381         [bedc9bac44c1]
7382
7383         * Makefile.in, alloc.h, getline.c, sudo.h, sudoreplay.c:
7384         Move alloc.c protos into alloc.h
7385         [b6a90649617d]
7386
7387         * missing.h:
7388         Move prototypes for missing libc functions to missing.h
7389         [dda9ae1ccaf8]
7390
7391         * Makefile.in, sudo.h, sudoreplay.c:
7392         Move prototypes for missing libc functions to missing.h
7393         [7483166b577b]
7394
7395 2009-10-16  Todd C. Miller  <Todd.Miller@courtesan.com>
7396
7397         * config.h.in, configure, configure.in:
7398         Disable transcript support if no tcsetpgrp until we support older
7399         BSD-style job control.
7400         [27ac1d8163df]
7401
7402         * configure, configure.in, pty.c, script.c:
7403         Break out pty code into pty.c
7404         [e85509b25d41]
7405
7406         * compat.h, config.h.in, configure, configure.in:
7407         add killpg macro if no killpg function
7408         [3a125f4a51f0]
7409
7410         * config.h.in, configure, configure.in, script.c:
7411         Push ptem and ldterm for STERAMS-based systems when allocating a
7412         pty.
7413         [36bb39b30ff2]
7414
7415 2009-10-15  Todd C. Miller  <Todd.Miller@courtesan.com>
7416
7417         * script.c:
7418         Sprinkle some more O_NOCTTY and call grantpt() before unlockpt()
7419         [d94bd5c9bf4e]
7420
7421         * script.c:
7422         Call tcgetpgrp() in the parent, not the child and have the child
7423         spin until it is granted. Fixes a race on darwin.
7424         [6e8d435339ce]
7425
7426         * script.c:
7427         Only use TIOCNOTTY in the non-setsid case. If no TIOCSCTTY, just
7428         reopen slave.
7429         [0bdc63c019ca]
7430
7431 2009-10-14  Todd C. Miller  <Todd.Miller@courtesan.com>
7432
7433         * script.c:
7434         In script mode, if the command is killed by a signal, print the
7435         signal description as well as a core dump notification like the
7436         shell does.
7437         [9df61738df07]
7438
7439         * Makefile.in, config.h.in, configure, configure.in, strsignal.c,
7440         sudo.h:
7441         Add check for strsignal() and a simple implementation if it is not
7442         there but sys_siglist is
7443         [61421a188ef4]
7444
7445         * script.c:
7446         Add missing WUNTRACED and store the signal that stopped the
7447         grandchild in suspended, not signo.
7448         [df65042b200e]
7449
7450         * script.c:
7451         g/c unused code
7452         [40d8cb5c9203]
7453
7454         * script.c:
7455         Associate the grandchild's pgrp with the tty instead of the child's
7456         and just get suspend notifications via SIGCHLD instead of directly.
7457         This fixes a hang with programs that try to set terminal attributes
7458         and is more consistent with how the shell handles things.
7459         [6865abff7e94]
7460
7461 2009-10-12  Todd C. Miller  <Todd.Miller@courtesan.com>
7462
7463         * script.c:
7464         Move setpgid() of child into the parent side of the fork() where it
7465         belongs.
7466         [3defa782777c]
7467
7468 2009-10-11  Todd C. Miller  <Todd.Miller@courtesan.com>
7469
7470         * script.c:
7471         fix typo
7472         [b6a612b3622c]
7473
7474         * script.c:
7475         Run command in its own pgrp (like the shell does) for easier
7476         signalling. No need to relay SIGINT or SIGQUIT to parent, just send
7477         to grandchild. Don't want grandchild stopped events in the child
7478         (only termination). Flush output after suspending grandchild before
7479         signalling parent.
7480         [db556bf2176f]
7481
7482         * script.c:
7483         Back out revision 1.34; the problem lies elsewhere.
7484         [85f590a03275]
7485
7486         * script.c:
7487         Don't set stdout to blocking mode when flushing remaining output.
7488         It can cause us to hang when trying to exit. Need to investigate
7489         why.
7490         [6f803a3e33ca]
7491
7492         * script.c:
7493         Handle SIGTTOU and remove some debugging.
7494         [52d17279053e]
7495
7496         * term.c:
7497         Back out revision 1.10 as the signal that interrupts us may be
7498         SIGTTOU or SIGTTIN which the caller must handle.
7499         [7e2fa9107975]
7500
7501         * script.c:
7502         Apparently we need to send SIGSTOP to the command as well as ourself
7503         when we get SIGTSTP, the kernel doesn't automatically stop the
7504         process for us.
7505         [1a936e9309c4]
7506
7507         * script.c:
7508         Use an extra process to act as the glue bewteen the sessions
7509         associated with the user's controlling tty (what the shell uses) and
7510         the tty that sudo is using to do its logging. Basically, this means
7511         that if we get, e.g. SIGTSTP from the process sudo is running, we
7512         relay the signal to the parent so it's shell can do the job control.
7513         [6dd296988060]
7514
7515         * term.c:
7516         Handle getting/setting terminal attributes when the fd is in non-
7517         blocking mode.
7518         [ae5ae535ea7b]
7519
7520 2009-10-07  Todd C. Miller  <Todd.Miller@courtesan.com>
7521
7522         * sudoreplay.c, sudoreplay.cat, sudoreplay.man.in, sudoreplay.pod:
7523         Add support for pausing and changing the speed in interactive mode.
7524         [72a2063780a7]
7525
7526         * script.c:
7527         Already define O_NOCTTY in compat.h, don't need it here
7528         [b5d80ed3e5ce]
7529
7530 2009-10-06  Todd C. Miller  <Todd.Miller@courtesan.com>
7531
7532         * sudoreplay.c:
7533         Add missing protos
7534         [c4cb4e7f4d8a]
7535
7536 2009-09-30  Todd C. Miller  <Todd.Miller@courtesan.com>
7537
7538         * sudo_edit.c:
7539         Always update the stashed mtime of the temp file instead of using
7540         what we have for the original because the time resolution of the
7541         filesystem the temporary is on may not match that of the filesystem
7542         that holds the original. Should fix bz #371 found by Philippe Levan.
7543         [c86ca4bec60c]
7544
7545         * sudoreplay.c:
7546         Use cbreak mode instead of raw mode and add signal handlers to
7547         restore the tty on interrupt.
7548         [84dd283da41c]
7549
7550         * script.c, sudo.h, term.c:
7551         Retain NL to NLCR conversion on the real tty and skip it on the pty
7552         we allocate. That way, if stdout is not a pty there are no extra
7553         carriage returns.
7554         [32e4f570414e]
7555
7556         * script.c:
7557         Fix log_output(); just pass in a string and a length.
7558         [ca980cc0a3fb]
7559
7560 2009-09-28  Todd C. Miller  <Todd.Miller@courtesan.com>
7561
7562         * script.c:
7563         do not use errno when complaining out lack of a tty
7564         [8f9b8c55ab8e]
7565
7566 2009-09-27  Todd C. Miller  <Todd.Miller@courtesan.com>
7567
7568         * Makefile.in, sudoreplay.c, term.c:
7569         Instead of messing with line endings, just set terminal to raw mode
7570         in sudoreplay.
7571         [90943fa87acb]
7572
7573         * term.c:
7574         When copying the terminal attributes to the pty, be sure not to set
7575         ONLCR. This prevents extra carriage returns from ending up in the
7576         script output file.
7577         [e6b5475ac2aa]
7578
7579         * script.c:
7580         Convert a do {} while into a while
7581         [e461310d2c77]
7582
7583         * Makefile.in:
7584         Use if then instead of test && when installing binaries that may not
7585         exist.
7586         [ad4f9490d971]
7587
7588         * script.c:
7589         Add O_NOCTTY when opening a tty device. Explicitly disconnect from
7590         old tty before associatng with new one.
7591         [0e0ca634b80c]
7592
7593         * script.c, selinux.c, sudo.c, sudo.h:
7594         First cut at refactoring some of the selinux code so it can be used
7595         in conjunction with sudo's transcript support.
7596         [779b0d8f9d29]
7597
7598 2009-09-26  Todd C. Miller  <Todd.Miller@courtesan.com>
7599
7600         * aclocal.m4, configure, configure.in:
7601         Fix default case of transcript_enabled being unset.
7602         [f8aa96186e6b]
7603
7604         * script.c, sudoreplay.c:
7605         Use _PATH_SUDO_TRANSCRIPT instead of _PATH_SUDO_SESSDIR
7606         [2844a7a851fa]
7607
7608         * INSTALL, Makefile.in, aclocal.m4, configure, configure.in, sudo.c:
7609         Hook up --disable-transcript and --enable-transcript=DIR
7610         [b3fa7e6b2480]
7611
7612 2009-09-25  Todd C. Miller  <Todd.Miller@courtesan.com>
7613
7614         * aclocal.m4, configure, configure.in, pathnames.h.in:
7615         _PATH_SUDO_SESSDIR -> _PATH_SUDO_TRANSCRIPT Add --enable-
7616         transcript=DIR option to specify the directory
7617         [b0bb76d43cda]
7618
7619         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in:
7620         regen
7621         [c7a8a0a9027c]
7622
7623         * configure, configure.in, sudoers.man.pl, sudoers.pod:
7624         Substitute in default value for secure_path
7625         [c8f9ac6dbf93]
7626
7627         * sudo.pod:
7628         Mention that the password must be followed by a newline with the -S
7629         option.
7630         [2fc589a3ee7e]
7631
7632 2009-09-20  Todd C. Miller  <Todd.Miller@courtesan.com>
7633
7634         * script.c:
7635         Go back to dropping out of the select() loop when the process dies;
7636         Linux ptys apparently don't behave the same as BSD in regards to
7637         select(). No need to flush remaining output to the transcript, only
7638         to stdout. Add back code to check the master pty for additional data
7639         when we exit the main select loop.
7640         [abed9a9cbc6b]
7641
7642 2009-09-19  Todd C. Miller  <Todd.Miller@courtesan.com>
7643
7644         * Makefile.in:
7645         Add getline.o to COMMON_OBJS
7646         [04ef7643cbc2]
7647
7648         * Makefile.in:
7649         sudoreplay depends on libsudo.a
7650         [142bd0472631]
7651
7652         * Makefile.in:
7653         More pwutil.o into COMMON_OBJS
7654         [4a016b933629]
7655
7656         * pwutil.c, testsudoers.c, tsgetgrpw.c:
7657         Remove my_* redirection in pwutil.c for testsudoers and just use the
7658         normal libc get{pw,gr}* names.
7659         [9b76d637d86b]
7660
7661         * sudoreplay.cat, sudoreplay.man.in, sudoreplay.pod:
7662         More time and date examples
7663         [c6ee0175ec56]
7664
7665         * Makefile.in, configure, configure.in, nanosleep.c, sudoreplay.c:
7666         Move nanosleep() emulation into its own file Check librt.a for
7667         nanosleep if we don't find it in libc
7668         [4da0cc26aad7]
7669
7670         * Makefile.in, configure, configure.in:
7671         Build libsudo with the common bits and link things against that.
7672         [2b53bc0b081a]
7673
7674         * script.c:
7675         Fix final flush.
7676         [6da287d833da]
7677
7678         * script.c:
7679         Keep reading from the pty master -> log file until read returns <=
7680         0. Do our best to write everything to stdout when flushing any
7681         remaining bits.
7682         [2a45d4ae280c]
7683
7684         * sudoreplay.c:
7685         Use unbuffered I/O when writing to stdout and make sure we write the
7686         entire buffer.
7687         [f39ef9844a47]
7688
7689 2009-09-18  Todd C. Miller  <Todd.Miller@courtesan.com>
7690
7691         * sudoreplay.c:
7692         Only use max_wait if it is non-zero
7693         [f6c10604d2e8]
7694
7695         * getdate.c, getdate.y, getline.c:
7696         Need compat.h here
7697         [5d6722e225a0]
7698
7699         * sudoreplay.c:
7700         Fix nanosleep emulation
7701         [34e5e5d72a76]
7702
7703         * script.c:
7704         Fix comment after #endif
7705         [bd1347718b25]
7706
7707         * sudoreplay.c:
7708         Add protos for missing libc bits
7709         [644f496427a2]
7710
7711         * configure, configure.in:
7712         add missing line continuation char
7713         [db13c0d402cd]
7714
7715         * config.h.in, configure, configure.in, getline.c:
7716         Implement getline() in terms of fgetln() if we have it.
7717         [3ab786eaadc5]
7718
7719         * sudoreplay.c:
7720         Print year when formatting log line
7721         [90be669e3443]
7722
7723         * sudoreplay.pod:
7724         Document cwd, attempt to document time/date formats.
7725         [6290fb9b65c6]
7726
7727         * sudoreplay.c:
7728         Fix getline return value check.
7729         [d696d6657261]
7730
7731         * Makefile.in, config.h.in, configure, configure.in, getline.c,
7732         sudoreplay.c:
7733         Use getline() if the system has it, else use provide our own for
7734         sudoreplay.
7735         [afca1d6fbe5e]
7736
7737         * script.c:
7738         Refactor code to update output and timing files.
7739         [361491332b1a]
7740
7741 2009-09-17  Todd C. Miller  <Todd.Miller@courtesan.com>
7742
7743         * sudoreplay.c:
7744         Make sudo_getln() behave more like glibc getline.
7745         [40c9f2ea29e6]
7746
7747         * script.c:
7748         When flushing remaining output, also update timing file.
7749         [5a9a5a627549]
7750
7751         * sudoreplay.c:
7752         Use get_timestr() and make the -l output look like the regular sudo
7753         log.
7754         [452ba9d436c9]
7755
7756         * logging.c, sudo.h, timestr.c:
7757         Make get_timestr() take a time_t so we can use it properly in
7758         sudoreplay.
7759         [82e67cc53c9c]
7760
7761         * script.c:
7762         Create session dir earlier now that we update the seq number early.
7763         [797fe8d6dc61]
7764
7765 2009-09-16  Todd C. Miller  <Todd.Miller@courtesan.com>
7766
7767         * sudoreplay.c:
7768         Use fromdate and todate as the keywords instead of from and to; the
7769         short forms will still be accepted.
7770         [d14d9b116df4]
7771
7772         * sudoreplay.c:
7773         Fix reading long liensin sudo_getln()
7774         [58dadd74118c]
7775
7776         * script.c, sudoreplay.c:
7777         Log the cwd in the script log file. Add sudo_getln() to read
7778         arbitrarily long lines.
7779         [faceb802ab8f]
7780
7781         * Makefile.in, logging.c, sudo.h, timestr.c:
7782         Move get_timestr() into its own source file so sudoreplay can use
7783         it.
7784         [99b054bfa20a]
7785
7786 2009-09-15  Todd C. Miller  <Todd.Miller@courtesan.com>
7787
7788         * sudoreplay.c:
7789         Add to and from perdicates (date ranges); needs documentation
7790         [1d629174dcf4]
7791
7792 2009-09-14  Todd C. Miller  <Todd.Miller@courtesan.com>
7793
7794         * Makefile.in, getdate.c, getdate.y:
7795         Fix warning and add generated getdate.c
7796         [b877a86b5a03]
7797
7798         * Makefile.in, getdate.y:
7799         Add getdate.y to be used for sudoreplay date parsing.
7800         [b8e26fbb7a40]
7801
7802 2009-09-13  Todd C. Miller  <Todd.Miller@courtesan.com>
7803
7804         * sudoreplay.c:
7805         Check more than just the first character of a predicate
7806         [4fe53728adb1]
7807
7808         * sudoreplay.cat, sudoreplay.man.in, sudoreplay.pod:
7809         Add examples, sort predicates
7810         [70f8075cbccc]
7811
7812         * Makefile.in, sudoreplay.c, sudoreplay.cat, sudoreplay.man.in,
7813         sudoreplay.pod:
7814         Implement search expressions in sudoreplay similar in concept to
7815         what find or tcpdump uses. TODO: date ranges
7816         [f7ce4fb4cf3a]
7817
7818 2009-09-07  Todd C. Miller  <Todd.Miller@courtesan.com>
7819
7820         * script.c:
7821         Remove vhangup as it was hanging up the wrong tty. Should really
7822         vhangup in the child after it as set its tty.
7823         [2eed9df73010]
7824
7825         * sudoers.pod:
7826         Fix cut at documenting transcript support.
7827         [e6c533a5568a]
7828
7829         * logging.c:
7830         ID= -> TSID= for transcript ID
7831         [1bf755a35333]
7832
7833 2009-09-06  Todd C. Miller  <Todd.Miller@courtesan.com>
7834
7835         * sudoers.pod:
7836         Move fast_glob description to where it belongs in sorted order
7837         [5901cfb0d25f]
7838
7839         * def_data.c, def_data.h, def_data.in, gram.c, gram.h, gram.y,
7840         parse.c, parse.h, sudo.c:
7841         Rename script -> transcript
7842         [e06cf823122c]
7843
7844 2009-09-03  Todd C. Miller  <Todd.Miller@courtesan.com>
7845
7846         * compat.h:
7847         Add timeradd and timersub for those without them
7848         [929f8aa06c2b]
7849
7850         * script.c:
7851         Sanity check sessid before using it.
7852         [aa8ca5211d43]
7853
7854         * sudo.c:
7855         Only set the session id if we are running a command or editing a
7856         file.
7857         [7205d717c098]
7858
7859         * script.c:
7860         Actually. qsort is fine since most versions fal back to a cheaper
7861         sort when the number of elements to sort is small (like in our
7862         case).
7863         [d11c7cd352fe]
7864
7865         * config.h.in, configure, configure.in, script.c:
7866         Check for dup2 and use dup instead if we don't have it.
7867         [98bd89830f8a]
7868
7869         * script.c, sudo.c, sudo.h:
7870         Move the code to dup2 the script fds to low numbered descriptors
7871         into script_duplow() and fix the fd sorting.
7872         [9453fdc5fba6]
7873
7874         * script.c, sudo.c, sudo.h:
7875         Move script_setup() back to immediately before we drop privs and
7876         call the new script_nextid() in its place, which will set
7877         sudo_user.sessid for the logging functions.
7878         [8434d0c8ff08]
7879
7880 2009-09-01  Todd C. Miller  <Todd.Miller@courtesan.com>
7881
7882         * Makefile.in:
7883         Install sudoreplay
7884         [6acf2cdb4d3f]
7885
7886         * sudoreplay.c:
7887         remove unused variable
7888         [2316360bb992]
7889
7890 2009-08-30  Todd C. Miller  <Todd.Miller@courtesan.com>
7891
7892         * logging.c, script.c, sudo.c, sudo.h:
7893         Log the session ID, if there is one. Currently logs ID=XXXXXX,
7894         perhaps should be SESSIONID or SESSID.
7895         [53976905b0a6]
7896
7897         * Makefile.in, configure, configure.in, sudoreplay.cat,
7898         sudoreplay.man.in, sudoreplay.pod:
7899         Add sudoreplay docs
7900         [da4f14f0e64c]
7901
7902         * sudoreplay.c:
7903         add -V (version) flag
7904         [b5e743639ee3]
7905
7906         * sudoreplay.c:
7907         Hook up max_wait.
7908         [2ec5697a92ba]
7909
7910         * script.c, sudoreplay.c:
7911         Use base36 number for the ID and store script files with paths like
7912         /var/log/sudo-session/00/00/00{,.tim,.scr}. This gives us 36^6
7913         (2,176,782,336) unique IDs.
7914         [6aab019d07aa]
7915
7916 2009-08-23  Todd C. Miller  <Todd.Miller@courtesan.com>
7917
7918         * config.h.in, configure.in:
7919         Add check for regcomp
7920         [44c3ebd7ff34]
7921
7922         * sudoreplay.c:
7923         Add support for selecting by pattern and tty when listing.
7924         [66189f840c52]
7925
7926 2009-08-17  Todd C. Miller  <Todd.Miller@courtesan.com>
7927
7928         * sudoreplay.c:
7929         The beginnings of a list mode.
7930         [8d0150b4a52c]
7931
7932 2009-08-16  Todd C. Miller  <Todd.Miller@courtesan.com>
7933
7934         * Makefile.in:
7935         fix pasto
7936         [616b4640b8a8]
7937
7938         * Makefile.in, config.h.in, configure.in:
7939         Add scaffolding for building sudoreplay
7940         [a32958505dbe]
7941
7942         * sudoreplay.c:
7943         include error.h first arg to nanotime is const
7944         [fe5a7bb31bc5]
7945
7946         * sudoreplay.c:
7947         Initial cut at sudoreplay; replay a sudo session.
7948         [f149fba372bd]
7949
7950 2009-08-08  Todd C. Miller  <Todd.Miller@courtesan.com>
7951
7952         * script.c:
7953         Fix wait() usage and use correct wait status.
7954         [f4745ed7ad05]
7955
7956         * sudo.c, sudo.h, tgetpass.c:
7957         Add protos for term_* to sudo.h
7958         [14fe1abd7e7b]
7959
7960         * script.c:
7961         Fix detection of the child process exiting. Since the child is in
7962         its own session we should only ever get SIGCHLD for that process but
7963         better safe than sorry.
7964         [7edfdadd8505]
7965
7966         * config.h.in:
7967         Add UNIX98 pty support.
7968         [82f4b53a0e8f]
7969
7970         * configure, configure.in, script.c:
7971         Add UNIX98 pty support.
7972         [795b8bb0a3a1]
7973
7974 2009-08-07  Todd C. Miller  <Todd.Miller@courtesan.com>
7975
7976         * term.c:
7977         For raw mode, don't bother clearing BRKINT or PARMRK and clear IUCLC
7978         if it is defined.
7979         [40f8b83baf69]
7980
7981         * auth/pam.c:
7982         Set PAM_RUSER and PAM_RHOST early so they can be used during
7983         authentication. Based on a patch from Jamie Beverly.
7984         [3d567b453a6a]
7985
7986         * match.c:
7987         Close dir before returning if strlcpy() reports overflow. From
7988         Martynas Venckus.
7989         [6a82f96473e5]
7990
7991         * config.h.in, configure, configure.in, script.c:
7992         On Linux, the openpty proto libes in pty.h
7993         [98643a018d1c]
7994
7995         * script.c:
7996         Call vhangup on exit if the system has it Use setpgrp() if no
7997         setsid()
7998         [3a9e13149829]
7999
8000 2009-08-06  Todd C. Miller  <Todd.Miller@courtesan.com>
8001
8002         * config.h.in, configure, configure.in:
8003         Add checks for revoke and vhangup if we don't have openpty
8004         [fcb04572e994]
8005
8006         * script.c:
8007         Session logging guts that got forgotten in the previous commit.
8008         [c2af08a63ea9]
8009
8010         * Makefile.in, aclocal.m4, compat.h, config.h.in, configure,
8011         configure.in, def_data.c, def_data.h, def_data.in, gram.c, gram.h,
8012         gram.y, parse.c, parse.h, pathnames.h.in, sudo.c, sudo.h, term.c,
8013         tgetpass.c:
8014         First cut at session logging for sudo. Still need to write
8015         get_pty() for Unix 98 and old-style BSD ptys. Also needs
8016         documentation and general cleanup.
8017         [77e3f5e25738]
8018
8019 2009-08-05  Todd C. Miller  <Todd.Miller@courtesan.com>
8020
8021         * sudo.c, sudo_edit.c:
8022         Fix a bug introduced with def_closefrom. The value of def_closefrom
8023         already includes the +1.
8024         [7291c136300d]
8025
8026 2009-07-29  Todd C. Miller  <Todd.Miller@courtesan.com>
8027
8028         * Makefile.in:
8029         Generate sudo distributions with pax in ustar mode. No longer need
8030         to use a temp file or have the source dir name match the version.
8031         [9778177a8272]
8032
8033 2009-07-18  Todd C. Miller  <Todd.Miller@courtesan.com>
8034
8035         * toke.c, toke.l:
8036         Fix expansion of %h in #include names. Fixes bugzilla 363
8037         [6e346879ba24]
8038
8039 2009-07-12  Todd C. Miller  <Todd.Miller@courtesan.com>
8040
8041         * mkdefaults:
8042         If no arg assume def_data.in
8043         [c1dd28c0e675]
8044
8045         * README, WHATSNEW:
8046         Update for 1.7.2
8047         [f5ad45f69f05] [SUDO_1_7_2]
8048
8049         * ChangeLog:
8050         sync
8051         [6283549396ff]
8052
8053 2009-06-30  Todd C. Miller  <Todd.Miller@courtesan.com>
8054
8055         * sudoers.cat, sudoers.man.in, sudoers.pod:
8056         Add missing single quotes around a colon in Runas_Spec definition.
8057         From Elias Benali.
8058         [ccc6ee4fca83]
8059
8060 2009-06-29  Todd C. Miller  <Todd.Miller@courtesan.com>
8061
8062         * sudo.man.in, sudoers.man.in:
8063         regen
8064         [546e75304ebf]
8065
8066         * redblack.c:
8067         In rbrepair, re-color the root or the first non-block node we find
8068         to be black. Re-coloring the root is probably not needed but won't
8069         hurt.
8070         [34d01ebe241b]
8071
8072         * sudo.cat, sudoers.cat:
8073         regen
8074         [bebf5a39f54f]
8075
8076 2009-06-26  Todd C. Miller  <Todd.Miller@courtesan.com>
8077
8078         * redblack.c:
8079         When repairing the tree, don't touch the root node.
8080         [9841f0d5d789]
8081
8082 2009-06-25  Todd C. Miller  <Todd.Miller@courtesan.com>
8083
8084         * set_perms.c:
8085         Protect call to setegid in runas_setup with #ifdef HAVE_SETEUID.
8086         Reported by Josef Schmid.
8087         [ed044b1eb879]
8088
8089 2009-06-23  Todd C. Miller  <Todd.Miller@courtesan.com>
8090
8091         * sudoers.pod:
8092         Document that we accept env_pam-style environment files
8093         [e3b545456352]
8094
8095         * env.c:
8096         Adapt to accept pam_env-style /etc/environment which allows shell-
8097         style lines such as: export EDITOR="/usr/bin/vi"
8098         [752eb75bf007]
8099
8100         * sudoers.pod:
8101         Make it clear that env_delete only works when !env_reset. From Lo??c
8102         Minier
8103         [3bd3f8e351ba]
8104
8105 2009-06-15  Todd C. Miller  <Todd.Miller@courtesan.com>
8106
8107         * sudo.pod, sudoers.pod:
8108         Add non-unix group bits, adapted from Quest
8109         [8ce427de8dea]
8110
8111         * Makefile.in:
8112         build the .cat page in the current working dir, not the src dir
8113         [00e87a307674]
8114
8115         * env.c:
8116         Return EINVAL in setenv() if var is NULL or the empty string to
8117         match glibc behavior.
8118         [23fd7c247142]
8119
8120 2009-06-13  Todd C. Miller  <Todd.Miller@courtesan.com>
8121
8122         * configure, configure.in:
8123         Use AS_HELP_STRING for AC_ARG_WITH and AC_ARG_ENABLE
8124         [fedd4a3e2a85]
8125
8126 2009-06-11  Todd C. Miller  <Todd.Miller@courtesan.com>
8127
8128         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.ldap.cat,
8129         sudoers.ldap.man.in, sudoers.man.in, visudo.cat, visudo.man.in:
8130         regen
8131         [7b9f461a40b3]
8132
8133 2009-06-09  Todd C. Miller  <Todd.Miller@courtesan.com>
8134
8135         * INSTALL:
8136         Document --with-libvas and --with-libvas-rpath
8137         [a071e6d96c89]
8138
8139 2009-05-29  Todd C. Miller  <Todd.Miller@courtesan.com>
8140
8141         * ldap.c, sudoers.ldap.pod:
8142         For netscape-derived LDAP SDKs the cert and key paths may be a
8143         directory or a file. However, version 5.0 of the SDK only seems to
8144         support using a directory. If ldapssl_clientauth_init fails and the
8145         cert or key paths look like they could be files, strip off the last
8146         path element and try again.
8147         [ac4e49d83043]
8148
8149         * Makefile.in:
8150         Add non-Unix group .o to COMMON_OBJS and substitute in path to flex.
8151         [4547cc1a335f]
8152
8153 2009-05-27  Todd C. Miller  <Todd.Miller@courtesan.com>
8154
8155         * configure, configure.in, match.c, sudo.c, vasgroups.c:
8156         Update non-Unix group support from Quest, as reworked by me.
8157         [1abafce29dc6]
8158
8159         * toke.c:
8160         regen
8161         [01bfca9148b7]
8162
8163         * toke.l:
8164         Add support for escaped hex chars in names, e.g. \x20 for space.
8165         [3c7be8e58a39]
8166
8167 2009-05-25  Todd C. Miller  <Todd.Miller@courtesan.com>
8168
8169         * LICENSE, Makefile.in, aclocal.m4, alias.c, auth/aix_auth.c,
8170         auth/pam.c, auth/sudo_auth.c, auth/sudo_auth.h, check.c, env.c,
8171         fileops.c, glob.c, gram.y, interfaces.c, lbuf.c, ldap.c, logging.c,
8172         logging.h, match.c, parse.c, parse.h, pathnames.h.in, pwutil.c,
8173         set_perms.c, sudo.c, sudo.h, sudo.pod, sudo_nss.c, sudo_nss.h,
8174         sudo_usage.h.in, sudoers.ldap.pod, sudoers.pod, testsudoers.c,
8175         tgetpass.c, toke.l, visudo.c:
8176         Update copyright years.
8177         [e615f676c764]
8178
8179 2009-05-24  Todd C. Miller  <Todd.Miller@courtesan.com>
8180
8181         * interfaces.c, lbuf.c:
8182         Minor fixes for Minix-3
8183         [898c510d23f9]
8184
8185 2009-05-22  Todd C. Miller  <Todd.Miller@courtesan.com>
8186
8187         * set_perms.c:
8188         Handle getgroups() returning 0. Also add missing check for
8189         HAVE_GETGROUPS.
8190         [d73b958f9ffd]
8191
8192 2009-05-19  Todd C. Miller  <Todd.Miller@courtesan.com>
8193
8194         * Makefile.in, config.h.in, configure, configure.in, sudo.c,
8195         version.h, visudo.c:
8196         Replace version.h with PACKAGE_VERSION set via AC_INIT in configure.
8197         [5050579a264d]
8198
8199 2009-05-18  Todd C. Miller  <Todd.Miller@courtesan.com>
8200
8201         * set_perms.c:
8202         Remove group setting code in setusercontext case, we will do it
8203         ourselves later on in runas_setup. Set the gid after
8204         initgroups/setgroups is called, since on Mac OS X it seems to change
8205         the egid.
8206         [09dc21d8b42d]
8207
8208 2009-05-17  Todd C. Miller  <Todd.Miller@courtesan.com>
8209
8210         * LICENSE, Makefile.in, config.h.in, match.c, nonunix.h, sudo.c,
8211         vasgroups.c:
8212         Initial bits of non-unix group support using Quest Authentication
8213         Services
8214         [1eecab0ff27e]
8215
8216         * toke.c, toke.l:
8217         Accept %:foo as a non-Unix group
8218         [4c4b5dd899a6]
8219
8220         * toke.c, toke.l:
8221         Allow user/group to be double quoted in the case of non-Unix groups
8222         which contain spaces.
8223         [47a3d568b7e8]
8224
8225 2009-05-11  Todd C. Miller  <Todd.Miller@courtesan.com>
8226
8227         * match.c:
8228         Don't allow the user to specify the default runas user if their
8229         sudoers entry only allows them to run as a group.
8230         [4d726177227c]
8231
8232 2009-05-10  Todd C. Miller  <Todd.Miller@courtesan.com>
8233
8234         * sudo.c:
8235         Must call audit_success before we change uids.
8236         [04a9e6ce6e55]
8237
8238         * logging.c, set_perms.c, sudo.h, testsudoers.c:
8239         Add option for set_perm to not exit on failure and use this in the
8240         logging routines.
8241         [833dce7b7f42]
8242
8243         * parse.c:
8244         In -l mode, if the user is only allowed to run as a group, display
8245         the user's name, not root's before the allowed group.
8246         [ef92ff99d265]
8247
8248         * sudo.c:
8249         Fix -g mode, broken by rev 1.503 which had the side effect of
8250         setting the runas user to root unilaterally.
8251         [50a2f7df4385]
8252
8253 2009-05-08  Todd C. Miller  <Todd.Miller@courtesan.com>
8254
8255         * fileops.c:
8256         When unlocking a file with fcntl, use F_SETLK, not F_SETLKW.
8257         [30fbe832dcf3]
8258
8259         * pwutil.c:
8260         Only cache by the method we fetched for pwd and grp lookups.
8261         Previously we cached both by namd and id but this can cause problems
8262         for entries that share the same id. Also add more info in the error
8263         message in case the insert fails (which should now be impossible).
8264         [ef95a4f0bab5]
8265
8266 2009-04-30  Todd C. Miller  <Todd.Miller@courtesan.com>
8267
8268         * sudoers.pod:
8269         Add a clarification from Nick Sieger
8270         [1eadad329561]
8271
8272 2009-04-25  Todd C. Miller  <Todd.Miller@courtesan.com>
8273
8274         * env.c:
8275         Inline the setting of the environment string.
8276         [9515d11c6295]
8277
8278 2009-04-24  Todd C. Miller  <Todd.Miller@courtesan.com>
8279
8280         * env.c:
8281         setenv(3) in Linux treats a NUL value as the empty string setenv(3)
8282         in BSD doesn't return an error if the name has '=' in it, it just
8283         treats the '=' as end of string.
8284         [941260bf94d2]
8285
8286 2009-04-22  Todd C. Miller  <Todd.Miller@courtesan.com>
8287
8288         * toke.c, toke.l:
8289         Not all systems have d_namlen
8290         [e377b18d8e2d]
8291
8292 2009-04-20  Todd C. Miller  <Todd.Miller@courtesan.com>
8293
8294         * sudoers.pod:
8295         Fix up some pod2html issues.
8296         [823a1f10ab60]
8297
8298 2009-04-19  Todd C. Miller  <Todd.Miller@courtesan.com>
8299
8300         * interfaces.c:
8301         Check for NULL ifa_addr and ifa_netmask. Adapted from a diff from
8302         Quest Software.
8303         [73de36653131]
8304
8305         * sudoers.pod:
8306         Ignore files ending in '~' in sudo.d (emacs backup files)
8307         [7871fad702db]
8308
8309         * toke.c, toke.l:
8310         Ignore files ending in '~' in sudo.d (emacs backup files)
8311         [53fded2a469f]
8312
8313 2009-04-18  Todd C. Miller  <Todd.Miller@courtesan.com>
8314
8315         * sudoers.cat, sudoers.man.in, sudoers.pod, toke.c, toke.l:
8316         For #includedir, ignore any file containing a dot
8317         [a7daa1bce6c2]
8318
8319         * Makefile.in, version.h:
8320         Bump version
8321         [ef60f14ffc44]
8322
8323         * gram.c, gram.y, parse.c, parse.h, sudo.c, sudo.h, sudoers.cat,
8324         sudoers.man.in, sudoers.pod, testsudoers.c, toke.c, toke.l,
8325         visudo.c:
8326         Implement #includedir directive. Files in an includedir are not
8327         edited by visudo unless they contain a syntax error.
8328         [3923d85a6c79]
8329
8330         * ChangeLog:
8331         sync
8332         [8741ed61a78b] [SUDO_1_7_1]
8333
8334         * WHATSNEW:
8335         Forgot umask_override
8336         [7c86a21a5504]
8337
8338         * ChangeLog, TODO:
8339         sync
8340         [57339ca6bccf]
8341
8342 2009-04-16  Todd C. Miller  <Todd.Miller@courtesan.com>
8343
8344         * visudo.c:
8345         Rewind stream if we fdopen sudoers since it may not be at the
8346         beginning. Set the keepopen flag on already-open files too so the
8347         lexer doesn't close them out from under us.
8348         [61292d819aff]
8349
8350         * visudo.c:
8351         Print the proper file name when there is a parse error in an include
8352         file.
8353         [b0e85d4aedde]
8354
8355 2009-04-11  Todd C. Miller  <Todd.Miller@courtesan.com>
8356
8357         * WHATSNEW:
8358         Sync
8359         [997e5d485ea3]
8360
8361 2009-04-10  Todd C. Miller  <Todd.Miller@courtesan.com>
8362
8363         * configure, configure.in:
8364         Fix a warning when --without-ldap is specified.
8365         [d91fd9481b30]
8366
8367 2009-04-05  Todd C. Miller  <Todd.Miller@courtesan.com>
8368
8369         * alias.c, parse.h, visudo.c:
8370         Store aliases that we remove during check_aliases in a freelist and
8371         free them at the end so we don't leak memory.
8372         [805e2272f6a3]
8373
8374 2009-03-28  Todd C. Miller  <Todd.Miller@courtesan.com>
8375
8376         * visudo.c:
8377         Check aliases in -c mode too.
8378         [9199e188d9f2]
8379
8380         * alias.c, parse.h, visudo.c:
8381         Make alias_remove return the alias struct instead of freeing it
8382         directly. Fixes a use after free in alias_remove_recursive, the only
8383         consumer.
8384         [a04b61804800]
8385
8386         * alias.c, match.c, parse.c, parse.h, visudo.c:
8387         Rename find_alias -> alias_find for consistency.
8388         [48b0a82924f3]
8389
8390 2009-03-27  Todd C. Miller  <Todd.Miller@courtesan.com>
8391
8392         * visudo.c:
8393         When checking for unused aliases, recurse if the alias points to
8394         another alias.
8395         [2d4d1a7f3a41]
8396
8397 2009-03-16  Todd C. Miller  <Todd.Miller@courtesan.com>
8398
8399         * ldap.c:
8400         Back out rev 1.105 for now. Real ldapux_client.conf support will be
8401         done later after some refactoring.
8402         [8ad72e69b277]
8403
8404 2009-03-14  Todd C. Miller  <Todd.Miller@courtesan.com>
8405
8406         * ldap.c:
8407         Treat ldap_hostport the same as "host" for ldapux.
8408         [3281dcc66da8]
8409
8410         * configure, configure.in:
8411         Only check for ldap_sasl_interactive_bind_s if we can find sasl.h.
8412         Fixes compilation with ldapux.
8413         [ca1ed585ef0e]
8414
8415 2009-03-12  Todd C. Miller  <Todd.Miller@courtesan.com>
8416
8417         * fileops.c:
8418         fix char subscript
8419         [41e51f080d00]
8420
8421 2009-03-11  Todd C. Miller  <Todd.Miller@courtesan.com>
8422
8423         * Makefile.in:
8424         remove errant carriage returns
8425         [e9e258a31c7b]
8426
8427         * audit.c, env.c:
8428         fix K&R compilation
8429         [d182e8920f13]
8430
8431         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.ldap.cat,
8432         sudoers.ldap.man.in, sudoers.man.in, visudo.cat, visudo.man.in:
8433         regen
8434         [791a5cbf04e5]
8435
8436 2009-03-10  Todd C. Miller  <Todd.Miller@courtesan.com>
8437
8438         * config.h.in:
8439         Add missing HAVE_BSM_AUDIT
8440         [49ad1bb96f04]
8441
8442         * WHATSNEW:
8443         Add 1.7.1 features
8444         [f107f1604c61]
8445
8446         * INSTALL:
8447         Mention --with-netsvc
8448         [d1e90d147795]
8449
8450         * sudoers.ldap.pod:
8451         Document netsvc.conf support
8452         [e78f8abce6af]
8453
8454         * configure, configure.in, pathnames.h.in, sudo.c, sudo_nss.c,
8455         sudo_nss.h:
8456         Add support for AIX netsvc.conf (like nsswitch.conf).
8457         [1df56a84dee5]
8458
8459 2009-03-08  Todd C. Miller  <Todd.Miller@courtesan.com>
8460
8461         * config.h.in, configure, configure.in, env.c:
8462         Add --enable-env-debug flag to enable environment sanity checks.
8463         [128cdd8832e7]
8464
8465         * sudoers.ldap.pod, sudoers.pod:
8466         Work around some pod2html issue.
8467         [e733b9609bd2]
8468
8469 2009-03-07  Todd C. Miller  <Todd.Miller@courtesan.com>
8470
8471         * env.c:
8472         Only sync environ for putenv, setenv, and unsetenv. We need to make
8473         sure that sudo_putenv and sudo_setenv only modify env.envp, not
8474         environ.
8475         [be3ac732243c]
8476
8477 2009-03-02  Todd C. Miller  <Todd.Miller@courtesan.com>
8478
8479         * env.c:
8480         Really fix UNSETENV_VOID
8481         [08ab7e882507]
8482
8483         * env.c:
8484         Fix unsetenv when UNSETENV_VOID
8485         [d3038b3f2f15]
8486
8487         * aclocal.m4, configure:
8488         Fix SUDO_FUNC_PUTENV_CONST
8489         [de35569c572b]
8490
8491         * ldap.c:
8492         tivoli-based ldap does not have ldapssl_err2string
8493         [c63fd90d5e99]
8494
8495         * configure:
8496         regen
8497         [f38f1ee828ad]
8498
8499 2009-03-01  Todd C. Miller  <Todd.Miller@courtesan.com>
8500
8501         * config.h.in, configure, configure.in, ldap.c:
8502         Add support for Tivoli-based LDAP start TLS as seen in AIX.
8503         Untested.
8504         [8f8771829f85]
8505
8506         * env.c:
8507         Add sanity checks for setenv/unsetenv
8508         [adbd1d95856b]
8509
8510         * Makefile.in:
8511         Include bsm_audit.h in the tarball
8512         [4a4aa02b2c32]
8513
8514         * Makefile.in, version.h:
8515         bump version for sudo 1.7.1
8516         [362c71d21595]
8517
8518         * aclocal.m4, auth/aix_auth.c, config.h.in, configure, configure.in,
8519         env.c, ldap.c, sudo.h:
8520         Replace sudo_setenv/sudo_unsetenv with calls to setenv/unsetenv and
8521         provide our own setenv/unsetenv/putenv that operates on own env
8522         pointer. Make sync_env() inline in setenv/unsetenv/putenv functions.
8523         [276edcd23032]
8524
8525 2009-02-25  Todd C. Miller  <Todd.Miller@courtesan.com>
8526
8527         * sudo.c:
8528         Make "sudoedit -h" work as expected
8529         [2bcbbb45d389]
8530
8531         * auth/pam.c:
8532         Make sure def_prompt is always defined. This is a workaround for
8533         pam configs that prompt for a password in the session but don't have
8534         an auth line. A better fix is to expand the sudo prompt earlier and
8535         set def_prompt to that when initializing.
8536         [ee073c04aec3]
8537
8538         * sudo.pod:
8539         Mention that the helper for -A may be graphical.
8540         [b64a940c4082]
8541
8542         * TROUBLESHOOTING:
8543         Document what happens if there is no tty.
8544         [313d58a856a5]
8545
8546         * sudo.c:
8547         cosmetic changes
8548         [894f5e3b0c3e]
8549
8550         * term.c:
8551         Fix term_restore
8552         [6c6315ff14bc]
8553
8554         * sudo.c:
8555         Fix "sudo -k" with no other args
8556         [59e94dc419c6]
8557
8558 2009-02-24  Todd C. Miller  <Todd.Miller@courtesan.com>
8559
8560         * check.c, sudo.c, sudo.pod, sudo_usage.h.in:
8561         Allow the -k flag to be specified in conjunction with a command or
8562         another option that may require authentication.
8563         [5960ff20355d]
8564
8565 2009-02-23  Todd C. Miller  <Todd.Miller@courtesan.com>
8566
8567         * configure, configure.in:
8568         Remove unneeded AC_CANONICAL_TARGET; from Diego E. 'Flameeyes'
8569         [e86ab69c4a57]
8570
8571         * Makefile.in:
8572         Parallel make fix. From Diego E. 'Flameeyes'
8573         [1289d7ee27db]
8574
8575 2009-02-21  Todd C. Miller  <Todd.Miller@courtesan.com>
8576
8577         * def_data.c, def_data.h, def_data.in, sudo.c, sudoers.pod:
8578         Implement umask_override
8579         [8b87a3f7c5aa]
8580
8581         * toke.c:
8582         regen
8583         [79d7ca9ac873]
8584
8585         * sudoers.pod, toke.l, visudo.c:
8586         Implement %h escape in sudoers include filenames.
8587         [a7f288dd64f0]
8588
8589         * audit.c:
8590         Need to include compat.h
8591         [c0dc07ce2f70]
8592
8593         * Makefile.in, audit.c, bsm_audit.c, bsm_audit.h, logging.h, sudo.c:
8594         Make audit_success and audit_failure generic functions in
8595         preparation for integrating linux audit support.
8596         [7df020a8fd6f]
8597
8598         * term.c:
8599         remove duplicate include
8600         [1dfcd01a7e46]
8601
8602 2009-02-20  Todd C. Miller  <Todd.Miller@courtesan.com>
8603
8604         * bsm_audit.c:
8605         Add missing include
8606         [fb56e08c37ee]
8607
8608         * sudo.c:
8609         May need to update the runas user after parsing command-based
8610         defaults.
8611         [246f130d7802]
8612
8613 2009-02-18  Todd C. Miller  <Todd.Miller@courtesan.com>
8614
8615         * glob.c:
8616         Add missing pair of braces introduced with character class support.
8617         [0e2afa2e03e9]
8618
8619 2009-02-15  Todd C. Miller  <Todd.Miller@courtesan.com>
8620
8621         * def_data.c, def_data.h, def_data.in, sudoers.pod, tgetpass.c:
8622         Rename pwstars to pwfeedback
8623         [a9f85a57ebac]
8624
8625 2009-02-11  Todd C. Miller  <Todd.Miller@courtesan.com>
8626
8627         * bsm_audit.c, bsm_audit.h:
8628         Add const to make MacOS happy.
8629         [4274432d6627]
8630
8631         * Makefile.in, auth/sudo_auth.c, bsm_audit.c, bsm_audit.h, configure,
8632         configure.in, sudo.c:
8633         Add bsm audit support from Christian S.J. Peron
8634         [bef61cd8693d]
8635
8636         * term.c:
8637         This is new code, no DARPA notice.
8638         [ec6ad09b9c23]
8639
8640 2009-02-10  Todd C. Miller  <Todd.Miller@courtesan.com>
8641
8642         * def_data.c, def_data.h, def_data.in, match.c, sudoers.pod:
8643         Rename simple_glob -> fast_glob
8644         [68d9ed803cc1]
8645
8646         * match.c:
8647         g/c unused var
8648         [693fa0464eb6]
8649
8650         * def_data.c, def_data.h, def_data.in, match.c, sudoers.pod:
8651         Add simple_glob option to use fnmatch() instead of glob(). This is
8652         useful when you need to specify patterns that reference network file
8653         systems.
8654         [77ba634f6949]
8655
8656         * tgetpass.c:
8657         add term_* proto
8658         [520f5149d073]
8659
8660         * sudoers.pod:
8661         mention glob()
8662         [ddaab8e03c52]
8663
8664 2009-02-09  Todd C. Miller  <Todd.Miller@courtesan.com>
8665
8666         * tgetpass.c:
8667         Delete any pwstars we wrote after the user hits return. That way
8668         there is no record on screen as to the user's password length.
8669         [fae25cda762b]
8670
8671 2009-02-08  Todd C. Miller  <Todd.Miller@courtesan.com>
8672
8673         * term.c:
8674         Move terminal setting bits from tgetpass.c to term.c
8675         [03d43325ee99]
8676
8677         * Makefile.in, def_data.c, def_data.h, def_data.in, sudoers.pod,
8678         tgetpass.c:
8679         Add pwstars sudoers option that causes sudo to print a star every
8680         time the user presses a key.
8681         [7aab417e184d]
8682
8683 2009-02-03  Todd C. Miller  <Todd.Miller@courtesan.com>
8684
8685         * Makefile.in:
8686         Fix up F<> brokenness for visudo.man.in and sudoers.ldap.man.in.
8687         [64f70e879816]
8688
8689 2009-01-27  Todd C. Miller  <Todd.Miller@courtesan.com>
8690
8691         * ldap.c:
8692         For ldap_search_ext_s() the sizelimit param should be 0, not -1, to
8693         indicate no limit. From Mark Janssen.
8694         [e2c5732d54f5]
8695
8696 2009-01-17  Todd C. Miller  <Todd.Miller@courtesan.com>
8697
8698         * toke.c, toke.l:
8699         Comments that begin with #- should not be parsed as uids.
8700         [a72a50f12f41]
8701
8702 2009-01-09  Todd C. Miller  <Todd.Miller@courtesan.com>
8703
8704         * sudo.c:
8705         Do not try to set the close on exec flag if we didn't actually open
8706         sudoers.
8707         [ece3ca256904]
8708
8709 2008-12-19  Todd C. Miller  <Todd.Miller@courtesan.com>
8710
8711         * ChangeLog:
8712         regen
8713         [e11f0e4c1bdd] [SUDO_1_7_0]
8714
8715 2008-12-14  Todd C. Miller  <Todd.Miller@courtesan.com>
8716
8717         * TODO:
8718         sync
8719         [5b8954462bb3]
8720
8721 2008-12-09  Todd C. Miller  <Todd.Miller@courtesan.com>
8722
8723         * auth/pam.c:
8724         Return PAM_AUTH_ERR instead of PAM_CONV_ERR if user enters ^C at the
8725         password prompt.
8726         [8563601cb3de]
8727
8728         * configure, configure.in:
8729         Don't try to build sudo_noexec.so on HP-UX with the bundled compiler
8730         as it cannot generate shared objects.
8731         [6d4262ef9669]
8732
8733         * emul/charclass.h, glob.c, lbuf.c, tgetpass.c:
8734         K&R compilation fixes
8735         [77921678d17c]
8736
8737         * parse.c:
8738         Use tq_foreach_fwd when checking pseudo-commands to make it clear
8739         that we are not short-circuiting on last match. When pwcheck is
8740         'all', initialize nopass to TRUE and override it with the first non-
8741         TRUE entry.
8742         [96b209f4778f]
8743
8744 2008-12-08  Todd C. Miller  <Todd.Miller@courtesan.com>
8745
8746         * parse.c:
8747         Do not short circuit pseudo commands when we get a match since,
8748         depending on the settings, we may need to examine all commands for
8749         tags.
8750         [fdbaf89d6f35]
8751
8752 2008-12-03  Todd C. Miller  <Todd.Miller@courtesan.com>
8753
8754         * sudoers.cat, sudoers.man.in:
8755         regen
8756         [1ecce7c1b841]
8757
8758         * sudoers.pod:
8759         hostnames may also contain wildcards
8760         [82b76695601c]
8761
8762         * Makefile.in:
8763         remove stamp-* files and linux core files in clean target
8764         [22003f091467]
8765
8766 2008-12-02  Todd C. Miller  <Todd.Miller@courtesan.com>
8767
8768         * auth/sudo_auth.h, config.h.in, configure, configure.in:
8769         Use HAVE_SIA_SES_INIT instead of HAVE_SIA for Digital UNIX
8770         [6905bede8410]
8771
8772 2008-11-26  Todd C. Miller  <Todd.Miller@courtesan.com>
8773
8774         * configure, configure.in:
8775         correctly enable SIA on Digital UNIX
8776         [a51881d13995]
8777
8778         * TODO:
8779         checkpoint
8780         [af0fe8d94d42]
8781
8782         * ChangeLog:
8783         sync
8784         [831f623cf99c]
8785
8786 2008-11-25  Todd C. Miller  <Todd.Miller@courtesan.com>
8787
8788         * check.c, sudo.h, tgetpass.c:
8789         Even if neither stdin nor stdout are ttys we may still have /dev/tty
8790         available to us.
8791         [20f306ba883b]
8792
8793 2008-11-24  Todd C. Miller  <Todd.Miller@courtesan.com>
8794
8795         * sudoers.cat, sudoers.man.in:
8796         regen
8797         [76d97c4c318f]
8798
8799         * sudoers.pod:
8800         fix typos; Markus Lude
8801         [bff8bc1e2066]
8802
8803         * ChangeLog:
8804         sync
8805         [f108552531cd]
8806
8807         * toke.c:
8808         regen
8809         [de828413c67e]
8810
8811         * toke.l:
8812         Fix matching of a line that only consists of a comment char
8813         [09c953d8d5ca]
8814
8815 2008-11-22  Todd C. Miller  <Todd.Miller@courtesan.com>
8816
8817         * auth/pam.c:
8818         MacOS pam will retry conversation function if it fails so just treat
8819         ^C as an empty password.
8820         [d056058930bc]
8821
8822         * visudo.c:
8823         When checking for alias use, also check defaults bindings.
8824         [2647f82c7dbd]
8825
8826         * redblack.c:
8827         unused var
8828         [b7ff71c17c18]
8829
8830         * redblack.c:
8831         Replace my rbdelete with Emin's version (which actually works ;-)
8832         [21b133dd0c72]
8833
8834 2008-11-19  Todd C. Miller  <Todd.Miller@courtesan.com>
8835
8836         * testsudoers.c:
8837         malloc debugging
8838         [0fb446fa3279]
8839
8840         * visudo.c:
8841         malloc options in devel mode for visudo too
8842         [98d06c6afeef]
8843
8844 2008-11-18  Todd C. Miller  <Todd.Miller@courtesan.com>
8845
8846         * sudo.c:
8847         fix compilation on non-C99; from Theo
8848         [7c304e16c536]
8849
8850         * visudo.c:
8851         fix check_aliases
8852         [83f30a3b1765]
8853
8854         * alias.c:
8855         when destroying an alias, free the correct data pointer
8856         [6e1a8bd86c01]
8857
8858         * auth/sudo_auth.h:
8859         add proto for aixauth_cleanup; from Dale King
8860         [eba94ffc8f63]
8861
8862 2008-11-15  Todd C. Miller  <Todd.Miller@courtesan.com>
8863
8864         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in, visudo.cat,
8865         visudo.man.in:
8866         regen
8867         [409fa57fff83]
8868
8869         * sudo.pod, sudoers.pod, visudo.pod:
8870         standardize on the term 'option' for command line options (not flag)
8871         [228caefc2e36]
8872
8873 2008-11-14  Todd C. Miller  <Todd.Miller@courtesan.com>
8874
8875         * INSTALL:
8876         Add note on configuring HP-UX pam
8877         [f7674a581baf]
8878
8879 2008-11-11  Todd C. Miller  <Todd.Miller@courtesan.com>
8880
8881         * check.c, sudo.c:
8882         Move tty checks into check_user() so we only do them if we actually
8883         need a password.
8884         [7d997d7106d6]
8885
8886         * sudo.c:
8887         Don't error out if no tty or askpass unless we actually need to
8888         authenticate.
8889         [9f23b83ed66c]
8890
8891 2008-11-10  Todd C. Miller  <Todd.Miller@courtesan.com>
8892
8893         * ChangeLog:
8894         regen
8895         [23f9aef32da6]
8896
8897         * pathnames.h.in, sudo.c:
8898         s/overriden/overridden/; from Tobias Stoeckmann
8899         [9f7459a8fac5]
8900
8901 2008-11-09  Todd C. Miller  <Todd.Miller@courtesan.com>
8902
8903         * WHATSNEW, visudo.c:
8904         check sudoers owner and mode in strict mode
8905         [a3468c5ac1c4]
8906
8907         * gram.c, toke.c:
8908         regen
8909         [7d6b515a5443]
8910
8911         * sudo.man.in, sudoers.man.in, visudo.man.in:
8912         Update copyright years.
8913         [52d340cb8cba]
8914
8915         * LICENSE, alias.c, alloc.c, auth/afs.c, auth/aix_auth.c,
8916         auth/bsdauth.c, auth/fwtk.c, auth/kerb4.c, auth/kerb5.c, auth/pam.c,
8917         auth/securid.c, auth/securid5.c, auth/sia.c, auth/sudo_auth.h,
8918         closefrom.c, compat.h, defaults.c, defaults.h, env.c, fileops.c,
8919         gettime.c, gram.y, ins_csops.h, insults.h, interfaces.c,
8920         interfaces.h, lbuf.c, license.pod, list.c, logging.c, logging.h,
8921         parse.c, parse.h, pwutil.c, redblack.c, redblack.h, snprintf.c,
8922         sudo.c, sudo.pod, sudo_edit.c, sudo_nss.h, sudoers.pod,
8923         testsudoers.c, toke.l, tsgetgrpw.c, utimes.c, version.h, visudo.c,
8924         visudo.pod, zero_bytes.c:
8925         Update copyright years.
8926         [b4e6bf2beafa]
8927
8928         * emul/charclass.h, fnmatch.c, glob.c:
8929         add my copyright
8930         [28681385014a]
8931
8932 2008-11-08  Todd C. Miller  <Todd.Miller@courtesan.com>
8933
8934         * toke.c, toke.l:
8935         The loop in fill_cmnd() was going one byte too far past the end,
8936         resulting in a NUL being written immediately after the buffer end.
8937         [a5a49d603cd7]
8938
8939         * UPGRADE, WHATSNEW:
8940         add sections on tgetpass changes
8941         [2e6929b6a102]
8942
8943         * tgetpass.c:
8944         Treat EOF w/o newline as an error.
8945         [aa02b1db9240]
8946
8947 2008-11-07  Todd C. Miller  <Todd.Miller@courtesan.com>
8948
8949         * parse.c:
8950         Fix "sudo -v" when NOPASSWD is set.
8951         [f4914711ea80]
8952
8953         * auth/bsdauth.c, auth/fwtk.c, auth/pam.c, auth/sudo_auth.c,
8954         auth/sudo_auth.h:
8955         No longer treat an empty password at the prompt as special. To quit
8956         out of sudo you now need to hit ^C at the password prompt.
8957         [980f760ad419]
8958
8959         * sudoers.cat, sudoers.man.in:
8960         regen
8961         [6ca21a2cd869]
8962
8963         * def_data.c, def_data.h, def_data.in, sudo.c, sudoers.pod:
8964         Sudo will now refuse to run if no tty is present unless the new
8965         visiblepw sudoers flag is set.
8966         [0cc56943252e]
8967
8968 2008-11-06  Todd C. Miller  <Todd.Miller@courtesan.com>
8969
8970         * aix.c:
8971         just use RLIM_INFINITY for RLIM_SAVED_MAX if RLIM_SAVED_MAX not
8972         defined
8973         [24fc6f712d5c]
8974
8975         * aix.c:
8976         fix fallback value for RLIM_SAVED_MAX
8977         [e09e04e1af89]
8978
8979         * auth/aix_auth.c, auth/sudo_auth.h:
8980         Move clearing of AUTHSTATE into aixauth_cleanup.
8981         [e14ae7bd259c]
8982
8983         * auth/aix_auth.c, env.c:
8984         Unset AUTHSTATE after calling authenticate() as it may not be
8985         correct for the user we are running the command as.
8986         [d14f68f1b0ab]
8987
8988         * isblank.c:
8989         Add isblank() function for systems without it. Needed for POSIX
8990         character class matching in fnmatch.c and glob.c.
8991         [16cba30b283f]
8992
8993 2008-11-05  Todd C. Miller  <Todd.Miller@courtesan.com>
8994
8995         * TROUBLESHOOTING:
8996         expound on sudo and cd
8997         [8e0fa9033637]
8998
8999 2008-11-04  Todd C. Miller  <Todd.Miller@courtesan.com>
9000
9001         * ChangeLog:
9002         regen
9003         [40cf320a10fc]
9004
9005         * sudoers.cat, sudoers.man.in:
9006         regen
9007         [7cac761ae2c6]
9008
9009         * sudoers.pod:
9010         mention defauts parse order
9011         [4e2ce86d1394]
9012
9013 2008-11-03  Todd C. Miller  <Todd.Miller@courtesan.com>
9014
9015         * Makefile.in, aclocal.m4, compat.h, configure:
9016         Add isblank() function for systems without it. Needed for POSIX
9017         character class matching in fnmatch.c and glob.c.
9018         [a1ab55da8424]
9019
9020         * Makefile.in:
9021         add emul/charclass.h to HDRS
9022         [7e8a019dcaa4]
9023
9024 2008-11-02  Todd C. Miller  <Todd.Miller@courtesan.com>
9025
9026         * TODO:
9027         checkpoint
9028         [afeb9bc1baed]
9029
9030         * defaults.c, parse.c, testsudoers.c, visudo.c:
9031         Move update_defaults into defaults.c and call it properly from
9032         visudo and testsudoers.
9033         [f4dbb369461f]
9034
9035         * defaults.c, interfaces.c, pwutil.c, sudo.c, sudo_edit.c, tgetpass.c,
9036         tsgetgrpw.c:
9037         use zero_bytes() instead of memset() for consistency
9038         [4cee0465f4a8]
9039
9040         * logging.c, mon_systrace.c, parse.c, sudo.c, sudo_edit.c, tgetpass.c,
9041         visudo.c:
9042         Zero out sigaction_t before use in case it has non-standard entries.
9043         [120092225459]
9044
9045         * match.c:
9046         quiet gcc
9047         [098a1df49b23]
9048
9049         * match.c:
9050         Short circuit glob() checks if basename(pattern) !=
9051         basename(command). Refactor code that checks for a command in a
9052         directory and use it in the glob case if the resolved pattern ends
9053         in a '/'.
9054         [3c46fd317acb]
9055
9056 2008-11-01  Todd C. Miller  <Todd.Miller@courtesan.com>
9057
9058         * defaults.h, parse.c, sudo.c, testsudoers.c, visudo.c:
9059         Defer setting runas defaults until after runaspw/gr is setup.
9060         [12e75ee49c0c]
9061
9062 2008-10-29  Todd C. Miller  <Todd.Miller@courtesan.com>
9063
9064         * match.c, sudo.c, testsudoers.c:
9065         Use MAXHOSTNAMELEN+1 when allocating host/domain name since some
9066         systems do not include space for the NUL in the size. Also manually
9067         NUL-terminate buffer from gethostname() since POSIX is wishy-washy
9068         on this.
9069         [7266ab3296a3]
9070
9071 2008-10-26  Todd C. Miller  <Todd.Miller@courtesan.com>
9072
9073         * sudo.c, sudoers.pod:
9074         When setting the umask, use the union of the user's umask and the
9075         default value set in sudoers so that we never lower the user's umask
9076         when running a command.
9077         [4e804b004e38]
9078
9079         * sudo.c:
9080         Don't try to read from a zero-length sudoers file. Remove the bogus
9081         Solaris work-around for EAGAIN. Since we now use fgetc() it should
9082         not be a problem.
9083         [bb8e5f68d944]
9084
9085 2008-10-25  Todd C. Miller  <Todd.Miller@courtesan.com>
9086
9087         * parse.c:
9088         In update_defaults() check the return value of user*_matches against
9089         ALLOW so we don't inadvertantly match on UNSPEC.
9090         [4e422fa1527e]
9091
9092 2008-10-24  Todd C. Miller  <Todd.Miller@courtesan.com>
9093
9094         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.ldap.cat,
9095         sudoers.ldap.man.in, sudoers.man.in, visudo.cat, visudo.man.in:
9096         regen man pages; no more hyphenation
9097         [15de4fe2fe01]
9098
9099         * sudo.c:
9100         Don't error out on a zero-length sudoers file. With the advent of
9101         #include the user could create a situation where sudo is unusable.
9102         [6eb461319fa5]
9103
9104 2008-10-23  Todd C. Miller  <Todd.Miller@courtesan.com>
9105
9106         * auth/kerb5.c, config.h.in, configure, configure.in:
9107         Newer heimdal has 2-argument krb5_get_init_creds_opt_free() like MIT
9108         krb5. Really old heimdal has no krb5_get_init_creds_opt_alloc() at
9109         all. Add configure tests to handle all the cases.
9110         [4b554a98470d]
9111
9112 2008-10-08  Todd C. Miller  <Todd.Miller@courtesan.com>
9113
9114         * sudo.pod:
9115         resort ENVIRONMENT
9116         [f4f20f40653e]
9117
9118         * sudoers.pod:
9119         document sudoers_locale
9120         [0bffd2dbe806]
9121
9122         * sudo.pod, sudo_edit.c:
9123         add SUDO_EDITOR variable that sudoedit uses in preference to VISUAL
9124         or EDITOR
9125         [0ef8cb248cee]
9126
9127         * toke.c, toke.l:
9128         In fill_cmnd(), collapse any escaped sudo-specific characters.
9129         Allows character classes to be used in pathnames.
9130         [5685244c8e44]
9131
9132 2008-10-03  Todd C. Miller  <Todd.Miller@courtesan.com>
9133
9134         * lbuf.c:
9135         fix typo in non-C89 function declaration
9136         [99a7113b3a05]
9137
9138         * sudoers.pod:
9139         Mention POSIX characters classes now that out fnmatch() and glob()
9140         support them.
9141         [9c916f1230c3]
9142
9143         * sample.sudoers, sudoers.pod:
9144         Replace [A-z] (which won't match in UTF8) with [A-Za-z] which is
9145         locale agnostic.
9146         [a60a62bec244]
9147
9148         * parse.h:
9149         use __signed char if we are going to assign a negative value since
9150         on Power, char is unsigned by default
9151         [2877b319df17]
9152
9153         * config.h.in, configure, configure.in:
9154         Add tests for __signed char and signed char.
9155         [5eb874fdf1d4]
9156
9157         * aix.c:
9158         Fix AIX limit setting. getuserattr() returns values in disk blocks
9159         rather than bytes. The default hard stack size in newer AIX is
9160         RLIM_SAVED_MAX. From Dale King.
9161         [3db67415ecc3]
9162
9163 2008-09-26  Todd C. Miller  <Todd.Miller@courtesan.com>
9164
9165         * emul/charclass.h, fnmatch.c, glob.c:
9166         Add character class support to included glob(3) and fnmatch(3).
9167         [6b5b4ad77899]
9168
9169 2008-09-16  Todd C. Miller  <Todd.Miller@courtesan.com>
9170
9171         * emul/fnmatch.h:
9172         Remove UCB advertising clause and some compatibility defines.
9173         [2ade7bee74e1]
9174
9175 2008-09-14  Todd C. Miller  <Todd.Miller@courtesan.com>
9176
9177         * sudo_edit.c:
9178         Check EDITOR/VISUAL to make sure sudoedit is not re-invoking itself
9179         or sudo. This allows one to set EDITOR to sudoedit without getting
9180         into an infinite loop of sudoedit running itself until the path gets
9181         too big.
9182         [aa49ab68f82d]
9183
9184         * def_data.c, def_data.h, def_data.in, defaults.c, sudo.c:
9185         Add sudoers_locale Defaults option to override the default sudoers
9186         locale of "C".
9187         [0639886a35bf]
9188
9189 2008-09-13  Todd C. Miller  <Todd.Miller@courtesan.com>
9190
9191         * sudo.c:
9192         Set locale to system default except for during sudoers parse.
9193         [016dd2736728]
9194
9195 2008-09-12  Todd C. Miller  <Todd.Miller@courtesan.com>
9196
9197         * match.c:
9198         Redo change in 1.34 to use pointer arithmetic.
9199         [f9e7b63bb450]
9200
9201 2008-09-11  Todd C. Miller  <Todd.Miller@courtesan.com>
9202
9203         * match.c:
9204         Fix a dereference (read) of a freed pointer. Reported by Patrick
9205         Williams.
9206         [69877b633753]
9207
9208 2008-08-23  Todd C. Miller  <Todd.Miller@courtesan.com>
9209
9210         * sudo.c:
9211         Set locale to "C" to avoid interpretation issues with character
9212         ranges in sudoers. May want to make the locale a sudoers option in
9213         the future.
9214         [098a95de1746]
9215
9216 2008-08-20  Todd C. Miller  <Todd.Miller@courtesan.com>
9217
9218         * config.h.in:
9219         we no longer use setproctitle
9220         [c7f20fb747ea]
9221
9222         * sudo.h:
9223         remove #if 1
9224         [a368ee6816c6]
9225
9226         * LICENSE, mkstemp.c:
9227         Use my replacement mkstemp() from the mktemp package.
9228         [d07c2beb0f9e]
9229
9230 2008-07-12  Todd C. Miller  <Todd.Miller@courtesan.com>
9231
9232         * gram.c:
9233         regen with yacc skeleton bug fixed
9234         [24784571cbb8]
9235
9236         * sudoers.pod:
9237         Remove duplicate "as root". From Martin Toft.
9238         [97241acfee5e]
9239
9240 2008-07-02  Todd C. Miller  <Todd.Miller@courtesan.com>
9241
9242         * pwutil.c, sudo.c, sudo.h, testsudoers.c:
9243         Flesh out the fake passwd entry used for running commands as a uid
9244         not listed in the passwd database. Fixes an issue with some PAM
9245         modules.
9246         [a6648227f3f2]
9247
9248 2008-07-01  Todd C. Miller  <Todd.Miller@courtesan.com>
9249
9250         * sudo.c:
9251         Error out in -i mode if the user has no shell. This can happen when
9252         running commands as a uid with no password entry.
9253         [0c174bef36ff]
9254
9255 2008-06-26  Todd C. Miller  <Todd.Miller@courtesan.com>
9256
9257         * toke.c, toke.l:
9258         Better fix for line continuation inside double quotes. Now accepts
9259         whitespace between the backslash and the newline like the main
9260         lexer.
9261         [64efcdf86d31]
9262
9263 2008-06-25  Todd C. Miller  <Todd.Miller@courtesan.com>
9264
9265         * toke.c, toke.l:
9266         Fix line continuation in strings. It was only being honored if
9267         preceded by whitespace.
9268         [96c21271a3e4]
9269
9270 2008-06-22  Todd C. Miller  <Todd.Miller@courtesan.com>
9271
9272         * config.h.in, configure, configure.in, logging.c:
9273         Replace the double fork with a fork + daemonize.
9274         [328505441e67]
9275
9276 2008-06-21  Todd C. Miller  <Todd.Miller@courtesan.com>
9277
9278         * env.c, sudo.c:
9279         The -i flag should imply env_reset. This got broken in sudo 1.6.9.
9280         [3caedfeaec87]
9281
9282         * logging.c, sudo.c, sudo_edit.c, visudo.c:
9283         Change how the mailer is waited for. Instead of having a SIGCHLD
9284         handler, use the double fork trick to orphan the child that opens
9285         the pipe to sendmail. Fixes a problem running su on some Linux
9286         distros.
9287         [b59ce60a393d]
9288
9289 2008-06-20  Todd C. Miller  <Todd.Miller@courtesan.com>
9290
9291         * configure, configure.in:
9292         Fix configure test for dirfd() on Linux where DIR is opaque.
9293         [b8f729cdfecc]
9294
9295 2008-06-17  Todd C. Miller  <Todd.Miller@courtesan.com>
9296
9297         * tgetpass.c:
9298         Get rid of the QNX TCSAFLUSH -> TCSADRAIN hack. If QNX still has
9299         this problem we'll need to revisit this again.
9300         [c17fee8ad530]
9301
9302 2008-06-11  Todd C. Miller  <Todd.Miller@courtesan.com>
9303
9304         * logging.c:
9305         Ignore SIGPIPE instead of blocking it when piping to the mailer. If
9306         we only block the signal it may be delivered later when we unblock.
9307         Also, there is no need to block SIGCHLD since we no longer do the
9308         double fork. The normal SIGCHLD handler is sufficient.
9309         [e94a49e992e5]
9310
9311 2008-06-08  Todd C. Miller  <Todd.Miller@courtesan.com>
9312
9313         * configure, configure.in:
9314         Add description for NO_PAM_SESSION, from a redhat patch.
9315         [b9e4c939ec09]
9316
9317 2008-06-06  Todd C. Miller  <Todd.Miller@courtesan.com>
9318
9319         * sudo.cat, sudo.man.in, sudo.pod:
9320         Fix typos in -i usage
9321         [2d7ce5de0235]
9322
9323 2008-05-18  Todd C. Miller  <Todd.Miller@courtesan.com>
9324
9325         * configure, configure.in:
9326         Redo the test for dgettext() in a way that hopefully will work
9327         around the libintl_dgettext() undefined problem.
9328         [d27beb0cf85e]
9329
9330 2008-05-11  Todd C. Miller  <Todd.Miller@courtesan.com>
9331
9332         * schema.ActiveDirectory:
9333         change filename in comment
9334         [733da4ee9ac5]
9335
9336 2008-05-10  Todd C. Miller  <Todd.Miller@courtesan.com>
9337
9338         * Makefile.in, README.LDAP, sudoers.ldap.cat, sudoers.ldap.man.in,
9339         sudoers.ldap.pod:
9340         Reference schema.ActiveDirectory
9341         [d6aec537800e]
9342
9343 2008-05-09  Todd C. Miller  <Todd.Miller@courtesan.com>
9344
9345         * schema.OpenLDAP, schema.iPlanet:
9346         Mark sudoRunAs as deprecated.
9347         [00c50df807af]
9348
9349         * schema.ActiveDirectory:
9350         add sudoRunAsUser and sudoRunAsGroup
9351         [19bcce6f72fb]
9352
9353         * schema.ActiveDirectory:
9354         Active Directory schema by Chantal Paradis and Eric Paquet
9355         [06a09c92c6a5]
9356
9357 2008-05-08  Todd C. Miller  <Todd.Miller@courtesan.com>
9358
9359         * parse.c:
9360         remove an XXX that was fixed
9361         [b88038062fa2]
9362
9363         * ChangeLog:
9364         sync
9365         [8fc27c17270e]
9366
9367         * parse.c:
9368         Initialize tags to UNSPEC instead of def_* in "sudo -l" mode. This
9369         fixes a problem where the tag value printed was influenced by
9370         defaults set in the first pass through the parser.
9371         [588ccd630367]
9372
9373 2008-05-04  Todd C. Miller  <Todd.Miller@courtesan.com>
9374
9375         * Makefile.in, sudo.psf:
9376         No point in packaging the TODO file
9377         [9590248fffe1]
9378
9379         * ChangeLog:
9380         sync
9381         [152acf4c6813]
9382
9383 2008-05-03  Todd C. Miller  <Todd.Miller@courtesan.com>
9384
9385         * WHATSNEW, def_data.c, def_data.h, def_data.in, env.c, sudo.c,
9386         sudo.h, sudoers.cat, sudoers.man.in, sudoers.pod:
9387         Add env_file Defaults option that is similar to /etc/environment on
9388         some systems.
9389         [1daf53d51e18]
9390
9391 2008-05-02  Todd C. Miller  <Todd.Miller@courtesan.com>
9392
9393         * Makefile.in, README, TODO, WHATSNEW, sudo.cat, sudo.man.in,
9394         sudoers.cat, sudoers.ldap.cat, sudoers.ldap.man.in, sudoers.man.in,
9395         version.h, visudo.cat, visudo.man.in:
9396         change version to 1.7.0
9397         [d41d126b9bd8]
9398
9399         * UPGRADE:
9400         initial valgrind pass done
9401         [c59c3876d8ca]
9402
9403 2008-04-23  Todd C. Miller  <Todd.Miller@courtesan.com>
9404
9405         * ldap.c:
9406         Fix typo/think in sudo_ldap_read_secret() when storing the secret.
9407         [830d246c09b0]
9408
9409 2008-04-11  Todd C. Miller  <Todd.Miller@courtesan.com>
9410
9411         * ldap.c:
9412         define LDAPS_PORT if the system headers do not
9413         [247b12325701]
9414
9415 2008-04-10  Todd C. Miller  <Todd.Miller@courtesan.com>
9416
9417         * gram.c, gram.y:
9418         Fix another memory leak in init_parser().
9419         [7bba47deba11]
9420
9421         * configure, configure.in:
9422         There was a missing space before the ldap libs in SUDO_LIBS for some
9423         configurations.
9424         [7524cfc93759]
9425
9426         * alias.c, gram.c, gram.y, toke.c, toke.l:
9427         Clean up some memory leaks pointed out by valgrind.
9428         [a965866ece1a]
9429
9430 2008-04-07  Todd C. Miller  <Todd.Miller@courtesan.com>
9431
9432         * sudo.c:
9433         fix "sudo -s" broken by mode/flags breakout
9434         [acffe984d408]
9435
9436         * configure, configure.in:
9437         remove duplicate check for dgettext
9438         [58145529133c]
9439
9440 2008-04-05  Todd C. Miller  <Todd.Miller@courtesan.com>
9441
9442         * aix.c:
9443         Fall back to default stanza if no user-specific limit is found.
9444         [7b8cb29123ee]
9445
9446 2008-04-02  Todd C. Miller  <Todd.Miller@courtesan.com>
9447
9448         * snprintf.c:
9449         include stdint.h if present
9450         [f0ec38529306]
9451
9452         * snprintf.c:
9453         Use LLONG_MAX, not the old QUAD_MAX
9454         [01041ce508fb]
9455
9456 2008-04-01  Todd C. Miller  <Todd.Miller@courtesan.com>
9457
9458         * sudoers.ldap.pod:
9459         fix cut and pasto
9460         [34240fdef5ab]
9461
9462 2008-03-31  Todd C. Miller  <Todd.Miller@courtesan.com>
9463
9464         * pwutil.c:
9465         Add #ifdef PURITY
9466         [ce1b571ad526]
9467
9468 2008-03-30  Todd C. Miller  <Todd.Miller@courtesan.com>
9469
9470         * auth/bsdauth.c:
9471         remove useless cast
9472         [494f8a862e1d]
9473
9474 2008-03-27  Todd C. Miller  <Todd.Miller@courtesan.com>
9475
9476         * ChangeLog:
9477         sync
9478         [f5c97ffaabcc]
9479
9480         * TODO:
9481         sync
9482         [96ff1c44c182]
9483
9484         * sudo.h:
9485         Split MODE_* defines into primary and flags.
9486         [c02ee3027cb9]
9487
9488 2008-03-26  Todd C. Miller  <Todd.Miller@courtesan.com>
9489
9490         * aix.c:
9491         It turns out the logic for getting AIX limits is more convoluted
9492         than I realized and differs depending on whether the soft and/or
9493         hard limits are defined.
9494         [cf8d3f85d395]
9495
9496 2008-03-23  Todd C. Miller  <Todd.Miller@courtesan.com>
9497
9498         * Makefile.in, configure, configure.in:
9499         Back out AIX-specific change to set the sudo_noexec path to the .a
9500         file, we do really want to use the .so file. Since libtool doesn't
9501         do that correctly, just install the .so file ourselves in the
9502         Makefile.
9503         [05c6f33177d9]
9504
9505         * install-sh:
9506         If the file given to install is a path, only use the basename of the
9507         file when building the destination path.
9508         [695ba4e429ce]
9509
9510 2008-03-18  Todd C. Miller  <Todd.Miller@courtesan.com>
9511
9512         * sudo.c:
9513         parse_args() cleanup: Sort command line options in the getopt()
9514         switch The -U option requires a parameter Normalize a few ISSET
9515         calls Split mode into mode and flags and retire the now-obsolete
9516         excl variable
9517         [0d156835f861]
9518
9519         * WHATSNEW, check.c, sudo.c, sudo.cat, sudo.h, sudo.man.in, sudo.pod,
9520         sudo_usage.h.in:
9521         Add -n (non-interactive) flag.
9522         [e3e50400d32d]
9523
9524         * sudo.c:
9525         Move version printing, etc. into a separate function.
9526         [18c91b476e2c]
9527
9528         * sudo.c:
9529         Don't try to cleanup nsswitch if it has not been initialized.
9530         [aeb1ca1b399d]
9531
9532 2008-03-17  Todd C. Miller  <Todd.Miller@courtesan.com>
9533
9534         * logging.c:
9535         Block SIGPIPE in send_mail() so sudo is not killed by a problem
9536         executing the mailer.
9537         [f130e7924cca]
9538
9539 2008-03-14  Todd C. Miller  <Todd.Miller@courtesan.com>
9540
9541         * configure, configure.in:
9542         AIX shared libs end in .a, not .so.
9543         [a5deb07020d8]
9544
9545 2008-03-13  Todd C. Miller  <Todd.Miller@courtesan.com>
9546
9547         * env.c:
9548         Preserve HOME by default too. Matches documentation and previous
9549         behavior.
9550         [c16f17f1047c]
9551
9552 2008-03-12  Todd C. Miller  <Todd.Miller@courtesan.com>
9553
9554         * sudo.c:
9555         Use getopt() to parse the command line. We need to be able to
9556         intersperse env variables and options yet still honor "--"" which
9557         complicates things slightly.
9558         [60f271ce5c16]
9559
9560 2008-03-06  Todd C. Miller  <Todd.Miller@courtesan.com>
9561
9562         * ChangeLog:
9563         sync
9564         [685e67964eda]
9565
9566         * acsite.m4, configure, ltmain.sh:
9567         update to libtool-1.5.26
9568         [4c9a8c3d3b40]
9569
9570         * config.guess, config.sub:
9571         update from libtool-1.5.26 distribution
9572         [c6641aef2527]
9573
9574         * aix.c, sudo.h:
9575         attempt to fix compilation errors on AIX
9576         [edb13e5b2184]
9577
9578         * Makefile.in:
9579         fix typo in last commit
9580         [25ba7f7ceae4]
9581
9582         * Makefile.in:
9583         Add WHATSNEW file to the distribution
9584         [213f4115de8f]
9585
9586         * visudo.c:
9587         use warningx instead of fprintf(stderr, ...)
9588         [a3494b8ccb19]
9589
9590         * list.c:
9591         add DEBUG to list2tq
9592         [115d24a3000c]
9593
9594         * ChangeLog, TODO:
9595         sync
9596         [60e6f4d1fac0]
9597
9598         * WHATSNEW:
9599         mention mailfrom
9600         [e2498f9e18d6]
9601
9602         * Makefile.in, aix.c, config.h.in, configure, configure.in,
9603         set_perms.c, sudo.h:
9604         Add aix_setlimits() to set resource limits on AIX using a
9605         combination of getuserattr() and setrlimit(). Currently untested.
9606         [9b1441fd89ca]
9607
9608 2008-03-05  Todd C. Miller  <Todd.Miller@courtesan.com>
9609
9610         * def_data.c, def_data.h, def_data.in, logging.c, sudoers.cat,
9611         sudoers.man.in, sudoers.pod:
9612         Add mailfrom Defaults option that sets the value of the From: field
9613         in the warning/error mail. If unset the login name of the invoking
9614         user is used.
9615         [029b9f05d3d9]
9616
9617         * defaults.c:
9618         store a copy of _PATH_SUDO_ASKPASS in def_askpass that is freeable
9619         [a90e407d5e00]
9620
9621         * gram.c, gram.y:
9622         When adding a default, only call list2tq() once to do the list to tq
9623         conversion. It is not legal to call list2tq multiple times on the
9624         same list since list2tq consumes and modifies the list argument.
9625         [fbc25d245c4a]
9626
9627         * sudoers.ldap.cat, sudoers.ldap.man.in, sudoers.ldap.pod:
9628         comment out XXXs for now
9629         [595a1d43309d]
9630
9631         * WHATSNEW:
9632         mention askpass
9633         [b993e0837c22]
9634
9635 2008-03-04  Todd C. Miller  <Todd.Miller@courtesan.com>
9636
9637         * sudo.c:
9638         Error out if both -A and -S are specified Error out if -A is
9639         specified but no askpass is configured
9640         [24f1df2638f6]
9641
9642         * configure, configure.in:
9643         we are not going to ship a sudo-specific askpass
9644         [61949e7a3943]
9645
9646 2008-03-03  Todd C. Miller  <Todd.Miller@courtesan.com>
9647
9648         * sudo.h:
9649         fix definition of TGP_ASKPASS
9650         [0447c57ba4c3]
9651
9652         * def_data.c, def_data.in:
9653         make askpass boolean-capable
9654         [e0885893a325]
9655
9656         * INSTALL:
9657         document --with-askpass
9658         [c76e15ba97cf]
9659
9660         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.ldap.cat,
9661         sudoers.man.in, visudo.cat:
9662         regen
9663         [8d16242980b7]
9664
9665 2008-03-02  Todd C. Miller  <Todd.Miller@courtesan.com>
9666
9667         * sudo.pod, sudo_usage.h.in, sudoers.pod:
9668         document -A and askpass
9669         [02c07505a78c]
9670
9671         * auth/sudo_auth.c, check.c, configure, configure.in, def_data.c,
9672         def_data.h, def_data.in, defaults.c, pathnames.h.in, sudo.c, sudo.h,
9673         sudo_usage.h.in, tgetpass.c:
9674         Add support for running a helper program to read the password when
9675         no tty is present (or when specified with the -A flag). TODO: docs.
9676         [05780f5f71fd]
9677
9678         * def_data.c, def_data.in:
9679         add missing printf format to SELinux role and type strings
9680         [2b32774715e7]
9681
9682 2008-02-27  Todd C. Miller  <Todd.Miller@courtesan.com>
9683
9684         * INSTALL, configure, configure.in:
9685         Disable use of gss_krb5_ccache_name() by default and add
9686         --enable-gss-krb5-ccache-name configure option to enable it. It
9687         seems that gss_krb5_ccache_name() doesn't work properly with some
9688         combinations of Heimdal and OpenLDAP.
9689         [f61ebd3b19bd]
9690
9691 2008-02-22  Todd C. Miller  <Todd.Miller@courtesan.com>
9692
9693         * selinux.c:
9694         Ignore setexeccon() failing in permissive mode. Also add a call to
9695         setkeycreatecon() (though this is probably insufficient). From Dan
9696         Walsh.
9697         [52564fc1c069]
9698
9699         * auth/pam.c:
9700         Only set std_prompt for the PAM_PROMPT_* cases. The conversation
9701         function may be called for non-password reading purposes so we must
9702         be careful not to use def_prompt in cases where it may not be set.
9703         [29d88ca575ba]
9704
9705 2008-02-20  Todd C. Miller  <Todd.Miller@courtesan.com>
9706
9707         * selinux.c:
9708         Don't free the new tty context, we need to keep it around when we
9709         restore the tty context after the command completes
9710         [5b4bd39b6ea8]
9711
9712 2008-02-19  Todd C. Miller  <Todd.Miller@courtesan.com>
9713
9714         * selinux.c:
9715         s/newrole/sudo/
9716         [21b8a96ff8df]
9717
9718         * sudo.man.pl, sudo.pod:
9719         Only put login_cap(3) in SEE ALSO section if we have login.conf
9720         support
9721         [05250ddff2c0]
9722
9723 2008-02-18  Todd C. Miller  <Todd.Miller@courtesan.com>
9724
9725         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.ldap.cat,
9726         sudoers.ldap.man.in, sudoers.man.in, visudo.cat, visudo.man.in:
9727         regen
9728         [301e5c5ccdbe]
9729
9730         * sudoers.pod:
9731         Substitute in comment characters for lines partaining to login.conf,
9732         BSD auth and SELinux and only enable them if pertinent.
9733         [c1c98fa163ce]
9734
9735         * sudoers.man.pl:
9736         Substitute in comment characters for lines partaining to login.conf,
9737         BSD auth and SELinux and only enable them if pertinent.
9738         [6c88f30b878a]
9739
9740         * sudo.pod:
9741         Substitute in comment characters for lines partaining to login.conf,
9742         BSD auth and SELinux and only enable them if pertinent.
9743         [acdbdfd24e1d]
9744
9745         * sudo.man.pl:
9746         Substitute in comment characters for lines partaining to login.conf,
9747         BSD auth and SELinux and only enable them if pertinent.
9748         [0c56d4750ac3]
9749
9750         * Makefile.in, configure, configure.in:
9751         Substitute in comment characters for lines partaining to login.conf,
9752         BSD auth and SELinux and only enable them if pertinent.
9753         [9a02bd6a6658]
9754
9755         * Makefile.in, sudo.pod, sudoers.ldap.pod, sudoers.pod, visudo.pod:
9756         Remove the =cut on the first line (above the copyright notice) to
9757         quiet pod2man. Also remove the hackery in the FILES section and
9758         just deal with the fact that there will a newline between each
9759         pathname.
9760         [2ac1ab191835]
9761
9762 2008-02-17  Todd C. Miller  <Todd.Miller@courtesan.com>
9763
9764         * Makefile.in:
9765         run sudo.man.pl when generating sudo.man.in
9766         [859727369168]
9767
9768         * configure, configure.in, sudo.man.pl:
9769         comment out SELinux manual bits unless --with-selinux was specified
9770         [97ff4212b649]
9771
9772         * sudoers.pod:
9773         document role and type defaults for SELinux
9774         [870f303366b3]
9775
9776         * sudo.c, sudo.cat, sudo.man.in, sudo.pod, sudo_usage.h.in:
9777         Document "sudo -ll" and make "sudo -l -l" be equivalent.
9778         [3ce6dc429ea3]
9779
9780 2008-02-15  Todd C. Miller  <Todd.Miller@courtesan.com>
9781
9782         * configure, configure.in:
9783         Treat k*bsd*-gnu like Linux, not BSD. Fixes compilation problems on
9784         Debian GNU/kFreeBSD.
9785         [c4efa567a328]
9786
9787 2008-02-13  Todd C. Miller  <Todd.Miller@courtesan.com>
9788
9789         * auth/kerb5.c:
9790         Avoid Heimdal'isms introduced in the rev 1.32 rewrite of
9791         verify_krb_v5_tgt()
9792         [f80538e5a6fa]
9793
9794         * logging.c, logging.h, sudo.c:
9795         Remove dependence on VALIDATE_NOT_OK in logging functions. Split
9796         log_auth() into log_allowed() and log_denial() Replace mail_auth()
9797         with should_mail() and a call to send_mail()
9798         [58aac9997557]
9799
9800 2008-02-10  Todd C. Miller  <Todd.Miller@courtesan.com>
9801
9802         * ldap.c:
9803         Add debugging so we can tell if the krb5 ccache is accessible
9804         [c679322527bb]
9805
9806         * INSTALL:
9807         mention --with-selinux
9808         [9efbe0b52194]
9809
9810 2008-02-09  Todd C. Miller  <Todd.Miller@courtesan.com>
9811
9812         * configure:
9813         regen
9814         [467a834f867c]
9815
9816         * selinux.c:
9817         add Sudo tag
9818         [d004ee669bed]
9819
9820         * sudo.c, sudo.cat, sudo.h, sudo.man.in, sudo.pod, sudo_usage.h.in,
9821         sudoers.ldap.cat, sudoers.ldap.man.in, sudoers.ldap.pod,
9822         testsudoers.c, toke.c, toke.l:
9823         Add support for SELinux RBAC. Sudoers entries may specify a role
9824         and type. There are also role and type defaults that may be used.
9825         To make sure a transition occurs, when using RBAC commands are
9826         executed via the new sesh binary. Based on initial changes from Dan
9827         Walsh.
9828         [1d4abfe2c004]
9829
9830         * sesh.c:
9831         Add support for SELinux RBAC. Sudoers entries may specify a role
9832         and type. There are also role and type defaults that may be used.
9833         To make sure a transition occurs, when using RBAC commands are
9834         executed via the new sesh binary. Based on initial changes from Dan
9835         Walsh.
9836         [1e3b395ce049]
9837
9838         * Makefile.in, config.h.in, configure.in, def_data.c, def_data.h,
9839         def_data.in, gram.c, gram.h, gram.y, ldap.c, parse.c, parse.h,
9840         pathnames.h.in, selinux.c:
9841         Add support for SELinux RBAC. Sudoers entries may specify a role
9842         and type. There are also role and type defaults that may be used.
9843         To make sure a transition occurs, when using RBAC commands are
9844         executed via the new sesh binary. Based on initial changes from Dan
9845         Walsh.
9846         [6b421948286e]
9847
9848 2008-02-08  Todd C. Miller  <Todd.Miller@courtesan.com>
9849
9850         * lbuf.c, ldap.c, parse.c, sudo.c, sudo.h, sudo_nss.c:
9851         Add long list (sudo -ll) support for printing verbose LDAP and
9852         sudoers file entries. Still need to update manual.
9853         [2875be37935c]
9854
9855 2008-02-03  Todd C. Miller  <Todd.Miller@courtesan.com>
9856
9857         * ldap.c, parse.c, sudo.h, sudo_nss.c, sudo_nss.h:
9858         Unify the -l output for file and ldap based sudoers and use lbufs
9859         for both. The ldap output does not currently include options that
9860         cannot be represented as tags. This will be remedied in a long list
9861         output mode to come.
9862         [b2e429456596]
9863
9864 2008-01-27  Todd C. Miller  <Todd.Miller@courtesan.com>
9865
9866         * set_perms.c:
9867         Use a specific error message for errno == EAGAIN when setuid() et al
9868         fails. On Linux systems setuid() will fail with errno set to EAGAIN
9869         if changing to the new uid would result in a resource limit
9870         violation.
9871         [08d0aecd9f03]
9872
9873         * sudo.c:
9874         Unlimit nproc on Linux systems where calling the setuid() family of
9875         syscalls causes the nroc resource limit to be checked. The limits
9876         will be reset by pam_limits.so when PAM is used. In the non-PAM
9877         case the nproc limit will remain unlimited but there doesn't seem to
9878         be a way around that other than having sudo parse
9879         /etc/security/limits.conf directly.
9880         [df024b415a8d]
9881
9882         * env.c, sudo.c, sudo.pod:
9883         Only read /etc/environment on Linux and AIX
9884         [90669e2aefdb]
9885
9886 2008-01-23  Todd C. Miller  <Todd.Miller@courtesan.com>
9887
9888         * configure, configure.in:
9889         Use SUDO_DEFINE_UNQUOTED instead of AC_DEFINE_UNQUOTED to prevent
9890         ldap.conf and ldap.secret paths from going into config.h. Avoid
9891         single quotes in variable expansion when using SUDO_DEFINE_UNQUOTED
9892         since in some versions of bash they will end up literally in the
9893         resulting define.
9894         [25390f3ef10a]
9895
9896 2008-01-21  Todd C. Miller  <Todd.Miller@courtesan.com>
9897
9898         * README.LDAP:
9899         mention --with-nsswitch=no
9900         [c509df927263]
9901
9902         * configure, configure.in:
9903         ldap_ssl.h depends on ldap.h being included first
9904         [d96d90e9b21f]
9905
9906         * config.h.in, configure, configure.in, ldap.c:
9907         Include ldap_ssl.h if we can find it. Needed for the
9908         ldapssl_set_strength defines on HP-UX at least.
9909         [9e530470948a]
9910
9911         * sudoers.ldap.pod:
9912         sync
9913         [b9d101f4673a]
9914
9915         * TODO:
9916         sync
9917         [2ce951b2ecd0]
9918
9919         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.ldap.cat,
9920         sudoers.ldap.man.in, sudoers.man.in, visudo.cat, visudo.man.in:
9921         regen
9922         [b61d793987e0]
9923
9924         * Makefile.in:
9925         Use 78n line length when formatting cat pages.
9926         [761bee9d5759]
9927
9928         * README.LDAP:
9929         Remove redundant info that is now in sudoers.ldap.pod
9930         [01828dcce59e]
9931
9932 2008-01-20  Todd C. Miller  <Todd.Miller@courtesan.com>
9933
9934         * sudoers.ldap.cat, sudoers.ldap.man.in, sudoers.ldap.pod:
9935         Reorganize the first section a bit. Substitute the proper path for
9936         /etc/sudoers.
9937         [11ae165e065d]
9938
9939         * sudoers.ldap.cat, sudoers.ldap.man.in, sudoers.ldap.pod:
9940         Substitute values for ldap.conf, ldap.secret and nsswitch.conf Move
9941         schema into EXAMPLES
9942         [ab6509d1dde7]
9943
9944         * configure, configure.in:
9945         Substitute values for ldap.conf, ldap.secret and nsswitch.conf into
9946         sudoers.ldap.man.
9947         [6e689972f465]
9948
9949         * configure, configure.in:
9950         substitute for sudoers.ldap.man
9951         [5a4a25766dee]
9952
9953         * Makefile.in:
9954         Fix cut & pasto introduced when adding sudoers.ldap man page.
9955         [a7b069af8894]
9956
9957         * sudoers.ldap.cat, sudoers.ldap.man.in, sudoers.ldap.pod:
9958         Fill in some of the missing pieces. Still needs some reorganization
9959         and editing.
9960         [5e7331722166]
9961
9962 2008-01-19  Todd C. Miller  <Todd.Miller@courtesan.com>
9963
9964         * Makefile.in, sudoers.ldap.cat, sudoers.ldap.man.in,
9965         sudoers.ldap.pod:
9966         Beginnings of a sudoers.ldap man page. Currently, much of the
9967         information is adapted from README.LDAP.
9968         [aad28c8a922d]
9969
9970 2008-01-18  Todd C. Miller  <Todd.Miller@courtesan.com>
9971
9972         * pwutil.c:
9973         When copying gr_mem we must guarantee that the storage space for
9974         gr_mem is properly aligned. The simplest way to do this is to
9975         simply store gr_mem directly after struct group. This is not a
9976         problem for gr_passwd or gr_name as they are simple strings.
9977         [af58fc76f1ed]
9978
9979         * ldap.c:
9980         Fix a typo/thinko in one of the calls to
9981         sudo_ldap_check_user_netgroup(). From Marco van Wieringen.
9982         [70b2eb8097f5]
9983
9984 2008-01-17  Todd C. Miller  <Todd.Miller@courtesan.com>
9985
9986         * config.h.in, configure, configure.in, ldap.c:
9987         include <mps/ldap_ssl.h> in ldap.c if available
9988         [34346206ef16]
9989
9990 2008-01-16  Todd C. Miller  <Todd.Miller@courtesan.com>
9991
9992         * gram.c, gram.y:
9993         Make sure we define SIZE_MAX for yacc's skeleton.c
9994         [d8a45c7a3c42]
9995
9996         * tgetpass.c:
9997         Use TCSAFLUSH when restoring terminal settings (and echo) to
9998         guarantee that any pending output is discarded
9999         [549a184479e5]
10000
10001 2008-01-15  Todd C. Miller  <Todd.Miller@courtesan.com>
10002
10003         * sudoers:
10004         no longer need to specify SETENV when user has sudo ALL
10005         [3051b41f8032]
10006
10007         * testsudoers.c:
10008         sync user_args size calculation with sudo.c Add -g group option,
10009         renaming old -g to -G Add set_runasgr() and set_runaspw() and use
10010         them
10011         [0850325180f0]
10012
10013         * sudo.c, sudo.h:
10014         Make set_runaspw static void
10015         [5d44d7a340ce]
10016
10017         * testsudoers.c, visudo.c:
10018         g/c set_runaspw stub
10019         [79ebb5e2cc38]
10020
10021         * configure, configure.in:
10022         Don't add -llber twice.
10023         [4356d302eef4]
10024
10025 2008-01-14  Todd C. Miller  <Todd.Miller@courtesan.com>
10026
10027         * ldap.c:
10028         fix typo
10029         [249cecc557e9]
10030
10031 2008-01-13  Todd C. Miller  <Todd.Miller@courtesan.com>
10032
10033         * gram.c:
10034         regen
10035         [2f94ea375b67]
10036
10037         * configure, configure.in:
10038         Fix check that determines whether -llber is required.
10039         [6afa99523379]
10040
10041         * README.LDAP, config.h.in, configure, configure.in, ldap.c:
10042         For netscape-based LDAP, use ldapssl_set_strength() to implement the
10043         checkpeer ldap.conf option.
10044         [16ae24d73795]
10045
10046         * auth/kerb5.c:
10047         Delay krb5_cc_initialize() until we actually need to use the cred
10048         cache, which is what krb5_verify_user() does. Better cleanup on
10049         failure.
10050         [d12e5f1695b8]
10051
10052 2008-01-12  Todd C. Miller  <Todd.Miller@courtesan.com>
10053
10054         * auth/kerb5.c:
10055         Rewrite verify_krb_v5_tgt() based on what heimdal's
10056         krb5_verify_user() does.
10057         [05b5815f86c9]
10058
10059 2008-01-09  Todd C. Miller  <Todd.Miller@courtesan.com>
10060
10061         * gram.c:
10062         The U suffix on constants is an ANSI feature
10063         [c6dfce3167f1]
10064
10065         * configure, configure.in:
10066         Add check for ber_set_option() in -llber
10067         [43d0c0566074]
10068
10069 2008-01-07  Todd C. Miller  <Todd.Miller@courtesan.com>
10070
10071         * README.LDAP:
10072         default if no nsswitch.conf is files only
10073         [c13001d9c998]
10074
10075 2008-01-06  Todd C. Miller  <Todd.Miller@courtesan.com>
10076
10077         * README.LDAP:
10078         don't tell people to mail aaron about LDAP stuff
10079         [8165ec1ef0c6]
10080
10081         * README.LDAP:
10082         timelimit and bind_timelimit
10083         [44f74cbed167]
10084
10085         * ChangeLog:
10086         sync
10087         [aba1a0ab02bd]
10088
10089         * ldap.c:
10090         Move ldap.secret reading into a separate function.
10091         [1948acc9f7a4]
10092
10093         * check.c:
10094         user_runas -> runas_pw
10095         [334490fc2bae]
10096
10097 2008-01-05  Todd C. Miller  <Todd.Miller@courtesan.com>
10098
10099         * TODO:
10100         sync
10101         [c7b165cc47c6]
10102
10103         * check.c, sudo.pod, sudoers.pod:
10104         Add and document the %p escape in the password prompt. Based on a
10105         patch from Patrick Schoenfeld.
10106         [3972d4f31ffa]
10107
10108         * ldap.c:
10109         Check strlcpy() return values.
10110         [9b42f3ae8ff1]
10111
10112         * ldap.c:
10113         refactor ldap binding code into sudo_ldap_bind_s()
10114         [cb0c66a4d955]
10115
10116         * README.LDAP:
10117         Make it clear that host and uri can take multiple parameters. URI is
10118         now supported for more than just openldap nsswitch.conf does't
10119         accept "compat"
10120         [f610dea656d6]
10121
10122         * sudo.c:
10123         comment cleanup and update (c) year
10124         [6cd69c810ca5]
10125
10126         * parse.c, sudo_nss.c:
10127         Move display_privs() and display_cmnd() from parse.c to sudo_nss.c.
10128         This should make it possible to build an LDAP-only sudo binary.
10129         [61c3f27066a0]
10130
10131         * ldap.c, parse.c, sudo.c, sudo.h, sudo_nss.h:
10132         Improve chaining of multiple sudoers sources by passing in the
10133         previous return value to the next in the chain
10134         [2c0b722b1b2d]
10135
10136         * gram.y:
10137         Free up parser data structures in sudo_file_close().
10138         [2251531d4519]
10139
10140         * gram.c, parse.c:
10141         Free up parser data structures in sudo_file_close().
10142         [8371f130f401]
10143
10144         * ldap.c:
10145         Parse uri ourself if no ldap_initialize() is present Use
10146         ldap_create() instead of deprecated ldap_init() Use
10147         ldap_sasl_bind_s() instead of deprecated ldap_simple_bind_s()
10148         [85d3825b1953]
10149
10150         * config.h.in, configure, configure.in:
10151         Add check for ldap_sasl_bind_s() Remove -DLDAP_DEPRECATED from
10152         CFLAGS
10153         [240524512bc5]
10154
10155 2008-01-04  Todd C. Miller  <Todd.Miller@courtesan.com>
10156
10157         * config.h.in, configure, configure.in:
10158         add check for ldap_create
10159         [3089badd73b8]
10160
10161 2008-01-03  Todd C. Miller  <Todd.Miller@courtesan.com>
10162
10163         * config.h.in, configure, configure.in, ldap.c:
10164         Add sudo_ldap_get_first_rdn() to return the first rdn of an entry's
10165         dn using the mechanism appropriate for the LDAP SDK in use. Use
10166         ldap_unbind_ext_s() instead of deprecated ldap_unbind_s(). Emulate
10167         ldap_unbind_ext_s() and ldap_search_ext_s() for SDK's without them.
10168         [6deeca3d00cc]
10169
10170         * lbuf.c:
10171         include unistd.h
10172         [8419ed0bae7f]
10173
10174         * config.h.in, configure.in:
10175         fix typo in mtim_getnsec
10176         [2d5f21230a60]
10177
10178 2008-01-02  Todd C. Miller  <Todd.Miller@courtesan.com>
10179
10180         * config.h.in, configure, configure.in:
10181         add check for st__tim in struct stat as used by SCO
10182         [587060ea2a89]
10183
10184         * ldap.c:
10185         use ldap_search_ext_s instead of deprecated ldap_search_s
10186         [5fc44fe3b44c]
10187
10188         * Makefile.in, TODO, sudo.cat, sudo.man.in:
10189         add sudo_nss.h to HDRS
10190         [86f01a70ff29]
10191
10192         * ldap.c:
10193         Replace deprecated ldap_explode_dn() with calls to ldap_str2dn() and
10194         ldap_rdn2str().
10195         [aa217002cfae]
10196
10197 2008-01-01  Todd C. Miller  <Todd.Miller@courtesan.com>
10198
10199         * ldap.c:
10200         Use ldap_get_values_len()/ldap_value_free_len() instead of the
10201         deprecated ldap_get_values()/ldap_value_free().
10202         [e22dceb85e57]
10203
10204         * ChangeLog:
10205         sync
10206         [adad27b36107]
10207
10208         * TODO:
10209         sync
10210         [c449eb47e0ef]
10211
10212         * gettime.c, sudo.c:
10213         Remove some already fixed XXXs
10214         [532788d0e6da]
10215
10216         * ldap.c:
10217         Same return value as non-existent sudoers if LDAP was unable to
10218         connect.
10219         [5819810e8e4e]
10220
10221         * sudo.pod:
10222         mention /etc/environment
10223         [ea8e6102f853]
10224
10225         * README.LDAP, UPGRADE, WHATSNEW:
10226         Update to reflect recent developments.
10227         [ed1fb026fe77]
10228
10229         * sudo.c:
10230         Print nsswitch.conf, ldap.conf and ldap.secret paths in -V output.
10231         [55b68a58260d]
10232
10233         * ldap.c:
10234         When building up a query don't list groups in the aux group vector
10235         that are the same as the passwd file group. On most systems the
10236         first gid in the group vector is the same as the passwd entry gid.
10237         [4bb51e297e0d]
10238
10239         * env.c, ldap.c:
10240         Define LDAPNOINIT before calling ldap_init(), etc. to disable user
10241         ldaprc and system defaults that could affect how LDAP works.
10242         [ce5036440db2]
10243
10244         * INSTALL, configure, configure.in, pathnames.h.in, sudo.c,
10245         sudo_nss.c, sudo_nss.h:
10246         Rename read_nss -> sudo_read_nss Add --with-nsswitch to allow users
10247         to specify nsswitch.conf path or disable it. If --with-nsswitch=no
10248         but --with-ldap, order is LDAP, then sudoers. Fix --with-ldap-conf-
10249         file and --with-ldap-secret-file
10250         [ea5d7704381f]
10251
10252         * parse.c:
10253         Honor def_ignore_local_sudoers
10254         [f38e1121fae1]
10255
10256 2007-12-31  Todd C. Miller  <Todd.Miller@courtesan.com>
10257
10258         * ldap.c:
10259         no longer need to check def_ignore_local_sudoers here
10260         [fce2a72f96fb]
10261
10262         * parse.c:
10263         Refactor group vector resetting into a function and also call it
10264         from display_cmnd. Stop after the first sucessful match in
10265         display_cmnd. Print a newline between each display_privs method.
10266         [981b37b5adff]
10267
10268         * parse.c:
10269         fix double free introduced in rev 1.218
10270         [c574b02d8747]
10271
10272         * ldap.c:
10273         belt and suspenders; zero out result after freeing it
10274         [7732988d4620]
10275
10276         * env.c, fileops.c, ldap.c, sudo.h, sudo_nss.c:
10277         Refactor line reading into a separate function, sudo_parseln(),
10278         which removes comments, leading/trailing whitespace and newlines.
10279         May want to rethink the use of sudo_parseln() for /etc/ldap.secret
10280         [61d9068f0645]
10281
10282         * parse.c, sudo.c:
10283         Make the inability to read the sudoers file a non-fatal error if
10284         there are other sudoers sources available. sudoers_file_lookup now
10285         returns "not OK" if sudoers was not present
10286         [643babf597a8]
10287
10288         * ldap.c:
10289         make it clear that the global options are from LDAP
10290         [9ff950349463]
10291
10292         * logging.c:
10293         allocate proper amount of space for error string
10294         [8bebb7d46d19]
10295
10296         * sudo_nss.c, sudo_nss.h:
10297         actual sudo nss code
10298         [5bd7d52d7738]
10299
10300         * ldap.c, parse.c, sudo.c, sudo.h:
10301         nss-ify display_privs and display_cmnd.
10302         [cccfdd3253f2]
10303
10304         * defaults.c, parse.c, testsudoers.c, visudo.c:
10305         move update_defaults() to parse.c
10306         [ace144b958a9]
10307
10308         * Makefile.in, ldap.c, list.c, parse.c, parse.h, sudo.c, sudo.h:
10309         Use nsswitch to hide some sudoers vs. ldap implementation details
10310         and reduce the number of #ifdef LDAP TODO: fix display routines and
10311         error handling
10312         [6225edde89a6]
10313
10314 2007-12-28  Todd C. Miller  <Todd.Miller@courtesan.com>
10315
10316         * Makefile.in, README.LDAP, ldap.c, pathnames.h.in, sudo.c, sudo.h:
10317         First cut at nsswitch.conf support. Further reorganizaton and
10318         related changes are forthcoming.
10319         [717f59d0790b]
10320
10321 2007-12-21  Todd C. Miller  <Todd.Miller@courtesan.com>
10322
10323         * env.c, pathnames.h.in, sudo.c, sudo.h:
10324         Add support for reading and /etc/environment file. Still needs to
10325         be documented and should probably only applies to OSes that have it
10326         (AIX and Linux, maybe others).
10327         [15d3edae27e4]
10328
10329         * ldap.c:
10330         include limits.h
10331         [e19875ef0f82]
10332
10333 2007-12-20  Todd C. Miller  <Todd.Miller@courtesan.com>
10334
10335         * WHATSNEW:
10336         reword LDAP SASL
10337         [7ec3c4ec31b5]
10338
10339 2007-12-19  Todd C. Miller  <Todd.Miller@courtesan.com>
10340
10341         * TODO:
10342         sync
10343         [87c5a7aea7bf]
10344
10345         * README.LDAP:
10346         Add an example sudoRole, clarify netscape vs. openldap a bit more
10347         [6f96c0ca8107]
10348
10349         * README.LDAP:
10350         Be clear on what is OpenLDAP vs. Netscape-derived
10351         [a33c8314dec5]
10352
10353         * config.h.in, configure, configure.in, ldap.c:
10354         Use ldapssl_init() for ldaps support instead of trying to do it
10355         manually with ldap_init() + ldapssl_install_routines(). Use tls_cert
10356         and tls_key for cert7.db and key3.db respectively. Don't print
10357         debugging info for options that are not set. Add warning if
10358         start_tls specified when not supported.
10359         [abb62dc7e4a3]
10360
10361         * ldap.c:
10362         fix compilation on solaris
10363         [03d449684e80]
10364
10365         * Makefile.in:
10366         add missing .h and .c files for missing lib objs
10367         [8b37825bdfc7]
10368
10369 2007-12-18  Todd C. Miller  <Todd.Miller@courtesan.com>
10370
10371         * ldap.c:
10372         fix LDAP_OPT_NETWORK_TIMEOUT setting
10373         [226eba89c0ad]
10374
10375         * ldap.c:
10376         fix compilation on Solaris
10377         [917d47639eb6]
10378
10379 2007-12-17  Todd C. Miller  <Todd.Miller@courtesan.com>
10380
10381         * configure, configure.in:
10382         fix typo
10383         [009d5c81b225]
10384
10385         * README.LDAP:
10386         try to clear up which variables are for OpenLDAP and which are for
10387         netscape-derived SDKs
10388         [f8d9823ee73c]
10389
10390         * config.h.in, configure, configure.in, ldap.c:
10391         Add support for "ssl on" in both netscape and openldap flavors. Only
10392         the OpenLDAP flavor has been tested.
10393         [952745829ec5]
10394
10395         * logging.c, sudo.c, sudo.h:
10396         Call cleanup() before exit in log_error() instead of calling
10397         sudo_ldap_close() directly. ldap_conn can now be static to sudo.c
10398         [da02d1b67a2c]
10399
10400         * sudo.c:
10401         ld -> ldap_conn
10402         [01afa6d927cc]
10403
10404 2007-12-16  Todd C. Miller  <Todd.Miller@courtesan.com>
10405
10406         * logging.c, sudo.c, sudo.h:
10407         Better ldap cleanup.
10408         [25b9abe2d617]
10409
10410         * ldap.c:
10411         Distinguish between LDAP conf settings that are connection-specific
10412         (which take an ld pointer) and those that are default settings
10413         (which do not).
10414         [d48dc6c9c3b4]
10415
10416 2007-12-14  Todd C. Miller  <Todd.Miller@courtesan.com>
10417
10418         * ldap.c:
10419         Improved warnings on error.
10420         [c8dce7b4feb4]
10421
10422         * ldap.c:
10423         Make ldap config table driven and set the config *after* we open the
10424         connection.
10425         [d9698b5a2681]
10426
10427 2007-12-13  Todd C. Miller  <Todd.Miller@courtesan.com>
10428
10429         * ldap.c:
10430         fix LDAP_OPT_X_CONNECT_TIMEOUT compat define
10431         [598c6df06660]
10432
10433         * configure, configure.in:
10434         some operating systems need to link with -lkrb5support when using
10435         krb5
10436         [8896365dde9e]
10437
10438 2007-12-10  Todd C. Miller  <Todd.Miller@courtesan.com>
10439
10440         * WHATSNEW:
10441         minor update
10442         [acfeeb7f4886]
10443
10444         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in:
10445         regen
10446         [a3c6699674f9]
10447
10448 2007-12-08  Todd C. Miller  <Todd.Miller@courtesan.com>
10449
10450         * ChangeLog, TODO:
10451         sync
10452         [138e99b925ee]
10453
10454         * ldap.c, schema.OpenLDAP, schema.iPlanet, sudoers2ldif:
10455         add -g support for LDAP
10456         [8fc27dbe9287]
10457
10458 2007-12-03  Todd C. Miller  <Todd.Miller@courtesan.com>
10459
10460         * WHATSNEW, sudo.c, sudo.pod, sudo_usage.h.in:
10461         The -i and -s flags can now take an optional command.
10462         [6afec104ee77]
10463
10464 2007-12-02  Todd C. Miller  <Todd.Miller@courtesan.com>
10465
10466         * auth/pam.c, def_data.c, def_data.h, def_data.in, sudo.c, sudo.pod,
10467         sudoers.pod:
10468         Add passprompt_override flag to sudoers that will cause the prompt
10469         to be overridden in all cases. This flag is also set when the user
10470         specifies the -p flag.
10471         [e4c5402131a6]
10472
10473         * sudo.c:
10474         Move setting of login class until after sudoers has been parsed. Set
10475         NewArgv[0] for -i after runas_pw has been set.
10476         [62a48c8c56fa]
10477
10478         * configure, configure.in:
10479         Move the dgettext check.
10480         [5fd8a4712d1c]
10481
10482 2007-12-01  Todd C. Miller  <Todd.Miller@courtesan.com>
10483
10484         * auth/pam.c, config.h.in, configure, configure.in:
10485         Add basic support for looking up the string "Password: " in the PAM
10486         localized text db. This allows us to determine whether the PAM
10487         prompt is the default "Password: " one even if it has been
10488         localized.
10489
10490         TODO: concatenate non-std PAM prompts and user-specified sudo
10491         prompts.
10492         [81c25a415d41]
10493
10494 2007-11-27  Todd C. Miller  <Todd.Miller@courtesan.com>
10495
10496         * Makefile.in, config.h.in, configure, configure.in, parse.c,
10497         set_perms.c, sudo.c, sudo.h:
10498         Use AC_FUNC_GETGROUPS instead of a home-grown attempt that was
10499         insufficient.
10500         [1cce6ec1a91e]
10501
10502         * acsite.m4, configure, interfaces.c, memrchr.c:
10503         Fix typos; Martynas Venckus
10504         [be1233cca11a]
10505
10506 2007-11-26  Todd C. Miller  <Todd.Miller@courtesan.com>
10507
10508         * set_perms.c:
10509         Don't assume runas_pw is set; it may not be in the -g case.
10510         [aa11bd2193ac]
10511
10512 2007-11-25  Todd C. Miller  <Todd.Miller@courtesan.com>
10513
10514         * logging.c, set_perms.c:
10515         Set aux group vector for PERM_RUNAS and restore group vector for
10516         PERM_ROOT if we previously changed it. Stash the runas group vector
10517         so we don't have to call initgroups more than once. Also add no-op
10518         check to check_perms.
10519         [53837fc755f7]
10520
10521 2007-11-21  Todd C. Miller  <Todd.Miller@courtesan.com>
10522
10523         * WHATSNEW, check.c, def_data.in, defaults.c, gram.c, gram.h, gram.y,
10524         ldap.c, logging.c, match.c, mon_systrace.c, parse.c, parse.h,
10525         pwutil.c, set_perms.c, sudo.c, sudo.cat, sudo.h, sudo.man.in,
10526         sudo.pod, sudo_usage.h.in, sudoers.cat, sudoers.man.in, sudoers.pod,
10527         testsudoers.c, visudo.c, visudo.cat, visudo.man.in:
10528         Add support for runas groups. This allows the user to run a command
10529         with a different effective group. If the -g option is specified
10530         without -u the command will be run as the current user (only the
10531         group will change). the -g and -u options may be used together.
10532         TODO: implement runas group for ldap improve runas group
10533         documentation add testsudoers support
10534         [9019309df6d0]
10535
10536         * configure, configure.in:
10537         fix setting of mandir
10538         [2c60f269399f]
10539
10540         * sudo.pod, sudoers.pod:
10541         document that ALL implies SETENV
10542         [bcc8e5b703b9]
10543
10544         * ldap.c:
10545         s/setenv_ok/setenv_implied/g
10546         [f005df2c2eea]
10547
10548         * ldap.c:
10549         hostname_matches() returns TRUE on match in sudo 1.7.
10550         [c3d4377b6e8b]
10551
10552         * ldap.c:
10553         use strcmp, not strcasecmp when comparing ALL
10554         [e486024574a1]
10555
10556         * ldap.c:
10557         Make sudo ALL imply setenv. Note that unlike with file-based
10558         sudoers this does affect all the commands in the sudoRole.
10559         [bc12f54321d1]
10560
10561         * gram.c, gram.y, parse.c, parse.h:
10562         sudo "ALL" now implies the SETENV tag but, unlike an explicit tag,
10563         it is not passed on to other commands in the list.
10564         [026e2cb40680]
10565
10566         * visudo.c:
10567         Add missing sudo_setpwent() and sudo_setgrent() calls. Also use
10568         sudo_getpwuid() instead of getpwuid().
10569         [86f30a8fbd49]
10570
10571 2007-11-15  Todd C. Miller  <Todd.Miller@courtesan.com>
10572
10573         * sudoers:
10574         Expand on the dangers of not using visudo to edit sudoers.
10575         [e434e8057d02]
10576
10577 2007-11-08  Todd C. Miller  <Todd.Miller@courtesan.com>
10578
10579         * parse.c:
10580         Don't quote *?[]! on output since the lexer does not strip off the
10581         backslash when reading those in.
10582         [561da4a13afa]
10583
10584 2007-11-07  Todd C. Miller  <Todd.Miller@courtesan.com>
10585
10586         * glob.c:
10587         expand "u_foo" types to "unsigned foo" to avoid compatibility
10588         issues.
10589         [b0d7c64d78c3]
10590
10591 2007-11-04  Todd C. Miller  <Todd.Miller@courtesan.com>
10592
10593         * logging.c:
10594         Refactor log line generation in to new_logline().
10595         [6a9b9730615d]
10596
10597 2007-10-25  Todd C. Miller  <Todd.Miller@courtesan.com>
10598
10599         * TROUBLESHOOTING:
10600         fix typo
10601         [9e19d4f86e47]
10602
10603 2007-10-24  Todd C. Miller  <Todd.Miller@courtesan.com>
10604
10605         * config.h.in, configure, configure.in, interfaces.c, interfaces.h,
10606         match.c:
10607         Add configure check for struct in6_addr instead of relying on
10608         AF_INET6 since some systems define AF_INET6 but do not include IPv6
10609         support.
10610         [e24082c416bd]
10611
10612 2007-10-21  Todd C. Miller  <Todd.Miller@courtesan.com>
10613
10614         * configure, configure.in:
10615         Fix block to add -lutil for FreeBSD and NetBSD when logincap is in
10616         use.
10617         [76a9df4a63be]
10618
10619 2007-10-20  Todd C. Miller  <Todd.Miller@courtesan.com>
10620
10621         * configure, configure.in:
10622         POSIX states that struct timespec be declared in time.h so check
10623         there regardless of the value of TIME_WITH_SYS_TIME.
10624         [e42c55ec9daf]
10625
10626 2007-10-17  Todd C. Miller  <Todd.Miller@courtesan.com>
10627
10628         * tgetpass.c:
10629         Instead of defining a macro to call the appropriate method for
10630         turning on/off echo, just define tc[gs]etattr() and the related
10631         defines that use the correct terminal ioctls if needed. Also go back
10632         to using TCSAFLUSH instead of TCSADRAIN on all but QNX.
10633         [5dfb2379d995]
10634
10635 2007-10-09  Todd C. Miller  <Todd.Miller@courtesan.com>
10636
10637         * Makefile.in:
10638         g/c @ALLOCA@
10639         [e6946c2e3820]
10640
10641         * configure:
10642         regen
10643         [9bac7159a138]
10644
10645         * INSTALL, auth/pam.c, config.h.in, configure.in:
10646         Add --disable-pam-session configure option to disable calling
10647         pam_{open,close}_session. May work around bugs in some PAM
10648         implementations.
10649         [273d0fdb4a9d]
10650
10651 2007-10-08  Todd C. Miller  <Todd.Miller@courtesan.com>
10652
10653         * tgetpass.c:
10654         quiet gcc warnings
10655         [325565c5a579]
10656
10657         * tgetpass.c:
10658         Avoid printing the prompt if we are already backgrounded. E.g. if
10659         the user runs "sudo foo &" from the shell. In this case, the call
10660         to tcsetattr() will cause SIGTTOU to be delivered.
10661         [db2139a8d8b8]
10662
10663 2007-09-15  Todd C. Miller  <Todd.Miller@courtesan.com>
10664
10665         * def_data.c, def_data.h, def_data.in:
10666         Reorder things such that the definition of env_reset come right
10667         before the env variable lists.
10668         [e0d8e22a581a]
10669
10670         * parse.h:
10671         Shrink type and seqno in struct alias from int to u_short
10672         [9425263dd565]
10673
10674         * alias.c, match.c, parse.c, parse.h:
10675         Add a sequence number in the aliases for loop detection. If we find
10676         an alias with the seqno already set to the current (global) value we
10677         know we've visited it before so ignore it.
10678         [301a0548ffff]
10679
10680 2007-09-13  Todd C. Miller  <Todd.Miller@courtesan.com>
10681
10682         * TODO, auth/pam.c, sudo.c, sudo.h:
10683         PAM wants the full tty path so add user_ttypath which holds the full
10684         path to the tty or is NULL if no tty was present.
10685         [c7c1dd4b36c8]
10686
10687         * auth/pam.c:
10688         Set PAM_RHOST to work around a bug in Solaris 7 and lower that
10689         results in a segv.
10690         [3a8865b3a357]
10691
10692 2007-09-11  Todd C. Miller  <Todd.Miller@courtesan.com>
10693
10694         * gram.c:
10695         regen
10696         [5647be127950]
10697
10698         * alias.c, defaults.c, gram.y, list.c, list.h, match.c, parse.c,
10699         parse.h, testsudoers.c, visudo.c:
10700         rename lh_ -> tq_
10701         [8f500c542c4a]
10702
10703 2007-09-10  Todd C. Miller  <Todd.Miller@courtesan.com>
10704
10705         * alloc.c:
10706         remove some useless casts
10707         [409a448b23f5]
10708
10709         * alloc.c:
10710         pull in inttypes.h for SIZE_MAX; we avoid stdint.h since inttypes.h
10711         predates the final C99 spec and the standard specifies that it shall
10712         include stdint.h anyway
10713         [ae478fdef61a]
10714
10715 2007-09-06  Todd C. Miller  <Todd.Miller@courtesan.com>
10716
10717         * Makefile.in, alloca.c, configure.in:
10718         Since we ship with a pre-generated parser there is no need to ship a
10719         bogus alloca implementation.
10720         [3f611a7cc0e5]
10721
10722         * configure:
10723         regen
10724         [771eccf5269c]
10725
10726         * configure.in:
10727         remove initial setting of CHECKSIA, we require that it be unset if
10728         not used
10729         [a2e91adc5aa2]
10730
10731         * Makefile.in:
10732         add list.c to SRCS
10733         [7db0e56cf5b9]
10734
10735         * configure:
10736         regen
10737         [3716ec30172e]
10738
10739         * configure.in:
10740         only do SIA checks on Digital Unix
10741         [6a96e1af2597]
10742
10743 2007-09-05  Todd C. Miller  <Todd.Miller@courtesan.com>
10744
10745         * sudoers.cat, sudoers.man.in:
10746         regen
10747         [ac1dc29de72b]
10748
10749         * ChangeLog, TODO:
10750         sync
10751         [781effce0a2d]
10752
10753         * auth/kerb5.c:
10754         Remove call to krb5_cc_register() as it is not needed for modern
10755         kerb5.
10756         [351b8b764f16]
10757
10758         * configure:
10759         regen
10760         [ac21dbcc9c2c]
10761
10762         * aclocal.m4, configure.in:
10763         New method for setting the default authentication type and avoiding
10764         conflicts in auth types.
10765         [5fb15be11f78]
10766
10767         * match.c, parse.c, testsudoers.c:
10768         Each entry in a cmndlist now has an associated runaslist so no need
10769         to keep track of the most recent non-NULL one.
10770         [582e015786b0]
10771
10772 2007-09-04  Todd C. Miller  <Todd.Miller@courtesan.com>
10773
10774         * ldap.c:
10775         back out partial ldaps support mistakenly committed
10776         [357703e94b2d]
10777
10778         * ldap.c:
10779         Add support for unix groups and netgroups in sudoRunas
10780         [2f04eb91c6d0]
10781
10782 2007-09-03  Todd C. Miller  <Todd.Miller@courtesan.com>
10783
10784         * sudo_edit.c:
10785         Fix sudoedit of a non-existent file. From Tilo Stritzky.
10786         [a5488a03bddd]
10787
10788 2007-09-02  Todd C. Miller  <Todd.Miller@courtesan.com>
10789
10790         * configure:
10791         regen
10792         [541177376ee1]
10793
10794         * INSTALL:
10795         update --passprompt escape info
10796         [6d57db4cd538]
10797
10798         * configure.in:
10799         remove now-bogus comment and update copyright date
10800         [6a4af45fa331]
10801
10802         * configure.in:
10803         Fix up use of with_passwd
10804         [7c79d8640f77]
10805
10806         * acsite.m4, config.guess, config.sub, configure.in, ltmain.sh:
10807         Update to autoconf-2.61 andf libtool-1.5.24
10808         [045259b0b439]
10809
10810         * Makefile.in:
10811         "cmp -s" not just cmp Add @datarootdir@ to quiet autoconf-2.61
10812         [f5b6a7afb817]
10813
10814 2007-09-01  Todd C. Miller  <Todd.Miller@courtesan.com>
10815
10816         * gram.c:
10817         regen
10818         [b5b78e71d2cb]
10819
10820         * gram.y:
10821         move tags and runaslist propagation to be earlier
10822         [94f7805f4489]
10823
10824         * visudo.c:
10825         If -f flag given use the permissions of the original file as a
10826         template
10827         [9303d22bddb0]
10828
10829         * gram.y:
10830         prevent a double free() when re-initing the parser
10831         [5b3907c4de5a]
10832
10833 2007-08-31  Todd C. Miller  <Todd.Miller@courtesan.com>
10834
10835         * configure:
10836         regen
10837         [49a90b19a17d]
10838
10839         * aclocal.m4, alias.c, alloc.c, auth/API, auth/afs.c, auth/bsdauth.c,
10840         auth/kerb4.c, auth/kerb5.c, auth/pam.c, auth/securid.c,
10841         auth/securid5.c, auth/sia.c, auth/sudo_auth.h, config.h.in,
10842         configure.in, env.c, ldap.c, list.c, list.h, memrchr.c, parse.c,
10843         parse.h, pwutil.c, redblack.c, redblack.h, snprintf.c, sudo.c,
10844         sudo.h, testsudoers.c, visudo.c, zero_bytes.c:
10845         Remove support for compilers that don't support void *
10846         [35e1d01ae197]
10847
10848         * gram.c:
10849         regen
10850         [70ce412a458a]
10851
10852         * Makefile.in, alias.c, defaults.c, gram.y, list.c, list.h, match.c,
10853         parse.c, parse.h, testsudoers.c, visudo.c:
10854         Move list manipulation macros to list.h and create C versions of the
10855         more complex ones in list.c. The names have been down-cased so they
10856         appear more like normal functions.
10857         [9cea0e281148]
10858
10859         * Makefile.in:
10860         Fix cmp command when regenerating parser. Make gram.o the first
10861         dependency for all programs so gram.h will be generated before
10862         anything that needs it.
10863         [429ea065abf1]
10864
10865         * gram.y, parse.h:
10866         Convert NEW_DEFAULT anf NEW_MEMBER into static functions.
10867         [2f3433833589]
10868
10869         * match.c, parse.c, testsudoers.c:
10870         Use LH_FOREACH_REV when checking permission and short-circuit on the
10871         first non-UNSPEC hit we get for the command. This means that
10872         instead of cycling through the all the parsed sudoers entries we
10873         start at the end and work backwards and quit after the first
10874         positive or negative match.
10875         [881474532f3e]
10876
10877         * gram.c:
10878         regen
10879         [9152a19d4188]
10880
10881         * defaults.c, gram.y, parse.c, parse.h, testsudoers.c, visudo.c:
10882         Change list head macros to take a pointer, not a struct.
10883         [054f1dcce4cc]
10884
10885         * gram.c:
10886         regen
10887         [be154aae6235]
10888
10889         * gram.y:
10890         Propagate the runasspec from one command to the next in a cmndspec.
10891         [4957b1cb03a3]
10892
10893 2007-08-30  Todd C. Miller  <Todd.Miller@courtesan.com>
10894
10895         * match.c:
10896         Replace has_meta() with a macro that calls strpbrk().
10897         [a2e58846a542]
10898
10899         * regen
10900         [5a932a5c9451]
10901
10902         * alias.c, defaults.c, gram.y, match.c, parse.c, parse.h,
10903         testsudoers.c, visudo.c:
10904         Use a list head struct when storing the semi-circular lists and
10905         convert to tail queues in the process. This will allow us to
10906         reverse foreach loops more easily and it makes it clearer which
10907         functions expect a list as opposed to a single member.
10908
10909         Add macros for manipulating lists. Some of these should become
10910         functions.
10911
10912         When freeing up a list, just pop off the last item in the queue
10913         instead of going from head to tail. This is simpler since we don't
10914         have to stash a pointer to the next member, we always just use the
10915         last one in the queue until the queue is empty.
10916
10917         Rename match functions that take a list to have list in the name.
10918         Break cmnd_matches() into cmnd_matches() and cmndlist_matches.
10919         [7c37b271607a]
10920
10921         * parse.c:
10922         Fix pasto, append "!" not negated (which is an int) for sudo -l
10923         output.
10924         [93a444c3997f]
10925
10926         * Makefile.in:
10927         Remove the dependency of gram .h on gram.y, the .c dependency is
10928         enough. Only move y.tab.h to gram.h if it is different; avoids
10929         needless rebuilding.
10930         [67bf4ea2a2e5]
10931
10932 2007-08-27  Todd C. Miller  <Todd.Miller@courtesan.com>
10933
10934         * sudoers.pod:
10935         Defaults lines may be associated with lists of users, hosts,
10936         commands and runas users, not just single entries.
10937         [795effacb6be]
10938
10939 2007-08-26  Todd C. Miller  <Todd.Miller@courtesan.com>
10940
10941         * Makefile.in:
10942         Revert the "cmp" portion of the last diff, it doesn't make sense.
10943         [26f34bf4e2e3]
10944
10945         * Makefile.in:
10946         Remove *.lo for clean: When generating the parser, only move the
10947         generated files into place if they differ from the existing ones.
10948         [84673fea371b]
10949
10950 2007-08-25  Todd C. Miller  <Todd.Miller@courtesan.com>
10951
10952         * toke.c, toke.l:
10953         Replace IPV6 regexp with a much simpler (readable) one and add an
10954         extra check when it matches to make sure we have a valid address.
10955         [592e9f690556]
10956
10957         * match.c:
10958         Fix thinko introduced when merging IPV6 support.
10959         [da38cd5eb8c7]
10960
10961 2007-08-24  Todd C. Miller  <Todd.Miller@courtesan.com>
10962
10963         * HISTORY, LICENSE:
10964         regen
10965         [0d7b27b90634]
10966
10967         * license.pod:
10968         add 2007
10969         [510e5048ae1a]
10970
10971         * UPGRADE:
10972         mention #uid vs. comment pitfall
10973         [4d2861898bcc]
10974
10975         * acsite.m4:
10976         Merge in a patch from the libtool cvs that fixes a problem with the
10977         latest autoconf. From Stepan Kasal.
10978         [0c279ae7df3e]
10979
10980         * parse.h:
10981         Back out he XOR swap trick, it is slower than a temp variable on
10982         modern CPUs.
10983         [91c4b024e317]
10984
10985         * gram.c:
10986         regen
10987         [cb6d4106fb74]
10988
10989         * gram.y, parse.h:
10990         Convert the tail queue to a semi-circle queue and use the XOR swap
10991         trick to swap the prev pointers during append.
10992         [8bf4d9fbee58]
10993
10994 2007-08-23  Todd C. Miller  <Todd.Miller@courtesan.com>
10995
10996         * parse.h:
10997         remove useless statement
10998         [421ec1dd73e6]
10999
11000         * toke.c, toke.l:
11001         Refactor #include parsing into a separate function and return
11002         unparsed chars (such as newline or comment) back to the lexer.
11003         [64166917aa3d]
11004
11005 2007-08-22  Todd C. Miller  <Todd.Miller@courtesan.com>
11006
11007         * WHATSNEW:
11008         mention better uid support
11009         [56f510e7f2ec]
11010
11011         * sudoers.pod:
11012         Users may now consist of a uid.
11013         [5fd31b2c55ed]
11014
11015         * gram.c, gram.h, toke.c:
11016         regen
11017         [599e58af6dc1]
11018
11019         * parse.c:
11020         Use lbuf_append_quoted() for sudo -l output to quote characters that
11021         would require quoting in sudoers.
11022         [3132d05c990a]
11023
11024         * lbuf.c, lbuf.h:
11025         Add lbuf_append_quoted() which takes a set of characters which
11026         should be quoted with a backslash when displayed.
11027         [ab09bebb1d65]
11028
11029         * toke.l:
11030         Require that the first character after a comment not be a digit or a
11031         dash. This allows us to remove the GOTRUNAS state and treat
11032         uid/gids similar to other words. It also means that we can now
11033         specify uids in User_Lists and a User_Spec may now contain a uid.
11034         [461fe01f8392]
11035
11036         * gram.y, toke.l:
11037         Replace RUNAS token with '(' and ')' tokens to make the runas
11038         portion of the grammar more natural.
11039         [e0c383b4684d]
11040
11041         * BUGS:
11042         The BUGS file is history
11043         [4d9a809585c7]
11044
11045         * Makefile.in, README:
11046         The BUGS file is history
11047         [d9500e261172]
11048
11049 2007-08-21  Todd C. Miller  <Todd.Miller@courtesan.com>
11050
11051         * toke.c, toke.l:
11052         Allow comments after a RunasAlias as long as the character after the
11053         pound sign isn't a digit or a dash.
11054         [d7f3bd94eeda]
11055
11056         * WHATSNEW:
11057         Glob support was back-ported to 1.6.9
11058         [d1d5cfd46228]
11059
11060 2007-08-20  Todd C. Miller  <Todd.Miller@courtesan.com>
11061
11062         * Makefile.in:
11063         remove sudo_usage.h in distclean
11064         [df05ce9c4127]
11065
11066         * parse.c:
11067         If a Defaults value contains a blank, double-quote the string.
11068         [9057a910daad]
11069
11070         * toke.c, toke.l:
11071         Properly deal with Defaults double-quoted strings that span multiple
11072         lines using the line continuation char. Previously, the entire
11073         thing, including the continuation char, newline, and spaces was
11074         stored as-is.
11075         [4a4e8eacefe6]
11076
11077         * sudo.c:
11078         Be consistent when using single quotes and backticks.
11079         [d010b83a0fa1]
11080
11081 2007-08-19  Todd C. Miller  <Todd.Miller@courtesan.com>
11082
11083         * Makefile.in, configure, configure.in, lbuf.c, lbuf.h, parse.c,
11084         sudo.c, sudo_usage.h.in:
11085         Add new linebuf code to do appends of dynamically allocated strings
11086         and word-wrapped output. Currently used for sudo's usage() and sudo
11087         -l output. Sudo usage strings are now in sudo_usage.h which is
11088         generated at configure time.
11089         [4dfd0ee8d961]
11090
11091 2007-08-18  Todd C. Miller  <Todd.Miller@courtesan.com>
11092
11093         * parse.c, sudo.c, sudo.h:
11094         Fix line wrapping in usage() and use the actual tty width instead of
11095         assuming 80.
11096         [700eab37c5a6]
11097
11098 2007-08-17  Todd C. Miller  <Todd.Miller@courtesan.com>
11099
11100         * history.pod:
11101         some more info
11102         [8140112a8ae1]
11103
11104         * history.pod:
11105         Mentioned Chris Jepeway's parser and also the new one that is in
11106         sudo 1.7.
11107         [2132d00f0597]
11108
11109 2007-08-16  Todd C. Miller  <Todd.Miller@courtesan.com>
11110
11111         * sudo.pod, visudo.pod:
11112         For the options list, add flag args where appropriate and increase
11113         the indent level so there is room for them.
11114         [2b60fb572e12]
11115
11116 2007-08-15  Todd C. Miller  <Todd.Miller@courtesan.com>
11117
11118         * parse.c:
11119         Fix some spacing in "sudo -l" and add a comment about some bogosity
11120         in the line wrapping.
11121         [b59b056f5ee2]
11122
11123         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in, visudo.cat,
11124         visudo.man.in:
11125         regen
11126         [5fb719f18ebc]
11127
11128         * INSTALL, Makefile.in, WHATSNEW, config.h.in, configure.in,
11129         def_data.c, def_data.h, def_data.in, gram.c, gram.h, gram.y,
11130         parse.c, parse.h, pathnames.h.in, sudo.c, sudo.h, sudoers.pod,
11131         testsudoers.c, toke.c, toke.l:
11132         Remove monitor support until there is a versino of systrace that
11133         uses a lookaside buffer (or we have a better mechanism to use).
11134         [61ff76878e4a]
11135
11136         * config.h.in, configure, configure.in, sudo.c:
11137         use getaddrinfo() instead of gethostbyname() if it is available
11138         [cc33c136aa6a]
11139
11140 2007-08-14  Todd C. Miller  <Todd.Miller@courtesan.com>
11141
11142         * parse.c, sudo.c:
11143         Deal with OSes where sizeof(gid_t) < sizeof(int).
11144         [130a89cbdfba]
11145
11146         * interfaces.c:
11147         repair non-getifaddrs() code after ipv6 integration
11148         [7ae7a89e2236]
11149
11150         * sudo.c:
11151         If we can open sudoers but fail to read the first byte, close the
11152         file stream before trying again.
11153         [6f31272fae7b]
11154
11155 2007-08-13  Todd C. Miller  <Todd.Miller@courtesan.com>
11156
11157         * toke.c:
11158         regen
11159         [4d7afe0aa6fa]
11160
11161         * gram.y, interfaces.c, interfaces.h, match.c, sudoers.pod, toke.l:
11162         Add IPv6 support; adapted from patches by YOSHIFUJI Hideaki
11163         [4e6ff2965a42]
11164
11165         * sudo.pod, sudoers.pod, visudo.pod:
11166         Add some missing markup Update copyright
11167         [7e6d3c686b5e]
11168
11169 2007-08-12  Todd C. Miller  <Todd.Miller@courtesan.com>
11170
11171         * configure, configure.in:
11172         fix sudo_noexec extension which got broken in the libtool update
11173         [3a5b447df861]
11174
11175 2007-08-10  Todd C. Miller  <Todd.Miller@courtesan.com>
11176
11177         * Makefile.in:
11178         explicitly specify -Tascii to nroff
11179         [45c8da4cbefe]
11180
11181 2007-08-08  Todd C. Miller  <Todd.Miller@courtesan.com>
11182
11183         * logging.c:
11184         remove an ANSI-ism that crept in
11185         [29086f87b2ca]
11186
11187 2007-08-07  Todd C. Miller  <Todd.Miller@courtesan.com>
11188
11189         * sudo.pod:
11190         Adjust list indents Prevent -- from being turned into an em dash Use
11191         a list for the environment instead of a literal paragraph
11192         [c3abcd8f76f4]
11193
11194         * visudo.pod:
11195         Use a list for the environment instead of an indented literal
11196         paragraph.
11197         [0ffcfcb7349f]
11198
11199         * sudoers.pod:
11200         Adjust list indentation
11201         [615c89e3123a]
11202
11203         * license.pod:
11204         add =head3
11205         [8b2e0d38c0bd]
11206
11207 2007-08-06  Todd C. Miller  <Todd.Miller@courtesan.com>
11208
11209         * sudo.pod:
11210         mention that when specifying a uid for the -u option the shell may
11211         require that the # be escaped
11212         [3e3a17bff150]
11213
11214 2007-08-02  Todd C. Miller  <Todd.Miller@courtesan.com>
11215
11216         * match.c:
11217         Fix off by one in group matching.
11218         [b529602b7fba]
11219
11220 2007-07-31  Todd C. Miller  <Todd.Miller@courtesan.com>
11221
11222         * env.c:
11223         Fix typo: PYTHONINSPEC should be PYTHONINSPECT. From David Krause.
11224         [ffbf8907c6e7]
11225
11226 2007-07-30  Todd C. Miller  <Todd.Miller@courtesan.com>
11227
11228         * configure, configure.in:
11229         Add missing define of HAVE_GSS_KRB5_CCACHE_NAME for the
11230         -lgssapi_krb5 case.
11231         [2b85a89c2252]
11232
11233         * aclocal.m4, configure, configure.in:
11234         Fix link tests such that new gcc doesn't optimize away the test.
11235         [83484ec95cba]
11236
11237 2007-07-29  Todd C. Miller  <Todd.Miller@courtesan.com>
11238
11239         * sudo.pod, sudoers.pod, visudo.pod:
11240         add missing over/back
11241         [251a12c89b91]
11242
11243         * sudo.pod, sudoers.pod, visudo.pod:
11244         Change FILES section to use =item
11245         [60b9efc3a0b2]
11246
11247         * env.c:
11248         Add back allocation of the env struct in rebuild_env but save a copy
11249         of the old pointer and free it before returning.
11250         [1100cd4fa997]
11251
11252         * env.c:
11253         Don't init the private environment in rebuild_env() since it may
11254         have already been done implicitly sudo_setenv/sudo_unsetenv.
11255
11256         Multiply length by sizeof(char *) in memcpy/memmove when copying the
11257         environment so we copy the full thing.
11258
11259         Add missing set of parens so we deref the right pointer in
11260         sudo_unsetenv when searching for a matching variable.
11261         [9086a8f756b1]
11262
11263 2007-07-26  Todd C. Miller  <Todd.Miller@courtesan.com>
11264
11265         * sudo.pod, sudoers.pod, visudo.pod:
11266         Use file markup for paths in the FILES section
11267         [940d99f731f2]
11268
11269         * sudo.pod, sudoers.pod, visudo.pod:
11270         Don't capitalize sudo/visudo
11271         [f067a455d44b]
11272
11273         * sudoers.pod:
11274         Sort sudoers options; based on a diff from Igor Sobrado.
11275         [a9b9befe85ac]
11276
11277 2007-07-25  Todd C. Miller  <Todd.Miller@courtesan.com>
11278
11279         * sudo.pod, sudoers.pod, visudo.pod:
11280         Use 8 and 5 instead of @mansectsu@ and @mansectform@ since the
11281         latter confuses pod2man. The Makefile rules for the .man.in file
11282         will add @mansectsu@ and @mansectform@ back in after pod2man is done
11283         anyway.
11284         [b50ea0db727c]
11285
11286 2007-07-22  Todd C. Miller  <Todd.Miller@courtesan.com>
11287
11288         * LICENSE, Makefile.in, license.pod:
11289         Move license info to pod format
11290         [25bdd82e592b]
11291
11292         * configure, configure.in, sudoers.pod:
11293         Substitute value of path_info into sudoers man page.
11294         [9ba661a82798]
11295
11296         * WHATSNEW:
11297         remove features that were back-ported to 1.6.9
11298         [e76d756cbe65]
11299
11300         * sudo.c, sudo.pod, visudo.c, visudo.pod:
11301         Sort SYNOPSIS and sync usage. From Igor Sobrado.
11302         [4970386c9e54]
11303
11304         * env.c:
11305         Only need sudo_setenv/sudo_unsetenv if we are going to use
11306         ldap_sasl_interactive_bind_s() but don't have
11307         gss_krb5_ccache_name().
11308         [f1a73d8b35c5]
11309
11310         * ChangeLog:
11311         rebuild without branch info
11312         [5d5a33494677]
11313
11314         * Makefile.in:
11315         Add ChangeLog target
11316         [a702034fdd89]
11317
11318         * auth/pam.c:
11319         Run cleanup code if the user hits ^C at the password prompt.
11320         [9cf87768e921]
11321
11322         * auth/pam.c:
11323         Some versions of pam_lastlog have a bug that will cause a crash if
11324         PAM_TTY is not set so if there is no tty, set PAM_TTY to the empty
11325         string.
11326         [5b63f6c88866]
11327
11328 2007-07-20  Todd C. Miller  <Todd.Miller@courtesan.com>
11329
11330         * Makefile.in:
11331         ChageLog not Changelog
11332         [1243d8473ceb]
11333
11334         * ChangeLog:
11335         sync
11336         [d887df98c6b0]
11337
11338         * Makefile.in:
11339         CHANGE -> Changelog
11340         [917738df30dd]
11341
11342         * TODO:
11343         sync
11344         [cd382f7d1948]
11345
11346 2007-07-19  Todd C. Miller  <Todd.Miller@courtesan.com>
11347
11348         * config.h.in, configure, configure.in, ldap.c:
11349         Add configure hooks for gss_krb5_ccache_name() and the gssapi
11350         headers.
11351         [139606209991]
11352
11353 2007-07-18  Todd C. Miller  <Todd.Miller@courtesan.com>
11354
11355         * env.c, sudo.c:
11356         rebuild_env() and insert_env_vars() no longer return environment
11357         pointer, they set environ directly.
11358
11359         No longer need to pass around an envp pointer since we just operate
11360         on environ now.
11361
11362         Add dosync argument to insert_env() that indicates whether it should
11363         reset environ when realloc()ing env.envp.
11364
11365         Use an initial size of 128 for the environment.
11366         [4735fd5fddb8]
11367
11368         * env.c:
11369         Split sudo_setenv() into an external version and a version only for
11370         use by rebuild_env().
11371         [fda7d655adb1]
11372
11373 2007-07-16  Todd C. Miller  <Todd.Miller@courtesan.com>
11374
11375         * ldap.c:
11376         Add support for using gss_krb5_ccache_name() instead of setting
11377         KRB5CCNAME. Also use sudo_unsetenv() in the non-
11378         gss_krb5_ccache_name() case if there was no KRB5CCNAME in the
11379         original environment. TODO: configure setup for
11380         gss_krb5_ccache_name()
11381         [fcafa5a49caf]
11382
11383         * README.LDAP:
11384         add krb5_ccname
11385         [fceb8f883886]
11386
11387         * README.LDAP, ldap.c:
11388         Add support for sasl_secprops in ldap.conf
11389         [1f06f4bf7347]
11390
11391         * env.c, sudo.h:
11392         Add sudo_unsetenv() and refactor private env syncing code into
11393         sync_env().
11394         [045ecb3fd22b]
11395
11396         * README.LDAP, ldap.c:
11397         The ldap.conf variable is sasl_auth_id not sasl_authid.
11398         [a5f98491311b]
11399
11400 2007-07-15  Todd C. Miller  <Todd.Miller@courtesan.com>
11401
11402         * ldap.c, sudo.c, sudo.h:
11403         Add support for krb5_ccname in ldap.conf. If specified, it will
11404         override the default value of KRB5CCNAME in the environment for the
11405         duration of the call to ldap_sasl_interactive_bind_s().
11406         [b08a10c3045b]
11407
11408         * env.c, sudo.h:
11409         Remove format_env() Add sudo_setenv() to replace most format_env() +
11410         insert_env() combinations. insert_env() no longer takes a struct
11411         environment *
11412         [131da52f43f3]
11413
11414         * ldap.c:
11415         Fix use_sasl vs. rootuse_sasl logic.
11416         [0c0417b6918c]
11417
11418         * README.LDAP, config.h.in, configure, configure.in, ldap.c:
11419         Add support for SASL auth when connecting to an LDAP server. Adapted
11420         from a diff by Tom McLaughlin.
11421         [a6285f1356ea]
11422
11423 2007-07-14  Todd C. Miller  <Todd.Miller@courtesan.com>
11424
11425         * configure, configure.in:
11426         Only enable AIX or BSD auth if no other exclusive auth method has
11427         been chosen. Allows people to e.g., use PAM on AIX without adding
11428         --without-aixauth. A better solution is needed to deal with default
11429         authentication since if a non-exclusive method is chosen we will
11430         still get an error.
11431         [83f7afdc0ec3]
11432
11433 2007-07-11  Todd C. Miller  <Todd.Miller@courtesan.com>
11434
11435         * HISTORY, Makefile.in, history.pod:
11436         Generate HISTORY from history.pod (which is also used for web pages)
11437         [60bcd5164931]
11438
11439 2007-07-09  Todd C. Miller  <Todd.Miller@courtesan.com>
11440
11441         * sudo.man.in, sudoers.man.in:
11442         regen
11443         [63956a366191]
11444
11445         * sudo.pod:
11446         Better explanation of environment handling in the sudo man page.
11447         [6c247742f7ee]
11448
11449         * env.c, sudo.c:
11450         Defer setting user-specified env vars until after authentication.
11451         [4750b79323ee]
11452
11453         * env.c:
11454         honor def_default_path for PATH set on the command line
11455         [6db31d9b6d65]
11456
11457         * env.c, sudo.c, sudo.pod, sudoers.pod:
11458         Allow user to set environment variables on the command line as long
11459         as they are allowed by env_keep and env_check. Ie: apply the same
11460         restrictions as normal environment variables. TODO: deal with
11461         secure_path
11462         [26c0da3840cf]
11463
11464 2007-07-08  Todd C. Miller  <Todd.Miller@courtesan.com>
11465
11466         * sudo.c, sudo_edit.c:
11467         Call rebuild_env() in call cases. Pass original envp to sudo_edit().
11468         Don't allow -E or env var setting in sudoedit mode. More accurate
11469         usage() when called as sudoedit.
11470         [a4af20658361]
11471
11472         * ldap.c:
11473         warn -> warning
11474         [d87d1192b048]
11475
11476         * sudo.pod:
11477         add -c option to sudoedit synopsis
11478         [15b596a7e2db]
11479
11480         * TODO:
11481         udpate to reality
11482         [e2f8fde89db1]
11483
11484         * parse.c:
11485         Use ALLOW/DENY instead of TRUE/FALSE when dealing with the return
11486         value from {user,host,runas,cmnd}_matches(). Rename *matches
11487         variables -> *match. Purely cosmetic.
11488         [e54a44c00a88]
11489
11490         * parse.c:
11491         Move setting of FLAG_NO_CHECK into the if(pwflag) block. No change
11492         in behavior.
11493         [c6272b4f2127]
11494
11495         * sudoers:
11496         add SETENV tag
11497         [3a3066bb6788]
11498
11499 2007-07-06  Todd C. Miller  <Todd.Miller@courtesan.com>
11500
11501         * parse.c:
11502         Make pwcheck local to the pwflag block. Use pwcheck even if user
11503         didn't match since Defaults options may still apply.
11504         [45da9efbbafd]
11505
11506         * check.c, sudo.c:
11507         Do not update timestamp if user not validated by sudoers.
11508         [a4a9d4364827]
11509
11510         * set_perms.c:
11511         for PERM_RUNAS, set the egid to the runas user's gid and restore to
11512         the user's original in PERM_ROOT
11513         [1514bfb32847]
11514
11515         * logging.c, mon_systrace.c, set_perms.c, sudo.h:
11516         PERM_FULL_ROOT is now no different than PERM_ROOT so remove
11517         PERM_FULL_ROOT
11518         [b9d047a3178c]
11519
11520         * check.c:
11521         don't check timestamp mtime if we are just going to remove it
11522         [5d2470bc6cbd]
11523
11524         * sudoers.pod:
11525         Move sudoers defaults parameters into their own section.
11526         [54701fbc0ff3]
11527
11528         * testsudoers.c:
11529         Reduce a level of indent by a few placed continue statements.
11530         [5d5a9838c8ef]
11531
11532         * parse.c:
11533         Make matching but negated commands/hosts/runas entries override a
11534         previous match as expected. Also reduce some levels of indent by a
11535         few placed continue statements.
11536         [dd59fa4b91a1]
11537
11538 2007-07-05  Todd C. Miller  <Todd.Miller@courtesan.com>
11539
11540         * parse.c:
11541         Print default runas in "sudo -l" if sudoers don't specify one.
11542         [07d408c400bd]
11543
11544         * match.c:
11545         Less hacky way of testing whether the domain was set.
11546         [a537059776e5]
11547
11548 2007-07-04  Todd C. Miller  <Todd.Miller@courtesan.com>
11549
11550         * INSTALL:
11551         Mention pam-devel and openldap-devel for Linux
11552         [9e708c54ecc3]
11553
11554 2007-07-03  Todd C. Miller  <Todd.Miller@courtesan.com>
11555
11556         * README.LDAP:
11557         or vs. are
11558         [abe8c0f3a410]
11559
11560 2007-07-01  Todd C. Miller  <Todd.Miller@courtesan.com>
11561
11562         * sudo.c:
11563         fix typo in Solaris project support
11564         [2ffeb2d80959]
11565
11566         * HISTORY:
11567         update
11568         [df162b36f120]
11569
11570         * sudo.c:
11571         Make -- on the command line match the manual page. The implied shell
11572         case has been simplified as a result.
11573         [cd217a1f6694]
11574
11575 2007-06-28  Todd C. Miller  <Todd.Miller@courtesan.com>
11576
11577         * sudoers2ldif:
11578         add simplistic support for sudoRunas; note that if a sudoers entry
11579         contains multiple Runas users, all will apply to the sudoRole
11580         [65b11421f5c8]
11581
11582         * sudoers2ldif:
11583         honor SETENV and NOSETENV tags
11584         [2c0d5ba7a09b]
11585
11586 2007-06-24  Todd C. Miller  <Todd.Miller@courtesan.com>
11587
11588         * mon_systrace.c:
11589         Redo setting of user_args. We now build up a private copy of argv
11590         first and then replace the NULs?with spaces.
11591         [ccbba72ea112]
11592
11593         * mon_systrace.c:
11594         getcwd() returns NULL on failure, not 0 on success
11595         [88cd9e66e530]
11596
11597         * mon_systrace.c:
11598         allow chunksiz to reach 1 before erroring out
11599         [619d68f14964]
11600
11601         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in, visudo.cat,
11602         visudo.man.in:
11603         regen
11604         [8db512d3caf0]
11605
11606 2007-06-23  Todd C. Miller  <Todd.Miller@courtesan.com>
11607
11608         * def_data.c, def_data.h, def_data.in, env.c, gram.c, gram.h, gram.y,
11609         logging.c, parse.c, parse.h, sudo.c, sudo.h, sudo.pod, sudoers.pod,
11610         toke.c, toke.l:
11611         Add support for setting environment variables on the command line.
11612         This is only allowed if the setenv sudoers options is enabled or if
11613         the command is prefixed with the SETENV tag.
11614         [5744caebd969]
11615
11616         * README.LDAP:
11617         replace Aaron's email address with the sudo-workers list
11618         [2ffce5f9afc0]
11619
11620         * configure:
11621         regen
11622         [8013dff82c0c]
11623
11624 2007-06-22  Todd C. Miller  <Todd.Miller@courtesan.com>
11625
11626         * schema.OpenLDAP, schema.iPlanet:
11627         Break schema out into separate files.
11628         [15e598e4c60b]
11629
11630         * Makefile.in, README.LDAP:
11631         Break schema out into separate files.
11632         [1a53966ca1fa]
11633
11634 2007-06-21  Todd C. Miller  <Todd.Miller@courtesan.com>
11635
11636         * auth/aix_auth.c:
11637         free message if set by authenticate()
11638         [849c220c1236]
11639
11640         * match.c:
11641         deal with NULL gr_mem
11642         [49e4d74f0bbe]
11643
11644 2007-06-20  Todd C. Miller  <Todd.Miller@courtesan.com>
11645
11646         * config.h.in:
11647         regen
11648         [fead999ad3e9]
11649
11650         * configure.in:
11651         add template for HAVE_PROJECT_H
11652         [e6c42c2eaad1]
11653
11654         * closefrom.c:
11655         include fcntl.h
11656         [54d98b382f03]
11657
11658 2007-06-19  Todd C. Miller  <Todd.Miller@courtesan.com>
11659
11660         * INSTALL:
11661         mention --with-project
11662         [d3ea3baad7c5]
11663
11664         * config.h.in, configure.in, sudo.c:
11665         Add Solaris 10 "project" support. From Michael Brantley.
11666         [f14f3c8c6554]
11667
11668         * sudoers.pod:
11669         fix typo
11670         [50db81a19787]
11671
11672         * configure:
11673         regen
11674         [ea71afd3e564]
11675
11676         * configure.in:
11677         Fix preservation of LDFLAGS in the LDAP case.
11678         [40a3a47e8059]
11679
11680         * memrchr.c:
11681         Remove dependecy on NULL
11682         [c957ae5e1733]
11683
11684         * configure:
11685         regen
11686         [4955ce0c6912]
11687
11688         * aclocal.m4, configure.in:
11689         Can't use the regular autoconf fnmatch() check since we need
11690         FNM_CASEFOLD so go back to our custom one.
11691         [f10d76237486]
11692
11693         * env.c:
11694         Fix preserving of variables in env_keep.
11695         [d040049d6b84]
11696
11697         * env.c:
11698         add XAUTHORIZATION
11699         [0d589a5fe015]
11700
11701         * UPGRADE:
11702         expand upon env resetting and mention that it began in 1.6.9 not
11703         1.7.
11704         [dba251655c76]
11705
11706         * sudoers.pod:
11707         Update descriptions of env_keep and env_check to match current
11708         reality.
11709         [dba77357954b]
11710
11711 2007-06-18  Todd C. Miller  <Todd.Miller@courtesan.com>
11712
11713         * env.c:
11714         Add LINGUAS to initial_checkenv_table. Add COLORS, HOSTNAME,
11715         LS_COLORS, MAIL, PS1, PS2, XAUTHORITY to intial_keepenv_table.
11716         [eec4632bd190]
11717
11718         * env.c, logging.c:
11719         Treat USERNAME environemnt variable like LOGNAME/USER
11720         [09f52dcfd70c]
11721
11722         * env.c:
11723         Don't need to populate keepenv table with the contents of the
11724         checkenv table.
11725         [527a14afd973]
11726
11727         * sudo.c:
11728         Don't force sudo into the C locale.
11729         [8a5bd301ef96]
11730
11731         * env.c:
11732         Make env_check apply when env_reset it true. Environment variables
11733         are passed through unless they contain '/' or '%'. There is no need
11734         to have a variable in both env_check and env_keep.
11735         [840c802721e4]
11736
11737 2007-06-16  Todd C. Miller  <Todd.Miller@courtesan.com>
11738
11739         * visudo.c:
11740         Remove an duplicate lock_file() call and add a comment.
11741         [5af9dcdf0eb6]
11742
11743         * UPGRADE:
11744         Add sudo 1.6.9 upgrade note.
11745         [1585149f2914]
11746
11747 2007-06-14  Todd C. Miller  <Todd.Miller@courtesan.com>
11748
11749         * interfaces.c:
11750         Solaris will return EINVAL if the buffer used in SIOCGIFCONF is too
11751         small. From Klaus Wagner.
11752         [d6899fc44f77]
11753
11754         * logging.c, sudo.h:
11755         Redo the long syslog line splitting based on a patch from Eygene
11756         Ryabinkin. Include memrchr() for systems without it.
11757         [66a50e8d553a]
11758
11759         * memrchr.c:
11760         Redo the long syslog line splitting based on a patch from Eygene
11761         Ryabinkin. Include memrchr() for systems without it.
11762         [2f6702b7d41b]
11763
11764         * Makefile.in, config.h.in, configure, configure.in:
11765         Redo the long syslog line splitting based on a patch from Eygene
11766         Ryabinkin. Include memrchr() for systems without it.
11767         [407a46190921]
11768
11769         * configure.in:
11770         Since we need to be able to convert timespec to timeval for utimes()
11771         the last 3 digits in the tv_nsec are not significant. This makes the
11772         sudoedit file date comparison work again.
11773         [9d0258849fa9]
11774
11775 2007-06-13  Todd C. Miller  <Todd.Miller@courtesan.com>
11776
11777         * aclocal.m4, configure, configure.in:
11778         Add SUDO_ADD_AUTH macro to deal with adding things to AUTH_OBJS.
11779         This deals with exclusive authentication methods in a simple way.
11780         [7d70072c0f35]
11781
11782 2007-06-12  Todd C. Miller  <Todd.Miller@courtesan.com>
11783
11784         * LICENSE:
11785         mkstemp.c is BSD code too.
11786         [29e236d98162]
11787
11788         * sudo.pod, sudoers.pod, visudo.pod:
11789         No commercial support for now.
11790         [7c76b3e192dd]
11791
11792 2007-06-11  Todd C. Miller  <Todd.Miller@courtesan.com>
11793
11794         * sudo.c:
11795         cleanenv() is no more.
11796         [518080514408]
11797
11798 2007-06-10  Todd C. Miller  <Todd.Miller@courtesan.com>
11799
11800         * ChangeLog:
11801         Display branch info in Changelog
11802         [44e3b27427c7]
11803
11804         * utimes.c:
11805         Include config.h early so we have it for TIME_WITH_SYS_TIME
11806         [4bf1a00d0703]
11807
11808         * ChangeLog:
11809         Fix Changelog generation and update.
11810         [6e960dbcbece]
11811
11812 2007-06-09  Todd C. Miller  <Todd.Miller@courtesan.com>
11813
11814         * closefrom.c:
11815         Use /proc/self/fd instead of /proc/$$/fd
11816
11817         Move old-style fd closing into closefrom_fallback() and call that if
11818         /proc/self/fd doesn't exist or the F_CLOSEM fcntl() fails
11819         [faa7e4810758]
11820
11821         * auth/kerb5.c, config.h.in, configure.in:
11822         o use krb5_verify_user() if available instead of doing it by hand o
11823         use krb5_init_secure_context() if we have it o pass an encryption
11824         type of 0 to krb5_kt_read_service_key() instead of
11825         ENCTYPE_DES_CBC_MD5 to let kerberos choose.
11826         [df7acf72bd7c]
11827
11828         * env.c:
11829         Check TERM and COLORTERM for '%' and '/' characters. From Debian.
11830         [f92d05197e40]
11831
11832         * configure.in:
11833         Fix closefrom() substitution in the Makefile
11834         [b642b13fcc5c]
11835
11836         * TROUBLESHOOTING:
11837         Mention alternate sudo pronunciation.
11838         [7c71dc73409f]
11839
11840 2007-06-07  Todd C. Miller  <Todd.Miller@courtesan.com>
11841
11842         * env.c:
11843         Remove KRB5_KTNAME from environment. Allow COLORTERM.
11844         [70f35a79f780]
11845
11846         * auth/kerb5.c:
11847         If we cannot get a valid service key using the default keytab it is
11848         a fatal error. Fixes a bug where sudo could be tricked into
11849         allowing access when it should not by a fake KDC. From Thor Lancelot
11850         Simon.
11851         [a3ae6a47cb23]
11852
11853 2007-05-12  Todd C. Miller  <Todd.Miller@courtesan.com>
11854
11855         * aclocal.m4, configure, configure.in:
11856         Update long long checks to use AC_CHECK_TYPES and to cache values.
11857         [047318eaaeb2]
11858
11859         * aclocal.m4, configure.in:
11860         Use AC_FUNC_FNMATCH instead of a homebrew fnmatch checker. We can't
11861         use AC_REPLACE_FNMATCH since that assumes replacing with GNU
11862         fnmatch.
11863         [80513a1003ea]
11864
11865 2007-05-11  Todd C. Miller  <Todd.Miller@courtesan.com>
11866
11867         * configure, configure.in:
11868         Add closefrom() to LIB_OBJS not SUDO_OBJS if it is missing since we
11869         need it for visudo now too.
11870         [50837c7c2b5e]
11871
11872 2007-04-24  Todd C. Miller  <Todd.Miller@courtesan.com>
11873
11874         * sudoers.pod:
11875         Attempt to clarify the bit talking about network numbers w/o
11876         netmasks.
11877         [211e68c1d034]
11878
11879         * sudo.pod:
11880         Clarify timestamp dir ownership sentence.
11881         [9178f132c7f7]
11882
11883 2007-04-20  Todd C. Miller  <Todd.Miller@courtesan.com>
11884
11885         * auth/pam.c:
11886         Linux PAM now defines __LINUX_PAM__, not __LIBPAM_VERSION. From
11887         Dmitry V. Levin.
11888         [81fce91667bc]
11889
11890 2007-04-16  Todd C. Miller  <Todd.Miller@courtesan.com>
11891
11892         * sudo.c:
11893         -i is also one of the mutually exclusive options to list it in the
11894         warning message. Noted by Chris Pepper.
11895         [7da73fb248e9]
11896
11897 2007-04-12  Todd C. Miller  <Todd.Miller@courtesan.com>
11898
11899         * visudo.pod:
11900         The sudoers variable is env_editor, not enveditor. From Jean-
11901         Francois Saucier.
11902         [2a86ec09a6db]
11903
11904 2007-03-29  Todd C. Miller  <Todd.Miller@courtesan.com>
11905
11906         * redblack.c:
11907         I tracked down the original author so credit him and include his
11908         license info.
11909         [3733553a1bba]
11910
11911 2007-02-06  Todd C. Miller  <Todd.Miller@courtesan.com>
11912
11913         * sudo.cat, sudo.man.in, sudo.pod, sudoers.cat, sudoers.man.in,
11914         sudoers.pod:
11915         Fix typos; from Jason McIntyre.
11916         [1ee4ce2512f2]
11917
11918         * logging.c:
11919         Restore signal mask before calling reapchild(). Fixes a possible
11920         race condition that could prevent sudo from properly waiting for the
11921         child.
11922         [9ee4192385dc]
11923
11924 2007-01-31  Todd C. Miller  <Todd.Miller@courtesan.com>
11925
11926         * pwutil.c:
11927         Don't declare pw_free() if we are not going to use it.
11928         [adb79a4289ca]
11929
11930         * env.c:
11931         Add NOEXEC support for AIX 5.3 which supports LDR_PRELOAD and
11932         LDR_PRELOAD64. The 64-bit version is not currently supported.
11933         Remove zero_env() prototype as it no longer exists.
11934         [b4fe65027fb6]
11935
11936 2006-12-11  Todd C. Miller  <Todd.Miller@courtesan.com>
11937
11938         * logging.c:
11939         Add "Auto-Submitted: auto-generated" line to sudo mail for rfc 3834.
11940         [78002ad90f7b]
11941
11942 2006-09-29  Todd C. Miller  <Todd.Miller@courtesan.com>
11943
11944         * auth/pam.c:
11945         If the user enters ^C at the password prompt, abort instead of
11946         trying to authenticate with an empty password (which causes an
11947         annoying delay).
11948         [da3f27b747c7]
11949
11950 2006-08-17  Todd C. Miller  <Todd.Miller@courtesan.com>
11951
11952         * closefrom.c, config.h.in, configure, configure.in:
11953         Add fcntl F_CLOSEM support to closefrom(); adapted from a diff by
11954         Darren Tucker.
11955         [0331b7780759]
11956
11957         * pwutil.c:
11958         pw_free() is only used by sudo_freepwcache() so ifdef it out too.
11959         [0014c0d9eeba]
11960
11961 2006-08-04  Todd C. Miller  <Todd.Miller@courtesan.com>
11962
11963         * config.guess, config.sub:
11964         Update to latest versions from cvs.savannah.gnu.org
11965         [aa0143101c20]
11966
11967 2006-07-31  Todd C. Miller  <Todd.Miller@courtesan.com>
11968
11969         * pwutil.c, sudo_edit.c:
11970         Move password/group cache cleaning out of sudo_end{pw,grp}ent() so
11971         we can close the passwd/group files early.
11972         [559074bd7eb7]
11973
11974         * config.h.in, configure, configure.in, set_perms.c:
11975         Add seteuid() flavor of set_perms() for systems without setreuid()
11976         or setresuid() that have a working seteuid(). Tested on Darwin.
11977         [508d8da99189]
11978
11979 2006-07-30  Todd C. Miller  <Todd.Miller@courtesan.com>
11980
11981         * mon_systrace.c:
11982         systrace_read() returns ssize_t
11983         [9f97d1d1a59d]
11984
11985         * configure, configure.in:
11986         Fix typo, -lldap vs. -ldap; from Tim Knox.
11987         [a8cc43c3bb2a]
11988
11989 2006-07-28  Todd C. Miller  <Todd.Miller@courtesan.com>
11990
11991         * HISTORY:
11992         Fix typo; Matt Ackeret
11993         [86964ee3dfbd]
11994
11995 2006-07-17  Todd C. Miller  <Todd.Miller@courtesan.com>
11996
11997         * sudo.c:
11998         Print sudoers path in -V mode for root.
11999         [dc43f2d75bd9]
12000
12001 2006-06-15  Todd C. Miller  <Todd.Miller@courtesan.com>
12002
12003         * ldap.c:
12004         Do a sub tree search instead of a base search (one level in the tree
12005         only) for sudo right objects. This allows system administrators to
12006         categorize the rights in a tree to make them easier to manage.
12007         [6d2d9abf996e]
12008
12009 2005-12-28  Todd C. Miller  <Todd.Miller@courtesan.com>
12010
12011         * sudo.pod:
12012         fix typo
12013         [1473413bcbda]
12014
12015 2005-12-04  Todd C. Miller  <Todd.Miller@courtesan.com>
12016
12017         * ldap.c:
12018         Convert GET_OPT and GET_OPTI to use just 2 args. Add timelimit and
12019         bind_timelimit support; adapted from gentoo.
12020         [afc816093026]
12021
12022 2005-11-23  Todd C. Miller  <Todd.Miller@courtesan.com>
12023
12024         * ldap.c:
12025         Support comments that start in the middle of a line
12026         [c25df6ee3db8]
12027
12028         * configure, configure.in:
12029         Define LDAP_DEPRECATED until we start using ldap_get_values_len()
12030         [ee249bfe230a]
12031
12032 2005-11-18  Todd C. Miller  <Todd.Miller@courtesan.com>
12033
12034         * closefrom.c:
12035         Silence gcc -Wsign-compare; djm@openbsd.org
12036         [28769ce6418d]
12037
12038         * error.c, sudo.c, sudo.h, testsudoers.c, visudo.c:
12039         cleanup() now takes an int as an arg so it can be used as a signal
12040         handler too.
12041         [2bb0df34d09c]
12042
12043         * sudo.c:
12044         Make a copy of the shell field in the passwd struct for NewArgv to
12045         avoid a use after free situation after sudo_endpwent() is called.
12046         [5dcc9ffd362e]
12047
12048 2005-11-17  Todd C. Miller  <Todd.Miller@courtesan.com>
12049
12050         * config.h.in, configure, configure.in:
12051         Add mkstemp() for those poor souls without it.
12052         [5fdd02e863e0]
12053
12054         * mkstemp.c:
12055         Add mkstemp() for those poor souls without it.
12056         [c99401207860]
12057
12058         * Makefile.in:
12059         Add mkstemp() for those poor souls without it.
12060         [9c1cf2678f24]
12061
12062 2005-11-15  Todd C. Miller  <Todd.Miller@courtesan.com>
12063
12064         * env.c:
12065         Add PERL5DB to list of environment variables to remove.
12066         [7375c27ecf75]
12067
12068 2005-11-13  Todd C. Miller  <Todd.Miller@courtesan.com>
12069
12070         * mon_systrace.c, mon_systrace.h:
12071         Instead of calling the check function twice with a state cookie use
12072         separate check/log functions.
12073
12074         Check more ioctl() calls for failure.
12075
12076         systrace_{read,write} now return the number of bytes read/written or
12077         -1 on error.
12078         [3dc8946d90e9]
12079
12080         * env.c:
12081         Add more environment variables to remove; from gentoo linux Add some
12082         comments about what bad env variables go to what (more to do)
12083         [6918110a6b82]
12084
12085 2005-11-11  Todd C. Miller  <Todd.Miller@courtesan.com>
12086
12087         * sudo.c, sudo_edit.c:
12088         Move sudo_end{gr,pw}ent() until just before the exec since they free
12089         up our cached copy of the passwd structs, including sudo_user and
12090         sudo_runas. Fixes a use-after-free bug.
12091         [54de3778bad0]
12092
12093         * visudo.c:
12094         Close all fd's before executing editor.
12095         [4fcc05e1bec8]
12096
12097         * sudo.c:
12098         Enable malloc debugging on OpenBSD when SUDO_DEVEL is set.
12099         [ef0e8ffa5c9f]
12100
12101         * check.c:
12102         Fix fd leak when lecture file option is enabled. From Jerry Brown
12103         [ce97f9207cd8]
12104
12105 2005-11-07  Todd C. Miller  <Todd.Miller@courtesan.com>
12106
12107         * env.c:
12108         Add PERLLIB, PERL5LIB and PERL5OPT to the default list of
12109         environment variables to remove. From Charles Morris
12110         [c96e1367d1c1]
12111
12112 2005-11-01  Todd C. Miller  <Todd.Miller@courtesan.com>
12113
12114         * env.c:
12115         add JAVA_TOOL_OPTIONS to initial_badenv_table for java 5
12116         [72a6a1571226]
12117
12118 2005-10-28  Todd C. Miller  <Todd.Miller@courtesan.com>
12119
12120         * env.c:
12121         add PS4 and SHELLOPTS to initial_badenv_table for bash
12122         [89dfb3f318f3]
12123
12124 2005-08-15  Todd C. Miller  <Todd.Miller@courtesan.com>
12125
12126         * sudoers.pod:
12127         Fix typo; Toby Peterson
12128         [b7a3222b23f4]
12129
12130 2005-08-02  Todd C. Miller  <Todd.Miller@courtesan.com>
12131
12132         * tsgetgrpw.c:
12133         Make return buffers static so they don't get clobbered
12134         [13323a39b9f5]
12135
12136 2005-07-28  Todd C. Miller  <Todd.Miller@courtesan.com>
12137
12138         * auth/securid5.c:
12139         Fix securid5 authentication, was not checking for ACM_OK. Also add
12140         default cases for the two switch()es. Problem noted by ccon at
12141         worldbank
12142         [14091e418333]
12143
12144 2005-06-27  Todd C. Miller  <Todd.Miller@courtesan.com>
12145
12146         * ldap.c:
12147         Remove ncat() in favor of just counting bytes and pre-allocating
12148         what is needed.
12149         [25b8712adb61]
12150
12151 2005-06-26  Todd C. Miller  <Todd.Miller@courtesan.com>
12152
12153         * ldap.c:
12154         Fix up some comments Add missing fclose() for the rootbinddn case
12155         [ae95c8a89711]
12156
12157         * ldap.c:
12158         align struct ldap_config
12159         [35d0d64c76f8]
12160
12161         * ldap.c:
12162         use LINE_MAX for max conf file line size
12163         [da116cb8853d]
12164
12165         * pathnames.h.in:
12166         add _PATH_LDAP_SECRET
12167         [128b04ecfab7]
12168
12169         * README.LDAP:
12170         Mention rootbinddn Give example ou=SUDOers container
12171         [852edc69bd1c]
12172
12173 2005-06-25  Todd C. Miller  <Todd.Miller@courtesan.com>
12174
12175         * INSTALL, configure, configure.in, ldap.c:
12176         Support rootbinddn in ldap.conf
12177         [1615c91522a1]
12178
12179         * env.c, sudo.pod, sudoers.pod:
12180         Preserve DISPLAY environment variable by default.
12181         [05f503d5f438]
12182
12183         * acsite.m4, configure:
12184         set need_lib_prefix=no for all cases; this is safe for LD_PRELOAD
12185         [18a04dea8d05]
12186
12187         * acsite.m4, configure:
12188         set need_version=no for all cases; this is safe for LD_PRELOAD
12189         [b542560e1a73]
12190
12191         * aclocal.m4:
12192         typo
12193         [c040df0fcd5a]
12194
12195         * configure, configure.in:
12196         Add dragonfly
12197         [f13794618636]
12198
12199         * auth/pam.c:
12200         Fix call to pam_end() when pam_open_session() fails.
12201         [0be47cdfdef1]
12202
12203         * configure:
12204         regen
12205         [7f5c13b4b800]
12206
12207         * acsite.m4:
12208         rebuild acsite.m4 from libtool 1.9f libtool.m4 ltoptions.m4
12209         ltsugar.m4 ltversion.m4
12210         [a7ba9fd1a2ab]
12211
12212         * config.guess, config.sub, ltmain.sh:
12213         merge in local changes: config.guess: o better openbsd support
12214         config.sub: o hiuxmpp support ltmain.sh o remove requirement that
12215         libs must begin with "lib" o don't print a bunch of crap about
12216         library installs o don't run ldconfig
12217         [f4149f2c720f]
12218
12219         * config.guess, config.sub, ltmain.sh:
12220         libtool 1.9f
12221         [82a534e7121f]
12222
12223         * configure.in:
12224         Update with autoupdate and make minor changes for libtool 1.9f
12225         [11b5ae5c1428]
12226
12227 2005-06-23  Todd C. Miller  <Todd.Miller@courtesan.com>
12228
12229         * parse.c:
12230         don't call sudo_ldap_display_cmnd if ldap not setup
12231         [8bcf6c094ffe]
12232
12233         * sudo_edit.c, visudo.c:
12234         Move declatation of struct timespec to its own include files for
12235         systems without it since it needs time_t defined.
12236         [b95c333299a0]
12237
12238         * gettime.c:
12239         Move declatation of struct timespec to its own include files for
12240         systems without it since it needs time_t defined.
12241         [021b4569cc0c]
12242
12243         * fileops.c:
12244         Move declatation of struct timespec to its own include files for
12245         systems without it since it needs time_t defined.
12246         [dd8573b2ee7d]
12247
12248         * emul/timespec.h:
12249         Move declatation of struct timespec to its own include files for
12250         systems without it since it needs time_t defined.
12251         [f95137771564]
12252
12253         * check.c, compat.h:
12254         Move declatation of struct timespec to its own include files for
12255         systems without it since it needs time_t defined.
12256         [2ef2ace8fe85]
12257
12258         * ldap.c:
12259         Don't set safe_cmnd for the "sudo ALL" case.
12260         [ad7fa9e07da0]
12261
12262 2005-05-27  Todd C. Miller  <Todd.Miller@courtesan.com>
12263
12264         * auth/pam.c:
12265         Call pam_open_session() and pam_close_session() to give pam_limits a
12266         chance to run. Idea from Karel Zak.
12267         [fed46d471350]
12268
12269 2005-04-24  Todd C. Miller  <Todd.Miller@courtesan.com>
12270
12271         * check.c, sudo.c:
12272         Add explicit cast from mode_t -> u_int in printf to silence warnings
12273         on Solaris
12274         [17bb961fe22d]
12275
12276         * parse.c:
12277         include grp.h to silence a warning on Solaris
12278         [14386fbab640]
12279
12280 2005-04-23  Todd C. Miller  <Todd.Miller@courtesan.com>
12281
12282         * parse.c:
12283         Fix printing of += and -= defaults.
12284         [a667604c56cd]
12285
12286 2005-04-17  Todd C. Miller  <Todd.Miller@courtesan.com>
12287
12288         * mon_systrace.c:
12289         Sanity check number of syscall args with argsize. Not really needed
12290         but a little paranoia never hurts.
12291         [6bb455a2c2d6]
12292
12293         * mon_systrace.c, mon_systrace.h:
12294         Don't do pointer arithmetic on void * Use int, not size_t/ssize_t
12295         for systrace lengths (since it uses int)
12296         [3cafccffcffd]
12297
12298 2005-04-16  Todd C. Miller  <Todd.Miller@courtesan.com>
12299
12300         * mon_systrace.c:
12301         Add some memsets for paranoia Fix namespace collsion w/ error Check
12302         rval of decode_args() and update_env() Remove improper setting of
12303         validated variable
12304         [3d385158354d]
12305
12306 2005-04-12  Todd C. Miller  <Todd.Miller@courtesan.com>
12307
12308         * parse.c, sudo.c, sudo.h:
12309         In -l mode, only check local sudoers file if def_ignore_sudoers is
12310         not set and call LDAP versions from display_privs() and
12311         display_cmnd() instead of directly from main(). Because of this we
12312         need to defer closing the ldap connection until after -l processing
12313         has ocurred and we must pass in the ldap pointer to display_privs()
12314         and display_cmnd().
12315         [1dfc2e8c9f2b]
12316
12317         * ldap.c:
12318         Reorganize LDAP code to better match normal sudoers parsing.
12319         Instead of storing strings for later printing in -l mode we do
12320         another query since the authenticating user and the user being
12321         listed may not be the same (the new -U flag). Also add support for
12322         "sudo -l command".
12323
12324         There is still a fair bit if duplicated code that can probably be
12325         refactored.
12326         [e9568f19bde5]
12327
12328 2005-04-11  Todd C. Miller  <Todd.Miller@courtesan.com>
12329
12330         * ldap.c:
12331         Replace pass variable with do_netgr for better readability.
12332         [1bba841b6e79]
12333
12334         * ldap.c:
12335         use DPRINTF macro
12336         [02b159b66bb5]
12337
12338         * ldap.c:
12339         estrdup, not strdup
12340         [22cdee7973c1]
12341
12342 2005-04-10  Todd C. Miller  <Todd.Miller@courtesan.com>
12343
12344         * parse.c:
12345         Add macro to test if the tag changed to improve readability.
12346         [4e11b4819556]
12347
12348         * parse.c:
12349         Avoid printing defaults header if there are no defaults to print...
12350         [41a28627df03]
12351
12352         * glob.c:
12353         Fix a warning on systems without strlcpy().
12354         [6814e0f0e4f4]
12355
12356         * pwutil.c:
12357         Use macros where possible for sudo_grdup() like sudo_pwdup().
12358         [30f201ff35cd]
12359
12360 2005-04-08  Todd C. Miller  <Todd.Miller@courtesan.com>
12361
12362         * utimes.c:
12363         It is possible for tv_usec to hold >= 1000000 usecs so add in
12364         tv_usec / 1000000.
12365         [794ac4d53a65]
12366
12367 2005-03-30  Todd C. Miller  <Todd.Miller@courtesan.com>
12368
12369         * auth/kerb5.c:
12370         The component in krb5_principal_get_comp_string() should be 1, not 0
12371         for Heimdal. From Alex Plotnick.
12372         [fefa351c5044]
12373
12374 2005-03-29  Todd C. Miller  <Todd.Miller@courtesan.com>
12375
12376         * alias.c, alloc.c, check.c, defaults.c, find_path.c, gram.c, gram.y,
12377         interfaces.c, ldap.c, logging.c, match.c, mon_systrace.c, pwutil.c,
12378         redblack.c, sudo.c, sudo.h, toke.c, toke.l, visudo.c:
12379         Add efree() for consistency with emalloc() et al. Allows us to rely
12380         on C89 behavior (free(NULL) is valid) even on K&R.
12381         [7876bb80d87c]
12382
12383         * parse.c, sudo.c:
12384         Move initgroups() for -U option into display_privs() so group
12385         matching in sudoers works correctly.
12386         [b074428ad2ca]
12387
12388 2005-03-27  Todd C. Miller  <Todd.Miller@courtesan.com>
12389
12390         * ldap.c:
12391         Removed duplicate call to ldap_unbind_s introduced along with
12392         sudo_ldap_close.
12393         [19acc1c20f7c]
12394
12395         * parse.c:
12396         Add missing space in Defaults printing
12397         [95d2935bf6d4]
12398
12399 2005-03-25  Todd C. Miller  <Todd.Miller@courtesan.com>
12400
12401         * pwutil.c:
12402         Sync sudo_pwdup with OpenBSD changes: use macros for size computaton
12403         and string copies.
12404         [6b6b241495e5]
12405
12406 2005-03-19  Todd C. Miller  <Todd.Miller@courtesan.com>
12407
12408         * pwutil.c:
12409         Zero old pw_passwd before replacing with version from shadow file.
12410         [3251b349dfe1]
12411
12412         * configure, configure.in:
12413         Only attempt shadow password detection if PAM is not being used Add
12414         shadow_* variables to make shadow password detection more generic.
12415         [d498a3423ac9]
12416
12417         * configure.in:
12418         Use OSDEFS for os-specific -D_FOO_BAR stuff rather than CPPFLAGS
12419         [04d55bbd5e35]
12420
12421 2005-03-13  Todd C. Miller  <Todd.Miller@courtesan.com>
12422
12423         * sudoers.pod:
12424         use a non-breaking space to avoid a double space after e.g.
12425         [11cdb54bdf7b]
12426
12427         * sudo.pod:
12428         commna, not colon after e.g.
12429         [8d5875ff72e0]
12430
12431 2005-03-12  Todd C. Miller  <Todd.Miller@courtesan.com>
12432
12433         * sudo_noexec.c:
12434         Add __ variants of the exec functions. GNU libc at least uses
12435         __execve() internally.
12436         [d1880473d790]
12437
12438         * indent.pro:
12439         Match reality a bit more.
12440         [633e3fa875a7]
12441
12442         * pwutil.c:
12443         Missed piece from rev. 1.6, fix sudo_getpwnam() too.
12444         [128f7b21c2ee]
12445
12446         * pwutil.c:
12447         Store shadow password after making a local copy of struct passwd in
12448         case normal and shadow routines use the same internal buffer in
12449         libc.
12450         [f806052a6ffc]
12451
12452 2005-03-11  Todd C. Miller  <Todd.Miller@courtesan.com>
12453
12454         * alloc.c, logging.c:
12455         Make varargs usage consistent with the rest of the code.
12456         [3d45affc9851]
12457
12458 2005-03-10  Todd C. Miller  <Todd.Miller@courtesan.com>
12459
12460         * sudo_noexec.c:
12461         Wrap more of the exec family since on Linux the others do not appear
12462         to go through the normal execve() path.
12463         [8167769b4e19]
12464
12465         * visudo.c:
12466         make print_unused static like proto says
12467         [ecf10e1bae55]
12468
12469         * glob.c:
12470         silence a warning on K&R systems
12471         [2e00425f1a5c]
12472
12473         * alias.c, error.c:
12474         make this build in K&R land
12475         [156f65f8525a]
12476
12477         * parse.c:
12478         make this build in K&R land
12479         [6fc9276889cb]
12480
12481 2005-03-08  Todd C. Miller  <Todd.Miller@courtesan.com>
12482
12483         * toke.c:
12484         regen
12485         [3b349748cd21]
12486
12487 2005-03-06  Todd C. Miller  <Todd.Miller@courtesan.com>
12488
12489         * ldap.c:
12490         return(foo) not return foo optimize _atobool() slightly
12491         [11d09d154ed5]
12492
12493         * ldap.c:
12494         Use TRUE/FALSE
12495         [53999320d98f]
12496
12497         * ldap.c:
12498         Reformat to match the rest of sudo's code.
12499         [1bd0f2afa0e7]
12500
12501         * sudo.pod:
12502         I am the primary author
12503         [5d311ecd85c6]
12504
12505 2005-02-23  Todd C. Miller  <Todd.Miller@courtesan.com>
12506
12507         * Makefile.in, README, RUNSON:
12508         The RUNSON file is toast--it confused too many people and really
12509         isn't needed in a configure-oriented world.
12510         [96a6ef7bbc08]
12511
12512         * INSTALL:
12513         alternate -> alternative
12514         [b65015c5d0a2]
12515
12516         * tgetpass.c:
12517         Use TCSADRAIN instead of TCSAFLUSH since some OSes have issues with
12518         TCSAFLUSH.
12519         [c66b4763ffdc]
12520
12521         * toke.l:
12522         Allow leading blanks before Defaults and Foo_Alias definitions
12523         [2add513d9277]
12524
12525         * Makefile.in:
12526         fix rules to build toke.o and gram.o in devel mode
12527         [96cbb414ebd3]
12528
12529 2005-02-20  Todd C. Miller  <Todd.Miller@courtesan.com>
12530
12531         * sudoers.pod:
12532         env_keep overrides set_logname
12533         [401877193a15]
12534
12535         * env.c:
12536         Fix disabling set_logname and make env_keep override set_logname.
12537         [0906e7a5ed93]
12538
12539         * compat.h, config.h.in, configure, configure.in:
12540         No longer need memmove()
12541         [43bdb6efe3f2]
12542
12543         * env.c, sudo.c:
12544         Just clean the environment once. This assumes that any further
12545         setenv/putenv will be able to handle the fact that we replaced
12546         environ with our own malloc'd copy but all the implementations I've
12547         checked do.
12548         [11658fe92ba2]
12549
12550 2005-02-16  Todd C. Miller  <Todd.Miller@courtesan.com>
12551
12552         * env.c, sudo.c:
12553         In -i mode, base the value of insert_env()'s dupcheck flag on
12554         DID_FOO flags. Move checks for $HOME resetting into rebuild_env()
12555         [8365b0bd0c71]
12556
12557 2005-02-13  Todd C. Miller  <Todd.Miller@courtesan.com>
12558
12559         * env.c, sudo.c:
12560         Move setting of user_path, user_shell, user_prompt and prev_user
12561         into init_vars() since user_shell at least is needed there.
12562         [37e22dce66e9]
12563
12564 2005-02-12  Todd C. Miller  <Todd.Miller@courtesan.com>
12565
12566         * Makefile.in:
12567         fix devel builds
12568         [9fbb15ef164c]
12569
12570         * sudo.c:
12571         Fix some printf format mismatches on error.
12572         [ffc1c3f11740]
12573
12574         * check.c:
12575         Fix some printf format mismatches on error.
12576         [7b3b508adf50]
12577
12578         * configure, gram.c, toke.c:
12579         regen
12580         [aa76f9d8b02a]
12581
12582         * Makefile.in, aclocal.m4, alias.c, alloc.c, auth/afs.c,
12583         auth/aix_auth.c, auth/bsdauth.c, auth/dce.c, auth/fwtk.c,
12584         auth/kerb4.c, auth/kerb5.c, auth/pam.c, auth/passwd.c,
12585         auth/rfc1938.c, auth/secureware.c, auth/securid.c, auth/securid5.c,
12586         auth/sia.c, auth/sudo_auth.c, auth/sudo_auth.h, check.c,
12587         closefrom.c, compat.h, configure.in, defaults.c, defaults.h,
12588         emul/utime.h, env.c, error.c, fileops.c, find_path.c, getprogname.c,
12589         getspwuid.c, gettime.c, goodpath.c, gram.y, interfaces.c,
12590         interfaces.h, ldap.c, logging.c, logging.h, match.c, mon_systrace.c,
12591         parse.c, redblack.c, redblack.h, set_perms.c, sigaction.c,
12592         snprintf.c, strcasecmp.c, strerror.c, strlcat.c, strlcpy.c, sudo.c,
12593         sudo.h, sudo.pod, sudo_edit.c, sudo_noexec.c, sudoers.pod,
12594         testsudoers.c, tgetpass.c, toke.l, utimes.c, version.h, visudo.c,
12595         visudo.pod, zero_bytes.c:
12596         Update copyright years.
12597         [0610c3654739]
12598
12599         * Makefile.binary.in:
12600         Update copyright years.
12601         [d78ffc9f2e2b]
12602
12603         * LICENSE:
12604         Update copyright years.
12605         [f60473bca4b1]
12606
12607         * BUGS, INSTALL, INSTALL.binary, Makefile.in, README, configure.in:
12608         version 1.7
12609         [aa977a544ca1]
12610
12611         * WHATSNEW:
12612         What's new in sudo 1.7, based on the 1.7 CHANGES entries.
12613         [ecfcf7269c14]
12614
12615 2005-02-11  Todd C. Miller  <Todd.Miller@courtesan.com>
12616
12617         * compat.h, logging.h, sudo.h:
12618         Add __printflike and use it with gcc to warn about printf-like
12619         format mismatches
12620         [b192ad4a0548]
12621
12622 2005-02-10  Todd C. Miller  <Todd.Miller@courtesan.com>
12623
12624         * CHANGES, ChangeLog:
12625         Replaced CHANGES file with ChangeLog generated from cvs logs
12626         [d9ace9dab98f]
12627
12628         * set_perms.c:
12629         Use warning/error instead of perror/fatal.
12630         [e33259df7738]
12631
12632         * config.guess:
12633         Update OpenBSD section
12634         [9d2c23de6801]
12635
12636         * UPGRADE:
12637         Add upgrading noted for 1.7
12638         [1fb6b6d6df07]
12639
12640         * env.c, sudo.c, sudoers.pod:
12641         Instead of zeroing out the environment, just prune out entries based
12642         on the env_delete and env_check lists. Base building up the new
12643         environment on the current environment and the variables we removed
12644         initially.
12645         [fc192df8fd15]
12646
12647         * config.h.in, configure, configure.in, sudo.c:
12648         Set locale to "C" if locales are supported, just to be safe.
12649         [91fbaa98f02e]
12650
12651         * toke.c, toke.l:
12652         Cast?argument to ctype functions to unsigned char.
12653         [e096b4d65796]
12654
12655 2005-02-08  Todd C. Miller  <Todd.Miller@courtesan.com>
12656
12657         * env.c:
12658         correct value for DID_USER
12659         [b5b05d36ec15]
12660
12661         * error.c, fnmatch.c, getcwd.c, glob.c, snprintf.c:
12662         #include <compat.h> not "compat.h"
12663         [7a0ad9a0ccd7]
12664
12665         * defaults.c:
12666         Reset the environment by default.
12667         [4ecc6423e0f0]
12668
12669         * sudo.c:
12670         Alloc an extra slot in NewArgv. Removes the need to malloc an new
12671         vector if execve() fails.
12672         [83dfb6f584a7]
12673
12674 2005-02-07  Todd C. Miller  <Todd.Miller@courtesan.com>
12675
12676         * INSTALL, config.h.in, configure, configure.in, sudo.c:
12677         Use execve(2) and wrap the command in sh if we get ENOEXEC.
12678         [c0c6af4e2a21]
12679
12680 2005-02-06  Todd C. Miller  <Todd.Miller@courtesan.com>
12681
12682         * sudo_noexec.c:
12683         Only include time.h on systems that lack struct timespec which gets
12684         defind in compat.h (using time_t).
12685         [e373e518b4cb]
12686
12687         * sudo_noexec.c:
12688         Include time.h for time_t in compat.h for systems w/o struct
12689         timespec.
12690         [a34b5637e458]
12691
12692         * compat.h, config.h.in, configure, configure.in:
12693         use bcopy on systems w/o memmove
12694         [f835eafd78c6]
12695
12696         * compat.h:
12697         __attribute__((__unused__)) doesn't work in gcc 2.7.2.1 so limit its
12698         use to gcc >= 2.8.
12699         [1cb9a4e58566]
12700
12701         * Makefile.in:
12702         Add explicit rule to build sudo_noexec.lo
12703         [df1dfcf8dd77]
12704
12705 2005-02-05  Todd C. Miller  <Todd.Miller@courtesan.com>
12706
12707         * INSTALL.configure, Makefile.in:
12708         No longer depend on VPATH; pointed out a bunch of missed
12709         dependencies.
12710         [601a45d4af6b]
12711
12712         * TROUBLESHOOTING:
12713         Help for PAM when account section is missing
12714         [9b8221256756]
12715
12716         * auth/pam.c:
12717         Give user a clue when there is a missing "account" section in the
12718         PAM config.
12719         [2529625c0495]
12720
12721         * auth/pam.c:
12722         Better error handling.
12723         [518c9bda23d8]
12724
12725         * config.h.in, configure, configure.in:
12726         Move _FOO_SOURCE to CPPFLAGS so it takes effect as early as
12727         possible. Silences a warning about isblank() on linux.
12728         [19c94d7ecdc8]
12729
12730         * auth/pam.c:
12731         Fix typo (missing comma) that caused an incorrect number of args to
12732         be passed to log_error().
12733         [0099dfec560f]
12734
12735 2005-02-01  Todd C. Miller  <Todd.Miller@courtesan.com>
12736
12737         * pwutil.c:
12738         Don't try to destroy a tree we didn't create.
12739         [d43c4fe03aa4]
12740
12741 2005-01-27  Todd C. Miller  <Todd.Miller@courtesan.com>
12742
12743         * alias.c, alloc.c, auth/afs.c, auth/aix_auth.c, auth/bsdauth.c,
12744         auth/dce.c, auth/fwtk.c, auth/kerb4.c, auth/kerb5.c, auth/pam.c,
12745         auth/passwd.c, auth/rfc1938.c, auth/secureware.c, auth/securid.c,
12746         auth/securid5.c, auth/sia.c, auth/sudo_auth.c, check.c, closefrom.c,
12747         compat.h, defaults.c, env.c, error.c, fileops.c, find_path.c,
12748         fnmatch.c, getcwd.c, getprogname.c, getspwuid.c, gettime.c,
12749         goodpath.c, gram.c, gram.y, interfaces.c, ldap.c, logging.c,
12750         match.c, mon_systrace.c, parse.c, pwutil.c, set_perms.c,
12751         sigaction.c, snprintf.c, strcasecmp.c, strerror.c, strlcat.c,
12752         strlcpy.c, sudo.c, sudo_edit.c, sudo_noexec.c, testsudoers.c,
12753         tgetpass.c, toke.c, toke.l, utimes.c, visudo.c, zero_bytes.c:
12754         Add __unused to rcsids
12755         [ad6b4ac45705]
12756
12757 2005-01-21  Todd C. Miller  <Todd.Miller@courtesan.com>
12758
12759         * configure, configure.in:
12760         Fix error message when mixing invalid auth types
12761         [68069b3ff5bc]
12762
12763         * INSTALL:
12764         PAM, AIX auth, BSD auth and login_cap are now on by default if the
12765         OS supports them.
12766         [4e44e9098cf0]
12767
12768         * auth/sudo_auth.h, config.h.in:
12769         s/HAVE_AUTHENTICATE/HAVE_AIXAUTH/g
12770         [2d569b43b23e]
12771
12772         * configure.in:
12773         Better checking for conflicting authentication methods Display the
12774         authentication methods used at the end of configure Rename --with-
12775         authenticate -> --with-aixauth Use --with-aixauth, --with-bsdauth,
12776         --with-pam, --with-logincap by default on systems that support them
12777         unless disabled. Add OSMAJOR variable that replaces old OSREV; now
12778         OSREV has full version number
12779         [a21115b6fe9f]
12780
12781 2005-01-18  Todd C. Miller  <Todd.Miller@courtesan.com>
12782
12783         * def_data.c, def_data.in, sudo.c, sudoers.pod:
12784         s/-O/-C/
12785         [ee73f1b81923]
12786
12787 2005-01-14  Todd C. Miller  <Todd.Miller@courtesan.com>
12788
12789         * configure.in:
12790         Replace: test -n "$FOO" || FOO="bar"
12791
12792         With: : ${FOO='bar'}
12793         [37552d9054fc]
12794
12795 2005-01-09  Todd C. Miller  <Todd.Miller@courtesan.com>
12796
12797         * pwutil.c, testsudoers.c, tsgetgrpw.c:
12798         Use function pointers to only call private passwd/group routines
12799         when using a nonstandard passwd/group file.
12800         [215908681dfb]
12801
12802 2005-01-06  Todd C. Miller  <Todd.Miller@courtesan.com>
12803
12804         * CHANGES:
12805         sync
12806         [2e55c03f5790]
12807
12808         * tsgetgrpw.c:
12809         Can't use strtok() since it doesn't handle empty fields so add
12810         getpwent()/getgrent() functions and call those.
12811         [bdaa5b0db70e]
12812
12813 2005-01-05  Todd C. Miller  <Todd.Miller@courtesan.com>
12814
12815         * Makefile.in:
12816         Fix dummied out toke.c and gram.c dependencies.
12817         [4b909c8b2ebe]
12818
12819         * Makefile.in:
12820         Rename PARSESRCS -> GENERATED since it is only used in the clean
12821         target Add devdir variable and use it to specify the path to parser
12822         sources
12823         [f27b3f41ca23]
12824
12825         * configure:
12826         regen
12827         [22c6435dbd46]
12828
12829         * configure.in:
12830         Add a devdir variables that defaults to $(srcdir) and is set to . if
12831         --devel was specified. Allows for proper dependecies building the
12832         parser.
12833         [a36d694c6d21]
12834
12835         * testsudoers.c:
12836         Add support for custom passwd/group files.
12837         [296549ff4b87]
12838
12839         * Makefile.in:
12840         Build private copy of pwutil.o for testsudoers with MYPW defined so
12841         it uses our own passwd/group routines.
12842         [bafa54ec78ca]
12843
12844         * visudo.c:
12845         Remove sudo_*{pw,gr}* stubs and add sudo_setspent/sudo_endspent
12846         stubs instead. We can now just use the caching sudo_*{pw,gr}*
12847         functions in pwutil.c Add comment about wanting to call
12848         sudo_endpwent/sudo_endgrent in cleanup()
12849         [7e59d6b5510d]
12850
12851         * tsgetgrpw.c:
12852         Remove caching; we will just use what is in pwutil.c Use global
12853         buffers for passwd/group structs Rename functions from sudo_* to
12854         my_*
12855         [8c1e068f574c]
12856
12857         * logging.c, sudo.c:
12858         g/c pwcache_init/pwcache_destroy
12859         [60a24909b947]
12860
12861         * sudo.h:
12862         Undo last commit and add sudo_setspent and sudo_endspent instead.
12863         [bac80db08296]
12864
12865         * getspwuid.c, pwutil.c:
12866         Move all but the shadow stuff from getspwuid.c to pwutil.c and
12867         pwcache_get and pwcache_put as they are no longer needed. Also add
12868         preprocessor magic to use private versions of the passwd and group
12869         routines if MYPW is defined (for use by testsudoers).
12870         [a16b8678a426]
12871
12872         * tsgetgrpw.c:
12873         zero out struct passwd/group before filling it in so if there are
12874         fields we don't handle they end up as 0.
12875         [274cb6a93301]
12876
12877         * logging.c, sudo.c, sudo.h, testsudoers.c, visudo.c:
12878         Adapt to pwutil.c
12879         [43ebd04c8b82]
12880
12881         * Makefile.in:
12882         Add tsgetgrpw.c and pwutil.c Rename the *OBJ variables for better
12883         readability.
12884         [7f88c6061e2d]
12885
12886         * tsgetgrpw.c:
12887         Passwd and group lookup routines for testsudoers that support
12888         alternate passwd and group files.
12889         [d7803101d34e]
12890
12891         * getspwuid.c, pwutil.c:
12892         Split off pw/gr cache and dup code into its own file. This allows
12893         visudo and testsudoers to use the pw/gr cache too.
12894         [ef333d3ffedf]
12895
12896 2005-01-02  Todd C. Miller  <Todd.Miller@courtesan.com>
12897
12898         * parse.c:
12899         Print Defaults info in "sudo -l" output and wrap lines based on the
12900         terminal width.
12901         [e559eae4250e]
12902
12903 2005-01-01  Todd C. Miller  <Todd.Miller@courtesan.com>
12904
12905         * match.c, testsudoers.c, visudo.c:
12906         Only check group vector in usergr_matches() if we are matching the
12907         invoking or list user. Always check the group members, even if
12908         there was a group vector.
12909         [d0c7ceb2a041]
12910
12911 2004-12-17  Todd C. Miller  <Todd.Miller@courtesan.com>
12912
12913         * LICENSE, Makefile.in, fnmatch.3:
12914         No longer bundle fnmatch.3
12915         [72db4a4ff4e1]
12916
12917         * CHANGES, TODO:
12918         checkpoint
12919         [e92781bfd99c]
12920
12921 2004-12-16  Todd C. Miller  <Todd.Miller@courtesan.com>
12922
12923         * sudo.c:
12924         sort usage
12925         [15e3b876ec2c]
12926
12927         * sudo.pod:
12928         Sort command line options
12929         [c1fa56584bc4]
12930
12931         * def_data.c, def_data.h, def_data.in, defaults.c, logging.c, sudo.c,
12932         sudo.pod, sudoers.pod:
12933         Add closefrom sudoers option to start closing at a point other than
12934         3. Add closefrom_override sudoers option and -C sudo flag to allow
12935         the user to specify a different closefrom starting point.
12936         [370652b099d1]
12937
12938         * pathnames.h.in:
12939         Add _PATH_DEVNULL for those without it.
12940         [0c4c3e0ceb8b]
12941
12942         * LICENSE:
12943         no more UCB strcasecmp
12944         [397a6298e07f]
12945
12946         * strcasecmp.c:
12947         replace BSD licensed one with version derived from pdksh
12948         [d7cfda8c57a2]
12949
12950 2004-12-10  Todd C. Miller  <Todd.Miller@courtesan.com>
12951
12952         * sudo.c:
12953         Fix last commit.
12954         [7afb9a180532]
12955
12956         * sudo.c:
12957         Make sure stdin, stdout and stderr are open and dup them to
12958         /dev/null if not.
12959         [590f387068bd]
12960
12961 2004-12-03  Todd C. Miller  <Todd.Miller@courtesan.com>
12962
12963         * ldap.c, mon_systrace.c, sudo.c, sudo.h:
12964         add sudo_ldap_close
12965         [4273a36765a7]
12966
12967         * fileops.c, gettime.c, sudo.c, sudo_edit.c, utimes.c, visudo.c:
12968         Use TIME_WITH_SYS_TIME
12969         [c32b59bf15fb]
12970
12971         * config.h.in, configure, configure.in:
12972         Add TIME_WITH_SYS_TIME_H
12973         [57cb146f451d]
12974
12975 2004-12-02  Todd C. Miller  <Todd.Miller@courtesan.com>
12976
12977         * env.c:
12978         Add missing braces to avoid DYLD_FORCE_FLAT_NAMESPACE being set
12979         unconditionally on darwin. From Toby Peterson.
12980         [d69959681c87]
12981
12982         * getspwuid.c:
12983         Check rbinsert() return value. In the case of faked up entries
12984         there is usually a negative response cached that we need to
12985         overwrite.
12986
12987         In pwfree() don't try to zero out a NULL pw_passwd pointer.
12988         [00b32d1a48c1]
12989
12990         * mon_systrace.c:
12991         Use the double fork trick to avoid the monitor process being waited
12992         for by the main program run through sudo.
12993         [e0ce556712ff]
12994
12995 2004-11-29  Todd C. Miller  <Todd.Miller@courtesan.com>
12996
12997         * sudo.c:
12998         Call initgroups() in -U mode so group matches work normally.
12999         [2235bea15283]
13000
13001         * def_data.h, mkdefaults:
13002         Don't print a trailing comma for the last entry in enum def_tupple
13003         [c43a96bb31df]
13004
13005 2004-11-28  Todd C. Miller  <Todd.Miller@courtesan.com>
13006
13007         * sudoers.cat, sudoers.man.in, sudoers.pod:
13008         Mention values when lecture, listpw and verifypw are used in boolean
13009         context.
13010         [a0b5c0abaccf]
13011
13012         * def_data.c, def_data.in:
13013         verifypw when used in a boolean TRUE context should be "all", not
13014         "any".
13015         [2eb076ddd5e2]
13016
13017 2004-11-26  Todd C. Miller  <Todd.Miller@courtesan.com>
13018
13019         * def_data.in, defaults.c:
13020         Allow tuples that can be used as booleans to be used as boolean
13021         TRUE. In this case the 2nd possible value of the tuple is used for
13022         TRUE.
13023         [bd99aa77e88b]
13024
13025 2004-11-25  Todd C. Miller  <Todd.Miller@courtesan.com>
13026
13027         * configure, configure.in:
13028         Correct the test for 2-parameter timespecsub
13029         [d41c9cb26b97]
13030
13031         * sudo.h:
13032         Add strub struct definitions for passwd, timeval and timespec
13033         [c4ce5c43d8c5]
13034
13035         * config.h.in, configure, configure.in, sudo_edit.c, visudo.c:
13036         Add check for 2-argument form of timespecsub (FreeBSD and BSD/OS)
13037         and fix a typo in the gettimeofday check.
13038         [8ac9893057ce]
13039
13040 2004-11-24  Todd C. Miller  <Todd.Miller@courtesan.com>
13041
13042         * match.c, testsudoers.c:
13043         Deal with user_stat being NULL as it is for visudo and testsudoers.
13044         [3605a6ff64d0]
13045
13046         * parse.c, sudo.c, sudo.cat, sudo.h, sudo.man.in, sudo.pod:
13047         Add -U option to use in conjunction with -l instead of -u. Add
13048         support for "sudo -l command" to test a specific command.
13049         [99638789d415]
13050
13051         * gram.c, gram.y, sudo.c:
13052         Set safe_cmnd after sudoers_lookup() if it has not been set.
13053         Previously it was set by sudo "ALL" in the parser but at that point
13054         the fully-qualified pathname has not yet been found.
13055         [ac30d98f8225]
13056
13057 2004-11-23  Todd C. Miller  <Todd.Miller@courtesan.com>
13058
13059         * parse.c, testsudoers.c:
13060         Correctly handle multiple privileges per userspec and runas
13061         inheritence.
13062         [a98a965181af]
13063
13064 2004-11-21  Todd C. Miller  <Todd.Miller@courtesan.com>
13065
13066         * defaults.c:
13067         Zero out sd_un for each entry in sudo_defs_table in init_defaults.
13068         [031d3cd4a848]
13069
13070 2004-11-19  Todd C. Miller  <Todd.Miller@courtesan.com>
13071
13072         * toke.c, toke.l:
13073         make per-command defaults work with sudoedit
13074         [e56fe33db916]
13075
13076         * ldap.c, parse.c, sudo.c, sudo.h:
13077         Remove the FLAG_NOPASS, FLAG_NOEXEC and FLAG_MONITOR flags.
13078         Instead, we just set the approriate defaults variable.
13079         [756eeecc1d86]
13080
13081         * sample.sudoers, sudoers.cat, sudoers.man.in, sudoers.pod:
13082         Document per-command Defaults.
13083         [92a0f84b91c1]
13084
13085         * defaults.c, defaults.h, gram.c, gram.h, gram.y, mon_systrace.c,
13086         sudo.c, testsudoers.c, toke.c, toke.l, visudo.c:
13087         Add support for command-specific Defaults entries. E.g.
13088         Defaults!/usr/bin/vi noexec
13089         [be3d52bf01cf]
13090
13091         * defaults.c, match.c, parse.c, parse.h, testsudoers.c:
13092         Change an occurence of user_matches() -> runas_matches() missed
13093         previously runas_matches(), host_matches() and cmnd_matches() only
13094         really need to pass in a list of members. user_matches() still
13095         needs to pass in a passwd struct because of "sudo -l"
13096         [833b22fc6fa0]
13097
13098         * parse.c:
13099         Check def_authenticate, def_noexec and def_monitor when setting
13100         return flags. XXX May be better to just set the defaults directly
13101         and get rid of those flags.
13102         [b6db22b59d69]
13103
13104         * alias.c, alloc.c, auth/afs.c, auth/aix_auth.c, auth/bsdauth.c,
13105         auth/dce.c, auth/fwtk.c, auth/kerb4.c, auth/kerb5.c, auth/pam.c,
13106         auth/passwd.c, auth/rfc1938.c, auth/secureware.c, auth/securid.c,
13107         auth/securid5.c, auth/sia.c, auth/sudo_auth.c, check.c, closefrom.c,
13108         defaults.c, env.c, error.c, fileops.c, find_path.c, fnmatch.c,
13109         getcwd.c, getprogname.c, getspwuid.c, gettime.c, glob.c, goodpath.c,
13110         gram.c, gram.y, interfaces.c, ldap.c, logging.c, match.c,
13111         mon_systrace.c, parse.c, redblack.c, set_perms.c, snprintf.c,
13112         strcasecmp.c, strerror.c, strlcat.c, strlcpy.c, sudo.c, sudo_edit.c,
13113         sudo_noexec.c, testsudoers.c, tgetpass.c, toke.c, toke.l, utimes.c,
13114         visudo.c, zero_bytes.c:
13115         Use: #include <config.h> Not: #include "config.h" That way we get
13116         the correct config.h when build dir != src dir
13117         [97e5670a442b]
13118
13119         * Makefile.in:
13120         Back out part of rev 1.263; fix -I order
13121         [197ea01cad5d]
13122
13123         * toke.c, toke.l:
13124         More robust parsing if #include; could be much better still.
13125         [31bc3cd8f045]
13126
13127         * sudo_edit.c, visudo.c:
13128         Make arg splitting in visudo and sudoedit consistent.
13129         [7bc74485f246]
13130
13131         * Makefile.in, alias.c, gram.c, gram.y, parse.h:
13132         Split alias routines out into their own file.
13133         [d90f633cf9ae]
13134
13135         * error.h:
13136         __attribute__ is already defined in compat.h
13137         [676ed3fe9203]
13138
13139         * visudo.c:
13140         quit() should not be __noreturn__ as it is non-void on some
13141         platforms.
13142         [e528c2b6ba10]
13143
13144         * auth/fwtk.c, auth/rfc1938.c, auth/securid.c, auth/securid5.c:
13145         Add local error/warning functions like err/warn but that call an
13146         additional cleanup routine in the error case. This means we no
13147         longer need to compile a special version of alloc.o for visudo.
13148         [e78e8aae882e]
13149
13150         * parse.h:
13151         Clarify comments about the data structures
13152         [ae894e266701]
13153
13154 2004-11-18  Todd C. Miller  <Todd.Miller@courtesan.com>
13155
13156         * visudo.c:
13157         Add support for VISUAL and EDITOR containing command line args. If
13158         env_editor is not set any args in VISUAL and EDITOR are ignored.
13159         Arguments are also now supported in def_editor.
13160         [ff7303b8e298]
13161
13162 2004-11-17  Todd C. Miller  <Todd.Miller@courtesan.com>
13163
13164         * parse.h:
13165         alias_matches() is no more
13166         [b59825e28084]
13167
13168         * CHANGES, TODO:
13169         sync
13170         [2b8f5f63c1de]
13171
13172         * Makefile.in:
13173         When regenerating the parser, don't replace gram.h unless it has
13174         changed.
13175         [819949668018]
13176
13177         * Makefile.in:
13178         remove Makefile.binary for distclean
13179         [351eec8d00b2]
13180
13181         * env.c:
13182         Preserve KRB5CCNAME in zero_env() and add a paranoia check to make
13183         sure we can't overflow new_env.
13184         [3284d17b9c6d]
13185
13186         * sudo_edit.c:
13187         paranoia when stripping trailing slashes from tempdir.
13188         [012f1aa2b81f]
13189
13190         * sudo.c:
13191         Set user_ngroups to 0 if getgroups() returns an error.
13192         [c46d43e9449a]
13193
13194 2004-11-16  Todd C. Miller  <Todd.Miller@courtesan.com>
13195
13196         * config.h.in, configure, configure.in, sudo.c:
13197         Add configure check for getgroups()
13198         [5d8a214e2cef]
13199
13200         * ldap.c:
13201         Use supplementary group vector in struct sudo_user.
13202         [3d0c463c034d]
13203
13204         * match.c:
13205         Only do string comparisons on the group members if there is no
13206         supplemental group list.
13207         [be1c8362f7ef]
13208
13209         * CHANGES, TODO:
13210         sync
13211         [db188bc5b975]
13212
13213         * sudo_edit.c:
13214         On Digital UNIX _PATH_VAR_TMP doesn't end with a trailing slash so
13215         chop off any trailing slashes we see and add an explicit one.
13216         [e1b477dafee1]
13217
13218         * match.c:
13219         remove bogus XXX comment
13220         [8aecb8a28d40]
13221
13222         * match.c:
13223         Get rid of alias_matches and correctly fall through to the non-alias
13224         cases when there is no alias with the specified name.
13225         [2cd555246f09]
13226
13227         * getspwuid.c:
13228         Cache non-existent passwd/group entries too.
13229         [8de9a467d271]
13230
13231         * gram.c:
13232         regen
13233         [9ece18c58f36]
13234
13235         * getspwuid.c:
13236         fix typo
13237         [9a7ae371eac1]
13238
13239         * check.c, getspwuid.c, glob.c, ldap.c, logging.c, match.c,
13240         mon_systrace.h, sudo.c, sudo.h, testsudoers.c, visudo.c:
13241         Implement group caching and use the passwd and group caches
13242         throughout.
13243         [f1d8c5015169]
13244
13245 2004-11-15  Todd C. Miller  <Todd.Miller@courtesan.com>
13246
13247         * match.c:
13248         Properly negate the return value of alias_matches() when
13249         appropriate.
13250         [ce59c4ce77ad]
13251
13252         * match.c:
13253         Make hostname_matches() return TRUE for a match, else FALSE like the
13254         caller expects.
13255         [1dc03902d3a2]
13256
13257         * Makefile.in:
13258         Add missing dependencies on gram.h
13259         [4f94bbb1d50c]
13260
13261         * match.c:
13262         Use runas_matches in alias_matches() now that we have it.
13263         [284d22e91178]
13264
13265         * parse.c, parse.h:
13266         Expand aliases in "sudo -l" mode
13267         [f67a38b79c44]
13268
13269         * gram.y, match.c:
13270         Use ALIAS for the member type when storing an alias instead of
13271         HOSTALIAS/RUNASALIAS/CMNDALIAS/USERALIAS since match.c relies on the
13272         more generic type. Expand runas_matches instead of calling
13273         user_matches() inside of it since user_matches() looks up
13274         USERALIASes, not RUNASALIASes.
13275         [52004d75232b]
13276
13277         * CHANGES, getspwuid.c:
13278         Paranoia; zero out pw_passwd before freeing passwd entry.
13279         [bd1b22638f00]
13280
13281         * LICENSE, Makefile.in, alloc.c, check.c, config.h.in, configure,
13282         configure.in, defaults.c, emul/err.h, env.c, err.c, error.c,
13283         error.h, find_path.c, interfaces.c, logging.c, mon_systrace.c,
13284         sudo.c, sudo.h, sudo_edit.c, testsudoers.c, visudo.c:
13285         Add local error/warning functions like err/warn but that call an
13286         additional cleanup routine in the error case. This means we no
13287         longer need to compile a special version of alloc.o for visudo.
13288         [25000b676cfe]
13289
13290         * match.c:
13291         Use userpw_matches() to compare usernames, not strcmp(), since the
13292         latter checks for "#uid".
13293         [fcbe4b859f66]
13294
13295         * getspwuid.c, mon_systrace.c, mon_systrace.h, sudo.c:
13296         Cache passwd db entries in 2 reb-black trees; one indexed by uid,
13297         the other by user name. The data returned from the cache should be
13298         considered read-only and is destroyed by sudo_endpwent().
13299         [ee2418ff3f86]
13300
13301         * match.c:
13302         add cast to uid_t
13303         [eb6415302d84]
13304
13305         * gram.y:
13306         missing free in alias_destroy
13307         [572ecb680ad8]
13308
13309         * redblack.c:
13310         Can't use rbapply() for rbdestroy since the destructor is passed a
13311         data pointer, not a node pointer.
13312         [11ce713830c0]
13313
13314         * getspwuid.c, logging.c, sudo.c, sudo.h:
13315         Create and use private versions of setpwent() and endpwent() that
13316         set/end the shadow password file too.
13317         [616bc76d23bf]
13318
13319         * gram.c, gram.h, gram.y, match.c, parse.h, testsudoers.c, visudo.c:
13320         Store aliases in a red-black tree.
13321         [ce017d540416]
13322
13323         * Makefile.in, redblack.c, redblack.h:
13324         red-black tree implementation
13325         [cd5586e8f48b]
13326
13327         * visudo.c:
13328         Edit all sudoers file if there were unused or undefined aliases and
13329         we are in strict mode.
13330         [b6d5f5bb7262]
13331
13332 2004-11-12  Todd C. Miller  <Todd.Miller@courtesan.com>
13333
13334         * CHANGES, def_data.c, def_data.h, def_data.in, defaults.c, env.c,
13335         find_path.c, sudoers.cat, sudoers.man.in, sudoers.pod, visudo.c:
13336         Bring back the "secure_path" Defaults option now that Defaults take
13337         effect before the path is searched.
13338         [2e52c0e27606]
13339
13340 2004-11-11  Todd C. Miller  <Todd.Miller@courtesan.com>
13341
13342         * logging.c, parse.c:
13343         A user can always list their own entries, even with -u. Better error
13344         message when failing to list another user's entries.
13345         [e2e24deb0071]
13346
13347         * parse.c, sudo.c, sudo.h:
13348         The syntax to list another user's entries is now "-u otheruser -l".
13349         Only root or users with sudo "ALL" may list other user's entries.
13350         [3c0657e8f5fe]
13351
13352         * sudo.cat, sudo.man.in, sudo.pod:
13353         Update env variable info in SECURITY NOTES
13354         [299716071024]
13355
13356         * env.c:
13357         strip CDPATH too
13358         [9b97643b26f9]
13359
13360         * env.c:
13361         strip exported bash functions from the environment.
13362         [9e5090c8284f]
13363
13364 2004-10-27  Todd C. Miller  <Todd.Miller@courtesan.com>
13365
13366         * sudo.c:
13367         Only reset sudo_user.pw based on SUDO_USER environment variables for
13368         real commands and sudoedit. This avoids a confusing message when a
13369         user tries "sudo -l" or "sudo -v" and is denied.
13370         [3ea6d0053274]
13371
13372         * gram.c, gram.y, parse.h:
13373         Extend LIST_APPEND to deal with appending lists too
13374         [d963e42f622f]
13375
13376 2004-10-26  Todd C. Miller  <Todd.Miller@courtesan.com>
13377
13378         * logging.c:
13379         Convert some bitwise AND to ISSET
13380         [130dc40d268e]
13381
13382         * lex.yy.c, toke.c:
13383         toke.c replaces lex.yy.c
13384         [048858df79e7]
13385
13386         * CHANGES, TODO:
13387         sync
13388         [d19e7abf251c]
13389
13390         * BUGS:
13391         new parser fixes most of the outstanding bugs
13392         [0891f66e3758]
13393
13394         * configure:
13395         regen
13396         [1a3358cc7283]
13397
13398         * visudo.c:
13399         Rework for the new parser. Now checks for unused aliases in sudoers.
13400         [ad462ede3094]
13401
13402         * testsudoers.c:
13403         Rewrite for the new parser. Now supports a -d flag (dump) and adds
13404         a -h flag (host). It now defaults to the local hostname unless
13405         otherwise specified.
13406         [1b69685cc601]
13407
13408         * sudo.h:
13409         Add new prototypes. Remove NOMATCH/UNSPEC (now in parse.h)
13410         [2e4fb3abfef0]
13411
13412         * sudo.c:
13413         Update for new parse. We now call find_path() *after* we have
13414         updated the global defaults based on sudoers. Also adds support for
13415         listing other user's privs if you are root.
13416         [cf3db9fc3024]
13417
13418         * mon_systrace.c:
13419         Working LDAP support; also remove a now-unneeded rewind().
13420         [649ecf1baf6b]
13421
13422         * logging.c, logging.h:
13423         Add NO_STDERR flag.
13424         [6cb935af94e0]
13425
13426         * ldap.c:
13427         Split sudo_ldap_check() into three pieces: sudo_ldap_open(),
13428         udo_ldap_update_defaults() and sudo_ldap_check(). This allows us to
13429         connecto to LDAP, apply the default options, find the command in the
13430         user's path, and then check whether the user is allowed to run it.
13431         The important thing here is that the default runas user may be
13432         specified as a default option and that needs to be set before we
13433         search for the command.
13434         [fc0426abc6f1]
13435
13436         * ldap.c:
13437         Add casts to unsigned char for isspace() to quiet a gcc warning.
13438         [e5358e3df439]
13439
13440         * defaults.h:
13441         Add prototype for update_defaults()
13442         [564dac3db74e]
13443
13444         * defaults.c:
13445         Don't warn about line numbers now that we operate on a set of data
13446         structures (or LDAP) and not a file.
13447         [bcd9ffb9b67c]
13448
13449         * config.h.in:
13450         No long use lsearch()
13451         [9d048c587319]
13452
13453         * Makefile.in:
13454         Update for new and changed file names.
13455         [6f424a7c4515]
13456
13457         * LICENSE:
13458         no more BSD lsearch.c
13459         [463a96d89026]
13460
13461         * match.c:
13462         foo_matches() routines now live in match.c Added user_matches(),
13463         runas_matches(), host_matches(), cmnd_matches() and alias_matches()
13464         that operate on the parsed sudoers file.
13465         [b14da8a0567e]
13466
13467         * parse.lex, toke.l:
13468         Move parse.lex -> toke.l Rename buffer_frob() -> switch_buffer()
13469         WORD no longer needs to exclude '@' kill yywrap()
13470         [a922294eb7b7]
13471
13472         * gram.c, gram.h, gram.y, parse.c, parse.h, parse.yacc, sudo.tab.c,
13473         sudo.tab.h:
13474         Rewritten parser that converts sudoers into a set of data
13475         structures. This eliminates ordering issues and makes it possible to
13476         apply sudoers Defaults entries before searching for the command.
13477         [30d2ec4d203c]
13478
13479         * configure.in, emul/search.h, lsearch.c:
13480         We won't be using lsearch() any longer.
13481         [29c4d54bfac0]
13482
13483         * ldap.c:
13484         sudo should not send mail if someone who runs 'sudo -l' has no
13485         entry.
13486         [6fc27a69fd9c]
13487
13488         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in, visudo.cat,
13489         visudo.man.in:
13490         regen
13491         [8166347917f3]
13492
13493         * visudo.pod:
13494         Update warnings to match new visudo
13495         [004c0766798f]
13496
13497         * sudoers.pod:
13498         The new parser doesn't have the old ordering constraints.
13499         [ffd43bd08661]
13500
13501         * sudo.pod:
13502         Document that -l now takes an optional username argument
13503         [278f9557de8b]
13504
13505 2004-10-25  Todd C. Miller  <Todd.Miller@courtesan.com>
13506
13507         * RUNSON:
13508         AIX 5.2.0.0 works
13509         [523acd29d858]
13510
13511         * ldap.c:
13512         If LDAP_OPT_SUCCESS is not defined, use LDAP_SUCCESS instead. Fixes
13513         a compilation problem with Solaris 9's native LDAP.
13514
13515         Set FLAG_MONITOR when needed.
13516         [35824ade672d]
13517
13518 2004-10-23  Todd C. Miller  <Todd.Miller@courtesan.com>
13519
13520         * mon_systrace.c:
13521         Call sudo_goodpath() *after* changing the cwd to match the traced
13522         process. Fixes relative paths.
13523         [12ee111d0ad7]
13524
13525 2004-10-21  Todd C. Miller  <Todd.Miller@courtesan.com>
13526
13527         * testsudoers.c:
13528         Kill set_perms() stub--it is no longer needed.
13529         [116ed702935d]
13530
13531 2004-10-13  Todd C. Miller  <Todd.Miller@courtesan.com>
13532
13533         * sudoers.cat, sudoers.man.in, sudoers.pod:
13534         stay_setuid now requires set_reuid() or setresuid()
13535         [8511f67e25d5]
13536
13537         * INSTALL, PORTING, TROUBLESHOOTING, config.h.in, configure,
13538         configure.in, set_perms.c, sudo.c, sudo.h:
13539         Kill use of POSIX saved uids; they aren't worth bothering with.
13540         [b3b1f19f18c1]
13541
13542 2004-10-07  Todd C. Miller  <Todd.Miller@courtesan.com>
13543
13544         * glob.c:
13545         remove call to issetugid()
13546         [63f2e492c08f]
13547
13548         * sudoers.cat, sudoers.man.in, sudoers.pod:
13549         Remove warning about wildcards. Now that we use glob() the bug is
13550         fixed.
13551         [b15729d32266]
13552
13553         * parse.c:
13554         Use glob(3) instead of fnmatch(3) for matching pathnames and stat
13555         each result that matches the basename of the user's command. This
13556         makes "cd /usr/bin ; sudo ./blah" work when sudoers allows
13557         /usr/bin/blah. Fixes bug #143.
13558         [e31eb6310340]
13559
13560         * config.h.in, configure, configure.in:
13561         Define HAVE_EXTENDED_GLOB for extended glob (GLOB_TILDE and
13562         GLOB_BRACE)
13563         [677ed6661e17]
13564
13565         * config.h.in, configure, configure.in:
13566         Check for a glob() that supports GLOB_BRACE and GLOB_TILDE
13567         [aaa2329dd266]
13568
13569         * LICENSE:
13570         reference glob
13571         [bedc9a923423]
13572
13573         * glob.c:
13574         4.4BSD glob(3) with fixes from OpenBSD and some unneeded extensions
13575         removed.
13576         [81799451473c]
13577
13578         * emul/glob.h:
13579         4.4BSD glob(3) with fixes from OpenBSD and some unneeded extensions
13580         removed.
13581         [0335cf31fb1e]
13582
13583 2004-10-05  Todd C. Miller  <Todd.Miller@courtesan.com>
13584
13585         * mon_systrace.c:
13586         Just return if STRIOCINJECT or STRIOCREPLACE fail. It probably
13587         means we are out of space in the stack gap...
13588         [5b02b702021e]
13589
13590         * CHANGES:
13591         sync
13592         [be3826273e56]
13593
13594         * mon_systrace.c:
13595         Take a stab at ldap sudoers support here.
13596         [9d023695b0de]
13597
13598         * mon_systrace.c, mon_systrace.h:
13599         Detach from tracee on SIGHUP, SIGINT and SIGTERM. Now "sudo reboot"
13600         doesn't cause reboot to inadvertanly kill itself.
13601         [d4aab2365610]
13602
13603         * mon_systrace.c:
13604         put "monitor" in the proctitle, not "systrace"
13605         [9a9025767d86]
13606
13607         * mon_systrace.c:
13608         When modifying the environment, don't replace envp when we can get
13609         away with just rewriting pointers in the traced process.
13610         [c03622f7a2e2]
13611
13612         * mon_systrace.c, mon_systrace.h:
13613         Add environment updating via STRIOCINJECT (if available).
13614         [037291016870]
13615
13616         * sudoers.cat, sudoers.man.in:
13617         regen
13618         [869acc511046]
13619
13620 2004-10-04  Todd C. Miller  <Todd.Miller@courtesan.com>
13621
13622         * lex.yy.c:
13623         regen
13624         [4e61a9bd3c97]
13625
13626         * parse.lex:
13627         Fix bug introduced in unput() removal; want yyless(0) not yyless(1)
13628         [b70d7bd6e147]
13629
13630         * mon_systrace.c:
13631         Include file is now mon_systrace.h
13632         [ead4e36d92ae]
13633
13634         * Makefile.in, configure, configure.in, def_data.c, def_data.h,
13635         def_data.in, lex.yy.c, parse.c, parse.h, parse.lex, parse.yacc,
13636         sudo.c, sudo.h, sudo.tab.c, sudo.tab.h, sudoers.pod:
13637         No longer call it tracing, it is now "monitoring" which should be
13638         more a obvious name to non-hackers.
13639         [aa811ded0789]
13640
13641 2004-10-01  Todd C. Miller  <Todd.Miller@courtesan.com>
13642
13643         * mon_systrace.c, mon_systrace.h:
13644         Fix some XXX
13645         [a271072dacc6]
13646
13647         * mon_systrace.c, mon_systrace.h:
13648         No need to include syscall.h, use 1024 as the max # of entries (the
13649         max that systrace(4) allows).
13650
13651         Only need to use SYSTR_POLICY_ASSIGN once
13652
13653         Change check_syscall() -> find_handler() and have it return the
13654         handler instead of just running it. We need this since handler now
13655         have two parts: one part that generates and answer and another that
13656         gets called after the answer is accepted (to do logging).
13657
13658         Add some missing check_exec for emul execv
13659         [a89d243f0525]
13660
13661         * sample.pam, sample.sudoers, sample.syslog.conf, sudoers:
13662         Add $Sudo$ tags.
13663         [6f3fedb0daba]
13664
13665         * config.h.in:
13666         Add missing HAVE_LINUX_SYSTRACE_H
13667         [ff75ab7bfc53]
13668
13669         * Makefile.in:
13670         add trace_systrace.o dependency
13671         [88a408668ab2]
13672
13673 2004-09-30  Todd C. Miller  <Todd.Miller@courtesan.com>
13674
13675         * configure, configure.in:
13676         Also look for systrace.h in /usr/include/linux
13677         [98b98b436cf3]
13678
13679         * mon_systrace.c, mon_systrace.h:
13680         Move all struct defs and prototypes into trace_systrace.h and mark
13681         all but systace_attach() static.
13682         [85511253b570]
13683
13684         * mon_systrace.c, mon_systrace.h:
13685         Add support for tracing emulations. At the moment, all emulations
13686         are compiled in. It might make sense to #ifdef them in the future,
13687         though this impeeds readability.
13688         [87bb50abf277]
13689
13690         * Makefile.in, configure, configure.in:
13691         rename systrace.c -> trace_systrace.c
13692         [31cfa4407d93]
13693
13694         * parse.yacc, sudo.tab.c:
13695         Allow this to build with a K&R compiler again
13696         [32876af5bb98]
13697
13698         * TODO:
13699         sync
13700         [46865bd70f7c]
13701
13702         * compat.h, sudo.c, visudo.c:
13703         Use __attribute__((__noreturn__))
13704         [65bbad71fe89]
13705
13706         * visudo.c:
13707         Exit() takes a negative value to indicate it was not called via
13708         signal.
13709         [b93032ed7b60]
13710
13711         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in, visudo.cat,
13712         visudo.man.in:
13713         regen
13714         [45bcf4661558]
13715
13716         * Makefile.in, visudo.c:
13717         Define Err() and Errx() that are like err() and errx() but call
13718         Exit() instead of exit(). Build private copy of alloc.o for visudo
13719         that calls Err() and Errx().
13720         [c6d02bf42edd]
13721
13722 2004-09-29  Todd C. Miller  <Todd.Miller@courtesan.com>
13723
13724         * lex.yy.c, sudo.tab.c:
13725         regen
13726         [39de7e7c59da]
13727
13728         * CHANGES:
13729         sync
13730         [ba481d9ed1aa]
13731
13732         * visudo.c:
13733         Overhaul visudo for editing multiple files: o visudo has been
13734         broken out into functions (more work needed here) o each file is
13735         now edited before sudoers is re-parsed o if a #include line is
13736         added that file will be edited too
13737
13738         TODO: o cleanup temp files when exiting via err() or errx() o
13739         continue breaking things out into separate functions
13740         [80c35cf534eb]
13741
13742         * parse.lex, sudo.c, sudo.h, testsudoers.c, visudo.c:
13743         Add keepopen arg to open_sudoers that open_sudoers can use to
13744         indicate to the caller that the fd should not be closed when it is
13745         done with it. To be used by visudo to keep locked fds from being
13746         closed prematurely (and thus losing the lock).
13747         [f330fe632470]
13748
13749         * parse.yacc, sudo.c:
13750         Add errorfile global that contains the name of the file that caused
13751         the error.
13752         [98079c7a37ed]
13753
13754         * parse.lex:
13755         return COMMENT to yacc grammar for a #include line
13756         [2024a8de4fa8]
13757
13758         * parse.lex:
13759         Remove us of unput() in favor of yyless() which is cheaper.
13760         [c61291902beb]
13761
13762         * parse.yacc:
13763         Allow an empty sudoers file.
13764         [62fb111db2e7]
13765
13766 2004-09-28  Todd C. Miller  <Todd.Miller@courtesan.com>
13767
13768         * mon_systrace.c:
13769         Rewind sudoers_fp now that sudoers_lookup() doesn't do it for us.
13770         [9e15869ef597]
13771
13772         * lex.yy.c, sudo.tab.c:
13773         regen
13774         [c29bdd43bfad]
13775
13776         * visudo.c:
13777         Do signal setup before calling edit_sudoers(). Don't shadow the
13778         "quiet" global.
13779         [74252efd09ff]
13780
13781         * visudo.c:
13782         If a sudoers file includes other files, edit those too. Does not yes
13783         deal with creating the new includes files itself.
13784         [06af7b9c173f]
13785
13786         * testsudoers.c:
13787         init_parser now takes a path
13788         [b5ee186eb192]
13789
13790         * parse.c, parse.h, parse.lex, parse.yacc:
13791         More scaffolding for dealing with multiple sudoers files: o
13792         init_parser() now takes a path used to populate the sudoers global
13793         o the sudoers global is used to print the correct file in yyerror()
13794         o when switching to a new sudoers file, perserve old file name and
13795         line number
13796         [d9be4970b8bd]
13797
13798         * Makefile.in, pathnames.h.in:
13799         Kill _PATH_SUDOERS_TMP; it is not meaningful now that we can have
13800         multiple sudoers files.
13801         [6ccc4e921c43]
13802
13803         * parse.c, sudo.c:
13804         Rewind sudoers_fp in open_sudoers() instead of sudoers_lookup() so
13805         we start at the right file position when reading include files.
13806         [91fcb961e7a4]
13807
13808         * sudoers.pod:
13809         document #include
13810         [fbb92a25a726]
13811
13812         * lex.yy.c:
13813         regen
13814         [50cd7a4c9dff]
13815
13816         * parse.lex:
13817         Add max depth of 128 for the include stack to avoid loops.
13818
13819         Since yyerror() doesn't stop parsing, pass return values back to
13820         yylex and call yyterminate() on error.
13821         [e79dbffb729d]
13822
13823 2004-09-27  Todd C. Miller  <Todd.Miller@courtesan.com>
13824
13825         * sudoers.pod:
13826         document tracing
13827         [165a467eadd8]
13828
13829         * sudo.pod:
13830         Mention PREVENTING SHELL ESCAPES section of sudoers man page
13831         [3217ccecd834]
13832
13833         * lex.yy.c, sudo.tab.c:
13834         regen
13835         [fbd58d1d3a76]
13836
13837         * parse.lex:
13838         Add support for #include in sudoers (visudo support TBD)
13839         [a78015ca81af]
13840
13841         * parse.yacc:
13842         make yyerror()'s argument const
13843         [7d8e168c019a]
13844
13845         * testsudoers.c, visudo.c:
13846         Add open_sudoers() stubs.
13847         [087466787198]
13848
13849         * sudo.c, sudo.h:
13850         Rename check_sudoers() open_sudoers() and make it return a FILE *
13851         [142fc511fc65]
13852
13853 2004-09-26  Todd C. Miller  <Todd.Miller@courtesan.com>
13854
13855         * BUGS, INSTALL, INSTALL.binary, Makefile.in, README, configure.in,
13856         version.h:
13857         Crank version
13858         [1adc3f839480]
13859
13860         * Makefile.in, sudo.psf:
13861         Better HP-UX depot construction
13862         [2d952b000e63]
13863
13864 2004-09-25  Todd C. Miller  <Todd.Miller@courtesan.com>
13865
13866         * mon_systrace.c:
13867         o Made children global so check_exec() can lookup a child. o
13868         Replaced uid in struct childinfo with struct passwd * (for runas) o
13869         new_child() now takes a parent pid so the runas info can be
13870         inherited o Added find_child() to lookup a child by its pid o
13871         update_child() now fills in a struct passwd o Converted the big
13872         if/else mess in set_policy to a switch o Syscalls that change uid
13873         are now "ask" so we get SYSTR_MSG_UGID events
13874         [29b9ea3f09a3]
13875
13876         * getspwuid.c:
13877         Add flag to sudo_pwdup that indicates whether or not to lookup the
13878         shadow password. Will be used to a struct passwd that has the
13879         shadow password already filled in.
13880         [e19d43dd7238]
13881
13882         * mon_systrace.c:
13883         add missing increment of addr in read_string()
13884         [f9eb0f060cb6]
13885
13886         * mon_systrace.c:
13887         Remove bogus call to update_child() and some cosmetic fixes
13888         [701ab0b97fef]
13889
13890         * mon_systrace.c:
13891         Don't leak /dev/systrace fd to tracee Make initialized global for
13892         simplicity If STRIOCATTACH returns EBUSY we are already being traced
13893         Check for user_args == NULL in setproctitle() call Add missing calls
13894         to STRIOCANSWER
13895         [1956edf9bc3a]
13896
13897         * sudo.c:
13898         g/c sudo_pwdup proto
13899         [b7c4d6249ecb]
13900
13901         * Makefile.in, sudo.psf:
13902         Add target for building a depot file
13903         [357019efd99b]
13904
13905         * mon_systrace.c:
13906         trim includes
13907         [501534428471]
13908
13909 2004-09-24  Todd C. Miller  <Todd.Miller@courtesan.com>
13910
13911         * lex.yy.c, sudo.tab.c, sudo.tab.h:
13912         regen
13913         [52fd250c6986]
13914
13915         * INSTALL:
13916         document --with-systrace
13917         [79623927c94e]
13918
13919         * config.h.in, configure, configure.in:
13920         Add check for setproctitle
13921         [1730cf1c26ed]
13922
13923         * mon_systrace.c:
13924         pass struct str_msg_ask in to syscall checker so it can set the
13925         error code
13926         [1703fd2fdef6]
13927
13928         * mon_systrace.c:
13929         systrace(4) support for sudo. On systems with the systrace(4)
13930         kernel facility (OpenBSD, NetBSD, Linux w/ patches) sudo can
13931         intercept exec calls and check the exec args against the sudoers
13932         file. In other words, sudo can now control subcommands and shell
13933         escapes.
13934         [928c9217c386]
13935
13936         * sudo.c, sudo.h:
13937         Call systrace_attach() if FLAG_TRACE is set.
13938         [014ba9402fa5]
13939
13940         * parse.c, parse.h, parse.lex, parse.yacc, sudo.h:
13941         Add trace Defaults option and TRACE/NOTRACE tags and set FLAG_TRACE
13942         [a99904db5e56]
13943
13944         * parse.c, sudo.c:
13945         Don't close sudoers_fp, keep it open and set close on exec flag
13946         instead.
13947         [43a9fec60bee]
13948
13949         * def_data.c, def_data.h, def_data.in:
13950         Add trace option
13951         [5b643b86730a]
13952
13953         * Makefile.in:
13954         Add systrace
13955         [47a0519c427c]
13956
13957         * INSTALL:
13958         SunOS /bin/sh blows up with configure
13959         [005a23cc5615]
13960
13961         * configure, configure.in:
13962         Include sys/param.h before systrace.h
13963         [9345bc8efecf]
13964
13965         * configure:
13966         regen
13967         [a8f53fcbb254]
13968
13969         * pathnames.h.in:
13970         _PATH_DEV_SYSTRACE
13971         [d2ad1e492a00]
13972
13973         * configure.in:
13974         line up options in --help
13975         [fa51f2821d09]
13976
13977         * config.h.in, configure.in:
13978         Add --with-systrace
13979         [a264d54bc413]
13980
13981 2004-09-23  Todd C. Miller  <Todd.Miller@courtesan.com>
13982
13983         * configure:
13984         regen
13985         [a4dad0bcc523]
13986
13987         * aclocal.m4, configure.in:
13988         make this work with autoconf-2.59
13989         [c4a92b6a684a]
13990
13991 2004-09-16  Todd C. Miller  <Todd.Miller@courtesan.com>
13992
13993         * sudo_edit.c:
13994         Simplify logic around open & stat of files and do sanity on edited
13995         file even if we lack fstat (still racable but worth doing).
13996         [adda65ade70c]
13997
13998 2004-09-15  Todd C. Miller  <Todd.Miller@courtesan.com>
13999
14000         * HISTORY:
14001         Add support url
14002         [bf6590fbde9f]
14003
14004         * Makefile.in:
14005         versino 1.6.8p1
14006         [b84ebfaf1552] [SUDO_1_6_8p1]
14007
14008         * CHANGES:
14009         more changes for 1.6.8p1
14010         [e23a9c0393b6]
14011
14012         * version.h:
14013         1.6.8p1
14014         [872f14504b5f]
14015
14016         * CHANGES, sudo_edit.c:
14017         Add sanity check so we don't try to edit something other than a
14018         regular file.
14019         [350134ec6d4e]
14020
14021 2004-09-15  Aaron Spangler  <aaron777@gmail.com>
14022
14023         * CHANGES:
14024         sync
14025         [3091ca9eae00]
14026
14027         * INSTALL:
14028         document --with-ldap-conf-file
14029         [0e2cd6b896f1]
14030
14031 2004-09-14  Todd C. Miller  <Todd.Miller@courtesan.com>
14032
14033         * CHANGES, ins_csops.h:
14034         political correctness strikes again
14035         [428e8bc77f55]
14036
14037         * RUNSON:
14038         sync
14039         [27f44bd423dc]
14040
14041 2004-09-12  Todd C. Miller  <Todd.Miller@courtesan.com>
14042
14043         * Makefile.binary.in, Makefile.in:
14044         Install sudoedit man link
14045         [19a55234fc1f]
14046
14047         * INSTALL:
14048         Update PAM note and mention where HP-UX users can download gcc
14049         binaries.
14050         [d37cdbbabfd4]
14051
14052         * Makefile.in:
14053         libtool wants to install stuff from .libs so fake one up for binary
14054         installations.
14055         [a681bc6fcfba]
14056
14057         * Makefile.binary.in:
14058         rm -f old sudoedit link instead of using ln -f set LIBTOOL correctly
14059         [3e0c4b3372cc]
14060
14061         * Makefile.in:
14062         Deal with "uname -m" having slashes in it rm -f old sudoedit link
14063         instead of using ln -f
14064         [cff33fb97e5b]
14065
14066         * Makefile.binary, Makefile.binary.in:
14067         Makefile.binary -> Makefile.binary.in for config.status substitution
14068         Add support for installing noexec bits
14069         [37d8bb3483c6]
14070
14071         * Makefile.in:
14072         Copy noexec bits into binary dists too No longer use my old arch
14073         script for making binary dists
14074         [e7058bab9e33]
14075
14076         * Makefile.binary:
14077         Install sudoedit link.
14078         [417d1e101711]
14079
14080 2004-09-11  Todd C. Miller  <Todd.Miller@courtesan.com>
14081
14082         * emul/utime.h:
14083         avoid __P so there is no need for compat.h to be included
14084         [6d8d1f1abf7d]
14085
14086         * utimes.c:
14087         Don't use HAVE_UTIME_H before including config.h.
14088         [013b7bb61181]
14089
14090 2004-09-10  Todd C. Miller  <Todd.Miller@courtesan.com>
14091
14092         * compat.h:
14093         Fix Solatis futimes macro
14094         [d4eda2ca0d29]
14095
14096 2004-09-09  Todd C. Miller  <Todd.Miller@courtesan.com>
14097
14098         * sudo_edit.c:
14099         Rename ots -> omtim for improved readability.
14100         [127ca5bb297c]
14101
14102 2004-09-08  Todd C. Miller  <Todd.Miller@courtesan.com>
14103
14104         * sudo_edit.c:
14105         Redo changes in revision 1.7. Don't really need to keep the temp
14106         file open; re-opening it with the invoking user's euid is
14107         sufficient.
14108         [55a883165a95]
14109
14110         * CHANGES:
14111         sync
14112         [9015b291170d]
14113
14114         * sudo.cat, sudo.man.in:
14115         regen
14116         [c0313f6ed783]
14117
14118         * sudo.pod:
14119         back out revision 1.70; it is no long applicable
14120         [b641d503aff6]
14121
14122         * env.c:
14123         Let the loader initialize nep
14124         [bec192139b02]
14125
14126         * config.h.in, configure, configure.in:
14127         Removed unneed check for fchown Add check for gettimeofday Move
14128         autoheader template stuff into separate AH_TEMPLATE lines
14129         [bfc0edbd43f2]
14130
14131         * check.c, compat.h, fileops.c, sudo.h, sudo_edit.c, visudo.c:
14132         Use timespec throughout.
14133         [1a178a23b69b]
14134
14135         * Makefile.in:
14136         gettime.[co]
14137         [6aeb48a7ab7f]
14138
14139         * gettime.c:
14140         function to return the current time in a struct timespec
14141         [bf8eb12cb63f]
14142
14143         * utimes.c:
14144         Not a darpa-sponsored file.
14145         [121ce5e2036c]
14146
14147 2004-09-07  Todd C. Miller  <Todd.Miller@courtesan.com>
14148
14149         * compat.h, config.h.in, configure, configure.in:
14150         Add a check for struct timespec and provide it for those without.
14151         [42124055030d]
14152
14153         * config.h.in, configure, configure.in, sudo_edit.c:
14154         Add checks for st_mtim and st_mtimespec and add macros for pulling
14155         the mtime sec and nsec out of struct stat. These are used in
14156         sudo_edit() to better tell whether or not the file has changed.
14157         [23debfbb3fab]
14158
14159         * check.c, fileops.c, sudo.h, sudo_edit.c, visudo.c:
14160         Add an extra param to touch() for nsec
14161         [56f7a4ba8ddb]
14162
14163         * sudo_edit.c:
14164         Call mkstemp() as the in invoking user so we don't have to chown the
14165         file later. Only touch() the temp file if we can do it via the file
14166         descriptor. Don't check for modification of the temp file if we lack
14167         fstat(). Catch errors read()ing the temp file.
14168         [665f52c70836]
14169
14170         * fileops.c:
14171         If path is NULL and fd == -1 return -1.
14172         [757a518a824c]
14173
14174         * sudo_edit.c:
14175         closefrom() is overkill, the only extra fds are the ones we opened
14176         so just close those in the child.
14177         [f361c9d2a1f4]
14178
14179         * Makefile.in, aclocal.m4, check.c, compat.h, config.h.in, configure,
14180         configure.in, fileops.c, sudo.h, sudo_edit.c, utime.c, utimes.c,
14181         visudo.c:
14182         Use utimes() and futimes() instead of utime() in touch(), emulating
14183         as needed. Not all systems are able to support setting the times of
14184         an fd so touch() takes both an fd and a file name as arguments.
14185         [3d9276f29717]
14186
14187 2004-09-07  Aaron Spangler  <aaron777@gmail.com>
14188
14189         * env.c:
14190         Rare SEGV
14191         [8995f828782d]
14192
14193 2004-09-06  Todd C. Miller  <Todd.Miller@courtesan.com>
14194
14195         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in, visudo.cat,
14196         visudo.man.in:
14197         regen
14198         [b8e9406711c5]
14199
14200         * sudo.pod, sudoers.pod, visudo.pod:
14201         Add SUPPORT section and re-order some of the sections to match the
14202         order we use in OpenBSD.
14203         [fa37bd917e2c]
14204
14205 2004-09-06  Aaron Spangler  <aaron777@gmail.com>
14206
14207         * env.c:
14208         Openldap ~/.ldaprc fix
14209         [1a37afe6850f]
14210
14211 2004-09-06  Todd C. Miller  <Todd.Miller@courtesan.com>
14212
14213         * sudo.pod:
14214         Talk about how the editor must write its changes to the original
14215         file and not just use rename(2).
14216         [c55ed91c5ee9]
14217
14218         * CHANGES:
14219         sync
14220         [62af26bd37a2]
14221
14222         * sudo_edit.c:
14223         Keep the temp file open instead of re-opening after the editor has
14224         exited.
14225         [de41eeb6dcf2]
14226
14227         * sample.pam:
14228         Update for current redhat/fedora core.
14229         [8cf083077333]
14230
14231 2004-09-03  Aaron Spangler  <aaron777@gmail.com>
14232
14233         * README.LDAP:
14234         tls_ examples
14235         [ba783d88a034]
14236
14237 2004-09-02  Aaron Spangler  <aaron777@gmail.com>
14238
14239         * ldap.c:
14240         config tls_* options
14241         [0b0e0797b3b9]
14242
14243 2004-08-29  Todd C. Miller  <Todd.Miller@courtesan.com>
14244
14245         * configure, configure.in:
14246         No need for -lcrypt when using pam.
14247         [41fff3a53e68]
14248
14249 2004-08-27  Todd C. Miller  <Todd.Miller@courtesan.com>
14250
14251         * configure:
14252         regen
14253         [75820aecce2c]
14254
14255 2004-08-27  Aaron Spangler  <aaron777@gmail.com>
14256
14257         * configure.in, ldap.c, pathnames.h.in:
14258         Allow --with-ldap-conf-file option to override LDAP_CONF
14259         [c9909bc484a5]
14260
14261         * ldap.c:
14262         cleanup debug message
14263         [1f6ca4824d8d]
14264
14265 2004-08-26  Aaron Spangler  <aaron777@gmail.com>
14266
14267         * README.LDAP:
14268         more config info
14269         [f2e7147fd507]
14270
14271 2004-08-24  Todd C. Miller  <Todd.Miller@courtesan.com>
14272
14273         * TODO, find_path.c, goodpath.c, parse.c, sudo.c, sudo.h, visudo.c:
14274         Add cmnd_base to struct sudo_user and set it in init_vars(). Add
14275         cmnd_stat to struct sudo_user and set it in sudo_goodpath(). No
14276         longer use gross statics in command_matches(). Also rename some
14277         variables for improved clarity.
14278         [7169a6c7bea4]
14279
14280 2004-08-21  Todd C. Miller  <Todd.Miller@courtesan.com>
14281
14282         * INSTALL:
14283         document HP's crippled compiler deficiency.
14284         [c405ea5a8d4c]
14285
14286         * INSTALL:
14287         Fix some thinkos in --with-editor and --with-env-editor
14288         descriptions. Noticed by Norihiko Murase.
14289         [dd781de1c985]
14290
14291         * configure, configure.in:
14292         --with-noexec takes an optional PATH argument.
14293         [8f6ab77f22cc]
14294
14295         * INSTALL:
14296         document --with-noexec
14297         [50cb1fc627ce]
14298
14299 2004-08-17  Todd C. Miller  <Todd.Miller@courtesan.com>
14300
14301         * RUNSON, TODO:
14302         sync
14303         [f2503bd13373] [SUDO_1_6_8]
14304
14305         * sudo_edit.c:
14306         Better warning message when sudoedit is unable to write to the
14307         destination file.
14308         [f78c18f2ffa8]
14309
14310         * sudo.cat, sudo.man.in:
14311         regen
14312         [7e2bf63d6d9a]
14313
14314         * sudo.pod:
14315         Don't italicize the string "sudoedit"
14316         [c691643bd269]
14317
14318 2004-08-16  Todd C. Miller  <Todd.Miller@courtesan.com>
14319
14320         * HISTORY:
14321         Mention GratiSoft.
14322         [dc53de581b2d]
14323
14324 2004-08-11  Todd C. Miller  <Todd.Miller@courtesan.com>
14325
14326         * sudo.tab.c:
14327         regen
14328         [8ae0484dfc38]
14329
14330         * parse.yacc:
14331         Reset used_runas to FALSE when re-intializing the parser.
14332         [b7403f353a02]
14333
14334 2004-08-09  Todd C. Miller  <Todd.Miller@courtesan.com>
14335
14336         * config.guess:
14337         Correct OpenBSD mips support
14338         [314fc7afc165]
14339
14340         * config.guess:
14341         Add OpenBSD/mips
14342         [ac87d0a773ef]
14343
14344 2004-08-07  Aaron Spangler  <aaron777@gmail.com>
14345
14346         * README.LDAP:
14347         More behavior notes
14348         [13be1d212b47]
14349
14350         * README.LDAP:
14351         Updates on current behavior
14352         [d498a8866d6f]
14353
14354 2004-08-06  Todd C. Miller  <Todd.Miller@courtesan.com>
14355
14356         * sudoers.pod:
14357         =back does not take an indentlevel (makes no difference to formatted
14358         files).
14359         [9c8523bb382a]
14360
14361         * sudo.pod:
14362         =back does not take an indentlevel (makes no difference to formatted
14363         files).
14364         [e5f479e24fa8]
14365
14366         * CHANGES:
14367         new
14368         [2dbd9aba8b33]
14369
14370         * sudo.c:
14371         Consistency. Use same error for bad -u #uid when targetpw is set as
14372         we do when a bad -u username is specified.
14373         [922961c4a9d6]
14374
14375         * TODO:
14376         Add checksum idea from Steve Mancini
14377         [e6ece1b766ba]
14378
14379         * sudoers.cat, sudoers.man.in:
14380         regen
14381         [370d2317829f]
14382
14383         * sudo.cat, sudo.man.in:
14384         regen
14385         [f93d41fc38b1]
14386
14387         * sudo.pod, sudoers.pod:
14388         Document the restriction on uids specified via -u when targetpw is
14389         set.
14390         [878fedb455db]
14391
14392         * sudo.c:
14393         Error out when targetpw is enabled and sudo is run with -u #uid but
14394         #uid does not exist in the passwd database. We can't do target
14395         authentication when the target is not in passwd!
14396         [27c5888c86eb]
14397
14398         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in:
14399         regen
14400         [ceb65711050c]
14401
14402         * TODO:
14403         Some more todo for the next release.
14404         [7b7417be7601]
14405
14406         * INSTALL:
14407         Make it clear that PAM should be used for DCE support when possible.
14408         [7502029fd385]
14409
14410         * sudoers.pod:
14411         o Document problems with wildcards and relative paths. o Make the
14412         order requirements more prominent. o Change a "set" to "reset" for
14413         clarity.
14414         [bacdd181b33f]
14415
14416 2004-08-05  Todd C. Miller  <Todd.Miller@courtesan.com>
14417
14418         * sudo.pod:
14419         Mention --with-secure-path, not SECURE_PATH.
14420         [41283ddde5e1]
14421
14422 2004-08-03  Aaron Spangler  <aaron777@gmail.com>
14423
14424         * ldap.c:
14425         reflect changes to parse.c
14426         [8880fe9b724d]
14427
14428 2004-08-02  Todd C. Miller  <Todd.Miller@courtesan.com>
14429
14430         * sudo.tab.c:
14431         regen
14432         [a57658ca9177]
14433
14434         * parse.c, parse.h, testsudoers.c, visudo.c:
14435         Don't pass user_cmnd and user_args to command_matches(), just use
14436         the globals there. Since we keep state with statics anyway it is
14437         misleading to pretend that passing in different cmnd and cmnd_args
14438         will work.
14439         [0a2544991fd6]
14440
14441         * parse.yacc:
14442         Don't pass user_cmnd and user_args to command_matches(), just use
14443         the globals there. Since we keep state with statics anyway it is
14444         misleading to pretend that passing in different cmnd and cmnd_args
14445         will work.
14446         [a4910bf6032b]
14447
14448         * parse.c:
14449         Fix a bug introduced in rev. 1.149. When checking for pseudo-
14450         commands check for a '/' anywhere in cmnd, not just the first
14451         character.
14452         [ce98142f03ca]
14453
14454 2004-07-31  Aaron Spangler  <aaron777@gmail.com>
14455
14456         * sudo.man.in, sudo.pod:
14457         Clarification thanks to Olivier Blin <oblin@mandrakesoft.com>
14458         [a91800e094b1]
14459
14460         * sudoers.man.in, sudoers.pod:
14461         Add ignore_local_sudoers
14462         [741ddcbf7083]
14463
14464         * README.LDAP:
14465         Sun One schema definition by Andreas.Bussjaeger@t-systems.com and
14466         janth@moldung.no
14467         [742c02e07cd9]
14468
14469 2004-07-29  Todd C. Miller  <Todd.Miller@courtesan.com>
14470
14471         * CHANGES:
14472         typo
14473         [e7cdefbd7a9a]
14474
14475 2004-07-23  Todd C. Miller  <Todd.Miller@courtesan.com>
14476
14477         * CHANGES:
14478         sync
14479         [734dafc4a85e]
14480
14481         * parse.c:
14482         Parse sudoers file as PERM_RUNAS not PERM_ROOT and remove a useless
14483         PERM_SUDOERS. Restore to PERM_ROOT upon exit of the parse.
14484         [151b7f593568]
14485
14486 2004-07-08  Todd C. Miller  <Todd.Miller@courtesan.com>
14487
14488         * CHANGES:
14489         PAM change
14490         [d8fb6d6a22d0]
14491
14492 2004-07-08  Aaron Spangler  <aaron777@gmail.com>
14493
14494         * ldap.c:
14495         Better debugging of ALL command
14496         [9db3e84029dc]
14497
14498 2004-07-08  Todd C. Miller  <Todd.Miller@courtesan.com>
14499
14500         * parse.c:
14501         When matching for "sudoedit" in sudoers check both the command the
14502         user typed *and* the command that is listed in the sudoers entry.
14503         [f36ca1f94095]
14504
14505 2004-07-04  Aaron Spangler  <aaron777@gmail.com>
14506
14507         * ldap.c:
14508         Added !command feature
14509         [ed539574611b]
14510
14511 2004-06-28  Todd C. Miller  <Todd.Miller@courtesan.com>
14512
14513         * auth/pam.c:
14514         Use pam_acct_mgmt() to check for disabled accounts; Brian Farrell
14515         [2be8e0e8813a]
14516
14517 2004-06-11  Todd C. Miller  <Todd.Miller@courtesan.com>
14518
14519         * LICENSE:
14520         License is ISC-style, not BSD-style
14521         [ac0589e1dd5d]
14522
14523         * CHANGES:
14524         sync
14525         [16058a30f404]
14526
14527 2004-06-10  Todd C. Miller  <Todd.Miller@courtesan.com>
14528
14529         * sudo.cat, sudo.man.in:
14530         regen
14531         [8820eb9c809b]
14532
14533         * sudo.pod:
14534         o Update some out of date bits to reality o Change the shell promt
14535         in examples to bourne-shell style o Clarify some details o Add a
14536         CAVEAT about "sudo cd /foo"
14537         [b0af373214b6]
14538
14539         * check.c:
14540         Don't ask for a password if invoking user == target user.
14541         [dd5c96141132]
14542
14543         * sudo.c:
14544         typo in comment
14545         [278d20f9b249]
14546
14547 2004-06-08  Todd C. Miller  <Todd.Miller@courtesan.com>
14548
14549         * sudoers.cat, sudoers.man.in:
14550         regen
14551         [9036c6f39eff]
14552
14553         * sudoers.pod:
14554         Expand on NOEXEC a little.
14555         [9a13756aebe4]
14556
14557         * TODO:
14558         sync
14559         [8d2c1af48de8]
14560
14561         * visudo.cat, visudo.man.in:
14562         regen
14563         [3921f01607c8]
14564
14565         * sudo.tab.c:
14566         regen
14567         [9338c3d68250]
14568
14569         * visudo.pod:
14570         Add a check in visudo for runas_default being set after it has
14571         already been used.
14572         [6700358d7ad8]
14573
14574         * CHANGES, parse.yacc, visudo.c:
14575         Add a check in visudo for runas_default being set after it has
14576         already been used.
14577         [803560986a8a]
14578
14579         * sudo.tab.c:
14580         regen
14581         [b60636e2cf63]
14582
14583         * parse.yacc:
14584         Add a MATCHED macro for testing whether foo_matches has been set to
14585         TRUE or FALSE. This is more readable than checking for >=0 or < 0.
14586         Doesn't change the actual code generated.
14587         [f376da8ccdc8]
14588
14589 2004-06-07  Todd C. Miller  <Todd.Miller@courtesan.com>
14590
14591         * sudoers.cat:
14592         regen
14593         [6cceb6d6c9bd]
14594
14595         * sudoers.man.in:
14596         regen
14597         [5acd12b730b3]
14598
14599         * sudoers.pod:
14600         Correct description of where Defaults specs should go.
14601         [6b11ff53d7ad]
14602
14603         * sudoers:
14604         Correct description of where Defaults specs should go.
14605         [868db857630d]
14606
14607         * testsudoers.c, visudo.c:
14608         update (c) year
14609         [272c8a53604c]
14610
14611         * logging.h:
14612         update (c) year
14613         [3cec76d400ce]
14614
14615         * ldap.c:
14616         update (c) year
14617         [f264632488a0]
14618
14619         * find_path.c:
14620         update (c) year
14621         [40c227af9227]
14622
14623         * auth/pam.c:
14624         update (c) year
14625         [87149e0eed50]
14626
14627         * auth/bsdauth.c, auth/kerb5.c:
14628         update (c) year
14629         [d72eb434c068]
14630
14631 2004-06-06  Todd C. Miller  <Todd.Miller@courtesan.com>
14632
14633         * sudo.tab.c:
14634         regen
14635         [83408d9e9d2e]
14636
14637         * auth/bsdauth.c, auth/kerb5.c, auth/pam.c, visudo.c:
14638         Remove trailing spaces, no actual code changes.
14639         [4c3bf2819293]
14640
14641         * tgetpass.c:
14642         Remove trailing spaces, no actual code changes.
14643         [96f6e0a24c26]
14644
14645         * ldap.c, logging.h, parse.c, parse.yacc, sudo.c, testsudoers.c:
14646         Remove trailing spaces, no actual code changes.
14647         [c7075d1cbed5]
14648
14649         * getcwd.c:
14650         Remove trailing spaces, no actual code changes.
14651         [776cc0374547]
14652
14653         * find_path.c:
14654         Remove trailing spaces, no actual code changes.
14655         [7ed7099f3c71]
14656
14657         * compat.h, defaults.c, env.c:
14658         Remove trailing spaces, no actual code changes.
14659         [893e83c33795]
14660
14661         * check.c:
14662         Remove trailing spaces, no actual code changes.
14663         [f77750f8803b]
14664
14665         * sudo.tab.c:
14666         regen
14667         [62e0ed883b31]
14668
14669         * parse.yacc:
14670         Fix a >=0 that should be <0 that was improperly converted when
14671         UNSPEC was added.
14672         [ad1531a55a49]
14673
14674         * parse.yacc:
14675         Add do {} while(0) around pop macro Set cmnd_matches to UNSPEC, not
14676         NOMATCH when resetting it.
14677         [ae017a12870a]
14678
14679         * parse.yacc:
14680         Fix pastos introduced in SETNMATCH addition.
14681         [6ea1c9d80681]
14682
14683 2004-06-05  Todd C. Miller  <Todd.Miller@courtesan.com>
14684
14685         * README.LDAP:
14686         Update for configure changes
14687         [637a635da287]
14688
14689         * sudo.tab.c:
14690         regen
14691         [4753c2788713]
14692
14693         * sudo.h:
14694         Add NOMATCH and UNSPEC defines (-1 and -2 respectively) and use
14695         these in parse.yacc. Also in parse.yacc initialize the *_matches
14696         vars to UNSPEC and add two macros, SETMATCH and SETNMATCH for use
14697         when setting *_matches to a value that may be
14698         NOMATCH/UNSPEC/TRUE/FALSE.
14699         [2ba622e15a4d]
14700
14701         * parse.yacc:
14702         Add NOMATCH and UNSPEC defines (-1 and -2 respectively) and use
14703         these in parse.yacc. Also in parse.yacc initialize the *_matches
14704         vars to UNSPEC and add two macros, SETMATCH and SETNMATCH for use
14705         when setting *_matches to a value that may be
14706         NOMATCH/UNSPEC/TRUE/FALSE.
14707         [746b519e41a6]
14708
14709         * parse.yacc:
14710         Initialize runas to -2, not -1 since we need to be able to
14711         distinguish between the initialized value and the value of a non-
14712         match when passing along the runas value to multiple commands.
14713
14714         The result of this is that an unmatched runas is now set to -1, not
14715         0. This is required now that parse.c treats a FALSE value for runas
14716         as being explicitly denied.
14717         [7791ed3621f6]
14718
14719 2004-06-03  Todd C. Miller  <Todd.Miller@courtesan.com>
14720
14721         * sudo.c, visudo.c:
14722         Error out if argc < 1.
14723         [ce6b2a9eda3c]
14724
14725         * getprogname.c:
14726         Error out if argc < 1.
14727         [c566cce8dc78]
14728
14729         * configure, configure.in:
14730         Add tests for what libs we need to link with for ldap and for
14731         whether or not lber.h needs to be explicitly included.
14732         [b2e9729cc4e7]
14733
14734 2004-06-03  Aaron Spangler  <aaron777@gmail.com>
14735
14736         * ldap.c:
14737         Solaris native LDAP build fix
14738         [39929e40eb11]
14739
14740 2004-06-01  Todd C. Miller  <Todd.Miller@courtesan.com>
14741
14742         * ldap.c:
14743         Set edn to NULL is ldap_get_dn() fails to avoid potential use of an
14744         unset variable.
14745         [6a4c20a66f98]
14746
14747         * sudo.h:
14748         Add prototype for sudo_ldap_list_matches
14749         [443b007a8dab]
14750
14751         * configure, configure.in:
14752         Better check for dirfd macro--we now set HAVE_DIRFD for the macro
14753         version too. Added check for dd_fd in `DIR' if no dirfd is found;
14754         this is now used to confitionally define the dirfd macro in
14755         compat.h.
14756         [567656978f7e]
14757
14758         * config.h.in:
14759         Better check for dirfd macro--we now set HAVE_DIRFD for the macro
14760         version too. Added check for dd_fd in `DIR' if no dirfd is found;
14761         this is now used to confitionally define the dirfd macro in
14762         compat.h.
14763         [34eace4faec8]
14764
14765         * compat.h:
14766         Better check for dirfd macro--we now set HAVE_DIRFD for the macro
14767         version too. Added check for dd_fd in `DIR' if no dirfd is found;
14768         this is now used to confitionally define the dirfd macro in
14769         compat.h.
14770         [8d50ff1bbf2a]
14771
14772         * closefrom.c:
14773         Only check /proc/$$/fd if we have the dirfd function/macro.
14774         [15e3ccce7553]
14775
14776         * compat.h, config.h.in, configure, configure.in:
14777         Add a check for a dirfd() function (like Linux) and add a dirfd
14778         macro in compat.h if there is no dirfd() function or macro.
14779         [1e95756edb50]
14780
14781         * closefrom.c, getcwd.c:
14782         dirfd() is now defined in compat.h as needed.
14783         [bb1d79271188]
14784
14785         * CHANGES:
14786         Clarify closefrom() note.
14787         [f4e4a5508dda]
14788
14789         * parse.c:
14790         When checking for a command in the directory, only copy the base dir
14791         once.
14792         [7a3276808b87]
14793
14794         * closefrom.c:
14795         If there is a /proc/$$/fd directory, behave like the Solaris
14796         closefrom() and only close the descriptors listed therein.
14797         [19de23779e84]
14798
14799         * alloc.c:
14800         compat.h guarantees INT_MAX is defined.
14801         [1bf0c79d4606]
14802
14803         * compat.h:
14804         Add definitions of OPEN_MAX and INT_MAX for those without it and
14805         remove definition of RLIM_INFINITY (now unused).
14806         [f827d1ebf96e]
14807
14808         * CHANGES, alloc.c, check.c, compat.h, find_path.c, getcwd.c, parse.c,
14809         sudo.c, sudo.h, visudo.c:
14810         Use PATH_MAX, not MAXPATHLEN since the former is standardized.
14811         [59788f211c24]
14812
14813 2004-05-31  Todd C. Miller  <Todd.Miller@courtesan.com>
14814
14815         * CHANGES:
14816         sync
14817         [d32fa124f1ad]
14818
14819         * RUNSON:
14820         Add some entries that were mailed in a while ago
14821         [ff8d5bfec54e]
14822
14823         * closefrom.c:
14824         o sysconf returns a long, not an int. o check for negative return
14825         value from sysconf/getdtablesize and use OPEN_MAX in this case. o
14826         define OPEN_MAX to 256 for those without it (a fair guess...)
14827         [ccf81ae6deb2]
14828
14829 2004-05-30  Todd C. Miller  <Todd.Miller@courtesan.com>
14830
14831         * UPGRADE:
14832         Mention change in parse order for RunAs entries.
14833         [dc73b0bca617]
14834
14835         * configure:
14836         regen
14837         [07cce8e0534e]
14838
14839 2004-05-29  Todd C. Miller  <Todd.Miller@courtesan.com>
14840
14841         * INSTALL, README.LDAP, config.h.in, configure.in:
14842         o --with-ldap now takes an optional dir as a parameter o added
14843         check for ldap_initialize() and start_tls_s()
14844         [2b846c7974c6]
14845
14846         * README.LDAP:
14847         Fix some typos, word choice and formatting issues.
14848         [00dc8ca84b10]
14849
14850 2004-05-28  Todd C. Miller  <Todd.Miller@courtesan.com>
14851
14852         * tgetpass.c:
14853         Use SA_INTERRUPT so SunOS works correctly, avoid stdio and just use
14854         read/write as it is simpler.
14855         [30f5446ee8b0]
14856
14857         * configure, configure.in:
14858         Remove hack overriding cross-compiler check. It should no longer be
14859         needed.
14860         [22a6cbd88608]
14861
14862         * compat.h:
14863         Remove select() compat bits since we no longer use select().
14864         [d7bbf7cd36f5]
14865
14866         * CHANGES, tgetpass.c:
14867         Use alarm() instead of select() for the timeout for systems that
14868         don't fully/properly implement select().
14869         [d7cc60f15800]
14870
14871 2004-05-27  Todd C. Miller  <Todd.Miller@courtesan.com>
14872
14873         * CHANGES:
14874         synbc
14875         [132a39788e07]
14876
14877         * RUNSON:
14878         update
14879         [61ef508380c6]
14880
14881         * set_perms.c:
14882         Deal with systems that have no way of setting the effective uid such
14883         as nsr-tandem-nsk.
14884         [306e00e9b5a4]
14885
14886         * configure, configure.in:
14887         Define NO_SAVED_IDS if we don't find seteuid()
14888         [8588f18345cf]
14889
14890         * config.h.in, configure, configure.in:
14891         Add back check for setreuid() since NSK doesn't have it.
14892         [43127bd703d1]
14893
14894         * sudoers.cat, sudoers.man.in:
14895         regen
14896         [af4f4b20e422]
14897
14898         * CHANGES:
14899         sync
14900         [29ca3b699c24]
14901
14902         * BUGS:
14903         sync
14904         [3593f17f72ed]
14905
14906         * parse.c:
14907         In sudoers_lookup() return VALIDATE_NOT_OK if the runas user was
14908         explicitly denied and the command matched. This fixes a long-
14909         standing bug and makes: foo machine = (ALL) /usr/bin/blah
14910         foo machine = (!bar) /usr/bin/blah
14911
14912         equivalent to: foo machine = (ALL, !bar) /usr/bin/blah
14913         [2f5ee244985a]
14914
14915         * sudoers.pod:
14916         Clarify mail_noperm
14917         [3238b2d41989]
14918
14919 2004-05-20  Aaron Spangler  <aaron777@gmail.com>
14920
14921         * Makefile.in:
14922         Missing DESTDIR in make install for sudo_noexec.la
14923         [91431e821525]
14924
14925 2004-05-17  Todd C. Miller  <Todd.Miller@courtesan.com>
14926
14927         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in, visudo.cat,
14928         visudo.man.in:
14929         regen
14930         [cdfde0dcb556]
14931
14932         * TODO:
14933         sync
14934         [4799b7d8b62c]
14935
14936         * sudoers.pod:
14937         Remove fastboot/fasthalt (who still remembers these?) and add a
14938         minimal sudoedit example.
14939         [19d299f233cd]
14940
14941         * sample.sudoers:
14942         Remove fastboot/fasthalt (who still remembers these?) and add a
14943         minimal sudoedit example.
14944         [b1bca73d6250]
14945
14946         * UPGRADE, sudo.c, visudo.c:
14947         filesystem -> file system
14948         [1e1afaf30469]
14949
14950         * TROUBLESHOOTING:
14951         filesystem -> file system
14952         [39fb594e9338]
14953
14954         * CHANGES, INSTALL:
14955         filesystem -> file system
14956         [85948b608ffe]
14957
14958         * sudo.pod, sudoers.pod:
14959         Fix some minor typos and formatting goofs
14960         [e94d243a0b90]
14961
14962         * lex.yy.c:
14963         regen
14964         [2eed0ab1f4c4]
14965
14966         * visudo.pod:
14967         remove my email addr
14968         [b63262c0389b]
14969
14970         * sudo.pod, sudoers.pod, visudo.pod:
14971         Use @mansectform@ and @mansectsu@ everywhere Make man page
14972         references links with L<>
14973         [f459f4b9ddb9]
14974
14975         * parse.lex:
14976         Accept quoted globbing characters and pass them verbatim for
14977         fnmatch()
14978         [8248b86e9380]
14979
14980         * UPGRADE:
14981         Document that /tmp/.odus is gone.
14982         [3667b66af5bb]
14983
14984         * pathnames.h.in:
14985         No longer use /tmp/.odus as a possible timestamp dir unless
14986         specifically configured to do so. Instead, if no /var/run exists,
14987         use /var/adm/sudo or /usr/adm/sudo.
14988         [48d94c9f9ad4]
14989
14990         * configure:
14991         No longer use /tmp/.odus as a possible timestamp dir unless
14992         specifically configured to do so. Instead, if no /var/run exists,
14993         use /var/adm/sudo or /usr/adm/sudo.
14994         [058d7b8cf07b]
14995
14996         * aclocal.m4:
14997         No longer use /tmp/.odus as a possible timestamp dir unless
14998         specifically configured to do so. Instead, if no /var/run exists,
14999         use /var/adm/sudo or /usr/adm/sudo.
15000         [cf52c4c2803f]
15001
15002         * CHANGES:
15003         No longer use /tmp/.odus as a possible timestamp dir unless
15004         specifically configured to do so. Instead, if no /var/run exists,
15005         use /var/adm/sudo or /usr/adm/sudo.
15006         [6058c4cefcec]
15007
15008         * set_perms.c, sudo.c, tgetpass.c, visudo.c:
15009         Preliminary changes to support nsr-tandem-nsk. Based on patches
15010         from Tom Bates.
15011         [2e5f81834383]
15012
15013         * logging.c:
15014         Preliminary changes to support nsr-tandem-nsk. Based on patches
15015         from Tom Bates.
15016         [934bbe6872b6]
15017
15018         * check.c, compat.h:
15019         Preliminary changes to support nsr-tandem-nsk. Based on patches
15020         from Tom Bates.
15021         [390b698b5924]
15022
15023 2004-05-16  Todd C. Miller  <Todd.Miller@courtesan.com>
15024
15025         * CHANGES:
15026         There was no 1.6.7p6.
15027         [8013d2e6b062]
15028
15029         * BUGS, CHANGES:
15030         sync
15031         [c38b41f32857]
15032
15033         * Makefile.in:
15034         add missing files to DISTFILES
15035         [e6a80ad03039]
15036
15037         * sudo.cat, sudoers.cat, visudo.cat:
15038         regen
15039         [027bc9746dd5]
15040
15041         * sudoers.man.in:
15042         regen
15043         [f5e85ef686cf]
15044
15045         * Makefile.in:
15046         Fix some line wrap and update (c) year
15047         [bad1f46aa1ca]
15048
15049 2004-04-28  Aaron Spangler  <aaron777@gmail.com>
15050
15051         * README.LDAP:
15052         Build Note
15053         [7a061248249b]
15054
15055 2004-04-07  Aaron Spangler  <aaron777@gmail.com>
15056
15057         * Makefile.in:
15058         Fix install-dirs
15059         [be0726dd92e7]
15060
15061 2004-04-05  Todd C. Miller  <Todd.Miller@courtesan.com>
15062
15063         * sudo.tab.c:
15064         regen
15065         [3f4f0d1ab8b9]
15066
15067         * visudo.c:
15068         In Exit() when used as a signal handler, emsg is a pointer so
15069         sizeof() is wrong so make it a #define instead. Also avoid using a
15070         negative exit value. Found by Aaron Campbell
15071         [78716a3a3fdc]
15072
15073 2004-03-24  Todd C. Miller  <Todd.Miller@courtesan.com>
15074
15075         * sudoers.pod:
15076         Remove bogus sentence about uids in a User_List. Document usernames
15077         vs. uid parsing in a Runas_List.
15078         [7ca510b5031c]
15079
15080         * parse.c, parse.h, parse.yacc, sudo.c, testsudoers.c, visudo.c:
15081         If the user specified a uid with the -u flag and the uid exists in
15082         the passwd file, set runas_user to the name, not the uid.
15083
15084         When comparing usernames in sudoers, if a name is really a uid
15085         (starts with '#') compare it numerically to pw_uid.
15086         [8d6935d04673]
15087
15088 2004-03-22  Todd C. Miller  <Todd.Miller@courtesan.com>
15089
15090         * auth/kerb5.c:
15091         krb5_mcc_ops should be const; Johnny C. Lam
15092         [aa8c753e426e]
15093
15094 2004-02-28  Aaron Spangler  <aaron777@gmail.com>
15095
15096         * CHANGES, config.h.in, ldap.c:
15097         Added start_tls support
15098         [7ef864c15b69]
15099
15100 2004-02-14  Todd C. Miller  <Todd.Miller@courtesan.com>
15101
15102         * Makefile.in:
15103         Clean up libtool stuff for 'make distclean' and add def_data.c,
15104         def_data.h to PARSESRCS.
15105         [bf9bb6bb06ab]
15106
15107 2004-02-14  Aaron Spangler  <aaron777@gmail.com>
15108
15109         * strlcat.c, strlcpy.c:
15110         Un-Fix last license munge
15111         [42654b77ac71]
15112
15113 2004-02-13  Todd C. Miller  <Todd.Miller@courtesan.com>
15114
15115         * configure:
15116         regen
15117         [e4de6b23a4dc]
15118
15119         * CHANGES, RUNSON, TODO:
15120         checkpoint
15121         [94e1ace84d5c]
15122
15123         * lex.yy.c, sudo.tab.c:
15124         regen
15125         [8ce784505643]
15126
15127         * auth/passwd.c, auth/rfc1938.c, auth/secureware.c, auth/securid.c,
15128         auth/securid5.c, auth/sia.c, auth/sudo_auth.c, auth/sudo_auth.h,
15129         emul/search.h, emul/utime.h:
15130         More to a less restrictive, ISC-style license.
15131         [a31b20e48003]
15132
15133         * auth/kerb5.c, auth/pam.c:
15134         More to a less restrictive, ISC-style license.
15135         [e41f92b41216]
15136
15137         * auth/dce.c, auth/fwtk.c, auth/kerb4.c:
15138         More to a less restrictive, ISC-style license.
15139         [87534c164a52]
15140
15141         * auth/bsdauth.c:
15142         More to a less restrictive, ISC-style license.
15143         [e21be6594b58]
15144
15145         * auth/afs.c, auth/aix_auth.c, zero_bytes.c:
15146         More to a less restrictive, ISC-style license.
15147         [6d234be91c5e]
15148
15149         * sudoers.man.in, sudoers.pod, testsudoers.c, tgetpass.c, visudo.c,
15150         visudo.man.in, visudo.pod:
15151         More to a less restrictive, ISC-style license.
15152         [b02aea324fd6]
15153
15154         * sudo_noexec.c:
15155         More to a less restrictive, ISC-style license.
15156         [a6da7631e0b2]
15157
15158         * strlcat.c, strlcpy.c, sudo.c, sudo.h, sudo.man.in, sudo.pod,
15159         sudo_edit.c:
15160         More to a less restrictive, ISC-style license.
15161         [71cdcc241e94]
15162
15163         * sigaction.c, strerror.c:
15164         More to a less restrictive, ISC-style license.
15165         [4bccdedca58a]
15166
15167         * ldap.c, logging.c, logging.h, parse.c, parse.h, pathnames.h.in,
15168         set_perms.c:
15169         More to a less restrictive, ISC-style license.
15170         [64d772d70ab3]
15171
15172         * getspwuid.c, goodpath.c, ins_2001.h, ins_classic.h, ins_csops.h,
15173         ins_goons.h, insults.h, interfaces.c, interfaces.h:
15174         More to a less restrictive, ISC-style license.
15175         [520381c60a54]
15176
15177         * find_path.c, getprogname.c:
15178         More to a less restrictive, ISC-style license.
15179         [f605d5eab6f1]
15180
15181         * fileops.c:
15182         More to a less restrictive, ISC-style license.
15183         [4129a8b38a67]
15184
15185         * env.c:
15186         More to a less restrictive, ISC-style license.
15187         [d5bd859757de]
15188
15189         * defaults.h:
15190         More to a less restrictive, ISC-style license.
15191         [008f5d5743f5]
15192
15193         * LICENSE, Makefile.in, alloc.c, check.c, closefrom.c, compat.h,
15194         defaults.c:
15195         More to a less restrictive, ISC-style license.
15196         [d8d7bfc8a18b]
15197
15198         * utime.c, version.h:
15199         More to a less restrictive, ISC-style license.
15200         [e2e038ad8209]
15201
15202         * parse.lex, parse.yacc:
15203         More to a less restrictive, ISC-style license.
15204         [2f5942e847a1]
15205
15206         * Makefile.binary:
15207         More to a less restrictive, ISC-style license.
15208         [1ed561734535]
15209
15210 2004-02-13  Aaron Spangler  <aaron777@gmail.com>
15211
15212         * sudoers2ldif:
15213         Merged in LDAP Support
15214         [3994c4d05947]
15215
15216         * ldap.c, sudo.c, sudo.h:
15217         Merged in LDAP Support
15218         [547eaa346fcc]
15219
15220         * def_data.c, def_data.h, def_data.in:
15221         Merged in LDAP Support
15222         [8fb255280e42]
15223
15224         * CHANGES, Makefile.in, README.LDAP, config.h.in, configure.in:
15225         Merged in LDAP Support
15226         [1038092a161e]
15227
15228 2004-02-08  Todd C. Miller  <Todd.Miller@courtesan.com>
15229
15230         * sudo.h, sudo_noexec.c:
15231         Only do "extern int errno" if errno is not a macro.
15232         [b2e02a08be8b]
15233
15234 2004-02-06  Todd C. Miller  <Todd.Miller@courtesan.com>
15235
15236         * set_perms.c:
15237         setreuid(0, 0) fails on QNX if the euid is not already 0 so set the
15238         euid first, then just call setuid(0) to set the real uid too.
15239         [f08546e2e0ee]
15240
15241         * set_perms.c:
15242         Use setresuid() and setreuid() for PERM_RUNAS when appropriate
15243         instead of seteuid() which may not exist.
15244         [ba508581befb]
15245
15246 2004-02-04  Todd C. Miller  <Todd.Miller@courtesan.com>
15247
15248         * LICENSE:
15249         2004
15250         [37425513a342]
15251
15252         * INSTALL, config.h.in, configure, configure.in, ins_classic.h:
15253         Add --with-pc-insults configure option
15254         [7daa5294c17b]
15255
15256         * visudo.man.in:
15257         Prefer VISUAL over EDITOR like old vipw did.
15258         [996252a4ab65]
15259
15260 2004-02-01  Todd C. Miller  <Todd.Miller@courtesan.com>
15261
15262         * sudo.man.in, sudoers.man.in:
15263         regen
15264         [a247f1c52eb9]
15265
15266         * sudoers.pod:
15267         Add a note that noexec is not a cure-all.
15268         [9e7fc535367d]
15269
15270         * sudoers.pod:
15271         Mention that disabling "root_sudo" is pretty pointless.
15272         [f38a415afba0]
15273
15274         * configure, configure.in:
15275         Substitute for root_sudo in sudoers.pod
15276         [ce483cfc86be]
15277
15278         * sudo.pod:
15279         Add sudoedit to the NAME section
15280         [51bc453ec2f6]
15281
15282         * sudoers.pod:
15283         Document that fact that setting ignore_dot in sudoers has no effect
15284         due to the fact that find_path() is called *before* sudoers is read.
15285         [6808df7e417c]
15286
15287 2004-01-30  Todd C. Miller  <Todd.Miller@courtesan.com>
15288
15289         * sudo_edit.c:
15290         Do not require _PATH_USRTMP to be set.
15291         [546f3270dd10]
15292
15293         * BUGS, CHANGES, TODO:
15294         sync
15295         [4205ddeab781]
15296
15297         * sudo.man.in:
15298         regen
15299         [e2143690a88a]
15300
15301         * sudo.pod:
15302         Clarify that when sudo is run by root with the SUDO_USER variable
15303         set, the sudoers lookup happens for root and not the SUDO_USER user.
15304         [47207bec1bdf]
15305
15306 2004-01-29  Todd C. Miller  <Todd.Miller@courtesan.com>
15307
15308         * auth/pam.c, auth/sudo_auth.c, interfaces.c, logging.c, parse.c,
15309         set_perms.c, sigaction.c, sudo.c, tgetpass.c:
15310         Use the SET, CLR and ISSET macros.
15311         [a8b0d7f1e8fd]
15312
15313         * fnmatch.c:
15314         Use the SET, CLR and ISSET macros.
15315         [1afbcba22ba6]
15316
15317         * defaults.c, env.c:
15318         Use the SET, CLR and ISSET macros.
15319         [2f39431e0a49]
15320
15321         * interfaces.h:
15322         MAIN was replaced with _SUDO_MAIN some time ago.
15323         [ea1b38f2ac9d]
15324
15325         * sudo.c:
15326         Don't look at prev_user until after we've parsed sudoers and done
15327         the password check. That way, if sudo/sudoedit is run from a root
15328         process that was invoked by sudo, we check sudoers for root, not the
15329         previous user. This makes sudoedit much more useful and means that
15330         for the sudo case, we get correct logging on who actually ran the
15331         command.
15332         [431dfbf20552]
15333
15334 2004-01-23  Todd C. Miller  <Todd.Miller@courtesan.com>
15335
15336         * sudo_edit.c:
15337         Add a comment describing why we need to be notified about our child
15338         stopping.
15339         [0bec3ce4b49d]
15340
15341 2004-01-22  Todd C. Miller  <Todd.Miller@courtesan.com>
15342
15343         * def_data.c, def_data.in:
15344         Update the noexec variable descriptions
15345         [9cb7f1aa0e57]
15346
15347         * sudoers.man.in, sudoers.pod:
15348         noexec now replaces more than just execve()
15349         [23cbdc0ee95c]
15350
15351         * sudo_noexec.c:
15352         Alas, all the world does not go through execve(2). Many systems
15353         still have an execv(2) system call, Linux 2.6 provides fexecve(2)
15354         and it is not uncommon for libc to have underscore ('_') versions of
15355         the functions to be used internally by the library. Instead of
15356         stubbing all these out by hand, define a macro and let it do the
15357         work. Extra exec functions pointed out by Reznic Valery.
15358         [9fa0cd871b0c]
15359
15360         * sudo.c, sudo_edit.c:
15361         Fix suspending the editor in -e mode. Because we do a fork() first
15362         we need to be notified when the child has been stopped and then send
15363         that same signal to ourself so the shell can do its job control
15364         thing.
15365         [773165eb6057]
15366
15367         * visudo.c:
15368         Use WIFEXITED and WEXITSTATUS macros. If there are systems out
15369         there that want to run sudo that still don't support these we can
15370         try to deal with that later.
15371         [6af68e4aff60]
15372
15373         * lex.yy.c:
15374         regen
15375         [403435317d5d]
15376
15377         * sudo.man.in, sudo.pod, sudoers.man.in, sudoers.pod:
15378         Document sudo -e / sudoedit
15379         [a80f6ea910af]
15380
15381         * configure, configure.in:
15382         fix typo
15383         [5020fcdc27f4]
15384
15385         * config.h.in, configure.in:
15386         Add SET/CLR/ISSET
15387         [03ff57286e7e]
15388
15389 2004-01-21  Todd C. Miller  <Todd.Miller@courtesan.com>
15390
15391         * sudo.c:
15392         Allow non-exclusive flags when invoked as sudoedit. Pretty print the
15393         long usage() line to not wrap (assumes 80 char display)
15394         [3941fa4004bb]
15395
15396         * Makefile.in, sudo.c:
15397         If sudo is invoked as "sudoedit" the -e flag is implied and no other
15398         flags are permitted.
15399         [929670b01293]
15400
15401         * sudo.h:
15402         Add a new flag, -e, that makes it possible to give users the ability
15403         to edit files with the editor of their choice as the invoking user,
15404         not the runas user. Temporary files are used for the actual edit
15405         and the temp file is copied over the original after the editor is
15406         done.
15407         [c4051414c1f4]
15408
15409         * Makefile.in, parse.c, parse.lex, sudo.c, sudo_edit.c:
15410         Add a new flag, -e, that makes it possible to give users the ability
15411         to edit files with the editor of their choice as the invoking user,
15412         not the runas user. Temporary files are used for the actual edit
15413         and the temp file is copied over the original after the editor is
15414         done.
15415         [37ac05c8ac3c]
15416
15417         * env.c, sudo.c:
15418         If real uid == 0 and the SUDO_USER environment variables is set, use
15419         that to determine the invoking user's true identity. That way the
15420         proper info gets logged by someone who has done "sudo su" but still
15421         uses sudo to as root. We can't do this for non-root users since
15422         that would open up a security hole, though perhaps it would be
15423         acceptable to use getlogin(2) on OSes where this a system call (and
15424         doesn't just look in the utmp file).
15425         [c2f9198708a1]
15426
15427         * pathnames.h.in:
15428         Add _PATH_TMP, _PATH_VARTMP and _PATH_USRTMP
15429         [7d9e5768df93]
15430
15431         * config.h.in, configure, configure.in:
15432         Add check for fchown(2)
15433         [a85df18798ed]
15434
15435 2004-01-20  Todd C. Miller  <Todd.Miller@courtesan.com>
15436
15437         * sudo.c:
15438         Back out portions of the -i commit that set NewArgv[0] in
15439         set_runaspw. It is far to late to set NewArgv[0] there and will have
15440         no effect anyway as cmnd and safe_cmnd have already been set.
15441         [c2d343430c1c]
15442
15443         * visudo.c, visudo.pod:
15444         Prefer VISUAL over EDITOR like old vipw did.
15445         [ae32f477cea3]
15446
15447 2004-01-19  Todd C. Miller  <Todd.Miller@courtesan.com>
15448
15449         * env.c, sudo.c:
15450         In -i mode always set new environment based on the runas user's
15451         passwd entry.
15452         [fa653b7887a8]
15453
15454 2004-01-18  Todd C. Miller  <Todd.Miller@courtesan.com>
15455
15456         * sudo.man.in, sudo.pod:
15457         Document the new -i flag and sync SYNOPSIS section with usage() in
15458         sudo.c. Also sort the flags in the OPTIONS section.
15459         [6aabc0ffc47e]
15460
15461         * sudo.c, sudo.h:
15462         o Add -i that acts similar to "su -", based on patches from David J.
15463         MacKenzie o Sort the flags in the usage message
15464         [c0fe7d6beffd]
15465
15466         * sudoers.man.in, sudoers.pod:
15467         Add a missing @runas_default@ substitution.
15468         [60516fe2d090]
15469
15470 2004-01-17  Todd C. Miller  <Todd.Miller@courtesan.com>
15471
15472         * sudo.c:
15473         Change euid to runas user before calling find_path().
15474         Unfortunately, though runas_user can be modified in sudoers we
15475         haven't parsed sudoers yet.
15476         [f469fdf2e313]
15477
15478         * sudoers.man.in, sudoers.pod:
15479         Add missing defintion of Parameter_List and use single pipes in the
15480         Defaults EBNF definition.
15481         [f7bed6e909bf]
15482
15483         * sudo.c:
15484         Fix a bug when set_runaspw() is used as a callback. We don't want
15485         to reset the contents of runas_pw if the user specified a user via
15486         the -u flag.
15487
15488         Avoid unnecessary passwd lookups in set_authpw(). In most cases we
15489         already have the info in runas_pw.
15490         [efc35623ba09]
15491
15492 2004-01-16  Todd C. Miller  <Todd.Miller@courtesan.com>
15493
15494         * check.c:
15495         Add Stan Lee / Uncle Ben quote to the lecture from RedHat
15496         [ebd5a76ccd7e]
15497
15498         * sudo.h:
15499         Update sudo_getepw() proto and add one for set_runaspw()
15500         [6ed65795c17f]
15501
15502         * parse.c:
15503         If we can't stat the command as root, try as the runas user instead.
15504         [ae713fca0e15]
15505
15506         * testsudoers.c, visudo.c:
15507         Add stub set_runaspw() function
15508         [42aa37050053]
15509
15510         * sudo.c:
15511         Add set_runaspw() function to fill in runas_pw. This will be used
15512         as a callback to update runas_pw when the runas user changes.
15513         [e570aa0088d0]
15514
15515         * env.c, sudo.c:
15516         PERM_RUNAS -> PERM_FULL_RUNAS
15517         [51eec6f9e89a]
15518
15519         * set_perms.c, sudo.h:
15520         Rename PERM_RUNAS -> PERM_FULL_RUNAS and add a PERM_RUNAS that just
15521         changes the euid.
15522         [877c6fe4d12c]
15523
15524         * getspwuid.c:
15525         Make sudo_pwdup() act like OpenBSD pw_dup() and allocate memory in
15526         one chunk for easy free()ing. Also change it from static to extern.
15527         [ab503260a7ec]
15528
15529         * defaults.c, defaults.h:
15530         Add callback support
15531         [a61c4ca983fb]
15532
15533         * mkdefaults:
15534         Add a callback field and use it for runas_default
15535         [96b69c27df5e]
15536
15537         * def_data.c, def_data.in:
15538         Add a callback field and use it for runas_default
15539         [d3e9f06872b8]
15540
15541 2004-01-15  Todd C. Miller  <Todd.Miller@courtesan.com>
15542
15543         * auth/fwtk.c:
15544         Add support for chalnecho and display server responses used by fwtk
15545         >= 2.0
15546         [b1870f7aaf0d]
15547
15548 2004-01-12  Todd C. Miller  <Todd.Miller@courtesan.com>
15549
15550         * sudoers.man.in, sudoers.pod:
15551         ld.so is ld.so.1 on solaris
15552         [2bf9a123fa4c]
15553
15554         * Makefile.in, config.h.in, configure, configure.in, sudo.c, sudo.h:
15555         Use closefrom() instead of doing the equivalent inline.
15556         [7e3ef6072884]
15557
15558         * closefrom.c:
15559         closefrom(3) for systems w/o it
15560         [35caf58bb636]
15561
15562 2004-01-09  Todd C. Miller  <Todd.Miller@courtesan.com>
15563
15564         * sudoers.man.in:
15565         Update from .pod file.
15566         [d4c94fc0e0c9]
15567
15568         * configure, configure.in:
15569         Substitute noexec_file for the sudoers man page
15570         [203d3376a551]
15571
15572         * sudo.man.in, sudo.pod:
15573         Mention noexec
15574         [014375ddbb06]
15575
15576         * sudoers.man.in, sudoers.pod:
15577         Document noexec
15578         [49a65d06201f]
15579
15580         * auth/pam.c, config.h.in, configure.in:
15581         Move PAM_CONST macro definition from config.h to pam.c where it
15582         belongs. We can't have this in config.h since that gets included too
15583         early.
15584         [e64748071637]
15585
15586         * auth/pam.c, config.h.in, configure, configure.in:
15587         Some PAM implementations put their headers in /usr/include/pam
15588         instead of /usr/include/security.
15589         [8cc749e9575c]
15590
15591         * configure.in:
15592         I missed changing the EXEC macro -> EXECV here when I changed this
15593         in config.h.in and sudo.c a while ago.
15594         [6f5afac7789f]
15595
15596         * acsite.m4:
15597         OpenBSD vax/m88k/hppa don't do shared libs
15598         [e4901d958bb7]
15599
15600         * configure, configure.in:
15601         o merge the hpux case entries into a single entry w/ its own sub-
15602         case statement. o HP-UX >= 11 support getspnam(), use it in
15603         preference to getprpwuid()
15604         [0caad428894e]
15605
15606         * configure, configure.in:
15607         eval $shrext so that it expands nicely on MacOS X
15608         [40419343eef8]
15609
15610         * Makefile.in:
15611         Don't lie about making a module, it does the wrong thing on mach
15612         [7629b28f5688]
15613
15614         * ltmain.sh:
15615         Remove requirement that libs must begin with "lib". They don't when
15616         we point directly at the lib using LD_PRELOAD or its equivalent.
15617         [d66f3de6ec85]
15618
15619         * acsite.m4:
15620         Disable support for c++, f77 and java. We don't need it, it takes a
15621         lot of time, and it hosed our check for shared lib support.
15622         [4f5749c52ce4]
15623
15624         * configure:
15625         regen
15626         [160865e9d15f]
15627
15628         * configure.in:
15629         Call AC_ENABLE_SHARED and check the status of enable_shared to know
15630         when shared libs are available.
15631         [42504c1668fc]
15632
15633         * acsite.m4:
15634         Duh, OpenBSD suports shared libs too
15635         [8e3cd9417475]
15636
15637         * config.h.in, configure.in:
15638         Only OpenPAM and Linux PAM use const qualifiers.
15639         [b2f76476e866]
15640
15641         * configure, configure.in:
15642         o No need to check for sed, libtool config does that for us o move
15643         check for --with-noexec until after libtool magic is run so we can
15644         use $can_build_shared and $shrext
15645         [668c656e89cc]
15646
15647         * ltmain.sh:
15648         Don't print a bunch of crap about library installs since we are not
15649         really installing a library.
15650         [83fbcad29fe4]
15651
15652         * env.c:
15653         Make format_env() varargs Add noexec support for Darwin, MacOS X,
15654         Irix, and Tru64
15655         [468885d75d10]
15656
15657         * acsite.m4, ltconfig, ltmain.sh:
15658         Update to libtool 1.5 with local changes: o no ldconfig in the
15659         finish step o assume no libprefix or version is needed
15660         [4961cffc3797]
15661
15662         * sudo_noexec.c:
15663         Fix compilation under K&R
15664         [8b309bf0b1b2]
15665
15666 2004-01-06  Todd C. Miller  <Todd.Miller@courtesan.com>
15667
15668         * CHANGES:
15669         checkpoint
15670         [3c368badab32]
15671
15672         * sudo_noexec.c:
15673         stub execve() that just returns EACCES; used for noexec
15674         functionality
15675         [1297acae283a]
15676
15677         * sudo.tab.h:
15678         Regen w/ updated byacc from OpenBSD; fixes a gcc 3.2 issue with
15679         generated code.
15680         [dcab78c49273]
15681
15682         * sudo.tab.c:
15683         Regen w/ updated byacc from OpenBSD; fixes a gcc 3.2 issue with
15684         generated code.
15685         [0a61c735eabe]
15686
15687 2004-01-05  Todd C. Miller  <Todd.Miller@courtesan.com>
15688
15689         * def_data.c, def_data.h, def_data.in:
15690         Move the environment defaults to the end and shorten a few of the
15691         descriptions.
15692         [66787b9c612c]
15693
15694         * configure, configure.in:
15695         no shared libs on ultris or convexos
15696         [2c5f3c456e32]
15697
15698         * Makefile.in, configure, configure.in:
15699         Build sudo_noexec shared object using libtool; could use some
15700         cleanup.
15701         [373f483555dd]
15702
15703         * acsite.m4, ltconfig, ltmain.sh:
15704         libtool scaffolding
15705         [c903a42e3d90]
15706
15707         * parse.yacc, sudo.tab.c:
15708         Merge the NOPASSWD/PASSWD and NOEXEC/EXEC rules so that order is not
15709         important.
15710         [c6e8a34639a4]
15711
15712         * defaults.c, env.c, lex.yy.c, parse.c, parse.h, parse.lex,
15713         parse.yacc, pathnames.h.in, sudo.c, sudo.h, sudo.tab.c:
15714         update copyright year
15715         [a16372ae1711]
15716
15717         * configure, configure.in, defaults.c, env.c, pathnames.h.in:
15718         Add _PATH_SUDO_NOEXEC and corresponding --with-noexec configure
15719         option. The default value of noexec_file is set to this.
15720         [7d88e1d3c494]
15721
15722         * def_data.c, def_data.h, def_data.in, env.c, lex.yy.c, parse.c,
15723         parse.h, parse.lex, parse.yacc, sudo.c, sudo.h, sudo.tab.c,
15724         sudo.tab.h:
15725         Add support for preloading a shared object containing a dummy
15726         execve() function that just sets error and returns -1. This adds a
15727         "noexec_file" option to load the filename as well as a "noexec" flag
15728         to enable it unconditionally. There is also a NOEXEC tag that can
15729         be attached to specific commands and an EXEC tag to disable it.
15730         [c8b6712feb91]
15731
15732         * mkdefaults:
15733         add missing newline to usage statement
15734         [e84746618362]
15735
15736         * config.h.in, sudo.c:
15737         Rename EXEC macro -> EXECV
15738         [ddaa0c027299]
15739
15740         * logging.c:
15741         Don't truncate usernames to 8 characters in the log message.
15742         [f62a20f27075]
15743
15744         * check.c, sudoers.man.in, sudoers.pod:
15745         Update copyright year
15746         [ca9964054085]
15747
15748         * check.c, def_data.c, def_data.h, def_data.in, sudoers.man.in,
15749         sudoers.pod:
15750         Add a new option, lecture_file, that can be used to point to a
15751         custom sudo lecture.
15752         [940133231216]
15753
15754 2003-12-31  Todd C. Miller  <Todd.Miller@courtesan.com>
15755
15756         * auth/aix_auth.c, auth/bsdauth.c, auth/fwtk.c, auth/pam.c,
15757         auth/sudo_auth.c:
15758         Add a zero_bytes() function to do the equivalent of bzero in such a
15759         way that will heopfully not be optimized away by sneaky compilers.
15760         [161b6d74bfb4]
15761
15762         * zero_bytes.c:
15763         Add a zero_bytes() function to do the equivalent of bzero in such a
15764         way that will heopfully not be optimized away by sneaky compilers.
15765         [d035abf0af94]
15766
15767         * Makefile.in, sudo.h:
15768         Add a zero_bytes() function to do the equivalent of bzero in such a
15769         way that will heopfully not be optimized away by sneaky compilers.
15770         [ff136de3e255]
15771
15772         * err.c:
15773         Use #ifdef __STDC__, not #if __STDC__.
15774         [6889dd6bc51a]
15775
15776 2003-12-30  Todd C. Miller  <Todd.Miller@courtesan.com>
15777
15778         * mkdefaults:
15779         Always put at least one space between the def_* macro name and its
15780         definition.
15781         [6b3ad0e6619a]
15782
15783         * configure, configure.in:
15784         Adjust code for --without-lecture to match new values.
15785         [062aa788a6b9]
15786
15787         * visudo.man.in:
15788         regen after pasto fix
15789         [3deec16906c0]
15790
15791         * sudoers.man.in, sudoers.pod:
15792         Document that "lecture" has changed from a flag to a tuple.
15793         [e2c03062b533]
15794
15795         * check.c, def_data.c, def_data.h, def_data.in, defaults.c,
15796         defaults.h, logging.c, mkdefaults, parse.c, sudo.c, sudo.h:
15797         Add support for tuples in def_data.in; these are implemented as an
15798         enum type. Currently there is only a single tuple enum but in the
15799         future we may have one tuple enum per T_TUPLE entry in def_data.in.
15800         Currently listpw, verifypw and lecture are tuples. This avoids the
15801         need to have two entries (one ival, one str) for pwflags and syslog
15802         values.
15803
15804         lecture is now a tuple with the following values: never, once,
15805         always
15806
15807         We no longer use both an int and string entry for syslog facilities
15808         and priorities. Instead, there are logfac2str() and logpri2str()
15809         functions that get used when we need to print the string values.
15810         [5293f946c836]
15811
15812         * auth/aix_auth.c, auth/bsdauth.c, auth/fwtk.c, auth/pam.c,
15813         auth/rfc1938.c, auth/securid5.c, auth/sia.c, auth/sudo_auth.c,
15814         check.c, def_data.h, defaults.c, defaults.h, env.c, find_path.c,
15815         logging.c, mkdefaults, parse.c, parse.yacc, set_perms.c, sudo.c,
15816         sudo.tab.c, visudo.c:
15817         Create def_* macros for each defaults value so we no longer need the
15818         def_{flag,ival,str,list,mode} macros (which have been removed). This
15819         is a step toward more flexible data types in def_data.in.
15820         [009c02934106]
15821
15822         * TODO:
15823         checkpoint
15824         [0a99a4bb5d15]
15825
15826 2003-12-23  Todd C. Miller  <Todd.Miller@courtesan.com>
15827
15828         * sudo.c:
15829         If we are in -k/-K mode, just spew to stderr. It is not unusual for
15830         users to place "sudo -k" in a .logout file which can cause sudo to
15831         be run during reboot after the YP/NIS/NIS+/LDAP/etc daemon has died.
15832         Previously, this would result in useless mail and logging.
15833         [d282e7ed63af]
15834
15835 2003-12-16  Todd C. Miller  <Todd.Miller@courtesan.com>
15836
15837         * visudo.pod:
15838         fix pasto in VISUAL description
15839         [1c6a6148b5f9]
15840
15841 2003-12-10  Todd C. Miller  <Todd.Miller@courtesan.com>
15842
15843         * configure:
15844         regen
15845         [f44312c63799]
15846
15847         * CHANGES:
15848         checkpoint
15849         [0c42e38f78d5]
15850
15851         * TROUBLESHOOTING:
15852         Some OSes (like Solaris) allow export w/ nosuid too
15853         [973ce85ffa12]
15854
15855 2003-08-12  Todd C. Miller  <Todd.Miller@courtesan.com>
15856
15857         * compat.h:
15858         We don't use FD_ZERO anymore so just define FD_SET (if not already
15859         there).
15860         [d1c8c11905cd]
15861
15862 2003-06-29  Todd C. Miller  <Todd.Miller@courtesan.com>
15863
15864         * auth/pam.c:
15865         Fix a core dump on Solaris by preserving the pam_handle_t we used
15866         during authentication for pam_prep_user(). If we didn't
15867         authenticate (ie: ticket still valid), we call pam_init() from
15868         pam_prep_user(). This is something of a hack; it may be better to
15869         change the auth API and add an auth_final() function that acts like
15870         pam_prep_user().
15871         [f787de49b175]
15872
15873 2003-06-21  Todd C. Miller  <Todd.Miller@courtesan.com>
15874
15875         * set_perms.c:
15876         Add explicit declaration of printerr variable in function header
15877         (was defaulting to int which is OK but oh so K&R :-). From Theo.
15878         [492c2358783f]
15879
15880 2003-06-09  Todd C. Miller  <Todd.Miller@courtesan.com>
15881
15882         * config.h.in, configure.in:
15883         s/HAVE_STOW/USE_STOW/
15884         [4b99e1824ece]
15885
15886         * logging.c:
15887         Also exit waitpid() loop when pid == 0. Fixes a problem where the
15888         sudo process would spin eating up CPU until sendmail finished when
15889         it has to send mail.
15890         [ec3d5792b9b4]
15891
15892 2003-05-30  Todd C. Miller  <Todd.Miller@courtesan.com>
15893
15894         * fnmatch.c:
15895         Remove advertising clause, UCB has disavowed it
15896         [43a26bbd6628]
15897
15898         * fnmatch.3:
15899         Remove advertising clause, UCB has disavowed it
15900         [3ff24291bcfa]
15901
15902 2003-05-22  Todd C. Miller  <Todd.Miller@courtesan.com>
15903
15904         * parse.c:
15905         Don't assume that getgrnam() calls don't modify contents of struct
15906         passwd returned by getpwnam(). On FreeBSD w/ NIS this can happen.
15907         Based on a patch from Kirk Webb.
15908         [5574c68f60f3]
15909
15910 2003-05-06  Todd C. Miller  <Todd.Miller@courtesan.com>
15911
15912         * configure.in:
15913         missing ;;
15914         [22378f2a9d31]
15915
15916         * configure.in:
15917         darwin has a broken setreuid() in at least some versions
15918         [d572aed930d2]
15919
15920         * env.c:
15921         Fix an off by one error when reallocating the environment; Kevin Pye
15922         [3d98e7cf097a]
15923
15924 2003-04-30  Todd C. Miller  <Todd.Miller@courtesan.com>
15925
15926         * sudoers.pod:
15927         Fix User_Spec definition; SEKINE Tatsuo
15928         [49b0da65e090]
15929
15930 2003-04-28  Todd C. Miller  <Todd.Miller@courtesan.com>
15931
15932         * HISTORY:
15933         More info on the early days from Coggs.
15934         [9381ca10b06b]
15935
15936 2003-04-21  Todd C. Miller  <Todd.Miller@courtesan.com>
15937
15938         * auth/kerb5.c:
15939         remove errant semicolon that prevented compilation under heimdal
15940         [d2f2bb73a598]
15941
15942 2003-04-16  Todd C. Miller  <Todd.Miller@courtesan.com>
15943
15944         * testsudoers.c, tgetpass.c, visudo.c, visudo.man.in, visudo.pod:
15945         add DARPA credit on affected files
15946         [7020785ee50d]
15947
15948         * sudoers.pod:
15949         add DARPA credit on affected files
15950         [83b46318750b]
15951
15952         * sigaction.c, strerror.c, sudo.c, sudo.h, sudo.man.in, sudo.pod,
15953         sudoers.man.in:
15954         add DARPA credit on affected files
15955         [d8adf1c2ba22]
15956
15957         * set_perms.c:
15958         add DARPA credit on affected files
15959         [3d79fdabb582]
15960
15961         * pathnames.h.in:
15962         add DARPA credit on affected files
15963         [e334cdda422f]
15964
15965         * logging.c, parse.c:
15966         add DARPA credit on affected files
15967         [8f75f822755b]
15968
15969         * auth/passwd.c, auth/rfc1938.c, auth/secureware.c, auth/securid.c,
15970         auth/securid5.c, auth/sia.c, auth/sudo_auth.c, fileops.c,
15971         find_path.c, getprogname.c, getspwuid.c, goodpath.c, interfaces.c,
15972         interfaces.h:
15973         add DARPA credit on affected files
15974         [da66e28fb3f5]
15975
15976         * auth/kerb5.c, auth/pam.c:
15977         add DARPA credit on affected files
15978         [15da3021b49c]
15979
15980         * auth/afs.c, auth/aix_auth.c, auth/bsdauth.c, auth/dce.c,
15981         auth/fwtk.c, auth/kerb4.c, parse.lex, parse.yacc, utime.c,
15982         version.h:
15983         add DARPA credit on affected files
15984         [868d54cbddea]
15985
15986         * env.c:
15987         add DARPA credit on affected files
15988         [90239f51ef0a]
15989
15990         * defaults.c, defaults.h:
15991         add DARPA credit on affected files
15992         [6a64205fd1eb]
15993
15994         * compat.h:
15995         add DARPA credit on affected files
15996         [316a735783c4]
15997
15998         * Makefile.in, alloc.c, check.c:
15999         add DARPA credit on affected files
16000         [cd939e05c810]
16001
16002         * LICENSE:
16003         slightly different wording for the darpa credit
16004         [e468909c4a21]
16005
16006 2003-04-15  Todd C. Miller  <Todd.Miller@courtesan.com>
16007
16008         * LICENSE:
16009         Add DARPA credit
16010         [8eb20e2cd63e]
16011
16012 2003-04-14  Todd C. Miller  <Todd.Miller@courtesan.com>
16013
16014         * auth/kerb5.c:
16015         Use krb5_princ_component() instead of krb5_princ_realm() for MIT
16016         Kerberos like we did before I messed things up ;-)
16017
16018         Use krb5_principal_get_comp_string() to do the same thing w/
16019         Heimdal. I'm not sure if the component should be 0 or 1 in this
16020         case.
16021
16022         #define ENCTYPE_DES_CBC_MD5 ETYPE_DES_CBC_MD5 for Heimdal since
16023         older versions lack ENCTYPE_DES_CBC_MD5. This is gross and there
16024         should be a configure check for this I guess.
16025         [74919a3933fe]
16026
16027 2003-04-13  Todd C. Miller  <Todd.Miller@courtesan.com>
16028
16029         * sample.sudoers:
16030         builtin -> built-in; Jason McIntyre
16031         [027f2187923e]
16032
16033         * TROUBLESHOOTING, config.h.in, configure, configure.in:
16034         builtin -> built-in; Jason McIntyre
16035         [70b81ac48943]
16036
16037         * sudoers.pod:
16038         built in -> built-in; Jason McIntyre
16039         [da658ef5138d]
16040
16041 2003-04-09  Todd C. Miller  <Todd.Miller@courtesan.com>
16042
16043         * CHANGES:
16044         checkpoint for 1.6.7p3
16045         [da85f989fadf]
16046
16047         * HISTORY:
16048         Update info on the early years @ SUNY-Buffalo from Cliff Spencer.
16049         Amazingly, sudo source from 1985 is available via groups.google.com
16050         [39e0fc85b89f]
16051
16052         * sudo.c:
16053         Don't change rl.rlim_max for RLIMIT_CORE. We need only set
16054         rl.rlim_cur to 0 to turn off core dumps. This may be needed for the
16055         RLIMIT_CORE restoration on some OSes.
16056         [7e2c1a7adfd8]
16057
16058 2003-04-04  Todd C. Miller  <Todd.Miller@courtesan.com>
16059
16060         * auth/kerb5.c:
16061         Make this compile on Heimdal and MIT Kerberos 5
16062         [44c07d615868]
16063
16064         * config.h.in, configure, configure.in:
16065         Check for heimdal even if we found krb5-config and define
16066         HAVE_HEIMDAL.
16067         [aba0126f0059]
16068
16069         * auth/kerb5.c:
16070         Replace ETYPE_DES_CBC_MD5 with ENCTYPE_DES_CBC_MD5. The former is
16071         no longer defined by MIT kerb5 (though it used to be and indeed
16072         remains so in Heimdal).
16073         [e5a6c64d7cd5]
16074
16075 2003-04-03  Todd C. Miller  <Todd.Miller@courtesan.com>
16076
16077         * mkinstalldirs:
16078         Remove newer stuff that passes multiple (possibly duplicate)
16079         directories to "mkdir -p" since that seems to break on Tru64 Unix at
16080         least. This basically brings back what shipped with sudo 1.6.6.
16081         [f2a1abd872b3]
16082
16083 2003-04-02  Todd C. Miller  <Todd.Miller@courtesan.com>
16084
16085         * auth/kerb5.c:
16086         Correct number of args to krb5_principal_get_realm() and fix an
16087         unclosed comment that hid the bug.
16088         [0b37f8ce7824]
16089
16090         * configure:
16091         regen
16092         [1876cb840fe0]
16093
16094         * configure.in:
16095         ++version
16096         [480aff7c048e]
16097
16098         * README:
16099         ++version
16100         [488e0bbff613]
16101
16102         * Makefile.in:
16103         ++version
16104         [97ef63cedc38]
16105
16106         * INSTALL.binary:
16107         ++version
16108         [a506204e77d0]
16109
16110         * INSTALL:
16111         ++version
16112         [555aeba5c2bf]
16113
16114         * CHANGES, version.h:
16115         ++version
16116         [f66985a64063]
16117
16118         * BUGS:
16119         ++version
16120         [ea3573432412]
16121
16122         * configure.in:
16123         use krb5-config to determine Kerberos V details if it exists
16124         [7b46bbdaf774]
16125
16126         * alloc.c, auth/fwtk.c, auth/rfc1938.c, auth/securid.c,
16127         auth/securid5.c, auth/sia.c, check.c, compat.h, defaults.c, env.c,
16128         find_path.c, interfaces.c, logging.c, parse.c, sudo.c, sudo.h,
16129         testsudoers.c, visudo.c:
16130         Use warn/err and getprogname() throughout. The main exception is
16131         openlog(). Since the admin may be filtering logs based on the
16132         program name in the log files, hard code this to "sudo".
16133         [9f180d015cfa]
16134
16135         * Makefile.in:
16136         Add getprogname.c and err.c
16137         [d411c54a07dc]
16138
16139         * configure:
16140         regen
16141         [6d585d391acc]
16142
16143         * config.h.in, configure.in:
16144         Add checks for getprognam(), __progname and err.h
16145         [bcbccf61d34a]
16146
16147         * emul/err.h:
16148         For systems withour err/warn functions.
16149         [1b33118884d9]
16150
16151         * err.c:
16152         For systems withour err/warn functions.
16153         [26721f6b041f]
16154
16155         * getprogname.c:
16156         For systems neither getprogname() nor __progname; uses Argv[0].
16157         [841cf42af1eb]
16158
16159 2003-04-01  Todd C. Miller  <Todd.Miller@courtesan.com>
16160
16161         * CHANGES:
16162         checkpoint for 1.6.7p1
16163         [5bfdaf441dce]
16164
16165         * sudo.c, testsudoers.c:
16166         fix strlcpy() rval check (innocuous)
16167         [e05ac7e0d1f3]
16168
16169         * check.c:
16170         oflow detection in expand_prompt() was faulty (false positives). The
16171         count was based on strlcat() return value which includes the length
16172         of the entire string.
16173         [086c5a0acb25]
16174
16175 2003-03-31  Todd C. Miller  <Todd.Miller@courtesan.com>
16176
16177         * RUNSON, TODO:
16178         checkpoint for the sudo 1.6.7 release
16179         [096bab4da29a] [SUDO_1_6_7]
16180
16181         * CHANGES:
16182         checkpoint for the sudo 1.6.7 release
16183         [87322187ed78]
16184
16185 2003-03-24  Todd C. Miller  <Todd.Miller@courtesan.com>
16186
16187         * logging.c:
16188         g/c unused variable
16189         [c57cd4a17765]
16190
16191         * configure:
16192         regen
16193         [e7c1f581dfac]
16194
16195         * configure.in:
16196         use man sections 8 and 5 for csops
16197         [87de581bda88]
16198
16199 2003-03-21  Todd C. Miller  <Todd.Miller@courtesan.com>
16200
16201         * configure:
16202         regen
16203         [cb1433a9c7a1]
16204
16205         * configure.in:
16206         Add -lskey or -lopie directly to SUDO_LIBS instead of having
16207         AC_CHECK_LIB() add them to LIBS. Fixes visudo linkage.
16208         [ac5667978939]
16209
16210         * configure:
16211         regen
16212         [638459118a2a]
16213
16214         * configure.in:
16215         Add --with-blibpath for AIX. An alternate libpath may be specified
16216         or
16217         -blibpath support can be disabled. Also change conifgure such that
16218         -blibpath is not specified if no -L libpaths were added to
16219         SUDO_LDFLAGS.
16220         [c7d17b480cad]
16221
16222         * aclocal.m4:
16223         Add --with-blibpath for AIX. An alternate libpath may be specified
16224         or
16225         -blibpath support can be disabled. Also change conifgure such that
16226         -blibpath is not specified if no -L libpaths were added to
16227         SUDO_LDFLAGS.
16228         [37022e991575]
16229
16230         * INSTALL:
16231         Add --with-blibpath for AIX. An alternate libpath may be specified
16232         or
16233         -blibpath support can be disabled. Also change conifgure such that
16234         -blibpath is not specified if no -L libpaths were added to
16235         SUDO_LDFLAGS.
16236         [4b4bbe5bbe1b]
16237
16238         * configure.in:
16239         add AIX blibpath support
16240         [16ba788bf086]
16241
16242         * INSTALL, configure.in:
16243         --with-skey and --with-opie now take an option directory argument
16244         This obsoletes a --with-csops hack (/tools/cs/skey)
16245
16246         Also remove the remaining direct uses of "echo"
16247         [5b4986a90c03]
16248
16249 2003-03-20  Todd C. Miller  <Todd.Miller@courtesan.com>
16250
16251         * configure.in:
16252         Detect KTH Kerberos IV and deal with it. Also make -lroken optional
16253         for KTH Kerberos IV and V.
16254         [119f97b48e18]
16255
16256         * aclocal.m4:
16257         Add SUDO_APPEND_LIBPATH function that add -L/path/to/dir (and
16258         -R/path/to/dir if $with_rpath) to the specified variable.
16259         [e55e49d076ce]
16260
16261         * INSTALL, configure.in:
16262         Add -R/path/to/libs for Solaris and SVR4. There is a new configure
16263         option, --with-rpath to control this behavior.
16264         [d4730c5399ab]
16265
16266         * configure.in:
16267         for kerb4 put libdes after libkrb on the link line
16268         [5c566100eab6]
16269
16270         * auth/kerb4.c:
16271         typo
16272         [6541b72b64a3]
16273
16274         * configure.in:
16275         fix kerberos lib check when a path is specified
16276         [ae833a914c6f]
16277
16278         * logging.c:
16279         Fix boolean thinko in SIGCHLD reaper and call reapchild after
16280         sending mail instead of doing a conditional sudo_waitpid.
16281         [86fa9a35df5a]
16282
16283 2003-03-19  Todd C. Miller  <Todd.Miller@courtesan.com>
16284
16285         * configure:
16286         regen
16287         [e6275cf528ba]
16288
16289         * configure.in:
16290         replace =DIR with [=DIR] where sensible
16291         [c39a59173b38]
16292
16293         * configure.in:
16294         o Use AC_MSG_* instead of "echo" o New Kerberos include/lib
16295         detection based on openssh's configure.in
16296         [5b7a340912df]
16297
16298         * INSTALL:
16299         --with-kerb4 and --with-kerb5 now take an optional argument.
16300         [71ed87fc9c64]
16301
16302 2003-03-16  Todd C. Miller  <Todd.Miller@courtesan.com>
16303
16304         * auth/securid.c:
16305         Kill remaining strcpy(), the programmer's guide says username is 32
16306         bytes.
16307         [bdba70fcd08d]
16308
16309         * auth/kerb4.c:
16310         trat uid_t as unsigned long for printf and use snprintf, not sprintf
16311         [8072f5f8966d]
16312
16313         * auth/rfc1938.c:
16314         use snprintf
16315         [fc0c70c665fe]
16316
16317 2003-03-15  Todd C. Miller  <Todd.Miller@courtesan.com>
16318
16319         * auth/afs.c, auth/aix_auth.c, auth/bsdauth.c, auth/dce.c,
16320         auth/fwtk.c, auth/kerb4.c, auth/kerb5.c, auth/pam.c, auth/passwd.c,
16321         auth/rfc1938.c, auth/sudo_auth.c:
16322         update copyright year
16323         [b0a10ccb1d0e]
16324
16325         * sudo.man.in, sudoers.man.in, visudo.man.in:
16326         update copyright year
16327         [8fce0034eb51]
16328
16329         * LICENSE, Makefile.in, aclocal.m4, alloc.c, check.c, compat.h,
16330         configure.in, env.c, find_path.c, interfaces.c, logging.c, parse.c,
16331         parse.lex, parse.yacc, set_perms.c, sudo.c, sudo.h, sudo.pod,
16332         sudoers.pod, testsudoers.c, version.h, visudo.c, visudo.pod:
16333         update copyright year
16334         [d541e75fe520]
16335
16336         * check.c, env.c, sudo.c:
16337         Cast [ug]ids to unsigned long and printf with %lu
16338         [2ede64d3592b]
16339
16340         * configure:
16341         regen
16342         [c7c3245bdf3e]
16343
16344         * configure.in:
16345         correct error messages for --with-sudoers-{mode,uid,gid}
16346         [77fc15b1c9db]
16347
16348         * alloc.c:
16349         make the malloc(0) error specific to each function to aid tracking
16350         down bugs.
16351         [a58c34374b4b]
16352
16353         * alloc.c:
16354         deal with platforms where size_t is signed and there is no SIZE_MAX
16355         or SIZE_T_MAX
16356         [7192abb4ab4e]
16357
16358         * auth/kerb5.c:
16359         Make this compile w/ Heimdal and fix some gcc warnings.
16360         [f52f026f31c2]
16361
16362         * sudo.c:
16363         Use stat_sudoers macro so --with-stow can work
16364         [c3674735c139]
16365
16366         * INSTALL, config.h.in, configure, configure.in:
16367         Add support for --with-stow based on patches from Robert Uhl
16368         [b274cc1dd52c]
16369
16370         * env.c:
16371         fix indentation
16372         [110d9f1721b1]
16373
16374         * configure.in:
16375         back out rev 1.352
16376         [1eee91c83f11]
16377
16378         * lex.yy.c:
16379         regen
16380         [72fba1c9590b]
16381
16382         * parse.lex:
16383         use strlcpy, not strncpy
16384         [4faccbaeccef]
16385
16386         * set_perms.c:
16387         Fix typo; check pw_uid, not pw_gid after setusercontext() failure.
16388         [33bf0d18fdc1]
16389
16390         * logging.c:
16391         use pid_t
16392         [3e0536993d2c]
16393
16394 2003-03-14  Todd C. Miller  <Todd.Miller@courtesan.com>
16395
16396         * strlcat.c, strlcpy.c:
16397         Make gcc shutup about unused rcsid
16398         [1669a0c74e9e]
16399
16400         * interfaces.c:
16401         Move the n == 0 check for the non-getifaddrs cas
16402         [2460be061b2a]
16403
16404         * auth/rfc1938.c:
16405         skeychallenge() on NetBSD take a size parameter
16406         [05acc2012801]
16407
16408         * configure:
16409         regen
16410         [24bccf4749e8]
16411
16412         * configure.in:
16413         put -ldl after -lpam, not before; fixes static linking on Linux
16414         [7f06b7b2b4d8]
16415
16416         * interfaces.c:
16417         Avoid malloc(0) and fix the loop invariant for the getifaddrs()
16418         case.
16419         [239a55068646]
16420
16421         * sudo.cat, sudoers.cat, visudo.cat:
16422         regen
16423         [4a2eed3981ca]
16424
16425         * sudo.man.in, sudoers.man.in, visudo.man.in:
16426         regen
16427         [2c96ea2cf930]
16428
16429         * Makefile.in:
16430         Preserve copyright notice from .pod file in .man.in file
16431         [519fbd09aebc]
16432
16433         * visudo.pod:
16434         Add sudoers(5) to SEE ALSO
16435         [77ecfe3aedf1]
16436
16437 2003-03-13  Todd C. Miller  <Todd.Miller@courtesan.com>
16438
16439         * lex.yy.c:
16440         regen
16441         [6f5751ce0b74]
16442
16443         * parse.lex:
16444         Don't assume libc can realloc() a NULL string. If malloc/realloc
16445         fails, make sure we just return; yyerror() is not terminal.
16446         [1b8618623708]
16447
16448         * lex.yy.c:
16449         regen
16450         [5d31b46191c6]
16451
16452         * parse.lex:
16453         simplify fill_args a little and use strlcpy for paranoia
16454         [0ea35a55542b]
16455
16456         * sudo.tab.c:
16457         regen
16458         [5a8d508d708b]
16459
16460         * check.c, env.c, find_path.c, parse.c, parse.yacc, sudo.c,
16461         testsudoers.c:
16462         Use strlc{at,py} for paranoia's sake and exit on overflow. In all
16463         cases the strings were either pre-allocated to the correct size of
16464         length checks were done before the copy but a little paranoia can go
16465         a long way.
16466         [e73d28f1d14e]
16467
16468         * sudo.h:
16469         Add strlc{at,py} protos
16470         [748ffc7fc7f4]
16471
16472         * env.c, interfaces.c:
16473         Use erealloc3()
16474         [47f2cb46aba8]
16475
16476         * configure:
16477         regen
16478         [e7e2fb79f935]
16479
16480         * alloc.c:
16481         Oflow test of nmemb > SIZE_MAX / size is fine (don't need >=). Use
16482         memcpy() instead of strcpy() in estrdup() so this is strcpy()-free.
16483         [7e0fa4d6fc1d]
16484
16485         * sudo.c:
16486         snprintf() a uid as %lu, not %ld to match the MAX_UID_T_LEN test in
16487         configure.
16488         [09ea4d3959e9]
16489
16490         * aclocal.m4:
16491         In MAX_UID_T_LEN test cast uid_t to unsigned long, just unsigned.
16492         [31b4fdfdb8bf]
16493
16494 2003-03-12  Todd C. Miller  <Todd.Miller@courtesan.com>
16495
16496         * sudo.c:
16497         Use snprintf() for paranoia
16498         [a2659ceb46de]
16499
16500         * parse.yacc:
16501         Use emalloc2 and erealloc3
16502         [90a069842401]
16503
16504         * Makefile.in:
16505         strlc{at,py} for those w/o it
16506         [bac82dc916ee]
16507
16508         * strlcat.c, strlcpy.c:
16509         stlc{at,py} for those w/o it.
16510         [ce7254f5db09]
16511
16512         * config.h.in, configure, configure.in:
16513         Add stlc{at,py} for those w/o it.
16514         [00f08219657a]
16515
16516         * alloc.c, sudo.h:
16517         Add erealloc3(), a realloc() version of emalloc2().
16518         [c96eaf08bbed]
16519
16520         * interfaces.c, sudo.c:
16521         Use emalloc2() to allocate N things of a certain size.
16522         [1e0aba365555]
16523
16524         * alloc.c, sudo.h:
16525         Add emalloc2() -- like calloc() but w/o the bzero and with
16526         error/oflow checking.
16527         [292150bc4153]
16528
16529         * alloc.c:
16530         Error out on malloc(0); suggested by theo
16531         [995279e81326]
16532
16533 2003-03-10  Todd C. Miller  <Todd.Miller@courtesan.com>
16534
16535         * configure, configure.in:
16536         fix a typo; David Krause
16537         [f161213a17ab]
16538
16539 2003-03-07  Todd C. Miller  <Todd.Miller@courtesan.com>
16540
16541         * sudo.pod:
16542         fix typo
16543         [3ae5ad9a351a]
16544
16545 2003-03-04  Todd C. Miller  <Todd.Miller@courtesan.com>
16546
16547         * env.c:
16548         Remove DYLD_ from the environment for MacOS X; from bbraun
16549         [38caad5a3935]
16550
16551 2003-03-01  Todd C. Miller  <Todd.Miller@courtesan.com>
16552
16553         * config.h.in, configure.in:
16554         not not; Anil Madhavapeddy
16555         [d4f4f0bfc66b]
16556
16557 2003-01-23  Todd C. Miller  <Todd.Miller@courtesan.com>
16558
16559         * sudo.pod, sudoers.pod, visudo.pod:
16560         typos; jmc@openbsd.org
16561         [868c0f09bf9e]
16562
16563 2003-01-20  Todd C. Miller  <Todd.Miller@courtesan.com>
16564
16565         * parse.yacc:
16566         Add some missing ';' rule terminators that bison warns about.
16567         [535b0b8dcce5]
16568
16569         * config.sub:
16570         fix typo I introduced in last merge
16571         [81db4e4f43fe]
16572
16573         * configure:
16574         regenerate with autoconf 2.57
16575         [ca0c1e9564f8]
16576
16577         * config.h.in:
16578         Add missing "$HOME"
16579         [209186197ad1]
16580
16581         * configure.in:
16582         Add some more square backets to make autoconf 2.57 happy
16583         [b5639c14faf7]
16584
16585         * config.sub, mkinstalldirs:
16586         Updates from autoconf-2.57
16587         [36be35eb331b]
16588
16589         * config.guess:
16590         Updates from autoconf-2.57
16591         [ea0f8ca622af]
16592
16593 2003-01-17  Todd C. Miller  <Todd.Miller@courtesan.com>
16594
16595         * sudo.tab.h:
16596         regen
16597         [13a65a421567]
16598
16599         * lex.yy.c, sudo.tab.c:
16600         regen
16601         [0b529db7cb6d]
16602
16603         * parse.lex, parse.yacc, sudoers.pod:
16604         Add support for Defaults>RunasUser
16605         [20d726373175]
16606
16607 2003-01-07  Todd C. Miller  <Todd.Miller@courtesan.com>
16608
16609         * visudo.c:
16610         fclose() yyin after each yyparse() is done and use fopen() instead
16611         of using freopen().
16612         [587f8a2df857]
16613
16614         * parse.lex:
16615         Better fix for sudoers files w/o a newline before EOF. It looks
16616         like the issue is that yyrestart() does not reset the start
16617         condition to INITIAL which is an issue since we parse sudoers
16618         multiple times.
16619         [920f8326968a]
16620
16621 2003-01-06  Todd C. Miller  <Todd.Miller@courtesan.com>
16622
16623         * parse.lex:
16624         Work around what appears to be a flex bug when dealing with files
16625         that lack a final newline before EOF. This adds a rule to match EOF
16626         in the non-initial states which resets the state to INITIAL and
16627         throws an error.
16628         [b94943bb1f81]
16629
16630         * visudo.c:
16631         o The parser needs sudoers to end with a newline but some editors
16632         (emacs) may not add one. Check for a missing newline at EOF and
16633         add one if needed. o Set quiet flag during initial sudoers parse (to
16634         get options) o Move yyrestart() call and always use freopen() to
16635         open yyin after initial sudoers parse.
16636         [12d12f9b07aa]
16637
16638 2002-12-15  Todd C. Miller  <Todd.Miller@courtesan.com>
16639
16640         * set_perms.c:
16641         Fix pasto/thinko in setresgid()/setregid() usage. Want to set
16642         effective gid, not real gid, when reading sudoers.
16643         [c7d18b810fcd]
16644
16645         * set_perms.c:
16646         don't compile set_perms_posix if we have setreuid or setresuid
16647         [b9cea7a81a29]
16648
16649 2002-12-14  Todd C. Miller  <Todd.Miller@courtesan.com>
16650
16651         * sudo.pod, sudoers.pod:
16652         document new prompt escapes
16653         [2f088076b640]
16654
16655         * check.c:
16656         Add %U and %H escapes and redo prompt rewriting. "%%" now gets
16657         collapsed to "%" as was originally intended. This also gets rid of
16658         lastchar (does lookahead instead of lookback) which should simplify
16659         the logic slightly.
16660         [4b707b77b3c7]
16661
16662 2002-12-13  Todd C. Miller  <Todd.Miller@courtesan.com>
16663
16664         * tgetpass.c:
16665         Write the prompt *after* turning off echo to avoid some password
16666         characters being echoed on heavily-loaded machines with fast
16667         typists.
16668         [d38c57775915]
16669
16670         * config.sub:
16671         Add support for mipseb; wiz@danbala.tuwien.ac.at
16672         [cfdac87ed5c8]
16673
16674         * configure.in:
16675         Fix IRIX fallout from name changes in man dir/sect Makefile
16676         variables. Patch from erici AT motown DOT cc DOT utexas DOT edu
16677         [9a7618755c23]
16678
16679         * auth/pam.c:
16680         Keep a local copy of tgetpass_flags so we don't add in TGP_ECHO to
16681         the global copy. Problem noted by Peter Pentchev.
16682         [d0a3e189cb06]
16683
16684 2002-11-28  Todd C. Miller  <Todd.Miller@courtesan.com>
16685
16686         * sudo.tab.c:
16687         regen
16688         [23b931359087]
16689
16690         * parse.yacc:
16691         Add missing yyerror() calls; YYERROR does not seem to call this for
16692         us.
16693         [0be7aeb3ac57]
16694
16695 2002-11-26  Todd C. Miller  <Todd.Miller@courtesan.com>
16696
16697         * sudo.c:
16698         fix typo in comment; Pedro Bastos
16699         [d7406c460e99]
16700
16701 2002-11-22  Todd C. Miller  <Todd.Miller@courtesan.com>
16702
16703         * INSTALL:
16704         document --disable-setresuid
16705         [fbd03d03a027]
16706
16707         * auth/aix_auth.c, auth/bsdauth.c, auth/fwtk.c, auth/pam.c,
16708         auth/sudo_auth.c:
16709         Sprinkle some volatile qualifiers to prevent over-enthusiastic
16710         optimizers from removing memset() calls.
16711         [5370ac0e6129]
16712
16713         * logging.c, parse.yacc:
16714         minor sign fixes pointed out by gcc -Wsign-compare
16715         [db872438337f]
16716
16717         * set_perms.c, sudo.c, sudo.h:
16718         Revamp set_perms. We now use a version based on setresuid() or
16719         setreuid() when possible since that allows us to support the
16720         stay_setuid option and we always know exactly what the semantics
16721         will be (various Linux kernels have broken POSIX saved uid support).
16722         [523bc212396c]
16723
16724         * config.h.in, configure:
16725         regen from configure.in
16726         [351877ea2624]
16727
16728         * configure.in:
16729         Add checks for setresuid() and a way to disable using it
16730         [a5b21653d169]
16731
16732         * compat.h:
16733         No long need to emulate set*[ug]id() via setres[ug]id() or
16734         setre[ug]id(). The new set_perms stuff only uses things it knows are
16735         there.
16736         [47884bd5d1d9]
16737
16738         * sudo.c:
16739         Before exec, restore state of signal handlers to be the same as when
16740         we were initialy invoked instead of just reseting to SIG_DFL. Fixes
16741         a problem when using sudo with nohup. Based on a patch from Paul
16742         Markham.
16743         [f8f5a1484faa]
16744
16745         * sudo.c:
16746         o timestamp_uid should be uid_t, not int o clarify error message
16747         when sudo is run by root and no_root_sudo is set
16748         [19dda0734264]
16749
16750 2002-09-19  Todd C. Miller  <Todd.Miller@courtesan.com>
16751
16752         * README:
16753         update ftp link for bison
16754         [98bc191016e3]
16755
16756 2002-07-20  Todd C. Miller  <Todd.Miller@courtesan.com>
16757
16758         * set_perms.c:
16759         Error out if setusercontext() fails and the runas user is not root.
16760         [089f9ade4686]
16761
16762 2002-05-20  Todd C. Miller  <Todd.Miller@courtesan.com>
16763
16764         * auth/securid5.c:
16765         Fix rcsid
16766         [07e9e85dcc2f]
16767
16768         * configure.in:
16769         Fix SecurID API test
16770         [5ec201f454a5]
16771
16772 2002-05-17  Todd C. Miller  <Todd.Miller@courtesan.com>
16773
16774         * env.c:
16775         typo in comment
16776         [9d385c9ac533]
16777
16778         * configure.in:
16779         securid5 stuff needs pthreads. Just adding -lpthread is suboptimal
16780         but I don't see a better way at the moment.
16781         [f89e55cbb313]
16782
16783         * Makefile.in, auth/securid5.c:
16784         SecurID API version 5 support from Michael Stroucken
16785         [68500ac7e531]
16786
16787         * configure.in:
16788         Add check for SecurID 5.0 API
16789         [1ee242e6de6b]
16790
16791 2002-05-08  Todd C. Miller  <Todd.Miller@courtesan.com>
16792
16793         * strerror.c:
16794         We actually do still need config.h to get the 'const' definition for
16795         K&R C.
16796         [d9c982032d85]
16797
16798 2002-05-05  Todd C. Miller  <Todd.Miller@courtesan.com>
16799
16800         * configure:
16801         regen with autoconf 2.5.3
16802         [c71fc086eef5]
16803
16804         * configure.in:
16805         Don't set sysconfdir to '/etc' if the user has specified a --prefix.
16806         [d90da1efafd9]
16807
16808         * configure.in:
16809         Some fixes for autoconf 2.53 from Robert Uhl o don't AC_SUBST
16810         LIBOBJS o force a 4th arg for AC_CHECK_HEADER() to workaround a bug
16811         [dd67afefa90d]
16812
16813         * env.c, sudo.c, sudo.h:
16814         No need for dump_badenv() now that dump_defaults() knows how to dump
16815         lists.
16816         [6bcda468501d]
16817
16818         * BUGS, INSTALL, INSTALL.binary, Makefile.in, README, configure.in,
16819         version.h:
16820         ++version
16821         [44e3b8f95f0b]
16822
16823         * sudoers.pod:
16824         document timestampowner
16825         [37ebd69e9dd1]
16826
16827         * check.c:
16828         Don't call set_perms() when doing timestamp stuff unless
16829         timestamp_uid != 0.
16830         [63a63d41d18c]
16831
16832         * auth/sudo_auth.c, check.c, logging.c, parse.c, set_perms.c, sudo.c,
16833         sudo.h, testsudoers.c:
16834         g/c second arg to set_perms--it is no longer used
16835         [7ac4ce50c612]
16836
16837 2002-05-03  Todd C. Miller  <Todd.Miller@courtesan.com>
16838
16839         * check.c, set_perms.c, sudo.c, sudo.h:
16840         Add support for non-root timestamp dirs. This allows the timestamp
16841         dir to be shared via NFS (though this is not recommended).
16842         [faa83dd2b7fb]
16843
16844         * def_data.c, def_data.h, def_data.in:
16845         Add timestampowner, "Owner of the authentication timestamp dir"
16846         [d47640d4c86a]
16847
16848 2002-05-02  Todd C. Miller  <Todd.Miller@courtesan.com>
16849
16850         * env.c:
16851         Don't try to pre-compute the size of the new envp, just allocate
16852         space up front and realloc as needed. Changes to the new env
16853         pointer must all be made through insert_env() which now keeps track
16854         of spaced used and allocates as needed.
16855         [39bc934a9f2c]
16856
16857 2002-04-26  Todd C. Miller  <Todd.Miller@courtesan.com>
16858
16859         * configure:
16860         regen
16861         [0e12c09bb790]
16862
16863         * configure.in:
16864         Fix two typo/pastos; from jrj@purdue.edu
16865         [b718a4bf1181]
16866
16867 2002-04-25  Todd C. Miller  <Todd.Miller@courtesan.com>
16868
16869         * INSTALL.binary, README:
16870         ++version
16871         [a1e33027278c] [SUDO_1_6_6]
16872
16873         * configure, sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in,
16874         visudo.cat, visudo.man.in:
16875         regen
16876         [19eb2be283ef]
16877
16878         * CHANGES, RUNSON, TODO:
16879         Sync with 1.6.6
16880         [2ff9a9087f63]
16881
16882         * check.c:
16883         The the loop used to expand %h and %u, the lastchar variable was not
16884         being initialized. This means that if the last char in the prompt
16885         is '%' and the first char is 'h' or 'u' a extra copy of the host or
16886         user name would be copied, for which space had not been allocated.
16887         [b2e27197857d]
16888
16889 2002-04-18  Todd C. Miller  <Todd.Miller@courtesan.com>
16890
16891         * BUGS, INSTALL, Makefile.in, configure.in, version.h:
16892         crank version to 1.6.6
16893         [cfd08689e597]
16894
16895         * auth/afs.c:
16896         #undef VOID to get rid of an AFS warning
16897         [b40760564dc1]
16898
16899         * env.c:
16900         Use easprintf instead of emalloc + sprintf for some things.
16901         [e7bfe2e69a03]
16902
16903 2002-03-16  Todd C. Miller  <Todd.Miller@courtesan.com>
16904
16905         * lex.yy.c, sudo.tab.c:
16906         regen
16907         [35327104383d]
16908
16909         * parse.c, parse.lex, parse.yacc, testsudoers.c:
16910         Remove Chris Jepeway's email address so people don't bug him ;-)
16911         [c03410747a69]
16912
16913 2002-03-12  Todd C. Miller  <Todd.Miller@courtesan.com>
16914
16915         * sudo.c:
16916         Move endpwent() to be after set_perms(PERM_RUNAS, ...) and also call
16917         endgrent() at the same time.
16918         [28b6097d5d1a]
16919
16920 2002-02-22  Todd C. Miller  <Todd.Miller@courtesan.com>
16921
16922         * INSTALL:
16923         Make it clear which configure options take arguments.
16924         [38529e7efad0]
16925
16926 2002-01-25  Todd C. Miller  <Todd.Miller@courtesan.com>
16927
16928         * compat.h:
16929         HP-UX 9.x has RLIMIT_* but no RLIM_INFINITY. If there is no
16930         RLIM_INFINITY, just pretend it is -1. This works because we only
16931         check for RLIM_INFINITY and do not set anything to that value.
16932         [53173d34e6eb]
16933
16934 2002-01-22  Todd C. Miller  <Todd.Miller@courtesan.com>
16935
16936         * auth/pam.c:
16937         Zero and free allocated memory when there is a conversation error.
16938         [e342133db579]
16939
16940         * auth/bsdauth.c:
16941         Use sigaction() not signal()
16942         [126c2790561f]
16943
16944         * INSTALL:
16945         Mention that some linux kernels have broken POSIX saved ID support
16946         [571ef1a893d3]
16947
16948         * CHANGES:
16949         checkpoint for 1.6.5p2
16950         [9e9e456f7f43]
16951
16952         * configure:
16953         regen
16954         [d53703a46708]
16955
16956         * configure.in:
16957         Add --disable-setreuid flag
16958         [3b9f2679cb55]
16959
16960         * INSTALL:
16961         Document new --disable-setreuid option and change description for
16962         --disable-saved-ids to match new error message.
16963         [14fd3e5f60a5]
16964
16965         * set_perms.c:
16966         fatal() now takes an argument that determines whether or not to call
16967         perror().
16968         [d826b25e62ff]
16969
16970         * TROUBLESHOOTING:
16971         Update for new error messages from set_perms()
16972         [78007c3f76a9]
16973
16974         * PORTING:
16975         Update for new error messages from set_perms()
16976         [60c545a6bcff]
16977
16978 2002-01-21  Todd C. Miller  <Todd.Miller@courtesan.com>
16979
16980         * auth/pam.c:
16981         Make this compile w/o warnings
16982         [b90843a29af5]
16983
16984         * auth/pam.c:
16985         Mention that we can't use pam_acct_mgmt()
16986         [1dfc5a6e0479]
16987
16988         * auth/aix_auth.c, auth/bsdauth.c, auth/fwtk.c, auth/pam.c:
16989         The user's password was not zeroed after use when AIX
16990         authentication, BSD authentication, FWTK or PAM was in use.
16991         [b18fff30b1e7]
16992
16993 2002-01-20  Todd C. Miller  <Todd.Miller@courtesan.com>
16994
16995         * auth/pam.c:
16996         Avoid giving PAM a NULL password response, use the empty string
16997         instead. This avoids a log warning when the user hits ^C at the
16998         password prompt when PAM is in use.
16999         [c3315805e4e4]
17000
17001         * auth/pam.c:
17002         Don't check the return value of pam_setcred(). In Linux-PAM 0.75
17003         pam_setcred() returns the last saved return code, not the return
17004         code for the setcred module. Because we haven't called
17005         pam_authenticate(), this is not set and so pam_setcred() returns
17006         PAM_PERM_DENIED.
17007         [73db145fa179]
17008
17009         * Makefile.in:
17010         Don't need a '/' between $(DESTDIR) and a directory.
17011         [0901ca618176]
17012
17013         * Makefile.binary:
17014         Don't need a '/' between $(DESTDIR) and a directory.
17015         [cd7eb6098b87]
17016
17017 2002-01-18  Todd C. Miller  <Todd.Miller@courtesan.com>
17018
17019         * configure:
17020         regen
17021         [41b12c039282]
17022
17023         * configure.in:
17024         o BSDi also has a bogus setreuid() o Old FreeBSD has a bogus
17025         setreuid() o new NetBSD has a real setreuid() o add check for
17026         freeifaddrs() if getifaddrs() exists.
17027         [a82ee3b01733]
17028
17029         * config.h.in, interfaces.c:
17030         Older BSDi releases lack freeifaddrs() so add a test for that and if
17031         it is not present just use free().
17032         [6270671ea9d5]
17033
17034 2002-01-17  Todd C. Miller  <Todd.Miller@courtesan.com>
17035
17036         * CHANGES, RUNSON:
17037         Checkpoint for 1.6.5p1
17038         [26134ecf9b36]
17039
17040         * auth/passwd.c:
17041         Return AUTH_FAILURE in passwd_init() if skeyaccess() denies access
17042         to normal passwords, not AUTH_FATAL (which just causes an exit).
17043         [785e0f4bc0e2]
17044
17045         * visudo.c:
17046         Don't use memory after it has been freed.
17047         [c60492739fdb]
17048
17049         * auth/passwd.c:
17050         skeyaccess() wants a struct passwd * not a char *; Patch from
17051         Phillip E. Lobbes
17052         [65a1d3806fcd] [SUDO_1_6_5]
17053
17054         * BUGS:
17055         ++version
17056         [b2e1825e692e]
17057
17058         * CHANGES, RUNSON, TODO:
17059         checkpoint for sudo 1.6.5
17060         [d730945622e7]
17061
17062 2002-01-16  Todd C. Miller  <Todd.Miller@courtesan.com>
17063
17064         * configure:
17065         regen
17066         [49744c403ac9]
17067
17068         * INSTALL, INSTALL.binary, Makefile.in, README, configure.in:
17069         version 1.6.5
17070         [ec30a5f7fc45]
17071
17072         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in, visudo.cat,
17073         visudo.man.in:
17074         sudo version 1.6.5
17075         [458a3bed535d]
17076
17077         * logging.c:
17078         o when invoking the mailer as root use a hard-coded environment that
17079         doesn't include any info from the user's environment. Basically
17080         paranoia.
17081
17082         o Add support for the NO_ROOT_MAILER compile-time option and run the
17083         mailer as the user and not root if NO_ROOT_MAILER is defined.
17084         [4df351ec92ce]
17085
17086         * set_perms.c, sudo.h:
17087         Bring back PERM_FULL_USER
17088         [edb6039bb284]
17089
17090         * configure:
17091         regen
17092         [3eb2943afa03]
17093
17094         * version.h:
17095         version 1.6.5
17096         [044fc9a0c72b]
17097
17098         * INSTALL, config.h.in, configure.in:
17099         Add --disable-root-mailer option to run the mailer as the user and
17100         not root.
17101         [e9f805397963]
17102
17103         * CHANGES:
17104         checkpoint for 1.6.4p2
17105         [b58aae5aa98a]
17106
17107         * PORTING:
17108         Mention the "seteuid(0): Operation not permitted" problem here too
17109         just for good measure.
17110         [90135b37a691]
17111
17112 2002-01-15  Todd C. Miller  <Todd.Miller@courtesan.com>
17113
17114         * env.c, getspwuid.c, sudo.c:
17115         The SHELL environment variable was preserved from the user's
17116         environment instead of being reset based on the passwd database when
17117         the "env_reset" option was used. Now it is reset as it should be.
17118         [300066ef3c71]
17119
17120         * configure:
17121         regen
17122         [a47d779e6552]
17123
17124         * INSTALL, TROUBLESHOOTING, config.h.in, configure.in, set_perms.c,
17125         sudo.c:
17126         Add a configure option to turn off use of POSIX saved IDs
17127         [fb18cc8e94d0]
17128
17129         * configure:
17130         regen
17131         [d4f2f20025b6]
17132
17133         * configure.in:
17134         add --with-efence option
17135         [45c4f33a8e88]
17136
17137         * sudo.c:
17138         Only OR in MODE_RESET_HOME if MODE_RUN is set. Fixes a problem where
17139         "sudo -l" would not work if always_set_home was set.
17140         [c3a6de6c4800]
17141
17142         * lex.yy.c:
17143         regen
17144         [417424452998]
17145
17146         * parse.lex:
17147         Quoted commas were not being treated correctly in command line
17148         arguments.
17149         [753415541b37]
17150
17151         * sudo.c:
17152         o Move the call to rebuild_env() until after MODE_RESET_HOME is set.
17153         Otherwise, the set_home option has no effect.
17154
17155         o Fix use of freed memory when the "fqdn" flag is set. This was
17156         introduced by the fix for the "segv when gethostbynam() fails" bug.
17157         Also, we no longer call set_fqdn() if the "fqdn" flag is not set so
17158         there is no need to check the "fqdn" flag in set_fqdn() itself.
17159         [4b6a4245c04e]
17160
17161         * env.c:
17162         Add 'continue' statements to optimize the switch statement. From
17163         Solar.
17164         [a82c76975ae5]
17165
17166 2002-01-13  Todd C. Miller  <Todd.Miller@courtesan.com>
17167
17168         * sudoers.cat, sudoers.man.in:
17169         Regen from new sudoers.pod
17170         [6ecc07b3d0e1] [SUDO_1_6_4]
17171
17172         * sudoers.pod:
17173         Add caveat about stay_setuid flag
17174         [9d228a7bea1b]
17175
17176         * sudo.c:
17177         If set_perms == set_perms_posix and the stay_setuid flag is not set,
17178         set all uids to 0 and use set_perms_fallback().
17179         [c4e54d1ec86f]
17180
17181         * set_perms.c, sudo.h:
17182         Remove PERM_FULL_USER (which is no longer used) and add
17183         PERM_FULL_ROOT (used when exec'ing the mailer).
17184         [15406c522ea2]
17185
17186         * logging.c:
17187         Use set_perms(PERM_FULL_ROOT, 0) before exec'ing the mailer since we
17188         never want to run the mailer setuid.
17189         [2294853e0666]
17190
17191 2002-01-12  Todd C. Miller  <Todd.Miller@courtesan.com>
17192
17193         * sudo.cat, sudo.man.in, sudo.pod, visudo.cat, visudo.man.in,
17194         visudo.pod:
17195         Use sudo.ws instead of courtesan.com in URLs
17196         [55204002a308]
17197
17198         * Makefile.binary, Makefile.in:
17199         Fix mansect substitution
17200         [b7b5cbc3aa91]
17201
17202         * Makefile.in:
17203         Substitute man sections in Makefile.binary
17204         [040deb785e56]
17205
17206         * Makefile.binary:
17207         Sync install targets with Makefile.in and substitute in man
17208         sections.
17209         [77882a275281]
17210
17211         * INSTALL, INSTALL.binary:
17212         version is 1.6.4
17213         [0f87aabbcb70]
17214
17215         * Makefile.in:
17216         Repair bindist target
17217         [8d43bfe7e2d1]
17218
17219         * CHANGES:
17220         sync for 1.6.4
17221         [13ca3d4a0a72]
17222
17223 2002-01-10  Todd C. Miller  <Todd.Miller@courtesan.com>
17224
17225         * install-sh:
17226         Fix case where neither whoami nor id are found
17227         [424dd270bc47]
17228
17229 2002-01-09  Todd C. Miller  <Todd.Miller@courtesan.com>
17230
17231         * install-sh:
17232         If neither whoami nor id exists, just assume we are root.
17233         [2d2644e42c53]
17234
17235         * alloc.c:
17236         Add explicit cast to (VOID *) on malloc/realloc. Seems to be needed
17237         on AIX which for some reason isn't pulling in the malloc prototype.
17238         [231440d2ee3b]
17239
17240 2002-01-08  Todd C. Miller  <Todd.Miller@courtesan.com>
17241
17242         * Makefile.in, aclocal.m4, compat.h, parse.c, sudo.c:
17243         (c) 2002
17244         [700e3b41a68e]
17245
17246         * CHANGES:
17247         checkpoint
17248         [33e604bd8d5b]
17249
17250         * sudo.c:
17251         Defer assigning new environment until right before the exec.
17252         [f13c49e75c1c]
17253
17254         * parse.c:
17255         kill extra blank line
17256         [12ef22e9dae3]
17257
17258 2002-01-07  Todd C. Miller  <Todd.Miller@courtesan.com>
17259
17260         * configure:
17261         regen
17262         [a6cd2d788f74]
17263
17264         * configure.in:
17265         Use -O not -O2 for m88k-motorola-sysv* since motorola gcc-derived
17266         compiler doesn't recognise -O2.
17267         [5234aa543692]
17268
17269         * HISTORY:
17270         Clarify origins of Root Group sudo a bit based on info from
17271         billp@rootgroup.com
17272         [4deef01c4208]
17273
17274 2002-01-03  Todd C. Miller  <Todd.Miller@courtesan.com>
17275
17276         * LICENSE:
17277         2002
17278         [6c8e089dbd1a]
17279
17280         * CHANGES:
17281         checkpoint for 1.6.4rc1
17282         [3349eb87a49f]
17283
17284 2002-01-02  Todd C. Miller  <Todd.Miller@courtesan.com>
17285
17286         * config.h.in:
17287         now generated via autoheader
17288         [84657d303cb9]
17289
17290         * configure:
17291         regen
17292         [207bfa6a13f6]
17293
17294         * compat.h:
17295         Move in some stuff that was previously in config.h.
17296         [e576d8b6480f]
17297
17298         * aclocal.m4, configure.in:
17299         Add info for autoheader.
17300         [0549cd5da27c]
17301
17302 2002-01-01  Todd C. Miller  <Todd.Miller@courtesan.com>
17303
17304         * Makefile.in:
17305         o Add DESTDIR support o Use -M, -O, and -G instead of -m, -o, and
17306         -g to facilitate non-root installs
17307         [619216038f56]
17308
17309         * install-sh:
17310         Add -M option (like -m but only for root) If we can't find "whoami",
17311         use "id" w/ some sed.
17312         [b39121c8b792]
17313
17314         * configure:
17315         regen
17316         [b39b93ff9804]
17317
17318         * configure.in:
17319         allow user to always override mansectsu and mansectform
17320         [0fca5e63bd90]
17321
17322 2001-12-31  Todd C. Miller  <Todd.Miller@courtesan.com>
17323
17324         * mkinstalldirs:
17325         update from autoconf 2.52
17326         [07bd75a508c3]
17327
17328         * config.guess, config.sub:
17329         Update from autoconf 2.52
17330         [857b90fe31b7]
17331
17332         * configure:
17333         regen with autoconf 2.52
17334         [08e7d1ea2aeb]
17335
17336         * configure.in:
17337         o Call AC_PROG_CC_STDC to find out how to run the compiler in ANSI
17338         mode o Remove compiler-specific checks for HP-UX now that we use
17339         AC_PROG_CC_STDC
17340         [d433a70b6208]
17341
17342         * RUNSON:
17343         Checkpoint
17344         [babf6d2235d1]
17345
17346         * auth/pam.c:
17347         o Add pam_prep_user function to call pam_setcred() for the target
17348         user; on Linux this often sets resource limits. o When calling
17349         pam_end(), try to convert the auth->result to a PAM_FOO value.
17350         This is a hack--we really need to stash the last PAM_FOO value
17351         received and use that instead.
17352         [6ad6f340dd2a]
17353
17354         * set_perms.c, sudo.h:
17355         o Add pam_prep_user function to call pam_setcred() for the target
17356         user; on Linux this often sets resource limits.
17357         [67795421ac82]
17358
17359         * env.c:
17360         Fix off by one error in number of bytes allocated via malloc (does
17361         not affected any released version of sudo).
17362         [5f5915360111]
17363
17364 2001-12-30  Todd C. Miller  <Todd.Miller@courtesan.com>
17365
17366         * lex.yy.c:
17367         regen
17368         [8208c0277775]
17369
17370         * parse.lex:
17371         Allow '@', '(', ')', ':' in arguments to a defaults variable w/o
17372         requiring that they be quoted.
17373         [ae59bc8f68dd]
17374
17375         * sudoers.cat, sudoers.man.in, sudoers.pod:
17376         Mention that no double quotes are needed when
17377         adding/deleting/assigning a single value to a list.
17378         [25efc940a1f0]
17379
17380         * Makefile.in:
17381         Don't rely on mkdefaults being executable, call perl explicitly.
17382         [6edc97ba5f1d]
17383
17384         * sudo.tab.c:
17385         regen
17386         [49130b2e7e4d]
17387
17388         * parse.yacc:
17389         Remove some XXX that are no longer relevant.
17390         [d460ac0d3767]
17391
17392         * defaults.c:
17393         o Roll our own loop instead of using strpbrk() for better
17394         grokability o When adding to a list we must malloc() and use
17395         memcpy(), not strdup() since we must only copy len bytes from str.
17396         [649bef08e1f0]
17397
17398 2001-12-21  Todd C. Miller  <Todd.Miller@courtesan.com>
17399
17400         * sudo.tab.c:
17401         regen
17402         [f0bbf2c38c0e]
17403
17404         * parse.yacc:
17405         typo in comment
17406         [2563711ff593]
17407
17408 2001-12-19  Todd C. Miller  <Todd.Miller@courtesan.com>
17409
17410         * CHANGES:
17411         checkpoint
17412         [a6d8a29fb30e]
17413
17414         * configure:
17415         regen
17416         [bdfcaaf3bd13]
17417
17418         * configure.in:
17419         avoid the -g flag unless --with-devel was specified
17420         [a976707bef30]
17421
17422         * Makefile.in:
17423         mkdefaults, def_data.in and sigaction.c were missing from the
17424         tarball
17425         [6917ffbaa412]
17426
17427         * Makefile.in:
17428         def_data.c was missing
17429         [87c78b11453d]
17430
17431 2001-12-18  Todd C. Miller  <Todd.Miller@courtesan.com>
17432
17433         * env.c:
17434         Fix setting of $USER and $LOGNAME in the non-reset_env case. Also
17435         allow HOME, SHELL, LOGNAME, and USER to be specified in keep_env
17436         [fc8698e6a45e]
17437
17438         * TODO:
17439         Another TODO item
17440         [6f251d6cd466]
17441
17442         * sudoers:
17443         Add comment for Default section so folks know where it should go.
17444         [7edba626f392]
17445
17446 2001-12-17  Todd C. Miller  <Todd.Miller@courtesan.com>
17447
17448         * tgetpass.c:
17449         Use TCSETAF, not TCSETA to set terminal in termio case
17450         [fbd172f6c5d3]
17451
17452         * sudoers.cat, sudoers.man.in:
17453         regen from sudoers.pod
17454         [64edd2de816e]
17455
17456         * sudoers.pod:
17457         o Typo, Runas_User_List should be Runas_List o a User_List can not
17458         contain a uid o mention that the Defaults section should come after
17459         Alias definitions but before the user specifications
17460         [54070ba2092b]
17461
17462 2001-12-15  Todd C. Miller  <Todd.Miller@courtesan.com>
17463
17464         * sudoers.cat, sudoers.man.in:
17465         regen
17466         [e62d1d97693c]
17467
17468         * sudoers.pod:
17469         Fix listpw and verifypw sections, they were not being formatted
17470         properly.
17471         [123868c2f3e9]
17472
17473         * sudoers.cat, sudoers.man.in:
17474         regen
17475         [f94841f8b374]
17476
17477         * sudoers.pod:
17478         fix typos
17479         [f278f1c1184e]
17480
17481         * configure:
17482         regen
17483         [d2270049ba9f]
17484
17485         * config.h.in, configure.in:
17486         use AC_SYS_POSIX_TERMIOS instead of rolling our own
17487         [c1a13f1354b9]
17488
17489         * README:
17490         Reference sudo.ws not courtesan.com
17491         [ca13be67ebd7]
17492
17493         * PORTING:
17494         Add notes on shadow passwords
17495         [aa13863f2314]
17496
17497         * BUGS:
17498         In list mode (sudo -l), characters escaped with a backslash are
17499         shown verbatim with the backslash.
17500         [1a75a2858be2]
17501
17502         * sudoers:
17503         Add simple examples from OpenBSD (Marc Espie)
17504         [3ae9a9ae4125]
17505
17506         * tgetpass.c:
17507         Catch SIGTTIN and SIGTTOU too and treat them like SIGTSTP.
17508         [f8817699ee10]
17509
17510         * CHANGES:
17511         minor prettyification
17512         [f523587929b9]
17513
17514         * CHANGES:
17515         Updated change log
17516         [39d9010ee7a8]
17517
17518         * testsudoers.c:
17519         Fix CIDR handling here too.
17520         [c91db8344c32]
17521
17522         * auth/pam.c:
17523         Apparently a NULL response is OK
17524         [83bae61078d9]
17525
17526         * TODO:
17527         Checkpoint for upcoming beta release
17528         [efb95c09df2a]
17529
17530         * TROUBLESHOOTING:
17531         Many people believe that adding a runas spec should obviate the need
17532         for the -u flag. It does not.
17533         [c698bad85b0e]
17534
17535         * RUNSON:
17536         checkpoint update for upcoming 1.6.4 beta
17537         [009e465a0a45]
17538
17539         * config.h.in:
17540         o Add HAVE_STDLIB_H and HAVE_MEMORY_H o Define HAVE_STRINGS_H even
17541         if HAVE_STRING_H is defined -- this is safe now
17542         [d27c035f4e14]
17543
17544         * PORTING:
17545         Add signals section
17546         [2d24c13cb3c8]
17547
17548         * configure:
17549         regen
17550         [2b80a939e2ed]
17551
17552         * configure.in:
17553         Fix check for sigaction_t
17554         [6fa41c89ab20]
17555
17556         * sudo.c:
17557         XXX - should call find_path() as runas user, not root. Can't do
17558         that until the parser changes though.
17559         [f0b4f85651bd]
17560
17561         * sudo.c:
17562         If find_path() fails as root, try again as the invoking user (useful
17563         for NFS). Idea from Chip Capelik.
17564         [e03fa7872692]
17565
17566         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in:
17567         Regenerate after pod file changes
17568         [48e4bd75ec21]
17569
17570         * def_data.c, def_data.h, def_data.in, set_perms.c, sudo.c, sudo.h,
17571         sudo.pod, sudoers.pod:
17572         Add new sudoers option "preserve_groups". Previously sudo would not
17573         call initgroups() if the target user was root. Now it always calls
17574         initgroups() unless the -P command line option or the
17575         "preserve_groups" sudoers option is set. Idea from TJ Saunders.
17576         [4f730359f101]
17577
17578 2001-12-14  Todd C. Miller  <Todd.Miller@courtesan.com>
17579
17580         * compat.h, config.h.in:
17581         Use new HAVE_SIGACTION_T define
17582         [dfb25f3cae5b]
17583
17584         * logging.c:
17585         Fix compilation on K&C
17586         [7355e3275e34]
17587
17588         * configure:
17589         regen
17590         [a710584f92f0]
17591
17592         * configure.in:
17593         Add check for sigaction_t -- IRIX already defines this so don't
17594         redefine it.
17595         [df9c5737f6da]
17596
17597         * snprintf.c:
17598         fix typo
17599         [3d782b8134c8]
17600
17601         * interfaces.c:
17602         need stdlib.h here too
17603         [c789d8973ab2]
17604
17605         * configure:
17606         regen
17607         [44822856bf46]
17608
17609         * configure.in:
17610         Remove redundant checks for string.h, strings.h and unistd.h
17611         [933c94f8bbf4]
17612
17613         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in, visudo.cat,
17614         visudo.man.in:
17615         Regen from pod files
17616         [ad18c590f638]
17617
17618         * BUGS:
17619         Update for 1.6.4
17620         [26bc88b69d22]
17621
17622         * configure, lex.yy.c, sudo.tab.c:
17623         regen
17624         [bef89fd6fa2d]
17625
17626         * strerror.c:
17627         Return EINVAL if errnum > sys_nerr
17628         [0512374e6661]
17629
17630         * auth/sudo_auth.h:
17631         o Update copyright year
17632         [a877016db6e2]
17633
17634         * LICENSE, Makefile.binary, Makefile.in, aclocal.m4, compat.h,
17635         config.h.in, defaults.h, interfaces.h, pathnames.h.in, sudo.h,
17636         sudo.pod:
17637         o Update copyright year
17638         [e15a1b39039f]
17639
17640         * configure.in:
17641         o Don't define STDC_HEADERS unconditionally for IRIX o Update
17642         copyright year
17643         [82a8cb819e07]
17644
17645         * README:
17646         update version
17647         [d82e523a16b4]
17648
17649         * auth/afs.c, auth/aix_auth.c, auth/bsdauth.c, auth/dce.c,
17650         auth/fwtk.c, auth/kerb4.c, auth/kerb5.c, auth/pam.c, auth/passwd.c,
17651         auth/rfc1938.c, auth/secureware.c, auth/securid.c, auth/sia.c,
17652         auth/sudo_auth.c, logging.c, parse.c, parse.lex, parse.yacc,
17653         set_perms.c, snprintf.c, sudo.c, testsudoers.c, tgetpass.c, utime.c,
17654         visudo.c:
17655         o Reorder some headers and use STDC_HEADERS define properly o Update
17656         copyright year
17657         [fe39f76b3795]
17658
17659         * lsearch.c:
17660         o Reorder some headers and use STDC_HEADERS define properly o Update
17661         copyright year
17662         [764ba3d4fa13]
17663
17664         * getspwuid.c, goodpath.c, interfaces.c:
17665         o Reorder some headers and use STDC_HEADERS define properly o Update
17666         copyright year
17667         [fb46d46140d4]
17668
17669         * getcwd.c:
17670         o Reorder some headers and use STDC_HEADERS define properly o Update
17671         copyright year
17672         [b199d70ac7ab]
17673
17674         * alloc.c, check.c, defaults.c, env.c, fileops.c, find_path.c,
17675         fnmatch.c:
17676         o Reorder some headers and use STDC_HEADERS define properly o Update
17677         copyright year
17678         [dab8f192a3ed]
17679
17680         * configure:
17681         regen
17682         [156658f25cea]
17683
17684         * tgetpass.c:
17685         flags set in signal handlers should be volatile sig_atomic_t
17686         [c22931a5535e]
17687
17688         * config.h.in, configure.in:
17689         Add checks for volatile and sig_atomic_t
17690         [b03b3341381d]
17691
17692         * configure, lex.yy.c:
17693         regen
17694         [ed9daba88217]
17695
17696         * def_data.c, def_data.h, def_data.in, defaults.c, env.c, find_path.c,
17697         sudo.c, sudoers.pod:
17698         Remove "secure_path" Defaults option since it cannot work with the
17699         existing parser.
17700         [c9e54a0f5971]
17701
17702         * find_path.c, sudo.c:
17703         Unset "secure_path" if user_is_exempt()
17704         [fb7544565ae8]
17705
17706         * env.c, pathnames.h.in:
17707         o Remove assumption that PATH and TERM are not listed in env_keep o
17708         If no PATH is in the environment use a default value o If TERM is
17709         not set in the non-reset case also give it a default value.
17710         [c987eb7df268]
17711
17712         * aclocal.m4, configure.in, defaults.c, pathnames.h.in:
17713         _PATH_SENDMAIL -> _PATH_SUDO_SENDMAIL so --without-sendmail works on
17714         systems that define in paths.h
17715         [51865b0cdebf]
17716
17717         * auth/passwd.c, auth/sudo_auth.c, auth/sudo_auth.h:
17718         Add support for skeyaccess(3) if it is present in libskey.
17719         [8add77c7d3e7]
17720
17721 2001-12-13  Todd C. Miller  <Todd.Miller@courtesan.com>
17722
17723         * sudo.c:
17724         Only need to do 'lc = login_getclass(NULL)' if lc == NULL
17725         [5a3d3cbf2c6d]
17726
17727         * parse.lex:
17728         '\\' is a perfectly legal character to have in a command line
17729         argument.
17730         [c15a466ef00e]
17731
17732         * sudo.c:
17733         o Defer call to set_fqdn() until it is safe to use log_error() o
17734         Don't print errno string value if gethostbyname fails, it is not
17735         relevant
17736         [c0c6bcf08bcb]
17737
17738         * parse.c:
17739         Fix CIDR -> in_addr_t conversion.
17740         [2f307ebeb63f]
17741
17742 2001-12-12  Todd C. Miller  <Todd.Miller@courtesan.com>
17743
17744         * sudoers.pod:
17745         Remove an extra "User_List" in the User_Spec definition From
17746         ybertrand AT snoopymail.com
17747         [97bde59ea280]
17748
17749         * parse.c:
17750         Make 'listpw=never' work for users who are not explicitly mentioned
17751         in sudoers.
17752         [258f0f30a428]
17753
17754         * sudoers.pod:
17755         Remove gratuitous '=' in EBNF grammar; era AT iki.fi
17756         [4b0f03872ee1]
17757
17758         * sudoers.pod:
17759         Document new list Defaults type and convert env_keep and env_delete
17760         to lists. Document new env_check option.
17761         [a07f1f079fe3]
17762
17763         * lex.yy.c, sudo.tab.c, sudo.tab.h:
17764         regen parser
17765         [e39ac6c6581b]
17766
17767         * parse.lex:
17768         Don't let '#' appear in a {WORD} and restrict #foo in a Runas spec
17769         to #[0-9-]+.
17770         [69c5388908f3]
17771
17772         * configure:
17773         regen
17774         [0f1877b88cb3]
17775
17776         * aclocal.m4:
17777         Simpler SUDO_FUNC_ISBLANK that uses AC_TRY_LINK
17778         [6545503ae361]
17779
17780         * config.h.in, configure.in:
17781         Add check for skeyaccess(3)
17782         [6caf69fe6359]
17783
17784         * visudo.pod:
17785         Document new -c, -f, and -q options
17786         [13d0203c21d3]
17787
17788         * visudo.c:
17789         o Add -f option (alternate sudoers file) o Convert to use getopt(3)
17790         [4c2b664d617d]
17791
17792         * configure:
17793         regen
17794         [6d5bd932e7b5]
17795
17796         * aclocal.m4, config.h.in, configure.in:
17797         Add check for isblank and a replacement macro if it doesn't exist.
17798         [b524f5e4f953]
17799
17800 2001-12-11  Todd C. Miller  <Todd.Miller@courtesan.com>
17801
17802         * visudo.c:
17803         In check-only mode, don't create sudoers if it does not already
17804         exist.
17805         [c748a2d5acad]
17806
17807         * parse.yacc:
17808         o Add a new token, DEFVAR, to indicate a Defaults variable name o
17809         Add support for "+=" and "-=" list operators o replace some 1 and 0
17810         with TRUE and FALSE for greater legibility.
17811         [554cb174b37e]
17812
17813         * parse.lex:
17814         o Use exclusive start conditions to remove some ambiguity in the
17815         lexer. Also reorder some things for clarity. o Add support for
17816         "+=" and "-=" list operators. o Use the new DEFVAR token to denote
17817         a Defaults variable name.
17818         [3a2cf8323e26]
17819
17820         * sudo.h:
17821         Prototype init_envtables()
17822         [b74916469dab]
17823
17824         * env.c:
17825         o Convert environment handling to use lists instead of strings.
17826         This greatly simplifies routines that need to do "foreach" type
17827         operations. o Add new init_envtables() function to set env_check
17828         and env_delete defaults based on initial_badenv_table and
17829         initial_checkenv_table (formerly sudo_badenv_table).
17830         [0a8b404658b6]
17831
17832         * defaults.c, defaults.h:
17833         o Add a new LIST type and functions to manipulate it. o This is for
17834         use with environment handling variables. o Call new
17835         init_envtables() routine inside init_defaults() to initialize the
17836         environment lists.
17837         [ae73e64f0902]
17838
17839         * def_data.c, def_data.h, def_data.in:
17840         Convert environment options to use the new LIST type and add a new
17841         one, env_check that only deletes if the sanity check fails.
17842         [3019503936de]
17843
17844         * testsudoers.c:
17845         Add dummy version of init_envtables()
17846         [9d9e3ee609d9]
17847
17848         * parse.yacc:
17849         honor quiet mode
17850         [8330fba6167c]
17851
17852         * visudo.c:
17853         Add check-only mode
17854         [dab411bc8c35]
17855
17856         * mkdefaults:
17857         Fix generation of entries with NULL descriptions.
17858         [ea75b9fed02e]
17859
17860 2001-12-09  Todd C. Miller  <Todd.Miller@courtesan.com>
17861
17862         * tgetpass.c:
17863         Use sigaction_t and quiet a gcc warning.
17864         [6f67d719c452]
17865
17866         * sudo.c:
17867         Must reset signal handlers before we exec
17868         [300418120e1a]
17869
17870         * auth/aix_auth.c, auth/bsdauth.c, auth/fwtk.c, auth/pam.c,
17871         auth/sudo_auth.c:
17872         Be carefule now that tgetpass() can return NULL (user hit ^C). PAM
17873         version needs testing. Set SIGTSTP to SIG_DFL during password entry
17874         so user can suspend us.
17875         [00304aa58747]
17876
17877         * tgetpass.c:
17878         Add support for interrupting/suspending tgetpass via keyboard input.
17879         If you suspend sudo from the password prompt and resume it will re-
17880         prompt you.
17881         [4af2b5101d32]
17882
17883         * sudo.c:
17884         Don't block keyboard interrupt signals, just set them to SIG_IGN.
17885         [d46d7f67ef6b]
17886
17887 2001-12-08  Todd C. Miller  <Todd.Miller@courtesan.com>
17888
17889         * config.h.in:
17890         add back HAVE_SIGACTION
17891         [c9c7702c603e]
17892
17893         * configure:
17894         regen
17895         [09fe669d337f]
17896
17897         * config.h.in, configure.in, logging.c, sudo.c, visudo.c:
17898         Kill POSIX_SIGNALS define and old signal support now that we emulate
17899         POSIX ones Also be sure to correctly initialize struct sigaction.
17900         [4bc2a6dbb2be]
17901
17902         * strerror.c:
17903         Don't need config.h or "#ifndef HAVE_STRERROR" wrapper.
17904         [1ad64a19f328]
17905
17906         * compat.h:
17907         Add scaffolding for POSIX signal emulation
17908         [945861d4c93b]
17909
17910         * sigaction.c:
17911         o Add missing ';' so this compiles o Can't use NULL since we don't
17912         include stdio.h
17913         [04d0cac7438f]
17914
17915         * sigaction.c:
17916         Emulate sigaction() using sigvec()
17917         [d0b54a989875]
17918
17919 2001-11-13  Todd C. Miller  <Todd.Miller@courtesan.com>
17920
17921         * sudoers.pod:
17922         Document new behavior of negative values of timestamp_timeout Fix a
17923         typo
17924         [4c0716570d01]
17925
17926         * sudo.pod:
17927         Add security note about command not being logged after 'sudo su' and
17928         friends.
17929         [43294851a33c]
17930
17931         * sudo.pod:
17932         Mention that -V prints default values when run as root, including
17933         the list of environment variables to clear.
17934         [d9e5e550a8c3]
17935
17936         * Makefile.in:
17937         Run pod2man with --quotes=none to avoid stupid quoting of C<>
17938         entries.
17939         [997b23c35dbe]
17940
17941 2001-11-12  Todd C. Miller  <Todd.Miller@courtesan.com>
17942
17943         * auth/sudo_auth.c, def_data.c, def_data.h, def_data.in, sudoers.pod:
17944         Add mail_badpass option Also modify mail_always behavior to also
17945         send mail when the password is wrong
17946         [838d40ccafce]
17947
17948         * env.c, sudo.c, sudo.h:
17949         Dump default bad env table when 'sudo -V' is run by root.
17950         [f67f1b8048b0]
17951
17952         * sudoers.pod:
17953         document env_delete
17954         [d74f893663a2]
17955
17956         * env.c:
17957         Add support for '*' in env_keep when not resetting the environment
17958         (ie: the normal case).
17959         [fd4fb62ea8fd]
17960
17961         * env.c:
17962         Add env_delete variable that lets the user replace/add to the
17963         bad_env_table. Allow '*' wildcard in env_keep entries.
17964         [aa728bc35e29]
17965
17966 2001-11-06  Todd C. Miller  <Todd.Miller@courtesan.com>
17967
17968         * mkinstalldirs:
17969         Force umask to 022 to guarantee sane directory permissions.
17970         [9ab3cfe70569]
17971
17972 2001-11-02  Todd C. Miller  <Todd.Miller@courtesan.com>
17973
17974         * Makefile.in:
17975         add sudo.tab.h and sudo.tab.c to sudo.tab.o dependency
17976         [671010465e6f]
17977
17978         * mkdefaults:
17979         fix breakage in last commit
17980         [8318f8851e56]
17981
17982         * Makefile.in:
17983         acsite.m4 -> aclocal.m4
17984         [30c146873a01]
17985
17986         * check.c:
17987         fix I_TS_TIMEOUT vs. I_TIMESTAMP_TIMEOUT pasto in previous commit
17988         [4dc8b39954da]
17989
17990         * def_data.c:
17991         regenerated from def_data.in
17992         [915ea16ce1eb]
17993
17994         * check.c, defaults.c, defaults.h:
17995         Add new T_UINT type that most things use instead of T_INT If
17996         timestamp_timeout is < 0 then treat the ticket as never expiring (to
17997         be expired manually by the user).
17998         [3a3a636a2a5d]
17999
18000         * def_data.in:
18001         change most T_INT -> T_UINT
18002         [a2228d2457af]
18003
18004         * mkdefaults:
18005         fix warning when no args
18006         [ca70a5394af5]
18007
18008         * visudo.c:
18009         Change 2 Exit() -> exit() Avoid stdio in Exit() and call _exit() if
18010         we are a signal handler. We no longer print the signal number but
18011         the user can just check the exit value for that.
18012         [dc424f631fef]
18013
18014 2001-10-16  Todd C. Miller  <Todd.Miller@courtesan.com>
18015
18016         * logging.c:
18017         when setting up pipes in child process check for case where stdin ==
18018         pipe fd 0
18019         [518112d76184]
18020
18021 2001-10-11  Todd C. Miller  <Todd.Miller@courtesan.com>
18022
18023         * visudo.c:
18024         Ignore editor exit value since XPG4 says vi's exit value is the
18025         count of editing errors made (failed searches, etc).
18026         [b9d952284865]
18027
18028 2001-10-05  Todd C. Miller  <Todd.Miller@courtesan.com>
18029
18030         * configure:
18031         regen
18032         [cb3aa586f03b]
18033
18034         * configure.in:
18035         sco now is identified by config.guess as *-sco-*
18036         [46664bbdea61]
18037
18038         * configure.in:
18039         Check for getspnam() in -lgen if not in -lc for UnixWare.
18040         [0f152ad1ba93]
18041
18042 2001-09-18  Todd C. Miller  <Todd.Miller@courtesan.com>
18043
18044         * sudoers.pod, visudo.pod:
18045         "upper case" -> "uppercase"
18046         [f9151f232326]
18047
18048         * sudoers.pod:
18049         fix typos and grammar; pjanzen@foatdi.harvard.edu
18050         [2855d73d0237]
18051
18052 2001-08-28  Todd C. Miller  <Todd.Miller@courtesan.com>
18053
18054         * sudoers.pod:
18055         Missing word (specify); krapht@secureops.com
18056         [65523eb37a2c]
18057
18058 2001-08-23  Todd C. Miller  <Todd.Miller@courtesan.com>
18059
18060         * sudo.c:
18061         If we fail to lookup a login class, apply the default one.
18062         [d4869faa6816]
18063
18064         * logging.c:
18065         In log_error() free message, not logline unconditionally, then free
18066         logline if it is not the same as message. No function change but
18067         this mirrors how they are allocated.
18068         [565e5f6cc643]
18069
18070 2001-07-17  Todd C. Miller  <Todd.Miller@courtesan.com>
18071
18072         * configure:
18073         regenerate
18074         [834a48f548a2]
18075
18076         * configure.in:
18077         remove some backslash quotes that are unneeded
18078         [50d401d6e2ca]
18079
18080         * configure.in:
18081         o Tweaks to make this work with autoconf-2.50 o Use AC_LIBOBJ
18082         instead of changing LIBOBJS directly o Use AC_REPLACE_FUNCS where we
18083         can o Use AC_CHECK_FUNCS instead of AC_CHECK_FUNC so we don't have
18084         to AC_DEFINE things manually.
18085         [f502c5f15f92]
18086
18087         * config.guess, config.sub:
18088         Updated from autoconf-2.50
18089         [6140205915ef]
18090
18091 2001-05-22  Todd C. Miller  <Todd.Miller@courtesan.com>
18092
18093         * README:
18094         Update mailing list section. We use mailman now, not majordomo.
18095         [b9a8ca45e6dc]
18096
18097 2001-05-10  Todd C. Miller  <Todd.Miller@courtesan.com>
18098
18099         * getspwuid.c, logging.c, sudo.c:
18100         Use setpwent()/endpwent() + all the shadow variants to make sure we
18101         don't inadvertantly leak an fd to the child. Apparently Linux's
18102         shadow routines leave the fd open even if you don't call setspent().
18103         Reported by mike@gistnet.com; different patch used.
18104         [d33792ef6c01]
18105
18106 2001-04-13  Todd C. Miller  <Todd.Miller@courtesan.com>
18107
18108         * sudoers.pod:
18109         s/eg./e.g./
18110         [bd32a0acaf93]
18111
18112         * tgetpass.c:
18113         select() may return EAGAIN. If so, continue like we do for EINTR.
18114         [5f202c943818]
18115
18116         * logging.c:
18117         Fix a non-exploitable buffer overflow in the word splitting code.
18118         This should really be rewritten.
18119         [4c724363863a]
18120
18121         * Makefile.in:
18122         FAQ link goes away
18123         [1d26dd6c8972]
18124
18125         * INSTALL:
18126         Tell people to look in sample.syslog.conf for examples, not FAQ
18127         [affcae3f43ca]
18128
18129         * TROUBLESHOOTING:
18130         Update list of env vars that are cleared
18131         [234e56f1435a]
18132
18133         * sudo.c:
18134         remove struct env_table decl since that stuff has all moved to env.c
18135         [5dd923148777]
18136
18137 2001-04-04  Todd C. Miller  <Todd.Miller@courtesan.com>
18138
18139         * fileops.c:
18140         Fix a pasto in flock-style unlocking and include <sys/file.h> for
18141         flock on older systems; twetzel@gwdg.de
18142         [d5420d9d2861]
18143
18144         * configure:
18145         regen to get NeXT lockf/flock fix
18146         [d3ba6ed70e15]
18147
18148         * configure.in:
18149         force NeXT to use flock since lockf is broken
18150         [bd5391dca1bb]
18151
18152 2001-03-30  Todd C. Miller  <Todd.Miller@courtesan.com>
18153
18154         * check.c:
18155         Use stashed user_gid when checking against exempt gid since sudo
18156         sets its gid to a a value that makes sudoers readable. Previously
18157         if you used gid 0 as the exempt group everyone would be exempt. From
18158         Paul Kranenburg <pk@cs.few.eur.nl>
18159         [0b140cc3a817]
18160
18161 2001-03-29  Todd C. Miller  <Todd.Miller@courtesan.com>
18162
18163         * configure:
18164         regen
18165         [cc455408f32b]
18166
18167         * aclocal.m4:
18168         #include stdio.h in SUDO_CHECK_TYPE since IRIX 6 aparently defines
18169         some types (such as ssize_t) therein.
18170         [b6aee85ca331]
18171
18172 2001-03-02  Todd C. Miller  <Todd.Miller@courtesan.com>
18173
18174         * defaults.c:
18175         Fix negation of paths in a boolean context. Problem found by
18176         apt@UH.EDU
18177         [8aee217a7cdf]
18178
18179 2001-02-23  Todd C. Miller  <Todd.Miller@courtesan.com>
18180
18181         * visudo.c:
18182         pasto
18183         [ad32b277bf68]
18184
18185 2001-02-17  Todd C. Miller  <Todd.Miller@courtesan.com>
18186
18187         * visudo.c:
18188         SA_RESETHAND means the opposite of what I was thinking--oops To
18189         block all signals in old-style signals use ~0, not 0xffffffff
18190         [6ecdd793590a]
18191
18192 2001-02-04  Todd C. Miller  <Todd.Miller@courtesan.com>
18193
18194         * defaults.c:
18195         coerce difference of pointers to int when used in a string length
18196         printf format; deraadt@openbsd.org
18197         [a9d10f07180d]
18198
18199 2001-01-17  Todd C. Miller  <Todd.Miller@courtesan.com>
18200
18201         * visudo.c:
18202         Block all signals in Exit() to avoid a signal race. There is still
18203         a tiny window but I'm not going to worry about it.
18204         [6661805c0458]
18205
18206 2001-01-07  Todd C. Miller  <Todd.Miller@courtesan.com>
18207
18208         * env.c:
18209         glibc uses the LANGUAGE env var so clear that too; Solar Designer
18210         [d4ba95628afb]
18211
18212         * lex.yy.c:
18213         Regenerate with a fix to flex.skl that preserves errno from
18214         clobbering by isatty().
18215         [607eec736e19]
18216
18217 2000-12-31  Todd C. Miller  <Todd.Miller@courtesan.com>
18218
18219         * auth/aix_auth.c, auth/bsdauth.c, auth/fwtk.c, auth/pam.c,
18220         auth/sia.c, auth/sudo_auth.c:
18221         Some defaults I_ defines got renamed.
18222         [ec19b23caaf3]
18223
18224         * Makefile.in, check.c, def_data.c, def_data.h, def_data.in,
18225         defaults.c, defaults.h, env.c, logging.c, mkdefaults, parse.yacc,
18226         set_perms.c, sudo.c, sudo.tab.c:
18227         Move defaults info into its own files from which we generate .h and
18228         .c files. This makes adding or rearranging variables much simpler.
18229         [e91b880b5043]
18230
18231 2000-12-30  Todd C. Miller  <Todd.Miller@courtesan.com>
18232
18233         * configure, configure.in:
18234         fix typo in last commit
18235         [10a6ee2bae71]
18236
18237         * compat.h, config.h.in, configure, configure.in:
18238         Add check + emulation for setegid (like seteuid).
18239         [29492092bd2f]
18240
18241         * env.c:
18242         Make env_keep override badenv_table as documented Fix traversal of
18243         badenv_table (broken in last commit)
18244         [37c9f0d22673]
18245
18246         * set_perms.c, sudo.c, sudo.h:
18247         Don't try and build saved uid version of set_perms on systems w/o
18248         them. Rename set_perms_saved_uid() -> set_perms_posix() Make
18249         set_perms_setreuid simply be set_perms_fallback() and simply include
18250         the appropriate function at compile time (setreuid() vs. setuid()).
18251         [3107333c062c]
18252
18253         * sudoers.cat, sudoers.man.in, sudoers.pod:
18254         PATH is also preserved when env_reset is in effect
18255         [90e45c5711ff]
18256
18257         * CHANGES, Makefile.in, check.c, compat.h, config.h.in, configure,
18258         configure.in, defaults.c, defaults.h, env.c, find_path.c,
18259         getspwuid.c, set_perms.c, sudo.c, sudo.cat, sudo.h, sudo.man.in,
18260         sudo.pod, sudoers.cat, sudoers.man.in, sudoers.pod, testsudoers.c,
18261         visudo.c, visudo.cat, visudo.man.in:
18262         New Defaults options: o stay_setuid - sudo will remain setuid if
18263         system has saved uids or setreuid(2) o env_reset - reset the
18264         environment to a sane default o env_keep - preserve environment
18265         variables that would otherwise be cleared
18266
18267         No longer use getenv/putenv/setenv functions--do environment munging
18268         by hand. Potentially dangerous environment variables can be cleared
18269         only if they contain '/' pr '%' characters to protect buggy
18270         programs. Moved environment routines into env.c (new file)
18271         [c2f97651db4c]
18272
18273         * INSTALL:
18274         Clear up --without-passwd description
18275         [2f336dab6733]
18276
18277         * putenv.c, sudo_setenv.c:
18278         We now build up a new environment from scratch and assign it to
18279         "environ".
18280         [6ae6152f2238]
18281
18282 2000-12-19  Todd C. Miller  <Todd.Miller@courtesan.com>
18283
18284         * sudo.pod, visudo.pod:
18285         Grammatical fixes from Paul Janzen
18286         [e03ead2e56f8]
18287
18288 2000-12-15  Todd C. Miller  <Todd.Miller@courtesan.com>
18289
18290         * visudo.c:
18291         If there was a syntax error and the user just wants to quit, unlink
18292         sudoers if it is zero length.
18293         [74ba7921f520]
18294
18295         * visudo.c:
18296         'Q' means ignore parse error, not 'q'
18297         [e8d0e4491fe6]
18298
18299         * visudo.c:
18300         Open sudoers for writing with mode SUDOERS_MODE From Dimitry Andric
18301         <dim@xs4all.nl>
18302         [b24990a72491]
18303
18304 2000-12-13  Todd C. Miller  <Todd.Miller@courtesan.com>
18305
18306         * set_perms.c:
18307         Add missing #ifdef HAVE_LOGIN_CAP_H; ayamura@ayamura.org
18308         [41a8db10e076]
18309
18310 2000-12-09  Todd C. Miller  <Todd.Miller@courtesan.com>
18311
18312         * config.guess, config.sub:
18313         Darwin / Mac OS X support from Wilfredo Sanchez <wsanchez@apple.com>
18314         [6052da895d2e]
18315
18316 2000-11-03  Todd C. Miller  <Todd.Miller@courtesan.com>
18317
18318         * sudo.c, visudo.c:
18319         Use exit(127), not exit(-1)
18320         [9ff0c3eada34]
18321
18322         * Makefile.in, defaults.c, defaults.h, set_perms.c, sudo.c:
18323         Move set_perms() to its own file and use POSIX saved uid or
18324         setreuid() if available.
18325
18326         Added stay_setuid option for systems that have libraries that
18327         perform extra paranoia checks in system libraries for setuid
18328         programs (ie: anything with issetugid(2)).
18329         [28960f842698]
18330
18331         * sudo.c:
18332         strip more bits from the environment and add a facility for
18333         stripping things only if they contain '/' or '%' to address printf
18334         format string vulnerabilities in other programs.
18335         [b98d6375f299]
18336
18337 2000-11-02  Todd C. Miller  <Todd.Miller@courtesan.com>
18338
18339         * configure:
18340         regen
18341         [7e74e5c91049]
18342
18343         * configure.in:
18344         For NCR, add -lc89 to LIBS, not SUDO_LIBS and cache the existence of
18345         strcasecmp().
18346         [a418e9e70442]
18347
18348         * configure:
18349         regen
18350         [bbff244a52bc]
18351
18352         * configure.in:
18353         Check for strcasecmp(3) in -lc89 for NCR Unix
18354         [361c99576681]
18355
18356 2000-11-01  Todd C. Miller  <Todd.Miller@courtesan.com>
18357
18358         * config.h.in:
18359         Define HAVE_INNETGR #ifdef HAVE__INNETGR
18360         [473cdb92b6db]
18361
18362         * configure:
18363         regen
18364         [4e6364a195e0]
18365
18366         * compat.h, config.h.in, configure.in:
18367         Add check for _innetgr(3) since NCR systems have that instead of
18368         innetgr(3).
18369         [25e6852e7494]
18370
18371 2000-10-31  Todd C. Miller  <Todd.Miller@courtesan.com>
18372
18373         * auth/securid.c:
18374         check return value of creadcfg() call sd_close() after sd_auth()
18375         store username in sd->username so we don't rely on the USER env
18376         variable
18377         [d106b4f42722]
18378
18379 2000-10-30  Todd C. Miller  <Todd.Miller@courtesan.com>
18380
18381         * INSTALL:
18382         document --with-bsdauth
18383         [f1518ecc2ee9]
18384
18385         * configure:
18386         regen
18387         [dceb35071ea8]
18388
18389         * configure.in:
18390         --with-bsdauth assumes --with-logincap
18391         [4200778083fd]
18392
18393         * auth/bsdauth.c, auth/fwtk.c:
18394         When prompting for a response to a challenge, if the user just hits
18395         return then reprompt with echo turned on.
18396         [a539b6474a97]
18397
18398 2000-10-29  Todd C. Miller  <Todd.Miller@courtesan.com>
18399
18400         * sudo.c:
18401         Remove debugging code that should not have been committed, oops.
18402         [9862607b77a7]
18403
18404         * auth/bsdauth.c:
18405         Use lower-level routines and get the password ourselves. Checks for
18406         a challenge and if there is one echo is not turned off.
18407         [2d8fcd166baa]
18408
18409         * auth/pam.c, auth/sudo_auth.h:
18410         minor housekeeping, no real code changes
18411         [d0074a277fb4]
18412
18413 2000-10-27  Todd C. Miller  <Todd.Miller@courtesan.com>
18414
18415         * sudo.c:
18416         Fix a coredump in the logging functions if gethostname(2) fails by
18417         deferring the call to log_error() until things are better setup.
18418
18419         Fix return value of set_loginclass() in non-BSD-auth case.
18420
18421         Hard-code 'sudo' in the usage message so we can fit more options on
18422         a line
18423         [d9d1b7579818]
18424
18425         * logging.c:
18426         Fix errant ';' (typo) that broken MSG_ONLY
18427         [849b2276a470]
18428
18429 2000-10-26  Todd C. Miller  <Todd.Miller@courtesan.com>
18430
18431         * sudo.cat, sudo.man.in:
18432         regen
18433         [bb3c8c6704d1]
18434
18435         * sudo.pod:
18436         Document -a flag
18437         [e18316cebaac]
18438
18439         * Makefile.in, auth/bsdauth.c, auth/sudo_auth.h, config.h.in,
18440         configure, configure.in, getspwuid.c, sudo.c:
18441         Add support for BSD authentication.
18442         [f374cfd9ca0d]
18443
18444 2000-10-19  Todd C. Miller  <Todd.Miller@courtesan.com>
18445
18446         * sudoers.pod:
18447         Fix typo; from sato@complex.eng.hokudai.ac.jp
18448         [3085fee9766e]
18449
18450 2000-10-12  Todd C. Miller  <Todd.Miller@courtesan.com>
18451
18452         * sudoers.pod:
18453         Mention negating umask
18454         [c9e410294dae]
18455
18456         * defaults.c:
18457         Allow user to specify umask of 0777 (same as !umask)
18458         [bb771daa96fe]
18459
18460 2000-10-09  Todd C. Miller  <Todd.Miller@courtesan.com>
18461
18462         * sudo.pod, visudo.pod:
18463         Fix a typo and give a URL for the sudo history.
18464         [77f73199aedb]
18465
18466 2000-10-08  Todd C. Miller  <Todd.Miller@courtesan.com>
18467
18468         * defaults.c, sudo.pod:
18469         fix typos; pepper@reppep.com
18470         [5532c7421340]
18471
18472 2000-09-14  Todd C. Miller  <Todd.Miller@courtesan.com>
18473
18474         * sudo.c, sudo.h, sudo_setenv.c:
18475         sudo_setenv() now exits on memory alloc failure instead of returning
18476         -1.
18477         [71f1cf18f47b]
18478
18479 2000-09-07  Todd C. Miller  <Todd.Miller@courtesan.com>
18480
18481         * sudo.c:
18482         Strip out NLSPATH and PATH_LOCALE from the environment for FreeBSD
18483         and possibly others.
18484         [b69d985b0d22]
18485
18486         * logging.c:
18487         Don't use vsyslog(3) since HP-UX (and others?) lack it. This means
18488         that "%m" won't be expanded but we don't use that anyway since the
18489         logging routines may splat to stderr as well.
18490         [8d37a544d0c0]
18491
18492         * defaults.c, defaults.h, sudo.c, sudoers.cat, sudoers.man.in,
18493         sudoers.pod:
18494         Add always_set_home variable
18495         [dbcaff646e07]
18496
18497         * configure, configure.in:
18498         Have to hard code default values in help since the defaults are set
18499         _after_ the help stuff.
18500         [7b5d6d72f55c]
18501
18502 2000-08-31  Todd C. Miller  <Todd.Miller@courtesan.com>
18503
18504         * lex.yy.c, parse.lex:
18505         Allow special characters (including '#') to be embedded in pathnames
18506         if quoted by a '\\'. The quoted chars will be dealt with by
18507         fnmatch(). Unfortunately, 'sudo -l' still prints the '\\'.
18508         [3ed33cf09977]
18509
18510 2000-08-13  Todd C. Miller  <Todd.Miller@courtesan.com>
18511
18512         * install-sh:
18513         Better path searching for programs we need.
18514         [60517cb1f0d6]
18515
18516         * TROUBLESHOOTING:
18517         Add section on "C compiler cannot create executables" errors.
18518         [e4ada6eaee59]
18519
18520         * Makefile.binary, Makefile.in, version.h:
18521         Crank version
18522         [93d1bd5b7f5e]
18523
18524         * aclocal.m4, configure, configure.in, sudo.cat, sudo.man.in,
18525         sudo.pod, sudoers.cat, sudoers.man.in, sudoers.pod, visudo.cat,
18526         visudo.man.in, visudo.pod:
18527         Substitute values from configure into man pages.
18528         [619854c356c1]
18529
18530 2000-08-12  Todd C. Miller  <Todd.Miller@courtesan.com>
18531
18532         * parse.c, sudo.c:
18533         The listpw and verifypw sudoers options would not take effect
18534         because the value of the default was checked *before* sudoers was
18535         parsed. Instead of passing in the value of PWCHECK_* to
18536         sudoers_lookup(), pass in the arg for def_ival() so the check can be
18537         deferred until after sudoers is parsed.
18538         [4f596e358f72]
18539
18540 2000-08-11  Todd C. Miller  <Todd.Miller@courtesan.com>
18541
18542         * tgetpass.c:
18543         When writing prompt, no need to write the NUL as well;
18544         hag@linnaean.org
18545         [fbcdd7b431ee]
18546
18547 2000-06-09  Todd C. Miller  <Todd.Miller@courtesan.com>
18548
18549         * install-sh:
18550         When looking for chown, check in /sbin too
18551         [657ba6653f8c]
18552
18553 2000-06-05  Todd C. Miller  <Todd.Miller@courtesan.com>
18554
18555         * visudo.c:
18556         Remove extraneous call to init_defaults() and set runas_user to NULL
18557         betweem parses so init_defaults will reset it each time, thus
18558         avoiding a reference to free()d data.
18559         [7421fcd692af]
18560
18561 2000-06-04  Todd C. Miller  <Todd.Miller@courtesan.com>
18562
18563         * config.h.in, interfaces.c, interfaces.h, sudo.c:
18564         Add support for using getifaddrs() to get the list of ip addr /
18565         netmask pairs. Currently IPv4-only.
18566         [a35bc4f7306d]
18567
18568         * visudo.c:
18569         Add a missing check for UserEditor == NULL Add missing '+' before
18570         line number when invoking editor to fix a syntax error
18571         [f0d4635f6082]
18572
18573 2000-05-12  Todd C. Miller  <Todd.Miller@courtesan.com>
18574
18575         * sudo.c:
18576         Call clean_env very early in main() for paranoia's sake. Idea from
18577         Marc Esipovich.
18578         [f8d72ebd0115]
18579
18580 2000-05-10  Todd C. Miller  <Todd.Miller@courtesan.com>
18581
18582         * sudo.h:
18583         Update proto for evasprintf and easprintf
18584         [d147d6e58419]
18585
18586         * alloc.c:
18587         Make easprintf() and evasprintf() return an int.
18588         [b2ca5d089667]
18589
18590         * check.c:
18591         If the targetpw flag is set, use target username as part of the
18592         timestamp path. If tty tickets are in effect cat the tty and the
18593         target username with a ':' as the separator.
18594         [de11abc693c2]
18595
18596 2000-05-09  Todd C. Miller  <Todd.Miller@courtesan.com>
18597
18598         * auth/pam.c:
18599         Backout part of last change; setting PAM_USER to the invoking user
18600         breaks things like targetpw.
18601         [427218a7387f]
18602
18603         * auth/pam.c:
18604         set tty and username via pam_set_item
18605         [85d1922dbcc9]
18606
18607         * auth/sudo_auth.c, check.c, getspwuid.c, sudo.c, sudo.h:
18608         Fix root, runas, and target authentication for non-passwd file auth
18609         methods.
18610         [a14535e7b30c]
18611
18612 2000-04-22  Todd C. Miller  <Todd.Miller@courtesan.com>
18613
18614         * sudo.cat, sudo.man.in, sudo.pod, sudoers.cat, sudoers.man.in,
18615         sudoers.pod, visudo.cat, visudo.man.in, visudo.pod:
18616         Use B<-Z> not C<-Z> for command line flags in all places. This is
18617         more consistent and works around a bug in Pod::Man.
18618         [64b5a05f30c5]
18619
18620         * sudoers.cat, sudoers.man.in, sudoers.pod:
18621         Fix an occurence of 'semicolon' that should be 'colon'
18622         [4ea5aacae3fb]
18623
18624 2000-04-19  Todd C. Miller  <Todd.Miller@courtesan.com>
18625
18626         * configure, configure.in:
18627         Fix --with-badpri help line
18628         [3cc40977c043]
18629
18630 2000-04-17  Todd C. Miller  <Todd.Miller@courtesan.com>
18631
18632         * defaults.c, logging.c, sudo.c:
18633         Bracket calls to syslog with an openlog() and closelog() since some
18634         authentication methods (like PAM) may do their own logging via
18635         syslog. Since we don't use syslog much (usually just once per
18636         session) this doesn't really incur a performance penalty. It also
18637         Fixes a SEGV with pam_kafs.
18638         [fe1cc28529f6]
18639
18640 2000-04-15  Todd C. Miller  <Todd.Miller@courtesan.com>
18641
18642         * sudo.c:
18643         Fix -H flag. runas_homedir is only valid after
18644         set_perms(PERM_RUNAS, mode)
18645         [ce9b1c6f68a6]
18646
18647 2000-04-12  Todd C. Miller  <Todd.Miller@courtesan.com>
18648
18649         * INSTALL:
18650         Clarify the fact that insults are not enabled just by including them
18651         in the binary.
18652         [d5a31d48320c]
18653
18654 2000-04-07  Todd C. Miller  <Todd.Miller@courtesan.com>
18655
18656         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in, visudo.cat,
18657         visudo.man.in:
18658         Regenerated with perl 5.6.0 pod2man
18659         [21751433768b]
18660
18661         * Makefile.in:
18662         Give date string to pod2man since its default is ugly and it ain't
18663         got no alibi.
18664         [0080b2f6298f]
18665
18666         * Makefile.in:
18667         Do section substitution on the output of pod2man and remove hack
18668         needed for old pod2man.
18669         [1ef843d5c78b]
18670
18671         * sudo.pod, sudoers.pod, visudo.pod:
18672         Put back real man sections, we will do the substitution later.
18673         [f728c1abad7e]
18674
18675 2000-04-02  Todd C. Miller  <Todd.Miller@courtesan.com>
18676
18677         * configure, configure.in:
18678         Don't bother checking for the path to vi if user specified --with-
18679         editor
18680         [bf698487e0d5]
18681
18682 2000-04-01  Todd C. Miller  <Todd.Miller@courtesan.com>
18683
18684         * CHANGES, visudo.c:
18685         Visudo now does its own fork/exec instead of calling system(3).
18686         [99bbcd88863b]
18687
18688         * CHANGES, INSTALL, Makefile.in, sudoers.cat, sudoers.man.in,
18689         sudoers.pod, visudo.c:
18690         Visudo now checks for the existence of an editor and gives a
18691         sensible error if it does not exist.
18692
18693         The path to the editor for visudo is now a colon-separated list of
18694         allowable editors. If the user has $EDITOR set and it matches one
18695         of the allowed editors that editor will be used. If not, the first
18696         editor in the list that actually exists is used.
18697         [cc86eb9f5440]
18698
18699         * sudo.cat, sudo.man.in, sudo.pod:
18700         Clear up confusion wrt sudo's return value.
18701         [9385b12d8e79]
18702
18703 2000-03-27  Todd C. Miller  <Todd.Miller@courtesan.com>
18704
18705         * Makefile.in:
18706         Strip sudo and visudo for bindist target
18707         [a995ddd79177]
18708
18709         * sudo.cat, sudo.man.in, sudo.pod, sudoers.cat, sudoers.man.in,
18710         sudoers.pod, visudo.cat, visudo.man.in, visudo.pod:
18711         Use @mansectsu@ and @mansectform@ in the man page bodies as well.
18712         [5eb9e60a726f] [SUDO_1_6_3]
18713
18714         * visudo.cat, visudo.man.in, visudo.pod:
18715         Typo: @sysconf@ -> @sysconfdir@
18716         [f07f52fcd099]
18717
18718         * Makefile.in:
18719         'make dist' should not cause any files to be modified so remove its
18720         dependencies.
18721         [7f44a2666a9c]
18722
18723         * CHANGES:
18724         Whoops, forgot to add release marker
18725         [16c0f16b35b8]
18726
18727 2000-03-26  Todd C. Miller  <Todd.Miller@courtesan.com>
18728
18729         * CHANGES:
18730         Final change for 1.6.3 (or so I hope)
18731         [473c89da6123]
18732
18733         * sudo.cat, sudoers.cat, visudo.cat:
18734         Use SYSV man sections since BSD systems will have nroff...
18735         [0a6bd154324e]
18736
18737 2000-03-24  Todd C. Miller  <Todd.Miller@courtesan.com>
18738
18739         * parse.yacc, sudo.tab.c:
18740         When checking to see if the host/user matches in a defaults spec,
18741         check against TRUE, not just non-zero since it might be -1.
18742         [41f2b7ad3fdd]
18743
18744         * configure, configure.in:
18745         OSF/1 puts file formats in section 4, not 5.
18746         [d77c1301afa9]
18747
18748         * CHANGES, INSTALL, sudo.c:
18749         Make login class support work on BSD/OS
18750         [e9bbe3c08ade]
18751
18752         * RUNSON:
18753         Update for 1.6.3
18754         [c40ce1d76c4d]
18755
18756         * configure, configure.in:
18757         If there is no inet_addr but there *is* an __inet_addr that's ok
18758         since inet_addr is probably just a macro then. The better thing to
18759         do would be to look for the macro, but this is fine for now.
18760         [1b8865ae4d68]
18761
18762         * configure, configure.in:
18763         Don't use shlicc for BSD/OS 4.x
18764         [83fbf6dedd2c]
18765
18766         * Makefile.in, configure, configure.in:
18767         *.man lives in cwd, *.cat lives in $(srcdir), add a @mansrcdir@
18768         configure variable so we can deal with this. Also, only remove *.man
18769         for 'distclean' not 'clean'.
18770         [30d56e6de214]
18771
18772         * sudo.c:
18773         set_loginclass() should be static like the proto says
18774         [d570a2d55fb8]
18775
18776 2000-03-23  Todd C. Miller  <Todd.Miller@courtesan.com>
18777
18778         * fnmatch.c:
18779         Add #ifdef __STDC__ around the rangematch function header to avoid
18780         promotion of test to int, thus violating the prototype. Gcc handles
18781         this gracefully but more std ANSI compilers will complain.
18782         [7d98c3e332b2]
18783
18784         * emul/fnmatch.h:
18785         Pull in newer fnmatch(3) that supports FNM_CASEFOLD
18786         [4e1320852f8b]
18787
18788         * aclocal.m4, configure, fnmatch.3, fnmatch.c:
18789         Pull in newer fnmatch(3) that supports FNM_CASEFOLD Check for
18790         FNM_CASEFOLD in configure
18791         [9ef952bf1896]
18792
18793         * CHANGES, TODO:
18794         update for 1.6.3
18795         [e4ba6368a0c5]
18796
18797         * sudo.tab.c, sudo.tab.h, testsudoers.c, visudo.c:
18798         Fully qualified hosts w/ wildcards were not matching the FQHOST
18799         token type. There's really no need for a separate token for fully-
18800         qualified vs. unqualified anymore so FQHOST is now history and
18801         hostname_matches now decides which hostname (short or long) to check
18802         based on whether or not the pattern contains a '.'.
18803         [fbd2887d9811]
18804
18805         * parse.h:
18806         Fully qualified hosts w/ wildcards were not matching the FQHOST
18807         token type. There's really no need for a separate token for fully-
18808         qualified vs. unqualified anymore so FQHOST is now history and
18809         hostname_matches now decides which hostname (short or long) to check
18810         based on whether or not the pattern contains a '.'.
18811         [dd7bbe223461]
18812
18813         * lex.yy.c, parse.c, parse.lex, parse.yacc:
18814         Fully qualified hosts w/ wildcards were not matching the FQHOST
18815         token type. There's really no need for a separate token for fully-
18816         qualified vs. unqualified anymore so FQHOST is now history and
18817         hostname_matches now decides which hostname (short or long) to check
18818         based on whether or not the pattern contains a '.'.
18819         [630d9d205397]
18820
18821         * parse.c, parse.h, parse.yacc, sudo.tab.c, sudoers.cat,
18822         sudoers.man.in, sudoers.pod, testsudoers.c, visudo.c:
18823         Add support for wildcards in the hostname.
18824         [d8d821ed4238]
18825
18826         * Makefile.in:
18827         Add targets for *.man.in, using config.status to generate *.man from
18828         *.man.in
18829         [640e50ede485]
18830
18831         * sudoers.cat, sudoers.man.in, sudoers.pod:
18832         Document set_logname option and enbolden refs to sudo and visudo.
18833         [9622b3a48707]
18834
18835         * INSTALL, Makefile.in, aclocal.m4, configure, configure.in, sudo.cat,
18836         sudo.man.in, sudo.pod, sudoers.cat, sudoers.man.in, sudoers.pod,
18837         visudo.cat, visudo.man.in, visudo.pod:
18838         Add FreeBSD login.conf support (untested on BSD/OS) based on a patch
18839         from Michael D. Marchionna. configure now does substitution on the
18840         man pages, allowing us to fix up the paths and set the section
18841         correctly. Based on an idea from Michael D. Marchionna.
18842         [463e928a0a2f]
18843
18844         * auth/passwd.c:
18845         Better fix for handling HP-UX aging info.
18846         [3950f42d8549]
18847
18848         * sudo.c:
18849         Add support for set_logname run-time default
18850         [c6a7cc76b8b4]
18851
18852         * sudo.man.in, sudoers.man.in, visudo.man.in:
18853         configure does substitution on these to produce *.man
18854         [b83fc3c1bfc9]
18855
18856         * sudo.man, sudoers.man, visudo.man:
18857         These files now get generated from *.man.in at configure time.
18858         [c499061f79e0]
18859
18860 2000-03-22  Todd C. Miller  <Todd.Miller@courtesan.com>
18861
18862         * defaults.c, defaults.h:
18863         Add set_logname option so users can turn off setting of LOGNAME/USER
18864         environment variables.
18865         [6316869180b8]
18866
18867         * lsearch.c, parse.c, testsudoers.c:
18868         kill register
18869         [6e104e653748]
18870
18871 2000-03-13  Todd C. Miller  <Todd.Miller@courtesan.com>
18872
18873         * auth/passwd.c:
18874         HP-UX adds extra info at the end for password aging so when
18875         comparing the result of crypt to pw_passwd we only compare the first
18876         len(epass) bytes *unless* the user entered an empty string for a
18877         password.
18878         [3d24d4e4e889]
18879
18880         * logging.c:
18881         Get rid of grandchild hack, it was causing problems and there is
18882         really no need for it. This fixes a bug where we spin eating up CPU
18883         when the user runs a long-running process like a shell.
18884         [5743b10b1e81]
18885
18886 2000-03-07  Todd C. Miller  <Todd.Miller@courtesan.com>
18887
18888         * sudo.c:
18889         User can always specify a login class if he/she is already root.
18890         [710d160cef9f]
18891
18892         * config.h.in, configure, configure.in, defaults.c, defaults.h,
18893         sudo.c, sudo.h:
18894         FreeBSD login class (login.conf) support.
18895         [026b981d6328]
18896
18897 2000-03-06  Todd C. Miller  <Todd.Miller@courtesan.com>
18898
18899         * auth/sudo_auth.c:
18900         HAVE_SECUREWARE -> HAVE_GETPRPWNAM; fixes secureware support
18901         [9cd4929f1a78]
18902
18903 2000-03-03  Todd C. Miller  <Todd.Miller@courtesan.com>
18904
18905         * auth/passwd.c:
18906         Truncate unencrypted password to 8 chars if encrypted password is
18907         exactly 13 characters (indicateing standard a DES password). Many
18908         versions of crypt() do this for you, but not all (like HP-UX's).
18909         [a9d0259cb193]
18910
18911 2000-03-02  Todd C. Miller  <Todd.Miller@courtesan.com>
18912
18913         * INSTALL, RUNSON:
18914         Mention that gcc on dynix may have problems
18915         [77b97fa5bf1b]
18916
18917 2000-02-29  Todd C. Miller  <Todd.Miller@courtesan.com>
18918
18919         * Makefile.in:
18920         Link visudo with NET_LIBS since we now call syslog via defaults.c
18921         [9e3830b277cc]
18922
18923         * defaults.c:
18924         Use Argv[0] as the first arg to openlog() since visudo uses this
18925         too.
18926         [e61078f328ec]
18927
18928 2000-02-28  Todd C. Miller  <Todd.Miller@courtesan.com>
18929
18930         * sudo.c:
18931         Stash coredumpsize resource limit and retsore it before the exec()
18932         Otherwise the child ends up with a coredumpsize of 0.
18933         [f6a4783835a3]
18934
18935 2000-02-27  Todd C. Miller  <Todd.Miller@courtesan.com>
18936
18937         * sudo.cat, sudo.man, sudo.pod:
18938         document -S flag
18939         [3ebd805b7142]
18940
18941         * sudo.c:
18942         fix usage string
18943         [66b2dfa47fe8]
18944
18945         * CHANGES, RUNSON, TODO, auth/aix_auth.c, auth/fwtk.c, auth/pam.c,
18946         auth/sudo_auth.c, sudo.c, sudo.h, tgetpass.c:
18947         Added -S flag (read passwd from stdin) and tgetpass_flags global
18948         that holds flags to be passed in to tgetpass(). Change echo_off
18949         param to tgetpass() into a flags field. There are currently 2
18950         possible flags for tgetpass(): TGP_ECHO and TGP_STDIN. In
18951         tgetpass(), abstract the echo set/clear via macros and if (flags &
18952         TGP_ECHO) but echo is not set on the terminal, but sure to set it.
18953         [a4fcbb712cd0]
18954
18955         * tgetpass.c:
18956         Fixed a bug that caused an infinite loop when the password timeout
18957         was disabled.
18958         [2be1ffc5a39f]
18959
18960 2000-02-18  Todd C. Miller  <Todd.Miller@courtesan.com>
18961
18962         * CHANGES, defaults.c, defaults.h, getspwuid.c, sudo.c, sudo.h,
18963         sudoers.cat, sudoers.man, sudoers.pod, visudo.c:
18964         Add rootpw, runaspw, and targetpw options.
18965         [2d4563e46df7]
18966
18967         * CHANGES, defaults.c, sudoers.cat, sudoers.man, sudoers.pod,
18968         visudo.c:
18969         enveditor -> env_editor
18970         [ddc5f856e583]
18971
18972 2000-02-16  Todd C. Miller  <Todd.Miller@courtesan.com>
18973
18974         * BUGS, INSTALL, Makefile.in, README, configure, configure.in,
18975         sudo.cat, sudo.man, sudoers.cat, sudoers.man, version.h, visudo.cat,
18976         visudo.man:
18977         crank versino to 1.6.3
18978         [a5f7d3e74360]
18979
18980         * INSTALL, TODO, defaults.c, defaults.h, sudoers.cat, sudoers.man,
18981         sudoers.pod, visudo.c:
18982         Add 'editor' and 'enveditor' sudoers defaults and make visudo honor
18983         them. This means that visudo will now parse the sudoers file
18984         *before* it is edited so a bogus sudoers file will cause a warning
18985         to go to stderr. Also, visudo checks the variables once--it does not
18986         check them after each editor run since that could be confusing.
18987         [9f5af18e9212]
18988
18989 2000-02-15  Todd C. Miller  <Todd.Miller@courtesan.com>
18990
18991         * RUNSON:
18992         1.6.2 -> 1.6.2p1
18993         [e25b74f1d1af]
18994
18995         * check.c, sudo.c, sudo.h:
18996         Move user_is_exempt prototype into sudo.h
18997         [daf26a6ded8a]
18998
18999 2000-02-13  Todd C. Miller  <Todd.Miller@courtesan.com>
19000
19001         * configure, configure.in:
19002         Fix thinko, some && should have been || in the last commit
19003         [4b9b2d487ded]
19004
19005         * configure, configure.in:
19006         Don't initialized Makefile variables to be NULL since the user may
19007         want to import variables from their environment.
19008         [7be019f4422c]
19009
19010 2000-02-04  Todd C. Miller  <Todd.Miller@courtesan.com>
19011
19012         * configure, configure.in:
19013         typo
19014         [38f4d8971f0a]
19015
19016 2000-01-28  Todd C. Miller  <Todd.Miller@courtesan.com>
19017
19018         * sudo.tab.c:
19019         fix a yacc (skeleton.c) warning
19020         [a2da228a937b]
19021
19022 2000-01-27  Todd C. Miller  <Todd.Miller@courtesan.com>
19023
19024         * INSTALL, RUNSON, configure, configure.in:
19025         Make pam work on HP-UX 11.0;jaearick@colby.edu
19026         [b94de0ff6f42]
19027
19028         * CHANGES:
19029         recent changes; prepare for 1.6.2p1
19030         [b291635ea141]
19031
19032         * find_path.c:
19033         Don't apply SECURE_PATH if user is example; jmknoble@pobox.com
19034         [4306285c4f6e]
19035
19036 2000-01-26  Todd C. Miller  <Todd.Miller@courtesan.com>
19037
19038         * sudo.tab.c:
19039         Regen with yacc that has a memory leak plugged.
19040         [e26383a04eb7]
19041
19042         * sudoers.cat, sudoers.man, sudoers.pod:
19043         Expanded docs on sudoers 'defaults' options based on INSTALL file
19044         info.
19045         [54c3d62d6c74]
19046
19047         * INSTALL:
19048         Fix some while lies
19049         [d15311782150]
19050
19051 2000-01-24  Todd C. Miller  <Todd.Miller@courtesan.com>
19052
19053         * Makefile.in:
19054         When making a bindist, link FAQ to TROUBLESHOOTING instead of
19055         copying.
19056         [2d88a6ac88cf]
19057
19058         * sudoers.cat, sudoers.man, sudoers.pod:
19059         Add netgroup caveat
19060         [28d119f466e3] [SUDO_1_6_2]
19061
19062         * RUNSON:
19063         Last minute updates
19064         [89fb4ed22d52]
19065
19066         * TROUBLESHOOTING:
19067         PAM entry
19068         [a9fd59f39457]
19069
19070         * auth/pam.c:
19071         correct a comment
19072         [a29627225ba9]
19073
19074         * CHANGES, RUNSON:
19075         update for 1.6.2
19076         [b7f1c40ea732]
19077
19078         * auth/pam.c:
19079         Better detection of PAM errors and fix custom prompts with PAM.
19080         Based on patches from "Cloyce D. Spradling" <cloyce@headgear.org>
19081         [ff69234b94a5]
19082
19083 2000-01-20  Todd C. Miller  <Todd.Miller@courtesan.com>
19084
19085         * snprintf.c:
19086         Cast ULONG_MAX to unsigned long long when comparing to an unsigned
19087         long long value.
19088         [9d918c3a2ecd]
19089
19090 2000-01-19  Todd C. Miller  <Todd.Miller@courtesan.com>
19091
19092         * CHANGES, config.h.in, configure, configure.in, visudo.c:
19093         Fix sudoers locking in visudo. We now lock the sudoers file itself,
19094         not the temp file (since locking the temp file can foul up editors).
19095         The previous locking scheme didn't work because the fd was closed
19096         too early.
19097         [de2011bb11ed]
19098
19099         * config.h.in, configure, configure.in:
19100         Don't need test for ftruncate() any more.
19101         [e5f71c848104]
19102
19103         * configure, configure.in:
19104         Add a test for the -Aa flag w/ HP-UX's cc. Fixes compilation with
19105         the unbundled HP-UX cc.
19106         [2c373612c644]
19107
19108 2000-01-18  Todd C. Miller  <Todd.Miller@courtesan.com>
19109
19110         * sudoers.cat, sudoers.man, sudoers.pod:
19111         "a a" -> "a"; Aaron Campbell <aaron@cs.dal.ca>
19112         [05360d2c314e]
19113
19114 2000-01-17  Todd C. Miller  <Todd.Miller@courtesan.com>
19115
19116         * LICENSE, Makefile.in, defaults.c, defaults.h, parse.c, parse.h,
19117         parse.yacc, sudo.c, sudo.h, sudoers.pod, testsudoers.c, tgetpass.c,
19118         version.h, visudo.c:
19119         update copyright year on changed files
19120         [5792a2a28a4c]
19121
19122         * RUNSON:
19123         updates
19124         [edf8f19aa403]
19125
19126         * CHANGES:
19127         aix fix
19128         [4d4a243b31e2]
19129
19130         * INSTALL:
19131         Crank version to 1.6.2
19132         [bcb5cb411624]
19133
19134         * configure:
19135         Crank version to 1.6.2
19136         [32a19f33427f]
19137
19138         * sudo.c:
19139         When using rlimit check for RLIM_INFINITY When computing the value
19140         of maxfd, use min(getdtablesize(), RLIMIT_NOFILE)
19141         [8c16166802e5]
19142
19143         * CHANGES:
19144         recent changes
19145         [09fc7112e44d]
19146
19147         * BUGS, Makefile.in, README, configure.in, sudo.cat, sudo.man,
19148         sudoers.cat, sudoers.man, version.h, visudo.cat, visudo.man:
19149         Crank version to 1.6.2
19150         [055fa61a7c61]
19151
19152         * INSTALL, defaults.c, defaults.h, sudo.c, sudo.h, sudoers.pod:
19153         Add 'shell_noargs' runtime option back in. We have to defer
19154         checking until after the sudoers file has been parsed but since
19155         there are now other options that operate that way this one can too.
19156         Based on a patch from bguillory@email.com.
19157         [231db7a007a6]
19158
19159         * defaults.c, defaults.h, parse.c, sudo.c, sudo.h:
19160         Add "listpw" and "verifypw" options.
19161         [190683bac878]
19162
19163         * sudoers.cat, sudoers.man, sudoers.pod:
19164         o Fix some typos/omissions o Add section on verifypw and listpw o
19165         Define how NOPASSWD interacts with the -v and -l flags
19166         [6feb7350eb79]
19167
19168 2000-01-14  Todd C. Miller  <Todd.Miller@courtesan.com>
19169
19170         * configure, configure.in:
19171         For HP-UX cc, add -Aa to CPPFLAGS. For HP-UX always add
19172         -D_HPUX_SOURCE to CPPFLAGS.
19173         [06cc35d89dc8]
19174
19175         * defaults.c, defaults.h:
19176         In struct sudo_defs_types, move the union to the end and don't
19177         initialize the union member since that only works with an ANSI
19178         compiler. We set the value of the union by hand in init_defaults()
19179         anyway. This allows sudo to compile on a K&R compiler again.
19180         [623487e1fcfa]
19181
19182 2000-01-11  Todd C. Miller  <Todd.Miller@courtesan.com>
19183
19184         * parse.c, parse.h, parse.yacc, sudo.tab.c, testsudoers.c, visudo.c:
19185         netgr_matches needs to check shost as well as host since they may be
19186         different.
19187         [3f43ace23d3e]
19188
19189         * tgetpass.c:
19190         End on \r as well as \n
19191         [cb7c6e6f4202]
19192
19193 2000-01-03  Todd C. Miller  <Todd.Miller@courtesan.com>
19194
19195         * sudo.c:
19196         Update statbuf.st_mode based on SUDOERS_MODE when we are chaning
19197         from 0400 to whatever SUDOERS_MODE is (converting from the old
19198         sudoers mode). Assumes that SUDOERS_MODE is less restrictive than
19199         0400 which should always be the case.
19200         [34cd83d49d20]
19201
19202         * parse.c, parse.yacc, sudo.c, sudo.h, sudo.tab.c:
19203         Make treatment of -l and -v sane wrt NOPASSWD flags. Now allow -l
19204         w/o a passwd if there is *any* entry for the user on the host with a
19205         NOPASSWD flag. For -v, only allow w/o a passwd if *all* entries for
19206         the user on the host w/ the specified runas user have the NOPASSWD
19207         flag set.
19208         [4b3b85697653]
19209
19210         * Makefile.in:
19211         add check target
19212         [3d24d34a76fd]
19213
19214 1999-12-16  Todd C. Miller  <Todd.Miller@courtesan.com>
19215
19216         * visudo.c:
19217         Treat EOF at whatnow prompt like 'x' instead of looping.
19218         [5deffc27114c]
19219
19220 1999-12-10  Todd C. Miller  <Todd.Miller@courtesan.com>
19221
19222         * CHANGES:
19223         recent changes
19224         [5836a9452568] [SUDO_1_6_1]
19225
19226 1999-12-09  Todd C. Miller  <Todd.Miller@courtesan.com>
19227
19228         * config.h.in, configure, configure.in, sudo.c:
19229         Add check for initgroups() since old SYSV lacks this.
19230         [657a6005a569]
19231
19232         * CHANGES, RUNSON, aclocal.m4, config.h.in, configure, configure.in,
19233         parse.c, testsudoers.c:
19234         o Kill HAVE_FNMATCH_H o Only define HAVE_FNMATCH if <fnmatch.h>
19235         exists.
19236         [17d081e917d6]
19237
19238 1999-12-06  Todd C. Miller  <Todd.Miller@courtesan.com>
19239
19240         * auth/sudo_auth.c:
19241         Don't allow insults to be enabled if the insults[] array is empty.
19242         Otherwise there would be division by zero.
19243         [b20c14db6029]
19244
19245         * insults.h:
19246         Don't allow insults to be enabled if the insults[] array is empty.
19247         Otherwise there would be division by zero.
19248         [028f130204b0]
19249
19250         * CHANGES, RUNSON:
19251         Don't allow insults to be enabled if the insults[] array is empty.
19252         Otherwise there would be division by zero.
19253         [974f4780254b]
19254
19255         * insults.h:
19256         Don't care about USE_INSULTS #define since the insult stuff may be
19257         overridden at runtime.
19258         [b873df8b299c]
19259
19260         * auth/sudo_auth.c:
19261         Honor insults flag.
19262         [756111640fdc]
19263
19264         * CHANGES, parse.c:
19265         Don't ask the user for a password if the user is not allowed to run
19266         the command and the authenticate flag (in sudoers) is false.
19267         [cea9fdc09c76]
19268
19269         * CHANGES, RUNSON, lex.yy.c, parse.lex:
19270         o Whenever we get a bare newline we change to the INITIAL state. o
19271         Enter GOTRUNAS when we see Runas_Alias
19272
19273         This allows #uid to work in a RunasAlias.
19274         [a475513e7c7a]
19275
19276 1999-12-05  Todd C. Miller  <Todd.Miller@courtesan.com>
19277
19278         * CHANGES, parse.yacc, sudo.tab.c:
19279         fix parsing of runas lists: o oprunasuser and runaslist now return a
19280         value o in a runasspec, if a runaslist does not return TRUE, set
19281         runas_matches to FALSE. Normally, a runaslist only returns FALSE
19282         for explicitly denied users. o since runaslist does not modify the
19283         stack there is no need for a push/pop in runasalias.
19284         [82b305b34a8c]
19285
19286         * check.c, sudo.c:
19287         Don't kill the user's tickets until after sudoers has been parsed
19288         since tty_tickets and ticket_dir could be set in sudoers.
19289         [f43e25367f3a]
19290
19291         * BUGS, CHANGES, Makefile.binary, Makefile.in, README, RUNSON,
19292         configure, configure.in, sudo.cat, sudo.man, sudoers.cat,
19293         sudoers.man, tgetpass.c, version.h, visudo.cat, visudo.man:
19294         crank version to 1.6
19295         [95f8bdcf9bb2]
19296
19297         * testsudoers.c:
19298         add set_fqdn() stub
19299         [bbc81af5b41a]
19300
19301 1999-12-02  Todd C. Miller  <Todd.Miller@courtesan.com>
19302
19303         * INSTALL, defaults.c, defaults.h, sudo.c, sudo.h, sudoers.cat,
19304         sudoers.man, sudoers.pod, visudo.c:
19305         o Kill shell_noargs option, it cannot work since the command needs
19306         to be set before sudoers is parsed. o Fix the "set_home" sudoers
19307         option (only worked at compile time). o Fix "fqdn" sudoers option.
19308         We now set host/shost via set_fqdn which gets called when the
19309         "fqdn" option is set in sudoers. o Move the openlog() to
19310         store_syslogfac() so this gets overridden correctly from the
19311         sudoers file.
19312         [3dca861f0f5d]
19313
19314         * auth/securid.c:
19315         SecurID support should compile now.
19316         [a544e5c6ea34]
19317
19318 1999-11-29  Todd C. Miller  <Todd.Miller@courtesan.com>
19319
19320         * sudo.cat, sudo.man, sudo.pod, sudoers.cat, sudoers.man, visudo.cat,
19321         visudo.man, visudo.pod:
19322         fix some syntactic goofs
19323         [b3451f0d5239]
19324
19325 1999-11-28  Todd C. Miller  <Todd.Miller@courtesan.com>
19326
19327         * Makefile.in, sudo.html, sudoers.html, visudo.html:
19328         No longer need the .html files as they are generated automatically
19329         on the web site.
19330         [1b4aa4204584]
19331
19332         * CHANGES, LICENSE:
19333         kill characters that made wml unhappy
19334         [b988fbc6da56]
19335
19336         * HISTORY:
19337         typo
19338         [a418963f7fce]
19339
19340 1999-11-25  Todd C. Miller  <Todd.Miller@courtesan.com>
19341
19342         * README:
19343         majordomo@cs.colorado.edu -> majordomo@courtesan.com
19344         [5d151e8ffd3b]
19345
19346         * Makefile.in, configure:
19347         Wrap script execution w/ /bin/sh for the benefit of ctm
19348         [3a9c4766b2c3]
19349
19350 1999-11-24  Todd C. Miller  <Todd.Miller@courtesan.com>
19351
19352         * sudo.c:
19353         Make the -s flag be exclusive too. Also reorder the flags in the
19354         exclusive usage message so they are alphabetical.
19355         [4c7af200db34]
19356
19357 1999-11-23  Todd C. Miller  <Todd.Miller@courtesan.com>
19358
19359         * auth/pam.c:
19360         make pam errors other than PAM_PERM_DENIED fatal
19361         [64bcb3fd2baf]
19362
19363         * auth/API:
19364         fix typo
19365         [f3134c88b12e]
19366
19367         * INSTALL:
19368         make it clear that /etc/pam.d/sudo is required on linux
19369         [213cc3eaad82]
19370
19371         * auth/pam.c:
19372         fix a warning on redhat and spew an error if pam_authenticate()
19373         returns an error other than AUTH_SUCCESS or PAM_PERM_DENIED
19374         [7e46dd19da89]
19375
19376         * sudo.cat, sudo.html, sudo.man, sudo.pod:
19377         Be very clear that the password required is the user's not root's
19378         [a6da127347e5]
19379
19380 1999-11-20  Todd C. Miller  <Todd.Miller@courtesan.com>
19381
19382         * Makefile.in:
19383         add sample.syslog.conf to DISTFILES and BINFILES
19384         [8661c27c007e]
19385
19386 1999-11-19  Todd C. Miller  <Todd.Miller@courtesan.com>
19387
19388         * RUNSON:
19389         updates from Brian Jackson + some formatting
19390         [6d31c6fa63f8]
19391
19392 1999-11-18  Todd C. Miller  <Todd.Miller@courtesan.com>
19393
19394         * INSTALL.binary, Makefile.binary, README, RUNSON:
19395         o One RUNSon update o Changes for automating real binary releases
19396         [dd9585f4406c]
19397
19398         * Makefile.in:
19399         Add bindist target
19400         [546ed3fa94bb]
19401
19402 1999-11-16  Todd C. Miller  <Todd.Miller@courtesan.com>
19403
19404         * TROUBLESHOOTING:
19405         talk about run-time options in addition to compile-time options
19406         [1eb813ff0a9a] [SUDO_1_6_0]
19407
19408         * CHANGES:
19409         fix typos
19410         [65e92bb70a7b]
19411
19412         * sudo.c:
19413         need sys/time.h if HAVE_SETRLIMIT
19414         [ce31655a8a60]
19415
19416         * PORTING, README, RUNSON, sudo.c, sudo.cat, sudo.html, sudo.man,
19417         sudo.pod, visudo.cat, visudo.html, visudo.man, visudo.pod:
19418         get rid of references to sudo-bugs. Now mention the web site or the
19419         sudo@ alias
19420         [a9db861fd8c6]
19421
19422         * sudoers.html:
19423         repair pod2html damage
19424         [62ece4277f1f]
19425
19426         * RUNSON, TODO:
19427         Update for 1.6 release
19428         [98569c57ba2a]
19429
19430         * sudoers.cat, sudoers.html, sudoers.man, sudoers.pod:
19431         Add warning about using ALL in a command context.
19432         [6c77685ab280]
19433
19434 1999-11-09  Todd C. Miller  <Todd.Miller@courtesan.com>
19435
19436         * visudo.c:
19437         Call yyrestart() on a parse error to reset the lexer state.
19438         [1370a27acdb2]
19439
19440         * lex.yy.c, parse.lex:
19441         Don't need YY_FLUSH_BUFFER after all Move yyrestart() into visudo.c
19442         since it might not get called in yywrap if we get a parse error
19443         (and we only reread the file on error anyway).
19444         [37f4b449e28e]
19445
19446         * lex.yy.c, parse.lex:
19447         Call YY_FLUSH_BUFFER macro in yywrap() to clean up any buffers that
19448         might still exist. Call yyrestart() instead of using the deprecated
19449         YY_NEW_FILE macro.
19450         [7d0d873046c6]
19451
19452         * lex.yy.c, parse.lex:
19453         flex doesn't need %N table size declarations
19454         [268b020fd60a]
19455
19456         * sudoers.cat, sudoers.html, sudoers.man, sudoers.pod:
19457         Mention what characters need to be escaped in names.
19458         [72ccbb6b0f31]
19459
19460 1999-11-08  Todd C. Miller  <Todd.Miller@courtesan.com>
19461
19462         * configure:
19463         regen
19464         [65827abb5c7b]
19465
19466         * INSTALL:
19467         clarify Mac OS X entry
19468         [8da1549a71f5]
19469
19470         * RUNSON:
19471         update
19472         [0cff8df7459f]
19473
19474         * configure.in:
19475         o Use AC_MSG_ERROR throughout o Check syslog configure options for
19476         danity
19477         [4cb81e642e5c]
19478
19479 1999-11-05  Todd C. Miller  <Todd.Miller@courtesan.com>
19480
19481         * defaults.c:
19482         Fix printing of type T_MODE in dump_defaults()
19483         [a868bb6f5515]
19484
19485         * strcasecmp.c:
19486         missing sys/types.h
19487         [ca694ca325b6]
19488
19489         * INSTALL:
19490         Break out options that may be overridden at run time into their own
19491         section. Add a not about Max OS X and correct some lies.
19492         [d8bcfd120593]
19493
19494 1999-11-04  Todd C. Miller  <Todd.Miller@courtesan.com>
19495
19496         * CHANGES, config.h.in, configure, configure.in, sudo.c:
19497         o Now use getrlimit to find the highest fd when closing all non-std
19498         fd's o Turn off core dumps via setrlimit for the sake of paranoia
19499         [dd9f651b6def]
19500
19501         * RUNSON:
19502         updates
19503         [f581841fe615]
19504
19505 1999-11-01  Todd C. Miller  <Todd.Miller@courtesan.com>
19506
19507         * CHANGES:
19508         updates
19509         [553baa1d44c7]
19510
19511         * tgetpass.c:
19512         When read()'ing, do a single character at a time to be sure we don't
19513         go oast the newline.
19514         [907d33f55bb4]
19515
19516         * sudo.c:
19517         For the sudo_root option, check against user_uid, not getuid() since
19518         at this point, ruid == euid == 0.
19519         [92d5c51939b4]
19520
19521         * RUNSON:
19522         some updates
19523         [e3ed0c1f312b]
19524
19525         * logging.h:
19526         Fix compilation problem when --with-logging=file was specified.
19527         This means that syslog is now required to build sudo but that should
19528         not be a problem. If it is it can be fixed trivially with a
19529         configure check for syslog() or syslog.h.
19530         [839a4b069190]
19531
19532         * tgetpass.c:
19533         Make this work again for things like "sudo echo hi | more" where the
19534         tty gets put into character at a time mode. We read until we read
19535         end of line or we run out of space (similar to fgets(3)).
19536         [c8f746df2e63]
19537
19538 1999-10-20  Todd C. Miller  <Todd.Miller@courtesan.com>
19539
19540         * sudoers.cat, sudoers.html, sudoers.man, sudoers.pod:
19541         change ital to bold
19542         [f860978e530a]
19543
19544         * RUNSON:
19545         update
19546         [9bcfbb405568]
19547
19548 1999-10-16  Todd C. Miller  <Todd.Miller@courtesan.com>
19549
19550         * defaults.c:
19551         Error out if syslog parameters are given without a value. For
19552         Ultrix or 4.2BSD "syslog" is allowed without a value since there are
19553         no facilities in the 4.2BSD syslog.
19554         [69e7a686f5f0]
19555
19556 1999-10-15  Todd C. Miller  <Todd.Miller@courtesan.com>
19557
19558         * defaults.c:
19559         Ignore the syslog facility for systems w/ old syslog like Ultrix.
19560         [5c250adbbb84]
19561
19562         * TROUBLESHOOTING:
19563         people with "." early in their path can have problems running sudo
19564         from the build dir ;-)
19565         [20a1744a24a4]
19566
19567 1999-10-13  Todd C. Miller  <Todd.Miller@courtesan.com>
19568
19569         * sudo.cat, sudo.html, sudo.man, sudo.pod:
19570         Remove -r realm option
19571         [127caa537f95]
19572
19573         * auth/kerb5.c, auth/sudo_auth.c, auth/sudo_auth.h, configure,
19574         configure.in, sudo.c:
19575         New krb5 code from Frank Cusack <fcusack@iconnet.net>.
19576         [7177a3893a62]
19577
19578         * CHANGES:
19579         update to reality
19580         [766cfbb512d6]
19581
19582 1999-10-12  Todd C. Miller  <Todd.Miller@courtesan.com>
19583
19584         * auth/fwtk.c:
19585         include <auth.h> to get function prototypes.
19586         [d6c7c12d09fe]
19587
19588         * sudo.cat, sudo.html, sudo.man, sudo.pod:
19589         document -L flag
19590         [dc803e1ce0d7]
19591
19592 1999-10-11  Todd C. Miller  <Todd.Miller@courtesan.com>
19593
19594         * sudo.c:
19595         in set_perms(), always call setuid(0) before changing the ruid/euid
19596         so we always know it will succeed.
19597         [8cced1b862bf]
19598
19599         * defaults.h:
19600         #undef T_FOO to avoid conflicts with system defines (like on
19601         ULTRIX).
19602         [d9f0aac092b0]
19603
19604         * TODO, sample.sudoers, sudoers.cat, sudoers.html, sudoers.man,
19605         sudoers.pod:
19606         Docuement "Defaults" lines in /etc/sudoers. Still needs some
19607         fleshing out but this is a start.
19608         [521a1e629bbc]
19609
19610 1999-10-10  Todd C. Miller  <Todd.Miller@courtesan.com>
19611
19612         * use strtol, not strtoul since not everyone has not strtoul
19613         [988462f093cc]
19614
19615         * defaults.c:
19616         use strtol, not strtoul since not everyone has not strtoul
19617         [fce835ce62e3]
19618
19619         * lex.yy.c, parse.lex:
19620         last {WORD} rule should only apply in the INITIAL state
19621         [9b57570bfa83]
19622
19623         * lex.yy.c, parse.lex:
19624         o Add support for escaped characters in the WORD macro o Modify
19625         fill() to squash escape chars
19626         [87572d59e4e0]
19627
19628         * defaults.c, defaults.h:
19629         o Add T_PATH flag to allow simple sanity checks for default values
19630         that are supposed to be pathnames. o Fix a duplicate free when
19631         visudo finds an error.
19632         [bdc6855a6c6d]
19633
19634 1999-10-09  Todd C. Miller  <Todd.Miller@courtesan.com>
19635
19636         * defaults.c, defaults.h, logging.c:
19637         mail_if_foo -> mail_foo
19638         [cbee9415875d]
19639
19640 1999-10-08  Todd C. Miller  <Todd.Miller@courtesan.com>
19641
19642         * compat.h, defaults.c, defaults.h, sudo.c, tgetpass.c:
19643         o Add requiretty option o Move O_NOCTTY to compat.h
19644         [65b8bf0e1795]
19645
19646         * logging.c:
19647         The exit() in log_error() was mistakenly removed in a previous
19648         version. Put it back...
19649         [9473449130a4]
19650
19651 1999-10-07  Todd C. Miller  <Todd.Miller@courtesan.com>
19652
19653         * INSTALL, TODO, auth/aix_auth.c, auth/fwtk.c, auth/pam.c,
19654         auth/rfc1938.c, auth/sia.c, auth/sudo_auth.c, check.c, config.h.in,
19655         configure, configure.in, defaults.c, defaults.h, find_path.c,
19656         getspwuid.c, logging.c, parse.yacc, sudo.c, sudo.tab.c:
19657         o Change defaults stuff to put the value right in the struct. o
19658         Implement mailer_flags o Store syslog stuff both in int and string
19659         form. Setting the string form magically updates the int version.
19660         o Add boolean attribute to strings where it makes sense to say !foo
19661         [4698953f9a36]
19662
19663         * tgetpass.c:
19664         add O_NOCTTY when opening /dev/tty just in case
19665         [4c6d1d1bb300]
19666
19667 1999-10-06  Todd C. Miller  <Todd.Miller@courtesan.com>
19668
19669         * auth/API:
19670         cleanup function no longer takes a status arg
19671         [0819edbfe7f8]
19672
19673         * INSTALL:
19674         the the
19675         [19aadb65ea28]
19676
19677 1999-09-15  Todd C. Miller  <Todd.Miller@courtesan.com>
19678
19679         * TODO, config.h.in, configure, configure.in, logging.c:
19680         Use strftime() instead of ctime() if it is available.
19681         [fb60ea63b514]
19682
19683 1999-09-14  Todd C. Miller  <Todd.Miller@courtesan.com>
19684
19685         * defaults.c:
19686         fix copyright date
19687         [4a53b54aa72f]
19688
19689         * RUNSON:
19690         update ReliantUNIX entry
19691         [de618a4f67d9]
19692
19693         * defaults.c, defaults.h, logging.c:
19694         add log_year option
19695         [251a9e20568a]
19696
19697         * configure, configure.in:
19698         add --without-sendmail to help output
19699         [93162f199902]
19700
19701         * configure, configure.in:
19702         enforce an otctal arg for --with-suoders-mode
19703         [45e1b04ccad3]
19704
19705 1999-09-08  Todd C. Miller  <Todd.Miller@courtesan.com>
19706
19707         * BUGS, INSTALL, Makefile.in, TODO, aclocal.m4, auth/aix_auth.c,
19708         auth/fwtk.c, auth/kerb5.c, auth/pam.c, auth/rfc1938.c, auth/sia.c,
19709         auth/sudo_auth.c, check.c, config.h.in, configure, configure.in,
19710         defaults.c, defaults.h, find_path.c, lex.yy.c, logging.c, parse.h,
19711         parse.lex, parse.yacc, sudo.c, sudo.h, sudo.tab.c, sudo.tab.h,
19712         testsudoers.c, version.c, visudo.c:
19713         Add support for "Defaults" line in sudoers to make configuration
19714         variables changable at runtime (and on a global, per-host and per-
19715         user basis). Both the names and the internal representation are
19716         still subject to change. It was necessary to make sudo_user.runas
19717         but a char ** instead of a char * since this value can be changed by
19718         a Defaults line. There is a similar (but more complicated) issue
19719         with sudo_user.prompt but it is handled differently at the moment.
19720
19721         Add a "-L" flag to list the name of options with their descriptions.
19722         This may only be temporary.
19723
19724         Move some prototypes to parse.h
19725
19726         Be much less restrictive on what is allowed for a username.
19727         [f71abf7ba80c]
19728
19729         * sample.syslog.conf:
19730         Add more info
19731         [e952e6f42d4d]
19732
19733 1999-09-04  Todd C. Miller  <Todd.Miller@courtesan.com>
19734
19735         * LICENSE, fnmatch.3, fnmatch.c, getcwd.c, lsearch.c, snprintf.c,
19736         strcasecmp.c:
19737         UCB has dropped the advertising clause from their license.
19738         [a5602b36a341]
19739
19740 1999-08-31  Todd C. Miller  <Todd.Miller@courtesan.com>
19741
19742         * auth/sudo_auth.h:
19743         move dce_verofy proto to correct section
19744         [972c815af558]
19745
19746         * auth/dce.c:
19747         remove XXX
19748         [820631855be0]
19749
19750 1999-08-28  Todd C. Miller  <Todd.Miller@courtesan.com>
19751
19752         * emul/fnmatch.h:
19753         Add fnmatch() prototype
19754         [79e84576d92a]
19755
19756         * fnmatch.c, parse.c, testsudoers.c:
19757         Move inclusion of emul/fnmatch.h to be after sudo.h for __P
19758         [1182c89fa811]
19759
19760         * sudo.h:
19761         add strcasecmp proto
19762         [512d1d8a6a0c]
19763
19764         * auth/sudo_auth.c:
19765         add check for case where there are no auth methods
19766         [e4af2b91b43e]
19767
19768         * configure, configure.in:
19769         Define _XOPEN_EXTENDED_SOURCE on AIX and __USE_FIXED_PROTOTYPES__ on
19770         SunOS4 w/ gcc
19771         [746ce8bcec23]
19772
19773         * getspwuid.c, lex.yy.c, parse.lex, parse.yacc, sudo.tab.c:
19774         include strings.h everywhere we include string.h
19775         [6f7d5d437e7b]
19776
19777         * version.c:
19778         nicer output when showing auth methods
19779         [0eac4b977f9d]
19780
19781         * version.c:
19782         Add support for SEND_MAIL_WHEN_NO_HOST
19783         [9f20a3a3fae6]
19784
19785         * config.h.in, configure, configure.in:
19786         Add _GNU_SOURCE for Linux
19787         [c7bd8c511847]
19788
19789         * lex.yy.c, parse.lex:
19790         fix definition of OCTECT
19791         [4af30e63244d]
19792
19793         * configure, configure.in:
19794         aix_auth.o not authenticate.o
19795         [fe95dfb08df4]
19796
19797 1999-08-27  Todd C. Miller  <Todd.Miller@courtesan.com>
19798
19799         * sudo.c:
19800         Only block SIGINT, SIGQUIT, SIGTSTP (which can be generated from the
19801         keyboard). Since we run with ruid/euid == 0 the user can't really
19802         signal us in nasty ways.
19803         [a7f6487c0f48]
19804
19805         * visudo.c:
19806         Don't need to worry about catching too many signals since we do
19807         locking on the tmp file. If a lockfile is really stale, it will be
19808         detected and overwritten.
19809         [28983db3e749]
19810
19811         * INSTALL, Makefile.in:
19812         include auth/API in tarball
19813         [014991600252]
19814
19815         * auth/sudo_auth.c:
19816         move memset() of plaintext pw outside of verify loop and only do the
19817         memset if we are *not* in standalone mode.
19818         [66f8e87567e2]
19819
19820         * auth/sudo_auth.c, auth/sudo_auth.h:
19821         DCE is not a standalone method
19822         [34963e2d8a1b]
19823
19824         * sudo.c:
19825         fix --enable-noargs-shell
19826         [4234062abbb0]
19827
19828         * snprintf.c:
19829         "#ifdef __STDC__" not "#if __STDC__" (I missed one)
19830         [c430b80454c6]
19831
19832         * auth/fwtk.c, auth/sia.c:
19833         _cleanup() function returns an int.
19834         [d1a1cc071ec1]
19835
19836         * auth/dce.c:
19837         there were still some return(0)'s hanging around, make them
19838         AUTH_FAILURE
19839         [1002aa1962c3]
19840
19841         * parse.c:
19842         typo in comment
19843         [5abc410dbfd2]
19844
19845         * version.c:
19846         add missing semicolon
19847         [a262283b52a5]
19848
19849         * auth/sudo_auth.h:
19850         missing backslash
19851         [bf89f6bd2900]
19852
19853 1999-08-26  Todd C. Miller  <Todd.Miller@courtesan.com>
19854
19855         * CHANGES, config.h.in, configure, configure.in:
19856         Kill _XOPEN_EXTENDED_SOURCE -- causes problems on some OSes
19857         [f1a9bca0cf67]
19858
19859         * Makefile.in:
19860         add parse.h to HDRS
19861         [a3d054987766]
19862
19863         * Makefile.in, configure, configure.in:
19864         Kill VISUDO_LIBS and VISUDO_LDFLAGS. Add LIBS, NET_LIBS, and
19865         LDFLAGS. Common libs go in LIBS, commong ld flags go in LDFLAGS and
19866         network libs like -lsocket, -lnsl go in NET_LIBS. This allows
19867         testsudoers to build on Solaris and is a bit cleaner in general.
19868         [4e6239e97002]
19869
19870         * UPGRADE:
19871         mention ptmp -> sudoers.tmp
19872         [ec3baa0fe8a1]
19873
19874         * config.h.in, configure, configure.in:
19875         Define _XOPEN_SOURCE_EXTENDED not _XOPEN_SOURCE
19876         [6f93dc7f39f5]
19877
19878         * RUNSON:
19879         add 2 reports
19880         [ce0fcc00ee4e]
19881
19882         * auth/kerb5.c:
19883         Minor changes, mostly cosmetic. verify_krb_v5_tgt() changed to
19884         return a value more like a system function
19885         [0dd56aa21424]
19886
19887         * auth/dce.c:
19888         Add an XXX
19889         [58fc8562c212]
19890
19891         * TODO:
19892         more things todo!
19893         [5a459d0cf339]
19894
19895         * sample.sudoers:
19896         update based on what is in the man page
19897         [1a0477db96fa]
19898
19899         * parse.yacc, sudo.tab.c:
19900         minor change to first line printed in -l mode
19901         [69eb57d96952]
19902
19903         * sudo.cat, sudo.html, sudo.man, sudo.pod:
19904         rename "ENVIRONMENT VARIABLES" section to "ENVIRONMENT" to be more
19905         standard and add "EXAMPLES" section
19906         [7e543335ebe1]
19907
19908         * visudo.cat, visudo.html, visudo.man, visudo.pod:
19909         rename "ENVIRONMENT VARIABLES" section to "ENVIRONMENT" to be more
19910         standard
19911         [f82d87ed65c2]
19912
19913         * logging.c, parse.c, sudo.h:
19914         add FLAG_NO_CHECK
19915         [c7d69176a2d7]
19916
19917         * lex.yy.c, parse.lex:
19918         make an OCTET really be limited to 0-255
19919         [6ee568dd6a02]
19920
19921         * UPGRADE:
19922         mention timestamp changes
19923         [e44d5302bf60]
19924
19925         * PORTING:
19926         cosmetic cleanup
19927         [36fa3a2664dd]
19928
19929         * sudoers.cat, sudoers.html, sudoers.man, sudoers.pod:
19930         new sudoers(8) man page
19931         [e674d06283d0]
19932
19933 1999-08-24  Todd C. Miller  <Todd.Miller@courtesan.com>
19934
19935         * version.c:
19936         Update comments about syslog name tables
19937         [63830a782dcb]
19938
19939         * CHANGES, LICENSE, Makefile.in, configure, configure.in, parse.yacc,
19940         strcasecmp.c, sudo.tab.c:
19941         include strcasecmp() for those without it
19942         [a0d8e2488bbc]
19943
19944         * sample.sudoers:
19945         Use the : operator some more and fix a typo
19946         [18804c70da86]
19947
19948         * HISTORY:
19949         update the history of sudo
19950         [9d9b3d5279b3]
19951
19952         * parse.c, parse.lex, testsudoers.c:
19953         CIDR-style netmask support
19954         [768644467353]
19955
19956         * CHANGES:
19957         recent changes
19958         [a4319e9d07cb]
19959
19960         * sudo.tab.c, sudo.tab.h:
19961         these should be generated with byacc, not bison
19962         [f57b9489b752]
19963
19964         * lex.yy.c:
19965         regen
19966         [522461f95dfa]
19967
19968         * parse.h, parse.yacc, sudo.tab.c, sudo.tab.h:
19969         In "sudo -l" mode, the type of the stored (expanded) alias was not
19970         stored with the contents. This could lead to incorrect output if
19971         the sudoers file had different alias types with the same name.
19972         Normal parsing (ie: not in '-l' mode) is unaffected.
19973         [823fe2bc4b79]
19974
19975 1999-08-23  Todd C. Miller  <Todd.Miller@courtesan.com>
19976
19977         * configure, configure.in:
19978         define _XOPEN_SOURCE to get at crypt() proto on some systems
19979         [1b3769b86fb9]
19980
19981 1999-08-22  Todd C. Miller  <Todd.Miller@courtesan.com>
19982
19983         * snprintf.c:
19984         fix comment
19985         [fc1264df00f7]
19986
19987         * tgetpass.c:
19988         don't need limits.h
19989         [f1631829af45]
19990
19991         * snprintf.c:
19992         kill bogus reference to vfprintf
19993         [a0b99b25d389]
19994
19995         * sample.sudoers, sudoers:
19996         better examples
19997         [b4d87ea64cc8]
19998
19999         * snprintf.c:
20000         Add some const in the K&R defs. This is safe since we define const
20001         away if the compiler doesn't grok it.
20002         [614d6e83d45e]
20003
20004         * aclocal.m4, configure:
20005         Better test for working long long support. Ultrix compiler supports
20006         basic long long but not all operations on them.
20007         [5da1508710ed]
20008
20009         * aclocal.m4, auth/secureware.c, config.h.in, configure, getspwuid.c,
20010         snprintf.c, sudo.c:
20011         Add check for LONG_IS_QUAD #undef MAXINT before including
20012         hpsecurity.h to silence an HP-UX warning Check for U?LONG_LONG_MAX
20013         in snprintf.c and use LONG_IS_QUAD
20014         [a1f7993367fc]
20015
20016 1999-08-21  Todd C. Miller  <Todd.Miller@courtesan.com>
20017
20018         * LICENSE, aclocal.m4, config.h.in, configure, configure.in,
20019         snprintf.c:
20020         UCB-derived snprintf + asprintf support. Supports quads if the
20021         compiler does. No floating point yet, perhaps later...
20022         [0caf05aba945]
20023
20024 1999-08-20  Todd C. Miller  <Todd.Miller@courtesan.com>
20025
20026         * auth/API, auth/sudo_auth.c, auth/sudo_auth.h, check.c, find_path.c,
20027         goodpath.c, logging.c, parse.c, sudo.c:
20028         Run most of the code as root, not the invoking user. It doesn't
20029         really gain us anything to run as the user since an attacker can
20030         just have an setuid(0) in their egg. Running as root solves
20031         potential problems wrt signalling.
20032         [408e530dda01]
20033
20034         * sudo.tab.c:
20035         regen
20036         [f8cfb37e37de]
20037
20038 1999-08-19  Todd C. Miller  <Todd.Miller@courtesan.com>
20039
20040         * logging.c, sudo.c:
20041         Don't wait for child to finish in log_error(), let the signal
20042         handler get it if we are still running, else let init reap it for
20043         us. The extra time it takes to wait lets the user know that mail is
20044         being sent.
20045
20046         Install SIGCHLD handler in main() and for POSIX signals, block
20047         everything
20048         *except* SIGCHLD.
20049         [d2b6ab0ef3be]
20050
20051         * INSTALL, config.h.in, configure, configure.in, logging.c, parse.c,
20052         parse.yacc, sudo.c, sudo.h:
20053         sudoers_lookup() now returns a bitmap instead of an int. This makes
20054         it possible to express things like "failed to validate because user
20055         not listed for this host". Some thigns that were previously
20056         VALIDATE_FOO are now FLAG_FOO. This may change later on.
20057
20058         Reorganized code in log_auth() and sudo.c to deal with above
20059         changes.
20060
20061         Safer versions of push/pushcp with in the do { ... } while (0) style
20062
20063         parse.yacc now saves info on the stack to allow parse.c to determine
20064         if a user was listed, but not for the host he/she tried to run on.
20065
20066         Added --with-mail-if-no-host option
20067         [63326cb01efc]
20068
20069 1999-08-17  Todd C. Miller  <Todd.Miller@courtesan.com>
20070
20071         * parse.yacc, sudo.h, sudo.tab.c, visudo.c, visudo.cat, visudo.html,
20072         visudo.man, visudo.pod:
20073         o NewArgv and NewArgc don't need to be externally visible. o If
20074         pedantic > 1, it is a parse error. o Add -s (strict) option to
20075         visudo which sets pedantic to 2.
20076         [5d7d81b55cd5]
20077
20078         * HISTORY, INSTALL:
20079         Just have sudo-bugs contact info in one place
20080         [e7f6588ea683]
20081
20082         * sudo.cat, sudo.html, sudo.man, sudo.pod:
20083         Add BUGS section
20084         [6607d96ea510]
20085
20086         * Makefile.in, configure, configure.in:
20087         Add testsudoers to default build target if --with-devel Don't clean
20088         generated parser files unless "distclean".
20089         [5827b769dc57]
20090
20091         * parse.yacc, sudo.tab.c:
20092         In pedantic mode we need to save *all* the aliases, not just those
20093         that match, or we get spurious warnings.
20094         [24f5b1f0e1de]
20095
20096         * TROUBLESHOOTING:
20097         reference samples.sylog.conf
20098         [11841668380a]
20099
20100 1999-08-14  Todd C. Miller  <Todd.Miller@courtesan.com>
20101
20102         * sample.syslog.conf:
20103         Sample entries for syslog.conf
20104         [0f7697d878a1]
20105
20106         * CHANGES:
20107         recent changes
20108         [8bca8810c6bd]
20109
20110         * auth/API, auth/afs.c, auth/aix_auth.c, auth/dce.c, auth/fwtk.c,
20111         auth/kerb4.c, auth/kerb5.c, auth/pam.c, auth/passwd.c,
20112         auth/rfc1938.c, auth/secureware.c, auth/securid.c, auth/sia.c,
20113         auth/sudo_auth.c, auth/sudo_auth.h:
20114         In struct sudo_auth, turn need_root and configured into flags and
20115         add a flag to specify an auth method is running alone (the only
20116         one). Pass auth methods their sudo_auth pointer, not the data
20117         pointer. This allows us to get at the flags and tell if we are the
20118         only auth method. That, in turn, allows the method to be able to
20119         decide what should/should not be a fatal error. Currently only
20120         rfc1938 uses it this way, which allows us to kill the OTP_ONLY
20121         define and te hackery that went with it. With access to the
20122         sudo_auth struct, methods can also get at a string holding their
20123         cannonical name (useful in error messages).
20124         [b7e320fc6511]
20125
20126         * INSTALL, Makefile.in, README, config.h.in, configure, configure.in,
20127         getspwuid.c, lex.yy.c, parse.lex, parse.yacc, sudo.tab.c,
20128         sudo.tab.h:
20129         o --with-otp deprecated, use --without-passwd instead o real
20130         dependencies in the Makefile o --with-devel option to enable yacc,
20131         lex, and -Wall o style -- "foo -> bar" becomes "foo->bar" o ALL goes
20132         back to being a token, not a string but don't leak memory o rename
20133         hsotspec -> host in parse.yacc
20134         [912c45226cb2]
20135
20136 1999-08-12  Todd C. Miller  <Todd.Miller@courtesan.com>
20137
20138         * BUGS, CHANGES:
20139         recent changes
20140         [801fa6e55687]
20141
20142         * auth/sudo_auth.c, configure, configure.in, interfaces.c, snprintf.c,
20143         sudo.c, sudo.h:
20144         o Digital UNIX needs to check for *snprintf() before -ldb is added
20145         to LIBS since -ldb includes a bogus snprintf(). o Add forward refs
20146         for struct mbuf and struct rtentry for Digital UNIX. o Reorder some
20147         functions in snprintf.c to fix -Wall o Add missing includes to fix
20148         more -Wall
20149         [8d207203e126]
20150
20151         * INSTALL, auth/sudo_auth.c, check.c, config.h.in, configure,
20152         configure.in, parse.yacc, sudo.tab.c, testsudoers.c, version.c,
20153         visudo.c:
20154         o Add a "pedentic" flag to the parser. This makes sudo warn in
20155         cases where an alias may be used before it is defined. Only turned
20156         on for visudo and testsudoers. o Add --disable-authentication option
20157         that makes sudo not require authentication by default. The PASSWD
20158         tag can be used to require authentication for an entry. We no
20159         longer overload --without-passwd.
20160         [f307e09adf98]
20161
20162         * lex.yy.c, parse.lex:
20163         Break 'WORD' regexp def into HOSTNAME and USERNAME. These days a
20164         username can contain just about anything so be very permissive. Also
20165         drop the unused \. punctuation.
20166         [06a50614ff89]
20167
20168 1999-08-09  Todd C. Miller  <Todd.Miller@courtesan.com>
20169
20170         * parse.yacc, sudo.tab.c:
20171         o add a 'val' element to aliasinfo struct and move -> parse.h o
20172         find_alias() now returns an aliasinfo * instead of boolean o
20173         add_alias() now takes a value parameter to store in the
20174         aliasinfo.val o The cmnd, hostspec, runasuser, and user rules now
20175         return: 1) positive match 0) negative match (due to '!')
20176         -1) no match This means setting $$ explicitly in all cases, which I
20177         should have done in the first place. It also means that we always
20178         store a value that is != -1 and when we see a '!' we can set
20179         *_matches to !rv if rv != -1. The upshot of all of this is that '!'
20180         now works the way it should in lists and some of the rules are more
20181         uniform and sensible.
20182         [ad8e73b5d581]
20183
20184         * Makefile.in:
20185         add parse.h dependency
20186         [4ccccd464d30]
20187
20188         * parse.h:
20189         kill unused *_matched macros
20190         [02cba6dcb732]
20191
20192         * parse.yacc:
20193         Allow a list of users as the first thing in a user spec, not just a
20194         single entry. This makes things more uniform, though it does allow
20195         you to write user specs that are hard to read.
20196         [3c4c91c508ca]
20197
20198         * sudo.tab.c:
20199         parse.yacc
20200         [feca81881bb6]
20201
20202         * configure:
20203         regen
20204         [6f247010bb3b]
20205
20206         * configure.in:
20207         fix check for crypt() in libufc
20208         [82770736f4b0]
20209
20210 1999-08-07  Todd C. Miller  <Todd.Miller@courtesan.com>
20211
20212         * README:
20213         sudo-users list now exists
20214         [4716d2bb0bbf]
20215
20216         * INSTALL, PORTING, README, TODO, TROUBLESHOOTING:
20217         Update to reality.
20218         [1eda2d57e42a]
20219
20220         * CHANGES, Makefile.in, TODO, TROUBLESHOOTING, check.c, compat.h,
20221         config.h.in, configure, configure.in, fileops.c, logging.c, sudo.h,
20222         version.c, visudo.c:
20223         o Move lock_file() and touch() into fileops.c so visudo can use them
20224         o Visudo now locks the sudoers temp file instead of bailing when the
20225         temp file already exists. This fixes the problem of stale temp
20226         files but it does *require* that you not try to put the temp file in
20227         a world-writable directory. This shoud not be an issue as the temp
20228         file should live in the same dir as sudoers. o Visudo now only
20229         installs the temp file as sudoers if it changed.
20230         [2517cd06c070]
20231
20232 1999-08-06  Todd C. Miller  <Todd.Miller@courtesan.com>
20233
20234         * logging.c:
20235         add fcntl locking
20236         [c304adeaf515]
20237
20238         * config.h.in, configure, configure.in, logging.c:
20239         Lock the log file.
20240         [d8652704fbdf]
20241
20242         * Makefile.in, TROUBLESHOOTING, parse.c, pathnames.h.in, sudo.c,
20243         visudo.c, visudo.cat, visudo.html, visudo.man, visudo.pod:
20244         o /etc/stmp -> /etc/sudoers.tmp since solaris uses stmp as shadow
20245         temp file o _PATH_SUDO_SUDOERS -> _PATH_SUDOERS and _PATH_SUDO_STMP
20246         -> _PATH_SUDOERS_TMP
20247         [68cad8975807]
20248
20249 1999-08-05  Todd C. Miller  <Todd.Miller@courtesan.com>
20250
20251         * INSTALL, check.c, config.h.in, configure, configure.in, version.c:
20252         o Kill *_MESSAGE and replace with NO_LECTURE o Add more things to
20253         root sudo -V config reporting
20254         [cdd2613a9dcf]
20255
20256         * configure, configure.in:
20257         aix_auth.o not authenticate.o
20258         [d972e35f6730]
20259
20260         * config.h.in:
20261         Add --with-goodpri and --with-badpri configure options to specify
20262         the syslog priority to use.
20263         [2595ae50ab86]
20264
20265         * INSTALL, configure, configure.in, logging.h:
20266         Add --with-goodpri and --with-badpri configure options to specify
20267         the syslog priority to use.
20268         [8276ee9b2b49]
20269
20270         * compat.h:
20271         kill crufty AIX stuff
20272         [a4f35ef9854e]
20273
20274         * Makefile.in:
20275         Sigh, some versions of make (like Solaris's) don't deal with $< like
20276         I would expect. Both GNU and BSD makes get this right but... So, we
20277         just expand $< inline at the cost of some ugliness.
20278         [b1b456f8801f]
20279
20280         * version.c:
20281         If the invoking user is root, sudo will now print configure info in
20282         -V mode. Currently just prints logging info, to be expanded later.
20283         [392f7ed99267]
20284
20285         * logging.c, logging.h, sudo.c, sudo.h:
20286         o new defines for syslog facility and priority o use new
20287         print_version() functino for -V mode
20288         [78abc5142985]
20289
20290         * check.c:
20291         Don't need version.c
20292         [db9a830ad893]
20293
20294         * aclocal.m4, config.h.in, configure, configure.in:
20295         Add check for syslog facilities and priorities tables in syslog.h
20296         [b86213e5fc5c]
20297
20298         * Makefile.in:
20299         o authenticate -> aix_auth o add version.c
20300         [44b6b9a8d0f5]
20301
20302         * auth/sudo_auth.c:
20303         Missed a prompt -> user_prompt conversion
20304         [e4c60b1f210c]
20305
20306 1999-08-04  Todd C. Miller  <Todd.Miller@courtesan.com>
20307
20308         * TODO:
20309         sudo should lock its logfile
20310         [6d2830b28b07]
20311
20312         * parse.yacc, sudo.tab.c:
20313         o Add '!' correctly when expanding Aliases. o Add shortcut macros
20314         for append() to make things more readable. o The separator in
20315         append() is now a string instead of a char. o In append(), only
20316         prepend the separator if the last char is not a '!'. This is a
20317         hack but it greatly simplifies '!' handling. o In -l mode, Runas
20318         lists and NOPASSWD/PASSWD tags are now inherited across entries in
20319         a list (matches current behavior). o Fix formatting in -l mode such
20320         that items in a list are separated by a space. Greatlt improves
20321         readability. o Space for name field in struct aliasinfo is now
20322         allocated dyanically instead of using a (big) buffer. o In
20323         add_alias(), only search the list once (lsearch instead of lfind +
20324         lsearch)
20325         [51f7e07addb9]
20326
20327         * lex.yy.c, sudo.tab.c, sudo.tab.h:
20328         regen
20329         [5c19bb05dc21]
20330
20331         * configure, configure.in:
20332         Solais pam doesn't require anye xtra setup
20333         [a25ba03d91d1]
20334
20335         * parse.yacc:
20336         o Simpler '!' support now that the lexer deals with multiple !'s for
20337         us. o In the case of opFOO, have FOO give a boolean return value and
20338         set foo_matches in opFOO, not FOO. o Treat 'ALL' as a string since
20339         it gets fill()'d in parse.lex--fixes a small memory leak. In the
20340         long run it may be better to just fix parse.lex and make ALL back
20341         into a token. However, having it be a string is useful since it
20342         can be easily passed back to the parent rule if we so desire.
20343         [b3c64b443018]
20344
20345         * parse.lex:
20346         o Remove some unnecessary backslashes o collapse multiple !'s by
20347         using !+ and checking if yyleng is even or odd. this allows us to
20348         simplify ! handling in parse.yacc
20349         [76330e8da8e3]
20350
20351         * sudo.c:
20352         -u flag was being ignored
20353         [e30283207585]
20354
20355 1999-08-01  Todd C. Miller  <Todd.Miller@courtesan.com>
20356
20357         * Makefile.in:
20358         correct fix
20359         [a0e2377dec8f]
20360
20361         * Makefile.in:
20362         work around pod2man stupididy
20363         [7c755640b67f]
20364
20365         * Makefile.in:
20366         correct dependencies for .cat
20367         [5ed7b0653b68]
20368
20369         * sudo.cat, sudo.man, visudo.cat, visudo.man:
20370         regen
20371         [b74510dd6a0a]
20372
20373         * sudo.pod, visudo.pod:
20374         Add copyright Update to reality
20375         [188e9b046c15]
20376
20377         * parse.c, sudo.c, sudo.h:
20378         rename validate() to the more descriptive sudoers_lookup()
20379         [7a1cb652f379]
20380
20381         * auth/aix_auth.c:
20382         use tgetpass
20383         [b8ba5daec40a]
20384
20385 1999-07-31  Todd C. Miller  <Todd.Miller@courtesan.com>
20386
20387         * CHANGES:
20388         updates
20389         [e61460cdf4a0]
20390
20391         * HISTORY, INSTALL, Makefile.in, README, RUNSON, TROUBLESHOOTING,
20392         configure, configure.in, sudo.c:
20393         Sudo, not CU Sudo
20394         [9061b3573c0c]
20395
20396         * LICENSE:
20397         add 4th term to license similar to term 5 in the apache license
20398         [92712e895afb]
20399
20400         * emul/search.h, emul/utime.h:
20401         add 4th term to license similar to term 5 in the apache license
20402         [4f93a8b9396e]
20403
20404         * auth/afs.c, auth/aix_auth.c, auth/dce.c, auth/fwtk.c, auth/kerb4.c,
20405         auth/kerb5.c, auth/pam.c, auth/passwd.c, auth/rfc1938.c,
20406         auth/secureware.c, auth/securid.c, auth/sia.c, auth/sudo_auth.c,
20407         auth/sudo_auth.h, insults.h, interfaces.c, interfaces.h, lex.yy.c,
20408         logging.c, logging.h, parse.c, parse.h, parse.lex, parse.yacc,
20409         pathnames.h.in, putenv.c, strerror.c, sudo.c, sudo.h, sudo.tab.c,
20410         sudo_setenv.c, testsudoers.c, tgetpass.c, utime.c, version.h,
20411         visudo.c:
20412         add 4th term to license similar to term 5 in the apache license
20413         [afae9f2bf9ec]
20414
20415         * ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h:
20416         add 4th term to license similar to term 5 in the apache license
20417         [c389d3fdafac]
20418
20419         * Makefile.in, alloc.c, check.c, compat.h, config.h.in, find_path.c,
20420         getspwuid.c, goodpath.c:
20421         add 4th term to license similar to term 5 in the apache license
20422         [969e63dbd38e]
20423
20424         * LICENSE, aclocal.m4, auth/rfc1938.c, check.c, configure.in,
20425         insults.h, logging.c, sudo.c, sudo.h:
20426         there was a 1995 release too
20427         [5963fd89457a]
20428
20429 1999-07-28  Todd C. Miller  <Todd.Miller@courtesan.com>
20430
20431         * CHANGES:
20432         updates
20433         [254b794f16ab]
20434
20435         * check.c:
20436         Use dirs instead of files for timestamp. This allows tty and non-
20437         tty schemes to coexist reasonably. Note, however, that when you
20438         update a tty ticket, the mtime on the user dir gets updated as well.
20439         [44bfac32f799]
20440
20441         * configure, configure.in:
20442         Fix getprpwnam() checking on SCO. Need to link with "-lprot -lx"
20443         when linking test program, not just -lprot. Also add check for
20444         getspnam(). The SCO docs indicate that /etc/shadow can be used but
20445         this may be a lie.
20446         [2ba21d36cc1e]
20447
20448 1999-07-24  Todd C. Miller  <Todd.Miller@courtesan.com>
20449
20450         * auth/API:
20451         first cut at auth API description
20452         [3d10df021eb8]
20453
20454 1999-07-22  Todd C. Miller  <Todd.Miller@courtesan.com>
20455
20456         * auth/fwtk.c, auth/kerb4.c, auth/kerb5.c, auth/pam.c, auth/rfc1938.c,
20457         auth/secureware.c, auth/securid.c, auth/sudo_auth.c,
20458         auth/sudo_auth.h:
20459         auth API change. There is now an init method that gets run before
20460         the main loop. This allows auth routines to differentiate between
20461         initialization that happens once vs. setup that needs to run each
20462         time through the loop.
20463         [76df1c0d3478]
20464
20465         * auth/kerb5.c, logging.c:
20466         use easprintf() and evasprintf()
20467         [fd97d96dc12f]
20468
20469         * alloc.c, sudo.h:
20470         add easprintf() and evasprintf(), error checking versions of
20471         asprintf() and vasprintf()
20472         [f54385de20b7]
20473
20474         * TODO:
20475         remove 2 items. One done, one won't do.
20476         [64513b47bc7a]
20477
20478         * lex.yy.c, sudo.tab.c:
20479         regen
20480         [4aa299de2752]
20481
20482         * configure, sudo.cat, sudo.html, sudo.man, sudoers.html, visudo.cat,
20483         visudo.html, visudo.man:
20484         regen
20485         [553c0d1209be]
20486
20487         * CHANGES:
20488         new changes
20489         [d7be00b7e36b]
20490
20491         * sudo.pod:
20492         o Document -K flag and update meaning of -k flag. o BSD-style
20493         copyright o Document clearing of BIND resolver environment variables
20494         o Clarify bit about shared libs o suggest rc files create /tmp/.odus
20495         if your OS gives away files
20496         [4a4092be1455]
20497
20498         * visudo.pod:
20499         BSD license
20500         [ad0bfd0a4630]
20501
20502         * version.h:
20503         BSD-style copyright
20504         [ecc6479325be]
20505
20506         * tgetpass.c:
20507         o BSD copyright o no need to block signals, we now do that in main()
20508         o cosmetic changes
20509         [61958beda7ab]
20510
20511         * testsudoers.c, visudo.c:
20512         o BSD-style copyright o Use "struct sudo_user" instead of old
20513         globals. o some cometic cleanup
20514         [88c0c6924082]
20515
20516         * sudo_setenv.c:
20517         BSD-style copyright
20518         [df20290129a0]
20519
20520         * sudo.h:
20521         o BSD copyright o logging and parser bits moved to their own .h
20522         files o new "struct sudo_user" to encapsulate many of the old
20523         globals.
20524         [50fc86bf25cb]
20525
20526         * sudo.c:
20527         o no longer contains sudo 1.1/1.2 code o BSD copyright o use new
20528         logging routines o simplified flow of control o BIND resolver
20529         additions to badenv_table
20530         [8c53f15bfcb0]
20531
20532         * strerror.c:
20533         BSD-style copyright
20534         [7c906c3a82ac]
20535
20536         * snprintf.c:
20537         Now compiles on more K&R compilers
20538         [07ab1d3231c7]
20539
20540         * putenv.c:
20541         BSD-style copyright, cosmetic changes
20542         [c42371295881]
20543
20544         * pathnames.h.in:
20545         BSD-style copyright
20546         [e5c34ebd4cf1]
20547
20548         * parse.c, parse.h, parse.lex, parse.yacc:
20549         BSD-style copyright. Move parser-specific defines and structs into
20550         parse.h + other cosmetic changes
20551         [d3088efb6228]
20552
20553         * logging.h:
20554         defines for logging routines
20555         [13147941c02d]
20556
20557         * find_path.c, getspwuid.c, goodpath.c, interfaces.c:
20558         BSD-style copyright, cosmetic changes
20559         [e8205e91a4fa]
20560
20561         * ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h, insults.h,
20562         interfaces.h:
20563         BSD-style copyright
20564         [b9499da7cdce]
20565
20566         * configure.in:
20567         o tgetpass.c is no longer optional o kill DCE_OBJS, add AUTH_OBJS o
20568         kill --disable-tgetpass o add --without-passwd o changes to fill in
20569         AUTH_OBJS for new auth api o check for strerror(), v?snprintf() and
20570         v?asprintf() o replace --with-AuthSRV with --with-fwtk
20571         [9a3f39b9c128]
20572
20573         * config.h.in:
20574         BSD-style copyright. Remove USE_GETPASS and HAVE_UTIME_NULL. Add
20575         HAVE_FWTK, HAVE_STRERROR, HAVE_SNPRINTF, HAVE_VSNPRINTF,
20576         HAVE_ASPRINTF, HAVE_VASPRINTF, WITHOUT_PASSWD and NO_PASSWD
20577         [9a09054db53a]
20578
20579         * compat.h:
20580         BSD-style copyright; Add S_IFLNK and MIN/MAX id they are missing.
20581         [25509c566975]
20582
20583         * alloc.c:
20584         BSD-style copyright
20585         [4967be892363]
20586
20587         * TROUBLESHOOTING:
20588         no more --with-getpass
20589         [afd5b670c196]
20590
20591         * TODO:
20592         Take out things I've done...
20593         [375420c8270e]
20594
20595         * README:
20596         Refer to LICENSE
20597         [c486c8db30f6]
20598
20599         * PORTING:
20600         --with-getpass no longer exists
20601         [db48202df1bb]
20602
20603         * Makefile.in:
20604         BSD-style copyright. Update to reflect reality wrt new files and
20605         new auth modules.
20606         [61a2ca7940fb]
20607
20608         * INSTALL:
20609         Remove --with-AuthSRV and --disable-tgetpass. Add --with-fwtk and
20610         --without-passwd.
20611         [64e8f9e1c05e]
20612
20613         * HISTORY:
20614         Update history a bit
20615         [df60c0a871b8]
20616
20617         * COPYING, LICENSE:
20618         Now distributed under a BSD-style license
20619         [d1a184ccabe1]
20620
20621         * auth/sudo_auth.c:
20622         o BSD-style copyright o Add support for NO_PASSWD/WITHOUT_PASSWD
20623         options. o skey/opie replaced by rfc1938 code o new struct sudo_user
20624         global
20625         [891b57060868]
20626
20627         * auth/pam.c, auth/sia.c:
20628         BSD-style copyright and use new log functions
20629         [65c44445ea84]
20630
20631         * auth/kerb5.c:
20632         o BSD-style copyright o Use new log functiongs o Use asprintf() and
20633         snprintf() where sensible.
20634         [1ff0feaacf95]
20635
20636         * check.c:
20637         Rewrote all the old sudo 1.1/1.2 code. Timestamp handling is now
20638         done more reasonably--better sanity checks and tty-based stamps are
20639         now done as files in a directory with the same name as the invoking
20640         user, eg. /var/run/sudo/millert/ttyp1. It is not currently possible
20641         to mix tty and non-tty based ticket schemes but this may change in
20642         the future (it requires sudo to use a directory instead of a file in
20643         the non-tty case). Also, ``sudo -k'' now sets the ticket back to
20644         the epoch and ``sudo -K'' really deletes the file. That way you
20645         don't get the lecture again just because you killed your ticket in
20646         .logout. BSD-style copyright now.
20647         [ec3460f85be8]
20648
20649         * logging.c:
20650         o rewritten logging routines. log_error() now takes printf-style
20651         varargs and log_auth() for the return value of validate(). o BSD-
20652         style copyright
20653         [438292025c4e]
20654
20655         * auth.c, check_sia.c, dce_pwent.c, secureware.c:
20656         superceded by new auth API
20657         [412060590da7]
20658
20659         * auth/kerb4.c:
20660         BSD-style copyright
20661         [cc4e800833c7]
20662
20663         * auth/fwtk.c:
20664         Use snprintf() where it makes sense and add a BSD-style copyright
20665         [1b7502388a74]
20666
20667         * auth/afs.c, auth/aix_auth.c, auth/dce.c, auth/passwd.c,
20668         auth/rfc1938.c, auth/secureware.c, auth/securid.c, auth/sudo_auth.h:
20669         BSD-style copyright
20670         [42583bedae5c]
20671
20672         * emul/utime.h, utime.c:
20673         BSD-style copyright
20674         [3985c90aba47]
20675
20676         * emul/search.h:
20677         this has been rewritten so use my BSD-style copyright
20678         [176df1b0de6f]
20679
20680 1999-07-15  Todd C. Miller  <Todd.Miller@courtesan.com>
20681
20682         * snprintf.c:
20683         include malloc.h if no stdlib.h
20684         [7b123f1d1d03]
20685
20686         * snprintf.c:
20687         KTH snprintf()/asprintf() for systems w/o them
20688         [3ca9aefb9d01]
20689
20690         * strerror.c:
20691         strerror() for systems w/o it
20692         [7f0bd8a1c1b4]
20693
20694 1999-07-12  Todd C. Miller  <Todd.Miller@courtesan.com>
20695
20696         * visudo.c:
20697         stylistic changes
20698         [6f99aceb7170]
20699
20700         * parse.c, parse.lex, parse.yacc:
20701         Add contribution info in the main comment
20702         [e50cec10acd6]
20703
20704 1999-07-11  Todd C. Miller  <Todd.Miller@courtesan.com>
20705
20706         * auth/pam.c:
20707         remove missed ref to PAM_nullpw
20708         [a43e59692cdb]
20709
20710         * auth/sudo_auth.h:
20711         pasto
20712         [891ff138ab89]
20713
20714         * auth/kerb5.c:
20715         more or less complete now--still untested
20716         [21036732faa0]
20717
20718         * auth/afs.c, auth/pam.c:
20719         don't use user_name macro, it will go away
20720         [def7cf727349]
20721
20722         * auth/opie.c, auth/rfc1938.c, auth/skey.c, auth/sudo_auth.h:
20723         combine skey/opie code into rfc1938.c
20724         [44d88ca93d3e]
20725
20726         * auth/dce.c, auth/sudo_auth.h:
20727         DCE authentication method; basically unchanged from dce_pwent.c
20728         [4d468473dd6f]
20729
20730         * auth/aix_auth.c, auth/sudo_auth.h:
20731         AIX authenticate() support. Could probably be much better
20732         [000013321a33]
20733
20734         * auth/sia.c:
20735         Fix an uninitialized variable and some cleanup. Now works (tested)
20736         [fd6ad88ff055]
20737
20738         * auth/sia.c, auth/sudo_auth.h:
20739         SIA support for digital unix
20740         [5335f3e70eab]
20741
20742         * auth/pam.c:
20743         don't use prompt global, it will go away
20744         [fadd22dd6ce4]
20745
20746         * auth/secureware.c:
20747         correct copyright years
20748         [6aa07c49f51b]
20749
20750         * auth/afs.c, auth/fwtk.c, auth/kerb4.c, auth/kerb5.c, auth/opie.c,
20751         auth/pam.c, auth/passwd.c, auth/secureware.c, auth/securid.c,
20752         auth/skey.c, auth/sudo_auth.c, auth/sudo_auth.h:
20753         New authentication API and methods
20754         [9debe9b59c79]
20755
20756 1999-07-08  Todd C. Miller  <Todd.Miller@courtesan.com>
20757
20758         * sudo.tab.c:
20759         regen
20760         [84578e82c1a6]
20761
20762         * parse.yacc:
20763         only save an entry if user_matches && host_matches, even if the
20764         stack is empty (fix for previous commit)
20765         [00984b078d8a]
20766
20767         * sudo.tab.c:
20768         regen
20769         [66acf160b4b7]
20770
20771         * parse.yacc:
20772         1) Always save an entry on the stack if it is empty. This fixes the
20773         -l and -v flags that were broken by earlier parser changes.
20774
20775         2) In a Runas list, don't negate FALSE -> TRUE since that would make
20776         !foo match any time the user specified a runas user (via -u) other
20777         than foo.
20778         [f322eb54b015]
20779
20780         * testsudoers.c:
20781         interfaces and num_interfaces are now auto, not extern
20782         [113add5c6518]
20783
20784 1999-07-07  Todd C. Miller  <Todd.Miller@courtesan.com>
20785
20786         * auth.c:
20787         use a static global to keep stae about empty passwords
20788         [bc02e30807d8]
20789
20790         * check_sia.c:
20791         make PASSWORD_NOT_CORRECT logging consistent with other modules
20792         [21962549d5fd]
20793
20794 1999-07-05  Todd C. Miller  <Todd.Miller@courtesan.com>
20795
20796         * auth.c:
20797         PAM prompt code was wrong, looks like we have to kludge it after
20798         all.
20799         [91f246155ead]
20800
20801         * auth.c:
20802         In the PAM code, when a user hits return at the first password
20803         prompt, exit without a warning just like the normal auth code
20804         [918f59bacdb7]
20805
20806         * configure, configure.in:
20807         kludge around cross-compiler false positives
20808         [5e5fc8356400]
20809
20810         * auth.c, check.c, check_sia.c, logging.c, sudo.h, tgetpass.c:
20811         New (correct) PAM code Tgetpass now takes an echo flag for use with
20812         PAM_PROMPT_ECHO_ON Block SIGINT and SIGTSTP during auth remove a
20813         useless umask setting Change error from BAD_ALLOCATION ->
20814         BAD_AUTH_INIT (for use with sia/PAM) Some cosmetic changes to auth.c
20815         for consistency
20816         [e71397f09dd8]
20817
20818         * sudo.c:
20819         Some -Wall and kill some trailing spaces
20820         [8229b43d5c4e]
20821
20822         * configure.in:
20823         define -D__EXTENSIONS__ for solaris so we get crypt() proto
20824         [7533e4436cab]
20825
20826 1999-06-22  Todd C. Miller  <Todd.Miller@courtesan.com>
20827
20828         * RUNSON:
20829         add Dynix 4.4.4
20830         [b69f773efbce]
20831
20832         * INSTALL, config.h.in, configure, configure.in:
20833         for kerberos V < version, fall back on old kerb4 auth code
20834         [d685ed3a1d8e]
20835
20836         * INSTALL:
20837         clarify some things
20838         [2f5ba2e8e53a]
20839
20840         * UPGRADE, sudoers.cat, sudoers.man, sudoers.pod:
20841         typos
20842         [8925a109c093]
20843
20844 1999-06-14  Todd C. Miller  <Todd.Miller@courtesan.com>
20845
20846         * sudo.c:
20847         mention why DONT_LEAK_PATH_INFO is not the default
20848         [0346260cb4ec]
20849
20850 1999-06-03  Todd C. Miller  <Todd.Miller@courtesan.com>
20851
20852         * tgetpass.c:
20853         Fix open(2) return value checking, was NULL for fopen, should be -1
20854         for open
20855         [355878bf6d8a]
20856
20857         * configure:
20858         regen
20859         [68bf82871862]
20860
20861         * configure.in:
20862         better wording for solaris pam notice
20863         [04e88c7a6c42]
20864
20865         * CHANGES:
20866         document recent changes
20867         [7c922c5622ef]
20868
20869         * TROUBLESHOOTING:
20870         Update shadow password section
20871         [e8448bae7d66]
20872
20873         * auth.c:
20874         move authentication code from check.c to auth.c
20875         [e9f6ecae2399]
20876
20877         * Makefile.in, check.c, sudo.h:
20878         move authentication code to auth.c
20879         [124cded85f46]
20880
20881 1999-05-17  Todd C. Miller  <Todd.Miller@courtesan.com>
20882
20883         * Makefile.in, check.c, check_sia.c, compat.h, find_path.c,
20884         getspwuid.c, goodpath.c, interfaces.c, interfaces.h, lex.yy.c,
20885         logging.c, parse.c, parse.lex, parse.yacc, secureware.c, sudo.c,
20886         sudo.h, sudo.tab.c, sudo_setenv.c, testsudoers.c, tgetpass.c,
20887         visudo.c:
20888         Move interface-related defines to interfaces.h so we don't have to
20889         include <netinet/in.h> everywhere.
20890         [e7599d8ea0bf]
20891
20892 1999-05-14  Todd C. Miller  <Todd.Miller@courtesan.com>
20893
20894         * CHANGES, INSTALL, TODO, check.c, compat.h, getspwuid.c, logging.c,
20895         parse.yacc, sudo.c, sudo.tab.c, tgetpass.c:
20896         o Replace _PASSWD_LEN braindeath with our own SUDO_MAX_PASS. It
20897         turns out the old DES crypt does the right thing with passwords
20898         longert than 8 characters. o Fix common typo (necesary ->
20899         necessary) o Update TODO list
20900         [ad75007a6f13]
20901
20902 1999-05-03  Todd C. Miller  <Todd.Miller@courtesan.com>
20903
20904         * sudo.c:
20905         set $LOGNAME when we set $USER
20906         [391596210fd7]
20907
20908 1999-04-27  Todd C. Miller  <Todd.Miller@courtesan.com>
20909
20910         * INSTALL:
20911         add comment about digital unix and interfaces.c warning with gcc
20912         [e20f815901cc]
20913
20914 1999-04-15  Todd C. Miller  <Todd.Miller@courtesan.com>
20915
20916         * sample.sudoers:
20917         use modern paths and give examples for some of the new parser
20918         features
20919         [e7b2e507c695]
20920
20921 1999-04-10  Todd C. Miller  <Todd.Miller@courtesan.com>
20922
20923         * parse.c:
20924         fix comment
20925         [5eb0d005a65f]
20926
20927         * alloc.c, check.c, check_sia.c, dce_pwent.c, find_path.c,
20928         getspwuid.c, goodpath.c, interfaces.c, lex.yy.c, logging.c, parse.c,
20929         parse.lex, parse.yacc, putenv.c, secureware.c, sudo.c, sudo.tab.c,
20930         sudo_setenv.c, testsudoers.c, tgetpass.c, utime.c, visudo.c:
20931         Function names should be flush with the start of the line so they
20932         can be found trivially in an editor and with grep
20933         [3c400abde574]
20934
20935         * find_path.c, interfaces.c, lex.yy.c, parse.c, parse.lex, parse.yacc,
20936         sudo.c, sudo.tab.c, testsudoers.c, tgetpass.c, visudo.c:
20937         free(3) is already void, no need to cast it
20938         [6981e1ebda0f]
20939
20940         * logging.c, sudo.c, sudo.h:
20941         catch case where cmnd_safe is not set (this should not be possible)
20942         [3e1e3038546c]
20943
20944         * CHANGES, logging.c, parse.c, parse.yacc, sudo.c, sudo.h, sudo.tab.c,
20945         testsudoers.c, visudo.c:
20946         Stash the "safe" path (ie: the one listed in sudoers) to the command
20947         instead of stashing the struct stat. Should be safer.
20948         [aa2883fcf57e]
20949
20950 1999-04-08  Todd C. Miller  <Todd.Miller@courtesan.com>
20951
20952         * INSTALL, Makefile.in, UPGRADE:
20953         notes on updating from an earlier release
20954         [df9fffa4ab2c]
20955
20956         * CHANGES:
20957         updated
20958         [574f5065d15a]
20959
20960 1999-04-07  Todd C. Miller  <Todd.Miller@courtesan.com>
20961
20962         * parse.yacc, sudo.tab.c, sudo.tab.h, sudoers.cat, sudoers.html,
20963         sudoers.man, sudoers.pod:
20964         You can now specifiy a host list instead of just a host or alias.
20965         Ie: user = host1,host2,ALIAS,!host3 my_command now works.
20966         [e3942bb78021]
20967
20968         * testsudoers.c:
20969         Quiet -Wall
20970         [a3edc8b08c3a]
20971
20972         * parse.yacc, sudo.tab.c:
20973         Move the push from the beginning of cmndspec to the end. This means
20974         we no longer have to do a push at the end of privilege, just reset
20975         some values.
20976         [8ea66e5860c6]
20977
20978         * sudoers.cat, sudoers.html, sudoers.man, sudoers.pod:
20979         runas-lists and NOPASSWD/PASSWD modifiers are now sticky and you can
20980         use "!" most everywhere
20981         [aadae4d1c9d5]
20982
20983 1999-04-06  Todd C. Miller  <Todd.Miller@courtesan.com>
20984
20985         * sudoers.pod:
20986         modernize paths and update su example based on sample.sudoers one
20987         [3f6a37e16c83]
20988
20989         * sample.sudoers:
20990         New runas semantics
20991         [756ee92865b7]
20992
20993         * CHANGES, Makefile.in, alloc.c, config.h.in, configure, configure.in,
20994         strdup.c, sudo.h:
20995         In estrdup(), do the malloc ourselves so we don't need to rely on
20996         the system strdup(3) which may or may not exist. There is now no
20997         need to provide strdup() for those w/o it. Also, the prototype for
20998         estrdup() was wrong, it returns char * and its param is const.
20999         [5f1f984da8e3]
21000
21001         * getcwd.c:
21002         $Sudo tag
21003         [e4188a35e68c]
21004
21005         * check.c:
21006         buf should be prompt; Michael Robokoff <mrobo@networkcs.com>
21007         [2aec87c86cde]
21008
21009         * CHANGES, TODO, parse.yacc, sudo.tab.c:
21010         It is now possible to use the '!' operator in a runas list as well
21011         as in a Cmnd_Alias, Host_Alias and User_Alias.
21012         [a4fdaabda990]
21013
21014         * logging.c, sudo.h:
21015         Kill GLOBAL_NO_SPW_ENT (not used) and crank GLOBAL_PROBLEM
21016         [73d0376785ae]
21017
21018         * sudo.h:
21019         Definitions of *_matched were wrong--user top, not top-2 as
21020         subscript.
21021         [5f8350a57362]
21022
21023         * logging.c, parse.c, parse.yacc, sudo.c, sudo.h, sudo.tab.c:
21024         Add VALIDATE_NOT_OK_NOPASS for when user is not allowed to run a
21025         command but the NOPASSWD flag was set. Make runasspec, runaslist,
21026         runasuser, and nopasswd typeless in parse.yacc Add support for '!'
21027         in the runas list Fix double printing of '%' and '+' for groups and
21028         netgroups respectively Add *_matched macros (no need for local stack
21029         variable). Should only be used directly after a pop (since top must
21030         be >= 2).
21031         [392b1400c4e6]
21032
21033         * aclocal.m4, configure.in:
21034         Add copyright, somewhat silly
21035         [55c2cdd82dca]
21036
21037 1999-04-05  Todd C. Miller  <Todd.Miller@courtesan.com>
21038
21039         * BUGS, INSTALL, Makefile.in, README, alloc.c, check.c, check_sia.c,
21040         compat.h, config.h.in, configure, configure.in, dce_pwent.c,
21041         emul/utime.h, find_path.c, getspwuid.c, goodpath.c, ins_2001.h,
21042         ins_classic.h, ins_csops.h, ins_goons.h, insults.h, interfaces.c,
21043         lex.yy.c, logging.c, parse.c, parse.lex, parse.yacc, pathnames.h.in,
21044         putenv.c, secureware.c, strdup.c, sudo.c, sudo.cat, sudo.h,
21045         sudo.man, sudo.tab.c, sudo_setenv.c, sudoers.cat, sudoers.man,
21046         testsudoers.c, tgetpass.c, utime.c, version.h, visudo.c, visudo.cat,
21047         visudo.man:
21048         Crank version to 1.6 and combine copyright statements
21049         [0e1c791658ae]
21050
21051         * sample.sudoers:
21052         Use ! not ^ to do negation
21053         [1480a0761730]
21054
21055         * lex.yy.c, sudo.tab.c:
21056         regen
21057         [89ca5a46684b]
21058
21059         * parse.lex, parse.yacc:
21060         Make runas and NOPASSWD tags persistent across entris in a command
21061         list. Add a PASSWD tag to reverse NOPASSWD. When you override a
21062         runas or *PASSWD tag the value given becomes the new default for the
21063         rest of the command list.
21064         [f1bbb4066542]
21065
21066 1999-04-02  Todd C. Miller  <Todd.Miller@courtesan.com>
21067
21068         * CHANGES, RUNSON:
21069         update for 1.5.9
21070         [a1ae9d4a7d54] [SUDO_1_5_9]
21071
21072         * visudo.c:
21073         Shift return value of system(3) by 8 to get real exit value and if
21074         it is not 1 or 0 print the retval along with the error message.
21075         [c1ff50d743fb]
21076
21077 1999-03-30  Todd C. Miller  <Todd.Miller@courtesan.com>
21078
21079         * Makefile.in:
21080         testsudoers needs LIBOBJS too
21081         [972571b4e4bf]
21082
21083         * parse.c, parse.yacc, sudo.tab.c:
21084         Fix another parser bug. For a sudoers entry like this: millert
21085         ALL=/bin/ls,(daemon) !/bin/ls sudo would not allow millert to run ls
21086         as root.
21087         [51968e1eb33d]
21088
21089         * CHANGES:
21090         new change
21091         [271c6110bb62]
21092
21093         * parse.yacc, sudo.tab.c:
21094         Save entries that match a ! command on the matching stack too
21095         [5afb5107116c]
21096
21097         * sudo.c:
21098         Make sudo's usage info better when mutually exclusive args are given
21099         and don't rely on argument order to detect this; nick@zeta.org.au
21100         [2422753c88fd]
21101
21102 1999-03-29  Todd C. Miller  <Todd.Miller@courtesan.com>
21103
21104         * CHANGES, Makefile.in, RUNSON:
21105         updates from CU
21106         [b37381e3dafb]
21107
21108         * Makefile.in:
21109         use gzip
21110         [94a64e52a166]
21111
21112         * parse.yacc, sudo.tab.c:
21113         Fix off by one error introduced in *alloc changes
21114         [95ede581153a]
21115
21116         * BUGS, CHANGES, INSTALL, Makefile.in, README, alloc.c, check.c,
21117         check_sia.c, compat.h, config.h.in, configure, configure.in,
21118         dce_pwent.c, emul/utime.h, find_path.c, getspwuid.c, goodpath.c,
21119         ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h, insults.h,
21120         interfaces.c, lex.yy.c, logging.c, parse.c, parse.lex, parse.yacc,
21121         pathnames.h.in, putenv.c, secureware.c, strdup.c, sudo.c, sudo.cat,
21122         sudo.h, sudo.man, sudo.tab.c, sudo_setenv.c, sudoers.cat,
21123         sudoers.man, testsudoers.c, tgetpass.c, utime.c, version.h,
21124         visudo.c, visudo.cat, visudo.html, visudo.man, visudo.pod:
21125         ++version
21126         [c6d88f024e37]
21127
21128         * Makefile.in, check.c, find_path.c, getspwuid.c, goodpath.c,
21129         interfaces.c, lex.yy.c, logging.c, parse.c, parse.lex, parse.yacc,
21130         putenv.c, secureware.c, strdup.c, sudo.c, sudo.h, sudo.tab.c,
21131         sudo_setenv.c, testsudoers.c, utime.c, visudo.c:
21132         Use emalloc/erealloc/estrdup
21133         [44221d97361a]
21134
21135         * alloc.c:
21136         error checking memory allocation routines
21137         [5f8c1e7bbc71]
21138
21139         * parse.yacc, sudo.tab.c:
21140         Still not right, this fixes it for real
21141         [ad553b6f5339]
21142
21143         * parse.yacc, sudo.tab.c:
21144         Fix for previous commit
21145         [4d6f989f9bf2]
21146
21147         * CHANGES, INSTALL, parse.yacc:
21148         Fix a parser bug that was exposed when mixing different runas specs
21149         and ! commands. For example: millert ALL=(daemon)
21150         /usr/bin/whoami,!/bin/ls would allow millert to run whoami as root
21151         as well as daemon when it should just allow daemon. The problem was
21152         that comma-separated commands in a list shared the same entry on the
21153         matching stack. Now they get their own entry iff there is a full
21154         match. It may be better to just make the runas spec persistent
21155         across all commands in a list like the user and host entries of the
21156         matching stack. However, since that is a fairly major change it
21157         should gets its own minor rev increase.
21158         [c4b939cdcc8e]
21159
21160 1999-03-28  Todd C. Miller  <Todd.Miller@courtesan.com>
21161
21162         * check.c, config.h.in:
21163         Simplify PAM code and fix a PAM-related warning on Linux
21164         [2468399523b6]
21165
21166 1999-03-26  Todd C. Miller  <Todd.Miller@courtesan.com>
21167
21168         * CHANGES:
21169         updates
21170         [29d4a997769c]
21171
21172         * sample.sudoers:
21173         better su entry
21174         [76d8285a72ba]
21175
21176         * configure:
21177         regen
21178         [b7450cc6975d]
21179
21180         * check.c, configure.in:
21181         new pam code that works on solaris, should work on linux too;
21182         aelberg@home.com
21183         [84c16c0ff259]
21184
21185 1999-03-19  Todd C. Miller  <Todd.Miller@courtesan.com>
21186
21187         * RUNSON:
21188         more entries
21189         [b6bef8660759]
21190
21191         * config.h.in:
21192         only include strings.h if there is no string.h
21193         [b66054a32b00]
21194
21195 1999-03-17  Todd C. Miller  <Todd.Miller@courtesan.com>
21196
21197         * config.guess:
21198         Sinix is now being called ReliantUNIX; bjjackso@us.oracle.com
21199         [c086d2fe63af]
21200
21201 1999-03-13  Todd C. Miller  <Todd.Miller@courtesan.com>
21202
21203         * sudo.c:
21204         shost must be set before log functions are called #ifdef HOST_IN_LOG
21205         [d49a7944358f]
21206
21207 1999-03-07  Todd C. Miller  <Todd.Miller@courtesan.com>
21208
21209         * CHANGES, lex.yy.c, parse.lex:
21210         Fix a bug wrt quoting characters in command args. Stop processing
21211         an arg when you hit a backslash so the quoted-character detection
21212         can catch it.
21213         [2281438d7f41]
21214
21215 1999-02-26  Todd C. Miller  <Todd.Miller@courtesan.com>
21216
21217         * interfaces.c:
21218         include sys/time.h; aparently AIX needs it. ppz@cdu.elektra.ru
21219         [31118a9e9916]
21220
21221 1999-02-24  Todd C. Miller  <Todd.Miller@courtesan.com>
21222
21223         * configure, configure.in:
21224         add missing case statement so --without-sendmail works
21225         [ca25614f7dd9]
21226
21227 1999-02-23  Todd C. Miller  <Todd.Miller@courtesan.com>
21228
21229         * CHANGES:
21230         more
21231         [4d70e44f7f93]
21232
21233 1999-02-22  Todd C. Miller  <Todd.Miller@courtesan.com>
21234
21235         * configure, configure.in:
21236         only search for -lsun in irix <= 4.x
21237         [e604238317b1]
21238
21239         * configure, configure.in:
21240         back out last configure.in change now that I've hacked autoconf to
21241         fix the real problem and add a missing newline
21242         [2dabf59a79b5]
21243
21244         * CHANGES:
21245         updated
21246         [bb35d526552f]
21247
21248         * getcwd.c:
21249         add def of dirfd() for those without it
21250         [95f0173d8441]
21251
21252         * configure, configure.in:
21253         When falling back to checking for socket() when linking with
21254         "-lsocket -lnsl" check for main() instead since autoconf has already
21255         cached the results of checking for socket() in -lsocket. This is
21256         really an autoconf bug as it should use the extra libs as part of
21257         the cache variable name.
21258         [a845f8b710ad]
21259
21260         * configure.in:
21261         typo
21262         [a7d62f62a478]
21263
21264 1999-02-21  Todd C. Miller  <Todd.Miller@courtesan.com>
21265
21266         * configure.in:
21267         fix occurrence of $with_timeout that should be
21268         $with_password_timeout; Michael.Neef@neuroinformatik.ruhr-uni-
21269         bochum.de
21270         [8c4da2cf73d1]
21271
21272 1999-02-17  Todd C. Miller  <Todd.Miller@courtesan.com>
21273
21274         * sudo.cat, sudo.html, sudo.man, sudo.pod:
21275         fix grammar; espie@openbsd.org
21276         [7031d9dfbc3e] [SUDO_1_5_8]
21277
21278 1999-02-11  Todd C. Miller  <Todd.Miller@courtesan.com>
21279
21280         * parse.yacc, sudo.c, testsudoers.c:
21281         add cast for strdup in places it does not have it
21282         [7ce4478d3b0f]
21283
21284 1999-02-09  Todd C. Miller  <Todd.Miller@courtesan.com>
21285
21286         * configure, configure.in:
21287         define for_BSD_TYPES irix
21288         [858337ff4af8]
21289
21290 1999-02-07  Todd C. Miller  <Todd.Miller@courtesan.com>
21291
21292         * Makefile.in, sudo.cat, sudo.html, sudo.man, sudo.pod:
21293         Make it clear that it is the user's password, not root's, that we
21294         want.
21295         [ae0f51b35ee4]
21296
21297         * check.c, sudo.h:
21298         If the user enters an empty password and really has no password,
21299         accept the empty password they entered. Perviously, they could
21300         enter anything
21301         *but* an empty password. Also, add GETPASS macro that calls either
21302         tgetpass() or getpass() depending on how sudo was configured.
21303         Problem noted by jdg@maths.qmw.ac.uk
21304         [2fde21ce94c1]
21305
21306 1999-02-03  Todd C. Miller  <Todd.Miller@courtesan.com>
21307
21308         * Makefile.in, check.c, check_sia.c, compat.h, config.h.in,
21309         dce_pwent.c, emul/utime.h, find_path.c, getspwuid.c, goodpath.c,
21310         ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h, insults.h,
21311         interfaces.c, logging.c, parse.c, parse.lex, parse.yacc,
21312         pathnames.h.in, putenv.c, secureware.c, strdup.c, sudo.c, sudo.h,
21313         sudo_setenv.c, testsudoers.c, tgetpass.c, utime.c, version.h,
21314         visudo.c:
21315         add explicate copyright
21316         [d3b4449834a5]
21317
21318         * CHANGES:
21319         mention -lsocket, -lnsl configure changes
21320         [9140af4ad8ae]
21321
21322 1999-02-02  Todd C. Miller  <Todd.Miller@courtesan.com>
21323
21324         * sudo.c:
21325         Don't clobber errno after calling check_sudoers().
21326         [59bd581b2654]
21327
21328 1999-02-01  Todd C. Miller  <Todd.Miller@courtesan.com>
21329
21330         * configure, configure.in:
21331         When linking with both -lsocket and -lnsl be sure to do so in that
21332         order. Also, when we can't find socket() or inet_addr() and have to
21333         try linking with both libs, issue a warning.
21334         [0ee547163067]
21335
21336         * sudo.cat, sudo.man, sudo.pod:
21337         clarify bad timestamp and fmt
21338         [70e42cf56c75]
21339
21340 1999-01-23  Todd C. Miller  <Todd.Miller@courtesan.com>
21341
21342         * INSTALL, RUNSON:
21343         be clear that pam is linux-only and add a RUNSON entry
21344         [7fdeab875e0d]
21345
21346 1999-01-22  Todd C. Miller  <Todd.Miller@courtesan.com>
21347
21348         * CHANGES, INSTALL, configure, configure.in:
21349         fix and correctly document --with-umask; problem noted by
21350         adap@adap.org
21351         [11cd0481d63a]
21352
21353 1999-01-20  Todd C. Miller  <Todd.Miller@courtesan.com>
21354
21355         * configure, configure.in:
21356         only use /usr/{man,catman}/local to store man pages if suer didn't
21357         override prefix or mandir
21358         [781ad2cbe9be]
21359
21360         * INSTALL, configure, configure.in:
21361         fix typo, make --with-SecurID take an arg
21362         [026a9b4014fc]
21363
21364 1999-01-19  Todd C. Miller  <Todd.Miller@courtesan.com>
21365
21366         * RUNSON:
21367         updates from users
21368         [2286982b31e6]
21369
21370         * CHANGES, INSTALL, check.c, configure, configure.in:
21371         FWTK 'authsrv' support from Kevin Kadow <kadow@MSG.NET>
21372         [23aa4e5c6b02]
21373
21374         * configure, configure.in:
21375         better fix for the problem of unresolved symbols in -lnsl or
21376         -lsocket
21377         [82fe70fc287f]
21378
21379         * configure, configure.in:
21380         when checking for functions in -lnsl and -lsocket link with both of
21381         them to avoid unresolved symbols on some weirdo systems
21382         [1734a591808e]
21383
21384 1999-01-18  Todd C. Miller  <Todd.Miller@courtesan.com>
21385
21386         * BUGS, CHANGES, RUNSON, TODO:
21387         old changes that didn't make it into RCS before the RCS->CVS switch
21388         [846eb2b8f9aa]
21389
21390 1999-01-17  Todd C. Miller  <Todd.Miller@courtesan.com>
21391
21392         * Makefile.in, check.c, check_sia.c, compat.h, config.h.in,
21393         configure.in, dce_pwent.c, emul/search.h, emul/utime.h, find_path.c,
21394         getspwuid.c, goodpath.c, ins_2001.h, ins_classic.h, ins_csops.h,
21395         ins_goons.h, insults.h, interfaces.c, lex.yy.c, logging.c,
21396         lsearch.c, parse.c, parse.lex, parse.yacc, pathnames.h.in, putenv.c,
21397         secureware.c, strdup.c, sudo.c, sudo.pod, sudo_setenv.c,
21398         sudoers.pod, testsudoers.c, tgetpass.c, utime.c, visudo.c,
21399         visudo.pod:
21400         add sudo tags
21401         [962f81eaa5ab]
21402
21403         * sudo.h:
21404         testing Sudo tag
21405         [e84cbc521129]
21406
21407         * version.h:
21408         testing Sudo tag
21409         [a8c3a3998b88]
21410
21411         * BUGS, INSTALL, Makefile.in, README, check.c, check_sia.c, compat.h,
21412         config.h.in, configure, configure.in, dce_pwent.c, emul/utime.h,
21413         find_path.c, getspwuid.c, goodpath.c, ins_2001.h, ins_classic.h,
21414         ins_csops.h, ins_goons.h, insults.h, interfaces.c, lex.yy.c,
21415         logging.c, parse.c, parse.lex, parse.yacc, pathnames.h.in, putenv.c,
21416         secureware.c, strdup.c, sudo.c, sudo.cat, sudo.h, sudo.man,
21417         sudo_setenv.c, sudoers.cat, sudoers.man, testsudoers.c, tgetpass.c,
21418         utime.c, version.h, visudo.c, visudo.cat, visudo.man:
21419         crank version and regen files
21420         [23eacf00a1a4]
21421
21422         * Makefile.in:
21423         kill rcs goop in update_version and fix now that version is a const
21424         [e6e50bd8d1e1]
21425
21426         * INSTALL, check.c, config.h.in, configure, configure.in, logging.c,
21427         sudo.c, sudo.h, sudo.pod:
21428         kerb5 support from fcusack@iconnet.net
21429         [8134027986e2]
21430
21431         * realpath.c, sudo_realpath.c:
21432         we no longer use realpath
21433         [0f5f64abc646]
21434
21435         * qualify.c:
21436         replaced by find_path.c
21437         [9e32a87e09c4]
21438
21439         * options.h:
21440         all options are now configure flags
21441         [ee6bd9610102]
21442
21443         * lex.yy.c:
21444         regen
21445         [bdbf8a18161f]
21446
21447         * getwd.c:
21448         superceded by getcwd.c
21449         [1e54ee0990b4]
21450
21451         * getpass.c:
21452         superceded by tgetpass.c
21453         [4e0d1edc30e3]
21454
21455         * SUPPORTED:
21456         superceded by RUNSON
21457         [854c5a21cb53]
21458
21459         * OPTIONS:
21460         No longer used now that we have configure options for everything.
21461         [9b1ae1c89259]
21462
21463         * configure:
21464         regen based on configure.in
21465         [3a4d73936973]
21466
21467         * sudo.cat, sudo.html, sudo.man, sudoers.cat, sudoers.html,
21468         sudoers.man, visudo.cat, visudo.html, visudo.man:
21469         regen based on sudo.pod, sudoers.pod, and visudo.pod
21470         [c267beb90778]
21471
21472 1998-12-11  Todd C. Miller  <Todd.Miller@courtesan.com>
21473
21474         * check.c:
21475         fix tty tickets in remove_timestamp (didn't use ':')
21476         [fd964a74a32b]
21477
21478 1998-12-07  Todd C. Miller  <Todd.Miller@courtesan.com>
21479
21480         * interfaces.c:
21481         close sock when we are done with it
21482         [95de0380f8a4]
21483
21484 1998-11-28  Todd C. Miller  <Todd.Miller@courtesan.com>
21485
21486         * parse.yacc:
21487         never say "error on line -1"
21488         [361db1491121]
21489
21490 1998-11-24  Todd C. Miller  <Todd.Miller@courtesan.com>
21491
21492         * configure.in:
21493         check for -lnsl before -lsocket
21494         [8e966d6bbcb5]
21495
21496         * configure.in:
21497         quote '[', ']' used in ranges correctly
21498         [fa4f9c6ff651]
21499
21500 1998-11-21  Todd C. Miller  <Todd.Miller@courtesan.com>
21501
21502         * config.h.in:
21503         add missing NO_ROOT_SUDO noted by drno@tsd.edu
21504         [c969f25d1667]
21505
21506 1998-11-20  Todd C. Miller  <Todd.Miller@courtesan.com>
21507
21508         * version.h:
21509         1.5.7
21510         [7a22de0bc148]
21511
21512         * INSTALL:
21513         more info for 1.5.7
21514         [30ad9e784799]
21515
21516         * README:
21517         update for 1.5.7
21518         [cd03a0a27cd2]
21519
21520         * parse.yacc:
21521         make increases of cm_list_size and ga_list_size be similar to
21522         increases of stacksize (ie: >= not > in initial compare).
21523         [6bd450a896c7]
21524
21525         * parse.yacc:
21526         when we get a syntax error, report it for the previous line since
21527         that's generally where the error occurred.
21528         [c4ac84058f0b]
21529
21530 1998-11-18  Todd C. Miller  <Todd.Miller@courtesan.com>
21531
21532         * config.h.in, configure.in, interfaces.c:
21533         add back check for sys/sockio.h but only use it if SIOCGIFCONF is
21534         not defined
21535         [d197f31fd1e4] [SUDO_1_5_7]
21536
21537         * config.h.in:
21538         define BSD_COMP for svr4
21539         [87ac1147ff79]
21540
21541         * check.c, check_sia.c, find_path.c, getcwd.c, getspwuid.c,
21542         goodpath.c, interfaces.c, logging.c, lsearch.c, parse.c, parse.lex,
21543         parse.yacc, putenv.c, secureware.c, strdup.c, sudo.c, sudo_setenv.c,
21544         testsudoers.c, tgetpass.c, utime.c, visudo.c:
21545         more -Wall
21546         [d98e2d32db2a]
21547
21548         * configure.in:
21549         kill check for sockio,h
21550         [4399779014c1]
21551
21552         * config.h.in:
21553         no more HAVE_SYS_SOCKIO_H
21554         [67484528e347]
21555
21556         * check.c, check_sia.c, find_path.c, getcwd.c, getspwuid.c,
21557         goodpath.c, interfaces.c, logging.c, lsearch.c, parse.c, parse.lex,
21558         parse.yacc, putenv.c, secureware.c, strdup.c, sudo.c, sudo_setenv.c,
21559         testsudoers.c, tgetpass.c, utime.c, visudo.c:
21560         -Wall
21561         [2b7e83976788]
21562
21563 1998-11-16  Todd C. Miller  <Todd.Miller@courtesan.com>
21564
21565         * sudo.c:
21566         add missing inform_user()
21567         [8689528c6d55]
21568
21569 1998-11-14  Todd C. Miller  <Todd.Miller@courtesan.com>
21570
21571         * find_path.c:
21572         return NOT_FOUND if given fully qualified path and it does not exist
21573         previously it would perror(ENOENT) which bypasses the option to not
21574         leak path info
21575         [ccbc3d0130ae]
21576
21577         * configure.in:
21578         for kerb5, check for -lkerb4, fall back on -lkrb for kerb, check for
21579         -ldes
21580         [c77d3b484ece]
21581
21582 1998-11-13  Todd C. Miller  <Todd.Miller@courtesan.com>
21583
21584         * INSTALL:
21585         tty tickets are user:tty now
21586         [a53a303a614d]
21587
21588         * check.c:
21589         when using tty tickets make it user:tty not user.tty as a username
21590         could have a '.' in it
21591         [3160b3f5c890]
21592
21593 1998-11-10  Todd C. Miller  <Todd.Miller@courtesan.com>
21594
21595         * sudo.c:
21596         add "ignoring foo found in ." for auth successful case
21597         [24257169e0bd]
21598
21599 1998-11-09  Todd C. Miller  <Todd.Miller@courtesan.com>
21600
21601         * sudo.c:
21602         add missing printf param
21603         [8c905124f777]
21604
21605 1998-11-08  Todd C. Miller  <Todd.Miller@courtesan.com>
21606
21607         * INSTALL, config.h.in, configure.in, find_path.c, sudo.c, sudo.h:
21608         go back to printing "command not found" unless --disable-path-info
21609         specified. Also, tell user when we ignore '.' in their path and it
21610         would have been used but for --with-ignore-dot.
21611         [066e118c11e4]
21612
21613         * check.c, sudo.c:
21614         Only one space after a colon, not two, in printf's
21615         [38452f4c8007]
21616
21617 1998-11-05  Todd C. Miller  <Todd.Miller@courtesan.com>
21618
21619         * sudo.pod:
21620         document setting $USER
21621         [80557fe6aede]
21622
21623         * check.c:
21624         fix bugs with prompt expansion
21625         [44c4fca5f009]
21626
21627         * sudo.c:
21628         set $USER for root too
21629         [4b525e1c6269]
21630
21631 1998-11-04  Todd C. Miller  <Todd.Miller@courtesan.com>
21632
21633         * getspwuid.c:
21634         typo
21635         [5107446f43e0]
21636
21637         * configure.in:
21638         HP-UX's iscomsec is in -lsec, not libc
21639         [03c9f700b795]
21640
21641         * configure.in:
21642         remove some entries in the OS case statement that did nothing
21643         [ea96e7e0f624]
21644
21645         * TROUBLESHOOTING:
21646         add "cd" section and flush out syslog section
21647         [5107f7363b78]
21648
21649         * Makefile.in:
21650         no more sudo-lex.yy.c
21651         [ed50826efbbc]
21652
21653         * check_sia.c:
21654         add custom prompt support
21655         [6a285cea10b7]
21656
21657         * testsudoers.c:
21658         kill perror("malloc") since we already have a good error messages
21659         pw_ent -> pw for brevity
21660         [eee31052921e]
21661
21662         * sudo.c:
21663         kill perror("malloc") since we already have a good error messages
21664         pw_ent -> pw for brevity set $USER if -u specified
21665         [9f3753461f8a]
21666
21667         * parse.yacc:
21668         kill perror("malloc") since we already have a good error messages
21669         [849459088ac3]
21670
21671         * parse.c:
21672         kill perror("malloc") since we already have a good error messages
21673         pw_ent -> pw for brevity when checking if %group matches, look up
21674         user in password file so that %groups works in a RunAs spec.
21675         [0489b4ecc59a]
21676
21677         * logging.c:
21678         kill perror("malloc") since we already have a good error messages
21679         [3191a18b3526]
21680
21681         * check.c, getspwuid.c, interfaces.c:
21682         kill perror("malloc") since we already have a good error messages
21683         pw_ent -> pw for brevity
21684         [7193fdb38cf9]
21685
21686 1998-11-03  Todd C. Miller  <Todd.Miller@courtesan.com>
21687
21688         * tgetpass.c:
21689         the prompt is expanded before tgetpass is called
21690         [0f408f508041]
21691
21692         * sudo.h:
21693         tgetpass now has the same args as getpass again
21694         [b6778cd9d79f]
21695
21696         * getspwuid.c:
21697         add iscomsec, issecure support
21698         [007be7ec7ae7]
21699
21700         * check.c:
21701         we now expand any %h or %u in the prompt before passing to tgetpass
21702         [f3db8c9ee387]
21703
21704         * configure.in:
21705         add check for syslog(3) in -lsocket, -lnsl, -linet
21706         [5a96f902ce00]
21707
21708         * config.h.in:
21709         add HAVE_ISCOMSEC and HAVE_ISSECURE
21710         [f640b0d4cf05]
21711
21712         * configure.in:
21713         add check for iscomsec in HP-UX
21714         [b28b249040f0]
21715
21716         * configure.in:
21717         check for issecure if we have getpwanam on SunOS some options are
21718         incompatible with DUNIX SIA check for dispcrypt on DUNIX
21719         [a49d05d9c913]
21720
21721 1998-10-25  Todd C. Miller  <Todd.Miller@courtesan.com>
21722
21723         * config.h.in:
21724         add HAVE_DISPCRYPT
21725         [7376d543d8d6]
21726
21727         * secureware.c:
21728         add back support for non-dispcrypt based checking for older DUNIX
21729         [977b98e936be]
21730
21731         * INSTALL:
21732         sia changes
21733         [c5387c06e30f]
21734
21735         * configure.in:
21736         SIA becomes the default on Digital UNIX now havbe --disable-sia to
21737         turn it off...
21738         [3b647558ea13]
21739
21740         * check.c:
21741         move local includes after system ones
21742         [b2abad4c4aef]
21743
21744 1998-10-24  Todd C. Miller  <Todd.Miller@courtesan.com>
21745
21746         * check.c, check_sia.c, sudo.h:
21747         add pass_warn() which prints out INCORRECT_PASSWORD or an insult to
21748         stderr
21749         [547cbf299661]
21750
21751         * check_sia.c:
21752         fix while loop in sia_attempt_auth() that checks the password. Only
21753         the first iteration was working.
21754         [1886fd1ac831]
21755
21756 1998-10-22  Todd C. Miller  <Todd.Miller@courtesan.com>
21757
21758         * aclocal.m4:
21759         don't trust UID_MAX or MAXUID
21760         [2aeddb1654d8]
21761
21762         * configure.in:
21763         fix two pastos
21764         [c18f0a10b75d]
21765
21766         * configure.in:
21767         fix typo
21768         [1eb3190ef12d]
21769
21770         * getspwuid.c, secureware.c:
21771         init crypt_type to INT_MAX since it is legal to be negative in DUNX
21772         5.0
21773         [cefbde04822d]
21774
21775         * configure.in:
21776         for secureware on dunix, use -lsecurity -ldb -laud -lm but check for
21777         -ldb since DUNX < 4.0 lacks it
21778         [e6b11d971068]
21779
21780 1998-10-21  Todd C. Miller  <Todd.Miller@courtesan.com>
21781
21782         * check.c, compat.h, config.h.in, configure.in, getspwuid.c,
21783         secureware.c, sudo.c, tgetpass.c:
21784         getprpwuid is broken in HP-UX 10.20 at least (it sleeps for 2
21785         minutes if the shadow files don't exist).
21786         [2f297d095004]
21787
21788 1998-10-20  Todd C. Miller  <Todd.Miller@courtesan.com>
21789
21790         * INSTALL:
21791         updated --with-editor blurb
21792         [77d8a3ea7328]
21793
21794         * TROUBLESHOOTING:
21795         tell how to put sudoers in a different dir
21796         [456cd20eb1d0]
21797
21798         * configure.in:
21799         add missing quotes around $with_editor
21800         [22881748ab1b]
21801
21802         * configure.in:
21803         typo in --with-editor bits
21804         [ab6964580681]
21805
21806         * INSTALL:
21807         I don't expect it to work on Solaris
21808         [1c2fceaaf56e]
21809
21810         * check.c:
21811         add back security/pam_misc.h
21812         [6ffd30033c1e]
21813
21814 1998-10-19  Todd C. Miller  <Todd.Miller@courtesan.com>
21815
21816         * INSTALL:
21817         remove dunix note since configure checks for this now
21818         [e9904512b8e8]
21819
21820         * configure.in:
21821         add check for broken dunix prot.h (4.0 < 4.0D is bad)
21822         [8a4c1e6aef3b]
21823
21824         * getspwuid.c, secureware.c, tgetpass.c:
21825         new dunix shadow code, use dispcrypt(3)
21826         [1b936bc7268c]
21827
21828         * config.h.in:
21829         add HAVE_INITPRIVS
21830         [4369f4c4f914]
21831
21832         * sudo.c:
21833         call initprivs() if we have it for getprpwuid later on
21834         [11cf5915d826]
21835
21836         * Makefile.in:
21837         clean pathnames.h too
21838         [5f1df3262613]
21839
21840         * configure.in:
21841         quote "Sorry, try again." with [] since it has a comma in it set
21842         LIBS when we add stuff to SUDO_LIBS set SECUREWARE when we find
21843         getprpwuid() so we can check for bigcrypt, set_auth_parameters, and
21844         initprivs later.
21845         [e226b0a3f250]
21846
21847         * INSTALL:
21848         update Digital UNIX note about acl.h
21849         [80132b71d73a]
21850
21851         * INSTALL:
21852         add --with-sia
21853         --without-root-sudo -> --disable-root-sudo some reordering
21854         [198386358818]
21855
21856         * secureware.c:
21857         add whitespace
21858         [4aadaf1a54b0]
21859
21860         * Makefile.in, check.c, config.h.in, configure.in, logging.c, sudo.h:
21861         add SIA support
21862         [fa3ddbb9cc51]
21863
21864         * check_sia.c:
21865         Initial revision
21866         [2968551d40e4]
21867
21868 1998-10-18  Todd C. Miller  <Todd.Miller@courtesan.com>
21869
21870         * configure.in:
21871         when checking for -lsocket, -lnsl, and -linet, check for the
21872         specific functions we need from them.
21873         [8d33e64362a3]
21874
21875         * config.h.in, sudo.h:
21876         move Syslog_* defs into sudo.h
21877         [03d1774f25c7]
21878
21879         * Makefile.in, sudo.h:
21880         added check_secureware
21881         [e46e3cbb9a97]
21882
21883         * configure.in:
21884         finished adding AC_MSG_CHECKING and AC_MSG_RESULT bits
21885         [dbefe1856503]
21886
21887         * insults.h:
21888         don't define CLASSIC_INSULTS and CSOPS_INSULTS if no other sets
21889         defined. configure now does that for us
21890         [e4520ea0581f]
21891
21892         * configure.in:
21893         move some --with options around change a bunch of echo's to
21894         AC_MSG_CHECKING, AC_MSG_RESULT pairs
21895         [ffdf6869fdd7]
21896
21897         * configure.in:
21898         change $with_foo-bar -> $with_foo_bar kill extra " that caused a
21899         syntax error add some echo verbage
21900         [3278c49bf74b]
21901
21902 1998-10-17  Todd C. Miller  <Todd.Miller@courtesan.com>
21903
21904         * check.c:
21905         moved SecureWare stuff into secureware.c
21906         [42d3d3ac35dc]
21907
21908         * secureware.c:
21909         Initial revision
21910         [aa7f72a249cf]
21911
21912         * INSTALL:
21913         update url to solaris gcc bins
21914         [36a3eb668777]
21915
21916         * INSTALL:
21917         change option formatter and flesh out someentries
21918         [6fbd1db4a8ad]
21919
21920         * TROUBLESHOOTING, sudo.pod, visudo.pod:
21921         environmental variable -> environment variable
21922         [6f14d708e32d]
21923
21924         * BUGS:
21925         everything is now done via configure
21926         [c217858f58ab]
21927
21928         * README:
21929         prev rev was 1.5.6
21930         [7b4177103c35]
21931
21932         * Makefile.in:
21933         passing SUDOERS_MODE, SUDOERS_UID, SUDOERS_GID correctly
21934         [31c6b0a5e0e2]
21935
21936         * config.h.in:
21937         SUDOERS_MODE, SUDOERS_UID, SUDOERS_GID now come from the Makefile
21938         [d406a1ef6d25]
21939
21940         * Makefile.in:
21941         merge OSDEFS and OPTIONS into DEFS get sudoers_uid, sudoers_gid,
21942         sudoers_mode from configure
21943         [1c509500655a]
21944
21945         * configure.in:
21946         SUDOERS_MODE, SUDOERS_UID, and SUDOERS_GID now get substituted into
21947         the Makefile, not config.h
21948         [d4482f1492fe]
21949
21950         * INSTALL:
21951         document all --with/--enable options
21952         [22d81b312d7f]
21953
21954 1998-10-15  Todd C. Miller  <Todd.Miller@courtesan.com>
21955
21956         * insults.h:
21957         options.h is no more
21958         [560946a33f7f]
21959
21960         * config.h.in:
21961         assimilated options.h
21962         [dd8ce74613c1]
21963
21964         * configure.in:
21965         moved options from options.h to configure
21966         [d39662f71b4e]
21967
21968         * check.c, find_path.c, getspwuid.c, goodpath.c, interfaces.c,
21969         logging.c, parse.c, parse.lex, parse.yacc, sudo.c, sudo.pod,
21970         sudo_setenv.c, visudo.c:
21971         no more options.h
21972         [43924bf0858d]
21973
21974         * INSTALL, Makefile.in, PORTING, TROUBLESHOOTING:
21975         remove references to options.h
21976         [ef3474295395]
21977
21978         * dce_pwent.c, interfaces.c, sudo.c:
21979         kill sys/time.h
21980         [4d833f0034e4]
21981
21982         * tgetpass.c:
21983         if select return < -1 still prompt for pw
21984         [e0009e5c93a2]
21985
21986         * options.h:
21987         convert LOGGING, LOGFAC, MAXLOGFILELEN, IGNORE_DOT_PATH into
21988         configure options
21989         [e60a1e546516]
21990
21991         * parse.c:
21992         FAST_MATCH is no longer an optino
21993         [c448dbb3464b]
21994
21995         * check.c:
21996         remove_timestamp() if timestamp is preposterous
21997         [70d9a86c6ecd]
21998
21999         * options.h:
22000         convert more options to --with/--enable
22001         [34646d9b09dc]
22002
22003         * INSTALL, aclocal.m4:
22004         logfile -> logpath
22005         [42de502bc637]
22006
22007         * configure.in:
22008         convert more options into --with and --enable
22009         [92d0898c9844]
22010
22011         * tgetpass.c:
22012         catch EINTR in select and restart
22013         [f045d2f234d7]
22014
22015         * logging.c:
22016         sys/errno -> errno
22017         [7f0c5beab6f2]
22018
22019 1998-09-24  Todd C. Miller  <Todd.Miller@courtesan.com>
22020
22021         * sudo.c:
22022         UMASK -> SUDO_UMASK.
22023         [48f308661514]
22024
22025         * check.c, logging.c:
22026         time.h, not sys/time.h
22027         [91de049c79e4]
22028
22029 1998-09-21  Todd C. Miller  <Todd.Miller@courtesan.com>
22030
22031         * logging.c:
22032         MAILER -> _PATH_SENDMAIL
22033         [df65d6896639]
22034
22035         * INSTALL, configure.in:
22036         no more --with-C2, now it is --disable-shadow
22037         [18bfcab3b9ab]
22038
22039         * aclocal.m4, check.c, compat.h, config.h.in, configure.in,
22040         getspwuid.c, sudo.c, tgetpass.c:
22041         new shadow password scheme. Always include shadow support if the
22042         platform supports it and the user did not disable it via configure
22043         [2135d93bb4a9]
22044
22045 1998-09-20  Todd C. Miller  <Todd.Miller@courtesan.com>
22046
22047         * configure.in:
22048         --with-getpass -> --{enable,disable}-tgetpass
22049         [451b33fdd4c7]
22050
22051         * Makefile.in:
22052         pathnames.h -> pathnames.h.in
22053         [b109022eca69]
22054
22055         * check.c:
22056         fix version string
22057         [761b25c314ea]
22058
22059         * check.c:
22060         move pam_conv to be static to auth function remove pam_misc.h
22061         (solaris doesn't have one)
22062         [a682e4da987a]
22063
22064         * aclocal.m4:
22065         _CONFIG_PATH_* -> _PATH_* or _PATH_SUDO_* kill SUDO_PROG_PWD
22066         [e6005d0599b5]
22067
22068         * configure.in:
22069         munge pathnames.h.in -> pathnames.h kill SUDO_PROG_PWD
22070         [24c0ac2155ef]
22071
22072         * pathnames.h.in:
22073         convert to pathnames.h.in
22074         [013bddf7f684]
22075
22076 1998-09-19  Todd C. Miller  <Todd.Miller@courtesan.com>
22077
22078         * configure.in:
22079         fix typo in sysv4 matching case /.
22080         [2994c4f88cf5]
22081
22082 1998-09-18  Todd C. Miller  <Todd.Miller@courtesan.com>
22083
22084         * check.c:
22085         pam stuff needs to run as root, not user, for shadow passwords
22086         [d94ff75de503]
22087
22088 1998-09-17  Todd C. Miller  <Todd.Miller@courtesan.com>
22089
22090         * BUGS, INSTALL, README, configure.in:
22091         updated version
22092         [775adc7de7ac]
22093
22094         * Makefile.in, check.c, compat.h, config.h.in, dce_pwent.c,
22095         emul/utime.h, find_path.c, getspwuid.c, goodpath.c, ins_2001.h,
22096         ins_classic.h, ins_csops.h, ins_goons.h, insults.h, interfaces.c,
22097         logging.c, options.h, parse.c, parse.lex, parse.yacc,
22098         pathnames.h.in, putenv.c, strdup.c, sudo.c, sudo.h, sudo_setenv.c,
22099         testsudoers.c, tgetpass.c, utime.c, visudo.c:
22100         updated version
22101         [5ca599fb6b93]
22102
22103         * check.c:
22104         user version.h for long message
22105         [47a52ac7e542]
22106
22107         * check.c:
22108         this is version 1.5.6
22109         [8451ac79eee2]
22110
22111 1998-09-16  Todd C. Miller  <Todd.Miller@courtesan.com>
22112
22113         * Makefile.in:
22114         remove errant backslash
22115         [0222a8a650ff]
22116
22117 1998-09-15  Todd C. Miller  <Todd.Miller@courtesan.com>
22118
22119         * options.h, parse.yacc, pathnames.h.in:
22120         fix version string
22121         [fdee73255d64] [SUDO_1_5_6]
22122
22123         * BUGS, CHANGES, TODO:
22124         updtaed for 1.5.6
22125         [752443bf7f26]
22126
22127         * RUNSON:
22128         updated for 1.5.6
22129         [0f878123fe6a]
22130
22131 1998-09-14  Todd C. Miller  <Todd.Miller@courtesan.com>
22132
22133         * interfaces.c:
22134         kill unused localhost_mask var copy if name to ifr_tmp after we zero
22135         it
22136         [8e89c364cef2]
22137
22138 1998-09-13  Todd C. Miller  <Todd.Miller@courtesan.com>
22139
22140         * INSTALL:
22141         Better description of new vs. old sudoers modes fix some typos
22142         better description of /usr/ucb/cc gotchas on slowaris
22143         [c00b2a6fc1e8]
22144
22145         * Makefile.in:
22146         add sample.pam
22147         [ec7f6cc19b00]
22148
22149         * sudo.c:
22150         set NewArgv[0] to user_shell, not basename(user_shell)
22151         [1e907cbc9f7b]
22152
22153 1998-09-12  Todd C. Miller  <Todd.Miller@courtesan.com>
22154
22155         * README:
22156         mention TROUBLESHOOTING more fix some typos
22157         [2c2e6907d4a4]
22158
22159         * configure.in:
22160         move --enable/--disable to be after --with
22161         [9b30097f76c1]
22162
22163         * INSTALL:
22164         document --enable/--disable
22165         [c522362e38a8]
22166
22167         * INSTALL:
22168         document --with-pam
22169         [7e38932c78ac]
22170
22171 1998-09-11  Todd C. Miller  <Todd.Miller@courtesan.com>
22172
22173         * configure.in:
22174         Add message for pam users
22175         [d224f277e3cd]
22176
22177         * sample.pam:
22178         Initial revision
22179         [3a84d7045f54]
22180
22181         * config.h.in:
22182         fix HAVE_PAM
22183         [2f0f303ebd88]
22184
22185         * check.c, config.h.in, configure.in:
22186         pam support, from Gary Calvin <GCalvin@kenwoodusa.com>
22187         [ea3e0a72d707]
22188
22189 1998-09-10  Todd C. Miller  <Todd.Miller@courtesan.com>
22190
22191         * config.h.in:
22192         add HOST_IN_LOG and WRAP_LOG
22193         [822c36eeb6a8]
22194
22195         * logging.c:
22196         add WRAP_LOG and HOST_IN_LOG
22197         [3cf6052bd27e]
22198
22199         * configure.in:
22200         add --enable-log-host and --enable-log-wrap
22201         [c968cc12b353]
22202
22203         * aclocal.m4:
22204         use AC_DEFINE_UNQUOTED for --with-logfile and --with-timedir
22205         [915fef7e11a1]
22206
22207 1998-09-09  Todd C. Miller  <Todd.Miller@courtesan.com>
22208
22209         * compat.h:
22210         add howmany macro
22211         [9107a057a7c8]
22212
22213         * tgetpass.c:
22214         include sys/param.h to get howmany macro
22215         [7e908b5e1f32]
22216
22217 1998-09-08  Todd C. Miller  <Todd.Miller@courtesan.com>
22218
22219         * OPTIONS, options.h, parse.yacc, sudo.c, testsudoers.c, visudo.c:
22220         add RUNAS_DEFAULT
22221         [1e76398ea3fd]
22222
22223 1998-09-07  Todd C. Miller  <Todd.Miller@courtesan.com>
22224
22225         * fnmatch.c:
22226         bring in stdio.h for NULL
22227         [69c016610cbb]
22228
22229         * aclocal.m4:
22230         allow /bin/{ksh,bach} and /usr/bin/{ksh,bash} as sh
22231         [15ab2972f8d0]
22232
22233         * sudo.c:
22234         use HAVE_SET_AUTH_PARAMETERS
22235         [8abfdc8c80f7]
22236
22237         * config.h.in:
22238         add HAVE_SET_AUTH_PARAMETERS
22239         [673a5ebd5539]
22240
22241         * configure.in:
22242         add *-*-hiuxmpp* add test for set_auth_parameters() if secureware
22243         [a401f5a7469a]
22244
22245         * config.sub:
22246         add support for HI-UX/MPP SR220001 02-03 0 SR2201
22247         [cb657b7acaae]
22248
22249         * interfaces.c:
22250         initialize previfname
22251         [26a1902f56dc]
22252
22253         * interfaces.c:
22254         Don't use SIOCGIFADDR, we don't need it Use SIOCGIFFLAGS if we have
22255         it check ifr_flags against IFF_UP and IFF_LOOPBACK instead of
22256         kludging it
22257         [fa5c890c313b]
22258
22259         * configure.in:
22260         typo
22261         [bff579fbe95c]
22262
22263         * Makefile.in:
22264         don't need special build line for sudo.tab.o
22265         [10c0a0a912e4]
22266
22267         * Makefile.in:
22268         don't clean sudo.tab.[ch]
22269         [c40d5968efbb]
22270
22271         * sudo.c:
22272         Sudo should prompt for a password before telling the user that a
22273         command could not be found.
22274         [d718c85a0047]
22275
22276         * BUGS:
22277         for 1.5.6
22278         [0cc1fe5b9129]
22279
22280         * INSTALL, README:
22281         no longer require yacc
22282         [d9096fc5b8b6]
22283
22284         * Makefile.in:
22285         typo
22286         [70feb1aefbd5]
22287
22288         * Makefile.in:
22289         y.tab -> sudo.tab include pre-yacc'd parse.yacc
22290         [cc802025fd44]
22291
22292         * parse.lex:
22293         include sudo.tab.h, not y.tab.h don't break out of command args if
22294         you get a '='
22295         [728ad26dbda5]
22296
22297         * insults.h:
22298         fix version ,
22299         [242bbce1b2d4]
22300
22301         * ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h:
22302         fix version
22303         [2bb9086fea1e]
22304
22305         * compat.h:
22306         fix version
22307         [7e634d498ce6]
22308
22309         * getcwd.c:
22310         getcwd(3) from OpenBSD for those without it.
22311         [6c68d0df8f6c]
22312
22313         * sudo.h:
22314         HAVE_GETWD -> HAVE_GETCWD
22315         [2ad1e64d60c0]
22316
22317         * configure.in:
22318         pretend sunos doesn't have getcwd(3) since it opens a pipe to
22319         getpwd!
22320         [677992ba5a6a]
22321
22322         * parse.c:
22323         use NAMLEN() macro
22324         [8f5685aa3165]
22325
22326         * fnmatch.c:
22327         remove duplicate include of string.h
22328         [6024f3051ac3]
22329
22330         * configure.in:
22331         call SUDO_TYPE_DEV_T and SUDO_TYPE_INO_T
22332         [3d82a9c22cc2]
22333
22334         * aclocal.m4:
22335         add SUDO_TYPE_DEV_T and SUDO_TYPE_INO_T
22336         [53fbc47282f9]
22337
22338         * config.h.in:
22339         add dev_t and ino_t
22340         [5929bb0c7e1a]
22341
22342 1998-07-28  Todd C. Miller  <Todd.Miller@courtesan.com>
22343
22344         * check.c:
22345         fix OTP_ONLY for opie
22346         [7edcfa78f2ec]
22347
22348 1998-06-24  Todd C. Miller  <Todd.Miller@courtesan.com>
22349
22350         * testsudoers.c, tgetpass.c:
22351         include stdlib.h for malloc proto
22352         [c9f4b99a2fe9]
22353
22354 1998-05-19  Todd C. Miller  <Todd.Miller@courtesan.com>
22355
22356         * Makefile.in:
22357         make update_version saner
22358         [d522f93ee04a]
22359
22360         * config.h.in:
22361         add HAVE_WAITPID, HAVE_WAIT3, and sudo_waitpid()
22362         [c9a2d21dc608]
22363
22364         * configure.in:
22365         check for waitpid and wait3 or no waitpid
22366         [1f18c3224184]
22367
22368         * logging.c:
22369         used waitpid or wait3 if we have 'em
22370         [391c3279ee65]
22371
22372 1998-05-02  Todd C. Miller  <Todd.Miller@courtesan.com>
22373
22374         * visudo.c:
22375         fix some fprintf args, ariel@oz.engr.sgi.com (Ariel Faigon)
22376         [fbf53b18178f]
22377
22378 1998-04-28  Todd C. Miller  <Todd.Miller@courtesan.com>
22379
22380         * configure.in:
22381         don't need to explicately mention -lsocket -lnsl for sequent
22382         [1898dc055352]
22383
22384 1998-04-25  Todd C. Miller  <Todd.Miller@courtesan.com>
22385
22386         * configure.in:
22387         dynix should not link with -linet
22388         [278a4b9cfe2a]
22389
22390 1998-04-10  Todd C. Miller  <Todd.Miller@courtesan.com>
22391
22392         * INSTALL:
22393         mention that HP-UX doesn't ship with yacc
22394         [bde5147198c0]
22395
22396 1998-04-07  Todd C. Miller  <Todd.Miller@courtesan.com>
22397
22398         * check.c:
22399         ignore kerberos if we can't get the local realm
22400         [1e311a091a27]
22401
22402 1998-04-06  Todd C. Miller  <Todd.Miller@courtesan.com>
22403
22404         * BUGS, INSTALL, README, configure.in:
22405         ++version
22406         [499ffc746018]
22407
22408         * version.h:
22409         ++
22410         [35ba1ee01bd3]
22411
22412         * Makefile.in, check.c, config.h.in, dce_pwent.c, emul/utime.h,
22413         find_path.c, getcwd.c, getspwuid.c, goodpath.c, interfaces.c,
22414         logging.c, parse.c, parse.lex, putenv.c, strdup.c, sudo.c, sudo.h,
22415         sudo_setenv.c, testsudoers.c, tgetpass.c, utime.c, visudo.c:
22416         updated version
22417         [b4990a513f31]
22418
22419         * check.c, sudo.h:
22420         fix version
22421         [5710795834e8]
22422
22423         * getcwd.c:
22424         don't use popen/pclose. Do it inline.
22425         [29e57b0646a4]
22426
22427         * lsearch.c:
22428         add rcsid
22429         [b2b55c39858d]
22430
22431         * sudo.c:
22432         typo
22433         [d381ac39ed0f]
22434
22435         * check.c, compat.h, ins_2001.h, ins_classic.h, ins_csops.h,
22436         ins_goons.h, insults.h, options.h, parse.yacc, pathnames.h.in,
22437         sudo.h:
22438         updated version
22439         [462d6e1a2d75]
22440
22441         * check.c, find_path.c, parse.c, sudo.c, testsudoers.c:
22442         MAX* + 1 -> MAX*
22443         [2c2eeb78d34f]
22444
22445         * Makefile.in:
22446         getwd.c -> getcwd.c
22447         [7d718c32fc02]
22448
22449         * config.h.in:
22450         kill HAVE_GETWD
22451         [6ad3d702343f]
22452
22453         * configure.in:
22454         getcwd, not getwd
22455         [33e5b9841f58]
22456
22457         * getcwd.c:
22458         use MAX* not MAX* + 1 always run pwd as using getwd() defeats the
22459         purpose
22460         [24e58d340161]
22461
22462 1998-03-31  Todd C. Miller  <Todd.Miller@courtesan.com>
22463
22464         * OPTIONS, options.h:
22465         add STUB_LOAD_INTERFACES
22466         [d747cb23ca83]
22467
22468         * Makefile.in, check.c, compat.h, config.h.in, dce_pwent.c,
22469         emul/utime.h, find_path.c, getspwuid.c, getwd.c, goodpath.c,
22470         ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h, insults.h,
22471         interfaces.c, logging.c, options.h, parse.c, parse.lex, parse.yacc,
22472         pathnames.h.in, putenv.c, strdup.c, sudo.c, sudo.h, sudo_setenv.c,
22473         testsudoers.c, tgetpass.c, utime.c, visudo.c:
22474         updated version
22475         [0798229312cc]
22476
22477         * configure.in:
22478         support *-ccur-sysv4 and fix two typos
22479         [24a823ad7cc9]
22480
22481 1998-03-28  Todd C. Miller  <Todd.Miller@courtesan.com>
22482
22483         * configure.in:
22484         don't echo about with_logfile and with_timedir
22485         [31e4a1e2d9ad]
22486
22487         * INSTALL:
22488         document --with-logfile and --with-timedir
22489         [674f811a40e0]
22490
22491         * aclocal.m4:
22492         support --with-logfile and --with-timedir
22493         [2fc36b35db12]
22494
22495         * configure.in:
22496         Add --with-logfile and --with-timedir
22497         [09045bf07e29]
22498
22499         * sudo.c:
22500         change size computation of NewArgv for UNICOS
22501         [b50df07da3a1]
22502
22503 1998-02-19  Todd C. Miller  <Todd.Miller@courtesan.com>
22504
22505         * configure.in:
22506         treate -*-sysv4* like *-*-svr4
22507         [471b7ef4dbf2]
22508
22509 1998-02-18  Todd C. Miller  <Todd.Miller@courtesan.com>
22510
22511         * configure.in:
22512         fix spacing for --with-authenticate help
22513         [8321cb37c410]
22514
22515         * Makefile.in, check.c, compat.h, config.h.in, dce_pwent.c,
22516         emul/utime.h, find_path.c, getspwuid.c, getwd.c, goodpath.c,
22517         ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h, insults.h,
22518         interfaces.c, logging.c, options.h, parse.c, parse.lex, parse.yacc,
22519         pathnames.h.in, putenv.c, strdup.c, sudo.c, sudo.h, sudo_setenv.c,
22520         testsudoers.c, tgetpass.c, utime.c, visudo.c:
22521         updated version
22522         [dc1ab97312eb]
22523
22524         * parse.yacc:
22525         fix off by one error in push macro
22526         [bece59c8c3a9]
22527
22528 1998-02-17  Todd C. Miller  <Todd.Miller@courtesan.com>
22529
22530         * configure.in:
22531         removed bogus alloca hack
22532         [a68dd720462d]
22533
22534         * check.c:
22535         added AIX 4.x authenticate() support
22536         [12985eb448a0]
22537
22538         * parse.yacc:
22539         include alloca.h if using bison and not gcc and it exists. fixes an
22540         alloca problem on hpux 10.x
22541         [e3b5c4f26072]
22542
22543         * INSTALL:
22544         mention --with-authenticate
22545         [78a1c96820e7]
22546
22547         * configure.in:
22548         added AIX authenticate() support
22549         [c983193ec252]
22550
22551         * config.h.in:
22552         add HAVE_AUTHENTICATE
22553         [7b0e5f5db5d9]
22554
22555         * interfaces.c:
22556         dynamically size ifconf buffer
22557         [10afb0e9b2f9]
22558
22559         * configure.in:
22560         quote '[' and ']'
22561         [8fc38a4defad]
22562
22563         * Makefile.in, check.c, compat.h, config.h.in, dce_pwent.c,
22564         emul/utime.h, find_path.c, getspwuid.c, getwd.c, goodpath.c,
22565         ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h, insults.h,
22566         logging.c, options.h, parse.c, parse.lex, parse.yacc,
22567         pathnames.h.in, putenv.c, strdup.c, sudo.c, sudo.h, sudo_setenv.c,
22568         testsudoers.c, tgetpass.c, utime.c, visudo.c:
22569         updated version
22570         [5f66de71ec61]
22571
22572         * visudo.pod:
22573         add ERRORS section
22574         [3df3edb73cf6]
22575
22576 1998-02-16  Todd C. Miller  <Todd.Miller@courtesan.com>
22577
22578         * TROUBLESHOOTING:
22579         add busy stmp file explanation
22580         [6c555d469b6f]
22581
22582 1998-02-15  Todd C. Miller  <Todd.Miller@courtesan.com>
22583
22584         * configure.in:
22585         the name of the cached var that signals whether or not you are cross
22586         compiling changed. It is now ac_cv_prog_cc_cross
22587         [123911c0658c]
22588
22589 1998-02-11  Todd C. Miller  <Todd.Miller@courtesan.com>
22590
22591         * INSTALL:
22592         mention glibc 2.07 is fixed wrt lsearch()\.
22593         [ded758524582]
22594
22595 1998-02-07  Todd C. Miller  <Todd.Miller@courtesan.com>
22596
22597         * sample.sudoers, sudoers.pod:
22598         better example of su but not root su
22599         [b3199610be21]
22600
22601 1998-02-06  Todd C. Miller  <Todd.Miller@courtesan.com>
22602
22603         * Makefile.in, check.c, compat.h, config.h.in, dce_pwent.c,
22604         emul/utime.h, find_path.c, getspwuid.c, getwd.c, goodpath.c,
22605         ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h, insults.h,
22606         interfaces.c, logging.c, options.h, parse.c, parse.lex, parse.yacc,
22607         pathnames.h.in, putenv.c, strdup.c, sudo.c, sudo.h, sudo_setenv.c,
22608         testsudoers.c, tgetpass.c, utime.c, visudo.c:
22609         updated version
22610         [46922b84e86b]
22611
22612         * Makefile.in:
22613         correct regexp for updating version
22614         [8032728b2a8a]
22615
22616         * tgetpass.c:
22617         remove bogus flush of stderr spew prompt before turning off echo.
22618         Seems to fix a weird problem where if sudo complained about a bogus
22619         stamp file the user would sometimes not have a chance to enter a
22620         password
22621         [7aa1493cc141]
22622
22623         * check.c:
22624         fix bogus flush of stderr
22625         [6d047871c5e8]
22626
22627         * sudo.c:
22628         close fd's <=2 not <=3 and move that chunk of code up
22629         [553e4faac195]
22630
22631         * configure.in:
22632         support hpux1[0-9] not just hpux10
22633         [5a34a000ff8a]
22634
22635 1998-01-30  Todd C. Miller  <Todd.Miller@courtesan.com>
22636
22637         * parse.c:
22638         set sudoers_fp to nil after closing
22639         [221a8b4bbf34]
22640
22641 1998-01-24  Todd C. Miller  <Todd.Miller@courtesan.com>
22642
22643         * config.guess, config.sub:
22644         updated from autoconf 2.12
22645         [6fc86a0fc61b]
22646
22647         * configure.in:
22648         add *-*-svr4 rule
22649         [38f0427f7c9d]
22650
22651 1998-01-23  Todd C. Miller  <Todd.Miller@courtesan.com>
22652
22653         * tgetpass.c:
22654         fix select usage for high fd's (dynamically allocate readfds)
22655         [c2d1f76e0321]
22656
22657         * check.c:
22658         kill extra whitespace
22659         [d784b6c9c514]
22660
22661         * sudo.c:
22662         do an initgroups() before running a command, unless the target user
22663         is root.
22664         [4ca561287480]
22665
22666 1998-01-22  Todd C. Miller  <Todd.Miller@courtesan.com>
22667
22668         * TROUBLESHOOTING:
22669         tell people to use tabs, not spaces, in syslog.conf
22670         [8ae90a205134]
22671
22672 1998-01-21  Todd C. Miller  <Todd.Miller@courtesan.com>
22673
22674         * Makefile.in, config.h.in, dce_pwent.c, emul/utime.h, getwd.c,
22675         parse.lex, putenv.c, strdup.c, testsudoers.c, utime.c:
22676         updated version
22677         [4d855ff5de26]
22678
22679         * check.c, find_path.c, getspwuid.c, goodpath.c, interfaces.c,
22680         logging.c, parse.c, sudo.c, sudo_setenv.c, tgetpass.c, visudo.c:
22681         updated version
22682         [8e007e178b33]
22683
22684         * compat.h, ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h,
22685         insults.h, options.h, parse.yacc, pathnames.h.in, sudo.h:
22686         updated version
22687         [9ddea5c8814d]
22688
22689         * Makefile.in:
22690         more tweaks to update_version
22691         [047698752855]
22692
22693         * Makefile.in:
22694         fixed up update_version rule
22695         [47b6fa34b77f]
22696
22697         * configure.in:
22698         ++version
22699         [c1ca664e30b7]
22700
22701         * Makefile.in:
22702         removed supe of check.c
22703         [8f340a05296a]
22704
22705         * INSTALL:
22706         ++version I missed
22707         [a298e6c17491]
22708
22709         * RUNSON:
22710         updated
22711         [a14f6057bc15]
22712
22713         * BUGS, INSTALL, Makefile.in, README, check.c, compat.h, config.h.in,
22714         dce_pwent.c, emul/utime.h, find_path.c, getspwuid.c, getwd.c,
22715         goodpath.c, ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h,
22716         insults.h, interfaces.c, logging.c, options.h, parse.c, parse.lex,
22717         parse.yacc, pathnames.h.in, putenv.c, strdup.c, sudo.c, sudo.h,
22718         sudo_setenv.c, testsudoers.c, tgetpass.c, utime.c, version.h,
22719         visudo.c:
22720         updated version
22721         [02231b1a3ab3]
22722
22723         * CHANGES:
22724         updated for 1.5.5
22725         [634e5fcaf40b]
22726
22727         * Makefile.in:
22728         add rules to update version stuff in files so I don't need to do it
22729         by hand
22730         [3620ad60485a]
22731
22732         * sudo.h:
22733         sudoers_fp is now extern
22734         [88c6e9b9ea84]
22735
22736         * sudo.c:
22737         in check_sudoers, cache the sudoers file handle in sudoers_fp so we
22738         don't have to open it again in the parse. This may help with weird
22739         solaris problems where EAGAIN sometime occurrs.
22740         [d3c26451ed1d]
22741
22742         * parse.c:
22743         sudoers file open is now done only in check_sudoers() so we just do
22744         a rewind() instead of an open. May help people on solaris who were
22745         getting EAGAIN.
22746         [c8b8c7722fa5]
22747
22748 1998-01-16  Todd C. Miller  <Todd.Miller@courtesan.com>
22749
22750         * INSTALL:
22751         mention that newer glibc is fixed
22752         [20f06f5d3ef3]
22753
22754 1998-01-13  Todd C. Miller  <Todd.Miller@courtesan.com>
22755
22756         * sudo.c:
22757         newer irix uses _RLDN32_* envariables for 32-bit binaries so ignore
22758         _RLD* instead of _RLD_*
22759         [1e22c588d602]
22760
22761         * parse.c:
22762         typo
22763         [d0b7cb85f08a]
22764
22765         * parse.c:
22766         fix that bug for real
22767         [5a6eeca6d04b]
22768
22769         * INSTALL:
22770         document Linux's libc6 brokenness.
22771         [0246c1aa64ee]
22772
22773         * parse.yacc:
22774         -Wall
22775         [d0e452fb1e2d]
22776
22777         * RUNSON:
22778         updated
22779         [4949a1bbd0a9] [SUDO_1_5_4]
22780
22781         * TROUBLESHOOTING:
22782         remind people to HUP syslogd
22783         [590962faa4f0]
22784
22785         * Makefile.in:
22786         add -O flag to tar
22787         [622d02de339d]
22788
22789         * RUNSON:
22790         updated
22791         [a72930d6e615]
22792
22793         * TODO:
22794         updated
22795         [4a51bd458390]
22796
22797         * sudo.pod:
22798         remove author's email addr. people should mail sudo-bugs
22799         [9b6bbdb3a6d9]
22800
22801         * INSTALL:
22802         fix version
22803         [246274c6c8af]
22804
22805         * README, check.c, compat.h, config.h.in, configure.in, dce_pwent.c,
22806         find_path.c, getspwuid.c, getwd.c, goodpath.c, ins_2001.h,
22807         ins_classic.h, ins_csops.h, ins_goons.h, insults.h, interfaces.c,
22808         logging.c, options.h, parse.c, parse.lex, parse.yacc,
22809         pathnames.h.in, putenv.c, strdup.c, sudo.c, sudo.h, sudo_setenv.c,
22810         testsudoers.c, tgetpass.c, utime.c, version.h, visudo.c:
22811         ++version
22812         [f532ff4ee766]
22813
22814         * RUNSON:
22815         updated
22816         [62d5c71358b5]
22817
22818         * INSTALL, Makefile.in:
22819         ++version
22820         [1a7c7628edfc]
22821
22822         * CHANGES:
22823         updated fort 1.5.4
22824         [7e4873508c99]
22825
22826         * check.c:
22827         exit(1) if user enters no passwd
22828         [f382c0e35e4e]
22829
22830         * BUGS:
22831         ++version
22832         [fab6a867ab67]
22833
22834         * parse.c:
22835         commands can start with ./* not just /* -- fixes a serious security
22836         hole.
22837         [244d2fe35ee3]
22838
22839 1997-12-21  Todd C. Miller  <Todd.Miller@courtesan.com>
22840
22841         * sudo.c:
22842         Don't set the tty variable to NULL when we lack a tty, leave it as
22843         "unknown".
22844         [193b26daba03]
22845
22846 1997-11-23  Todd C. Miller  <Todd.Miller@courtesan.com>
22847
22848         * sample.sudoers:
22849         fix usage of (username) in conjunction with , and !
22850         [7ae68607f68f]
22851
22852         * visudo.c:
22853         catch the case where the user is not in the passwd file
22854         [31650258deb0]
22855
22856         * tgetpass.c:
22857         use fileno(input) + 1 instead of getdtablesize() as the nfds arg to
22858         select(2)
22859         [60ab2d9a9ee8]
22860
22861         * sudo.c:
22862         define tty global to an initial value to avoid dumping core in
22863         logging functions when passwd file is unavailable.
22864         [77056c7bc908]
22865
22866         * sudo.c:
22867         do the set_perms(PERM_USER, sudo_mode) after we have gotten the
22868         passwd entry
22869         [1fdb8e579a5a]
22870
22871         * sudo.pod:
22872         talk about problem of ALL
22873         [1cd1905c9f6f]
22874
22875 1997-10-10  Todd C. Miller  <Todd.Miller@courtesan.com>
22876
22877         * README:
22878         new web location
22879         [d24dc26f6da5]
22880
22881         * INSTALL:
22882         fdesc bug is fixed in Open/Net BSD
22883         [7d4d81b08ac3]
22884
22885         * HISTORY:
22886         updates from Nieusma
22887         [3a43769a1b78]
22888
22889 1997-10-09  Todd C. Miller  <Todd.Miller@courtesan.com>
22890
22891         * dce_pwent.c:
22892         move compat.h after the system includes
22893         [5ea43a5968ac]
22894
22895 1997-08-06  Todd C. Miller  <Todd.Miller@courtesan.com>
22896
22897         * logging.c:
22898         save errno from being clobbered by wait(). From Theo
22899         [f2d1c48cd592]
22900
22901 1997-05-21  Todd C. Miller  <Todd.Miller@courtesan.com>
22902
22903         * compat.h:
22904         fix an occurence of setresuid -> setreuid (typo)
22905         [394de35c9b1c]
22906
22907 1997-03-19  Todd C. Miller  <Todd.Miller@courtesan.com>
22908
22909         * install-sh:
22910         check for path to strip
22911         [2b7ef824bd55]
22912
22913 1997-01-16  Todd C. Miller  <Todd.Miller@courtesan.com>
22914
22915         * logging.c:
22916         deal with maxfilelen < 0 case
22917         [f0af095178d7]
22918
22919         * OPTIONS:
22920         fixed descriptin
22921         [629f60bd4b5f]
22922
22923 1996-12-12  Todd C. Miller  <Todd.Miller@courtesan.com>
22924
22925         * sudo.c:
22926         correct error message if mode/owner wrong and not statable by owner
22927         but is statable by root.
22928         [cb631ce2e85e]
22929
22930 1996-11-23  Todd C. Miller  <Todd.Miller@courtesan.com>
22931
22932         * config.guess, config.sub:
22933         autoconf 2.11
22934         [f3cbe59e0756]
22935
22936 1996-11-16  Todd C. Miller  <Todd.Miller@courtesan.com>
22937
22938         * CHANGES, RUNSON, TODO:
22939         sudo 1.5.3.
22940         [2be3229b8626]
22941
22942 1996-11-14  Todd C. Miller  <Todd.Miller@courtesan.com>
22943
22944         * parse.yacc, sudo.h:
22945         command_alias -> generic_alias
22946         [c404ca8c510d] [SUDO_1_5_3]
22947
22948         * sample.sudoers:
22949         added Runas_Alias example and fixed syntax errors
22950         [c304053f4a8a]
22951
22952         * OPTIONS, options.h:
22953         updated MAILSUBJECT
22954         [18d1573fcd2a]
22955
22956         * logging.c:
22957         added %h expansion
22958         [a4bff9b284fd]
22959
22960         * INSTALL, Makefile.in, README, check.c, compat.h, config.h.in,
22961         configure.in, dce_pwent.c, find_path.c, getspwuid.c, getwd.c,
22962         goodpath.c, ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h,
22963         insults.h, interfaces.c, logging.c, options.h, parse.c, parse.lex,
22964         parse.yacc, pathnames.h.in, putenv.c, strdup.c, sudo.c, sudo.h,
22965         sudo_setenv.c, testsudoers.c, tgetpass.c, utime.c, version.h,
22966         visudo.c:
22967         ++version
22968         [211ff20f956f]
22969
22970         * BUGS, emul/utime.h:
22971         ++version
22972         [cde5376579e3]
22973
22974         * sudoers.pod:
22975         document Runas_Alias
22976         [b1a58f28fb2c]
22977
22978         * visudo.pod:
22979         q (uid) -> Q
22980         [d256649a0e6b]
22981
22982         * visudo.c:
22983         buffer oflow checking q (uit) -> Q if yyparse() fails drop into
22984         whatnow
22985         [1cb183d15626]
22986
22987         * parse.yacc:
22988         add size params to sprintf
22989         [9228f698921f]
22990
22991         * parse.lex:
22992         allow trailing space after '\\' but before '\n'
22993         [f51dbbf69fdf]
22994
22995         * find_path.c:
22996         off by one error in path size check
22997         [a6d75ccd7632]
22998
22999         * check.c:
23000         sprintf paranoia
23001         [3ffb12d198dd]
23002
23003 1996-11-12  Todd C. Miller  <Todd.Miller@courtesan.com>
23004
23005         * parse.yacc:
23006         fixed more_aliases
23007         [aab12f2a50af]
23008
23009         * visudo.c:
23010         now warns if killed by signal ./
23011         [310c186a0fd7]
23012
23013 1996-11-11  Todd C. Miller  <Todd.Miller@courtesan.com>
23014
23015         * parse.yacc:
23016         fix Runas_Alias stuff Alias's in runas list now get expanded (but it
23017         is gross)
23018         [45590b83120f]
23019
23020         * sudo.c:
23021         Can now deal with SUDOERS_UID == 0 and SUDOERS_MODE == 0400
23022         [d53e01c14c58]
23023
23024         * parse.yacc:
23025         add Runas_Alias support change FOO to FOO_ALIAS (ie: USER_ALIAS)
23026         [7a4a040aae2d]
23027
23028         * parse.lex:
23029         Add Runas_Alias and simplify a rule.
23030         [6f794a769a37]
23031
23032         * parse.yacc:
23033         always store User_Alias's since they can be used inside of a runas
23034         list. Sigh. Really need a Runas_Alias instead.
23035         [3bab058a873e]
23036
23037 1996-10-30  Todd C. Miller  <Todd.Miller@courtesan.com>
23038
23039         * visudo.c:
23040         deal with case where there is no sudoers file
23041         [fa38b3bb244d]
23042
23043 1996-10-12  Todd C. Miller  <Todd.Miller@courtesan.com>
23044
23045         * TROUBLESHOOTING:
23046         added one
23047         [e61346d06725]
23048
23049 1996-10-11  Todd C. Miller  <Todd.Miller@courtesan.com>
23050
23051         * HISTORY, testsudoers.c:
23052         developement -> development
23053         [4df55e293941]
23054
23055         * INSTALL:
23056         added a note
23057         [3845fb83dbc0]
23058
23059         * RUNSON:
23060         for 1.5.2
23061         [5489b7298942]
23062
23063         * CHANGES:
23064         updated
23065         [0741834929e6]
23066
23067 1996-10-10  Todd C. Miller  <Todd.Miller@courtesan.com>
23068
23069         * PORTING:
23070         removed seteuid() notes
23071         [1010a60f281d] [SUDO_1_5_2]
23072
23073 1996-10-09  Todd C. Miller  <Todd.Miller@courtesan.com>
23074
23075         * compat.h:
23076         better seteuid() emulatino
23077         [e807623b662c]
23078
23079         * configure.in:
23080         added check for seteuid
23081         [8cf9fabc6f4f]
23082
23083         * config.h.in:
23084         added HAVE_SETEUID
23085         [596db46aa828]
23086
23087 1996-10-08  Todd C. Miller  <Todd.Miller@courtesan.com>
23088
23089         * configure.in:
23090         first stab at sequent support
23091         [b85a7bfcac76]
23092
23093         * config.h.in:
23094         added HAVE_SYS_SELECT_H
23095         [93ecdd042463]
23096
23097         * compat.h:
23098         sequent -> _SEQUENT_
23099         [63a38b6da98c]
23100
23101         * compat.h:
23102         added seteuid() macro for DYNIX
23103         [695bd63c5ea6]
23104
23105         * tgetpass.c:
23106         _AIX -> HAVE_SYS_SELECT_H
23107         [b31221211bc2]
23108
23109 1996-10-07  Todd C. Miller  <Todd.Miller@courtesan.com>
23110
23111         * BUGS, INSTALL, Makefile.in, OPTIONS, README, config.h.in, logging.c,
23112         parse.c, parse.lex, parse.yacc, putenv.c, strdup.c, sudo_setenv.c,
23113         testsudoers.c, tgetpass.c, utime.c, visudo.c:
23114         ++version
23115         [8052992fd453]
23116
23117         * check.c, compat.h, dce_pwent.c, emul/utime.h, find_path.c,
23118         getspwuid.c, getwd.c, goodpath.c, ins_2001.h, ins_classic.h,
23119         ins_csops.h, ins_goons.h, insults.h, interfaces.c, options.h,
23120         pathnames.h.in, version.h:
23121         ++version
23122         [f7ad15e1598a]
23123
23124         * sudo.pod:
23125         added -H and SUDO_PS1
23126         [bb965241e30c]
23127
23128         * configure.in:
23129         use SUDO_FUNC_FNMATCH
23130         [6a8350d85fb2]
23131
23132         * aclocal.m4:
23133         added SUDO_FUNC_FNMATCH
23134         [45b32c91c4ba]
23135
23136         * sudo.c:
23137         added -H flag
23138         [11ebc6872fd6]
23139
23140         * sudo.h:
23141         added MODE_RESET_HOME /
23142         [67a7f8bcbbd6]
23143
23144 1996-10-05  Todd C. Miller  <Todd.Miller@courtesan.com>
23145
23146         * INSTALL:
23147         mention OPIE
23148         [5723515d5bbd]
23149
23150         * options.h:
23151         SKEY -> OTP
23152         [c1d268130bc4]
23153
23154         * configure.in:
23155         added opie support
23156         [123872b41b20]
23157
23158         * compat.h, config.h.in:
23159         added HAVE_OPIE
23160         [528c71afc1e5]
23161
23162         * check.c:
23163         added HAVE_OPIE and changed to *_OTP_*
23164         [4c62f5db872a]
23165
23166         * OPTIONS:
23167         SKEY -> OTP
23168         [bd858e5e9652]
23169
23170 1996-10-04  Todd C. Miller  <Todd.Miller@courtesan.com>
23171
23172         * check.c:
23173         moved fclose() in skey stuff.
23174         [11f7dc8431a6]
23175
23176 1996-10-03  Todd C. Miller  <Todd.Miller@courtesan.com>
23177
23178         * putenv.c:
23179         index -> strchr remove unnecesary stuff
23180         [af2d05238062]
23181
23182         * check.c:
23183         now call skeychallenge() to get challenge instead of making one up
23184         ourselves. this way, we get extra goodies in the prompt.
23185         [49b770d98d3a]
23186
23187 1996-09-10  Todd C. Miller  <Todd.Miller@courtesan.com>
23188
23189         * CHANGES:
23190         added one
23191         [3f5149357e2a] [SUDO_1_5_1]
23192
23193         * parse.lex:
23194         allow logins to start with a number (YUCK!)
23195         [7ed7ef324741]
23196
23197 1996-09-08  Todd C. Miller  <Todd.Miller@courtesan.com>
23198
23199         * TROUBLESHOOTING:
23200         added soalris 2.5 vs 2.4 note
23201         [16160a251aae]
23202
23203         * configure.in:
23204         DUNIX doesn't need -lnsl
23205         [be924cc322c3]
23206
23207         * CHANGES:
23208         *** empty log message ***
23209         [1b2937521981]
23210
23211         * check.c, compat.h, config.h.in, dce_pwent.c, find_path.c,
23212         getspwuid.c, getwd.c, goodpath.c, ins_2001.h, ins_classic.h,
23213         ins_csops.h, ins_goons.h, insults.h, interfaces.c, logging.c,
23214         options.h, parse.c, parse.lex, parse.yacc, pathnames.h.in, putenv.c,
23215         strdup.c, sudo.c, sudo.h, sudo_setenv.c, testsudoers.c, tgetpass.c,
23216         utime.c, version.h, visudo.c:
23217         courtesan
23218         [5f203589bbfe]
23219
23220         * PORTING, README, RUNSON:
23221         courtesan
23222         [d72517f4937e]
23223
23224         * INSTALL, Makefile.in, TROUBLESHOOTING:
23225         courtesan
23226         [5c007e3c7a71]
23227
23228         * visudo.pod:
23229         *** empty log message ***
23230         [37ebe85bd4e1]
23231
23232         * sudo.pod, visudo.pod:
23233         courtesan
23234         [37f02e2130ea]
23235
23236 1996-09-07  Todd C. Miller  <Todd.Miller@courtesan.com>
23237
23238         * HISTORY:
23239         added courtesan ./
23240         [b01435226276]
23241
23242 1996-09-06  Todd C. Miller  <Todd.Miller@courtesan.com>
23243
23244         * sudo.c:
23245         added $SUDO_PROMPT support
23246         [cb1fa72c093d]
23247
23248 1996-09-04  Todd C. Miller  <Todd.Miller@courtesan.com>
23249
23250         * check.c:
23251         print long skey challemged to stderr, not stdout
23252         [750fc775b3b2]
23253
23254 1996-09-01  Todd C. Miller  <Todd.Miller@courtesan.com>
23255
23256         * CHANGES:
23257         updated for 1.5.1
23258         [9b615f393057]
23259
23260         * emul/utime.h:
23261         ++version
23262         [a94de18deafb]
23263
23264 1996-08-31  Todd C. Miller  <Todd.Miller@courtesan.com>
23265
23266         * RUNSON:
23267         updated for 1.5.1
23268         [4092f20ab634]
23269
23270 1996-08-30  Todd C. Miller  <Todd.Miller@courtesan.com>
23271
23272         * check.c:
23273         use shost, not host for tgetpass
23274         [6061c49ff9be]
23275
23276         * sudo.pod:
23277         documented %u and %h
23278         [6d2922d29897]
23279
23280         * OPTIONS:
23281         documented %u and %h
23282         [1a71da13a864]
23283
23284         * configure.in:
23285         fixed typo
23286         [1230dec2b062]
23287
23288         * INSTALL, Makefile.in, README, check.c, compat.h, config.h.in,
23289         dce_pwent.c, find_path.c, getspwuid.c, getwd.c, goodpath.c,
23290         ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h, insults.h,
23291         interfaces.c, logging.c, options.h, parse.c, parse.lex, parse.yacc,
23292         pathnames.h.in, putenv.c, strdup.c, sudo.c, sudo.h, sudo_setenv.c,
23293         testsudoers.c, tgetpass.c, utime.c, version.h, visudo.c:
23294         ++version
23295         [65ce8eabf77a]
23296
23297         * BUGS:
23298         ++version
23299         [afecab53aab7]
23300
23301 1996-08-29  Todd C. Miller  <Todd.Miller@courtesan.com>
23302
23303         * Makefile.in, configure.in, version.h:
23304         ++version
23305         [fb3ff940d672]
23306
23307         * sudo.h:
23308         new tgetpass() params
23309         [9eccc5b0f8ae]
23310
23311         * check.c:
23312         pass use and host to tgetpass
23313         [c56d9d13c401]
23314
23315         * tgetpass.c:
23316         added %u and %h escapes
23317         [04ae775d3e5d]
23318
23319         * OPTIONS, check.c, options.h:
23320         added NO_MESSAGE
23321         [3927dad19057]
23322
23323         * configure.in:
23324         added cray (unicos) support
23325         [1122210c5fb1]
23326
23327 1996-08-27  Todd C. Miller  <Todd.Miller@courtesan.com>
23328
23329         * OPTIONS, options.h, sudo.c:
23330         added SHELL_SETS_HOME
23331         [0b26909b0929]
23332
23333 1996-08-25  Todd C. Miller  <Todd.Miller@courtesan.com>
23334
23335         * INSTALL:
23336         added note about "make install"
23337         [7e56ea76d4b4]
23338
23339         * parse.yacc:
23340         changed length/size params from int to size_t
23341         [5654e5ceb1b3]
23342
23343         * OPTIONS:
23344         now get CSOPS insults as well by default
23345         [297323d0179a]
23346
23347         * insults.h:
23348         use csops insults too by default
23349         [07fafc136169]
23350
23351         * INSTALL, Makefile.in, README, config.h.in, configure.in, version.h:
23352         version = 1.5
23353         [4b8772b11e3b]
23354
23355         * sudo.c:
23356         added runas_homedir
23357         [b0e0d4417a15]
23358
23359         * TODO:
23360         updated for 1.5
23361         [66259df825d5]
23362
23363         * RUNSON:
23364         updated for 1.5
23365         [e08bc9ebfe95]
23366
23367         * CHANGES:
23368         1.5 release
23369         [8c16942fea41]
23370
23371         * INSTALL:
23372         added "upgrading" notes
23373         [210d968964ff]
23374
23375 1996-08-22  Todd C. Miller  <Todd.Miller@courtesan.com>
23376
23377         * visudo.c:
23378         now do chmod and chown after edit of temp file and before rename
23379         [de174e34faa7] [SUDO_1_5_0]
23380
23381 1996-08-18  Todd C. Miller  <Todd.Miller@courtesan.com>
23382
23383         * Makefile.in:
23384         ++version added INSTALL.configure
23385         [c9e9214f52ae]
23386
23387         * configure.in, version.h:
23388         ++version
23389         [5985abed3eb2]
23390
23391         * TROUBLESHOOTING:
23392         *** empty log message ***
23393         [d65c540ec52e]
23394
23395         * parse.yacc:
23396         added missing cast
23397         [e7247319a7d5]
23398
23399         * sudo.c:
23400         sets $HOME to pw_dir of runas user
23401         [d3f7f4d05752]
23402
23403         * sudo.pod:
23404         document $HOME change
23405         [854454d458c4]
23406
23407 1996-08-17  Todd C. Miller  <Todd.Miller@courtesan.com>
23408
23409         * sudo.pod:
23410         fixed up some wording
23411         [b0c8582f2c97]
23412
23413         * check.c, dce_pwent.c, find_path.c, getspwuid.c, getwd.c, goodpath.c,
23414         interfaces.c, logging.c, parse.c, parse.lex, parse.yacc, putenv.c,
23415         strdup.c, sudo.c, sudo_setenv.c, testsudoers.c, tgetpass.c, utime.c,
23416         visudo.c:
23417         ++version
23418         [748be723fd8b]
23419
23420         * compat.h, ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h,
23421         insults.h, options.h, pathnames.h.in, sudo.h:
23422         ++version
23423         [acdf8b1b2a1b]
23424
23425         * emul/utime.h:
23426         ++version
23427         [b3f35298ab8d]
23428
23429         * sudo.h:
23430         name nad type changes
23431         [db24ab3da141]
23432
23433         * testsudoers.c:
23434         now works with new sudo
23435         [379346c42cc2]
23436
23437         * parse.yacc:
23438         fixed some XXX
23439         [f5fe4c990052]
23440
23441         * parse.yacc:
23442         some variable name changes + comment headers for functions.
23443         [3dc3bd9aa73d]
23444
23445         * tgetpass.c:
23446         added extra paren's to make compilers happy
23447         [9e4968a34d56]
23448
23449         * sudo.c:
23450         *** empty log message ***
23451         [70c924c1ed69]
23452
23453         * parse.c:
23454         now uses init_parser() if not in sudoers and tries "list" or
23455         "validate" scold but don't be nasty.
23456         [c0d8fb3f8c9e]
23457
23458         * TROUBLESHOOTING:
23459         now can use upper case login names
23460         [c772fffcefe5]
23461
23462         * visudo.c:
23463         now uses init_parser()
23464         [b9efae7243fd]
23465
23466         * INSTALL, README:
23467         updated
23468         [27dc8283fdc8]
23469
23470         * PORTING:
23471         added info about PASSWORD_TIMEOUT
23472         [980e15d892f8]
23473
23474         * INSTALL.configure:
23475         Initial revision
23476         [8292e89a08d3]
23477
23478         * BUGS:
23479         fixed a bug ,
23480         [c6e46f5624f9]
23481
23482         * parse.yacc:
23483         now dynamically allocates memory for the stacks -- no more
23484         overflows!
23485         [8615c35b6ad3]
23486
23487         * sudo.pod:
23488         -l now explands command aliases
23489         [39f45605935d]
23490
23491         * parse.yacc:
23492         hacks to expand command aliases for `sudo -l'
23493         [e4eb752608f9]
23494
23495         * sudo.c:
23496         remove $ENV and $BASH_ENV (dangerous in ksh, posix sh, and bash)
23497         [01327ca5084b]
23498
23499         * sudo.h:
23500         added struct command_alias
23501         [dd2f32764082]
23502
23503         * sudo.pod:
23504         fixed a bug
23505         [e708ff08d2eb]
23506
23507         * lsearch.c:
23508         in compar() key should be first arg
23509         [fc14c3fa62ee]
23510
23511 1996-08-15  Todd C. Miller  <Todd.Miller@courtesan.com>
23512
23513         * BUGS:
23514         fixed some bugs
23515         [639dfe425bd5]
23516
23517         * parse.yacc:
23518         can now deal with upcase HOST and USER names
23519         [c6aa7bcfb00d]
23520
23521         * sudo.c:
23522         don't yell too loudly at non-sudoers if they do "sudo -l"
23523         [4ef146128d89]
23524
23525         * sudo.pod:
23526         fixed thinko
23527         [830f2f0f22e7]
23528
23529         * parse.c:
23530         fix comment
23531         [d20ce9e17ddc]
23532
23533 1996-08-09  Todd C. Miller  <Todd.Miller@courtesan.com>
23534
23535         * parse.c, parse.yacc:
23536         added support for new `sudo -l' stuff
23537         [7dceaef3c733]
23538
23539         * sudo.c:
23540         now uses list_matches()
23541         [293364821b61]
23542
23543         * sudo.h:
23544         added struct sudo_match
23545         [b2684179d179]
23546
23547         * configure.in:
23548         now more -lgnumalloc
23549         [4f8ae42617d8]
23550
23551 1996-08-01  Todd C. Miller  <Todd.Miller@courtesan.com>
23552
23553         * install-sh:
23554         added more paths for chown and whoami
23555         [6e685a19426c]
23556
23557 1996-07-31  Todd C. Miller  <Todd.Miller@courtesan.com>
23558
23559         * check.c:
23560         typo
23561         [3adfa01c04bc]
23562
23563 1996-07-30  Todd C. Miller  <Todd.Miller@courtesan.com>
23564
23565         * aclocal.m4:
23566         fixed DUNIX check for shadow pw
23567         [c25324bcd27b]
23568
23569         * tgetpass.c:
23570         now only turn off echo if it is already on. this fixes a race when
23571         you use sudo in a pipelin
23572         [28388c2de21c]
23573
23574         * INSTALL:
23575         updated
23576         [b45ac9366b7e]
23577
23578         * configure.in:
23579         changed "test -z $foo && do_this" to if; then construct
23580         [2183c4426bca]
23581
23582 1996-07-29  Todd C. Miller  <Todd.Miller@courtesan.com>
23583
23584         * configure.in:
23585         added missing defines of SHADOW_TYPE
23586         [be89ea68a7f3]
23587
23588 1996-07-26  Todd C. Miller  <Todd.Miller@courtesan.com>
23589
23590         * check.c:
23591         protect AUTH_CRYPT_OLDCRYPT and AUTH_CRYPT_C1CRYPT since they are
23592         only in dunix 4.x
23593         [1e7c1c677263]
23594
23595         * getspwuid.c:
23596         added AUTH_CRYPT_C1CRYPT support
23597         [88d6b0058b20]
23598
23599         * parse.c:
23600         no longer return VALIDATE_NOT_OK if there was a runas that didn't
23601         match. Now we can have runas stuff on more than one line.
23602         [52b68920d7b7]
23603
23604         * getspwuid.c, sudo.c, tgetpass.c:
23605         use SHADOW_TYPE instead of HAVE_C2_SECURITY
23606         [cf401dfcbc06]
23607
23608         * configure.in:
23609         got rid of HAVE_C2_SECURITY SHADOW_TYPE is always defined to
23610         something
23611         [c7a233c4dd93]
23612
23613         * config.h.in:
23614         removed HAVE_C2_SECURITY added SPW_BSD
23615         [8314405e9754]
23616
23617         * compat.h:
23618         use SHADOW_TYPE instead of HAVE_C2_SECURITY
23619         [6f94870df17f]
23620
23621         * check.c:
23622         SHADOW_TYPE is always defined so just against its value
23623         [72c69a55d02f]
23624
23625         * aclocal.m4:
23626         added SUDO_CHECK_SHADOW_DUNIX
23627         [ef025ae9d496]
23628
23629 1996-07-25  Todd C. Miller  <Todd.Miller@courtesan.com>
23630
23631         * sudoers.pod:
23632         * -> ?* in one example added another instance of (runas) and one of
23633         NOPASSWD:
23634         [d74fe1dcbe7d]
23635
23636 1996-07-24  Todd C. Miller  <Todd.Miller@courtesan.com>
23637
23638         * configure.in:
23639         added back check for config.cache from other host type
23640         [0ba87871f585]
23641
23642         * parse.lex:
23643         removed an instance of \"
23644         [1e008d3709f6]
23645
23646         * sample.sudoers:
23647         added an example
23648         [dbfcf68ee330]
23649
23650         * sudoers.pod:
23651         updated wrt new wildcard matching
23652         [193fa44a475b]
23653
23654         * configure.in:
23655         new check for shadow passwords if we don't know anything
23656         [67465df7dc9a]
23657
23658         * aclocal.m4:
23659         new SUDO_CHECK_SHADOW_GENERIC
23660         [3563b16a41b8]
23661
23662         * configure.in:
23663         added back check for -lsocket (oops)
23664         [a80882ee1cb6]
23665
23666         * configure.in:
23667         better (working) check for shadow passwd type if we know to use C2.
23668         [3cdd2a59a641]
23669
23670         * configure.in:
23671         now uses AC_CANONICAL_HOST to figure out os type
23672         [80db7fe6e704]
23673
23674         * Makefile.in:
23675         added config.{guess,sub}
23676         [c6be7e3ca384]
23677
23678         * aclocal.m4:
23679         removed unused stuff to figure out os type
23680         [c9a0f3b57123]
23681
23682         * config.sub:
23683         added openbsd
23684         [bfc6bfec3668]
23685
23686         * config.sub:
23687         Initial revision
23688         [e6e06ce0d17d]
23689
23690         * config.guess:
23691         Initial revision
23692         [99dd06f79199]
23693
23694         * testsudoers.c:
23695         don't call fnmatch() with FNM_PATHNAME flag unless it can only be a
23696         pathname. need to check against sudoers_args even if user_args is
23697         nil
23698         [66e6cf77f5d6]
23699
23700         * parse.c:
23701         don't call fnmatch() with FNM_PATHNAME flag unless it can only be a
23702         pathname need to check against sudoers_args even if user_args is nil
23703         [74374df17311]
23704
23705 1996-07-23  Todd C. Miller  <Todd.Miller@courtesan.com>
23706
23707         * check.c:
23708         added support for AUTH_CRYPT_OLDCRYPT w/ DUNIX C2
23709         [cbb00261c415]
23710
23711         * testsudoers.c:
23712         now takes command line args and uses cmnd_args
23713         [f0c2fd35a527]
23714
23715         * parse.lex:
23716         fill_args was adding an extra leading space
23717         [692fc999b2e8]
23718
23719 1996-07-22  Todd C. Miller  <Todd.Miller@courtesan.com>
23720
23721         * visudo.c:
23722         fixed dummy command_matches()
23723         [93d9543db6e2]
23724
23725         * parse.yacc:
23726         fixed prototype
23727         [7b0addfbd429]
23728
23729         * sudo.h:
23730         added cmnd_args
23731         [8f47c4ae65ef]
23732
23733         * parse.yacc:
23734         now uses flat args string
23735         [016e65877da3]
23736
23737         * parse.c, parse.lex:
23738         now uses flat arg string
23739         [5b5f2e3f4c09]
23740
23741         * visudo.c:
23742         added cmnd_args def
23743         [876867134775]
23744
23745         * sudo.c:
23746         now sets cmnd_args global
23747         [e6fee70cb59b]
23748
23749         * logging.c:
23750         cmnd_args is now exported from sudo.[ch]
23751         [7a9cd36e356f]
23752
23753 1996-07-21  Todd C. Miller  <Todd.Miller@courtesan.com>
23754
23755         * parse.yacc:
23756         can't rely on cmnd_matches as much as I thought -- added some $$
23757         stuff back in to prevent namespace pollution problems.
23758         [3c45fedb5af3]
23759
23760         * parse.yacc:
23761         Simplified parse rules wrt runas and NOPASSWD (more consistent).
23762         [e6d838c8a4c7]
23763
23764 1996-07-20  Todd C. Miller  <Todd.Miller@courtesan.com>
23765
23766         * parse.lex:
23767         NOPASSWD may now have blanks before the ':' '(' only starts a
23768         'runas' if in the initial state to avoid collision with command args
23769         [c5c01172f499]
23770
23771         * configure.in:
23772         added checks for specific shadow passwd schemes
23773         [b7e3d1f7b84f]
23774
23775         * aclocal.m4:
23776         added routines to check for specific shadow passwd types
23777         [e5e1d19960a6]
23778
23779 1996-07-18  Todd C. Miller  <Todd.Miller@courtesan.com>
23780
23781         * configure.in:
23782         added support for ncr boxen
23783         [bea9dc5aae7f]
23784
23785         * aclocal.m4:
23786         added support for detecting ncr boxen
23787         [8653a158a924]
23788
23789 1996-07-16  Todd C. Miller  <Todd.Miller@courtesan.com>
23790
23791         * configure.in:
23792         added sinix support
23793         [5de2b2173ee1]
23794
23795 1996-07-14  Todd C. Miller  <Todd.Miller@courtesan.com>
23796
23797         * TROUBLESHOOTING:
23798         added info about "config.cache from other other" error.
23799         [845b10198e0b]
23800
23801         * aclocal.m4:
23802         now makes sure you don't have a config.cache file from another OS
23803         [4fe32571c021]
23804
23805         * configure.in:
23806         now sets $LIBS when needed to configure links with libs when doing
23807         tests hpux10 now uses SPW_SECUREWARE for C2 added check for
23808         bigcrypt(3) if SPW_SECUREWARE
23809         [2df6b8ca538f]
23810
23811         * getspwuid.c:
23812         fixed typo
23813         [fe1cb1d792d6]
23814
23815         * tgetpass.c:
23816         now include stuff for SPW_SECUREWARE to get AUTH_MAX_PASSWD_LENGTH
23817         [f71138372c07]
23818
23819         * getspwuid.c:
23820         no more SPW_HPUX10
23821         [cfdeb18bc16b]
23822
23823         * config.h.in:
23824         no more SPW_HPUX10 added HAVE_BIGCRYPT
23825         [00d296479a61]
23826
23827         * compat.h:
23828         now uses AUTH_MAX_PASSWD_LENGTH if SPW_SECUREWARE
23829         [6c6d9e680417]
23830
23831         * check.c:
23832         SPW_SECUREWARE now uses bigcrypt
23833         [be71fc66690f]
23834
23835 1996-07-13  Todd C. Miller  <Todd.Miller@courtesan.com>
23836
23837         * sample.sudoers:
23838         fixed 2 syntax errors
23839         [45eee19ef4ac]
23840
23841         * sudoers:
23842         root may now run ALL as ALL
23843         [1b54c6b9b212]
23844
23845 1996-07-12  Todd C. Miller  <Todd.Miller@courtesan.com>
23846
23847         * interfaces.c:
23848         fixed a typo/thinko that broke BSD's with sa_len
23849         [603438360126]
23850
23851 1996-07-08  Todd C. Miller  <Todd.Miller@courtesan.com>
23852
23853         * check.c, configure.in:
23854         updated AFS support
23855         [e572eb8d177a]
23856
23857         * TROUBLESHOOTING:
23858         added entry about /usr/ucb/cc
23859         [025b353aa9d3]
23860
23861         * INSTALL:
23862         prep no longer holds gcc binaries
23863         [8b0942958049]
23864
23865         * INSTALL:
23866         updated AFS note
23867         [7af6efd5abe4]
23868
23869         * Makefile.in:
23870         added @AFS_LIBS@
23871         [97b6fe6ad7d6]
23872
23873         * compat.h:
23874         AFS allows long passwords
23875         [5fb17122c302]
23876
23877         * testsudoers.c:
23878         fixed -u user support
23879         [b1a0c1648639]
23880
23881         * parse.c:
23882         sudo -v now groks VALIDATE_OK_NOPASS
23883         [74fc03fffe7e]
23884
23885         * parse.yacc:
23886         fixed no_passwd vs. runas_matched
23887         [549a9b791a6a]
23888
23889         * TROUBLESHOOTING:
23890         took out stuff about NFS-mounting since it is no longer an issue
23891         [d95ab7fbbc61]
23892
23893         * INSTALL:
23894         added --with-libraries > --with-libpath --with-incpath
23895         [d5d15a7a0f4c]
23896
23897         * parse.yacc:
23898         was setting runas_matches to -1 in wrong place
23899         [db2b1deb8d33]
23900
23901         * check.c:
23902         removed usersec.h which is not present in new AFS versions
23903         [618b016dd17f]
23904
23905         * tgetpass.c:
23906         now deals with timeout <= 0
23907         [ba53a1257255]
23908
23909         * OPTIONS:
23910         updated
23911         [75093bd8fdca]
23912
23913         * configure.in:
23914         BSD/OS >= 2.0 now uses shlicc instead of just gcc
23915         [ff6dbf7825c2]
23916
23917         * sudo.c:
23918         fixed backwards compatibility with sudo 1.4 sudoers mode for root
23919         readable/writable filesystems
23920         [2694ed627221]
23921
23922         * Makefile.in:
23923         now gives INSTALL -c flag
23924         [63db055a2fd1]
23925
23926         * parse.yacc:
23927         slightly simpler initialization of no_passwd and runas_matches
23928         [463a1b5fa323]
23929
23930         * testsudoers.c:
23931         added -u username support
23932         [38b072fcd6b3]
23933
23934         * configure.in:
23935         improved --with-libraries support
23936         [047dbc5f0af2]
23937
23938 1996-07-07  Todd C. Miller  <Todd.Miller@courtesan.com>
23939
23940         * configure.in:
23941         added --with-incpath, --with-libpath, --with-libraries
23942         [20f20d6c718c]
23943
23944         * parse.yacc:
23945         now initializes some fields that weren't getting set to -1 pretty
23946         gross -- need a rewrite.
23947         [021c160390c6]
23948
23949 1996-06-26  Todd C. Miller  <Todd.Miller@courtesan.com>
23950
23951         * alloca.c:
23952         removed emacs'isms
23953         [9d4ec2efe057]
23954
23955         * configure.in:
23956         no longer add -lPW to *_LIBS since we include alloca.c
23957         [a626d1bbea80]
23958
23959         * config.h.in:
23960         added HAVE_ALLOCA_H
23961         [15491e2a6cff]
23962
23963         * Makefile.in:
23964         added alloca.c
23965         [0400f25e1fe4]
23966
23967         * alloca.c:
23968         Initial revision
23969         [06d033aa4882]
23970
23971         * configure.in:
23972         ++version
23973         [f52c0fb98f90]
23974
23975 1996-06-25  Todd C. Miller  <Todd.Miller@courtesan.com>
23976
23977         * sudo.c:
23978         now set uid to 1 instead of nobody for PERM_SUDOERS since nobody is
23979         not always set to a valid uid.
23980         [c2669f77704d]
23981
23982         * OPTIONS:
23983         fixed entry for SUDO_MODE
23984         [d7272f6035b8]
23985
23986         * sudo.c:
23987         Fixed NFS-mounted sudoers file under solaris both uid *and* gid were
23988         being set to -2. Now beat NFS to the punch and set uid to "nobody"
23989         ourselves, preserving group 0 to read sudoers.
23990         [b1fbc5dd1e34]
23991
23992         * parse.c:
23993         moved set_perms(PERM_ROOT) to be before yyparse()
23994         [7619d8080735]
23995
23996         * logging.c:
23997         fixed a typo
23998         [318acc48cde0]
23999
24000         * configure.in:
24001         no longer need AC_PROG_INSTALL
24002         [de01b1336dc8]
24003
24004         * Makefile.in:
24005         always use install-sh to avoid install(1)'s that use get{pw,gr}nam
24006         [ea2351986406]
24007
24008         * INSTALL:
24009         make clean -> make distclean
24010         [704a98e8ba10]
24011
24012 1996-06-20  Todd C. Miller  <Todd.Miller@courtesan.com>
24013
24014         * parse.yacc:
24015         removed some unnecsary if's
24016         [f00db6508132]
24017
24018         * Makefile.in, version.h:
24019         ++version
24020         [bdb6740b24c8]
24021
24022         * parse.c, testsudoers.c:
24023         now includes netgroup.h
24024         [93f5a06352bc]
24025
24026         * interfaces.c:
24027         removed cats of ioctl to int since they didn't shut up -Wall
24028         [83e9f912cd7a]
24029
24030         * interfaces.c:
24031         explicately cast ioctl() to int since it it not always declared
24032         [2ff9294e469e]
24033
24034         * sudo.h:
24035         added declarations for yyparse() and yylex()
24036         [6071321ab771]
24037
24038         * parse.yacc:
24039         fixed an occurence of '==' -> '='
24040         [2c46d2e11d57]
24041
24042         * config.h.in, configure.in:
24043         added check for netgroup.h
24044         [73403050f4e3]
24045
24046         * sudo.c:
24047         fixed 2 compiler warnings
24048         [680929b0bd97]
24049
24050         * sudo.c:
24051         SHELL_IF_NO_ARGS caused core dump since NewArg[cv] weren't being
24052         initialized
24053         [18707ecd07c2]
24054
24055 1996-06-19  Todd C. Miller  <Todd.Miller@courtesan.com>
24056
24057         * sudo.pod:
24058         fixed a typo
24059         [e4b5c12aa130]
24060
24061 1996-06-17  Todd C. Miller  <Todd.Miller@courtesan.com>
24062
24063         * parse.yacc:
24064         fixed a formatting thingie
24065         [c79327b6f19b]
24066
24067         * parse.c, parse.yacc:
24068         fixed -u support with multiple user lists on a line
24069         [e4d1066adca2]
24070
24071         * configure.in:
24072         unixware needs -lgen
24073         [b5bf9bca63cc]
24074
24075         * README:
24076         updated ftp location
24077         [b25a033f7921]
24078
24079         * sudoers.pod:
24080         add net_addr/netmask support
24081         [674e83516d1e]
24082
24083         * sample.sudoers:
24084         added net_addr/mask example
24085         [774878e89b28]
24086
24087         * parse.c, parse.lex:
24088         added support for net_addr/netmask
24089         [e33de27325d8]
24090
24091 1996-06-16  Todd C. Miller  <Todd.Miller@courtesan.com>
24092
24093         * sudoers.pod:
24094         ^ -> !
24095         [1a084950d6ef]
24096
24097 1996-06-15  Todd C. Miller  <Todd.Miller@courtesan.com>
24098
24099         * RUNSON:
24100         updated for 1.4.3
24101         [c82019025d09]
24102
24103         * CHANGES:
24104         udpated for 1.4.3
24105         [ceaa81adb8f0]
24106
24107         * BUGS, TODO, TROUBLESHOOTING:
24108         updated
24109         [ff94fae4b853]
24110
24111         * sample.sudoers:
24112         updated with examples of new stuff
24113         [99d0b4cb4c9c]
24114
24115         * INSTALL, README:
24116         ++version
24117         [b763b80fe836]
24118
24119         * sudoers.pod:
24120         updated wrt -u and NOPASSWD
24121         [0b5b722ea0f4]
24122
24123         * sudo.pod:
24124         updated wrt -u and CAVEATS
24125         [71d5d53b5d18]
24126
24127 1996-06-09  Todd C. Miller  <Todd.Miller@courtesan.com>
24128
24129         * sudo.c:
24130         fixed usage()
24131         [114c7d09b550]
24132
24133         * parse.lex:
24134         now use :foo: character classes (makes no diff for generated lexer)
24135         [7b0aeb737a02]
24136
24137 1996-06-07  Todd C. Miller  <Todd.Miller@courtesan.com>
24138
24139         * check.c:
24140         fixed LONG_SKEY_PROMPT stuff
24141         [0efe78b4bdda]
24142
24143 1996-06-06  Todd C. Miller  <Todd.Miller@courtesan.com>
24144
24145         * visudo.c:
24146         fixed a comment
24147         [3d289017104b]
24148
24149         * lsearch.c:
24150         make more like NetBSD one -- now compiles w/o warnings
24151         [932206296a54]
24152
24153         * emul/search.h:
24154         fixed decls of lsearch()
24155         [c58cf4584c45]
24156
24157         * config.h.in, configure.in, getspwuid.c:
24158         added SPW_HPUX10
24159         [d74e5eaa5f17]
24160
24161         * check.c:
24162         hpux 10 uses bigcrypt() if C2
24163         [359eb63f4021]
24164
24165 1996-06-04  Todd C. Miller  <Todd.Miller@courtesan.com>
24166
24167         * parse.c:
24168         now always uses fnmatch to match args
24169         [a9d91f35256a]
24170
24171         * tgetpass.c:
24172         back to using stdio instead of raw i/o since that caused some
24173         problems
24174         [e7ce2bc92974]
24175
24176 1996-05-29  Todd C. Miller  <Todd.Miller@courtesan.com>
24177
24178         * sudo.c:
24179         now give usage warning if use -l,-v,-k with args
24180         [6b48180c4fea]
24181
24182 1996-05-28  Todd C. Miller  <Todd.Miller@courtesan.com>
24183
24184         * sudo.c:
24185         NewArgc is now set to 1 for -l, -v, -k
24186         [7497cb1416a8]
24187
24188         * sudo.c:
24189         now sets sudoers to correct group if mode is 0400
24190         [484c43d99718]
24191
24192         * install-sh:
24193         updated to version used by inn and bind
24194         [28683ad8725a]
24195
24196         * configure.in:
24197         now uses -lgnumalloc if it exists
24198         [3651ca4415a2]
24199
24200         * Makefile.in:
24201         "make install" now sets uid/gid and mode on sudoers if it exists
24202         [1f5216191ae9]
24203
24204         * sudo.c:
24205         rmeoved debugging statements
24206         [aeda278e2c26]
24207
24208         * parse.yacc:
24209         added a missing free()
24210         [592c9482a159]
24211
24212         * sudo.c:
24213         now uses user_gid instead of getegid (which was wrong anyway) to set
24214         SUDO_GID Now sets command line args in SUDO_COMMAND envariabled
24215         (logging.c depends on args being in the environment)
24216         [9f5328a3b942]
24217
24218         * logging.c:
24219         now uses SUDO_COMMAND envariable to get command args rather than
24220         building it up again.
24221         [7f8edc5bccb7]
24222
24223         * parse.c:
24224         now uses user_gid
24225         [4b9303ae45fe]
24226
24227         * sudo.c:
24228         fixed off by one error in allocation NewArgv
24229         [921ea1a4e7c6]
24230
24231         * parse.c:
24232         in sudoers, 'command ""' now means command with no args
24233         [a5273648ace2]
24234
24235         * configure.in:
24236         added check for fnmatch(3) and fnmatch.h
24237         [258916a7866f]
24238
24239         * config.h.in:
24240         added HAVE_FNMATCH
24241         [b9860d361e93]
24242
24243         * Makefile.in:
24244         replaced wildcat.* with fnmatch.*
24245         [03ad9ee21a1c]
24246
24247         * testsudoers.c:
24248         now uses fnmatch()
24249         [5a7f7de987a9]
24250
24251 1996-05-27  Todd C. Miller  <Todd.Miller@courtesan.com>
24252
24253         * parse.c:
24254         now uses fnmatch() instead of wildmat a trailing star (*) by itself
24255         now matches multiple args added support for wildcards in the
24256         pathname in sudoers
24257         [1f7fb950b868]
24258
24259 1996-05-25  Todd C. Miller  <Todd.Miller@courtesan.com>
24260
24261         * fnmatch.c:
24262         now includes compat.h and config.h
24263         [090206b95cf8]
24264
24265         * config.h.in:
24266         added HAVE_FNMATCH_H
24267         [90eb42150173]
24268
24269         * configure.in:
24270         now checks for alloca() (if needed by bison or dce) and links with
24271         -lPW if it contains alloca() and libv and compiler do not.
24272         [cfa2b3cef49a]
24273
24274         * emul/fnmatch.h, fnmatch.3, fnmatch.c:
24275         Initial revision
24276         [20b1f762a32a]
24277
24278 1996-04-29  Todd C. Miller  <Todd.Miller@courtesan.com>
24279
24280         * sudo.c:
24281         now fixes mode on sudoers if set to 0400 to aid in upgrade
24282         [d4bdfd521820]
24283
24284 1996-04-28  Todd C. Miller  <Todd.Miller@courtesan.com>
24285
24286         * Makefile.in:
24287         fixed pod2man usage
24288         [5adf2ec77b27]
24289
24290         * Makefile.in, configure.in, version.h:
24291         ++version
24292         [b4029de876d0]
24293
24294         * testsudoers.c, visudo.c:
24295         runas_user is now initialized to "root"
24296         [8537d97bff39]
24297
24298         * sudo.h:
24299         removed PERM_FULL_ROOT
24300         [241f8bbf647f]
24301
24302         * sudo.c:
24303         runas_user defaults to "root" so no more need to PERM_RUNAS
24304         [fc0c0dfc72ba]
24305
24306         * parse.c:
24307         will now only running commands as root if there was no runas list
24308         (or if root is in the runas list)
24309         [40c587666c81]
24310
24311         * logging.c:
24312         now logs "USER=%s"
24313         [b733504c87fd]
24314
24315         * parse.yacc:
24316         runas_matches is now set to false if we get a negative match
24317         [5495b150b300]
24318
24319         * parse.lex:
24320         make #uid work + some minor cleanup
24321         [07851bbce03a]
24322
24323         * sample.sudoers:
24324         added support for NOPASSWD and "runas" from garp@opustel.com /
24325         [7a9c67b51fa5]
24326
24327         * visudo.c:
24328         added support for "runas" from garp@opustel.com replaced
24329         SUDOERS_OWNER with SUDOERS_UID, SUDOERS_GID added support for
24330         SUDOERS_MODE
24331         [e714209b9885]
24332
24333         * testsudoers.c:
24334         added support for "runas" from garp@opustel.com
24335         [b837f856da10]
24336
24337         * sudo.h:
24338         added support for NO_PASSWD and runas from garp@opustel.com replaced
24339         SUDOERS_OWNER with SUDOERS_UID and SUDOERS_GID and added support
24340         fro SUDOERS_MODE
24341         [cea6f26679b7]
24342
24343         * sudo.c:
24344         added support for NO_PASSWD and runas from garp@opustel.com replaced
24345         SUDOERS_OWNER with SUDOERS_UID and SUDOERS_GID and added support fro
24346         SUDOERS_MODE
24347         [61b5434237c5]
24348
24349         * parse.yacc:
24350         added support for NO_PASSWD and runas from garp@opustel.com
24351         [72ebd3056f22]
24352
24353         * parse.c, parse.lex:
24354         added support for NO_PASSWD and runas from garp@opustel.com
24355         [fef6dbdd114d]
24356
24357         * logging.c:
24358         added support for SUDOERS_WRONG_MODE and "runas"
24359         [e794efc2b443]
24360
24361         * configure.in:
24362         added --with-CC only link with -lshadow on linux (with shadow pw) if
24363         libc lacks getspnam()
24364         [3ecf4ae21002]
24365
24366         * OPTIONS, options.h:
24367         removed NO_PASSWD since it is not possible to do this in the sudoers
24368         file itself. Replaced SUDOERS_OWNER with SUDOERS_UID and
24369         SUDOERS_GID. Added SUDOERS_MODE.
24370         [2eaa4891ef48]
24371
24372         * Makefile.in:
24373         now uses SUDOERS_UID and SUDOERS_GID
24374         [8d615f0fdb2a]
24375
24376 1996-04-27  Todd C. Miller  <Todd.Miller@courtesan.com>
24377
24378         * INSTALL:
24379         added --with-CC
24380         [a1b8286a81b8]
24381
24382 1996-04-06  Todd C. Miller  <Todd.Miller@courtesan.com>
24383
24384         * parse.lex:
24385         added double quote support
24386         [a5e4fc7e3a2b]
24387
24388         * sudoers.pod:
24389         documented double quoting
24390         [c6ea47969a44]
24391
24392 1996-04-05  Todd C. Miller  <Todd.Miller@courtesan.com>
24393
24394         * mkinstalldirs:
24395         Initial revision
24396         [dcb86d65ad8f]
24397
24398         * check.c:
24399         fixed some indentation
24400         [4d1c5ab8072b]
24401
24402         * Makefile.in:
24403         fixed a typo
24404         [0d27eebc7227]
24405
24406         * Makefile.in:
24407         added install-dirs .
24408         [f499b99b8be7]
24409
24410 1996-04-04  Todd C. Miller  <Todd.Miller@courtesan.com>
24411
24412         * dce_pwent.c:
24413         new version from "Jeff A. Earickson" <jaearick@colby.edu>
24414         [422481be5fbd]
24415
24416 1996-04-03  Todd C. Miller  <Todd.Miller@courtesan.com>
24417
24418         * configure.in:
24419         $CSOPS -> $with_csops (whoops, missed one)
24420         [b04c6948130e]
24421
24422         * BUGS:
24423         updated
24424         [c4d5713e227d]
24425
24426         * parse.lex:
24427         FQHOST now has same constraints as non-FQHOST
24428         [e1c3bf2381d1]
24429
24430         * INSTALL:
24431         added note about OS's w/ shadow passwords turned on by default
24432         [166257f43be4]
24433
24434 1996-04-02  Todd C. Miller  <Todd.Miller@courtesan.com>
24435
24436         * configure.in:
24437         fixed a typo
24438         [e5c3e2e9a359]
24439
24440         * configure.in:
24441         added support for --without-THING sanitized shadow pw situtation by
24442         adding support for
24443         --without-C2
24444         [65dc6bf64cce]
24445
24446         * tgetpass.c:
24447         fixed a typo wrt placement of an end paren
24448         [a8780f818231]
24449
24450         * check.c:
24451         was closing an fd that may not have been opened
24452         [760271c7bdc9]
24453
24454 1996-03-22  Todd C. Miller  <Todd.Miller@courtesan.com>
24455
24456         * OPTIONS, options.h, sudo.c:
24457         added NO_PASSWD
24458         [28ff1dc93d7a]
24459
24460 1996-03-20  Todd C. Miller  <Todd.Miller@courtesan.com>
24461
24462         * configure.in:
24463         now always use shadow pw on some arches
24464         [069161ccffda]
24465
24466 1996-03-19  Todd C. Miller  <Todd.Miller@courtesan.com>
24467
24468         * configure.in:
24469         added pyramid support
24470         [a0eb57a3a531]
24471
24472         * configure.in:
24473         no longer check for C2 if alternate passwd method is used no longer
24474         check for some libs twice
24475         [2d0c3c902b40]
24476
24477         * parse.yacc:
24478         moved fqdn stuff into parse.lex (FQHOST)
24479         [d9c9abd481d8]
24480
24481         * parse.lex:
24482         added FQHOST rules
24483         [4a1695acff6d]
24484
24485         * tgetpass.c:
24486         now define TCSASOFT in necesary
24487         [3fac2e21c9ab]
24488
24489         * tgetpass.c:
24490         now uses read/write instead of stdio string goop to avoid problems
24491         with select(2)
24492         [67fd174e518c]
24493
24494         * OPTIONS, find_path.c, options.h:
24495         -DNO_DOT_PATH -> -DIGNORE_DOT_PATH
24496         [d05ba5100d28]
24497
24498 1996-03-17  Todd C. Miller  <Todd.Miller@courtesan.com>
24499
24500         * INSTALL:
24501         added note about no shadow auto-detect if using alternate auth
24502         schemes
24503         [b425592232a3]
24504
24505         * configure.in:
24506         don't check for C2 if AFS or DCE (unless they said --with-C2)
24507         [61342962171a]
24508
24509         * testsudoers.c:
24510         now groks shost
24511         [85dda17303f6]
24512
24513         * OPTIONS, find_path.c, options.h:
24514         added NO_DOT_PATH
24515         [c261ca1fb196]
24516
24517 1996-03-16  Todd C. Miller  <Todd.Miller@courtesan.com>
24518
24519         * find_path.c:
24520         checkdot now works correctly
24521         [3bc4835bb3e9]
24522
24523 1996-03-12  Todd C. Miller  <Todd.Miller@courtesan.com>
24524
24525         * configure.in:
24526         can't have DCE and C2 passwords both...
24527         [fb9a8ab7ca66]
24528
24529 1996-03-11  Todd C. Miller  <Todd.Miller@courtesan.com>
24530
24531         * parse.yacc, sudo.c, sudo.h, visudo.c:
24532         now uses shost even if not FQDN
24533         [87f7498b3a1f]
24534
24535         * configure.in:
24536         now looks for skey in /usr/lib and doesn't require libskey to be in
24537         /usr/local/lib just because skey.h is (for my netbsd box :-)
24538         [ceb1763e37d2]
24539
24540         * aclocal.m4, config.h.in, pathnames.h.in:
24541         _SUDO_PATH_ -> _CONFIG_PATH_
24542         [84d97ad13d75]
24543
24544         * aclocal.m4, sudo.pod:
24545         /var/run/.odus -> /var/run/sudo
24546         [922da220b8f5]
24547
24548         * pathnames.h.in:
24549         now uses _SUDO_PATH_TIMEDIR
24550         [5ecab0155fdf]
24551
24552         * OPTIONS:
24553         udpated FQDN
24554         [361b6f7440c0]
24555
24556         * aclocal.m4, configure.in:
24557         added SUDO_TIMEDIR
24558         [368c95c8c950]
24559
24560         * config.h.in:
24561         added _SUDO_PATH_TIMEDIR
24562         [3879864d808c]
24563
24564         * sudo.pod:
24565         updated wrt /var/run/sudo
24566         [9e14f2a429d3]
24567
24568         * sudo.c, sudo.h:
24569         added support for shost if FQDN
24570         [51a3f51a09a1]
24571
24572         * parse.yacc, visudo.c:
24573         now uses shost if FQDN
24574         [d19da2e92b42]
24575
24576         * check.c:
24577         Now use skeylookup() instead off skeychallenge()
24578         [4c7438bb2ae0]
24579
24580 1996-02-28  Todd C. Miller  <Todd.Miller@courtesan.com>
24581
24582         * logging.c:
24583         mail_argv should not contain ALERTMAIL as it includes "-t"
24584         [67ffaaa8f843]
24585
24586 1996-02-22  Todd C. Miller  <Todd.Miller@courtesan.com>
24587
24588         * INSTALL, Makefile.in, README, configure.in, version.h:
24589         ++version
24590         [e08fd4a809fc]
24591
24592         * compat.h:
24593         added more _PASSWD_LEN stuff -- now uses PASS_MAX too
24594         [2f20c3153689]
24595
24596         * tgetpass.c:
24597         now includes limits.h moved _PASSWD_LEN -> compat.h
24598         [b1ca3cafdacc]
24599
24600 1996-02-06  Todd C. Miller  <Todd.Miller@courtesan.com>
24601
24602         * INSTALL, README:
24603         ++version
24604         [3eacf32803f5]
24605
24606         * Makefile.in:
24607         ++versoin
24608         [3b91c317630a]
24609
24610         * Makefile.in:
24611         fixed a typo
24612         [3661ac4a7803]
24613
24614         * configure.in:
24615         ++version
24616         [60e842973745]
24617
24618 1996-02-05  Todd C. Miller  <Todd.Miller@courtesan.com>
24619
24620         * RUNSON:
24621         updated
24622         [def2c3c24195]
24623
24624         * CHANGES:
24625         done for 1.4.1 (I hope)
24626         [2ab543769a40]
24627
24628         * sudoers.pod:
24629         added info on wildcards
24630         [ce3bd41bc063]
24631
24632         * sample.sudoers:
24633         added wildcard example
24634         [762feb0577bd]
24635
24636         * Makefile.in:
24637         now uses *.pod to build *.man and *.cat & *.html
24638         [3ec14962028b]
24639
24640         * configure.in:
24641         addedSUDO_PROG_BSHELL !ll
24642         [3c80b320bf16]
24643
24644         * visudo.pod:
24645         fixed up some formatting
24646         [12166c434526]
24647
24648         * sudoers.pod:
24649         redid section describing sample sudoers stuff
24650         [b8065cceec71]
24651
24652         * sudo.pod:
24653         fixed some formatting
24654         [aa9a681add0f]
24655
24656         * getspwuid.c:
24657         now treats "" as bourne shell
24658         [30194a72ad56]
24659
24660         * Makefile.in:
24661         TESTOBJS nwo includes wildmat.o
24662         [86cc6500f84d]
24663
24664         * testsudoers.c:
24665         now works with NewArg[cv]
24666         [2f72674ce942]
24667
24668         * sudo.c:
24669         removed an XXX (fixed it in getspwuid.c)
24670         [e791ee0d1a68]
24671
24672         * aclocal.m4:
24673         added check for bourne shell
24674         [a2fd51676b8a]
24675
24676         * pathnames.h.in:
24677         added _PATH_BSHELL
24678         [e7c10011d47b]
24679
24680         * config.h.in:
24681         added _SUDO_PATH_BSHELL
24682         [6a1182898de9]
24683
24684 1996-02-04  Todd C. Miller  <Todd.Miller@courtesan.com>
24685
24686         * visudo.c:
24687         unixware vi returns 256 instead of 0
24688         [234ffc7c6786]
24689
24690         * INSTALL:
24691         added Linux note
24692         [5f85efcd2b58]
24693
24694         * logging.c:
24695         fixed up some XXX's. file log format now looks a little more like
24696         real syslog(3) format.
24697         [6df55707bfc3]
24698
24699         * README, TROUBLESHOOTING:
24700         updated wrt lex/flex
24701         [eb787d69156b]
24702
24703         * Makefile.in:
24704         commented out rule to build lex.yy.c from parse.lex since we ship
24705         with a pre-flex'd parser
24706         [7507e2ce4a95]
24707
24708         * parse.c, parse.yacc, visudo.c:
24709         path_matches -> command_matches
24710         [0bd469424f86]
24711
24712         * logging.c:
24713         eliminated some strcat()'s
24714         [9878a79bc374]
24715
24716         * configure.in:
24717         no longer checks for lex/flex (now assumes flex)
24718         [a086ccc73798]
24719
24720         * configure.in:
24721         now checks for $kerb_dir_candidate/krb.h instead of just
24722         kerb_dir_candidate
24723         [9133bc3c5208]
24724
24725 1996-02-03  Todd C. Miller  <Todd.Miller@courtesan.com>
24726
24727         * parse.yacc:
24728         now use a 'hook' expression instead of an iffy one :-)
24729         [9560df01b8c0]
24730
24731 1996-02-02  Todd C. Miller  <Todd.Miller@courtesan.com>
24732
24733         * visudo.c:
24734         now works with new sudo arg stuff
24735         [310a0d43ddad]
24736
24737         * parse.yacc:
24738         fixed dereferencing deadbeef
24739         [474ef8a8006b]
24740
24741         * sudo.c:
24742         changed an occurrence of Argv to NewArgv
24743         [205b012b7691]
24744
24745         * parse.lex:
24746         took out support for quoted commands since there is no need...
24747         [5c5036d353b1]
24748
24749         * parse.c:
24750         fixed a typo in a for() loop
24751         [7e8d5283c43b]
24752
24753         * logging.c:
24754         protected against dereferencing rogue pointers
24755         [56debd517717]
24756
24757         * sudo.c:
24758         now uses NewArgv amd NewArgc so cmnd_aegs is no longer needed this
24759         also allows us to eliminate some kludges in parse_args() and
24760         eliminate superfluous code.
24761         [5122f66ad150]
24762
24763         * logging.c:
24764         no longer uses cmnd_args, now uses NewArgv instead.
24765         [abddd23cf068]
24766
24767         * sudo.h:
24768         added struct sudo_command, NewArgc, and NewArgv removed cmnd_args
24769         (no longer used)
24770         [78410984fb05]
24771
24772         * Makefile.in:
24773         added wildmat.c to SRCS & SUDOBJS
24774         [3800efb41794]
24775
24776         * parse.yacc:
24777         COMMAND is now a struct containing the path and args
24778         [5c32822c5b94]
24779
24780         * parse.lex:
24781         replaced append() with fill_cmnd() and fill_args. command args from
24782         a sudoers entry are now stored in an arrary for easy matching.
24783         [a981d7f4eb0d]
24784
24785         * parse.c:
24786         command line args from sudoers file are now in an array like ones
24787         passed in from the command line
24788         [1d9e37e84519]
24789
24790 1996-02-01  Todd C. Miller  <Todd.Miller@courtesan.com>
24791
24792         * parse.c:
24793         wildwat stuff now works
24794         [49d16488531f]
24795
24796 1996-01-29  Todd C. Miller  <Todd.Miller@courtesan.com>
24797
24798         * version.h:
24799         ++version
24800         [53e55463ef89]
24801
24802         * Makefile.in:
24803         ++version added wildmat.*
24804         [0508297a4711]
24805
24806 1996-01-28  Todd C. Miller  <Todd.Miller@courtesan.com>
24807
24808         * parse.lex:
24809         added support for quoted commands (w/ or w/o args)
24810         [b9a637155673]
24811
24812 1996-01-22  Todd C. Miller  <Todd.Miller@courtesan.com>
24813
24814         * sudo.pod, visudo.pod:
24815         cleaned up formatting
24816         [4591d4195437]
24817
24818         * sudo.pod, visudo.pod:
24819         Initial revision
24820         [7564a8242750]
24821
24822 1996-01-21  Todd C. Miller  <Todd.Miller@courtesan.com>
24823
24824         * sudoers.pod:
24825         looks reasonable, could be mroe readable
24826         [a5be2d19d9e0]
24827
24828         * sudoers.pod:
24829         Initial revision
24830         [957888be31a6]
24831
24832 1996-01-16  Todd C. Miller  <Todd.Miller@courtesan.com>
24833
24834         * RUNSON:
24835         updated
24836         [633743aa924b]
24837
24838         * OPTIONS:
24839         updated NO_ROOT_SUDO entry
24840         [f1c15b1dec9e]
24841
24842 1996-01-15  Todd C. Miller  <Todd.Miller@courtesan.com>
24843
24844         * RUNSON:
24845         *** empty log message ***
24846         [5b63de579ff7] [SUDO_1_4_0]
24847
24848         * sudo.c:
24849         fixed SECURE_PATH
24850         [6002889f606d]
24851
24852         * RUNSON:
24853         udpa`ted for 1.4
24854         [6014a8592815]
24855
24856         * configure.in:
24857         AIX aixcrypt.exp now uses $(srcdir)
24858         [b0d57674fef4]
24859
24860         * TROUBLESHOOTING:
24861         added entry for anal ansi compilers
24862         [4193cec1c6b1]
24863
24864 1996-01-14  Todd C. Miller  <Todd.Miller@courtesan.com>
24865
24866         * INSTALL:
24867         added info on libcrypt_i for SCO
24868         [575497d56698]
24869
24870         * TODO:
24871         *** empty log message ***
24872         [d0aaf67b9913]
24873
24874         * sample.sudoers:
24875         added comments
24876         [a7773f7eda8d]
24877
24878         * TODO:
24879         1.4 release
24880         [1dade29e9fd9]
24881
24882         * CHANGES:
24883         ++version
24884         [67241be40780]
24885
24886         * INSTALL, OPTIONS, README, config.h.in, configure.in:
24887         ++version
24888         [2e0a37897f68]
24889
24890         * BUGS:
24891         ++version and fixed ISC
24892         [78963f01a0e3]
24893
24894         * check.c, compat.h, dce_pwent.c, find_path.c, getspwuid.c, getwd.c,
24895         goodpath.c, ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h,
24896         insults.h, logging.c, options.h, pathnames.h.in, putenv.c, strdup.c,
24897         sudo.c, sudo.h, sudo_setenv.c, testsudoers.c, tgetpass.c, utime.c,
24898         visudo.c:
24899         ++version
24900         [b6227f29b3d9]
24901
24902         * interfaces.c:
24903         added STUB_LOAD_INTERFACES ++version
24904         [d8150a3fd577]
24905
24906         * Makefile.in, emul/utime.h, parse.c, parse.lex, parse.yacc,
24907         version.h:
24908         ++version
24909         [da9e90e69bdc]
24910
24911         * PORTING:
24912         added info about fd_set in tgetpass added info on interfaces.c
24913         [a39902febd17]
24914
24915 1996-01-11  Todd C. Miller  <Todd.Miller@courtesan.com>
24916
24917         * dce_pwent.c:
24918         added sudo header
24919         [fc0f2c48682e]
24920
24921         * tgetpass.c:
24922         fixed a typo
24923         [43d40b72ee8f]
24924
24925         * Makefile.in:
24926         tgetpass.o is now only linked in with sudo (not visudo)
24927         [7407c5ff11f8]
24928
24929 1996-01-09  Todd C. Miller  <Todd.Miller@courtesan.com>
24930
24931         * BUGS, INSTALL, Makefile.in, OPTIONS, README, config.h.in,
24932         configure.in:
24933         ++version
24934         [9b82ad805d6b]
24935
24936         * emul/utime.h:
24937         added copyright notice
24938         [4380f16cd075]
24939
24940         * check.c, compat.h, find_path.c, getspwuid.c, getwd.c, goodpath.c,
24941         ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h, insults.h,
24942         interfaces.c, logging.c, options.h, parse.c, parse.lex, parse.yacc,
24943         pathnames.h.in, putenv.c, strdup.c, sudo.c, sudo.h, sudo_setenv.c,
24944         testsudoers.c, tgetpass.c, utime.c, version.h, visudo.c:
24945         ++version
24946         [32717fdb5d05]
24947
24948         * tgetpass.c:
24949         minor cleanup and now includes sys/bsdtypes for svr4'ish boxen
24950         [326864428da2]
24951
24952         * configure.in:
24953         ISC now gets -lcrypt now check for sys/bsdtypes.h
24954         [e064799c054b]
24955
24956         * config.h.in:
24957         added check for sys/bsdtypes.h
24958         [9adb9533c363]
24959
24960 1996-01-07  Todd C. Miller  <Todd.Miller@courtesan.com>
24961
24962         * parse.yacc:
24963         removed debugging stuff (setting freed ptr to NULL)
24964         [02fe8eec63a0]
24965
24966         * TROUBLESHOOTING:
24967         added 2 entries
24968         [02884e2733e2]
24969
24970         * Makefile.in:
24971         added FAQ
24972         [074d8dfcf28d]
24973
24974         * TROUBLESHOOTING:
24975         added section on syslog
24976         [e6bc02a22b86]
24977
24978         * configure.in:
24979         added AC_ISC_POSIX for better ISC support
24980         [8436b3e12af2]
24981
24982         * config.h.in:
24983         fixed typo
24984         [f1b3922babf4]
24985
24986         * config.h.in:
24987         added define for _POSIX_SOURCE
24988         [ded6d92b34f9]
24989
24990 1996-01-04  Todd C. Miller  <Todd.Miller@courtesan.com>
24991
24992         * configure.in:
24993         fixed check for lsearch()
24994         [75baa5bc28a3]
24995
24996 1995-12-22  Todd C. Miller  <Todd.Miller@courtesan.com>
24997
24998         * interfaces.c:
24999         fixed for AIX now deal if num_interfaces == 0 (should not happen)
25000         [ae450e859227]
25001
25002 1995-12-20  Todd C. Miller  <Todd.Miller@courtesan.com>
25003
25004         * configure.in:
25005         now only define HAVE_LSEARCH if there is a corresponding search.h
25006         [8ce645c5d17f]
25007
25008         * interfaces.c:
25009         works on ISC again
25010         [ccac920d424c]
25011
25012 1995-12-18  Todd C. Miller  <Todd.Miller@courtesan.com>
25013
25014         * configure.in:
25015         now define HAVE_LSEARCH if we find lsearch() in libcompat
25016         [7343e4313a87]
25017
25018         * lsearch.c:
25019         char * -> const char *
25020         [1c0b11c2300a]
25021
25022         * configure.in:
25023         now looks in -lcompat for lsearch()
25024         [a1cc1d6fcd09]
25025
25026         * Makefile.in:
25027         remove sudo.core visudo.core for clan target
25028         [b523456a85df]
25029
25030         * aclocal.m4:
25031         added UID_MAX support in check for MAX_UID_T_LEN
25032         [7ab262b1173f]
25033
25034         * Makefile.in:
25035         fixed another occurence of sudo_getpwuid.*
25036         [fb5809c07da2]
25037
25038         * Makefile.in, getspwuid.c:
25039         sudo_getpwuid.c -> getspwuid.c
25040         [875f2ef808b4]
25041
25042         * configure.in:
25043         moved the "echo"
25044         [ad7b8f966076]
25045
25046         * BUGS, CHANGES, INSTALL, Makefile.in, OPTIONS, README, check.c,
25047         compat.h, config.h.in, configure.in, find_path.c, getspwuid.c,
25048         getwd.c, goodpath.c, ins_2001.h, ins_classic.h, ins_csops.h,
25049         ins_goons.h, insults.h, interfaces.c, logging.c, options.h, parse.c,
25050         parse.lex, parse.yacc, pathnames.h.in, putenv.c, strdup.c, sudo.c,
25051         sudo.h, sudo_setenv.c, testsudoers.c, tgetpass.c, utime.c,
25052         version.h, visudo.c:
25053         ++version
25054         [ee57c6410ffa]
25055
25056         * testsudoers.c:
25057         added group support
25058         [54d8097df8bd]
25059
25060         * sample.sudoers:
25061         added group entry
25062         [50994d31fd49]
25063
25064         * sudoers.man:
25065         documented group support
25066         [0a16707f8fed]
25067
25068         * parse.c, parse.lex, parse.yacc, visudo.c:
25069         added group support
25070         [427218c879c8]
25071
25072 1995-12-15  Todd C. Miller  <Todd.Miller@courtesan.com>
25073
25074         * check.c:
25075         tkfile was too short and overflowed the kerberos realm
25076         [53823a1ff5af]
25077
25078 1995-12-11  Todd C. Miller  <Todd.Miller@courtesan.com>
25079
25080         * sudo.c:
25081         now copy command args directly from Argv
25082         [77408278b6fd]
25083
25084         * sudo.c:
25085         replaced code to copy cmnd_args so that is does not use realloc
25086         since most realloc()'s really stink
25087         [b29a0ff73fb6]
25088
25089 1995-12-08  Todd C. Miller  <Todd.Miller@courtesan.com>
25090
25091         * configure.in:
25092         syslog() fixed in hpux 10.01
25093         [2648e6f0cdb0]
25094
25095 1995-12-06  Todd C. Miller  <Todd.Miller@courtesan.com>
25096
25097         * configure.in:
25098         AC_CHECK_LIB() now sets SUDO_LIBS (and VISUDO_LIBS if appropriate)
25099         [8f108b8d8711]
25100
25101         * configure.in:
25102         better error if cannot find skey incs or libs
25103         [5887662ee9d3]
25104
25105         * aclocal.m4:
25106         now use a temp file for determining max len of uid_t in string form.
25107         the old hacky way broke on netbsd
25108         [b68f470fa9f8]
25109
25110         * sudo.c:
25111         added set of parens and a space
25112         [8a3d4826d022]
25113
25114 1995-12-05  Todd C. Miller  <Todd.Miller@courtesan.com>
25115
25116         * dce_pwent.c:
25117         fixes from Jeff Earickson <jaearick@colby.edu> ,
25118         [bde0f0b756ec]
25119
25120         * check.c:
25121         modified a comment
25122         [e2a97f1afbbe]
25123
25124         * Makefile.in:
25125         fixed up testsudoers target
25126         [d39c4e7bb609]
25127
25128         * configure.in:
25129         DCE changes from Jeff Earickson <jaearick@colby.edu> LIBS ->
25130         SUDO_LIBS and VISUDO_LIBS LDFLAGS -> SUDO_FDFLAGS and VISUDO_LDFLAGS
25131         [da7a1c433828]
25132
25133         * Makefile.in:
25134         LIBS -> SUDO_LIBS , VISUDO_LIBS LDFLAGS -> SUDO_LDFLAGS,
25135         VISUDO_LDFLAGS
25136         [4b69503e8487]
25137
25138 1995-11-28  Todd C. Miller  <Todd.Miller@courtesan.com>
25139
25140         * configure.in:
25141         fix for C2 on hpux 10 now uses -linet if it exists
25142         [8d300112263d]
25143
25144         * check.c:
25145         LONG_SKEY_PROMPT is less of a klusge /
25146         [dcc144abaac3]
25147
25148         * configure.in:
25149         fixed typos w/ dce stuff
25150         [f7dfd6d4e149]
25151
25152         * Makefile.in:
25153         added dce_pwent.c
25154         [79047acdc516]
25155
25156 1995-11-26  Todd C. Miller  <Todd.Miller@courtesan.com>
25157
25158         * INSTALL:
25159         amended section on combining authentication mechanisms
25160         [dc5138c7c716]
25161
25162         * PORTING:
25163         minor updates for 1.3.6
25164         [fe80c13bd994]
25165
25166         * TROUBLESHOOTING:
25167         added 2 more entries
25168         [c7201439a0f5]
25169
25170         * BUGS:
25171         updated for 1.3.6
25172         [979b414d2a2d]
25173
25174         * README:
25175         overhauled
25176         [3af8b60eb594]
25177
25178         * INSTALL:
25179         rewrote for sudo 1.3.6
25180         [b16027b9c726]
25181
25182         * TROUBLESHOOTING:
25183         added 3 entries
25184         [934c9ee3f153]
25185
25186 1995-11-25  Todd C. Miller  <Todd.Miller@courtesan.com>
25187
25188         * find_path.c, getspwuid.c, sudo.c:
25189         added explict casts for strdup since many includes don't prototype
25190         it. gag me.
25191         [3e19a11f2fcc]
25192
25193         * sudo.h:
25194         removed prototype for sudo_getpwuid() since convex C compiler choked
25195         on it.
25196         [c3ea74ca67b0]
25197
25198         * sudo.c:
25199         added prototype for sudo_getpwuid()
25200         [4a8e3cdc2b98]
25201
25202         * lsearch.c:
25203         now compiles on strict ANSI compilers
25204         [3ce5d72d0b08]
25205
25206         * check.c:
25207         added LONG_SKEY_PROMPT support
25208         [48a18b8a2332]
25209
25210         * Makefile.in:
25211         added extra $'s for make to eat up, yum.
25212         [2995b214e12b]
25213
25214         * OPTIONS, options.h:
25215         added LONG_SKEY_PROMPT
25216         [f23ae799b5a4]
25217
25218 1995-11-24  Todd C. Miller  <Todd.Miller@courtesan.com>
25219
25220         * check.c:
25221         s/key support now works with normal s/key as well as logdaemon
25222         [d67573f523bf]
25223
25224         * OPTIONS, options.h:
25225         added SKEY_ONLY
25226         [bbf07654e0de]
25227
25228         * compat.h:
25229         set _PASSWD_LEN to 256 for any of KERB4, DCE, SKEY
25230         [205895b96a36]
25231
25232         * INSTALL:
25233         added DCE note added more AIX notes
25234         [6345403b3522]
25235
25236         * sudo.c:
25237         now include pthread.h for DCE support
25238         [6fe02865f679]
25239
25240         * check.c:
25241         dce_pwent() is ok after all .,
25242         [d26a8746a55d]
25243
25244         * logging.c:
25245         now uses SYSLOG() macro that equates to either syslog() or
25246         syslog_wrapper
25247         [42ac4cff8045]
25248
25249         * dce_pwent.c:
25250         minor formatting changes. renamed check() to somthing less generic
25251         [71859f217be1]
25252
25253         * check.c, logging.c, parse.yacc, sudo.c, sudo.h, testsudoers.c,
25254         visudo.c:
25255         now uses user_pw_ent and simple macros to get at the contents
25256         [f4cbf3e7145a]
25257
25258 1995-11-23  Todd C. Miller  <Todd.Miller@courtesan.com>
25259
25260         * check.c:
25261         simpler dec unix C2 support
25262         [86bc8f75250e]
25263
25264         * getspwuid.c:
25265         now sets crypt_type for DEC unix C2
25266         [99aeadd18266]
25267
25268 1995-11-21  Todd C. Miller  <Todd.Miller@courtesan.com>
25269
25270         * configure.in:
25271         added csops paths for skey
25272         [b8ca672e2117]
25273
25274         * getspwuid.c:
25275         now includes string.h for strdup() prototype
25276         [3605259c3620]
25277
25278         * getspwuid.c:
25279         fixed a few typos
25280         [46c97e4ea417]
25281
25282         * check.c:
25283         now includes skey.h
25284         [11e611ce1b61]
25285
25286         * getspwuid.c:
25287         fixed up comments
25288         [223dac56f0c8]
25289
25290         * check.c:
25291         moved a lot of the shadow passwd crap to sudo_getpwuid()
25292         [97d8887fb7d3]
25293
25294         * sudo.c:
25295         now uses sudo_pw_ent
25296         [d014dadbef48]
25297
25298         * testsudoers.c:
25299         now uses sudo_pw_ent
25300         [d92936ed7e34]
25301
25302         * visudo.c:
25303         now sets sudo_pw_ent
25304         [ff75cdfcf8b3]
25305
25306         * getspwuid.c:
25307         Initial revision
25308         [6deb6df9d7bc]
25309
25310         * tgetpass.c:
25311         moved dce stuff into compat.h
25312         [1124284396e7]
25313
25314         * logging.c, sudo.h:
25315         now uses sudo_pw_ent
25316         [404ff20a5067]
25317
25318         * Makefile.in:
25319         added sudo_getpwuid.c
25320         [6666d0644512]
25321
25322         * compat.h:
25323         added dce support
25324         [3c3b36a7ce0e]
25325
25326         * parse.yacc:
25327         now uses sudo_pw_ent
25328         [9f5e8d11bd68]
25329
25330 1995-11-20  Todd C. Miller  <Todd.Miller@courtesan.com>
25331
25332         * check.c:
25333         fixed exempt_group stuff for OS's that don't put base gid in group
25334         vector
25335         [003f153bd396]
25336
25337         * check.c:
25338         S/Key support now works with sunos4 shadow passwords
25339         [1eb64a5efff1]
25340
25341         * Makefile.in:
25342         fixed clean rule
25343         [5695a2c62816]
25344
25345         * config.h.in, configure.in:
25346         added DCE support
25347         [f53c766c1947]
25348
25349         * tgetpass.c:
25350         DCE & KERB support
25351         [904cf436506a]
25352
25353         * check.c:
25354         first stab at dce support
25355         [aea5ca07b1e3]
25356
25357         * dce_pwent.c:
25358         now smells like sudo
25359         [8b3d609b49cd]
25360
25361         * dce_pwent.c:
25362         Initial revision
25363         [b573555f2399]
25364
25365         * check.c:
25366         skey'd sudo now works w/ normal password as well
25367         [8d038f9f6e94]
25368
25369 1995-11-19  Todd C. Miller  <Todd.Miller@courtesan.com>
25370
25371         * Makefile.in, OPTIONS, check.c, compat.h, config.h.in, find_path.c,
25372         getwd.c, goodpath.c, ins_2001.h, ins_classic.h, ins_csops.h,
25373         ins_goons.h, insults.h, interfaces.c, logging.c, options.h, parse.c,
25374         parse.lex, parse.yacc, pathnames.h.in, putenv.c, strdup.c, sudo.c,
25375         sudo.h, sudo_setenv.c, testsudoers.c, tgetpass.c, utime.c,
25376         version.h, visudo.c:
25377         updated version number
25378         [ba7e346d7904]
25379
25380         * README:
25381         updated to reflect version change
25382         [1d15cf1d8cc8]
25383
25384         * configure.in:
25385         --with options now line up ++version
25386         [08ebf625fbca]
25387
25388         * sudo.h:
25389         removed unecesary S/Key stuff
25390         [68188cba90af]
25391
25392         * configure.in:
25393         fixed S/Key support
25394         [f6d9cbc36618]
25395
25396         * Makefile.in:
25397         -I stuff now goes in CPPFLAGS
25398         [7b8e53c5b046]
25399
25400         * check.c:
25401         fixed SKey support
25402         [52c1a5cf4435]
25403
25404         * README:
25405         updated version
25406         [bed6498a10bb]
25407
25408         * OPTIONS:
25409         fixed description of EXEMPTGROUP
25410         [cfeead55edc2]
25411
25412         * sudo.c:
25413         more people use _RLD_ than just alphas...
25414         [6a3c7090a6f6]
25415
25416         * Makefile.in:
25417         replaced $man_prefix with $mandir
25418         [dc4b36a550e2]
25419
25420         * configure.in:
25421         fixed a typo
25422         [a38a4acddcaf]
25423
25424         * Makefile.in:
25425         now use more GNU'ish dir names
25426         [c5498391a520]
25427
25428         * configure.in:
25429         now set *dir correctly (can override from command line)
25430         [523ff98fd438]
25431
25432         * sudo.c:
25433         now deal with situations where we getwd() fails
25434         [88a9e61dccbb]
25435
25436 1995-11-17  Todd C. Miller  <Todd.Miller@courtesan.com>
25437
25438         * Makefile.in:
25439         added etc_dir, bin_dir, sbin_dir
25440         [75fd08d92842]
25441
25442         * configure.in:
25443         added sbin_dir
25444         [3cb318c0d8d1]
25445
25446         * Makefile.in:
25447         now ship a flex-generated lex.yy.c
25448         [4d083ed70dce]
25449
25450         * Makefile.in:
25451         now sets _PATH_SUDO_SUDOERS, _PATH_SUDO_STMP, SUDOERS_OWNER
25452         [4d51dc9c3780]
25453
25454         * pathnames.h.in:
25455         _PATH_SUDO_SUDOERS & _PATH_SUDO_STMP are now overridden via Makefile
25456         [773fd163d52f]
25457
25458         * options.h:
25459         no more error for redefining SUDOERS_OWNER
25460         [4ba336644c6a]
25461
25462         * OPTIONS:
25463         expanded SUDOERS_OWNER section
25464         [12fae405759e]
25465
25466 1995-11-16  Todd C. Miller  <Todd.Miller@courtesan.com>
25467
25468         * visudo.c:
25469         now warn if chown(2) failed
25470         [d0d1db6e3a1f]
25471
25472         * logging.c:
25473         better default warning for NO_SUDOERS_FILE
25474         [5260b458ac64]
25475
25476         * sudo.c:
25477         added missing set_perms() no more cryptic message if the sudoers
25478         file is zero length, now just give a parse error
25479         [b81ea724838a]
25480
25481         * logging.c:
25482         better diagnostics if NO_SUDOERS_FILE
25483         [877e878663c5]
25484
25485         * sudo.c:
25486         check_sudoers() now catches sudoers files that are not readable (but
25487         are stat'able).
25488         [fea05663b3de]
25489
25490 1995-11-13  Todd C. Miller  <Todd.Miller@courtesan.com>
25491
25492         * configure.in:
25493         now add -D__STDC__ for convex cc (not gcc)
25494         [c80fc53ff51b]
25495
25496         * configure.in:
25497         MAN_PREFIX -> man_prefix now sets prefix and exec_prefix
25498         [fe238226a057]
25499
25500         * Makefile.in:
25501         now uses exec_prefix & prefix from configure
25502         [f62fca5f56bd]
25503
25504         * find_path.c, getwd.c, goodpath.c, interfaces.c, logging.c, parse.c,
25505         parse.lex, parse.yacc, sudo.c, sudo.h, sudo_setenv.c, tgetpass.c,
25506         utime.c, visudo.c:
25507         options.h is now <> instead of "" so shadow build trees can have a
25508         custom copy of options.h
25509         [e6782676099c]
25510
25511         * check.c:
25512         user_is_exempt() is no longer a hack, it now uses getgrnam()
25513         [287f8d5356f7]
25514
25515         * options.h:
25516         EXEMPTGROUP is now "sudo"
25517         [61487304dbe1]
25518
25519         * configure.in:
25520         MAN_POSTINSTALL now contains a leading space
25521         [eaad4ac34012]
25522
25523         * Makefile.in:
25524         removed leading tab if @MAN_POSTINSTALL@ not defined now removes
25525         testsudoers in clean:
25526         [e01711baceb8]
25527
25528         * tgetpass.c:
25529         includes pwd.h to get _PASSWD_LEN definition
25530         [8ec174f263f1]
25531
25532 1995-10-30  Todd C. Miller  <Todd.Miller@courtesan.com>
25533
25534         * sudo.c:
25535         unset the KRB_CONF envariable if using kerberos so we don't get
25536         spoofed into using a bogus server
25537         [2561a0274fca]
25538
25539 1995-09-29  Todd C. Miller  <Todd.Miller@courtesan.com>
25540
25541         * parse.yacc:
25542         now explicately initialize match[] tp be FALSE
25543         [0e45e5c47766]
25544
25545 1995-09-23  Todd C. Miller  <Todd.Miller@courtesan.com>
25546
25547         * sudo.c:
25548         removed unused variable now passes -Wall
25549         [3452508bc16d]
25550
25551         * parse.yacc:
25552         yyerror and dumpaliases are now void's now passes -Wall
25553         [2769dfb51993]
25554
25555         * parse.lex:
25556         added prototype for yyerror
25557         [1f3f0c1b4ab4]
25558
25559         * check.c, logging.c, parse.c:
25560         now passes -Wall
25561         [eab57e5e81d2]
25562
25563         * interfaces.c:
25564         rmeoved unused cruft now passes -Wall
25565         [7a47e1866f4b]
25566
25567         * Makefile.in:
25568         fixed headers that moved to emul dir
25569         [e680c1e5049b]
25570
25571         * logging.c:
25572         fixed deref of nil pointer if no args
25573         [973b9bea432f]
25574
25575 1995-09-15  Todd C. Miller  <Todd.Miller@courtesan.com>
25576
25577         * OPTIONS:
25578         added a caveat to FQDN section
25579         [dcf6e2a5fff4]
25580
25581 1995-09-13  Todd C. Miller  <Todd.Miller@courtesan.com>
25582
25583         * Makefile.in:
25584         more $srcdir support for install targets
25585         [f6eac78436dd]
25586
25587         * find_path.c, interfaces.c, parse.c, parse.lex, parse.yacc, putenv.c,
25588         strdup.c, sudo.c, sudo_setenv.c, testsudoers.c, visudo.c:
25589         don't include malloc.h if we include stdlib.h
25590         [fca2ff307cd8]
25591
25592         * parse.yacc:
25593         local search.h now lives in emul
25594         [51c458904424]
25595
25596         * check.c, utime.c:
25597         local utime.h now lives in emul dir
25598         [f92fc9e8c8de]
25599
25600         * lsearch.c:
25601         local search.h now lives in emul
25602         [579efc407439]
25603
25604         * Makefile.in:
25605         added support for building in other than the sourcedir
25606         [2ab53a43f7d4]
25607
25608 1995-09-10  Todd C. Miller  <Todd.Miller@courtesan.com>
25609
25610         * OPTIONS:
25611         annotated CSOPS_INSULTS option
25612         [9e57d45a0afa]
25613
25614         * TROUBLESHOOTING:
25615         updated shadow passwords blurb
25616         [39b785bc7253]
25617
25618         * sudo.c:
25619         if SHELL_IF_NO_ARGS is set, "sudo -- foo" now runs a shell and
25620         passes along foo as the arguments
25621         [a91077aa8fc5]
25622
25623 1995-09-09  Todd C. Miller  <Todd.Miller@courtesan.com>
25624
25625         * parse.lex:
25626         collapsed pathname and dir sections into one -- its now less
25627         expensive
25628         [89caa03bec25]
25629
25630         * parse.lex:
25631         fixed spacing quoting [,:\\=] now works correctly append() and
25632         fill() now take args to make the above work
25633         [09d023d9ef3a]
25634
25635         * sudo.c:
25636         fixed a typo that caused commands with no tty on fd 0 but a tty on
25637         fd 1 to erroneously have "none" as their tty
25638         [07d2c0e7977c]
25639
25640 1995-09-04  Todd C. Miller  <Todd.Miller@courtesan.com>
25641
25642         * check.c:
25643         timestampfile is now a global static removed decl of timestampfile
25644         in remove_timestamp since we can just use the global one
25645         [f0cbdc6aab1c]
25646
25647         * check.c:
25648         created touch() to update timestamps added USE_TTY_TICKETS support
25649         (bit of a kludge)
25650         [cee1dd0318f8]
25651
25652         * compat.h:
25653         added _S_IFDIR and S_ISDIR
25654         [b4a51cc9628e]
25655
25656         * OPTIONS, options.h:
25657         added USE_TTY_TICKETS
25658         [b4e22f81f25e]
25659
25660         * parse.yacc:
25661         removed const from casts for lsearch() & lfind() to placate irix 4.x
25662         C compiler
25663         [5003081f76ea]
25664
25665 1995-09-03  Todd C. Miller  <Todd.Miller@courtesan.com>
25666
25667         * sudo.c:
25668         now only strip '/dev/' off of a tty if it starts with '/dev/'
25669         [7f62bcd24039]
25670
25671         * pathnames.h.in:
25672         added _PATH_DEV
25673         [6375f44d1910]
25674
25675         * configure.in:
25676         AC_HAVE_HEADERS -> AC_CHECK_HEADERS now check for tcgetattr only if
25677         have termios.h
25678         [9c60391235fd]
25679
25680         * tgetpass.c:
25681         fixed incorrect #ifdef termio uses "unsigned short" not int for
25682         c_?flag
25683         [d032e6a29845]
25684
25685         * parse.lex, parse.yacc:
25686         fixed a spelling error
25687         [cad6a944c7b1]
25688
25689         * Makefile.in:
25690         fixed typo
25691         [204a65403e7c]
25692
25693 1995-09-02  Todd C. Miller  <Todd.Miller@courtesan.com>
25694
25695         * Makefile.in:
25696         fixed a comment
25697         [268f760e57ad]
25698
25699         * parse.yacc:
25700         added dotcat() to cat 2 strings w/ a dot effeciently now that we
25701         dynamically allocate strings they need to be free()'d
25702         [ec2e2152f415]
25703
25704         * parse.lex:
25705         dynamically allocates space for strings
25706         [d10ac3533d66]
25707
25708         * sudo.h:
25709         no more MAXCOMMANDLENGTH
25710         [e2e1219bff8a]
25711
25712         * sudo.h:
25713         added decl of tty
25714         [c8ae81303ee5]
25715
25716         * logging.c, sudo.c:
25717         moved tty stuff into sudo.c
25718         [e028abefeb07]
25719
25720 1995-09-01  Todd C. Miller  <Todd.Miller@courtesan.com>
25721
25722         * parse.c:
25723         fixed a logic bug. Was denying a command if user gave command line
25724         args but there were none in the sudoers file which is wrong.
25725         [7489a99b8e8a]
25726
25727         * sudo.h:
25728         MAXCOMMMANDLEN dropped down to 1K
25729         [38ef54ba290b]
25730
25731         * parse.lex:
25732         return foo; -> return(foo);
25733         [0e8be1b57001]
25734
25735         * parse.yacc:
25736         fixed netgr_matches() prototype
25737         [e69f15910464]
25738
25739         * parse.lex:
25740         added support for escaping "termination" characters
25741         [8bd4ef50f35c]
25742
25743         * parse.c:
25744         buf is now of size MAXPATHLEN+1 since it never holds command args
25745         [2ce4b763058c]
25746
25747         * sudo.c:
25748         fixed comments
25749         [0c74a3d2ebb0]
25750
25751         * goodpath.c:
25752         fixed negation problem (doh!)
25753         [782814e3a2d1]
25754
25755         * parse.yacc:
25756         fixed 2nd parameter to lfind()
25757         [63d7b1623c08]
25758
25759         * parse.lex:
25760         now do bounds checking in fill() and append()
25761         [54381b563251]
25762
25763         * sudo.c:
25764         include netdb.h as we should added a missing void cast added
25765         SHELL_IF_NO_ARGS support now use realloc() properly. would fail if
25766         realloc actually moved the string instead of shrinking it
25767         [897ccdec9c06]
25768
25769         * sample.sudoers:
25770         updated with examples of new features
25771         [9b3ed00e8aa6]
25772
25773         * goodpath.c:
25774         now set errno to EACCES if not a regular file or not executable
25775         [2d069548a5ea]
25776
25777         * find_path.c:
25778         if given a fully-qualified or relative path we now check it with
25779         sudo_goodpath() and error out with the appropriate error message if
25780         the file does not exist or is not executable
25781         [590f89dd8dec]
25782
25783         * emul/search.h, lsearch.c:
25784         now use correct args for lfind
25785         [fccdcdbf020e]
25786
25787         * logging.c:
25788         added a comment
25789         [fab9f49708ea]
25790
25791         * insults.h:
25792         added in CSOps insults
25793         [ad8eb1862adc]
25794
25795         * ins_csops.h:
25796         Initial revision
25797         [de5a475ec018]
25798
25799         * tgetpass.c:
25800         added RCS id
25801         [c3ffd550a482]
25802
25803         * sudo.h:
25804         increased MAXCOMMANDLENGTH to 8k HAVE_GETCWD -> HAVE_GETWD
25805         [aba25c90d08a]
25806
25807         * OPTIONS:
25808         added CLASSIC_INSULTS, CSOPS_INSULTS, SHELL_IF_NO_ARGS
25809         [e27bd62e9ccf]
25810
25811         * sudo.c:
25812         fixed -k load_interfaces() now gets called if FQDN is set
25813         -p now works with -s
25814         [07ca2a34bae8]
25815
25816         * parse.c:
25817         don't try to stat() "pseudo commands" like "validate"
25818         [75527045984b]
25819
25820         * options.h:
25821         added CLASSIC_INSULTS added CSOPS_INSULTS added SHELL_IF_NO_ARGS
25822         [07b157a0eafd]
25823
25824         * configure.in:
25825         added SecurID support added other insults to --with-csops
25826         [6c992ceb244c]
25827
25828         * config.h.in:
25829         added HAVE_SECURID
25830         [e734ff617fe8]
25831
25832         * Makefile.in:
25833         added clobber target added ins_csops.h now gets CFLAGS from
25834         configure
25835         [d1e29c7cec25]
25836
25837         * aclocal.m4:
25838         relaxed SUDO_FULL_VOID
25839         [fb4084f27406]
25840
25841         * visudo.c:
25842         function comment blocks are now in same style as rest of code
25843         [04a2931354c5]
25844
25845         * testsudoers.c:
25846         added support for command line args in /etc/sudoers
25847         [bfe4e1bcc655]
25848
25849         * sudoers.man:
25850         updated to have command args in the sudoers file
25851         [1cd34355e9ea]
25852
25853         * sudo.man:
25854         added -s and -- flags added SHELL to ENVIRONMENT VARIABLES section
25855         [930b48023b68]
25856
25857 1995-08-19  Todd C. Miller  <Todd.Miller@courtesan.com>
25858
25859         * parse.yacc:
25860         PATH renamed to COMMAND
25861         [4e109a6de3cd]
25862
25863         * parse.lex:
25864         it is now a parse error for directories to have args attached to
25865         them
25866         [2ab10a146b54]
25867
25868         * logging.c:
25869         now say command args if telling user to buzz off
25870         [933de26ded8b]
25871
25872         * sudo.c:
25873         -s no longer indicates end of args sped up loading on cmnd_args in
25874         load_cmnd()
25875         [eac99a4da862]
25876
25877         * parse.c:
25878         removed an unreachable statement
25879         [634302623c49]
25880
25881         * parse.lex:
25882         made more efficient by pulling out the terminators when in GOTCMND
25883         state and making them their own rule
25884         [80798f1e1166]
25885
25886 1995-08-14  Todd C. Miller  <Todd.Miller@courtesan.com>
25887
25888         * sudo.h:
25889         removed MAXLOGLEN since it is no longer used
25890         [102824196b71]
25891
25892         * parse.lex:
25893         now allows command args
25894         [d29dfa1e5254]
25895
25896         * parse.c:
25897         now groks command arguments
25898         [6c414cb7f105]
25899
25900         * logging.c:
25901         now sets tty correctly when piped input
25902         [de46a30c0406]
25903
25904         * sudo.c:
25905         fixed loading of cmnd_args (was including command name too)
25906         [15319a425ea6]
25907
25908         * logging.c:
25909         fixed a core dump due to incorrect if construct
25910         [582363c7d7fa]
25911
25912 1995-08-13  Todd C. Miller  <Todd.Miller@courtesan.com>
25913
25914         * configure.in:
25915         only add -lsun is irix < 5 don't look for -lnsl or -lsocket if irix
25916         [da591fe9b931]
25917
25918         * aclocal.m4:
25919         fixed check for ISC
25920         [52e59f2082a7]
25921
25922         * sudo.c:
25923         now sets cmnd_args used by log_error() and that will be used by the
25924         parse to check against command args
25925         [c6804389723b]
25926
25927         * sudo.h:
25928         added cmnd_args
25929         [4d00446b4a8d]
25930
25931         * logging.c:
25932         now dynamically allocate logline since we can guess at its size
25933         [4bed8c8446aa]
25934
25935 1995-08-05  Todd C. Miller  <Todd.Miller@courtesan.com>
25936
25937         * logging.c:
25938         cleaned up a bunch of unnecesary #ifdef's eliminated a buffer remove
25939         "register" since the compiler knows more than I do now do a
25940         "basename" of the tty
25941         [3b1bbf0b3da1]
25942
25943 1995-07-31  Todd C. Miller  <Todd.Miller@courtesan.com>
25944
25945         * configure.in:
25946         ++version
25947         [5ce552f9a5f1]
25948
25949         * sudo.h:
25950         added shell extern changed MODE_* to be bit masks to allow for
25951         several options together
25952         [06f9dc4f400c]
25953
25954         * sudo.c:
25955         added -s (shell) option made MODE_* masks so we can do bitwise & and
25956         | to see if multiple flags are set.
25957         [01f8143010ad]
25958
25959         * check.c:
25960         added securid support
25961         [909e078005fe]
25962
25963 1995-07-30  Todd C. Miller  <Todd.Miller@courtesan.com>
25964
25965         * logging.c:
25966         removed a bunch of unnecesary strncpy()'s and replaced with strcat()
25967         [644506b57d61]
25968
25969 1995-07-29  Todd C. Miller  <Todd.Miller@courtesan.com>
25970
25971         * Makefile.in, version.h:
25972         ++version
25973         [3cd6f1fbc3d9]
25974
25975 1995-07-27  Todd C. Miller  <Todd.Miller@courtesan.com>
25976
25977         * parse.yacc:
25978         fixed free() of an uninitialized pointer (yuck)
25979         [8c404ee502ee]
25980
25981         * testsudoers.c:
25982         added netgr_matches
25983         [e7c9fa2f774c]
25984
25985         * parse.c:
25986         cleaned up netgr_matches
25987         [8108f00b810e]
25988
25989 1995-07-26  Todd C. Miller  <Todd.Miller@courtesan.com>
25990
25991         * RUNSON:
25992         updated for 1.3.4
25993         [4741704310a1]
25994
25995 1995-07-25  Todd C. Miller  <Todd.Miller@courtesan.com>
25996
25997         * Makefile.in:
25998         now installs sudoers.man -- really should clean this up though.
25999         [455631d45a1d]
26000
26001         * Makefile.in:
26002         added sudoers.cat and sudoers.man
26003         [0bdedd6c7363]
26004
26005         * sudo.man:
26006         pulled out stuff on the sudoers file format into a separate man page
26007         [de215d999cb9]
26008
26009         * sudoers.man:
26010         Initial revision
26011         [f25eafbb7095]
26012
26013         * HISTORY:
26014         fixed up my email address
26015         [254fbf80be74]
26016
26017         * configure.in:
26018         added checks for innetgr and getdomainname
26019         [24a99cb7e97e]
26020
26021         * visudo.c:
26022         added dummy netgr_matches function
26023         [1841ff2c01da]
26024
26025         * parse.c:
26026         added netgr_matches
26027         [ec90db6a97b8]
26028
26029         * parse.lex, parse.yacc:
26030         added NETGROUP support
26031         [c9dd93e3bc4b]
26032
26033         * config.h.in:
26034         added HAVE_INNETGR & HAVE_GETDOMAINNAME
26035         [14abd494d875]
26036
26037 1995-07-24  Todd C. Miller  <Todd.Miller@courtesan.com>
26038
26039         * sudo.c:
26040         rewrote clean_env() that has rm_env() builtin
26041         [55cb43818a95]
26042
26043 1995-07-23  Todd C. Miller  <Todd.Miller@courtesan.com>
26044
26045         * check.c:
26046         now cast uid to long in sprintf
26047         [b549eea40aeb]
26048
26049         * OPTIONS:
26050         added _INSULTS suffix to HAL & GOONS end
26051         [ed620d0aad30]
26052
26053         * options.h:
26054         added _INSULTS suffix to HAL & GOONS
26055         [9f72e9b83afd]
26056
26057         * ins_2001.h, ins_classic.h, ins_goons.h, insults.h:
26058         converted to new scheme of insult "unions" end
26059         [2f6d2b412132]
26060
26061         * sudo.c:
26062         now uses MAX_UID_T_LEN
26063         [c1df79e0f389]
26064
26065         * configure.in:
26066         added SUDO_UID_T_LEN !l
26067         [195f0b9f5f84]
26068
26069         * config.h.in:
26070         added MAX_UID_T_LEN
26071         [73f42ae4f14d]
26072
26073         * check.c:
26074         now use MAX_UID_T_LEN
26075         [df9c063234cb]
26076
26077         * aclocal.m4:
26078         added check for max len of uid_t fixed sco vs. isc check
26079         [d558f36d2223]
26080
26081 1995-07-19  Todd C. Miller  <Todd.Miller@courtesan.com>
26082
26083         * configure.in:
26084         corrected version
26085         [828dd1571e86]
26086
26087         * configure.in:
26088         added sco support
26089         [af1e2f616638]
26090
26091         * aclocal.m4:
26092         hack to check for sco
26093         [549ab99a9a43]
26094
26095         * interfaces.c:
26096         removed #include <net/route.h> since it was hosing some OS's
26097         [ac78a7c04005]
26098
26099 1995-07-18  Todd C. Miller  <Todd.Miller@courtesan.com>
26100
26101         * find_path.c:
26102         fixed prreadlink() prototype
26103         [b380fe1f2b11]
26104
26105         * check.c:
26106         added parens in #if's
26107         [e96ade691b82]
26108
26109         * configure.in:
26110         added SPW_ prefix
26111         [a302683a1483]
26112
26113         * sudo.h:
26114         moved SPW_* to config.h.in
26115         [6b3be70e34cf]
26116
26117         * sudo.c:
26118         added a set of parens
26119         [8188d735d695]
26120
26121         * config.h.in:
26122         added SPW_*
26123         [5ead6371cf60]
26124
26125         * sudo.h:
26126         added SPW_* reordered error codes
26127         [dead25b4ed0a]
26128
26129         * check.c:
26130         moved SPW_* to sudo.h
26131         [ca51fb04caf4]
26132
26133 1995-07-17  Todd C. Miller  <Todd.Miller@courtesan.com>
26134
26135         * sudo.c:
26136         SPW_AUTH -> SPW_SECUREWARE
26137         [6b512b2bc5dc]
26138
26139         * logging.c:
26140         GLOBAL_NO_AUTH_ENT -> GLOBAL_NO_SPW_ENT
26141         [defdd0944e2f]
26142
26143         * configure.in:
26144         AUTH -> SECUREWARE
26145         [d1f8a17001dd]
26146
26147         * check.c:
26148         SPW_AUTH -> SPW_SECUREWARE
26149         [af0e8d8b89b2]
26150
26151         * check.c:
26152         now uses SHADOW_TYPE to make shadow pw support more readable and
26153         modular. It's a start...
26154         [8c2a59667014]
26155
26156         * configure.in:
26157         added autodetection of shadow passwords
26158         [85f81fa54b1b]
26159
26160         * sudo.c:
26161         now uses SHADOW_TYPE define
26162         [355e5dc09b07]
26163
26164         * config.h.in:
26165         added SHADOW_TYPE which replaces SUNOS4 & __svr4__ defines
26166         [c0c06e83e483]
26167
26168         * aclocal.m4:
26169         added SUDO_CHECK_SHADOW
26170         [464301301639]
26171
26172 1995-07-12  Todd C. Miller  <Todd.Miller@courtesan.com>
26173
26174         * configure.in:
26175         define SVR4 for ISC define BROKEN_SYSLOG for hpux took out test for
26176         memmove() since we dno longer use it...
26177         [8aefa87d7d31]
26178
26179         * CHANGES:
26180         updated
26181         [ce97b3fd7182]
26182
26183         * logging.c:
26184         added BROKEN_SYSLOG support
26185         [a45c3bca36f6]
26186
26187         * config.h.in:
26188         added BROKEN_SYSLOG
26189         [6f6abf0a6268]
26190
26191         * check.c:
26192         now only bitch it timestamp > time_now + 2 * timeout to allow for a
26193         machine udpating its time from a server
26194         [546bc8d35325]
26195
26196         * sudo.man:
26197         added 2 security notes updated Nieusma's email addr
26198         [616756c56977]
26199
26200         * lsearch.c:
26201         changed a memmove() to memcpy() since we don't have to worry about
26202         overlapping segments.
26203         [30baa478526b]
26204
26205 1995-07-11  Todd C. Miller  <Todd.Miller@courtesan.com>
26206
26207         * interfaces.c:
26208         cleanup up the loop when interfaces are groped in so that it is
26209         readable
26210         [1fa39446bd69]
26211
26212         * Makefile.in, version.h:
26213         ++version
26214         [b46bd2b1770f]
26215
26216 1995-07-09  Todd C. Miller  <Todd.Miller@courtesan.com>
26217
26218         * CHANGES:
26219         annotated 124-126
26220         [b82a2b3ec7ce]
26221
26222 1995-07-07  Todd C. Miller  <Todd.Miller@courtesan.com>
26223
26224         * check.c:
26225         fixed permissions check on /tmp/.odus
26226         [cc2431a65468]
26227
26228 1995-07-06  Todd C. Miller  <Todd.Miller@courtesan.com>
26229
26230         * check.c:
26231         fixed some comments
26232         [8896d09b4fda]
26233
26234         * check.c:
26235         now checks owner & mode of timedir also checks for bogus dates on
26236         timestamp file
26237         [a0fad5df5b0a]
26238
26239         * OPTIONS:
26240         updated TIMEOUT info
26241         [033cc22d9e04]
26242
26243         * logging.c, sudo.h:
26244         added BAD_STAMPDIR and BAD_STAMPFILE
26245         [31d9ce691101]
26246
26247         * compat.h:
26248         added definition of S_IRWXU
26249         [ff2dab091a9b]
26250
26251         * CHANGES:
26252         updated
26253         [a40df90284f1]
26254
26255 1995-07-03  Todd C. Miller  <Todd.Miller@courtesan.com>
26256
26257         * interfaces.c:
26258         added #ifdef to make it compile on strange arches
26259         [4a127f12afce]
26260
26261 1995-07-02  Todd C. Miller  <Todd.Miller@courtesan.com>
26262
26263         * aclocal.m4:
26264         fixed check for fulkl void impl.
26265         [b6f2a4a361d8]
26266
26267         * check.c:
26268         added mssing "static"
26269         [520552f2772b]
26270
26271         * insults.h:
26272         replaced #elif with #else #if constructs for ancient C compilers
26273         [39ab2d365b57]
26274
26275         * INSTALL:
26276         updated irix c2 & kerb5 info
26277         [ae79b99b4905]
26278
26279         * configure.in:
26280         added shadow pw support for irix
26281         [632469d9c528]
26282
26283 1995-07-01  Todd C. Miller  <Todd.Miller@courtesan.com>
26284
26285         * BUGS, TODO:
26286         updated
26287         [2a96bb18ac30]
26288
26289         * CHANGES:
26290         last changes for sudo 1.3.3
26291         [c1c0cd1034b8]
26292
26293         * configure.in:
26294         now calls SUDO_SOCK_SA_LEN
26295         [14ea78159d45]
26296
26297         * config.h.in:
26298         added HAVE_SA_LEN
26299         [cc2a346aa905]
26300
26301         * aclocal.m4:
26302         added SUDO_SOCK_SA_LEN
26303         [456a2025644a]
26304
26305         * interfaces.c:
26306         now works with ip implementations that use sa_len in sockaddr
26307         [90be6e028077]
26308
26309         * INSTALL:
26310         added note about buggy AIX compiler
26311         [c0f6d427e4e4]
26312
26313         * interfaces.c:
26314         now include sys/time.h for AIX
26315         [2510858ab38b]
26316
26317 1995-06-28  Todd C. Miller  <Todd.Miller@courtesan.com>
26318
26319         * Makefile.in:
26320         getcwd -> getwd
26321         [66085ebca98e]
26322
26323         * interfaces.c:
26324         now works for ISC and others. yay.
26325         [f336d4ffc927]
26326
26327 1995-06-26  Todd C. Miller  <Todd.Miller@courtesan.com>
26328
26329         * Makefile.in, version.h:
26330         version++
26331         [836cffc2078d]
26332
26333 1995-06-23  Todd C. Miller  <Todd.Miller@courtesan.com>
26334
26335         * aclocal.m4:
26336         fixed test for full void impl
26337         [fb004107e7b9]
26338
26339         * sudo.c:
26340         now check to see that st_dev is non-zero before assuming that we are
26341         being spoofed
26342         [1b0e1c30c506]
26343
26344 1995-06-20  Todd C. Miller  <Todd.Miller@courtesan.com>
26345
26346         * aclocal.m4, configure.in:
26347         SUDO_FUNC_UTIME_NULL -> AC_FUNC_UTIME_NULL
26348         [4953379bfb01]
26349
26350 1995-06-19  Todd C. Miller  <Todd.Miller@courtesan.com>
26351
26352         * aclocal.m4:
26353         fixed include file order for SUDO_FUNC_UTIME_POSIX
26354         [ff64ab7df44f]
26355
26356         * logging.c:
26357         added cast for ttyname()
26358         [444f05f56758]
26359
26360         * configure.in:
26361         fixed typo
26362         [de068e748431]
26363
26364         * check.c:
26365         now deal correctly with all known variation of utime() -- yippe
26366         [b778a4195a89]
26367
26368         * configure.in:
26369         added SUDO_FUNC_UTIME_POSIX
26370         [cf635f2269d6]
26371
26372         * aclocal.m4:
26373         added SUDO_FUNC_UTIME_NULL and SUDO_FUNC_UTIME_POSIX
26374         [d79593be4b73]
26375
26376         * config.h.in:
26377         added HAVE_UTIME_POSIX
26378         [c67b4ac0dca5]
26379
26380         * check.c:
26381         fixed a typo
26382         [b14df5680f59]
26383
26384         * check.c:
26385         no longer assume !HAVE_UTIME_NULL means old BSD utime()
26386         [0aeaf4b2f38b]
26387
26388         * check.c:
26389         fixed fascist C compiler warning
26390         [c61ddf2f1f93]
26391
26392         * interfaces.c:
26393         now set strioctl.ic_timout in STRSET() now initialize num_interfaces
26394         to 0 (just to be anal)
26395         [c54cc2ba0052]
26396
26397 1995-06-18  Todd C. Miller  <Todd.Miller@courtesan.com>
26398
26399         * sudo.h:
26400         increaed MAXLOGLEN by MAXPATHLEN to account for ttyname
26401         [74cf585a54fb]
26402
26403         * logging.c:
26404         added tty logging
26405         [e27d8dcfbd78]
26406
26407         * interfaces.c:
26408         reworked the ISC code
26409         [bcf57ce8ae69]
26410
26411         * Makefile.in, version.h:
26412         updated version
26413         [032941c9b94d]
26414
26415         * check.c:
26416         now expect old-style utime(3) if utime() can't take NULL as an arg
26417         [018dd4a73030]
26418
26419         * configure.in:
26420         added check for utime.h
26421         [0b76e8feb618]
26422
26423         * config.h.in:
26424         added HAVE_UTIME_H
26425         [62ee42feda46]
26426
26427         * Makefile.in:
26428         added CPPFLAGS STATIC_FLAGS -> LDFLAGS
26429         [fa3201d294e1]
26430
26431         * configure.in:
26432         now search for kerb libs and includes
26433         [cc332401e571]
26434
26435         * check.c:
26436         added support for utime(2)'s that can't take a NULL parameter
26437         [98797fedf69f]
26438
26439         * utime.c:
26440         moved HAVE_UTIME_NULL stuff to update_timestamp() where t belongs
26441         [6ce6d825fb44]
26442
26443         * configure.in:
26444         added utime(s) stuff
26445         [a2afb744403e]
26446
26447         * check.c:
26448         now use utime()
26449         [48902240a51e]
26450
26451         * config.h.in:
26452         added HAVE_UTIME and HAVE_UTIME_NULL
26453         [9a56ab65d4f4]
26454
26455 1995-06-17  Todd C. Miller  <Todd.Miller@courtesan.com>
26456
26457         * utime.c:
26458         now use HAVE_UTIME_NULL
26459         [e3944de09a92]
26460
26461         * emul/utime.h, utime.c:
26462         Initial revision
26463         [a2cbf2ef3427]
26464
26465         * check.c:
26466         need to setuid(0) to make kerb4 stuff work.
26467         [c6cfda4039d7]
26468
26469         * tgetpass.c:
26470         no more special case for kerberos
26471         [4a5c33145be9]
26472
26473         * config.h.in:
26474         took out setreuid and setresuid stuff added kerb5 stuff (use kerb4
26475         emulation)
26476         [a607ee43e650]
26477
26478         * compat.h:
26479         no longer need setreuid() emulation now set _PASSWD_LEN to 128 if
26480         kerberos
26481         [02fb274cc136]
26482
26483         * check.c:
26484         now use private ticket file for kerberos support to avoid trouncing
26485         on system one
26486         [28d8b6b812c7]
26487
26488 1995-06-15  Todd C. Miller  <Todd.Miller@courtesan.com>
26489
26490         * sudo.h:
26491         added SPOOF_ATTEMPT & cmnd_st
26492         [d3b42a1f4d0d]
26493
26494         * sudo.c:
26495         added anti-spoofing support
26496         [ab1e2aa44a57]
26497
26498         * parse.c:
26499         now use global cmnd_st
26500         [47018265a1a6]
26501
26502         * logging.c:
26503         added SPOOF_ATTEMPT suypport
26504         [7bbe9dd2a021]
26505
26506         * testsudoers.c, visudo.c:
26507         added void casts where appropriate
26508         [f191441ba333]
26509
26510         * parse.yacc:
26511         fixed up spacing and added void casts where appropriate
26512         [15d886fc809c]
26513
26514         * sudo.c:
26515         fixed problem with "-p prompt" but no args
26516         [6fc048261a3e]
26517
26518 1995-06-14  Todd C. Miller  <Todd.Miller@courtesan.com>
26519
26520         * sudo.man:
26521         added BUGS and annotated -l description
26522         [e5c506de2603]
26523
26524         * sudo.h:
26525         validate() now takes a flag
26526         [26627becc60a]
26527
26528         * sudo.c:
26529         validate() now takes a flag added -l
26530         [a4f7bb97fe54]
26531
26532         * parse.yacc:
26533         added support for -l
26534         [e7a9b10b0ad3]
26535
26536         * parse.c:
26537         validate() now takes a flag that says whether or not to check the
26538         command
26539         [9e1e67f4e281]
26540
26541 1995-06-08  Todd C. Miller  <Todd.Miller@courtesan.com>
26542
26543         * logging.c:
26544         now deals with Argv == 1
26545         [0acb637ab635]
26546
26547         * sudo.man:
26548         added -p option
26549         [e60382fc0561]
26550
26551         * sudo.c:
26552         added prompt support reworked parse_args()
26553         [2f605267ed4a]
26554
26555         * sudo.h:
26556         added prompt
26557         [5ab021bdb419]
26558
26559         * options.h:
26560         added PASSPROMPT
26561         [614727ff44a2]
26562
26563         * check.c:
26564         now use BUFSIZ as length of kerb password added kpass so pass is
26565         always a char * now use prompt global when asking for a password
26566         [76be09af784f]
26567
26568         * tgetpass.c:
26569         now use BUFSIZ as _PASSWD_LEN if using kerberos
26570         [1e907eed312b]
26571
26572         * OPTIONS:
26573         added PASSPROMPT
26574         [ddb2f405ce40]
26575
26576 1995-06-07  Todd C. Miller  <Todd.Miller@courtesan.com>
26577
26578         * configure.in:
26579         only look for -lufc or -lcrypt if crypt() not in libc
26580         [9717d315661f]
26581
26582         * check.c:
26583         don't exit on kerb error, just warn if k_errno == KDC_PR_UNKNOWN
26584         (unknown user) silently fail
26585         [2b48693d4ee9]
26586
26587         * INSTALL:
26588         added kerb4 note
26589         [986e393f740c]
26590
26591         * tgetpass.c:
26592         HAVE_KERBEROS -> HAVE_KERB4
26593         [e438bfb5e6aa]
26594
26595         * check.c:
26596         removed debugging printf
26597         [1cf9f5cbffa5]
26598
26599         * configure.in:
26600         KERBEROS -> KERB4 added checks for setreuid & setresuid
26601         [01e9945beb1e]
26602
26603         * config.h.in:
26604         HAVE_KERBEROS -> HAVE_KERB4 added HAVE_SETREUID and HAVE_SETRESUID
26605         [0e0bb5b8ac3e]
26606
26607         * compat.h:
26608         added deif of UID_NO_CHANGE & GID_NO_CHANGE added setreuid emulation
26609         with setresuid if applic
26610         [9dae24c47696]
26611
26612         * check.c:
26613         HAVE_KERBEROS -> HAVE_KERB4 now only do the stupid chown() hack if
26614         no setreuid() or a broken one
26615         [1fca642bdb8e]
26616
26617 1995-06-06  Todd C. Miller  <Todd.Miller@courtesan.com>
26618
26619         * configure.in:
26620         added kerberos support
26621         [da5639b9b8e7]
26622
26623         * config.h.in:
26624         added HAVE_KERBEROS
26625         [fcc5be550e65]
26626
26627         * tgetpass.c:
26628         added KERBEROS support (long passwords)
26629         [303ba6924dd2]
26630
26631         * check.c:
26632         added kerberos support
26633         [e40afe98fc1d]
26634
26635 1995-06-03  Todd C. Miller  <Todd.Miller@courtesan.com>
26636
26637         * sudo.h:
26638         added MODE_BACKGROUND
26639         [9b483c932016]
26640
26641         * sudo.man:
26642         escaped dashes added -b option
26643         [62e84f1a7714]
26644
26645         * sudo.c:
26646         added -b option
26647         [7e78aaefeb95]
26648
26649         * check.c:
26650         added crypt() for osf/1 3.x enhanced secuiry
26651         [e9aa5abdb7d5]
26652
26653         * configure.in:
26654         now check for -lcrypt
26655         [5cb9c67e9fa2]
26656
26657         * interfaces.c:
26658         added ENXIO like EADDRNOTAVAIL
26659         [74223bb1ba75]
26660
26661 1995-05-08  Todd C. Miller  <Todd.Miller@courtesan.com>
26662
26663         * configure.in:
26664         now emulate getwd(), not getcwd()
26665         [3e5439d9a5f4]
26666
26667         * sudo.c:
26668         getcwd() -> getwd()
26669         [6392a96a658e]
26670
26671         * getwd.c:
26672         getcwd -> getwd
26673         [1b0ab9bae11e]
26674
26675 1995-05-02  Todd C. Miller  <Todd.Miller@courtesan.com>
26676
26677         * ins_2001.h, ins_classic.h, ins_goons.h:
26678         Initial revision
26679         [86db60d8cf00]
26680
26681         * insults.h:
26682         broke out insults into separate include files
26683         [0a01993bd38a]
26684
26685         * OPTIONS, options.h:
26686         added GOONS
26687         [e283203c6515]
26688
26689         * Makefile.in:
26690         added ins_2001.h ins_classic.h ins_goons.h
26691         [2a39cd6a4cd2]
26692
26693         * Makefile.in, version.h:
26694         ++version
26695         [05ebf4f5e41a]
26696
26697         * visudo.c:
26698         moved signal handler setup to setup_signals()
26699         [3dd976c04540]
26700
26701         * sudo.h:
26702         added load_interfaces()
26703         [af2d473b09e2]
26704
26705         * sudo.c:
26706         moved load_interfaces to interfaces.c
26707         [5c8c138e5d4c]
26708
26709         * parse.yacc:
26710         added clearaliases
26711         [aeb4ff301daa]
26712
26713         * OPTIONS, options.h:
26714         added FAST_MATCH
26715         [f49ea3d1b525]
26716
26717         * parse.lex:
26718         now uses clearaliases variable
26719         [a2dda415bf61]
26720
26721         * interfaces.c:
26722         Initial revision
26723         [a1990e3f5c69]
26724
26725         * Makefile.in:
26726         added interfaces.[co]
26727         [1e8e5984de97]
26728
26729         * testsudoers.c:
26730         now uses ip addrs and netmasks via load_interfaces()
26731         [54b8f7a6835e]
26732
26733         * sudo.c:
26734         now remove IFS instead of setting to "sane" value
26735         [ce7eec9f115e]
26736
26737 1995-05-01  Todd C. Miller  <Todd.Miller@courtesan.com>
26738
26739         * parse.c:
26740         added FAST_MATCH
26741         [816d4f5fe81a]
26742
26743 1995-04-30  Todd C. Miller  <Todd.Miller@courtesan.com>
26744
26745         * Makefile.in:
26746         sudo_goodpath.c-> goodpath.c
26747         [a5072c4e1de2]
26748
26749         * sudo.c:
26750         added Andy's new ISC changes
26751         [caa6bbee358e]
26752
26753 1995-04-14  Todd C. Miller  <Todd.Miller@courtesan.com>
26754
26755         * OPTIONS:
26756         added a sentence to SECURE_PATH info
26757         [cad6e1569d15]
26758
26759         * BUGS:
26760         added one
26761         [4b35cf699a83]
26762
26763         * CHANGES:
26764         updated
26765         [5fded9dc62f0]
26766
26767         * RUNSON:
26768         updated
26769         [33cb993cfd39]
26770
26771 1995-04-13  Todd C. Miller  <Todd.Miller@courtesan.com>
26772
26773         * RUNSON:
26774         updated for beta3
26775         [a05dc6a91995]
26776
26777         * Makefile.in, version.h:
26778         ++version
26779         [54aaf3fadc75]
26780
26781         * aclocal.m4:
26782         sendmail is now looked for in \17/usr/ucblib
26783         [231ac1a4662f]
26784
26785         * sudo.c:
26786         fixed indentation
26787         [fb137400c8c2]
26788
26789         * aclocal.m4:
26790         fixed a typo
26791         [e03f1acc468b]
26792
26793         * sudo.c:
26794         updated ISC mods
26795         [070290d4754b]
26796
26797         * configure.in:
26798         added unixware case
26799         [e90250bae0d9]
26800
26801         * check.c:
26802         user_is_exempt is no longer hidden
26803         [1a341765b8af]
26804
26805         * RUNSON:
26806         updated
26807         [a9c4898b26dd]
26808
26809         * aclocal.m4:
26810         isc and riscos changes
26811         [98b5d86585d1]
26812
26813         * OPTIONS:
26814         added NOTE about new interaction of EXEMPTGROUP and SECURE_PATH
26815         [e1ecc464ce4b]
26816
26817         * Makefile.in:
26818         fixed a typo and added testsudoers stuff
26819         [435d60e163dc]
26820
26821         * testsudoers.c:
26822         Initial revision
26823         [6ce14a448662]
26824
26825 1995-04-12  Todd C. Miller  <Todd.Miller@courtesan.com>
26826
26827         * parse.yacc:
26828         applied fixed patch from Chris
26829         [cd6144203d13]
26830
26831 1995-04-11  Todd C. Miller  <Todd.Miller@courtesan.com>
26832
26833         * Makefile.in:
26834         fixed a typo
26835         [34f8a54ba041]
26836
26837         * parse.yacc:
26838         added a set of braces for bison
26839         [f0e43b938914]
26840
26841         * parse.yacc:
26842         merged in Chris' changes to dekludge the parser.
26843         [82d6e373ab1c]
26844
26845         * logging.c:
26846         send_mail() was calling find_path() which is wrong since find_path()
26847         stores cmnd in a static var. Anyhow, it doesn't make much sense
26848         since MAILER should always be fully qualified
26849         [6eae6a0b8098]
26850
26851 1995-04-10  Todd C. Miller  <Todd.Miller@courtesan.com>
26852
26853         * sample.sudoers:
26854         added User_Alias stuff
26855         [aaba8c8e918d]
26856
26857         * aclocal.m4:
26858         SUDO_NEXT now looks for /usr/lib/NextStep/software_version
26859         [52bd81f34b32]
26860
26861         * RUNSON:
26862         added DEC UNIX 3.0 w/ gcc
26863         [7daf570775b5]
26864
26865         * visudo.c:
26866         Exit was being used in places where exit should be used
26867         [6026a89c07ed]
26868
26869         * sudoers:
26870         added "User alias specification"
26871         [a487b6e234f8]
26872
26873         * parse.yacc:
26874         fixed probs caused by making nslots and naliases a size_t
26875         [0be919384f3f]
26876
26877         * RUNSON:
26878         added KSR, upped rev to 1.3.1b2
26879         [ce04ee6faadf]
26880
26881         * logging.c, parse.yacc:
26882         1024 -> BUFSIZ
26883         [cd6dda45fa11]
26884
26885         * parse.yacc:
26886         void * -> VOID * naliases and nslots are now size_t to appease
26887         lsearch on 64-bit machines
26888         [bf2f807c0dc1]
26889
26890 1995-04-09  Todd C. Miller  <Todd.Miller@courtesan.com>
26891
26892         * TODO:
26893         did a bunch of things and added a bunch :-)
26894         [42afd957b829]
26895
26896         * PORTING:
26897         updated
26898         [972f95c85776]
26899
26900         * visudo.man:
26901         closer to BSD manpage style
26902         [07ae88f50325]
26903
26904         * sudo.man:
26905         closer to standard BSD man format
26906         [372c28dcc135]
26907
26908         * compat.h, config.h.in, emul/search.h, insults.h, options.h,
26909         pathnames.h.in, sudo.h, version.h:
26910         added RCS id
26911         [c0ec90b81002]
26912
26913         * sudo.h:
26914         removed crufty #defines that are no longer used
26915         [35e2b4b477f0]
26916
26917         * BUGS:
26918         fixed a bug
26919         [5bb3e1bee85e]
26920
26921         * sudo.man:
26922         updated based on sudo changes
26923         [e65de1cae438]
26924
26925         * parse.yacc:
26926         now allow ALL keyword in User_Aliases now allow ALL keyword as well
26927         as a NAME or ALIAS
26928         [1fb31404dd0f]
26929
26930         * CHANGES:
26931         updated
26932         [b24018ac610b]
26933
26934         * sudo.c:
26935         now sets SUDO_COMMAND and SUDO_GID envariables.
26936         [e9d791557fb7]
26937
26938         * aclocal.m4:
26939         fixed bug with full void impl check
26940         [35715301023c]
26941
26942         * parse.yacc:
26943         fixed User_Alias supoprt
26944         [4c30dfbaaa07]
26945
26946         * parse.yacc:
26947         added stubs for User_Alias support
26948         [f4afbd247edf]
26949
26950         * sudo.c:
26951         now sets removes # bogus interfaces from num_interfaces
26952         [6f077fac9ab1]
26953
26954         * parse.lex:
26955         added User_Alias support
26956         [bc7997e5df85]
26957
26958 1995-04-08  Todd C. Miller  <Todd.Miller@courtesan.com>
26959
26960         * Makefile.in:
26961         removed extraneous TODO
26962         [bc87a3b14d6d]
26963
26964 1995-04-07  Todd C. Miller  <Todd.Miller@courtesan.com>
26965
26966         * visudo.c:
26967         ntwk_matches -> addr_matches
26968         [475044e288b8]
26969
26970         * parse.yacc:
26971         ntwk_matches -> addr_matches
26972         [dd1f4093fd2d]
26973
26974         * parse.c:
26975         ntwk_matches -> addr_matches now use inet_addr() not inet_network()
26976         (which expects octet boundaries) fixes for OSF (sizeof(int) !=
26977         sizeof(long))
26978         [acd2f556940f]
26979
26980         * sudo.c:
26981         took out debugging info
26982         [044023063eca]
26983
26984         * aclocal.m4:
26985         OS was being set to unknown before non-uname based host checks.
26986         This caused no checks to happen since $OS was not zero-length.
26987         [335a7267479d]
26988
26989         * sudo.c:
26990         fixed loading of interfaces struct still has debugging info in
26991         though
26992         [2d1a18998c1e]
26993
26994         * parse.c:
26995         fixed typo
26996         [175674a3a9fa]
26997
26998 1995-04-06  Todd C. Miller  <Todd.Miller@courtesan.com>
26999
27000         * Makefile.in:
27001         ++version
27002         [55d191b5daa3]
27003
27004         * version.h:
27005         ++
27006         [d7d1f115696a]
27007
27008         * visudo.c:
27009         removed extraneous extern decl of "top
27010         [50355621047d]
27011
27012         * visudo.c:
27013         now zeros "top"
27014         [4e683210345b]
27015
27016         * parse.yacc:
27017         removed parser_cleanup (no need for it now)
27018         [afa59f222b6c]
27019
27020         * parse.lex:
27021         now calls reset_aliases() directly
27022         [3a23cbd60fc0]
27023
27024 1995-04-04  Todd C. Miller  <Todd.Miller@courtesan.com>
27025
27026         * OPTIONS:
27027         added a sentence to SECURE_PATH description
27028         [c5bf75b85af0]
27029
27030         * parse.c:
27031         fixed my stupid bug where I used NAMLEN on something I wanted to
27032         just get the name from. argh.
27033         [111f460f6540]
27034
27035 1995-04-03  Todd C. Miller  <Todd.Miller@courtesan.com>
27036
27037         * lsearch.c:
27038         fixed argument order of memmove() that i hosed when converting from
27039         bcopy(). arghh.
27040         [2f5336045c8b]
27041
27042         * Makefile.in:
27043         finally fixed DISTFILES line
27044         [a1b419e73a63]
27045
27046         * Makefile.in:
27047         tabs -> spaces
27048         [280fb03e5764]
27049
27050         * Makefile.in:
27051         added missing files to DISTFILES
27052         [991fc1cd2263]
27053
27054         * Makefile.in:
27055         SUPPORTED -> RUNSON
27056         [7580e65b05fb]
27057
27058 1995-04-01  Todd C. Miller  <Todd.Miller@courtesan.com>
27059
27060         * TODO:
27061         updated
27062         [fe764a29c1cc]
27063
27064         * RUNSON:
27065         updated for pl5b1 release
27066         [aefc35bd2291]
27067
27068         * BUGS, TODO:
27069         updated
27070         [8f0ea249b687]
27071
27072         * check.c:
27073         fixed bug where if you hit return at first sudo prompt it would
27074         still log as a failure
27075         [24539c854692]
27076
27077         * CHANGES:
27078         updated
27079         [251cc7b3ede4]
27080
27081         * aclocal.m4:
27082         better test for bogus void * implementation
27083         [efe23180cb88]
27084
27085         * logging.c:
27086         added PASSWORDS_NOT_CORRECT
27087         [bd12c73f83f7]
27088
27089         * check.c:
27090         added PASSWORDS_NOT_CORRECT stuff]
27091         [90de391a979f]
27092
27093         * sudo.h:
27094         added PASSWORDS_NOT_CORRECT
27095         [727fbeb76fc5]
27096
27097         * tgetpass.c:
27098         moved pathnames.h
27099         [4f910e5a8df7]
27100
27101         * sudo.c:
27102         removed some unused vars and fixed up uid2str
27103         [70e92c7f9076]
27104
27105         * putenv.c:
27106         moved compat.h
27107         [b271091586f6]
27108
27109         * getcwd.c, getwd.c:
27110         added pathnames.h
27111         [6f25218f133f]
27112
27113 1995-03-31  Todd C. Miller  <Todd.Miller@courtesan.com>
27114
27115         * parse.yacc:
27116         fixed a typo I introduced in the last checkin :-(
27117         [62c3af75c4fe]
27118
27119         * parse.lex:
27120         can't have #ifdef's where N is defined so just do this the broken
27121         way for AIX
27122         [c5648a5594e4]
27123
27124         * parse.yacc:
27125         better hack from Chris (but still a hack)
27126         [6b6d8aed93f3]
27127
27128         * parse.lex:
27129         stupid hack for broken aix lex
27130         [efc3f9e5280e]
27131
27132         * tgetpass.c:
27133         now includes compat.h \ 6
27134         [401822173f77]
27135
27136         * visudo.c:
27137         now includes fcntl.h
27138         [63865c2f8ac6]
27139
27140         * compat.h:
27141         added FD_SET and FD_ZERO for 4.2BSD
27142         [00c5597c0bb0]
27143
27144         * parse.yacc:
27145         dirty hack to fix parser bug. i don't really like this but it works
27146         for now...
27147         [5b8bbdc81569]
27148
27149         * sudo.c:
27150         uid2str is now static like the prototype says
27151         [f2a97b5cb870]
27152
27153 1995-03-30  Todd C. Miller  <Todd.Miller@courtesan.com>
27154
27155         * CHANGES, SUPPORTED, TODO, TROUBLESHOOTING:
27156         updated
27157         [6f79c3e92716]
27158
27159         * RUNSON:
27160         Initial revision
27161         [12a09ef9e884]
27162
27163         * sudo.c:
27164         check_sudoers now returns an error code and sudo calls inform_user
27165         and log_error based on the return value.
27166         [340eca188d9a]
27167
27168         * logging.c, sudo.h:
27169         added entries for new errors
27170         [6050d8542e1f]
27171
27172         * parse.c:
27173         now set uid to that of SUDOERS_OWNER while parsing sudoers file
27174         [3683c42bc9b0]
27175
27176         * Makefile.in:
27177         took out testsudoers \ 6
27178         [65317d49db48]
27179
27180         * sudo.c:
27181         now explicately checks that it is setuid root
27182         [2fe1be60ef6a]
27183
27184         * sudo.c:
27185         If a user has no passwd entry sudo would segv (writing to a garbage
27186         pointer). Now allocate space before writing :-)
27187         [d08e7eb5e5ef]
27188
27189         * configure.in:
27190         reordered AC_CHECK_FUNCS
27191         [4c82e56c6f4f]
27192
27193         * config.h.in:
27194         fixed memset macro
27195         [77ede6b714ab]
27196
27197         * tgetpass.c, visudo.c:
27198         bzero -> memset
27199         [1a005bb322c8]
27200
27201         * logging.c:
27202         bzero -> memset when a parse error is logged the line number of the
27203         error is now logged too
27204         [a42d68047723]
27205
27206         * INSTALL:
27207         added Sunos to blurb about c2 security
27208         [af750a1d131e]
27209
27210         * configure.in:
27211         added a SUN4 define for C2 security
27212         [6ad5b23a3eb0]
27213
27214         * config.h.in:
27215         bcopy -> memmove bzero -> memset
27216         [5494460c8464]
27217
27218         * lsearch.c:
27219         bcopy -> memmove char * -> VOID *
27220         [a15f5c316e16]
27221
27222         * check.c:
27223         added support for sunos with C2 security
27224         [03fea5bb21e6]
27225
27226         * OPTIONS, options.h:
27227         reordered
27228         [1686265af3e1]
27229
27230         * pathnames.h.in:
27231         _PATH_SUDO_LOGFILE now set based on configure
27232         [5867b58e4a04]
27233
27234         * configure.in:
27235         added SUDO_LOGFILE and SUDO_TYPE_SIZE_T
27236         [1984d9fd1b5c]
27237
27238         * config.h.in:
27239         added _SUDO_PATH_LOGFILE
27240         [dd3eebe62580]
27241
27242         * aclocal.m4:
27243         added SUDO_LOGFILE to find where to put sudo.log added
27244         SUDO_CHECK_TYPE (just AC_CHECK_TYPE but checks unistd.h too) added
27245         SUDO_TYPE_SIZE_T (calls SUDO_CHECK_TYPE)
27246         [c589a515a99a]
27247
27248 1995-03-29  Todd C. Miller  <Todd.Miller@courtesan.com>
27249
27250         * TROUBLESHOOTING:
27251         Initial revision
27252         [f42f1baba3a8]
27253
27254         * sudo.c:
27255         now do set_perms(PERM_ROOT) before the getpwuid() in load_global()
27256         to work around a problem is trusted hpux shadow passwords. yuck.
27257         [ae1f13b54687]
27258
27259         * parse.yacc:
27260         backed out a change in malloc/realloc
27261         [ab868db0ad69]
27262
27263         * parse.yacc:
27264         now include stdlib.h
27265         [957eef0631eb]
27266
27267         * visudo.c:
27268         now do an freopen() of the stmp file so that yyin will always point
27269         to the same thing. This is important for flex since we are doing a
27270         YY_NEWFILE
27271         [44558922fd3e]
27272
27273         * parse.yacc:
27274         replaced yywrap() with parser_cleanup() since yywrap() needs to be
27275         in parse.lex to be able to use YY_NEW_FILE. sigh.
27276         [12dd09921074]
27277
27278         * parse.lex:
27279         now have a rule that matches anything that doesn't match an
27280         explicite rule. well, you know what i mean (. matches anything not
27281         yet matched). However, this means that there is input still queued
27282         up so we need to do a YY_NEW_FILE; in yywrap. So, yywrap has moved
27283         into parse.lex and it calls parser_cleanup() which is most of the
27284         old yywrap() sigh.
27285         [7f4042bc48d6]
27286
27287         * SUPPORTED:
27288         no longer used
27289         [8f220be4da94]
27290
27291         * getcwd.c, getwd.c:
27292         moved compat.h to be the last include file
27293         [9f3a65e2d485]
27294
27295         * parse.yacc:
27296         fixed type of aliascmp() args
27297         [1c27eb989bdf]
27298
27299         * find_path.c:
27300         NULL -> '\0'
27301         [5c8d8cf1692e]
27302
27303         * parse.yacc:
27304         added casts to lfind and lsearch args for irix
27305         [61027ddeecf8]
27306
27307         * Makefile.in:
27308         bsdinstall -> install-sh
27309         [61de6612c5a5]
27310
27311         * INSTALL:
27312         added info about make realclean
27313         [29c6324d727f]
27314
27315         * Makefile.in:
27316         updated VERSION added dependencies for visudo.cat
27317         [09077d7229d4]
27318
27319         * version.h:
27320         -> pl5b1
27321         [5d21c7ad1a41]
27322
27323         * sudo.c:
27324         took out -l
27325         [fc1478d81b38]
27326
27327         * Makefile.in:
27328         now there is a real visudo.man and visudo.cat
27329         [58aeac43a6dd]
27330
27331         * sudo.man:
27332         took out visudo stuff
27333         [4a6ac4393343]
27334
27335         * visudo.man:
27336         Initial revision
27337         [cba348843db8]
27338
27339         * parse.c, parse.lex, parse.yacc:
27340         updated copyright
27341         [ffa16b70944a]
27342
27343         * README:
27344         updated for pl5
27345         [a26e423e9e5f]
27346
27347         * sudo.man:
27348         updated Nieusma & Hieb email addresses
27349         [f0083e71989d]
27350
27351         * INSTALL:
27352         updated to include options.h and OPTIONS
27353         [ee59e2b76c94]
27354
27355         * CHANGES, TODO:
27356         updated
27357         [51e011ad5220]
27358
27359         * BUGS:
27360         eliminated bug #1 (yay)
27361         [e7e88515494e]
27362
27363         * configure.in:
27364         sunos no longer gets linked statically
27365         [2e5b3ff3108f]
27366
27367 1995-03-28  Todd C. Miller  <Todd.Miller@courtesan.com>
27368
27369         * parse.lex:
27370         prototype now uses __P()
27371         [68ecdcab4c70]
27372
27373         * parse.lex:
27374         make fill() non-ansi
27375         [d6509972260b]
27376
27377         * parse.c:
27378         made -v (validate) work
27379         [13c9d520638c]
27380
27381         * logging.c:
27382         now gives host
27383         [f04859cdba5a]
27384
27385         * find_path.c:
27386         don't check for execute/statable if fq or relative path given
27387         [4bbe851f3973]
27388
27389         * parse.c:
27390         added a cast
27391         [345c308f72f3]
27392
27393         * visudo.c:
27394         now include ctype.h for islower and tolower macros
27395         [582c0aa332d5]
27396
27397         * goodpath.c:
27398         moved _S_IFMT & _S_ISREG to compat.h
27399         [828e4ca4e7b4]
27400
27401         * sudo.c:
27402         moved a set of parens
27403         [5783474ecf37]
27404
27405         * strdup.c:
27406         now include compat.h
27407         [75e2036b94af]
27408
27409         * emul/search.h:
27410         void * -> VOID *
27411         [cedcfaf04161]
27412
27413         * parse.yacc:
27414         now cast malloc & realloc return vals added search for HAVE_LSEARCH
27415         now use strcmp if no strcasecmp available
27416         [d6a42bc3d4ae]
27417
27418         * lsearch.c:
27419         void * -> VOID *
27420         [886adc44f607]
27421
27422         * config.h.in:
27423         removed HAVE_FLEX added VOID added HAVE_DIRENT_H, HAVE_SYS_NDIR_H,
27424         HAVE_SYS_DIR_H, HAVE_NDIR_H added HAVE_LSEARCH
27425         [3b50d7fb4349]
27426
27427         * compat.h:
27428         added _S_IFMT, _S_IFREG, and S_ISREG
27429         [73d506c7d53c]
27430
27431         * aclocal.m4:
27432         took out SUDO_PROG_INSTALL 1.x to 2.x changes added echo and results
27433         to most SUDO_* macros
27434         [8442155f5936]
27435
27436         * Makefile.in:
27437         no more -I.
27438         [63462f195bd4]
27439
27440         * configure.in:
27441         various 1.x ro 2.x autoconf changes now check for strcasecmp now use
27442         AC_INSTALL_PROG instead of custom one added check for fully woorking
27443         void implementation
27444         [5ac6b6e6230f]
27445
27446         * Makefile.in:
27447         added lsearch & search.h visudo links into $(LIBOBJS)
27448         [bc119cda4598]
27449
27450         * aclocal.m4:
27451         partial 1.x to 2.x changes added SUDO_FULL_VOID
27452         [1194d01fa5c5]
27453
27454         * visudo.c:
27455         whatnow_help was prototyped to be static be was not declared as
27456         such
27457         [0f85489dd426]
27458
27459         * configure.in:
27460         autoconf 2.x changes took out HAVE_FLEX (no longer used) added check
27461         for dirent/dir/ndir.h
27462         [7408f3854948]
27463
27464         * parse.c:
27465         now use groovy gnu autoconf macro AC_HEADER_DIRENT
27466         [e465db9f5dfa]
27467
27468         * getcwd.c, getwd.c:
27469         MAXPATHLEN -> MAXPATHLEN+1
27470         [714d87424e21]
27471
27472         * emul/search.h, lsearch.c:
27473         Initial revision
27474         [55d79482c535]
27475
27476 1995-03-27  Todd C. Miller  <Todd.Miller@courtesan.com>
27477
27478         * parse.yacc:
27479         eliminated bison warnings
27480         [61ca0a96da22]
27481
27482         * parse.lex:
27483         added missing case
27484         [6be0f849747c]
27485
27486         * visudo.c:
27487         now iincludes signal.h
27488         [221e0fcc144f]
27489
27490         * parse.yacc:
27491         only clear data structures on a parse error
27492         [7b1c0f1a4527]
27493
27494         * visudo.c:
27495         whatnow() now gives help on invalid input
27496         [e5a4cd88c587]
27497
27498         * visudo.c:
27499         added a whatnow() function (sort of like mh)
27500         [932d9b145f1c]
27501
27502         * parse.yacc:
27503         kill_aliases -> reset_aliases yywrap() now cleans up by calling
27504         reset_aliases() and clearing top took reset stuff out of yyerror()
27505         since it doesn't beling there (and doesn't work anyway). errorlineno
27506         is now initially set to -1 so we can set it to the first error that
27507         occurrs (it was getting set to the last)
27508         [2f71f95a974c]
27509
27510         * parse.lex:
27511         added a void cast
27512         [18ae6042dce4]
27513
27514         * visudo.c:
27515         rewrote from scratch based on 4.3BSD vipw.c
27516         [2f6814f18576]
27517
27518 1995-03-26  Todd C. Miller  <Todd.Miller@courtesan.com>
27519
27520         * sudo.c, sudo.h:
27521         removed ocmnd
27522         [a31735f41ad4]
27523
27524         * sudo.h:
27525         no more sudo_realpath() and find_path() changed params
27526         [8e85c3b39159]
27527
27528         * sudo.c:
27529         find_path() changed since no more realpath()
27530         [b25366c7f2ee]
27531
27532         * parse.yacc:
27533         on error, errorlineno is set to the line where the error occurred
27534         added kill_aliases() to free the aliases struct now clean up in
27535         yyerror() so we can reparse cleanly
27536         [2342f578c27a]
27537
27538         * options.h, parse.c:
27539         no more USE_REALPATH
27540         [cfc59babeaff]
27541
27542         * logging.c:
27543         changed to use new find_path()
27544         [91c7a38e7751]
27545
27546         * find_path.c:
27547         removed all the realpath() stuff
27548         [cc21a43a8562]
27549
27550         * Makefile.in:
27551         sudo_realpath.c -> sudo_goodpath.c
27552         [03a9b1ddec2f]
27553
27554         * visudo.c:
27555         now works correctly with utk parser
27556         [08aa554a0ce8]
27557
27558         * goodpath.c:
27559         Initial revision
27560         [1ea607e1ffb2]
27561
27562         * sudo_realpath.c:
27563         eliminated a compiler warning
27564         [198bcccc55b6]
27565
27566         * sudo.c:
27567         elinated compiler warning
27568         [e2384f9a878b]
27569
27570         * sudo_realpath.c:
27571         added sudo_goodpath()
27572         [43878c4cc540]
27573
27574         * sudo.h:
27575         added prototype for sudo_goodpath
27576         [23e8627a2265]
27577
27578         * parse.c:
27579         added support for /sys/dir.h
27580         [eca897087741]
27581
27582         * options.h:
27583         USE_REALPATH turned off
27584         [620ac8b63d85]
27585
27586         * find_path.c:
27587         added calls to sudo_goodpath()
27588         [ad170904fbcd]
27589
27590         * configure.in:
27591         added check for dirent.h
27592         [7964a8c26855]
27593
27594         * config.h.in:
27595         added HAVE_DIRENT_H
27596         [1f785fec7e19]
27597
27598         * configure.in:
27599         added in linux shadow pass stuff \ 6
27600         [e585a5785f50]
27601
27602 1995-03-24  Todd C. Miller  <Todd.Miller@courtesan.com>
27603
27604         * visudo.c:
27605         added back host, user, cmnd, parse_error
27606         [0ec19f3d64f4]
27607
27608         * visudo.c:
27609         added in utk changes plus some minor cosmetic changes
27610         [c5c1921c8a58]
27611
27612         * sudo.c, sudo_realpath.c:
27613         added void casts for printf's
27614         [9c6ff11c0082]
27615
27616         * options.h:
27617         added a define of USE_REALPATH
27618         [db3711c9efc5]
27619
27620         * configure.in:
27621         there is no more visudoers/Makefile
27622         [36e1bc1f78d0]
27623
27624         * Makefile.in:
27625         added in utk changes (visudo is now built from the toplevel)
27626         [76203d4b345d]
27627
27628         * find_path.c:
27629         added (void) casts to printf's
27630         [dd5cb1e060ac]
27631
27632         * parse.c, parse.lex, parse.yacc, sudo.h, sudo_realpath.c:
27633         merged in utk changes
27634         [35563307fd8e]
27635
27636 1995-03-23  Todd C. Miller  <Todd.Miller@courtesan.com>
27637
27638         * find_path.c:
27639         now check to see that what we are trying to run is a file (or a link
27640         to a file, we do a stat(2) so there is no diff)
27641         [05889c4bcace]
27642
27643 1995-03-13  Todd C. Miller  <Todd.Miller@courtesan.com>
27644
27645         * CHANGES:
27646         updated
27647         [3e8047bb26fb]
27648
27649         * Makefile.in:
27650         aclocal.m4 -> acsite.m4 make realclean updated for new autoconf \ 6
27651         [0bdbaa7c4c7d]
27652
27653         * sudo.man:
27654         added myself as maintainer
27655         [77a9d75aab84]
27656
27657 1995-02-17  Todd C. Miller  <Todd.Miller@courtesan.com>
27658
27659         * sudo.c:
27660         changed setegid -> setgid
27661         [7f4788d73b6f]
27662
27663 1995-02-06  Todd C. Miller  <Todd.Miller@courtesan.com>
27664
27665         * configure.in:
27666         fixed the test for irix 5.x to skip bad libs
27667         [bfef896de013]
27668
27669         * aclocal.m4:
27670         now initialize OS and OSREV
27671         [cc302756e440]
27672
27673 1995-01-27  Todd C. Miller  <Todd.Miller@courtesan.com>
27674
27675         * configure.in:
27676         irix5 changes
27677         [ac985b23f5f2]
27678
27679         * configure.in:
27680         AC_WITH -> AC_ARG_WITH changes other misc changes for autoconf 2.1
27681         compatibility
27682         [0cf8c92a06d7]
27683
27684 1995-01-19  Todd C. Miller  <Todd.Miller@courtesan.com>
27685
27686         * visudo.c:
27687         use YY_NEW_FILE, not yyrestart since OSF flex doesn't do the righ
27688         thing wrt yyrestart (grrrr)
27689         [18e8eabfbb82]
27690
27691 1995-01-16  Todd C. Miller  <Todd.Miller@courtesan.com>
27692
27693         * Makefile.in:
27694         added visudoers/compat.h to DISTFILES
27695         [db23b574b034]
27696
27697         * configure.in:
27698         fixed an echo
27699         [7cbc0462b89d]
27700
27701         * sudo.c:
27702         added ocmnd declaration adjusted for find_path()'s new parameters
27703         [d929cd156474]
27704
27705         * sudo.h:
27706         added ocmnd extern adjusted find_path() prototype
27707         [e0004daf5d3c]
27708
27709         * parse.c:
27710         cmndcmp() now takes 3 arguments and checks against the qualified as
27711         well as the unqualified pathname. more code that should use
27712         cmndcmp() but did not, now does
27713         [6f70a8c17bee]
27714
27715         * options.h:
27716         added to a comment
27717         [7a78680426b2]
27718
27719         * logging.c:
27720         changed to use new find_path() parameter passing
27721         [840981d30db4]
27722
27723         * find_path.c:
27724         find_path() now takes 2 copyout parameters (one for the qualified
27725         pathname and one for the unqualified pathname). The third parameter
27726         may be NULL.
27727         [851503b005e9]
27728
27729         * configure.in:
27730         no longer munge pathnames.h
27731         [427d8796c5a9]
27732
27733         * pathnames.h.in:
27734         changed _PATH_* to use _SUDO_PATH_* (which are defined in config.h)
27735         as a result, pathnames.h does not need to be run through configure
27736         and the user can override the configured values easily.
27737         [2e378f2ebe88]
27738
27739         * config.h.in:
27740         added _SUDO_PATH_* entries
27741         [0857de7cebab]
27742
27743         * aclocal.m4:
27744         _PATH* -> _SUDO_PATH_*
27745         [7601193f56cc]
27746
27747         * Makefile.in:
27748         updated DISTFILES and HDRS .o's now depend on config.h
27749         [39d8601965cf]
27750
27751 1995-01-13  Todd C. Miller  <Todd.Miller@courtesan.com>
27752
27753         * compat.h:
27754         removed extraneous #endif
27755         [27d4c5f2ce7e]
27756
27757         * aclocal.m4:
27758         added SUDO_PROG_MV
27759         [76dda3bdd816]
27760
27761         * configure.in:
27762         added SUDO_PROG_MV added riscos and isc os types took out
27763         -DSHORT_MESSAGE from --with-csops since it is now the default
27764         [68c206ad976e]
27765
27766         * sudo.c:
27767         move the include of id.h to compat.h now includes options.h
27768         [45a1eaafb3a8]
27769
27770         * sudo.h:
27771         moved compatibility #defines to compat.h
27772         [0eee27057698]
27773
27774         * pathnames.h.in:
27775         added _PATH_MV
27776         [e830797ab320]
27777
27778         * config.h.in:
27779         move __P to compat.h
27780         [188e12e0ba93]
27781
27782         * getcwd.c, getwd.c, putenv.c:
27783         now includes compat.h
27784         [c72cb6d73981]
27785
27786         * compat.h:
27787         Initial revision
27788         [d4d2f359ae03]
27789
27790 1995-01-12  Todd C. Miller  <Todd.Miller@courtesan.com>
27791
27792         * sudo.h:
27793         pull user-configurable stuff out and put in options.h
27794         [ef929467b070]
27795
27796 1995-01-11  Todd C. Miller  <Todd.Miller@courtesan.com>
27797
27798         * parse.lex, parse.yacc, visudo.c:
27799         now includes options.h
27800         [e36d7c82add1]
27801
27802         * check.c, find_path.c, logging.c, parse.c, sudo_realpath.c,
27803         sudo_setenv.c:
27804         now includes options.h
27805         [f186ba03de07]
27806
27807         * Makefile.in:
27808         added visudoers/options.h
27809         [e5350c476494]
27810
27811         * OPTIONS, options.h:
27812         Initial revision
27813         [9b6b5001e318]
27814
27815         * Makefile.in:
27816         added OPTIONS and options.h
27817         [25448341e16a]
27818
27819         * logging.c:
27820         changed #ifdef's to use LOGGING and SLOG_SYSLOG/SLOG_FILE
27821         [5dd6385dd1d3]
27822
27823         * check.c, sudo.h:
27824         changed PASSWORD_TIMEOUT to minutes
27825         [0ec6aab98738]
27826
27827 1994-12-17  Todd C. Miller  <Todd.Miller@courtesan.com>
27828
27829         * visudo.c:
27830         now only do Editor +line_num if line_num != 0
27831         [b69f04b5e3c7]
27832
27833 1994-12-16  Todd C. Miller  <Todd.Miller@courtesan.com>
27834
27835         * visudo.c:
27836         now use mv if rename(2) fails
27837         [83210dca1bab]
27838
27839         * BUGS:
27840         added a visudo bug
27841         [d61a806f9aa7]
27842
27843         * check.c:
27844         expanded comment
27845         [641f2cba94cb]
27846
27847 1994-11-12  Todd C. Miller  <Todd.Miller@courtesan.com>
27848
27849         * check.c:
27850         fixed user_is_exempt to return 0 if EXEMPTGROUP is not set
27851         [7a11135039a8]
27852
27853 1994-11-10  Todd C. Miller  <Todd.Miller@courtesan.com>
27854
27855         * sudo.c:
27856         added mips & isc support
27857         [e258dc053119]
27858
27859         * parse.c:
27860         added support for non-root owned sudoers file
27861         [fea07e65a0fc]
27862
27863         * check.c:
27864         added exempt group support
27865         [928fb4bd9ad5]
27866
27867         * sudo.h:
27868         added set_perms() support added SUDOERS_OWNER so can have non-root
27869         own sudoers file added exempt group support added isc support
27870         [61c578d31fc1]
27871
27872         * visudo.c:
27873         now copy sudoers to temp file via read/write (not stdio) now chown
27874         new sudoers file to SUDOERS_OWNER
27875         [a5176c59df70]
27876
27877 1994-11-08  Todd C. Miller  <Todd.Miller@courtesan.com>
27878
27879         * configure.in:
27880         added skey support
27881         [35a8d2fabdb7]
27882
27883         * sudo_realpath.c:
27884         be_* -> setperms()
27885         [a1631d686e1c]
27886
27887         * sudo.h:
27888         fixed typo added set_perms support added skey support added
27889         seteuid()/setegid() emulation for AIX
27890         [c0c8d6771406]
27891
27892         * sudo.c:
27893         be_* -> setperms() now check to make sure sudoers file is owned by
27894         root nread/write by only root
27895         [13ab1e261f1a]
27896
27897         * logging.c, parse.c:
27898         be_* -> setperms()
27899         [21499d845c8f]
27900
27901         * check.c:
27902         be_* -> set_perms() added skey support
27903         [df51b56871c1]
27904
27905 1994-11-06  Todd C. Miller  <Todd.Miller@courtesan.com>
27906
27907         * Makefile.in:
27908         ++version
27909         [3c1abbe4e43c]
27910
27911         * version.h:
27912         ++
27913         [1d2f9b540a95]
27914
27915 1994-10-21  Todd C. Miller  <Todd.Miller@courtesan.com>
27916
27917         * sudo.c:
27918         now sets IFS
27919         [eabbb41b9f08]
27920
27921         * insults.h:
27922         fixed typo
27923         [c7997f19216e]
27924
27925 1994-10-15  Todd C. Miller  <Todd.Miller@courtesan.com>
27926
27927         * config.h.in:
27928         added HAVE_SKEY
27929         [da948ec4186b]
27930
27931 1994-10-04  Todd C. Miller  <Todd.Miller@courtesan.com>
27932
27933         * CHANGES:
27934         updated
27935         [f4b55ab007ea]
27936
27937         * Makefile.in:
27938         ++version
27939         [0489068b8c95]
27940
27941         * version.h:
27942         ++
27943         [d189faedf423]
27944
27945         * sudo.c:
27946         now bail if ARgv[1] > MAXPATHLEN
27947         [0cea8ecc9dc2]
27948
27949         * configure.in:
27950         added function check for tcgetattr(3)
27951         [e03289b22c2f]
27952
27953         * config.h.in:
27954         only define HAVE_TERMIOS_H if you have tcgetattr(3)
27955         [757eab83d1a2]
27956
27957         * config.h.in:
27958         added check for tcgetattr
27959         [c5ae92715930]
27960
27961 1994-09-26  Todd C. Miller  <Todd.Miller@courtesan.com>
27962
27963         * CHANGES:
27964         updated
27965         [cbc419883108]
27966
27967 1994-09-22  Todd C. Miller  <Todd.Miller@courtesan.com>
27968
27969         * parse.lex:
27970         now only include unistd.h for linux
27971         [e9adeab95ef0]
27972
27973 1994-09-21  Todd C. Miller  <Todd.Miller@courtesan.com>
27974
27975         * Makefile.in:
27976         added visudo.8 generation
27977         [d6a3f0f887f8]
27978
27979         * configure.in:
27980         added -Wl,-bI:./aixcrypt.exp to aix flags
27981         [72594a21edcf]
27982
27983 1994-09-20  Todd C. Miller  <Todd.Miller@courtesan.com>
27984
27985         * BUGS:
27986         added one
27987         [9993a349e096]
27988
27989         * CHANGES:
27990         updated
27991         [297b31ec4cdd]
27992
27993         * README:
27994         added mailing list info
27995         [10372f94a2b2]
27996
27997         * parse.yacc:
27998         now use sudolineno instead of yylineno fixed bison warnings
27999         [25a83e62057b]
28000
28001         * configure.in:
28002         now use -no_library_replacement for osf don't make a static binary
28003         for hpux >= 9.0
28004         [1fa7b892f1a3]
28005
28006         * tgetpass.c:
28007         added string.h/strings.h inclusion
28008         [71faa98fc0a1]
28009
28010         * config.h.in:
28011         added ssize_t def
28012         [406284bd1ac0]
28013
28014         * parse.lex:
28015         added inclusion of string.h/strings.h
28016         [6985b1df5d09]
28017
28018         * aclocal.m4:
28019         fixed uname | sed (needed to quote the '[')
28020         [4cd2d3415c1a]
28021
28022         * parse.lex:
28023         replaced yylineno with sudolineno fixed bison syntax errors
28024         [0bd31a5fab26]
28025
28026         * visudo.c:
28027         changed yylineno to sudolineno since yylineno cannot be counted
28028         upon.
28029         [38c30104d0ae]
28030
28031         * TODO:
28032         updated
28033         [5d4746f1a752]
28034
28035         * parse.c:
28036         added code to support command listings
28037         [030172e133fd]
28038
28039         * sudo.c:
28040         added code for -l flag
28041         [801dbbc82778]
28042
28043         * sudo.man:
28044         fixed typo added info for -l flag
28045         [8916ca945d65]
28046
28047         * configure.in:
28048         AC_SSIZE_T -> SUDO_SSIZE_T
28049         [c61f7f47013f]
28050
28051         * aclocal.m4:
28052         added SUDO_SSIZE_T
28053         [0ccdb77be84d]
28054
28055         * sudo.h:
28056         added MODE_LIST
28057         [9b2bd844c76c]
28058
28059         * configure.in:
28060         added AC_SSIZE_T
28061         [35cca208f9b5]
28062
28063         * find_path.c, sudo_realpath.c:
28064         readlink() is now declared as returning ssize~_t
28065         [0640a08d1407]
28066
28067         * configure.in:
28068         added -laud for OSF c2
28069         [b7539c905efc]
28070
28071 1994-09-02  Todd C. Miller  <Todd.Miller@courtesan.com>
28072
28073         * Makefile.in, visudo.c:
28074         changed sudo-bugs.cs.colorado.edu -> sudo-bugs@cs.colorado.edu
28075         [067fd9bcb5e1]
28076
28077         * config.h.in, parse.lex, parse.yacc, pathnames.h.in:
28078         changed sudo-bugs.cs.colorado.edu -> sudo-bugs@cs.colorado.edu
28079         [fc46e7c7110a]
28080
28081         * check.c, find_path.c, getcwd.c, getwd.c, insults.h, logging.c,
28082         parse.c, putenv.c, strdup.c, sudo.c, sudo.h, sudo_realpath.c,
28083         sudo_setenv.c, tgetpass.c, version.h:
28084         changed sudo-bugs.cs.colorado.edu -> sudo-bugs@cs.colorado.ed
28085         [d1d4fbc53a98]
28086
28087 1994-09-01  Todd C. Miller  <Todd.Miller@courtesan.com>
28088
28089         * Makefile.in:
28090         ++version
28091         [b7066d97633f]
28092
28093         * version.h:
28094         ++
28095         [65ec69d88110]
28096
28097         * logging.c:
28098         added host to alertmail messages
28099         [d973c19ce777]
28100
28101         * CHANGES, TODO:
28102         udpated
28103         [5a65eb16faeb]
28104
28105         * logging.c:
28106         fixed logging problem where mail would not say which user it was
28107         [35723edcc5d2]
28108
28109         * configure.in:
28110         added -laud for gcc if osf & c2
28111         [18f1e0ae5548]
28112
28113         * check.c:
28114         moved set_auth_parameters to sudo.c
28115         [d23112fe01db]
28116
28117         * sudo.c:
28118         added set_auth_parameters for osf
28119         [eb70f65214ac]
28120
28121         * configure.in:
28122         cleaned up -static stuff
28123         [01e9575f0422]
28124
28125         * Makefile.in:
28126         ++version
28127         [7ac3bff5c770]
28128
28129         * version.h:
28130         ++
28131         [10a4ff478469]
28132
28133         * sudo.c:
28134         changed setenv() to sudo_setenv()
28135         [40a78abb9946]
28136
28137         * check.c:
28138         fixed osf problem
28139         [3d69b118efb8]
28140
28141         * configure.in:
28142         added OSF C2 stuff
28143         [38cff3ad4093]
28144
28145         * CHANGES:
28146         updated
28147         [cd341dd0581a]
28148
28149         * check.c:
28150         added osf auth support & removed some extra spaces
28151         [a448cdd81514]
28152
28153         * INSTALL, SUPPORTED:
28154         added osf C2 stuff
28155         [f70484796146]
28156
28157 1994-08-31  Todd C. Miller  <Todd.Miller@courtesan.com>
28158
28159         * TODO:
28160         added 2 suggestions
28161         [695fbdbd86e6]
28162
28163         * Makefile.in:
28164         removed README.v1.3.1 and added VERSION stuff
28165         [f69403eb04c6]
28166
28167         * version.h:
28168         pl1
28169         [21580c0f8cb1]
28170
28171 1994-08-30  Todd C. Miller  <Todd.Miller@courtesan.com>
28172
28173         * version.h:
28174         1.3.1final
28175         [630114970298]
28176
28177         * Makefile.in:
28178         added HISTORY
28179         [901bff251614]
28180
28181         * sudo.man:
28182         mention HISTPRY file
28183         [86dbcfd4326e]
28184
28185         * sudo.c:
28186         use sizeof instead of a constant in 1 place
28187         [d819604c68ca]
28188
28189         * parse.yacc:
28190         added unistd.h
28191         [6f9500f9fe7e]
28192
28193         * parse.lex:
28194         added unistd.h
28195         [468b81a276eb]
28196
28197         * README:
28198         udpated
28199         [7e275618923a]
28200
28201         * HISTORY:
28202         Initial revision
28203         [5db1b0a3939b]
28204
28205 1994-08-17  Todd C. Miller  <Todd.Miller@courtesan.com>
28206
28207         * version.h:
28208         ++
28209         [7dfbb4a810bb] [SUDO_1_3_1]
28210
28211         * CHANGES:
28212         updated
28213         [7820ee610bf8]
28214
28215         * sudo_setenv.c:
28216         added unistd.h include
28217         [30cf2b654525]
28218
28219 1994-08-16  Todd C. Miller  <Todd.Miller@courtesan.com>
28220
28221         * sudo.c:
28222         added sys/time.h for AIX
28223         [199fc8caf3a3]
28224
28225 1994-08-15  Todd C. Miller  <Todd.Miller@courtesan.com>
28226
28227         * configure.in:
28228         added check for -lsocket and sys/sockio.h
28229         [f9abfbb31031]
28230
28231         * config.h.in:
28232         took out libshadow check and added in sys/sockio.h check
28233         [0c4b0393ac80]
28234
28235         * sudo.c:
28236         now include sockio.h instead of ioctl.h if it exists "sudo -" now
28237         gets a better error message
28238         [53041bea5483]
28239
28240         * sample.sudoers:
28241         now has a dir and subnet entry
28242         [56b820f65438]
28243
28244 1994-08-13  Todd C. Miller  <Todd.Miller@courtesan.com>
28245
28246         * sudo.c:
28247         removed if_ether.h
28248         [b4f64507493e]
28249
28250         * TODO:
28251         added an item
28252         [ea2a1bb6922a]
28253
28254         * sudo.man:
28255         added network and ip addresses to man page
28256         [01c85016511f]
28257
28258         * sudo.c:
28259         no error if can't get interfaces or netmask since networking may not
28260         be in the kernel.
28261         [50b8890e2134]
28262
28263         * parse.c:
28264         nwo check for interfaces == NULL
28265         [dc1b3eef0db2]
28266
28267         * parse.c:
28268         fixed a bug that caused directory specs in a Cmnd_Alias to fail if
28269         the last entry in the spec failed (ie: it was only looking at the
28270         last entry). CLeaned things up by adding the cmndcmp() function--all
28271         neat & tidy
28272         [007e93578e5e]
28273
28274         * CHANGES:
28275         added one
28276         [40e8a2cef497]
28277
28278 1994-08-12  Todd C. Miller  <Todd.Miller@courtesan.com>
28279
28280         * sudo.c:
28281         now do two passes to skip bogus interfaces (lo0, etc)
28282         [465e30aecaf7]
28283
28284         * parse.lex, parse.yacc, visudo.c:
28285         added include of netinet/in.h
28286         [11e3816ed362]
28287
28288         * logging.c, sudo_realpath.c, sudo_setenv.c:
28289         added ninclude of netinet/in.h
28290         [daccfa40fe1e]
28291
28292         * check.c, find_path.c, getcwd.c, getwd.c:
28293         added include of netinet/in.h
28294         [0222f95e06ad]
28295
28296         * version.h:
28297         ++
28298         [d6b0cfa35a38]
28299
28300         * sudo.h:
28301         added interfaces global
28302         [ba52fa8ad75e]
28303
28304         * parse.c:
28305         now uses new interfaces global
28306         [17473ad5ecba]
28307
28308         * sudo.c:
28309         now ip addresses are gleaned fw/o dns
28310         [8828bb2007e0]
28311
28312 1994-08-10  Todd C. Miller  <Todd.Miller@courtesan.com>
28313
28314         * sudo.c:
28315         added load_ip_addrs() to load the ip_addrs global var
28316         [60c825f04238]
28317
28318         * parse.c:
28319         added hostcmp() to compare hostnames, ip addrs, and network addrs
28320         [ab0e40e37537]
28321
28322         * sudo.h:
28323         added ip_addrs def added load_ip_addrs prototype
28324         [c41c565d0777]
28325
28326 1994-08-08  Todd C. Miller  <Todd.Miller@courtesan.com>
28327
28328         * CHANGES:
28329         updated
28330         [2a128dbe9bcb]
28331
28332         * Makefile.in:
28333         removed multiple entries in DISTFILES
28334         [2490f4f371e6]
28335
28336         * visudo.c:
28337         ansified the !STDC_HEADERS decls
28338         [646ba06d17ae]
28339
28340         * find_path.c, getcwd.c, getwd.c, putenv.c, strdup.c:
28341         don't do malloc decl if gnuc
28342         [f1bad1925f98]
28343
28344         * sudo.c:
28345         can't use getopt(3) since it munges args to the command to be run as
28346         root don't do malloc decl if gnuc
28347         [38e78f6da14e]
28348
28349         * find_path.c, getcwd.c, getwd.c, putenv.c, strdup.c, sudo.c,
28350         sudo_realpath.c, sudo_setenv.c:
28351         ansi-fied !STDC_HEADER function prottypes
28352         [51d8cad89976]
28353
28354         * getcwd.c, getwd.c:
28355         added missing paren
28356         [6a1fae70e27e]
28357
28358         * Makefile.in:
28359         added putenv.c to DISTFILES
28360         [a5e4523eabbb]
28361
28362         * sudo_setenv.c:
28363         added params to func decls when STDC_HEADERS is not defined now can
28364         count on putenv() being there
28365         [fd587796189b]
28366
28367         * sudo_realpath.c:
28368         took out errno decl since sudo.h does it for us fixed up a next cc
28369         warning added params to func decls when STDC_HEADERS is not defined
28370         [70fa5152ace6]
28371
28372         * sudo.h:
28373         took out environ extern added local declaratio of putenv() if local
28374         version is needed
28375         [a84bae6c020d]
28376
28377         * find_path.c, getcwd.c, getwd.c, strdup.c, sudo.c:
28378         added params to func decls when STDC_HEADERS is not defined
28379         [f406f0e47ac0]
28380
28381         * config.h.in:
28382         added memcpy check check to see that ansi vs bsd macros are ntot
28383         already defiend before defining (ie: avoid redefinition)
28384         [879ae026e19f]
28385
28386         * configure.in:
28387         removed fluff setenv check plus check w/ replace for putenv if also
28388         no setenv
28389         [e3c03814ad4b]
28390
28391         * putenv.c:
28392         Initial revision
28393         [3cff63e2dc1b]
28394
28395 1994-08-06  Todd C. Miller  <Todd.Miller@courtesan.com>
28396
28397         * sudo_setenv.c:
28398         Initial revision
28399         [4d637631fa6b]
28400
28401         * sudo.h:
28402         rm'd s realp[ath added sudo_realpath and sudo_setenv
28403         [07ba001ff57e]
28404
28405         * sudo.c:
28406         now use sudo_setenvc
28407         [fd81e04d5ef0]
28408
28409         * configure.in:
28410         added puteenv and setenv, removed realpath
28411         [27bfacfb513b]
28412
28413         * config.h.in:
28414         added putenv & setenv
28415         [515f14eaf6e4]
28416
28417         * Makefile.in:
28418         added sudo_setenv
28419         [217731a717c5]
28420
28421         * version.h:
28422         ++
28423         [eadb346d7129]
28424
28425 1994-08-05  Todd C. Miller  <Todd.Miller@courtesan.com>
28426
28427         * configure.in:
28428         added MAN_POSTINSTALL and /usr/share/catman for irix
28429         [2a9496c1bdba]
28430
28431         * Makefile.in:
28432         added MAN_POSTINSTALL
28433         [89b0d4695529]
28434
28435         * CHANGES:
28436         added
28437         [48c021ba8a70]
28438
28439         * sudo.man:
28440         added SUDO_* plus new options
28441         [c0759cff5683]
28442
28443         * CHANGES:
28444         added one
28445         [7d44a3922d56]
28446
28447         * configure.in:
28448         took out shadow lib
28449         [07cf3de18701]
28450
28451         * TODO:
28452         adde done
28453         [a27a578e8afe]
28454
28455         * visudo.c:
28456         now use yyrestart() if flex now reset yylineno to 0
28457         [77d67ce0b677]
28458
28459         * Makefile.in:
28460         support for installing a cat page instead of a man page if no nroff
28461         [44671c0fc0fa]
28462
28463         * configure.in:
28464         now defines HAVE_FLEX fixed up man stuff so that it looks for nroff
28465         to determine whether or not to install a cat or man page
28466         [0562d069c135]
28467
28468         * config.h.in:
28469         added HAVE_FLEX
28470         [c5490bae39d3]
28471
28472         * sudo.c:
28473         not set ret to MODE_RUN initially
28474         [88b4983c195b]
28475
28476         * find_path.c:
28477         made command (and therefor cmnd dynamically allocated)
28478         [95b82e32b6de]
28479
28480         * TODO:
28481         did #8
28482         [fb6f41308cdf]
28483
28484         * version.h:
28485         ++
28486         [14112ecab5ae]
28487
28488         * sudo_realpath.c:
28489         changed bufs from MAXPATHLEN to MAXPATHLEN+1
28490         [0ad4f34e55c0]
28491
28492         * sudo.h:
28493         added MODE_ removed validate_only and added remove_timestamp()
28494         [dd5f99c57728]
28495
28496         * sudo.c:
28497         usage() now takes an int (exit value) added parse_args() to parse
28498         command line arguments moved call to find_path() from load_globals
28499         to new function load_cmnd() removed validate_only global -- now use
28500         the concept of "modes" added -h and -k options
28501         [c3887090b28a]
28502
28503         * parse.c:
28504         no longer use global validate_only now checks for command called
28505         "validate" removed check for non-fully qualified commands since that
28506         is done by find_path
28507         [7d56fbd26369]
28508
28509         * find_path.c:
28510         changed MAXPATHLEN r to MAXPATHLEN+1
28511         [a86e8664d971]
28512
28513         * find_path.c:
28514         fixed off by one error with MAXPATHLEN and fixed a comment
28515         [58adcef8c981]
28516
28517         * check.c:
28518         check_timestamp no longer runs reminder(), it is implied in the
28519         return val added remove_timestamp()
28520         [42ab5a77066f]
28521
28522         * CHANGES:
28523         updated
28524         [8e69b31df024]
28525
28526 1994-08-04  Todd C. Miller  <Todd.Miller@courtesan.com>
28527
28528         * BUGS:
28529         fixed on
28530         [bc34f1ac4280]
28531
28532         * sudo_realpath.c:
28533         took out old_errno
28534         [a168d00a0768]
28535
28536         * CHANGES:
28537         updated
28538         [04ba80922df7]
28539
28540 1994-08-03  Todd C. Miller  <Todd.Miller@courtesan.com>
28541
28542         * logging.c:
28543         moved send_mail to after syslog
28544         [4d4188087834]
28545
28546         * sudo.c:
28547         now set SUDO_ envariables
28548         [e5963f1bd3bb]
28549
28550 1994-08-01  Todd C. Miller  <Todd.Miller@courtesan.com>
28551
28552         * version.h:
28553         ++
28554         [2a4534845d8c]
28555
28556         * sudo_realpath.c:
28557         now print error if chdir fails
28558         [0d75c8973d49]
28559
28560         * find_path.c:
28561         removed an XXX
28562         [e2077bcb35aa]
28563
28564 1994-07-26  Todd C. Miller  <Todd.Miller@courtesan.com>
28565
28566         * CHANGES:
28567         updated
28568         [e30a2b39b41a]
28569
28570         * configure.in:
28571         no more static binaries for aix
28572         [77a0beb6bd80]
28573
28574 1994-07-25  Todd C. Miller  <Todd.Miller@courtesan.com>
28575
28576         * INSTALL:
28577         fixed typo
28578         [ba5e0d391bc4]
28579
28580         * sudo_realpath.c:
28581         took out stuff not needed for sudo now does be_root/be_user itself
28582         now uses cwd global
28583         [4f6d4641d793]
28584
28585         * version.h:
28586         +=2
28587         [97da927b297c]
28588
28589         * logging.c, sudo.c:
28590         be_root/be_user is now down in sudo_realpath()
28591         [f331662fa50f]
28592
28593         * logging.c, sudo.h:
28594         now works with 4.2BSD syslog (blech)
28595         [98e39d89dd36]
28596
28597         * find_path.c:
28598         now use sudo_realpath()
28599         [ab436a8ebd02]
28600
28601         * config.h.in:
28602         took out realpth() stuff since we now use sudo_realpath()
28603         [8de5ef9f6044]
28604
28605         * configure.in:
28606         ultrix enhanced sec
28607         [815fb7fffcc0]
28608
28609         * SUPPORTED:
28610         added ultrix enhanced sec.
28611         [6466766c8062]
28612
28613         * INSTALL:
28614         updated
28615         [d681a634297a]
28616
28617         * check.c:
28618         ultrix enhanced security suport
28619         [f10c8decbcc2]
28620
28621         * Makefile.in:
28622         added sudo_realpath.c
28623         [6b9bcd3be022]
28624
28625         * CHANGES:
28626         updated
28627         [2fa8084c1b53]
28628
28629         * tgetpass.c:
28630         increased passwd len to 24 for c2 security
28631         [ec64838be62d]
28632
28633         * BUGS:
28634         updated BUGS
28635         [ca00d8fec2ce]
28636
28637 1994-07-15  Todd C. Miller  <Todd.Miller@courtesan.com>
28638
28639         * check.c:
28640         now use user global var
28641         [568769719013]
28642
28643         * configure.in:
28644         took out -ls
28645         [490a44180d5f]
28646
28647 1994-07-14  Todd C. Miller  <Todd.Miller@courtesan.com>
28648
28649         * configure.in:
28650         added AFS libs
28651         [4fb40c8c01ba]
28652
28653         * sudo.h:
28654         user is now a char * added epasswd
28655         [27a919fafdfb]
28656
28657         * sudo.c:
28658         added tzset() to load_globals added epasswd (encrypted password)
28659         global made user dynamically allocated
28660         [b99ef9bdbfce]
28661
28662         * configure.in:
28663         added tzset test
28664         [27592dd1214b]
28665
28666         * config.h.in:
28667         added HAVE_TZSET
28668         [b13f4213f3d0]
28669
28670         * check.c:
28671         cleaned up encrypted passwd grab somewhat
28672         [c8ba9a4db38a]
28673
28674         * configure.in:
28675         fixed AFS typo
28676         [2bfcbce237b6]
28677
28678         * INSTALL:
28679         added AFS not
28680         [80c67329393c]
28681
28682         * CHANGES:
28683         udpated
28684         [2f09ecdd5d31]
28685
28686         * logging.c:
28687         can now log to both syslog & a file
28688         [4d5c0932bc01]
28689
28690         * sudo.h:
28691         added BOTH_LOGS
28692         [623c539be824]
28693
28694         * CHANGES:
28695         updated
28696         [a1c7f5ef3616]
28697
28698         * configure.in:
28699         --with-AFS
28700         [28718d8f5daf]
28701
28702         * config.h.in:
28703         added HAVE_AFS
28704         [2e32bb4e63e4]
28705
28706         * check.c:
28707         added afs changes
28708         [fe4d0ff320a2]
28709
28710         * sudo.h:
28711         removed AFS stuff :-)
28712         [a40387e6fa27]
28713
28714         * tgetpass.c:
28715         include sys/select for AIX
28716         [f32c5a8f2c84]
28717
28718         * sudo.h:
28719         added AFS
28720         [da2ab3dd0348]
28721
28722         * version.h:
28723         ++
28724         [452d4dfe25af]
28725
28726 1994-07-07  Todd C. Miller  <Todd.Miller@courtesan.com>
28727
28728         * CHANGES, SUPPORTED:
28729         updated
28730         [e7dfe6f23a37]
28731
28732         * logging.c:
28733         can now have MAILER undefined
28734         [1d33b98b35e1]
28735
28736         * INSTALL:
28737         new sub-note about MAILER
28738         [d35c636a0574]
28739
28740         * sudo.man:
28741         added blurb about password timeout
28742         [70c2ee50de20]
28743
28744         * configure.in:
28745         convex c2 changes
28746         [367138a6232e]
28747
28748         * aclocal.m4:
28749         took out duplicate define of _CONVEX_SOURCE
28750         [647182138450]
28751
28752         * Makefile.in:
28753         added OSDEFS
28754         [7fdcd50602d1]
28755
28756         * config.h.in:
28757         added spaces
28758         [f2b8a05e48f3]
28759
28760         * tgetpass.c:
28761         added a goto if fgets fails
28762         [68a6586d9c45]
28763
28764         * sudo.h:
28765         use __hpux not hpux convex c2 stuff
28766         [5c377a8d5f34]
28767
28768         * sudo.c:
28769         use __hpux not hpux
28770         [9363bc0f9f9e]
28771
28772         * logging.c:
28773         convex c2 stuff
28774         [ea5630975ac4]
28775
28776         * config.h.in:
28777         define ansi-ish cpp os defines if non-ansi are defined for hpux &
28778         convex
28779         [664f53a5e786]
28780
28781         * INSTALL:
28782         updated to say we support sonvex C2
28783         [5f2f8b87013e]
28784
28785         * check.c:
28786         added convex c2 support
28787         [9a665d4918fa]
28788
28789 1994-07-01  Todd C. Miller  <Todd.Miller@courtesan.com>
28790
28791         * tgetpass.c:
28792         no more ioctl never returns NULL uses fgets() and select() to
28793         timeout
28794         [b333e6d63e97]
28795
28796 1994-06-29  Todd C. Miller  <Todd.Miller@courtesan.com>
28797
28798         * configure.in:
28799         things were testing -n "$GCC" instead of -z "$GCC"
28800         [059a9b15ede2]
28801
28802         * tgetpass.c:
28803         now works + uses fgets()
28804         [353d7ebcb7bb]
28805
28806 1994-06-28  Todd C. Miller  <Todd.Miller@courtesan.com>
28807
28808         * tgetpass.c:
28809         select doesn't seem to recognize a single '\n' as input waiting so
28810         we can;t use it, sigh.
28811         [f76e3218b835]
28812
28813 1994-06-26  Todd C. Miller  <Todd.Miller@courtesan.com>
28814
28815         * PORTING:
28816         updated tgetpass() blurb
28817         [95baac736b49]
28818
28819         * configure.in:
28820         added --with-getpass
28821         [42ac0bdf58ed]
28822
28823         * Makefile.in:
28824         added tgetpass stuff
28825         [e2b38c635663]
28826
28827         * tgetpass.c:
28828         now uses stdio
28829         [36af8ff66e35]
28830
28831         * version.h:
28832         ++
28833         [4e81c9db19bd]
28834
28835 1994-06-24  Todd C. Miller  <Todd.Miller@courtesan.com>
28836
28837         * PORTING:
28838         updated ,.
28839         [54f523770a05]
28840
28841         * config.h.in:
28842         added USE_GETPASS && HAVE_C2_SECURITY
28843         [86b355cb2953]
28844
28845         * configure.in:
28846         fixed a test aded --with-C2 and --with-tgetpass
28847         [abf6181588ef]
28848
28849         * check.c:
28850         added hpux C2 shit
28851         [20d4177ffa88]
28852
28853         * Makefile.in:
28854         took out tgetpass.*
28855         [cc82fd9984b4]
28856
28857         * INSTALL:
28858         added C2 blurb
28859         [1d2bfc35e4b6]
28860
28861 1994-06-13  Todd C. Miller  <Todd.Miller@courtesan.com>
28862
28863         * configure.in:
28864         no termio(s) for ultrix since it is broken
28865         [d3e82e835350]
28866
28867         * check.c:
28868         added a space (yeah, anal)
28869         [05e4b31ca68c]
28870
28871         * realpath.c, sudo_realpath.c:
28872         fixed it (duh, rtfm)
28873         [f13097cb8cb6]
28874
28875 1994-06-08  Todd C. Miller  <Todd.Miller@courtesan.com>
28876
28877         * config.h.in:
28878         took out bsd signal stuff for irix
28879         [e179cdafc97a]
28880
28881         * visudo.c:
28882         comments in #endif
28883         [e3a629190f5e]
28884
28885         * configure.in:
28886         don't define BSD signals for irix
28887         [3ce57bffb7f0]
28888
28889         * TODO:
28890         did some...
28891         [274241cd0f74]
28892
28893         * CHANGES:
28894         updated
28895         [8f29fc755faf]
28896
28897         * realpath.c, sudo_realpath.c:
28898         took out unneeded code by changing where a strings was terminated
28899         [b5564d62d30e]
28900
28901 1994-06-07  Todd C. Miller  <Todd.Miller@courtesan.com>
28902
28903         * realpath.c, sudo_realpath.c:
28904         fix bug where /dirname would return NULL
28905         [b85f470daf26]
28906
28907         * sudo.h:
28908         move __P to config.h
28909         [7763c0ff3f28]
28910
28911         * getcwd.c, getwd.c, realpath.c, sudo_realpath.c:
28912         added errno definition
28913         [4cc9d2d9782a]
28914
28915         * config.h.in:
28916         added __P
28917         [ca06f5aa58f3]
28918
28919         * config.h.in:
28920         added HAVE_FCHDIR
28921         [206d714641e0]
28922
28923         * strdup.c:
28924         now include stdio
28925         [0d8458da0e1d]
28926
28927         * realpath.c, sudo_realpath.c:
28928         now works if no fchdir
28929         [e035911b6722]
28930
28931         * visudo.c:
28932         define SA_RESETHAND to null if not defined
28933         [afec03e84342]
28934
28935         * configure.in:
28936         added check & replace
28937         [c1a65481441c]
28938
28939         * configure.in:
28940         took out -static for nextstep -- it doesn't work
28941         [fa1a1a611743]
28942
28943 1994-06-06  Todd C. Miller  <Todd.Miller@courtesan.com>
28944
28945         * logging.c:
28946         moved #endif to where it belongs
28947         [07d3a8972097]
28948
28949         * SUPPORTED:
28950         correction
28951         [0c1ecba3e5a3]
28952
28953         * configure.in:
28954         now checks for strdup realpath getcwd bzero
28955         [f029a1917515]
28956
28957         * config.h.in:
28958         emulate bzero
28959         [d792352e44a3]
28960
28961         * visudo.c:
28962         added posic signals
28963         [2ed0005f90fc]
28964
28965         * tgetpass.c:
28966         bzero cast
28967         [6d91b1a1526f]
28968
28969         * logging.c:
28970         added posix signals
28971         [67ede9c22a05]
28972
28973         * configure.in:
28974         removed BROKEN_GETPASS added new srcs toreplace missing functions
28975         [cf44274bb1c8]
28976
28977         * config.h.in:
28978         added posix signal stuff
28979         [a3c1c98fe8ef]
28980
28981         * Makefile.in:
28982         added new srcs
28983         [b6a079afee47]
28984
28985         * visudo.c:
28986         updated useag
28987         [589ed091c44f]
28988
28989         * tgetpass.c:
28990         now uses posix signals
28991         [30f74964074f]
28992
28993         * PORTING:
28994         updated sto reflect major changes
28995         [bcfc309e017b]
28996
28997         * CHANGES, TODO:
28998         updated
28999         [23aacbd54278]
29000
29001         * tgetpass.c:
29002         uses sysconf() if available
29003         [a27431c90bab]
29004
29005         * sudo.h:
29006         added PASSWORD_TIMEOUT + prototypes for new functions
29007         [d7473c2f77c4]
29008
29009         * realpath.c, sudo_realpath.c:
29010         for those w/o this in libc
29011         [1e47aa7a9d46]
29012
29013         * getcwd.c, getwd.c:
29014         Initial revision
29015         [c90dea57a84f]
29016
29017         * find_path.c:
29018         rewrote to use realpath(3) - nis now all my code
29019         [d2c3bb8fb37d]
29020
29021         * config.h.in:
29022         added HAVE_REALPATH
29023         [02c10352a8c7]
29024
29025         * check.c:
29026         now use tgetpass
29027         [b5c021fc179f]
29028
29029         * Makefile.in:
29030         added LIBOBJS use tgetpass.c
29031         [230a7b3eeaa3]
29032
29033 1994-06-05  Todd C. Miller  <Todd.Miller@courtesan.com>
29034
29035         * tgetpass.c:
29036         works now :-)
29037         [025e7a3875ba]
29038
29039         * tgetpass.c:
29040         Initial revision
29041         [3316ab33b230]
29042
29043         * pathnames.h.in:
29044         added /dev/tty
29045         [29242585e53f]
29046
29047 1994-06-04  Todd C. Miller  <Todd.Miller@courtesan.com>
29048
29049         * version.h:
29050         incremented
29051         [f2e54b48280f]
29052
29053         * sudo.c:
29054         always use getcwd
29055         [c6068e8a4029]
29056
29057         * config.h.in:
29058         added check for getwd
29059         [ab1e102ad673]
29060
29061         * configure.in:
29062         replace strdup & realpath & getcwd if missing
29063         [b0eb14f2a1c3]
29064
29065         * pathnames.h.in:
29066         added _PATH_PWD
29067         [309d2388f69a]
29068
29069         * aclocal.m4:
29070         added SUDO_PROG_PWD
29071         [e16e85deb96c]
29072
29073         * strdup.c:
29074         Initial revision
29075         [810efdc15007]
29076
29077         * realpath.c, sudo_realpath.c:
29078         Initial revision
29079         [d85eee438e09]
29080
29081 1994-06-03  Todd C. Miller  <Todd.Miller@courtesan.com>
29082
29083         * configure.in:
29084         quoted quare brackets
29085         [d0e7ca111d98]
29086
29087 1994-06-02  Todd C. Miller  <Todd.Miller@courtesan.com>
29088
29089         * sudo.c:
29090         no need to strdup() a constant
29091         [a8c44712df9a]
29092
29093         * CHANGES:
29094         updated
29095         [71364129cca0]
29096
29097         * sudo.man:
29098         added validate
29099         [0bb198095a26]
29100
29101         * sudo.c:
29102         added -v to usage
29103         [31ea71f11dbb]
29104
29105         * parse.c, sudo.c, sudo.h:
29106         added validate_only stuff
29107         [9bcd853d3c90]
29108
29109 1994-05-30  Todd C. Miller  <Todd.Miller@courtesan.com>
29110
29111         * configure.in:
29112         now finds sed
29113         [6374bb0d3f28]
29114
29115         * aclocal.m4:
29116         $OSREV is now an int
29117         [ace0666d66cf]
29118
29119 1994-05-29  Todd C. Miller  <Todd.Miller@courtesan.com>
29120
29121         * configure.in:
29122         added mtxinu to caser
29123         [73a776887b16]
29124
29125         * sudo.h:
29126         added EXEC macro
29127         [2e8eb28b710a]
29128
29129         * sudo.c:
29130         now use the EXEC nmacro now only do a gethostbyname() if FQDN is set
29131         [56afb4f658d5]
29132
29133         * logging.c:
29134         changed mail_argv[] def now use EXEC() macro
29135         [ddcabd28edb1]
29136
29137         * check.c:
29138         took out crypt() definition
29139         [0e657724cf5f]
29140
29141         * version.h:
29142         upped the version
29143         [62c5d66119fc]
29144
29145         * configure.in:
29146         always look for -lnsl
29147         [d7b594f0313b]
29148
29149         * aclocal.m4:
29150         added an echo
29151         [1caae3491dc5]
29152
29153         * sudo.h:
29154         SHORT_MESSAGE is now the default
29155         [cfce35c3119a]
29156
29157         * config.h.in:
29158         fixed typo
29159         [6499a564bf75]
29160
29161         * configure.in:
29162         added missing AC_DEFINE(SVR4) for solaris
29163         [feef0b17b94f]
29164
29165         * sudo.man:
29166         documented the -v flag
29167         [a6429f2bc2cf]
29168
29169         * SUPPORTED:
29170         updated
29171         [088886e79540]
29172
29173         * check.c:
29174         proto-ized crypt()
29175         [801e4ff5b121]
29176
29177         * config.h.in:
29178         added LIBSHADOW undef
29179         [8df588e9ee2b]
29180
29181         * configure.in:
29182         nwo set OS to be lowercase
29183         [561ebed833e4]
29184
29185 1994-05-28  Todd C. Miller  <Todd.Miller@courtesan.com>
29186
29187         * configure.in:
29188         now use SUDO_OSTYPE to set $OS
29189         [0e60aee23098]
29190
29191         * aclocal.m4:
29192         now use uname to determine os
29193         [99705e58d400]
29194
29195         * visudo.c:
29196         added prototypes & moved sig handler around
29197         [1f0bc8d23b51]
29198
29199         * sudo.h:
29200         added prototyppes
29201         [be3935a2b163]
29202
29203         * check.c, logging.c, sudo.c:
29204         added prototypes
29205         [2079b4605ab8]
29206
29207         * parse.c:
29208         added comment
29209         [a34d147d8399]
29210
29211         * config.h.in:
29212         nwo use _BSD_SIGNALS not _BSD_COMPAT
29213         [63663195f047]
29214
29215         * aixcrypt.exp:
29216         Initial revision
29217         [890aed08357e]
29218
29219         * Makefile.in:
29220         added aixcrypt.exp
29221         [1005a183105f]
29222
29223         * parse.lex, parse.yacc:
29224         moved config.h to top of includes
29225         [9569c49aa5f3]
29226
29227 1994-05-25  Todd C. Miller  <Todd.Miller@courtesan.com>
29228
29229         * find_path.c:
29230         now don't bitch if get EACCESS (treat like EPERM)
29231         [dbeffb638de4]
29232
29233         * visudo.c:
29234         added -v flag and usage()
29235         [4d44ed60ed75]
29236
29237         * version.h:
29238         fixed a typo
29239         [cf3f9347ae41]
29240
29241         * sudo.c:
29242         cast Argv to a const for exec added -v flag
29243         [d11b6efc0e45]
29244
29245         * logging.c:
29246         mail_argv is now a const
29247         [93bb5d90bb6f]
29248
29249         * configure.in:
29250         only set RETSIGTYPE if it is not set already
29251         [c97aac260b77]
29252
29253         * aclocal.m4:
29254         now defines & STDC_HEADERS for Irix
29255         [9c2b24ad1fc5]
29256
29257         * Makefile.in:
29258         added version.h
29259         [9f79e880229a]
29260
29261         * insults.h, sudo.h:
29262         prevent multiple inclusion
29263         [d68c8a9243ce]
29264
29265         * version.h:
29266         Initial revision
29267         [dbb39c5ef8d9]
29268
29269         * parse.lex, parse.yacc:
29270         now includes config.h
29271         [f117e036a56b]
29272
29273         * aclocal.m4:
29274         now talks about sunos 4.x
29275         [c9054aa92d4e]
29276
29277         * visudo.c:
29278         calls to Exit now pass an arg
29279         [a92104670551]
29280
29281 1994-05-24  Todd C. Miller  <Todd.Miller@courtesan.com>
29282
29283         * visudo.c:
29284         signal handler now takes an int argument
29285         [26f480c41523]
29286
29287         * CHANGES:
29288         updated
29289         [8c166a9d796b]
29290
29291         * sudo.c:
29292         ok, the getcwd() is now *really* done as the user
29293         [ab86cf85134a]
29294
29295         * configure.in:
29296         changed AIX STATIC_FLAGS
29297         [b9c0a3ba5663]
29298
29299         * aclocal.m4:
29300         solaris now defines SVR4
29301         [c3e20cac96f5]
29302
29303         * sudo.h:
29304         added cwd and fixed stupid core dump that makes no sense. sigh.
29305         [7a9755436dbb]
29306
29307         * sudo.c:
29308         moved getcwd stuff into load_globals
29309         [ec2bc90df1f3]
29310
29311         * parse.c:
29312         took out externs that are in suod.h
29313         [93c4b3f856d7]
29314
29315         * logging.c:
29316         moved cwd into load_globals
29317         [050de754d228]
29318
29319         * find_path.c:
29320         moved cwd stuff
29321         [22f3f3b4c34d]
29322
29323         * Makefile.in:
29324         fixed make distclean & realclean
29325         [c9964d89bcef]
29326
29327         * TODO:
29328         updated .,
29329         [e513581ef0e3]
29330
29331         * CHANGES:
29332         added solaris changes
29333         [505d930daf27]
29334
29335         * aclocal.m4:
29336         added solaris changes, need to rework
29337         [33f20fb16c49]
29338
29339         * configure.in:
29340         cleaned up for solaris
29341         [2fb8cfa05d0f]
29342
29343         * logging.c:
29344         reinstall reapchild signal handler for non-bsd signals
29345         [3d1dc545113d]
29346
29347         * sudo.h:
29348         took out getdtablesize() emulation for HP-UX (no longer needed)
29349         [1fc83d170f34]
29350
29351         * sudo.c:
29352         support for HAVE_SYSCONF
29353         [50ca2a7a224a]
29354
29355         * visudo.c:
29356         added <fcntl.h> for solaris & reorg'd the includes + minor prettying
29357         up /
29358         [0a570e826dd4]
29359
29360         * config.h.in:
29361         added HAVE_SYSCONF
29362         [2b9a9f3a4e94]
29363
29364 1994-05-16  Todd C. Miller  <Todd.Miller@courtesan.com>
29365
29366         * configure.in:
29367         now tells you what os you are running /.
29368         [06c6332a895b]
29369
29370         * aclocal.m4:
29371         took out extra ','
29372         [e8c75ce59f4a]
29373
29374 1994-05-14  Todd C. Miller  <Todd.Miller@courtesan.com>
29375
29376         * config.h.in:
29377         added _BSD_COMPAT
29378         [73c5099806c2]
29379
29380         * aclocal.m4:
29381         fixed for irix5
29382         [1047d1f6c0eb]
29383
29384         * CHANGES:
29385         updated
29386         [1bc4969fee96]
29387
29388         * sudo.c:
29389         uid seinitialized to -2
29390         [8d7812b1878b]
29391
29392 1994-04-28  Todd C. Miller  <Todd.Miller@courtesan.com>
29393
29394         * sudo.c:
29395         now removes LIBPATH for AIX
29396         [075392eb1dd9]
29397
29398 1994-03-13  Todd C. Miller  <Todd.Miller@courtesan.com>
29399
29400         * configure.in:
29401         now uses ufc if it finds it
29402         [ab6ce30a5958]
29403
29404 1994-03-12  Todd C. Miller  <Todd.Miller@courtesan.com>
29405
29406         * sudo.h:
29407         no longer define yyval & yylval since yacc does it
29408         [09d250aea50a]
29409
29410         * parse.lex:
29411         now defines yylval as extenr
29412         [8ec2b88952bc]
29413
29414         * configure.in:
29415         BROKEN_GETPASS is now an OPTION
29416         [3714f4bb8312]
29417
29418         * config.h.in:
29419         took out BROKEN_GETPASS
29420         [9c4f6aa50137]
29421
29422         * Makefile.in:
29423         took out big comment
29424         [4c13cff0e556]
29425
29426         * README:
29427         updated
29428         [b8b9902b620d]
29429
29430         * Makefile.in:
29431         took out README.beta
29432         [ed2cd861e82b]
29433
29434         * SUPPORTED:
29435         Initial revision
29436         [2fffc51e6606]
29437
29438         * INSTALL:
29439         now reference SUPPORTED .,
29440         [d112c30be1f2]
29441
29442         * config.h.in:
29443         now check for convex OR __convex__
29444         [a0e5701a3069]
29445
29446         * aclocal.m4:
29447         now check for convex or __convex__
29448         [5dae2bfbe3bc]
29449
29450         * Makefile.in:
29451         added dist target
29452         [400a54de57db]
29453
29454         * aclocal.m4:
29455         use __convex__
29456         [58a19470ed0b]
29457
29458         * find_path.c:
29459         now use _S_* stat stuff to be ansi-like
29460         [28cce560e048]
29461
29462         * INSTALL:
29463         updated for configure directions
29464         [a034ccc7c30a]
29465
29466         * Makefile.in:
29467         distclean now removes config.h and pathnames.h
29468         [300f2349b4ab]
29469
29470         * CHANGES:
29471         updated
29472         [646f7e9430c1]
29473
29474         * TODO:
29475         fixed typoe
29476         [70fd6361b2bc]
29477
29478         * visudo.c:
29479         updated version
29480         [cf13d87d789f]
29481
29482         * Makefile.in:
29483         updated version
29484         [8c5dacc27a7a]
29485
29486         * config.h.in, pathnames.h.in:
29487         added copyright header
29488         [747ce3d3d6b7]
29489
29490         * check.c, find_path.c, insults.h, logging.c, parse.c, parse.lex,
29491         parse.yacc, sudo.c, sudo.h:
29492         udpated version
29493         [4751c39bad18]
29494
29495         * visudo.c:
29496         udpated to use configure + pathnames.h
29497         [d45dff76a1cd]
29498
29499         * aclocal.m4:
29500         updated
29501         [f05a367a55be]
29502
29503         * Makefile.in, config.h.in, configure.in:
29504         updated
29505         [524778598879]
29506
29507         * sudo.h:
29508         now works with configure
29509         [83fc40e533f4]
29510
29511         * check.c, find_path.c, getpass.c, logging.c, parse.c, sudo.c:
29512         updated to work with configure + pathnames.h
29513         [cb67fa6ab52d]
29514
29515         * Makefile.in:
29516         added LEXLIB
29517         [f43cad4ab0a2]
29518
29519 1994-03-10  Todd C. Miller  <Todd.Miller@courtesan.com>
29520
29521         * COPYING:
29522         updated gnu general licence to versio 2
29523         [2b0b56112ddc]
29524
29525         * config.h.in, pathnames.h.in:
29526         Initial revision
29527         [4b586f39ec2d]
29528
29529         * sudo.h:
29530         changed to work with configure
29531         [13f3506ddf16]
29532
29533 1994-03-09  Todd C. Miller  <Todd.Miller@courtesan.com>
29534
29535         * Makefile.in, aclocal.m4, configure.in:
29536         Initial revision
29537         [a8636ae77371]
29538
29539         * visudo.c:
29540         now uses defines used by configure
29541         [de438d118993]
29542
29543 1994-03-01  Todd C. Miller  <Todd.Miller@courtesan.com>
29544
29545         * find_path.c:
29546         sudo won't bitch about EPERM now, for real
29547         [ce26d9ef7e3f]
29548
29549 1994-02-28  Todd C. Miller  <Todd.Miller@courtesan.com>
29550
29551         * logging.c:
29552         renamed exec_argv to eliminate a libc name clash with ksros
29553         [bcb4350d8411]
29554
29555         * CHANGES:
29556         corrected
29557         [dae68d422efd]
29558
29559         * logging.c, sudo.c, sudo.h:
29560         execve -> execv
29561         [40cc2c4bdb15]
29562
29563         * TODO:
29564         upated
29565         [9275a8b8fc45]
29566
29567         * PORTING:
29568         added 2 mroe items
29569         [6cbb5c56993c]
29570
29571         * CHANGES:
29572         updated
29573         [73f34f8e571a]
29574
29575         * sudo.h:
29576         added UMASK and mode_t declaration
29577         [7c2015e1d171]
29578
29579         * sudo.c:
29580         added UMASK
29581         [d37be7523680]
29582
29583         * logging.c:
29584         now opens log file with mode 077
29585         [0825cc3ee841]
29586
29587         * check.c:
29588         saved current umask ans restores it
29589         [659c1aaae8e8]
29590
29591         * sudo.h:
29592         added MAXLOGFILELEN
29593         [34331c7dee90]
29594
29595         * logging.c:
29596         split long log lines. FOr syslog, split into multiple entries, for
29597         a log file, indent the extra for readability
29598         [72c9e4cdba6e]
29599
29600 1994-02-27  Todd C. Miller  <Todd.Miller@courtesan.com>
29601
29602         * CHANGES:
29603         added changes
29604         [81196833673d]
29605
29606         * sudo.h:
29607         MAXLOGLEN & MAXSYSLOGLEN are now different (as they should be)
29608         [1aa69e903840]
29609
29610 1994-02-25  Todd C. Miller  <Todd.Miller@courtesan.com>
29611
29612         * TODO:
29613         added input from Brett M Hogden <hogden@rge.com>
29614         [80f01fc88ce9]
29615
29616 1994-02-16  Todd C. Miller  <Todd.Miller@courtesan.com>
29617
29618         * sudo.c:
29619         added rmenv() to remove stuff from environ. can now uses execvp()
29620         OR execve() becuase of this.
29621         [e7fc2535bd67]
29622
29623         * logging.c:
29624         now uses execvp() OR execve()
29625         [56391aa1f99d]
29626
29627         * sudo.h:
29628         added USE_EXECVE
29629         [f21f38050b95]
29630
29631         * sudo.h:
29632         added environ
29633         [6b805e23c6f6]
29634
29635         * find_path.c:
29636         now ignore EPERM
29637         [c8fd7117a1d7]
29638
29639         * sudo.h:
29640         moved some func decls out of sudo.h and into sudo.c as statics /.
29641         [5f555c267d27]
29642
29643         * CHANGES:
29644         updated
29645         [431f478af320]
29646
29647         * sudo.h:
29648         took out Envp
29649         [6f722be7793d]
29650
29651 1994-02-14  Todd C. Miller  <Todd.Miller@courtesan.com>
29652
29653         * BUGS:
29654         Initial revision
29655         [4a8ecf0da95c]
29656
29657 1994-02-10  Todd C. Miller  <Todd.Miller@courtesan.com>
29658
29659         * CHANGES:
29660         added SECURE_PATH
29661         [1c72cb222609]
29662
29663         * sudo.c, sudo.h:
29664         added SECURE_PATH
29665         [5bf5357a63c5]
29666
29667         * sudo.h:
29668         added SECURE_PATH
29669         [3976a74405ac]
29670
29671         * INSTALL:
29672         added sample.sudoers note
29673         [1b395d29aaeb]
29674
29675         * sudoers:
29676         Initial revision
29677         [485888d07477]
29678
29679 1994-02-09  Todd C. Miller  <Todd.Miller@courtesan.com>
29680
29681         * find_path.c:
29682         fixed typo
29683         [bfc3cc4d41ca]
29684
29685         * PORTING:
29686         took out SAVED_UID garbage
29687         [b7c2d3469661] [SUDO_1_3_0]
29688
29689         * INSTALL:
29690         mentioned HAL
29691         [253d6695df90]
29692
29693         * sudo.h:
29694         added HAL line
29695         [29ec1a4ac6de]
29696
29697         * insults.h:
29698         added HAL insults
29699         [7d7c96d77c74]
29700
29701         * TODO:
29702         updated
29703         [aa2ed9790586]
29704
29705         * logging.c:
29706         more verbose error if mailer not found
29707         [fca47fd00cb6]
29708
29709         * check.c:
29710         now do getpwent as root for soem shadow password systems (bsdi)
29711         [e0339e110d46]
29712
29713 1994-02-08  Todd C. Miller  <Todd.Miller@courtesan.com>
29714
29715         * sudo.h:
29716         took out SAVED_UID garbade
29717         [fcb0e81dcdb5]
29718
29719         * sudo.c:
29720         took out SAVED_UID garbage since it don't work
29721         [507e9513e9c2]
29722
29723 1994-02-06  Todd C. Miller  <Todd.Miller@courtesan.com>
29724
29725         * README:
29726         updated
29727         [d2b6b253dae5]
29728
29729         * insults.h:
29730         added a missing space :-)
29731         [8940ea991f87]
29732
29733         * sudo.c, sudo.h:
29734         took out multimax cruft
29735         [c2606b365181]
29736
29737         * INSTALL:
29738         minor update
29739         [05fb6ee73131]
29740
29741         * PORTING:
29742         finished
29743         [c4ac47c84dc5]
29744
29745         * sudo.c:
29746         fixed a typo + indentation
29747         [7eab40aae8fa]
29748
29749 1994-02-05  Todd C. Miller  <Todd.Miller@courtesan.com>
29750
29751         * sudo.h:
29752         took outumoved some defines to the config file ,. ,.
29753         [defff05beb52]
29754
29755         * PORTING:
29756         Initial revision
29757         [c803e9127959]
29758
29759         * TODO:
29760         did #6
29761         [c6fa1c946c31]
29762
29763         * sudo.h:
29764         added HAS_SAVED_UID
29765         [6a88a39c0a07]
29766
29767         * sudo.c:
29768         put back AIX cruft
29769         [a24d2507ddd4]
29770
29771 1994-02-03  Todd C. Miller  <Todd.Miller@courtesan.com>
29772
29773         * sudo.c:
29774         aix changes
29775         [1663915f754a]
29776
29777 1994-02-02  Todd C. Miller  <Todd.Miller@courtesan.com>
29778
29779         * CHANGES:
29780         updated
29781         [a8cc73747cae]
29782
29783         * check.c, logging.c, parse.c, sudo.c, sudo.h:
29784         now is only root when abs necesary
29785         [3c9d12c5cdfe]
29786
29787         * check.c:
29788         added missing %s\n
29789         [609320b72d89]
29790
29791 1994-01-31  Todd C. Miller  <Todd.Miller@courtesan.com>
29792
29793         * install-sh:
29794         Initial revision
29795         [b5bba140a175]
29796
29797         * TODO:
29798         updated
29799         [c9d2eba602af]
29800
29801         * CHANGES:
29802         updated
29803         [932f1fc3bb14]
29804
29805         * sudo.c:
29806         now removed _RLD_* for alphas
29807         [54a36e648158]
29808
29809         * INSTALL:
29810         updated for new config scheme
29811         [61c8ae800444]
29812
29813         * find_path.c:
29814         more verbose eror messages
29815         [b4fd123db42d]
29816
29817 1994-01-27  Todd C. Miller  <Todd.Miller@courtesan.com>
29818
29819         * TODO:
29820         now have solaris
29821         [371002fbf266]
29822
29823         * sudo.h:
29824         define __svr4__ for SOLARIS
29825         [0b5cf5ed936d]
29826
29827         * check.c:
29828         added svr4 junk for shadow pws for solaris 2.x
29829         [91ed58f21618]
29830
29831         * check.c, sudo.c:
29832         took out setuid(0) and setreuid(udi) garbage. Its not needed since
29833         we start out setuid with the correct perms.
29834         [07689e782b0b]
29835
29836         * check.c, sudo.c, sudo.h:
29837         now use setreuid()
29838         [7d64d685d78e]
29839
29840 1994-01-26  Todd C. Miller  <Todd.Miller@courtesan.com>
29841
29842         * sudo.man:
29843         revised AUTHORS secrtion & added ENV_EDITOR stuff to VARIABLES
29844         sectoin
29845         [b26967b1e19b]
29846
29847         * visudo.c:
29848         now uses ENV_EDITOR if you want to use the EDITOR envar
29849         [a4f8fcb9bd1d]
29850
29851         * sudo.h:
29852         now uses ENV_EDITOR if you want to use the EDITOR envar >> .
29853         [028cc55c4328]
29854
29855 1993-12-07  Todd C. Miller  <Todd.Miller@courtesan.com>
29856
29857         * INSTALL:
29858         rewrote most of this
29859         [a6750923f9c9]
29860
29861         * README:
29862         minor update + spell fix
29863         [a411717a7249]
29864
29865         * sudo.h:
29866         added all options that are in the Makefile
29867         [6db3b3b841b3]
29868
29869         * getpass.c:
29870         now use USE_TERMIO #define for sgi & hpux
29871         [b91f89ae6be1]
29872
29873         * TODO:
29874         todo: posix sigs
29875         [4548a56eb2ef]
29876
29877 1993-12-06  Todd C. Miller  <Todd.Miller@courtesan.com>
29878
29879         * check.c, find_path.c:
29880         always include strings.h
29881         [1fc20bda92c0]
29882
29883         * visudo.c:
29884         added STATICEDITOR
29885         [0596f820716e]
29886
29887         * sudo.h:
29888         sgi has vi in /usr/bin too
29889         [94203b62bfd9]
29890
29891         * sudo.man:
29892         added VISUAL
29893         [87c2844c4cac]
29894
29895 1993-12-03  Todd C. Miller  <Todd.Miller@courtesan.com>
29896
29897         * sudo.h:
29898         sue /usr/bin/vi on some systems
29899         [e3ad9190f35e]
29900
29901         * sudo.c:
29902         fixed warning (include strings.h)
29903         [0b896de4d8a0]
29904
29905         * sudo.man:
29906         added John_Rouillard@dl5000.bc.edu's changes (new features)
29907         [f41b4205a8cf]
29908
29909         * CHANGES:
29910         changes from John_Rouillard@dl5000.bc.edu
29911         [6bdef8e948d5]
29912
29913         * visudo.c:
29914         added EDITOR envar
29915         [5c4bf716de21]
29916
29917         * check.c, find_path.c, parse.c, sudo.c:
29918         added patches from John_Rouillard directory spec
29919         uses EDITOR
29920         [f62a435f8c41]
29921
29922 1993-12-02  Todd C. Miller  <Todd.Miller@courtesan.com>
29923
29924         * getpass.c:
29925         added flush for hpux
29926         [07cfdd6a7b55]
29927
29928 1993-11-30  Todd C. Miller  <Todd.Miller@courtesan.com>
29929
29930         * sudo.c:
29931         no longer assume malloc returns a char *
29932         [7480bd2756f3]
29933
29934         * sudo.c:
29935         alpha change to remove LD_-like thing fixed SHLIB_PATH stuff -- now
29936         gets removed correctly
29937         [8587166c6ac8]
29938
29939         * sudo.h:
29940         added STD_HEADERS macro
29941         [480f5a9a516c]
29942
29943         * sudo.c:
29944         now uses STD_HEADERS macor for ansi
29945         [c5018806fd59]
29946
29947         * find_path.c:
29948         now uses STD_HEADERS macro
29949         [ad821e0788ea]
29950
29951         * check.c:
29952         niceties for C compiler bitches -- no real change
29953         [0fc0b1a5fb64]
29954
29955 1993-11-29  Todd C. Miller  <Todd.Miller@courtesan.com>
29956
29957         * visudo.c:
29958         now doesn't fclose a file never opened.
29959         [ee888ec9427d]
29960
29961 1993-11-28  Todd C. Miller  <Todd.Miller@courtesan.com>
29962
29963         * sudo.man:
29964         added visudo line
29965         [698d51c66407]
29966
29967         * sudo.man:
29968         added error stuff added me in there...
29969         [d202fd34b906]
29970
29971         * CHANGES:
29972         noted insults
29973         [998a22c2230c]
29974
29975         * INSTALL:
29976         added blurb about reading stuff
29977         [e71db100798f]
29978
29979         * sudo.h:
29980         added insults
29981         [c110431cec56]
29982
29983         * insults.h:
29984         corrected somments and removed newlines
29985         [493706fd488c]
29986
29987         * check.c:
29988         now uses insults
29989         [6d23cf06a0ef]
29990
29991         * insults.h:
29992         Initial revision
29993         [83153c26b4a3]
29994
29995         * INSTALL:
29996         added dec syslog note
29997         [555437273237]
29998
29999         * sample.sudoers:
30000         added real stuff in there
30001         [53442a7fba78]
30002
30003         * TODO:
30004         added a todo
30005         [c630472bd4dc]
30006
30007         * TODO:
30008         added one
30009         [806464453284]
30010
30011 1993-11-27  Todd C. Miller  <Todd.Miller@courtesan.com>
30012
30013         * sample.sudoers:
30014         Initial revision
30015         [7db0a9f1ca8f]
30016
30017         * sudo.man:
30018         updated with changes
30019         [d9bf254c6c08]
30020
30021         * sudo.man:
30022         Initial revision
30023         [dd6f11174ac6]
30024
30025         * indent.pro:
30026         Initial revision
30027         [dbfbb494fad9]
30028
30029         * CHANGES, COPYING, INSTALL, README, TODO:
30030         Initial revision
30031         [6d98f489a079]
30032
30033         * visudo.c:
30034         updated version number and took out jeff's old addr since it is no
30035         good
30036         [ee47c24818cb]
30037
30038         * check.c, find_path.c, logging.c, parse.c, parse.lex, parse.yacc,
30039         sudo.c, sudo.h:
30040         updated version number and took out jeff's email (since it is
30041         invalid)
30042         [54616458a52e]
30043
30044 1993-10-28  Todd C. Miller  <Todd.Miller@courtesan.com>
30045
30046         * check.c:
30047         added fflush()
30048         [145c881f4fb4]
30049
30050 1993-10-23  Todd C. Miller  <Todd.Miller@courtesan.com>
30051
30052         * find_path.c:
30053         now return NULL instead pf\b\bof exiting for nopn\b\bn-fatal errors
30054         [8bc74f8cb1ae]
30055
30056 1993-10-21  Todd C. Miller  <Todd.Miller@courtesan.com>
30057
30058         * check.c:
30059         new banner
30060         [5387ab2af516]
30061
30062         * parse.lex:
30063         now sudo.h gets included first
30064         [2acb01c18e18]
30065
30066 1993-10-18  Todd C. Miller  <Todd.Miller@courtesan.com>
30067
30068         * parse.lex:
30069         now can use flex
30070         [164d3839adf0]
30071
30072         * sudo.h:
30073         linux patch
30074         [f1b6b1b1a2ca]
30075
30076         * sudo.c:
30077         hpux 9 fix, removes SHLIB_PATH linux patch
30078         [67611dc1737f]
30079
30080         * check.c:
30081         linux diff
30082         [c24536682397]
30083
30084 1993-10-15  Todd C. Miller  <Todd.Miller@courtesan.com>
30085
30086         * find_path.c:
30087         stat now ignores EINVAL
30088         [c7761a5dc642]
30089
30090 1993-10-06  Todd C. Miller  <Todd.Miller@courtesan.com>
30091
30092         * find_path.c, sudo.c:
30093         now declare strdup as extern
30094         [6b7d6f8784b5]
30095
30096 1993-10-04  Todd C. Miller  <Todd.Miller@courtesan.com>
30097
30098         * visudo.c:
30099         reformatted with indent + by hand
30100         [9d43084e4990]
30101
30102         * check.c, find_path.c, getpass.c, logging.c, parse.c, sudo.c, sudo.h:
30103         used indent to "fix" coding style
30104         [489ffacbdc70]
30105
30106         * find_path.c:
30107         now checks '.' or '.' or '' in PATH -- but does it LAST should maybe
30108         move the code that does this into the loop body. makes it messier
30109         tho. hmmm.
30110         [c4d22b48da9a]
30111
30112 1993-09-08  Todd C. Miller  <Todd.Miller@courtesan.com>
30113
30114         * find_path.c:
30115         redid the fix for non-executable files in an easier to read way plus
30116         some minor aethetic changes
30117         [84fe337f1426]
30118
30119         * find_path.c:
30120         fixed bug with non-executable tings of same name in path introduced
30121         by checkig errno after stat(2).
30122         [c2a812cfcbc1]
30123
30124 1993-09-05  Todd C. Miller  <Todd.Miller@courtesan.com>
30125
30126         * sudo.c:
30127         fixed off by one error
30128         [fabb7cee0041]
30129
30130         * find_path.c:
30131         now handles decending below '/' correctly
30132         [5d2ddfc0b220]
30133
30134         * sudo.c:
30135         now actually builds Envp instead of munging envp
30136         [bdc4b08f6898]
30137
30138 1993-09-04  Todd C. Miller  <Todd.Miller@courtesan.com>
30139
30140         * parse.yacc:
30141         now includes sys/param.h
30142         [efbb494ab4de]
30143
30144         * visudo.c:
30145         now includes sys/param.h
30146         [ad6c91d59958]
30147
30148         * sudo.h:
30149         fixed ifndef -> ifdef
30150         [7aebe822d863]
30151
30152         * qualify.c:
30153         make more like find_path.c
30154         [853b2dab2e03]
30155
30156         * find_path.c:
30157         rewritten by millert
30158         [c6a043cc11b3]
30159
30160         * sudo.h:
30161         fixed MAXCOMMANDLENGTH now uses USE_CWD and NEED_STRDUP added info
30162         about new defines in the comment
30163         [39ffefce3aec]
30164
30165         * logging.c:
30166         now uses USE_CWD
30167         [fa0f3b118bb3]
30168
30169         * sudo.h:
30170         added delc for clean_envp() and Envp
30171         [a12034e300c2]
30172
30173         * sudo.c:
30174         now rips LD_* env vars out of envp and passed sanitized Envp to exec
30175         [d201a218e056]
30176
30177         * logging.c:
30178         now uses execve()
30179         [f3e01032cd33]
30180
30181         * find_path.c:
30182         ENOTDIR is ok now too (in case part of the path is bogus)
30183         [b5cbbb201bb5]
30184
30185         * qualify.c:
30186         now works correctly (ttaltotal rewrite)
30187         [0c25d64a5c68]
30188
30189         * parse.lex:
30190         now includes sys/param.h didn't match trailing / -- fix from
30191         rouilj@cs.umb.edu
30192         [b6363ba110af]
30193
30194 1993-06-11  Todd C. Miller  <Todd.Miller@courtesan.com>
30195
30196         * sudo.c:
30197         moved around the #ifndef _AIX
30198         [7d4330950c20]
30199
30200         * check.c, logging.c, parse.c:
30201         Initial revision
30202         [c101e9572d7f]
30203
30204 1993-03-20  Todd C. Miller  <Todd.Miller@courtesan.com>
30205
30206         * qualify.c:
30207         Initial revision
30208         [5a5f21d0e0bf]
30209
30210 1993-03-13  Todd C. Miller  <Todd.Miller@courtesan.com>
30211
30212         * find_path.c:
30213         now works if you do sudo bin/test
30214         [07835120ce43]
30215
30216         * find_path.c:
30217         works
30218         [c3da8b5efa20]
30219
30220 1993-03-02  Todd C. Miller  <Todd.Miller@courtesan.com>
30221
30222         * sudo.h:
30223         Initial revision
30224         [28a1caa38b72]
30225
30226         * visudo.c:
30227         Initial revision
30228         [0e5cd7c3cdbe]
30229
30230         * parse.lex, parse.yacc:
30231         Initial revision
30232         [5f2d0cccb06b]
30233
30234 1993-02-16  Todd C. Miller  <Todd.Miller@courtesan.com>
30235
30236         * sudo.c:
30237         took out errno.h
30238         [7466431a2655]
30239
30240         * sudo.c:
30241         now spews error if exec fails and exits with -1
30242         [e5c41ea725c1]
30243
30244         * sudo.c:
30245         Initial revision
30246         [8aeabe39a0c2]
30247
30248         * find_path.c:
30249         now only execs files with (an) executable bit set.
30250         [0a451f9c0e58]
30251
30252         * find_path.c:
30253         Initial revision
30254         [02a534891a35]
30255
30256 1993-02-15  Todd C. Miller  <Todd.Miller@courtesan.com>
30257
30258         * getpass.c:
30259         added nice comment
30260         [ea8b2aaa9389]
30261
30262         * getpass.c:
30263         now works on sgi's
30264         [bf2b7c6d0960]
30265
30266         * getpass.c:
30267         Initial revision
30268         [9f4de251c1b5]
30269