Imported Upstream version 1.8.2
[debian/sudo] / ChangeLog
1 2011-08-17  Todd C. Miller  <Todd.Miller@courtesan.com>
2
3         * plugins/sudoers/po/sudoers.pot:
4         Regen pot files
5         [3682e51af1d0] [tip] <1.8>
6
7         * Makefile.in:
8         Fix logic inversion in pot file up to date check.
9         [343dbbca9422] <1.8>
10
11         * doc/sudo.cat, doc/sudo.man.in, doc/sudoers.cat,
12         doc/sudoers.ldap.cat, doc/sudoers.ldap.man.in, doc/sudoers.man.in,
13         doc/visudo.cat, doc/visudo.man.in:
14         regen docs
15         [96234478bde2] <1.8>
16
17 2011-08-15  Todd C. Miller  <Todd.Miller@courtesan.com>
18
19         * configure, configure.in:
20         Add caching for gettext() checks.
21         [4039d21424c3] <1.8>
22
23         * configure, configure.in:
24         Better handling of libintl header and library mismatch.
25         [cc9faee8e486] <1.8>
26
27 2011-08-14  Todd C. Miller  <Todd.Miller@courtesan.com>
28
29         * NEWS:
30         sync
31         [73649a44d934] <1.8>
32
33 2011-08-13  Todd C. Miller  <Todd.Miller@courtesan.com>
34
35         * Also check sudoers gid if sudoers is group writable.
36         [3d345347f6ac] <1.8>
37
38         * NEWS:
39         Update for 1.8.2 final
40         [441c22fea363] <1.8>
41
42 2011-08-12  Todd C. Miller  <Todd.Miller@courtesan.com>
43
44         * configure, configure.in:
45         If dlopen is present but libtool doesn't find it, error out since it
46         probably means that libtool doesn't support the system.
47         [6fc7c0de4f6d] <1.8>
48
49         * configure args on the command line should override builtin defaults.
50         Disable NLS for non-Linux/Solaris unless explicitly enabled.
51         [0ef165f892c2] <1.8>
52
53         * Fix loop that calls authenticate(). If there was an error message
54         from authenticate(), display it.
55         [f0686011ff2e] <1.8>
56
57 2011-08-11  Todd C. Miller  <Todd.Miller@courtesan.com>
58
59         * configure, configure.in:
60         Update to autoconf 2.68 and libtool 2.4
61         [00df5f3647e1] <1.8>
62
63         * Fix typo; OPT should be OTP
64         [31da1f989740] <1.8>
65
66         * Rename libsudoers convenience library to libparsesudoers to avoid
67         libtool confusion.
68         [e9ae9d611dd5] <1.8>
69
70 2011-08-10  Todd C. Miller  <Todd.Miller@courtesan.com>
71
72         * Add Danish sudoers translation from translationproject.org
73         [fa9cd9758249] <1.8>
74
75         * Add dedicated callback function for runas_default sudoers setting
76         that only sets runas_pw if no runas user or group was specified by
77         the user.
78         [3fb4b18525de] <1.8>
79
80 2011-08-09  Todd C. Miller  <Todd.Miller@courtesan.com>
81
82         * Update Finish, Polish, Russian and Ukrainian translations from
83         translationproject.org.
84         [0fcd8f6aff0a] <1.8>
85
86         * Makefile.in:
87         Go back to using a callback for runas_default to keep runas_pw in
88         sync. This is needed to make per-entry runas_default settings work
89         with LDAP-based sudoers. Instead of declaring it a callback in
90         def_data.in, sudo and testsudoers poke sudo_defs_table[] which is a
91         bit naughty, but avoids requiring stub functions in visudo and the
92         tests.
93         [4e8e70832f06] <1.8>
94
95 2011-08-05  Todd C. Miller  <Todd.Miller@courtesan.com>
96
97         * plugins/sudoers/po/sudoers.pot, src/po/sudo.pot:
98         Regen pot files
99         [ca5c58c599a6] <1.8>
100
101         * Makefile.in:
102         Add check for out of date message catalogs when doing "make dist".
103         [36414e5c762b] <1.8>
104
105 2011-08-02  Todd C. Miller  <Todd.Miller@courtesan.com>
106
107         * configure, configure.in:
108         Make sure compiler supports static-libgcc before using it.
109         [6c98e8809291] <1.8>
110
111 2011-08-01  Todd C. Miller  <Todd.Miller@courtesan.com>
112
113         * Link libsudo_noexec.la with LDLDFLAGS for -static-libgcc
114         [a0a3a3fa6470] <1.8>
115
116 2011-07-30  Todd C. Miller  <Todd.Miller@courtesan.com>
117
118         * Add new Russian sudo translation from translationproject.org and
119         rebuild the other translation files.
120         [e953d7d1ca6d] <1.8>
121
122 2011-07-29  Todd C. Miller  <Todd.Miller@courtesan.com>
123
124         * Update Finish and Polish translations from translationproject.org
125         [17e408d73c85] <1.8>
126
127         * Go back to escaping the command args for "sudo -i" and "sudo -s"
128         before calling the plugin. Otherwise, spaces in the command args
129         are not treated properly. The sudoers plugin will unescape non-
130         spaces to make matching easier.
131         [f666191a4e80] <1.8>
132
133 2011-07-28  Todd C. Miller  <Todd.Miller@courtesan.com>
134
135         * Fix some potential problems found by the clang static analyzer, none
136         serious.
137         [c1ab4b940980] <1.8>
138
139         * Updated Ukranian and Chinese (simplified) po files from
140         translationproject.org
141         [792a66672715] <1.8>
142
143 2011-07-27  Todd C. Miller  <Todd.Miller@courtesan.com>
144
145         * Updated Polish translation from translationproject.org
146         [5f434cc04482] <1.8>
147
148         * plugins/sudoers/po/sudoers.pot, src/po/sudo.pot:
149         Rebuild pot files
150         [639230dbd741] <1.8>
151
152         * Don't try to audit failure if the runas user does not exist. We
153         don't have the user's command at this point so there is nothing to
154         audit. Add a NULL check in audit_success() and audit_failure() just
155         to be on the safe side.
156         [2bfb96a32b00] <1.8>
157
158         * Add -g to CFLAG for PIE builds.
159         [e4c94977ca4e] <1.8>
160
161 2011-07-25  Todd C. Miller  <Todd.Miller@courtesan.com>
162
163         * Remove fallback to per-group lookup when matching groups in sudoers.
164         The sudo front-end will now use getgrouplist() to get the user's
165         list of groups if getgroups() fails or returns zero groups so we
166         always have a list of the user's groups. For systems with
167         mbr_check_membership() which support more that NGROUPS_MAX groups
168         (Mac OS X), skip the call to getgroups() and use getgrouplist() so
169         we get all the groups.
170         [168d6d4a386b] <1.8>
171
172 2011-07-22  Todd C. Miller  <Todd.Miller@courtesan.com>
173
174         * Fix setgroups() fallback code on EINVAL.
175         [dd1310945ab3] <1.8>
176
177         * Fix two PERM_INITIAL cases that were still using user_gids.
178         [d497d0d47a23] <1.8>
179
180         * Add Polish sudo message catalog
181         [1a0aa3f9f179] <1.8>
182
183         * user_group is no longer used, remove it
184         [379185a76094] <1.8>
185
186 2011-07-21  Todd C. Miller  <Todd.Miller@courtesan.com>
187
188         * Add Polish translation from translationproject.org
189         [2e7cdfe4ef41] <1.8>
190
191         * Add a wrapper for setgroups() that trims off extra groups and
192         retries if setgroups() fails. Also add some missing addrefs for
193         PERM_USER and PERM_FULL_USER.
194         [bacb4170a510] <1.8>
195
196         * configure, configure.in:
197         Instead of keeping separate groups and gids arrays, create struct
198         group_info and use it to store both, along with a count for each.
199         Cache group info on a per-user basis using getgrouplist() to get the
200         groups. We no longer need special to special case the user or list
201         user for user_in_group() and thus no longer need to reset the groups
202         list when listing another user.
203         [f1d8962821a0] <1.8>
204
205         * Don't rely on NULL since we don't include a header for it.
206         [ed46286f848b] <1.8>
207
208         * Fix typo
209         [a38b8fbb0e70] <1.8>
210
211         * Do not shadow global sudo_mode with a local variable in set_cmnd()
212         [8e462ebafea4] <1.8>
213
214 2011-07-17  Todd C. Miller  <Todd.Miller@courtesan.com>
215
216         * bash 2.x doesd not support the -l flag and exits with an error if it
217         is specified so use --login instead. This causes an error with bash
218         1.x (which uses -login instead) but this version is hopefully less
219         used than 2.x.
220         [73020a67b9d5] <1.8>
221
222         * Add Polish translation from translationproject.org
223         [8cac0da9ffb1] <1.8>
224
225 2011-07-13  Todd C. Miller  <Todd.Miller@courtesan.com>
226
227         * Make error strings translatable.
228         [d1ff594f27b5] <1.8>
229
230         * Only run configure with --with-pam-login for RHEL 5 and above.
231         [2f1a0ff5230e] <1.8>
232
233         * Fix typo in summary
234         [1e1d7dcae9ab] <1.8>
235
236 2011-07-11  Todd C. Miller  <Todd.Miller@courtesan.com>
237
238         * Add missing logwrap.c
239         [abcd28c194d2] <1.8>
240
241         * Split out log file word wrap code into its own file and add unit
242         tests. Fixes an off-by one in the word wrap when the log line
243         length matches loglinelen.
244         [0ae1c7aa9ef1] <1.8>
245
246 2011-07-05  Todd C. Miller  <Todd.Miller@courtesan.com>
247
248         * For SuSE, only use /usr/lib64 as libexec if generating 64-bit
249         binaries.
250         [4448fa1c639f] <1.8>
251
252         * Fix build error when --without-noexec configure option is used.
253         [f6bfd748ae45] <1.8>
254
255         * configure, configure.in:
256         Disable noexec for AIX < 5. LDR_PRELOAD is only available in AIX
257         5.3 and above.
258         [9d957ae1840d] <1.8>
259
260 2011-07-03  Todd C. Miller  <Todd.Miller@courtesan.com>
261
262         * NEWS, doc/UPGRADE:
263         Document group lookup change and possible side effects.
264         [fe4b2d2701b2] <1.8>
265
266 2011-07-01  Todd C. Miller  <Todd.Miller@courtesan.com>
267
268         * Resolve the list of gids passed in from the sudo frontend (the
269         result of getgroups()) to names and store both the group names and
270         ids in the sudo_user struct. When matching groups in the sudoers
271         file, match based on the names in the groups list first and only do
272         a gid-based match when we absolutely have to. By matching on the
273         group name (as it is listed in sudoers) instead of id (which we
274         would have to resolve) we save a lot of group lookups for sudoers
275         files with a lot of groups in them.
276         [c10d208bd7e5] <1.8>
277
278 2011-06-29  Todd C. Miller  <Todd.Miller@courtesan.com>
279
280         * NEWS:
281         Update for 1.8.2rc5
282         [f6a3aa2edf7a] <1.8>
283
284 2011-06-26  Todd C. Miller  <Todd.Miller@courtesan.com>
285
286         * Workaround for "sudo -i command" and newer versions of bash which
287         don't go into login mode when -c is specified unless -l is too.
288         [381e74d35006] <1.8>
289
290 2011-06-23  Todd C. Miller  <Todd.Miller@courtesan.com>
291
292         * Rewrite logfile word wrapping code to be more straight-forward and
293         actually wrap at the correct place.
294         [8a7862d6a82f] <1.8>
295
296 2011-06-22  Todd C. Miller  <Todd.Miller@courtesan.com>
297
298         * NEWS:
299         Fix typo
300         [2456ad2ad3e3] <1.8>
301
302         * NEWS:
303         Mention use_pty bug fix
304         [f4eab5193452] <1.8>
305
306         * Set use_pty=true in command details when use_pty is set in sudoers.
307         From Ludwig Nussel
308         [abaafc5793d9] <1.8>
309
310 2011-06-20  Todd C. Miller  <Todd.Miller@courtesan.com>
311
312         * Sync Chinese (simplified) PO files from translationproject.org
313         [a4cf84dd9ddf] <1.8>
314
315 2011-06-18  Todd C. Miller  <Todd.Miller@courtesan.com>
316
317         * Add Danish translation from translationproject.org and add missing
318         Basque mo files.
319         [672b88adcc34] <1.8>
320
321         * Makefile.in, configure, configure.in:
322         No longer need to specify LINGUAS in configure, "make install-nls"
323         now just installs all the .mo files it finds.
324         [c226a39ece48] <1.8>
325
326 2011-06-17  Todd C. Miller  <Todd.Miller@courtesan.com>
327
328         * Build CONTRIBUTORS from newly-added contributors.pod
329         [b8871dd293ff] <1.8>
330
331         * Rework the wording in the leading paragraph
332         [d8b081dedeb3] <1.8>
333
334 2011-06-16  Todd C. Miller  <Todd.Miller@courtesan.com>
335
336         * Add a CONTRIBUTORS file with the names of folks who have contributed
337         code or patches to sudo since I started maintaining it (plus the
338         original authors).
339         [8b064e8996af] <1.8>
340
341 2011-06-13  Todd C. Miller  <Todd.Miller@courtesan.com>
342
343         * Preserve SHELL variable for "sudo -s". Otherwise we can end up with
344         a situation where the SHELL variable and the actual shell being run
345         do not match.
346         [8f5bb61a8b76] <1.8>
347
348 2011-06-10  Todd C. Miller  <Todd.Miller@courtesan.com>
349
350         * configure, configure.in:
351         Only enable Solaris project support when setproject() is present in
352         libproject.
353         [bf370ff3c194] <1.8>
354
355         * Explicitly set mode and owner of /etc/sudoers instead of relying on
356         "cp -p" to work in the postinstall script. On AIX 6.1 at least the
357         postinstall script runs before the final file permissions are set.
358         [7a4a87405349] <1.8>
359
360         * Refer the user to the "Command Environment" section in description
361         of sudo's -i option.
362         [1a063eaf9670] <1.8>
363
364         * Fix typo
365         [442c50370c44] <1.8>
366
367         * If there is no old dependency for an object file, use the MANIFEST
368         to find its source.
369         [d95c77ad283f] <1.8>
370
371         * Remove dependency for getgrouplist.lo as we don't ship that source
372         file.
373         [bbede77e6256] <1.8>
374
375         * Do not declare yyparse() static as the actual function generated by
376         yacc is extern.
377         [8e615bd15a4c] <1.8>
378
379         * Makefile.in:
380         Remove locale files in "make uninstall"
381         [9791be90d5ac] <1.8>
382
383 2011-06-06  Todd C. Miller  <Todd.Miller@courtesan.com>
384
385         * configure.in:
386         Add Basque translation and sync Finish and Ukranian translations.
387         [64af34789164] <1.8>
388
389         * NEWS:
390         Update PAM change to reflect latest checkin.
391         [657cddf2077a] <1.8>
392
393         * configure, configure.in:
394         FreeBSD no longer needs the main sudo binary to link with -lpam now
395         that plug-ins are loaded with RTLD_GLOBAL.
396         [573a6f4b29af] <1.8>
397
398         * Load plugins with RTLD_GLOBAL instead of RTLD_LOCAL. This fixes
399         problems with pam modules not having access to symbols provided by
400         libpam on some platforms. Affects FreeBSD and SLES 10 at least.
401         [4ec864fdba46] <1.8>
402
403         * Makefile.in:
404         Move xgettext invocation out of update-po target into update-pot
405         [421ac1a073ea] <1.8>
406
407 2011-06-04  Todd C. Miller  <Todd.Miller@courtesan.com>
408
409         * plugins/sudoers/po/sudoers.pot, src/po/sudo.pot:
410         Regenerate .pot files for 1.8.2rc2
411         [d2a891e3d3dd] <1.8>
412
413         * Makefile.in:
414         Move nls targets to the top level Makefile so the paths in the pot
415         file are saner
416         [6c256cb77f78] <1.8>
417
418         * NEWS:
419         Update 1.8.2 news
420         [17bd04278b04] <1.8>
421
422         * Add compiled version of sudo Finish translation
423         [ff9d20a02aa0] <1.8>
424
425         * Update MANIFEST with .po and .mo files Rebuild sudoers fi and uk .mo
426         files
427         [60c4f3b3829c] <1.8>
428
429         * configure, configure.in:
430         Add Finish translation from translationproject.org
431         [ade788a35521] <1.8>
432
433         * The group named by exempt_group should not have a % prefix.
434         [1f74c691c1e1] <1.8>
435
436         * Fix typo; "Defaults group_plugin" not "Defaults sudo_plugin"
437         [58d36c0e76f9] <1.8>
438
439         * Fix compressed io log corruption in background mode by using _exit()
440         instead of exit() to avoid flushing buffers twice.
441
442         Improved background mode support. When not allocating a pty, the
443         command is run in its own process group. This prevents write access
444         to the tty. When running in a pty, stdin is not hooked up and we
445         never read from /dev/tty, which results in similar behavior.
446         [fe50d6a5c5b9] <1.8>
447
448 2011-05-31  Todd C. Miller  <Todd.Miller@courtesan.com>
449
450         * Clean up regress files Generate proper dependencies for regress objs
451         in compat
452         [264196584549] <1.8>
453
454         * Add missing dependency for check_fill.o.
455         [c41f4e6ff078] <1.8>
456
457 2011-05-30  Todd C. Miller  <Todd.Miller@courtesan.com>
458
459         * INSTALL, configure, configure.in:
460         Add support for --enable-nls[=location]
461         [0ea8e7bd1739] <1.8>
462
463 2011-05-28  Todd C. Miller  <Todd.Miller@courtesan.com>
464
465         * Include gettext.h
466         [fe8bab6403c6] <1.8>
467
468         * Quiet gcc warnings.
469         [aa16d09710a7] <1.8>
470
471         * configure, configure.in:
472         Don't install .mo files if gettext was not found.
473         [c6b233e829aa] <1.8>
474
475 2011-05-27  Todd C. Miller  <Todd.Miller@courtesan.com>
476
477         * Always allocate a pty when running a command in the background but
478         call setsid() after forking to make sure we don't end up with a
479         controlling tty.
480         [77c6b2923714] <1.8>
481
482         * Add missing space between command name and the first command line
483         argument.
484         [d0a36b9c0f38] <1.8>
485
486         * Quiet a compiler warning on some platforms.
487         [654e76cf0574] <1.8>
488
489         * README file that directs people to translationproject.org
490         [5545e9a5ae37] <1.8>
491
492         * Sync translations with TP
493         [b054ce577022] <1.8>
494
495         * Makefile.in:
496         Add 'sync-po' target to top-level Makefile to rsync the po files
497         from translationproject.org.
498         [87a5011b0410] <1.8>
499
500         * install nls files from install target
501         [a3feba9ef323] <1.8>
502
503         * Makefile.in:
504         Include .mo files in sudo binary packags.
505         [bc3ee7e7fb44] <1.8>
506
507         * configure, configure.in:
508         Add simplified chinese translation
509         [c22e6842c766] <1.8>
510
511 2011-05-26  Todd C. Miller  <Todd.Miller@courtesan.com>
512
513         * configure, configure.in:
514         Add ukranian translation
515         [0bb9e6437f0f] <1.8>
516
517         * refer to siglist.c, not ./siglist.c since not all makes will treat
518         foo and ./foo the same.
519         [909051ff6061] <1.8>
520
521         * Set def_preserve_groups before searching for the command when the -P
522         flag is specified.
523         [08e9378f50e4] <1.8>
524
525         * Makefile.in:
526         Add dependency for siglist.lo in compat. This is a generated file
527         so "make depend" needs to depend on it.
528         [e6c0daf36af0] <1.8>
529
530         * More dependency fixes.
531         [7fed03624689] <1.8>
532
533         * Fix a few dependencies.
534         [7cb86c721961] <1.8>
535
536         * Place compiled mo files in the src dir, not the build dir. When
537         installing compiled mo files, display a status message.
538         [b87aa18a9968] <1.8>
539
540 2011-05-25  Todd C. Miller  <Todd.Miller@courtesan.com>
541
542         * Tivoli Directory Server requires that seconds be present in a
543         timestamp, even though RFC 4517 states that they are optional.
544         [47ebf110ea7a] <1.8>
545
546         * Add missing bit of copyright
547         [d05d28a91bc4] <1.8>
548
549         * Mention cycle detection warnings
550         [ee8231aa1aed] <1.8>
551
552         * When checking aliases, also check the contents of the alias in case
553         there are problems with an alias that is referenced inside another.
554         Replace the self reference check with real alias cycle detection.
555         [abcfe1bc95d8] <1.8>
556
557         * Set errno to ELOOP in alias_find() if there is a cycle. Set errno to
558         ENOENT in alias_find() and alias_remove() if the entry could not be
559         found.
560         [e73d169f4e9b] <1.8>
561
562         * Increment alias_seqno before calls to alias_remove_recursive() to
563         avoid false positives with the alias loop detection. Fixes spurious
564         warnings about unused aliases when they are nested.
565         [ac094820ef19] <1.8>
566
567         * add mkdep.pl
568         [3721e9654ba6] <1.8>
569
570         * Add dependency on convenience libs to binaries
571         [8a4db8226dfe] <1.8>
572
573         * Makefile.in:
574         mkdep.pl only works when run from the src dir
575         [2480427a0680] <1.8>
576
577         * Makefile.in:
578         Auto-generate Makefile dependencies with a perl script.
579         [ef5f56907d97] <1.8>
580
581 2011-05-23  Todd C. Miller  <Todd.Miller@courtesan.com>
582
583         * If the user specifies a runas group via sudo's -g option that
584         matches the runas user's group in the passwd database and that group
585         is not denied in the Runas_Spec, allow it. Thus, if user root's gid
586         in /etc/passwd is 0, then "sudo -u root -g root id" is allow even if
587         no groups are present in the Runas_Spec.
588         [942e1e7c5090] <1.8>
589
590 2011-05-22  Todd C. Miller  <Todd.Miller@courtesan.com>
591
592         * NEWS:
593         Mention what is new in 1.8.2 (for now)
594         [d44b26eceee5] <1.8>
595
596         * Add dependencies on gettext.h
597         [32c61c6af852] <1.8>
598
599         * Fix install-nls target with HP-UX sh when gettext is not present.
600         [3441cece9638] <1.8>
601
602         * doc/sudo.cat, doc/sudo.man.in, doc/sudo_plugin.cat,
603         doc/sudo_plugin.man.in, doc/sudoers.cat, doc/sudoers.ldap.cat,
604         doc/sudoers.ldap.man.in, doc/sudoers.man.in, doc/sudoreplay.cat,
605         doc/sudoreplay.man.in, doc/visudo.cat, doc/visudo.man.in:
606         Regen for sudo 1.8.2
607         [9ea124b542cc] <1.8>
608
609 2011-05-20  Todd C. Miller  <Todd.Miller@courtesan.com>
610
611         * plugins/sudoers/po/sudoers.pot, src/po/sudo.pot:
612         regenerate .pot files for lbuf changes
613         [a8a9cc62c3a5] <1.8>
614
615         * configure, configure.in:
616         Add missing "checking" message for gettext when using the cache.
617         [4136bc346576] <1.8>
618
619         * Add primitive format string support to the lbuf code to make
620         translations simpler.
621         [22fc74618d09] <1.8>
622
623         * configure, configure.in, plugins/sudoers/po/sudoers.pot,
624         src/po/sudo.pot:
625         Bump version to 1.8.2
626         [999de1ac5b3e] <1.8>
627
628         * Add message catalog template files for sudo and the sudoers module.
629         [6afad75e7afa] <1.8>
630
631         * configure.in:
632         Add gettext.h convenience header. This is similar to but distinct
633         from the one included with the gettext package.
634         [5ae5a86e0d06] <1.8>
635
636         * configure, configure.in:
637         Add checks for nroff -c and -Tascii flags
638         [580c21905280] <1.8>
639
640         * configure, configure.in:
641         Add check for HP bundled C Compiler (which cannot create shared
642         libs)
643         [34f616cbb0f3] <1.8>
644
645         * Fix C format warnings.
646         [f20a43a817f0] <1.8>
647
648         * Add __printflike
649         [76bf8a4bf075] <1.8>
650
651         * Translate help / usage strings.
652         [16c5b7902d4c] <1.8>
653
654         * Set --msgid-bugs-address to the bugzilla url
655         [3e3cfa7b4ceb] <1.8>
656
657         * INSTALL, Makefile.in, README, configure, configure.in:
658         Add scaffolding to update .po files and install .mo files.
659         [a51e60b35e47] <1.8>
660
661         * Minor warning/error cleanup
662         [593144ac87ff] <1.8>
663
664         * configure.in:
665         Emulate ngettext for the non-nls case
666         [7cdf82de4dee] <1.8>
667
668         * Do not mark untranslatable strings for translation
669         [088271ed02d0] <1.8>
670
671         * Use ROOT_UID not 0.
672         [f901fa2fdaf2] <1.8>
673
674         * Minor warning/error message cleanup
675         [b99c7ef46236] <1.8>
676
677         * cannot -> "unable to" in warning/error messages can't -> "unable to"
678         in warning/error messages
679         [5119140fabc7] <1.8>
680
681         * configure, configure.in:
682         FreeBSD needs the main sudo executable to link with -lpam when
683         loading dynaic pam modules for some reason.
684         [738b6778a505] <1.8>
685
686         * We don't want to translate debugging messages.
687         [357a575c2dfd] <1.8>
688
689         * configure, configure.in:
690         Add calls to bindtextdomain() and textdomain() Currently there are
691         two domains, one for the sudo front-end and one for the sudoers
692         plugin and its associated utilities.
693         [907f39439d80] <1.8>
694
695         * configure, configure.in:
696         Fix caching of libc gettext check.
697         [e229c21f412f] <1.8>
698
699         * Mark defaults descriptions for translation
700         [65e03d1f8203] <1.8>
701
702         * NEWS:
703         Update for sudo 1.8.1p2
704         [89c31f2aa11e] <1.8>
705
706         * Quiet compiler warning when SELinux is enabled.
707         [51b1d7c8aa86] <1.8>
708
709         * dd missing includes of libintl.h.
710         [25662143d36d] <1.8>
711
712         * Fix gettext marker.
713         [7618856ba5de] <1.8>
714
715         * Include libint.h where needed.
716         [cc256b297b9d] <1.8>
717
718         * Prepare sudoers module messages for translation.
719         [1b7f0bbaa55f] <1.8>
720
721         * Only check gid of sudoers file if it is group-readable.
722         [f3cae943f35a] <1.8>
723
724         * For AIX, keep calling authenticate() until reenter reaches 0.
725         [e412676bac73] <1.8>
726
727         * configure, configure.in:
728         Cache the status of the initial gettext() check.
729         [c32281768c0f] <1.8>
730
731         * INSTALL, configure, configure.in:
732         Add --disable-nls flag and improve checks for gettext.
733         [b39674c1e538] <1.8>
734
735         * configure, configure.in:
736         When building with gcc on HP-UX, use -march=1.1 to produce portable
737         binaries on a pa-risc2 host. Previously, the +Dportable option was
738         used for the HP-UX C compiler but gcc always produced native
739         binaries.
740         [41351c23ad41] <1.8>
741
742         * Prepare sudo front end messages for translation.
743         [7807d6f74dac] <1.8>
744
745         * configure, configure.in:
746         Add initial scaffolding to support localization via gettext()
747         [cdbbff7e6376] <1.8>
748
749 2011-05-19  Todd C. Miller  <Todd.Miller@courtesan.com>
750
751         * doc/license.pod:
752         update copyright year
753         [d681661f03cc] <1.8>
754
755         * INSTALL, README:
756         No need to include version number at the top of these files.
757         [7e11f673f773] <1.8>
758
759         * README:
760         This is sudo 1.8.1 not 1.8.0
761         [4d674f230d8a] <1.8>
762
763 2011-05-04  Todd C. Miller  <Todd.Miller@courtesan.com>
764
765         * Don't let the fnmatch/glob macros expand the function prototype.
766         [d449e9a8f447] <1.8>
767
768 2011-05-03  Todd C. Miller  <Todd.Miller@courtesan.com>
769
770         * Resolve namespace collisions on HP-UX ia64 and possibly others by
771         adding a rpl_ prefix to our fnmatch and glob replacements and
772         #defining rpl_foo to foo in the header files.
773         [d23889375b21] <1.8>
774
775 2011-04-29  Todd C. Miller  <Todd.Miller@courtesan.com>
776
777         * Split ALL, ROLE and TYPE into their own actions. Since you can only
778         have #ifdefs inside of braces, ROLE and TYPE use a naughty goto in
779         the non-SELinux case. This is safe because the actions are in one
780         big switch() statement.
781         [0bd9b7e37ab1] <1.8>
782
783         * Fix regexp for matching a CIDR-style IPv4 netmask. From Marc Espie.
784         [8dec97b359e0] <1.8>
785
786         * askpass moved from sudoers to sudo.conf in sudo 1.8.0
787         [1001d87d82ed] <1.8>
788
789         * Remove obsolete warning about runas_default and ordering. Move
790         syslog facility and priority lists into the section where the
791         relevant options are described.
792         [1286b9624021] <1.8>
793
794 2011-04-26  Todd C. Miller  <Todd.Miller@courtesan.com>
795
796         * Fix SIA support; we no longer have access to the real argc and argv
797         so allocate space for a fake one and use the argv passed to the
798         plugin with "sudo" for argv[0].
799         [7c11eeffb91c] <1.8>
800
801         * Remove useless realloc when trying to get the buffer size right.
802         [58128e7f4e28] <1.8>
803
804         * Be explicit when setting euid to 0 before call to setreuid(0, 0)
805         [95769a564ab8] <1.8>
806
807 2011-04-18  Todd C. Miller  <Todd.Miller@courtesan.com>
808
809         * NEWS:
810         sudo 1.8.1p1 updates
811         [de3d688b5bb1] <1.8>
812
813         * configure, configure.in:
814         Need to do checks for krb5_verify_user, krb5_init_secure_context and
815         krb5_get_init_creds_opt_alloc regardless of whether or
816         notkrb5-config is present.
817         [456c4a9cd5d6] <1.8>
818
819 2011-04-15  Todd C. Miller  <Todd.Miller@courtesan.com>
820
821         * Work around weird AIX saved uid semantics on setuid() and
822         setreuid(). On AIX, setuid() will only set the saved uid if the euid
823         is already 0.
824         [5d0a69e9d181] <1.8>
825
826 2011-04-14  Todd C. Miller  <Todd.Miller@courtesan.com>
827
828         * update copyright year
829         [fa8da6d55783] <1.8>
830
831         * Treat a missing includedir like an empty one and do not return an
832         error.
833         [5fd9fe004728] <1.8>
834
835 2011-04-12  Todd C. Miller  <Todd.Miller@courtesan.com>
836
837         * Fix ARCH setting in cross-compile Solaris packages.
838         [8ce40940f6c9] <1.8>
839
840         * Fix aix version setting.
841         [02a9e25d46ba] <1.8>
842
843         * Remove extraneous parens in LDAP filter when sudoers_search_filter
844         is enabled that causes a search error. From Matthew Thomas.
845         [b67be9b51ec6] <1.8>
846
847 2011-04-11  Todd C. Miller  <Todd.Miller@courtesan.com>
848
849         * Correct sizeof() to fix test failure.
850         [a11b89fd13f9] <1.8>
851
852         * "install" target should depend on "install-dirs". Fixes "make -j"
853         problem and closes bz #487. From Chris Coleman.
854         [06ab0558f848] <1.8>
855
856 2011-04-09  Todd C. Miller  <Todd.Miller@courtesan.com>
857
858         * .hgtags:
859         Added tag SUDO_1_8_1 for changeset 0ed6281995f0
860         [543d41a163e9] <1.8>
861
862         * doc/sudo.cat, doc/sudo.man.in, doc/sudo_plugin.cat,
863         doc/sudo_plugin.man.in, doc/sudoers.cat, doc/sudoers.ldap.cat,
864         doc/sudoers.ldap.man.in, doc/sudoers.man.in, doc/sudoreplay.cat,
865         doc/sudoreplay.man.in, doc/visudo.cat, doc/visudo.man.in:
866         Regen man pages for 1.8.1
867         [0ed6281995f0] [SUDO_1_8_1] <1.8>
868
869 2011-04-07  Todd C. Miller  <Todd.Miller@courtesan.com>
870
871         * Add HAVE_RFC1938_SKEYCHALLENGE
872         [c0d7eb39799d] <1.8>
873
874 2011-04-06  Todd C. Miller  <Todd.Miller@courtesan.com>
875
876         * Mention plugin loading and libgcc changes
877         [b74929cba37c] <1.8>
878
879         * Load plugins after parsing arguments and potentially printing the
880         version. That way, an error loading or initializing a plugin
881         doesn't break "sudo -h" or "sudo -V".
882         [c1ecb5979cf0] <1.8>
883
884         * Makefile.in:
885         When using a sub-shell to invoke the sub-make, exec make instead of
886         running it inside the shell to avoid an extra process.
887         [9439f016c993] <1.8>
888
889         * Stop testing unspecified behavior in fnmatch Make glob test more
890         portable
891         [87a91d76fbff] <1.8>
892
893         * No need to add current dir to include path and having it breaks the
894         test programs that expect to get the system glob.h and fnmatch.h
895         [3ae7f9e7b710] <1.8>
896
897         * configure, configure.in:
898         Fix and document --with-plugindir; partially from Diego Elio Petteno
899         [0220a0c2606f] <1.8>
900
901         * Fix fnmatch and glob tests to not use hard-coded flag values in the
902         input file. Link test programs with libreplace so we get our
903         replacement verions as needed.
904         [66bab80241e0] <1.8>
905
906         * Makefile.in:
907         If make in a subdir fails, fail the target in the upper level
908         Makefile too. Adapted from a patch from Diego Elio Petteno
909         [bc35b7813507] <1.8>
910
911         * configure, configure.in:
912         Add check for NetBSD-style 4-argument skeychallenge() as Gentoo also
913         has this. Adapted from a patch from Diego Elio Petteno
914         [bb6228f484b9] <1.8>
915
916         * Make SUDOERS_LDFLAGS reference $(LDFLAGS) instead of using @LDFLAGS@
917         directly.
918         [47e6d5fadc6d] <1.8>
919
920         * configure, configure.in:
921         Fix warnings when -without-skey, --without-opie, --without-kerb4,
922         --without-kerb5 or --without-SecurID were specified.
923         [1b75035dd129] <1.8>
924
925         * Add plugins/sudoers/sudoers_version.h
926         [1d470c6033ca] <1.8>
927
928         * configure, configure.in:
929         Back out the --with-libpath addition to SUDOERS_LDFLAGS since that
930         now include LDFLAGS in the sudoers Makefile.in. Add missing settng
931         of @LDFLAGS@ in plugin Makefile.in files.
932         [dd237f43aa12] <1.8>
933
934 2011-04-05  Todd C. Miller  <Todd.Miller@courtesan.com>
935
936         * Mention %#gid support in User_List and Runas_List
937         [37e259b9181b] <1.8>
938
939         * Keep track of sudoers grammar version and report it in the -V
940         output.
941         [0e0b891dd8a4] <1.8>
942
943         * Add multiple inclusion guard
944         [ec6884f51ea8] <1.8>
945
946         * configure, configure.in:
947         The --with-libpath option now adds to SUDOERS_LDFLAGS as well as
948         LDFLAGS. Remove old -static hack for HP-UX < 9. Add LTLDFLAGS and
949         set it to -Wc,-static-libgcc if not using GNU ld so we don't
950         have a dependency on the shared libgcc in sudoers.so.
951         [28d03f3eb0d2] <1.8>
952
953         * Fix typo; from Petr Uzel
954         [d19b9bd92bd3] <1.8>
955
956 2011-04-01  Todd C. Miller  <Todd.Miller@courtesan.com>
957
958         * In dump-only mode, use "root" as the default username instead of
959         "nobody" as the latter may not be available on all systems.
960         [b304111616dd] <1.8>
961
962 2011-03-31  Todd C. Miller  <Todd.Miller@courtesan.com>
963
964         * Remove NewArgv/NewArgc, they are no longer needed.
965         [c0a36a42a68c] <1.8>
966
967         * Fix setting of user_args
968         [529e79ea95d1] <1.8>
969
970         * Add '!' token to lex tracing
971         [aef295d428e7] <1.8>
972
973         * Use group bin in test, not wheel as most systems have the bin group
974         but the same is no longer true of wheel.
975         [350347f09c1a] <1.8>
976
977         * Avoid using pre or post increment in a parameter to a ctype(3)
978         function as it might be a macro that causes the increment to happen
979         more than once.
980         [8a94ebdd53b8] <1.8>
981
982 2011-03-30  Todd C. Miller  <Todd.Miller@courtesan.com>
983
984         * Strip off the beta or release candidate version when building AIX
985         packages.
986         [00ad950764e2] <1.8>
987
988         * configure, configure.in:
989         We need to include OSDEFS in CFLAGS when doing the utmp/utmpx
990         structure checks for glibc which only has __e_termination visible
991         when _GNU_SOURCE is *not* defined.
992         [1d58420a4a4a] <1.8>
993
994         * getuserattr(user, ...) will fall back to the "default" entry
995         automatically, there's no need to check "default" manually.
996         [cefffa82967d] <1.8>
997
998         * Document parser changes.
999         [5038238f60eb] <1.8>
1000
1001 2011-03-29  Todd C. Miller  <Todd.Miller@courtesan.com>
1002
1003         * Makefile.in:
1004         If there is an existing sudoers file, only install if it passes a
1005         syntax check.
1006         [b1e4c9c56fe0] <1.8>
1007
1008         * Add runasgroup support to testsudoers
1009         [30838590e9de] <1.8>
1010
1011         * For "make check", keep going even if a test fails.
1012         [d3a72f67227e] <1.8>
1013
1014         * More useful exit codes:
1015          * 0 - parsed OK and command matched.
1016          * 1 - parse error
1017          * 2 - command not matched
1018          * 3 - command denied
1019         [59301e0769cd] <1.8>
1020
1021         * Document %#gid, and %:#nonunix_gid syntax.
1022         [39ee15af58e9] <1.8>
1023
1024         * Add support to user_in_group() for treating group names that begin
1025         with a '#' as gids.
1026         [0eb19980cf5f] <1.8>
1027
1028         * configure, configure.in:
1029         Add explicit check for struct utmpx.ut_exit.e_termination and struct
1030         utmpx.ut_exit.__e_termination. HP-UX uses the latter. Only update
1031         ut_exit if we detect one or the other.
1032         [ab5b665fc04b] <1.8>
1033
1034 2011-03-28  Todd C. Miller  <Todd.Miller@courtesan.com>
1035
1036         * Add back missing #include of config.h
1037         [9c82bec81018] <1.8>
1038
1039         * Avoid a NULL deref on unrecognized escapes. Collapse %% -> % like
1040         strftime() does.
1041         [1ae630470f8a] <1.8>
1042
1043         * Quote first argument to AC_DEFUN(); from Elan Ruusamae
1044         [c467e9e3b399] <1.8>
1045
1046 2011-03-27  Todd C. Miller  <Todd.Miller@courtesan.com>
1047
1048         * add new sudoers tests
1049         [05f2a0924acc] <1.8>
1050
1051         * Add test for a newline in the middle of a string when no line
1052         continuation character is used.
1053         [24b79be5822b] <1.8>
1054
1055         * Use bitwise AND instead of modulus to check for length being odd. A
1056         newline in the middle of a string is an error unless a line
1057         continuation character is used.
1058         [65c468599688] <1.8>
1059
1060         * Move lexer globals initialization into init_lexer.
1061         [07a1171a1853] <1.8>
1062
1063         * Fix a potential crash when a non-regular file is present in an
1064         includedir. Fixes bz #452
1065         [5057cb9516e4] <1.8>
1066
1067         * On some Linux systems, "uname -p" contains detailed processor info
1068         so check "uname -m" first and then "uname -p" if needed. Recognize
1069         PLD Linux.
1070         [56226c84a060] <1.8>
1071
1072 2011-03-25  Todd C. Miller  <Todd.Miller@courtesan.com>
1073
1074         * Don't need all sudoers.h here.
1075         [43b6ae5999c5] <1.8>
1076
1077         * Print sudo version early, in case policy plugin init fails.
1078         [620f2d0ec4b1] <1.8>
1079
1080 2011-03-24  Todd C. Miller  <Todd.Miller@courtesan.com>
1081
1082         * Update to match change in input.
1083         [69540f84721d] <1.8>
1084
1085         * Make an empty group or netgroup a syntax error.
1086         [4b85bddc494e] <1.8>
1087
1088         * An empty group or netgroup should be a syntax error.
1089         [6ec796972eff] <1.8>
1090
1091         * Check that uids work in per-user and per-runas Defaults Check that
1092         uids and gids work in a Command_Spec
1093         [68cf62353420] <1.8>
1094
1095         * Test empty string in User_Alias and Command_Spec
1096         [017d487c31be] <1.8>
1097
1098         * Allow a group ID in the User_Spec.
1099         [37e0bf69c8d8] <1.8>
1100
1101         * Return an error for the empty string when a word is expected. Allow
1102         an ID for per-user or per-runas Defaults.
1103         [4c9020779582] <1.8>
1104
1105 2011-03-23  Todd C. Miller  <Todd.Miller@courtesan.com>
1106
1107         * Fix printing "User_Alias FOO = ALL"
1108         [97c9fd7caeb7] <1.8>
1109
1110 2011-03-22  Todd C. Miller  <Todd.Miller@courtesan.com>
1111
1112         * Better error message about invalid -C argument
1113         [2301e7a3835b] <1.8>
1114
1115         * fix typo
1116         [c5acde62a309] <1.8>
1117
1118         * Fix placement of equal size ('=') in user specification summary.
1119         [4d0ffef77ae4] <1.8>
1120
1121 2011-03-21  Todd C. Miller  <Todd.Miller@courtesan.com>
1122
1123         * update to match sudoers regress
1124         [0efb8dc9092a] <1.8>
1125
1126         * Restore ability to define TRACELEXER and have trace output go to
1127         stderr.
1128         [441c8b372217] <1.8>
1129
1130         * Restore old behavior of setting sawspace = TRUE for command line
1131         args when a line continuation character is hit to avoid causing
1132         problems for existing sudoers files.
1133         [963ded6ce070] <1.8>
1134
1135         * Add test for line continuation and aliases
1136         [5703d11a3c46] <1.8>
1137
1138         * Make test output line up nicely for parse vs. toke
1139         [15321ce2d7d9] <1.8>
1140
1141         * plugins/sudoers/regress/testsudoers/test1.ok,
1142         plugins/sudoers/regress/testsudoers/test2.out,
1143         plugins/sudoers/regress/testsudoers/test2.sh,
1144         plugins/sudoers/regress/testsudoers/test3.ok,
1145         plugins/sudoers/regress/testsudoers/test3.sh,
1146         plugins/sudoers/regress/visudo/test1.ok,
1147         plugins/sudoers/regress/visudo/test1.sh:
1148         Move parser tests to sudoers directory and test the tokenizer output
1149         too.
1150         [111c1ccda334] <1.8>
1151
1152         * If we match a rule anchored to the beginning of a line after parsing
1153         a line continuation character, return an ERROR token. It would be
1154         nicer to use REJECT instead but that substantially slows down the
1155         lexer.
1156         [67e54b14aa9d] <1.8>
1157
1158         * Move LEXTRACE macro to toke.h so we can use it in yyerror().
1159         [e6e04037deed] <1.8>
1160
1161         * Make lex tracing settable at run-time in testsudoers via the -t
1162         flag. Trace output goes to stderr. Will be used by regress tests
1163         to check lexer.
1164         [a973f43cc0c2] <1.8>
1165
1166         * Allow whitespace after the modifier in a Defaults entry. E.g.
1167         "Defaults: username set_home"
1168         [bf876c9fc5bb] <1.8>
1169
1170 2011-03-18  Todd C. Miller  <Todd.Miller@courtesan.com>
1171
1172         * Don't set CC when cross-compiling.
1173         [d3c33dcb02f2] <1.8>
1174
1175         * Credit Matthew Thomas for the sudoers_search_filter changes.
1176         [2209b80664af] <1.8>
1177
1178         * Add the .sym files to the MANIFEST
1179         [bb452b28a009] <1.8>
1180
1181         * Update for sudo 1.8.1 beta
1182         [700d42d80e00] <1.8>
1183
1184         * user_shell -> run_shell to avoid confusion with the user's SHELL
1185         variable.
1186         [451b96d5f97e] <1.8>
1187
1188         * Save the controlling tty process group before suspending in pty
1189         mode. Previously, we assumed that the child pgrp == child pid
1190         (which is usually, but not always, the case).
1191         [b0841d861191] <1.8>
1192
1193         * Add support for sudoers_search_filter setting in ldap.conf. This
1194         can be used to restrict the set of records returned by the LDAP
1195         query.
1196         [70c5f496e2b3] <1.8>
1197
1198 2011-03-17  Todd C. Miller  <Todd.Miller@courtesan.com>
1199
1200         * configure, configure.in:
1201         Remove the hack to disable -g in CFLAGS unless --with-devel
1202         [9459839f50ba] <1.8>
1203
1204         * The '@' character does not normally need to be quoted.
1205         [e66c4c64e514] <1.8>
1206
1207         * We normaly transition from GOTDEFS to STARTDEFS on whitespace, but
1208         if that whitespace is followed by a comma, we want to treat it as
1209         part of a list and not transition.
1210         [52ae2df9959d] <1.8>
1211
1212         * Add check for whitespace when a User_List is used for a per-user
1213         Defaults entry.
1214         [44a4db95be86] <1.8>
1215
1216         * Expand quoted name checks to cover recent fixes.
1217         [bd494b5c2bed] <1.8>
1218
1219         * Fix parsing of double-quoted names in Defaults and Aliases which was
1220         broken in 601d97ea8792.
1221         [dfdd58c3eb3b] <1.8>
1222
1223         * toke_util.c lives in $(srcdir) not $(devdir)
1224         [94f8f024782e] <1.8>
1225
1226 2011-03-16  Todd C. Miller  <Todd.Miller@courtesan.com>
1227
1228         * configure, configure.in:
1229         Update version to 1.8.1
1230         [531a7d520f18] <1.8>
1231
1232         * Document major changes in 1.8.1 and add upgrade notes.
1233         [116821646140] <1.8>
1234
1235         * Be careful not to deref user_stat if it is NULL. This cannot
1236         currently happen in sudo but might in other programs using the
1237         parser.
1238         [d72a9c7151c4] <1.8>
1239
1240         * configure will not add -O2 to CFLAGS if it is already defined to add
1241         -O2 to the CFLAGS we pass in when PIE is being used.
1242         [2c7fe82be93d] <1.8>
1243
1244         * Warn about the dangers of log_input and mention iolog_file and
1245         iolog_dir in the log_input and log_output descriptions.
1246         [edc6aa59aa45] <1.8>
1247
1248         * sync with git version
1249         [b121cf739c77] <1.8>
1250
1251         * It seems that h comes after i
1252         [99ad15015f05] <1.8>
1253
1254         * Move log_input and log_output to their proper, sorted, location.
1255         Document set_utmp and utmp_runas.
1256         [216ce8b0ae1a] <1.8>
1257
1258         * Save the controlling tty process group before suspending so we can
1259         restore it when we resume. Fixes job control problems on Linux
1260         caused by the previous attemp to fix resuming a shell when I/O
1261         logging not enabled.
1262         [dfe038f733be] <1.8>
1263
1264         * Fix printing of the remainder after a newline. Fixes "sudo -l"
1265         output corruption that could occur in some cases.
1266         [ab2f0a629e0d] <1.8>
1267
1268         * Add support for ut_exit
1269         [7039ec6a73fa] <1.8>
1270
1271         * Add support for controlling whether utmp is updated and which user
1272         is listed in the entry.
1273         [1b008ce71eab] <1.8>
1274
1275         * Fix typo; tupple vs. tuple
1276         [67bb5c67ae3d] <1.8>
1277
1278         * For legacy utmp, strip the /dev/ prefix before trying to determine
1279         slot since the ttys file does not include the /dev/ prefix.
1280         [8f597114381d] <1.8>
1281
1282         * Add check for _PATH_UTMP
1283         [fe7e2456f017] <1.8>
1284
1285         * Adapt check_iolog_path to sessid changes
1286         [3016201869b6] <1.8>
1287
1288         * Redo utmp handling. If no getutent()/getutxent() is available,
1289         assume a ttyslot-based utmp. If getttyent() is available, use that
1290         directly instead of ttyslot() so we don't have to do the stdin dup2
1291         dance.
1292         [817490c7c20e] <1.8>
1293
1294         * Move utmp handling into utmp.c
1295         [e4729d9259e9] <1.8>
1296
1297         * Update copyright years.
1298         [1065afc00233] <1.8>
1299
1300 2011-03-11  Todd C. Miller  <Todd.Miller@courtesan.com>
1301
1302         * Add "user_shell" boolean as a way to indicate to the plugin that the
1303         -s flag was given.
1304         [6e8bc49b7ea7] <1.8>
1305
1306         * Move sessid out of sudo_user.
1307         [00d67d5ba894] <1.8>
1308
1309         * Log the TSID even if it is not a simple session ID.
1310         [490cf0adae29] <1.8>
1311
1312         * Document noexec in sample.sudo.conf and add back noexec_file section
1313         in sudoers with a note that it is deprecated.
1314         [c7a2d8d0c563] <1.8>
1315
1316         * Fix running commands as non-root on systems where setreuid() changes
1317         the saved uid based on the effective uid we are changing to.
1318         [f3b27db56ba6] <1.8>
1319
1320 2011-03-10  Todd C. Miller  <Todd.Miller@courtesan.com>
1321
1322         * Move noexec path into sudo.conf now that sudo itself handles noexec.
1323         Currently can be configured in sudoers too but is now undocumented
1324         and will be removed in a future release.
1325         [9c5f64709994] <1.8>
1326
1327         * Document "Path noexec ..." in sudo.conf. No longer document
1328         noexec_file in sudoers, it will be removed in a future release.
1329         [959fa6b5217b] <1.8>
1330
1331         * Move noexec handling to sudo front-end where it is documented as
1332         being.
1333         [ef6cd4a40c61] <1.8>
1334
1335         * Add support for disabling exec via solaris privileges. Includes
1336         preparation for moving noexec support out of sudoers and into front
1337         end as documented.
1338         [d9c05ba9a24f] <1.8>
1339
1340         * Only export the symbols corresponding to the plugin structs.
1341         [cb07af1d9b39] <1.8>
1342
1343         * Install plugins manually instead of using libtool. This works
1344         around a problem on AIX where libtool will install a .a file
1345         containing the .so file instead of the .so file itself.
1346         [1ccf5af58c05] <1.8>
1347
1348         * Makefile.in:
1349         Move check into its own rule since some versions of make will run
1350         both targets as the default rule.
1351         [7159f37eb552] <1.8>
1352
1353         * Update to libtool 2.2.10
1354         [9e49773b32b7] <1.8>
1355
1356         * In handle_signals(), restart the read() on EINTR to make sure we
1357         keep up with the signal pipe. Don't return -1 on EAGAIN, it just
1358         means we have emptied the pipe.
1359         [dc2926097b2d] <1.8>
1360
1361         * Reorder functions to quiet a compiler warning.
1362         [5201367e5db4] <1.8>
1363
1364         * Use the Sun Studio C compiler on Solaris if possible
1365         [b8d43b423fb9] <1.8>
1366
1367 2011-03-08  Todd C. Miller  <Todd.Miller@courtesan.com>
1368
1369         * Fix default setting of osversion variable.
1370         [e12905851be5] <1.8>
1371
1372         * Make two login_class entris consistent.
1373         [0671d7b204be] <1.8>
1374
1375         * Add support for adding a utmp entry when allocating a new pty.
1376         Requires the BSD login(3) or SYSV/POSIX getutent()/getutxent().
1377         Currently only creates a new entry if the existing tty has a utmp
1378         entry.
1379         [40ff30099e79] <1.8>
1380
1381         * Avoid pulling in headers we don't need on Linux For getutx?id(),
1382         call setutx?ent() first and always call endutx?ent().
1383         [b86f7a13aae9] <1.8>
1384
1385         * Add some more libs to SUDOERS_LIBS instead of relying on them to be
1386         pulled in by SUDO_LIBS.
1387         [bcbd16ec56c6] <1.8>
1388
1389         * Fix return value of "sudo -l command" when command is not allowed,
1390         broken in [c7097ea22111]. The default return value is now TRUE and
1391         a bad: label is used when permission is denied. Also fixed missing
1392         permissions restoration on certain errors. On error()/errorx(), the
1393         password and group files are now closed before returning.
1394         [757c941a47b2] <1.8>
1395
1396 2011-03-07  Todd C. Miller  <Todd.Miller@courtesan.com>
1397
1398         * Fix passing of login class back to sudo front end.
1399         [5e649de6b7f5] <1.8>
1400
1401         * Add --osversion flag to specify OS instead of running "pp
1402         --probeonly"
1403         [8a03943ac5e8] <1.8>
1404
1405         * Fix expr usage w/ GNU expr
1406         [bdecfa1f54fc] <1.8>
1407
1408 2011-03-06  Todd C. Miller  <Todd.Miller@courtesan.com>
1409
1410         * Fix exit value for validate and list mode.
1411         [6f8b20199935] <1.8>
1412
1413         * Fix non-interactive mode with sudoers plugin.
1414         [cf5aca4fcbcf] <1.8>
1415
1416 2011-03-05  Todd C. Miller  <Todd.Miller@courtesan.com>
1417
1418         * sudoreplay can now find IDs other than %{seq} and display the
1419         session.
1420         [60396b417633] <1.8>
1421
1422         * Add support for replaying sessions when iolog_file is set to
1423         something other than %{seq}.
1424         [1cd2baa74d56] <1.8>
1425
1426 2011-03-04  Todd C. Miller  <Todd.Miller@courtesan.com>
1427
1428         * If we are killed by a signal, display the name of the signal that
1429         got us.
1430         [1b38c4d42282] <1.8>
1431
1432         * Move libs used for authentication from SUDO_LIBS to SUDOERS_LIBS
1433         where they belong.
1434         [78e97a921104] <1.8>
1435
1436         * Fix bug in skey/opie check that could cause a shell warning.
1437         [f20229a04f30] <1.8>
1438
1439         * No longer need sudo_getepw() stubs.
1440         [795631ac7db0] <1.8>
1441
1442 2011-03-03  Todd C. Miller  <Todd.Miller@courtesan.com>
1443
1444         * Fix exit value of "sudo -l command" in sudoers module.
1445         [4a05d6019b3d] <1.8>
1446
1447 2011-03-02  Todd C. Miller  <Todd.Miller@courtesan.com>
1448
1449         * Use fgets() not fgetln() for portability.
1450         [1f2050745096] <1.8>
1451
1452         * Don't use the beta or release candidate version as the rpm release.
1453         [a5b049477646] <1.8>
1454
1455 2011-02-25  Todd C. Miller  <Todd.Miller@courtesan.com>
1456
1457         * Makefile.in:
1458         Adjust ChangeLog rule now that 1.8 is branched
1459         [a994ac361e44] <1.8>
1460
1461         * .hgtags:
1462         Added tag SUDO_1_8_0 for changeset f6530d56f6ae
1463         [99a2b3801419] <1.8>
1464
1465 2011-02-25  Todd C. Miller  <Todd.Miller@courtesan.com>
1466
1467         * configure, configure.in:
1468         version 1.8.0
1469         [f6530d56f6ae] [SUDO_1_8_0]
1470
1471         * NEWS:
1472         update sudo 1.8 section
1473         [f2ee2cf95d18]
1474
1475 2011-02-23  Todd C. Miller  <Todd.Miller@courtesan.com>
1476
1477         * plugins/sudoers/regress/testsudoers/test2.sh:
1478         fix test description
1479         [cd5730fa9f09]
1480
1481         * plugins/sudoers/regress/testsudoers/test2.out,
1482         plugins/sudoers/regress/testsudoers/test2.sh,
1483         plugins/sudoers/regress/visudo/test2.out,
1484         plugins/sudoers/regress/visudo/test2.sh:
1485         convert test2 to use testsudoers
1486         [b5ec3f0b69f1]
1487
1488         * include/sudo_plugin.h, src/sudo_plugin_int.h:
1489         Move struct generic_plugin to sudo_plugin_int.h
1490         [6f7bc629329c]
1491
1492         * plugins/sudoers/gram.c, plugins/sudoers/gram.y,
1493         plugins/sudoers/parse.c, plugins/sudoers/parse.h,
1494         plugins/sudoers/set_perms.c, plugins/sudoers/sudoers.c,
1495         plugins/sudoers/sudoers.h:
1496         Allow sudoers file name, mode, uid and gid to be specified in the
1497         settings list. The sudo front end does not currently set these but
1498         may in the future.
1499         [22f38a0fda2a]
1500
1501 2011-02-21  Todd C. Miller  <Todd.Miller@courtesan.com>
1502
1503         * configure, configure.in, doc/sudo.cat, doc/sudo.man.in,
1504         doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudoers.cat,
1505         doc/sudoers.ldap.cat, doc/sudoers.ldap.man.in, doc/sudoers.man.in,
1506         doc/sudoreplay.cat, doc/sudoreplay.man.in, doc/visudo.cat,
1507         doc/visudo.man.in:
1508         1.8.0rc1
1509         [5d4588b9c057]
1510
1511         * doc/sudo.pod, doc/sudoreplay.pod, doc/visudo.pod,
1512         plugins/sudoers/sudoreplay.c, plugins/sudoers/visudo.c,
1513         src/parse_args.c, src/sudo.h:
1514         add help text to sudo, visudo and sudoreplay for the -h option
1515         [52e7378d8476]
1516
1517 2011-02-19  Todd C. Miller  <Todd.Miller@courtesan.com>
1518
1519         * compat/snprintf.c:
1520         avoid using "howmany" for a parameter name since it is a select-
1521         related macro
1522         [a14d565401a1]
1523
1524         * doc/sudoers.pod:
1525         mention group_plugin when describing nonunix_group
1526         [e0d1d0034b17]
1527
1528         * doc/sudo_plugin.pod:
1529         Add missing period at end of sentence
1530         [6744d7e9056d]
1531
1532         * Makefile.in, doc/Makefile.in, include/Makefile.in,
1533         plugins/sample/Makefile.in, plugins/sample_group/Makefile.in,
1534         plugins/sudoers/Makefile.in, src/Makefile.in:
1535         add localstatedir; closes bug 471
1536         [7aefcab85088]
1537
1538         * config.h.in, configure, configure.in, plugins/sudoers/sudoreplay.c,
1539         src/exec.c, src/exec_pty.c:
1540         The howmany macro lives in sys/sysmacros.h on SVR5 systems Closes
1541         Bug 470
1542         [927ed6740f32]
1543
1544         * configure.in:
1545         add missing AH_TEMPLATE for ENV_RESET
1546         [16300010c986]
1547
1548         * src/exec.c:
1549         SVR5 systems return non-zero for success on socketpair(), check for
1550         -1 instead. Closes Bug 469
1551         [4d276494bf8e]
1552
1553 2011-02-16  Todd C. Miller  <Todd.Miller@courtesan.com>
1554
1555         * configure, configure.in:
1556         1.8.0b5
1557         [d611cd5d73d3]
1558
1559         * doc/sudo.cat, doc/sudo.man.in, doc/sudo_plugin.cat,
1560         doc/sudo_plugin.man.in, doc/sudoers.cat, doc/sudoers.ldap.cat,
1561         doc/sudoers.ldap.man.in, doc/sudoers.man.in, doc/sudoreplay.cat,
1562         doc/sudoreplay.man.in, doc/visudo.cat, doc/visudo.man.in:
1563         regen
1564         [85e96eeaed82]
1565
1566         * doc/sudo.pod:
1567         Document that a sudo.conf file with no Pligin lines uses the default
1568         sudoers plugins.
1569         [88bd52da977f]
1570
1571         * src/load_plugins.c:
1572         If sudo.conf contains no Plugin lines, use the default sudoers
1573         policy and I/O plugins.
1574         [fd8f4cb811ab]
1575
1576 2011-02-14  Todd C. Miller  <Todd.Miller@courtesan.com>
1577
1578         * plugins/sudoers/sudo_nss.c:
1579         Avoid printing empty "Runas and Command-specific defaults for user"
1580         line.
1581         [2dd330fe4f8b]
1582
1583         * common/lbuf.c:
1584         Truncate the buffer at buf.len before printing in the non-wordwrap
1585         case.
1586         [901e9833f80d]
1587
1588         * common/lbuf.c:
1589         Remove extra newline when the tty width is very small or unavailable
1590         [245c05506c0e]
1591
1592 2011-02-11  Todd C. Miller  <Todd.Miller@courtesan.com>
1593
1594         * plugins/sudoers/alias.c:
1595         Remove unneeded variable.
1596         [2c086d30b796]
1597
1598 2011-02-09  Todd C. Miller  <Todd.Miller@courtesan.com>
1599
1600         * configure, configure.in:
1601         Prefer getutxid over getutid
1602         [3f3322e9c93e]
1603
1604         * plugins/sudoers/boottime.c:
1605         Include utmp.h / utmpx.h before missing.h as apparently including it
1606         afterwards causes a compilation problem on GNU Hurd.
1607         [a528029ae962]
1608
1609 2011-02-07  Todd C. Miller  <Todd.Miller@courtesan.com>
1610
1611         * plugins/sudoers/sudoreplay.c, plugins/sudoers/toke_util.c:
1612         #include "foo.h", not <foo.h> for local includes.
1613         [f65ec693998e]
1614
1615         * src/parse_args.c:
1616         remove bogus XXX
1617         [9136c17d53ce]
1618
1619         * compat/mksiglist.c:
1620         Fix typo
1621         [1a3bb7b455c9]
1622
1623         * compat/glob.c, plugins/sudoers/ldap.c, plugins/sudoers/logging.c,
1624         plugins/sudoers/match.c:
1625         return foo not return(foo)
1626         [5c9e0647359a]
1627
1628 2011-02-06  Todd C. Miller  <Todd.Miller@courtesan.com>
1629
1630         * src/exec.c:
1631         Remove duplicate FD_SET of signal_pipe[0]
1632         [3096527d2215]
1633
1634 2011-02-05  Todd C. Miller  <Todd.Miller@courtesan.com>
1635
1636         * compat/mksiglist.c:
1637         Use "missing.h" not <missing.h> in generated code.
1638         [d8e09cffbe09]
1639
1640 2011-02-04  Todd C. Miller  <Todd.Miller@courtesan.com>
1641
1642         * aclocal.m4, configure:
1643         fix --with-iologdir=no
1644         [a89699cb5f5f]
1645
1646         * aclocal.m4, configure:
1647         fix typo that broke --with-iologdir
1648         [91b54eb22403]
1649
1650 2011-02-03  Todd C. Miller  <Todd.Miller@courtesan.com>
1651
1652         * configure, configure.in, doc/sudo.cat, doc/sudo.man.in,
1653         doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudoers.cat,
1654         doc/sudoers.ldap.cat, doc/sudoers.ldap.man.in, doc/sudoers.man.in,
1655         doc/sudoreplay.cat, doc/sudoreplay.man.in, doc/visudo.cat,
1656         doc/visudo.man.in:
1657         Bump version to 1.8.0b4
1658         [e2b7f2cdc02e]
1659
1660         * NEWS:
1661         sync
1662         [decf5a0a8a33]
1663
1664         * doc/sudoers.cat, doc/sudoers.man.in, doc/sudoers.pod:
1665         Attempt to clarify how users and groups interact in Runas_Specs
1666         [e6fb3a2dbd77]
1667
1668         * plugins/sudoers/regress/visudo/test2.out,
1669         plugins/sudoers/regress/visudo/test2.sh:
1670         Add test for quoted group that contains escaped double quotes
1671         [44596c48c629]
1672
1673         * src/exec.c, src/exec_pty.c:
1674         Pass SIGUSR1/SIGUSR2 through to the child.
1675         [c3108a827b01]
1676
1677         * src/exec_pty.c, src/sudo_exec.h:
1678         Use special values SIGCONT_FG and SIGCONT_BG instead of SIGUSR1 and
1679         SIGUSR2 to indicate whether the child should be continued in the
1680         foreground or background.
1681         [35ca47cc6785]
1682
1683         * src/exec.c:
1684         Use pid_t not int and check the return value of kill()
1685         [36ae7d37d7f9]
1686
1687 2011-02-02  Todd C. Miller  <Todd.Miller@courtesan.com>
1688
1689         * src/exec_pty.c:
1690         Remove obsolete comment
1691         [baebef4919f6]
1692
1693         * src/exec.c:
1694         In non-pty mode before continuing the child, make it the foreground
1695         pgrp if possible. Fixes resuming a shell.
1696         [fef5b1d02ddb]
1697
1698         * src/exec_pty.c:
1699         If we get a signal other than SIGCHLD in the monitor, pass it
1700         directly to the child.
1701         [b3ecb28163a0]
1702
1703         * src/exec.c, src/exec_pty.c, src/sudo.h:
1704         Save signal state before changing handlers and restore before we
1705         execute the command.
1706         [faf7475dc4bf]
1707
1708 2011-02-01  Todd C. Miller  <Todd.Miller@courtesan.com>
1709
1710         * plugins/sudoers/iolog.c:
1711         Use a char array to map a number to a base36 digit.
1712         [257576c51f8b]
1713
1714         * doc/sudoers.ldap.cat, doc/sudoers.ldap.man.in, doc/sudoers.ldap.pod:
1715         Be clear about what versions of sudo support new LDAP attributes.
1716         Fix up some formatting of attribute names. Minor other tweaks.
1717         [39f65df71f65]
1718
1719 2011-01-31  Todd C. Miller  <Todd.Miller@courtesan.com>
1720
1721         * plugins/sudoers/toke.c, plugins/sudoers/toke.l:
1722         match quoted strings the same way whether in a Defaults line or as a
1723         user/group/netgroup name. Fixes escaped double quotes in quoted
1724         user/group/netgroup names.
1725         [601d97ea8792]
1726
1727         * plugins/sudoers/Makefile.in:
1728         'make check' depends on visudo and testsudoers
1729         [127c5a24df8f]
1730
1731         * plugins/sudoers/sudoers2ldif:
1732         Add sudoOrder attribute to each entry Parse LOG_{INPUT,OUTPUT} tags
1733         [9029163a58c3]
1734
1735 2011-01-30  Todd C. Miller  <Todd.Miller@courtesan.com>
1736
1737         * doc/UPGRADE:
1738         Mention LDAP attribute compatibility status.
1739         [2c3595aaec63]
1740
1741 2011-01-28  Todd C. Miller  <Todd.Miller@courtesan.com>
1742
1743         * README.LDAP:
1744         Mention phpQLAdmin
1745         [9304c9064fbe]
1746
1747         * INSTALL, NEWS, config.h.in, configure, configure.in,
1748         doc/sudoers.man.in, doc/sudoers.pod, plugins/sudoers/defaults.c:
1749         Add --disable-env-reset configure option.
1750         [8a753aa13a46]
1751
1752         * doc/sudoers.cat, doc/sudoers.man.in, doc/sudoers.pod:
1753         Document that sudoers_locale also affects logging and email.
1754         [998d6ac11277]
1755
1756         * NEWS, config.h.in, configure, configure.in,
1757         plugins/sudoers/logging.c:
1758         Do logging and email sending in the locale specified by the
1759         "sudoers_locale" setting ("C" by default). Email send by sudo
1760         includes MIME headers when the sudoers locale is not "C".
1761         [cb7e55408400]
1762
1763 2011-01-27  Todd C. Miller  <Todd.Miller@courtesan.com>
1764
1765         * plugins/sudoers/check.c:
1766         Fix indentation
1767         [65ae7e92b9e4]
1768
1769 2011-01-25  Todd C. Miller  <Todd.Miller@courtesan.com>
1770
1771         * NEWS, src/parse_args.c, src/sudo.c:
1772         Perform command escaping for "sudo -s" and "sudo -i" after
1773         validating sudoers so the sudoers entries don't need to have all the
1774         backslashes.
1775         [4e168c103f4b]
1776
1777 2011-01-24  Todd C. Miller  <Todd.Miller@courtesan.com>
1778
1779         * plugins/sudoers/logging.c:
1780         Prepend "list " to the command logged when "sudo -l command" is used
1781         to make it clear that the command was listed, not run.
1782         [f392a6056cd6]
1783
1784         * plugins/sudoers/parse.c:
1785         cosmetic change
1786         [7c0951dbc2dd]
1787
1788         * common/aix.c, common/alloc.c, common/fileops.c, common/fmt_string.c,
1789         common/list.c, common/term.c, compat/fnmatch.c, compat/getcwd.c,
1790         compat/glob.c, compat/isblank.c, compat/memrchr.c, compat/mktemp.c,
1791         compat/nanosleep.c, compat/regress/glob/globtest.c,
1792         compat/snprintf.c, compat/strlcat.c, compat/strlcpy.c,
1793         compat/strsignal.c, compat/utimes.c, plugins/sample/sample_plugin.c,
1794         plugins/sample_group/getgrent.c, plugins/sample_group/plugin_test.c,
1795         plugins/sudoers/alias.c, plugins/sudoers/auth/afs.c,
1796         plugins/sudoers/auth/aix_auth.c, plugins/sudoers/auth/bsdauth.c,
1797         plugins/sudoers/auth/dce.c, plugins/sudoers/auth/fwtk.c,
1798         plugins/sudoers/auth/kerb4.c, plugins/sudoers/auth/kerb5.c,
1799         plugins/sudoers/auth/pam.c, plugins/sudoers/auth/passwd.c,
1800         plugins/sudoers/auth/rfc1938.c, plugins/sudoers/auth/secureware.c,
1801         plugins/sudoers/auth/securid.c, plugins/sudoers/auth/securid5.c,
1802         plugins/sudoers/auth/sia.c, plugins/sudoers/bsm_audit.c,
1803         plugins/sudoers/check.c, plugins/sudoers/defaults.c,
1804         plugins/sudoers/find_path.c, plugins/sudoers/goodpath.c,
1805         plugins/sudoers/gram.c, plugins/sudoers/gram.y,
1806         plugins/sudoers/iolog.c, plugins/sudoers/ldap.c,
1807         plugins/sudoers/match.c, plugins/sudoers/mon_systrace.c,
1808         plugins/sudoers/parse.c, plugins/sudoers/pwutil.c,
1809         plugins/sudoers/redblack.c, plugins/sudoers/set_perms.c,
1810         plugins/sudoers/sudo_nss.c, plugins/sudoers/sudoers.c,
1811         plugins/sudoers/sudoreplay.c, plugins/sudoers/testsudoers.c,
1812         plugins/sudoers/timestr.c, plugins/sudoers/toke.c,
1813         plugins/sudoers/toke.l, plugins/sudoers/toke_util.c,
1814         plugins/sudoers/tsgetgrpw.c, plugins/sudoers/visudo.c,
1815         src/exec_pty.c, src/get_pty.c, src/load_plugins.c, src/parse_args.c,
1816         src/sudo_noexec.c, src/tgetpass.c:
1817         standardize on "return foo;" rather than "return(foo);" or "return
1818         (foo);"
1819         [32d76c5aaf8c]
1820
1821         * plugins/sudoers/sudoers.c:
1822         Do not reject sudoers file just because it is root-writable.
1823         [0febc579185b]
1824
1825 2011-01-21  Todd C. Miller  <Todd.Miller@courtesan.com>
1826
1827         * NEWS:
1828         sync
1829         [1ab03f8278ff]
1830
1831         * plugins/sudoers/sudo_nss.c:
1832         For "sudo -U user -l" if user is not authorized on the host, say so.
1833         [289afe6dd15c]
1834
1835         * plugins/sudoers/ldap.c:
1836         In sudo_ldap_lookup(), always do the initial sudoers check as the
1837         invoking user. If we are listing another user's privs we will do a
1838         separate lookup using list_pw later.
1839         [e52bc15de76d]
1840
1841 2011-01-20  Todd C. Miller  <Todd.Miller@courtesan.com>
1842
1843         * MANIFEST:
1844         add parser fill tests
1845         [4f65140d3515]
1846
1847         * compat/regress/glob/globtest.c, compat/regress/glob/globtest.in:
1848         Don't test features not supported by the bundled glob()
1849         [8ec7ace11949]
1850
1851         * Makefile.in, aclocal.m4, common/Makefile.in, common/term.c,
1852         compat/Makefile.in, configure.in, doc/LICENSE, doc/Makefile.in,
1853         doc/sudo_plugin.man.in, doc/sudo_plugin.pod,
1854         doc/sudoers.ldap.man.in, doc/sudoers.ldap.pod, doc/sudoers.man.in,
1855         doc/sudoers.pod, include/Makefile.in, plugins/sample/Makefile.in,
1856         plugins/sample_group/Makefile.in, plugins/sudoers/Makefile.in,
1857         plugins/sudoers/check.c, plugins/sudoers/defaults.c,
1858         plugins/sudoers/gram.c, plugins/sudoers/gram.y,
1859         plugins/sudoers/iolog.c, plugins/sudoers/iolog_path.c,
1860         plugins/sudoers/ldap.c, plugins/sudoers/match.c,
1861         plugins/sudoers/pwutil.c, plugins/sudoers/sudo_nss.c,
1862         plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h,
1863         plugins/sudoers/sudoreplay.c, plugins/sudoers/testsudoers.c,
1864         plugins/sudoers/toke.c, plugins/sudoers/toke.l,
1865         plugins/sudoers/toke_util.c, src/Makefile.in, zlib/Makefile.in:
1866         Update copyright year to 2011
1867         [ac1b45cb1809]
1868
1869         * plugins/sudoers/sudo_nss.c:
1870         When listing, use separate lbufs for the defaults and the privileges
1871         and only print something if the number of privileges is non-zero.
1872         Fixes extraneous Defaults output for "sudo -U unauthorized_user -l".
1873         [d0854d39f8ef]
1874
1875         * plugins/sudoers/ldap.c:
1876         Stash pointer to user group vector in LDAP handle and only reuse the
1877         query if it has not changed. We always allocate a new buffer when
1878         we reset the group vector so a simple pointer check is sufficient.
1879         [88861d4eba69]
1880
1881         * plugins/sudoers/sudo_nss.c:
1882         Check initgroups() return value.
1883         [3bdaf58408a7]
1884
1885         * plugins/sudoers/Makefile.in,
1886         plugins/sudoers/regress/parser/check_fill.c:
1887         Add tests for the fill functions in toke_util.c
1888         [bca587ab4956]
1889
1890 2011-01-19  Todd C. Miller  <Todd.Miller@courtesan.com>
1891
1892         * plugins/sudoers/regress/iolog_path/check_iolog_path.c:
1893         fix copyright year
1894         [e2038cdaf055]
1895
1896         * NEWS:
1897         sync
1898         [56ca5d5eaebe]
1899
1900 2011-01-18  Todd C. Miller  <Todd.Miller@courtesan.com>
1901
1902         * common/term.c:
1903         Clear, don't set, OPOST in c_oflag as was intended in 506ad5ae9b4e.
1904         [b91f266624ec]
1905
1906 2011-01-14  Todd C. Miller  <Todd.Miller@courtesan.com>
1907
1908         * mkpkg, sudo.pp:
1909         Add Requires line for audit-libs >= 1.4 for RHEL5+
1910         [6c02f976171b]
1911
1912         * pp:
1913         sync with git version
1914         [d301c32d5865]
1915
1916 2011-01-13  Todd C. Miller  <Todd.Miller@courtesan.com>
1917
1918         * doc/sudoers.cat, doc/sudoers.man.in, doc/sudoers.pod:
1919         fix typo
1920         [39353f92976f]
1921
1922 2011-01-12  Todd C. Miller  <Todd.Miller@courtesan.com>
1923
1924         * NEWS:
1925         Update for sudo 1.7.4p5
1926         [b444da76901f]
1927
1928         * doc/schema.OpenLDAP, doc/schema.iPlanet:
1929         Add sudoNotBefore and sudoNotAfter attributes as optional attributes
1930         to the sudoRole object class. From Andreas Mueller
1931         [dacfad7e7a95]
1932
1933 2011-01-11  Todd C. Miller  <Todd.Miller@courtesan.com>
1934
1935         * NEWS:
1936         Mention "sudo -g group" password check fix.
1937         [1eb8fb14e53b]
1938
1939         * plugins/sudoers/sudoers.c:
1940         Fix "sudo -g" support in the sudoers module.
1941         [07d1b0ce530e]
1942
1943         * plugins/sudoers/check.c:
1944         If the user is running sudo as himself but as a different group we
1945         need to prompt for a password.
1946         [caf1fcc9a117]
1947
1948 2011-01-10  Todd C. Miller  <Todd.Miller@courtesan.com>
1949
1950         * NEWS, config.h.in, configure, configure.in, doc/sudoers.ldap.cat,
1951         doc/sudoers.ldap.man.in, doc/sudoers.ldap.pod,
1952         plugins/sudoers/ldap.c:
1953         Add support for TIMEOUT in ldap.conf, mapping to the OpenLDAP
1954         LDAP_OPT_TIMEOUT. There is no corresponding option for mozilla-
1955         derived LDAP SDKs but we can pass the timeout parameter to
1956         ldap_search_ext_s() or ldap_search_st() when possible.
1957         [5537049991f7]
1958
1959         * doc/sudoers.ldap.cat, doc/sudoers.ldap.man.in:
1960         regen
1961         [5b361c3c4324]
1962
1963         * NEWS, doc/sudoers.ldap.pod, plugins/sudoers/ldap.c:
1964         Add NETWORK_TIMEOUT as an alias for BIND_TIMELIMIT for compatibility
1965         with OpenLDAP ldap.conf files.
1966         [e97843bd16fb]
1967
1968         * plugins/sudoers/pwutil.c:
1969         If user has no supplementary groups, fall back on checking the group
1970         file expliticly.
1971         [5223ad4eb690]
1972
1973 2011-01-08  Todd C. Miller  <Todd.Miller@courtesan.com>
1974
1975         * plugins/sudoers/toke.h, plugins/sudoers/toke_util.c:
1976         constify
1977         [6e132a4cca61]
1978
1979         * plugins/sudoers/toke.c, plugins/sudoers/toke.h,
1980         plugins/sudoers/toke.l:
1981         Move fill macro to toke.h
1982         [623d430798cf]
1983
1984         * MANIFEST, plugins/sudoers/Makefile.in, plugins/sudoers/toke.c,
1985         plugins/sudoers/toke.h, plugins/sudoers/toke.l,
1986         plugins/sudoers/toke_util.c:
1987         Split tokenizer utility functions out into toke_util.c
1988         [89a97bd51618]
1989
1990         * plugins/sudoers/gram.c, plugins/sudoers/gram.y,
1991         plugins/sudoers/toke.c, plugins/sudoers/toke.l:
1992         ANSIfy
1993         [ca0eba1dfaa9]
1994
1995 2011-01-07  Todd C. Miller  <Todd.Miller@courtesan.com>
1996
1997         * MANIFEST:
1998         sync
1999         [a43f94064bb3]
2000
2001         * plugins/sudoers/Makefile.in:
2002         Add visudo tests to check target
2003         [8c82fb4ed40f]
2004
2005         * compat/Makefile.in, compat/regress/fnmatch/fnm_test.c,
2006         compat/regress/fnmatch/fnm_test.in, compat/regress/glob/files,
2007         compat/regress/glob/globtest.c, compat/regress/glob/globtest.in:
2008         Add my regress tests for fnmatch() and glob() from OpenBSD.
2009         [6e8c1f211723]
2010
2011         * plugins/sudoers/regress/testsudoers/test1.sh,
2012         plugins/sudoers/regress/visudo/test1.ok,
2013         plugins/sudoers/regress/visudo/test1.sh:
2014         Add regress test for command tags using visudo -c
2015         [18b0ef207c0f]
2016
2017         * plugins/sudoers/Makefile.in,
2018         plugins/sudoers/regress/testsudoers/test1.ok,
2019         plugins/sudoers/regress/testsudoers/test1.sh:
2020         Add support for regress tests using testsudoers
2021         [1fa94bd2671b]
2022
2023         * plugins/sudoers/testsudoers.c:
2024         Need to set user_name explicitly due to internal changes made when
2025         converting sudoers to a plugin.
2026         [1fa54e86a364]
2027
2028 2011-01-06  Todd C. Miller  <Todd.Miller@courtesan.com>
2029
2030         * MANIFEST, Makefile.in, common/Makefile.in, compat/Makefile.in,
2031         doc/Makefile.in, include/Makefile.in, plugins/sample/Makefile.in,
2032         plugins/sample_group/Makefile.in, plugins/sudoers/Makefile.in,
2033         plugins/sudoers/regress/iolog_path/check_iolog_path.c,
2034         plugins/sudoers/regress/iolog_path/data, src/Makefile.in,
2035         zlib/Makefile.in:
2036         Add regression tests for iolog_path()
2037         [afa4b416e559]
2038
2039         * Makefile.in, common/Makefile.in, compat/Makefile.in,
2040         doc/Makefile.in, include/Makefile.in, plugins/sample/Makefile.in,
2041         plugins/sample_group/Makefile.in, plugins/sudoers/Makefile.in,
2042         src/Makefile.in, zlib/Makefile.in:
2043         Add support for "make Makefile" to regenerate Makefile from
2044         Makefile.in
2045         [98bd2dda3294]
2046
2047         * plugins/sudoers/iolog_path.c:
2048         Quiest a bogus compiler warning.
2049         [5ff932a7ad67]
2050
2051 2011-01-05  Todd C. Miller  <Todd.Miller@courtesan.com>
2052
2053         * plugins/sudoers/iolog_path.c:
2054         Protect call to setlocale() with HAVE_SETLOCALE
2055         [2c29ee3ccc81]
2056
2057 2011-01-04  Todd C. Miller  <Todd.Miller@courtesan.com>
2058
2059         * MANIFEST:
2060         mkstemps.c was renamed mktemp.c
2061         [ae299c3b1827]
2062
2063         * NEWS:
2064         Update from 1.7 branch
2065         [20817d79717b]
2066
2067         * Makefile.in:
2068         Use "mv -f" when regenerating ChangeLog
2069         [c163635206c6]
2070
2071         * plugins/sudoers/match.c:
2072         Fix NULL dereference with "sudo -g group" when the sudoers rule has
2073         no runas user or group listed. Fixes RedHat bug Bug 667103.
2074         [41a6a1243d9e]
2075
2076 2011-01-03  Todd C. Miller  <Todd.Miller@courtesan.com>
2077
2078         * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod:
2079         Correct the default sudo.conf example
2080         [4e791698cad1]
2081
2082 2010-12-31  Todd C. Miller  <Todd.Miller@courtesan.com>
2083
2084         * plugins/sudoers/iolog_path.c:
2085         Reset slashp if we allocate a new buffer for strftime()
2086         [e491daa4203b]
2087
2088         * plugins/sudoers/iolog_path.c, plugins/sudoers/sudoers.c,
2089         plugins/sudoers/sudoers.h:
2090         Add extra out parameter to expand_iolog_path() to allow the caller
2091         to split the path into dir and file components if needed.
2092         [88346bc5ae39]
2093
2094 2010-12-30  Todd C. Miller  <Todd.Miller@courtesan.com>
2095
2096         * plugins/sudoers/iolog.c:
2097         mkdir_iopath() returns size_t now that it uses strlcpy() and not
2098         snprintf()
2099         [3c4c64d265eb]
2100
2101         * plugins/sudoers/iolog.c, plugins/sudoers/iolog_path.c:
2102         Trim leading slashes from iolog_file and trailing slashes from
2103         iolog_dir
2104         [a803b51f8948]
2105
2106         * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod,
2107         plugins/sudoers/iolog.c, plugins/sudoers/iolog_path.c,
2108         plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h:
2109         Pass a single I/O log file name in command_details instead of
2110         separate dir + file parameters.
2111         [d672a3e46e80]
2112
2113         * plugins/sudoers/sudoreplay.c:
2114         change an error() to errorx()
2115         [8013dcfdd69d]
2116
2117         * plugins/sudoers/iolog.c:
2118         Add missing cwd line to I/O log info file that got dropped when
2119         iolog_deserialize_info() was added
2120         [7cf84f208423]
2121
2122 2010-12-29  Todd C. Miller  <Todd.Miller@courtesan.com>
2123
2124         * plugins/sudoers/iolog.c:
2125         Avoid relying on globals filled in by the sudoers policy module for
2126         the sudoers I/O log module. The I/O log open function now pulls the
2127         bits it needs out of user_info and command_info.
2128         [c02f6951b0cc]
2129
2130         * plugins/sudoers/iolog.c, plugins/sudoers/sudoers.c,
2131         plugins/sudoers/sudoers.h:
2132         If no iolog file is specified by the policy plugin, use io_nextid()
2133         to determine the next file in the sequence.
2134         [faa1130b1020]
2135
2136 2010-12-28  Todd C. Miller  <Todd.Miller@courtesan.com>
2137
2138         * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod:
2139         Document iolog_compress in command_info
2140         [58895c7d12f5]
2141
2142         * plugins/sudoers/iolog.c, plugins/sudoers/sudoers.c:
2143         Add support for the iolog_compress variable in command_info.
2144         [36f13a2fd1c1]
2145
2146         * plugins/sudoers/iolog.c, plugins/sudoers/sudoers.c:
2147         Add sigsetjmp() calls to all plugin entry points just to be safe.
2148         [3fa482355bc4]
2149
2150         * src/sudo.c, src/sudo.h:
2151         Don't need iolog variables in struct command_details, they are for
2152         the I/O log plugins to handle.
2153         [5111579ffd9d]
2154
2155 2010-12-27  Todd C. Miller  <Todd.Miller@courtesan.com>
2156
2157         * doc/sudoers.cat, doc/sudoers.man.in, doc/sudoers.pod:
2158         Document use of mkdtemp() for iolog path teplates
2159         [5db6101408a9]
2160
2161         * doc/sudo.cat, doc/sudo.man.in, doc/sudo_plugin.cat,
2162         doc/sudo_plugin.man.in, doc/sudoers.cat, doc/sudoers.ldap.cat,
2163         doc/sudoers.ldap.man.in, doc/sudoers.man.in, doc/sudoreplay.cat,
2164         doc/sudoreplay.man.in, doc/visudo.cat, doc/visudo.man.in:
2165         regen
2166         [1ee11fd6d4eb]
2167
2168         * doc/sudo_plugin.pod, doc/sudoers.pod:
2169         Document iolog_file and supported escape sequences for sudoers.
2170         Clarify that iolog_file can contain directories.
2171         [da611dedcbdb]
2172
2173         * compat/Makefile.in, configure, configure.in:
2174         Fix building of mkstemps/mkdtemp replacements.
2175         [793a5e303122]
2176
2177         * compat/mkstemps.c, compat/mktemp.c, config.h.in, configure,
2178         configure.in, include/missing.h:
2179         Provide mkdtemp() for systems without it.
2180         [b0527dfa965c]
2181
2182         * plugins/sudoers/iolog_path.c:
2183         Fix typo
2184         [277f6c514cba]
2185
2186         * plugins/sudoers/iolog.c:
2187         Only use mkdtemp() if the path ends in at least 6 Xs since otherwise
2188         glibc mkdtemp() returns EINVAL.
2189         [2e7323b05579]
2190
2191         * plugins/sudoers/Makefile.in, plugins/sudoers/def_data.c,
2192         plugins/sudoers/def_data.h, plugins/sudoers/def_data.in,
2193         plugins/sudoers/defaults.c, plugins/sudoers/iolog.c,
2194         plugins/sudoers/iolog_path.c, plugins/sudoers/plugin_error.c,
2195         plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h:
2196         Allow sudoers to specify the iolog file in addition to the iolog
2197         dir. Add escape sequence support to iolog file and dir: sequence
2198         number, user, group, runas_user, runas_group, hostname and
2199         command in addition to any escape sequence recognized by
2200         strftime(3).
2201         [75cd32ee0435]
2202
2203         * plugins/sudoers/iolog.c:
2204         Add missing sigsetjmp() call in I/O plugin open function. Fixes a
2205         crash when the I/O plugin calls error(), errorx() or log_error().
2206         [1a6718bd817d]
2207
2208 2010-12-21  Todd C. Miller  <Todd.Miller@courtesan.com>
2209
2210         * doc/sudo_plugin.pod, plugins/sudoers/iolog.c,
2211         plugins/sudoers/sudoers.c:
2212         Give the policy module fine-grained control over what the I/O plugin
2213         logs.
2214         [d29784fd2a66]
2215
2216         * common/term.c:
2217         Clear OPOST from c_oflag like we used to. Fixes screen-based
2218         editors such as vi.
2219         [506ad5ae9b4e]
2220
2221         * doc/sudoers.pod:
2222         Clarify umask option description. From Reuben Thomas.
2223         [1294ac84222b]
2224
2225 2010-12-20  Todd C. Miller  <Todd.Miller@courtesan.com>
2226
2227         * doc/sudoers.ldap.pod, plugins/sudoers/ldap.c:
2228         Pick last match in LDAP sudoers too
2229         [fbfd8e85703b]
2230
2231         * doc/sudo_plugin.pod:
2232         Document iolog_file, iolog_dir and use_pty
2233         [26120a59c20e]
2234
2235         * plugins/sample/sample_plugin.c, plugins/sudoers/iolog.c,
2236         plugins/sudoers/sudoers.c:
2237         Adapt plugins to version I/O logging ABI 1.1
2238         [880dd64bc1e8]
2239
2240         * src/exec.c, src/sudo.h:
2241         Add use_pty command_info flag for policies to indicate that a pty
2242         should be allocated even if no I/O logging is performed.
2243         [e7b167f8a6e5]
2244
2245         * src/sudo.c:
2246         Add remaining plugin convenience functions
2247         [ffeaf96da031]
2248
2249         * include/sudo_plugin.h, src/sudo.c, src/sudo.h,
2250         src/sudo_plugin_int.h:
2251         Change I/O log API to pass in command info to the I/O log open
2252         function. Add iolog_file and iolog_dir parameters to command info.
2253         This allows the policy plugin to specify the I/O log pathname. Add
2254         convenience functions for calling plugin functions that handle ABI
2255         backwards compatibility.
2256         [9b81dce76ce5]
2257
2258         * compat/dlopen.c:
2259         Remove useless cast
2260         [7cecce969739]
2261
2262 2010-12-17  Todd C. Miller  <Todd.Miller@courtesan.com>
2263
2264         * configure, configure.in:
2265         Bump version to 1.8.0b3
2266         [1dc9f040aae0]
2267
2268 2010-12-13  Todd C. Miller  <Todd.Miller@courtesan.com>
2269
2270         * configure.in:
2271         Remove extraneous newline
2272         [71c94551eea5]
2273
2274 2010-12-10  Todd C. Miller  <Todd.Miller@courtesan.com>
2275
2276         * doc/sudoers.pod, plugins/sudoers/def_data.c,
2277         plugins/sudoers/def_data.h, plugins/sudoers/def_data.in,
2278         plugins/sudoers/defaults.c, plugins/sudoers/iolog.c:
2279         Make I/O log dir configurable.
2280         [99b576667a38]
2281
2282         * aclocal.m4, configure, configure.in, doc/sudoers.pod:
2283         Rename io_logdir to iolog_dir
2284         [0731662acc8d]
2285
2286 2010-12-07  Todd C. Miller  <Todd.Miller@courtesan.com>
2287
2288         * pp:
2289         Add missing '*' that prevented the generic ELF case from matching.
2290         [be77ca26bfb2]
2291
2292         * pp:
2293         If file(1) can't identify the ELF binary type, try readelf(1).
2294         [38a18d32a9e3]
2295
2296 2010-11-30  Todd C. Miller  <Todd.Miller@courtesan.com>
2297
2298         * plugins/sudoers/auth/kerb4.c, plugins/sudoers/check.c,
2299         plugins/sudoers/env.c, plugins/sudoers/pwutil.c,
2300         plugins/sudoers/sudoers.c, src/sudo.c:
2301         Use %u to print uid/gid, not %lu and adjust casts to match.
2302         [03c43b8749cf]
2303
2304         * doc/sudoers.ldap.pod:
2305         Clarify ordering of entries and attributes.
2306         [924e2a6bb603]
2307
2308         * doc/sudoers.ldap.pod:
2309         Fix typo and editing goof.
2310         [79dc7ccd85a8]
2311
2312         * doc/schema.ActiveDirectory, doc/schema.OpenLDAP, doc/schema.iPlanet,
2313         doc/sudoers.ldap.pod:
2314         Merge in ordered LDAP entry support from Andreas Mueller.
2315         [ea5885989bad]
2316
2317         * plugins/sudoers/ldap.c:
2318         Make sure we don't dereference a NULL handle.
2319         [1a9f9ee15371]
2320
2321 2010-11-24  Todd C. Miller  <Todd.Miller@courtesan.com>
2322
2323         * pp:
2324         Add support for RHEL 6 file modes that include a trailing dot on
2325         files with an SELinux security context
2326         [dc09be959547]
2327
2328 2010-11-23  Todd C. Miller  <Todd.Miller@courtesan.com>
2329
2330         * src/sudo.c:
2331         exec_setup() does not need to setuid(0), the Ubuntu issue was in the
2332         sudoers module.
2333         [d6dd99fc6062]
2334
2335         * plugins/sudoers/sudoers.c:
2336         create_admin_success_flag() should use restore_perms() rather than
2337         set_perms() to restore the uid.
2338         [eba7a91c1f57]
2339
2340         * src/sudo.c:
2341         In exec_setup() call setuid(0) to make certain the subsequent uid
2342         and gid changes will succeed. Fixes a problem on Ubuntu.
2343         [c5d32abf0645]
2344
2345         * src/sudo_edit.c:
2346         Error out if we cannot change to root's uid so we catch the failure
2347         early.
2348         [7a2e7f8f2c80]
2349
2350 2010-11-22  Todd C. Miller  <Todd.Miller@courtesan.com>
2351
2352         * doc/sudoers.pod:
2353         fix typo; from Michael T Hunter
2354         [a574a9d0db5b]
2355
2356         * plugins/sudoers/match.c:
2357         In sudoedit mode, assume command line arguments are paths and pass
2358         FNM_PATHNAME to fnmatch().
2359         [ce0abff8ce9f]
2360
2361 2010-11-20  Todd C. Miller  <Todd.Miller@courtesan.com>
2362
2363         * configure, configure.in:
2364         Add workaround for an error in sys/types.h on HP-UX 11.23 when large
2365         file support is enabled. Defining _XOPEN_SOURCE_EXTENDED avoids the
2366         broken bits of the header file.
2367         [e337217f097a]
2368
2369         * aclocal.m4:
2370         Fix SUDO_MAILDIR usage of AC_LANG_PROGRAM
2371         [fbbcee28961f]
2372
2373         * sudo.pp:
2374         For Tru64, strip off beta version.
2375         [eeccd762df5e]
2376
2377         * MANIFEST, plugins/sudoers/testsudoers.c,
2378         plugins/sudoers/tsgetgrpw.c, plugins/sudoers/tsgetgrpw.h:
2379         Avoid conflicts with system definitions in grp.h and pwd.h
2380         [b219ffe1da09]
2381
2382         * zlib/gzguts.h:
2383         Include stdio.h after zlib.h, not before. We need the large file
2384         defines to come first.
2385         [21d6df39790f]
2386
2387 2010-11-19  Todd C. Miller  <Todd.Miller@courtesan.com>
2388
2389         * doc/sudoers.ldap.cat, doc/sudoers.ldap.man.in:
2390         regen
2391         [3ff8750d0aac]
2392
2393         * Makefile.in:
2394         Don't clean ChangeLog
2395         [ab0d30d289d4]
2396
2397         * plugins/sudoers/testsudoers.c, plugins/sudoers/visudo.c:
2398         Add prototype for cleanup()
2399         [75626fd3769a]
2400
2401 2010-11-18  Todd C. Miller  <Todd.Miller@courtesan.com>
2402
2403         * plugins/sudoers/group_plugin.c:
2404         Avoid deferencing group_plugin if it is NULL in
2405         group_plugin_query(). This should not happen.
2406         [4f2933c8da7e]
2407
2408         * plugins/sudoers/group_plugin.c:
2409         group plugin init function return TRUE when successful
2410         [198024477030]
2411
2412 2010-11-17  Todd C. Miller  <Todd.Miller@courtesan.com>
2413
2414         * plugins/sudoers/ldap.c:
2415         Enlarge the array of entry wrappers int blocks of 100 entries to
2416         save on allocation time. From Andreas Mueller
2417         [375c916bb03b]
2418
2419         * plugins/sudoers/ldap.c:
2420         Add back call to sudo_ldap_timefilter() in sudo_ldap_build_pass2()
2421         that was mistakenly dropped.
2422         [1555f5bc132d]
2423
2424 2010-11-16  Todd C. Miller  <Todd.Miller@courtesan.com>
2425
2426         * doc/TROUBLESHOOTING:
2427         Mention that sudo needs "ar" to build.
2428         [65582ace2d09]
2429
2430         * configure, configure.in:
2431         Fail with a more useful error if "ar" is not found.
2432         [d1cb83719c17]
2433
2434 2010-11-14  Todd C. Miller  <Todd.Miller@courtesan.com>
2435
2436         * plugins/sudoers/ldap.c:
2437         Merge in ordered LDAP entry support from Andreas Mueller and add
2438         local changes from the 1.7 branch.
2439         [bca29e461618]
2440
2441 2010-11-12  Todd C. Miller  <Todd.Miller@courtesan.com>
2442
2443         * doc/schema.ActiveDirectory, doc/schema.OpenLDAP, doc/schema.iPlanet,
2444         doc/sudoers.ldap.pod, plugins/sudoers/ldap.c:
2445         Add timed entry support from Andreas Mueller.
2446         [e18d1df46a8d]
2447
2448         * plugins/sudoers/group_plugin.c:
2449         Don't try to unload if group_plugin is NULL. Don't call dlclose() if
2450         group_handle is NULL
2451         [de2273da37d5]
2452
2453         * plugins/sudoers/sudoers.h:
2454         It is now plugin_cleanup(), not cleanup()
2455         [da62a4e1a78c]
2456
2457         * plugins/sudoers/logging.c, plugins/sudoers/sudoers.c:
2458         Call plugin_cleanup(), not cleanup()
2459         [e800ad8b33ad]
2460
2461 2010-11-11  Todd C. Miller  <Todd.Miller@courtesan.com>
2462
2463         * plugins/sudoers/ldap.c:
2464         Use efree() not free() and remove malloc.h include since we never
2465         directly call malloc() or free().
2466         [107fffd134bb]
2467
2468 2010-11-09  Todd C. Miller  <Todd.Miller@courtesan.com>
2469
2470         * sudo.pp:
2471         set PSTAMP for Solaris and move the backend-specific bits to their
2472         own %if [xxx] %endif blocks in %set.
2473         [a94ebe8920c1]
2474
2475         * pp:
2476         sync with git repo
2477         [75ff509696b4]
2478
2479         * configure, configure.in:
2480         Only substitute file zlib files when using the builtin zlib
2481         [6c8145b2deb4]
2482
2483         * common/Makefile.in, compat/Makefile.in, plugins/sample/Makefile.in,
2484         plugins/sample_group/Makefile.in, plugins/sudoers/Makefile.in,
2485         src/Makefile.in, zlib/Makefile.in:
2486         Give up on using VPATH to find sources as it is implemented
2487         inconsistenly in different versions of make.
2488         [60517c69aaee]
2489
2490         * plugins/sudoers/Makefile.in, plugins/sudoers/getdate.c,
2491         plugins/sudoers/gram.c, plugins/sudoers/toke.c:
2492         Include config.h before any other includes to make sure we get the
2493         right value for _FILE_OFFSET_BITS.
2494         [8fb007ca832e]
2495
2496         * MANIFEST:
2497         Add zlib
2498         [04a3e23dfaa9]
2499
2500         * zlib/Makefile.in:
2501         Add missing targets
2502         [40e45a177168]
2503
2504         * src/Makefile.in:
2505         g/c unused $(GENERATED)
2506         [c8758068c1bc]
2507
2508 2010-11-08  Todd C. Miller  <Todd.Miller@courtesan.com>
2509
2510         * plugins/sudoers/group_plugin.c:
2511         Zero out group_plugin on unload just to be safe.
2512         [0b10f4d101ca]
2513
2514         * plugins/sudoers/group_plugin.c:
2515         Unload group plugin if its init function fails.
2516         [6552cdac4b7c]
2517
2518         * src/sudo.c:
2519         Only chdir to cwd if it is different from the current cwd or there
2520         is a new root (chroot).
2521         [b8203e875e84]
2522
2523         * configure, configure.in, doc/sudo.cat, doc/sudo.man.in,
2524         doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudoers.ldap.cat,
2525         doc/sudoers.ldap.man.in, doc/visudo.cat, doc/visudo.man.in:
2526         Bump version to 1.8.0b2
2527         [6dadeb75a878]
2528
2529 2010-10-28  Todd C. Miller  <Todd.Miller@courtesan.com>
2530
2531         * INSTALL:
2532         Better --enable-zlib description
2533         [e0da54fa59a6]
2534
2535         * mkpkg:
2536         Use system zlib on Linux Let configure decide on Solaris For all
2537         others, use builtin zlib
2538         [3d52eddb523c]
2539
2540         * zlib/zconf.h.in:
2541         Add large file support.
2542         [bec01215270d]
2543
2544         * config.h.in:
2545         Add large file support.
2546         [244e95b034ec]
2547
2548         * Makefile.in, configure, configure.in, doc/LICENSE, doc/license.pod,
2549         zlib/Makefile.in, zlib/adler32.c, zlib/compress.c, zlib/crc32.c,
2550         zlib/crc32.h, zlib/deflate.c, zlib/deflate.h, zlib/gzclose.c,
2551         zlib/gzguts.h, zlib/gzlib.c, zlib/gzread.c, zlib/gzwrite.c,
2552         zlib/infback.c, zlib/inffast.c, zlib/inffast.h, zlib/inffixed.h,
2553         zlib/inflate.c, zlib/inflate.h, zlib/inftrees.c, zlib/inftrees.h,
2554         zlib/trees.c, zlib/trees.h, zlib/uncompr.c, zlib/zconf.h.in,
2555         zlib/zlib.h, zlib/zutil.c, zlib/zutil.h:
2556         Add local copy of zlib for systems that lack it.
2557         [7542ca465c5a]
2558
2559 2010-10-15  Todd C. Miller  <Todd.Miller@courtesan.com>
2560
2561         * src/exec.c:
2562         If perform_io() fails, kill the child before exiting so it doesn't
2563         complain about connection reset. We can get an I/O error if, for
2564         example, and we get EIO reading from stdin.
2565         [e59a05fa729f]
2566
2567 2010-10-12  Todd C. Miller  <Todd.Miller@courtesan.com>
2568
2569         * plugins/sudoers/sudoers.c, src/sudo.c:
2570         Fix complilation on systems with set_auth_parameters() Sprinkle
2571         volatile to quiet warnings from gcc 2.8.0
2572         [a34c2b924ba7]
2573
2574         * compat/dlfcn.h, compat/dlopen.c:
2575         Avoid potential namespace issues with dlopen() emulation.
2576         [aedfababd6ca]
2577
2578         * MANIFEST:
2579         sync
2580         [6afb97e6d308]
2581
2582         * plugins/sudoers/interfaces.c:
2583         Use INADDR_NONE instead of casting -1 to in_addr_t (which may not
2584         exist).
2585         [ddfca5af1a36]
2586
2587         * Makefile.in:
2588         Mark ChangeLog as PHONY Don't overwrite ChangeLog if we can't run hg
2589         [e9d04bfa4505]
2590
2591         * configure, configure.in:
2592         HP-UX 10.20 libc has an incompatible getline
2593         [2e7bc202e78d]
2594
2595         * plugins/sudoers/visudo.c:
2596         Quiet an HP-UX compiler warning.
2597         [55b9d587ac8c]
2598
2599         * configure, configure.in:
2600         Check for vi even with --with-editor specified; the sample plugin
2601         needs it.
2602         [94dfc3643f76]
2603
2604 2010-10-11  Todd C. Miller  <Todd.Miller@courtesan.com>
2605
2606         * compat/dlopen.c:
2607         Fix remaining syntax errors.
2608         [9d729b5b577e]
2609
2610         * src/Makefile.in:
2611         sudo binary depends on the libtool-generated libs
2612         [9e6148406adb]
2613
2614         * plugins/sudoers/group_plugin.c, src/load_plugins.c:
2615         Use HAVE_DLOPEN instead of HAVE_DLFCN_H when determining whether to
2616         include the local or system dlfcn.h
2617         [68cfe4c1089b]
2618
2619         * pp:
2620         Don't use run_as_superuser=false on HP-UX
2621         [532242370b09]
2622
2623         * src/net_ifs.c:
2624         Use memset() instead of zero_bytes() since we don't include
2625         sudoers.h
2626         [a187c18c2472]
2627
2628         * plugins/sudoers/interfaces.c:
2629         Fix pasto; AF_INET not AF_INET6
2630         [2d2e9d7dc6f9]
2631
2632         * compat/dlopen.c:
2633         Actually call shl_load()
2634         [ed8153b8a3cd]
2635
2636         * pp:
2637         Update from git repo. Debian: version numbers now compliant with
2638         policy section 5.6.12 HP-UX: minimal changes needed to work on HP-UX
2639         10.20
2640         [ecf2692bceeb]
2641
2642         * configure, configure.in:
2643         Fix dlopen() detection for systems where dlopen() is in a separate
2644         library.
2645         [fa6b175582b6]
2646
2647         * plugins/sudoers/auth/pam.c:
2648         If pam_acct_mgmt() returns PAM_AUTH_ERR print a (hopefully) more
2649         useful message and return AUTH_FATAL so sudo does not keep trying to
2650         validate the user.
2651         [1be8857e5291]
2652
2653         * src/preload.c:
2654         sudo_preload_table is an array
2655         [b7704e72a9da]
2656
2657         * compat/dlopen.c:
2658         Quiet a compiler warning and fix sudo_preload_table external
2659         definition.
2660         [8234987664cc]
2661
2662         * compat/dlfcn.h:
2663         Fix multiple inclusion guard in dlfcn.h and fix dlerror() prototype.
2664         [8bab6a4053cc]
2665
2666         * plugins/sudoers/group_plugin.c:
2667         Make this compile correctly when no dlopen is available.
2668         [57643879bd2b]
2669
2670 2010-10-07  Todd C. Miller  <Todd.Miller@courtesan.com>
2671
2672         * plugins/sudoers/check.c:
2673         Having a timestamp file defined is no longer indicative of tty
2674         tickets being enabled. Check def_tty_tickets directly.
2675         [efcc11ad157f]
2676
2677         * src/exec_pty.c, src/sudo.h, src/ttysize.c:
2678         Fix TCGETWINSZ compat.
2679         [da3a8b17cf7a]
2680
2681 2010-10-02  Todd C. Miller  <Todd.Miller@courtesan.com>
2682
2683         * src/exec_pty.c, src/ttysize.c:
2684         Prefer newer TIOCGWINSZ ioctl to old TIOCGSIZE
2685         [926492dd10a6]
2686
2687 2010-10-01  Todd C. Miller  <Todd.Miller@courtesan.com>
2688
2689         * plugins/sudoers/sudoers.c, src/sudo.c:
2690         Move set_project() from sudoers module into sudo proper.
2691         [beabafac03b4]
2692
2693         * configure, configure.in:
2694         Fix typo and regenerate
2695         [4a3caf4234f3]
2696
2697         * plugins/sudoers/ldap.c:
2698         When iterating over returned LDAP entries, keep looking at remaining
2699         matches even if we have a positive match. This catches negative
2700         matches that may exist in other entries and more closely match the
2701         sudoers file behavior.
2702         [f47db6e609b0]
2703
2704         * pp:
2705         Add support for multiple package instances on Solaris.
2706         [7f2a8b942545]
2707
2708         * src/exec.c:
2709         Add missing signal_pipe[0] to fdsr for the non-pty case.
2710         [79d01e11b19c]
2711
2712         * mkpkg:
2713         Add --with-project for Solaris
2714         [ffa4c2bb93f7]
2715
2716         * README:
2717         Need ar and ranlib too
2718         [5c2f679172ef]
2719
2720 2010-09-27  Todd C. Miller  <Todd.Miller@courtesan.com>
2721
2722         * plugins/sudoers/env.c:
2723         Preserve ODMDIR environment variable by default on AIX.
2724         [bd47cb1e804f]
2725
2726 2010-09-26  Todd C. Miller  <Todd.Miller@courtesan.com>
2727
2728         * Makefile.in, compat/Makefile.in, compat/dlfcn.h, compat/dlopen.c,
2729         config.h.in, configure, configure.in, plugins/sample/Makefile.in,
2730         plugins/sample_group/Makefile.in, plugins/sudoers/Makefile.in,
2731         plugins/sudoers/group_plugin.c, plugins/sudoers/plugin_error.c,
2732         plugins/sudoers/sudoers.c, src/Makefile.in, src/load_plugins.c,
2733         src/preload.c:
2734         Add dlopen() emulation for systems without it. For HP-UX 10, emulate
2735         using shl_load(). For others, link sudoers plugin statically and use
2736         a lookup table to emulate dlsym().
2737         [e92edfb3c642]
2738
2739 2010-09-24  Todd C. Miller  <Todd.Miller@courtesan.com>
2740
2741         * compat/fnmatch.c, compat/glob.c, compat/mksiglist.c,
2742         compat/nanosleep.c, compat/utimes.c:
2743         When including compat headers, use the compat dir as part of the
2744         path so we are sure to get the correct header.
2745         [6c2a45da6af5]
2746
2747 2010-09-21  Todd C. Miller  <Todd.Miller@courtesan.com>
2748
2749         * plugins/sudoers/linux_audit.c:
2750         Ignore ECONNREFUSED from audit_log_user_command() which will occur
2751         if auditd is not running.
2752         [d314fe4c8d03]
2753
2754 2010-09-17  Todd C. Miller  <Todd.Miller@courtesan.com>
2755
2756         * pp:
2757         Sync with git version
2758         [1c0357744222]
2759
2760 2010-09-16  Todd C. Miller  <Todd.Miller@courtesan.com>
2761
2762         * common/fileops.c, plugins/sudoers/defaults.c:
2763         Cast isblank argument to unsigned char.
2764         [c822dbb3ca54]
2765
2766 2010-09-14  Todd C. Miller  <Todd.Miller@courtesan.com>
2767
2768         * INSTALL, config.h.in, configure, configure.in, doc/sudoers.cat,
2769         doc/sudoers.man.in, doc/sudoers.pod, plugins/sudoers/defaults.c:
2770         Implement --with-umask-override configure flag.
2771         [863e3047df22]
2772
2773         * plugins/sudoers/env.c:
2774         Take MODE_LOGIN_SHELL into account when initially setting reset_home
2775         instead of special-casing it later.
2776         [5d6b16480fd6]
2777
2778         * plugins/sudoers/sudoers.c:
2779         In login mode, make a copy of the runas user's pw_shell for
2780         NewArgv[0] because 1) we modify it and 2) it will runas_pw gets
2781         freed before exec.
2782         [1d1ccb568dfa]
2783
2784         * plugins/sudoers/env.c:
2785         Reset HOME for "sudo -i" even if HOME was listed in env_keep.
2786         [c1c1c65a2d63]
2787
2788         * src/sudo.c:
2789         Use SIG_SETMASK when resetting signal mask instead of SIG_UNBLOCK.
2790         [7443454e5f88]
2791
2792         * src/sudo.c:
2793         Reset signal mask at sudo startup time; we need to be able to rely
2794         on normal signal delivery to control the child process.
2795         [95800163ff94]
2796
2797 2010-09-13  Todd C. Miller  <Todd.Miller@courtesan.com>
2798
2799         * install-sh:
2800         Use sed instead of expr to split a flag from its argument. Fixes a
2801         problem with expr interpreting its arguments as a flag when they
2802         start with a dash.
2803         [736065e14301]
2804
2805         * common/lbuf.c:
2806         Do not need sys/time.h after all
2807         [91f6f668ccda]
2808
2809         * common/lbuf.c:
2810         Include sys/time.h for utimes() and struct timeval. No longer need
2811         ioctl.h or termios.h
2812         [2d75273d3213]
2813
2814         * compat/snprintf.c:
2815         Quiet bogus compiler warnings.
2816         [fe252e1968f5]
2817
2818         * include/missing.h:
2819         Declare innetgr() for HP-UX which is missing a declaration. Declare
2820         domainname() for HP-UX and Solaris which are missing a declaration.
2821         [b37c50751138]
2822
2823         * plugins/sudoers/bsm_audit.c:
2824         Use __sun for consistency with the rest of the sources.
2825         [6b086b61ccb6]
2826
2827         * plugins/sudoers/group_plugin.c:
2828         Quiet a bogus compiler warning.
2829         [ebc069842c4a]
2830
2831         * plugins/sudoers/pwutil.c:
2832         Don't try to delref a NULL group.
2833         [f6ff0838be21]
2834
2835         * common/alloc.c, common/lbuf.c:
2836         Include memory.h on systems that need it.
2837         [4e676da81c6f]
2838
2839 2010-09-11  Todd C. Miller  <Todd.Miller@courtesan.com>
2840
2841         * src/exec.c:
2842         Quiet gcc warnings on glibc systems that use warn_unused_result for
2843         write(2).
2844         [0532da0b7cf7]
2845
2846         * doc/sudoers.cat, doc/sudoers.man.in, doc/sudoers.pod:
2847         sudo_plugin is in section 8; from Ted Percival
2848         [b4506a0de87e]
2849
2850         * plugins/sudoers/Makefile.in:
2851         testsudoers depends on libsudoers.la, not sudoreplay
2852         [cdb1cc3bf06a]
2853
2854 2010-09-10  Todd C. Miller  <Todd.Miller@courtesan.com>
2855
2856         * src/exec.c:
2857         Read as many signals on the signal pipe as we can before returning.
2858         [b181671da047]
2859
2860         * src/exec.c, src/exec_pty.c, src/sudo_exec.h:
2861         Instead of using a array to store received signals, open a pipe and
2862         have the signal handler write the signal number to one end and
2863         select() on the other end. This makes it possible to handle signals
2864         similar to I/O without race conditions.
2865         [ee84d65c16b6]
2866
2867 2010-09-09  Todd C. Miller  <Todd.Miller@courtesan.com>
2868
2869         * doc/visudo.pod, plugins/sudoers/visudo.c:
2870         Make "visudo -c -f -" check the standard input.
2871         [195a3d2a9a26]
2872
2873         * doc/sudoers.pod:
2874         set_home and always_set_home have an effect if HOME is present in
2875         the env_keep list.
2876         [159d0b9dc5c8]
2877
2878         * plugins/sudoers/env.c:
2879         Make -H flag work when HOME is listed in env_keep. Also makes
2880         "set_home" and "always_set_home" override override HOME in env_keep.
2881         [a3e5b966193f]
2882
2883 2010-09-08  Todd C. Miller  <Todd.Miller@courtesan.com>
2884
2885         * plugins/sudoers/Makefile.in, plugins/sudoers/interfaces.c,
2886         plugins/sudoers/interfaces.h, plugins/sudoers/match.c,
2887         plugins/sudoers/sudoers.c, plugins/sudoers/testsudoers.c,
2888         plugins/sudoers/visudo.c, src/net_ifs.c:
2889         Convert sudoers plugin to use interface list passed in settings.
2890         [87d9b5f4f586]
2891
2892         * doc/sudo_plugin.pod, src/Makefile.in, src/net_ifs.c,
2893         src/parse_args.c, src/sudo.h:
2894         Query local network interfaces in the main sudo driver and pass to
2895         the plugin as "network_addrs" in the settings list.
2896         [7f35bcfe77a7]
2897
2898         * plugins/sudoers/bsm_audit.c:
2899         Solaris BSM audit return EINVAL when auditing is not enabled,
2900         whereas OpenBSM returns ENOSYS.
2901         [411b980ec58b]
2902
2903 2010-09-07  Todd C. Miller  <Todd.Miller@courtesan.com>
2904
2905         * compat/fnmatch.c:
2906         missing.h should come before most local includes
2907         [53921a7b8b5b]
2908
2909         * plugins/sudoers/sudoreplay.c:
2910         missing.h should come before most local includes
2911         [e9abb0db1aac]
2912
2913         * plugins/sudoers/sudoers.h:
2914         Make local includes consistent; use double quotes for local includes
2915         except for generated ones where we use angle brackets.
2916         [09de4faa9547]
2917
2918         * plugins/sudoers/sudoers.c:
2919         Always fill in NewArgv for audit code.
2920         [7c3aca60519f]
2921
2922         * plugins/sudoers/toke.c, plugins/sudoers/toke.l:
2923         Add missing LOG_INPUT/LOG_OUTPUT support in the lexer.
2924         [007cf6560f92]
2925
2926         * common/alloc.c, common/atobool.c, common/fileops.c,
2927         common/fmt_string.c, common/lbuf.c, common/list.c, common/term.c,
2928         common/zero_bytes.c, compat/closefrom.c, compat/fnmatch.c,
2929         compat/getcwd.c, compat/getgrouplist.c, compat/getline.c,
2930         compat/getprogname.c, compat/glob.c, compat/isblank.c,
2931         compat/memrchr.c, compat/mksiglist.c, compat/mkstemps.c,
2932         compat/nanosleep.c, compat/setenv.c, compat/snprintf.c,
2933         compat/strlcat.c, compat/strlcpy.c, compat/strsignal.c,
2934         compat/unsetenv.c, compat/utimes.c, include/compat.h,
2935         plugins/sample/sample_plugin.c, plugins/sample_group/getgrent.c,
2936         plugins/sample_group/plugin_test.c,
2937         plugins/sample_group/sample_group.c, plugins/sudoers/audit.c,
2938         plugins/sudoers/auth/afs.c, plugins/sudoers/boottime.c,
2939         plugins/sudoers/getdate.c, plugins/sudoers/getdate.y,
2940         plugins/sudoers/linux_audit.c, plugins/sudoers/match.c,
2941         plugins/sudoers/plugin_error.c, plugins/sudoers/sudoreplay.c,
2942         plugins/sudoers/timestr.c, src/error.c, src/sesh.c, src/sudo.h,
2943         src/sudo_noexec.c, src/ttysize.c:
2944         Make local includes consistent; use double quotes for local includes
2945         except for generated ones where we use angle brackets. Also g/c
2946         unused compat.h.
2947         [e57070dc8f04]
2948
2949 2010-09-06  Todd C. Miller  <Todd.Miller@courtesan.com>
2950
2951         * plugins/sudoers/match.c:
2952         When matching the runas user and runas group (-u and -g command line
2953         options), keep track of runas group and runas user matches
2954         separately. Only return a positive match if we have a match for
2955         both runas user and runas group (if specified).
2956         [815219e04cc8]
2957
2958 2010-09-04  Todd C. Miller  <Todd.Miller@courtesan.com>
2959
2960         * doc/sudoers.ldap.pod, plugins/sudoers/ldap.c:
2961         Add support for multiple URI lines by joining the contents and
2962         passing the result to ldap_initialize.
2963         [a47cae3b72e8]
2964
2965         * plugins/sudoers/ldap.c, plugins/sudoers/parse.c:
2966         Do not return -1 on error from the display functions; the caller
2967         expects a return value >= 0.
2968         [101456a7dd00]
2969
2970         * plugins/sudoers/sudoers.c:
2971         Do not set both MODE_EDIT and MODE_RUN
2972         [8faa36694d54]
2973
2974 2010-09-03  Todd C. Miller  <Todd.Miller@courtesan.com>
2975
2976         * include/missing.h:
2977         Move includes to the top of the file.
2978         [a51436798e8c]
2979
2980 2010-08-30  Todd C. Miller  <Todd.Miller@courtesan.com>
2981
2982         * plugins/sudoers/Makefile.in:
2983         Add missing definition of timedir
2984         [458a749c2c5e]
2985
2986         * compat/fnmatch.c, compat/getprogname.c, compat/isblank.c,
2987         compat/mksiglist.c, compat/strsignal.c,
2988         plugins/sudoers/plugin_error.c, src/error.c, src/sudo_noexec.c:
2989         Add #include of sys/types.h for .c files that include missing.h to
2990         be sure that size_t and ssize_t are defined.
2991         [08e3132dbf4f]
2992
2993         * plugins/sudoers/Makefile.in:
2994         Install sudoers file from the build dir not hte src dir.
2995         [ca89e962dbf4]
2996
2997 2010-08-26  Todd C. Miller  <Todd.Miller@courtesan.com>
2998
2999         * plugins/sudoers/set_perms.c:
3000         If runas_pw changes, reset the stashed runas aux group vector.
3001         Otherwise, if runas_default is set in a per-command Defaults
3002         statement, the command runs with root's aux group vector (i.e. the
3003         one that was used when locating the command).
3004         [24f9107cedd2]
3005
3006         * plugins/sudoers/Makefile.in:
3007         Add target to generate sudoers file Remove generated sudoers file as
3008         part of distclean
3009         [fb7422e90f03]
3010
3011 2010-08-24  Todd C. Miller  <Todd.Miller@courtesan.com>
3012
3013         * src/exec.c:
3014         When not logging I/O install a handler for SIGCONT and deliver it to
3015         the command upon resume. Fixes bugzilla #431
3016         [495dce52a5aa]
3017
3018 2010-08-21  Todd C. Miller  <Todd.Miller@courtesan.com>
3019
3020         * plugins/sudoers/sudoers.h:
3021         g/c unused auth_pw extern definition
3022         [40eb7477ba17]
3023
3024         * plugins/sudoers/check.c, plugins/sudoers/sudoers.c:
3025         Move get_auth() into check.c where it is actually used.
3026         [e31db0ce3a61]
3027
3028 2010-08-20  Todd C. Miller  <Todd.Miller@courtesan.com>
3029
3030         * common/lbuf.c:
3031         Convert a remaining puts() and putchar() to use the output function.
3032         [d69e363a506b]
3033
3034         * plugins/sudoers/plugin_error.c:
3035         Plug memory leak
3036         [68895469ea8d]
3037
3038 2010-08-18  Todd C. Miller  <Todd.Miller@courtesan.com>
3039
3040         * plugins/sudoers/env.c:
3041         Set dupcheck to TRUE when setting new HOME value if !env_reset but
3042         always_set_home is true. Prevents a duplicate HOME in the
3043         environment (old value plus the new one) introduced in f421f8827340.
3044         [9ca19183794f]
3045
3046         * configure, configure.in, plugins/sudoers/sudoers,
3047         plugins/sudoers/sudoers.in:
3048         Substitute sysconfdir in the installed sudoers file to get the
3049         correct path for sudoers.d.
3050         [86072b6cd55d]
3051
3052 2010-08-17  Todd C. Miller  <Todd.Miller@courtesan.com>
3053
3054         * src/get_pty.c:
3055         Fix typo that prevented compilation on Irix; Friedrich Haubensak
3056         [b48be51b65fc]
3057
3058 2010-08-16  Todd C. Miller  <Todd.Miller@courtesan.com>
3059
3060         * MANIFEST, common/Makefile.in, common/aix.c, common/alloc.c,
3061         common/atobool.c, common/fileops.c, common/fmt_string.c,
3062         common/lbuf.c, common/list.c, common/term.c, common/zero_bytes.c,
3063         compat/Makefile.in, compat/closefrom.c, compat/fnmatch.c,
3064         compat/getcwd.c, compat/getgrouplist.c, compat/getline.c,
3065         compat/getprogname.c, compat/glob.c, compat/isblank.c,
3066         compat/memrchr.c, compat/mksiglist.c, compat/mkstemps.c,
3067         compat/nanosleep.c, compat/setenv.c, compat/snprintf.c,
3068         compat/strlcat.c, compat/strlcpy.c, compat/strsignal.c,
3069         compat/unsetenv.c, compat/utimes.c, include/compat.h,
3070         include/missing.h, plugins/sample/sample_plugin.c,
3071         plugins/sample_group/getgrent.c,
3072         plugins/sample_group/sample_group.c, plugins/sudoers/Makefile.in,
3073         plugins/sudoers/audit.c, plugins/sudoers/boottime.c,
3074         plugins/sudoers/getdate.c, plugins/sudoers/getdate.y,
3075         plugins/sudoers/linux_audit.c, plugins/sudoers/plugin_error.c,
3076         plugins/sudoers/sudoers.h, plugins/sudoers/sudoreplay.c,
3077         plugins/sudoers/timestr.c, src/Makefile.in, src/error.c, src/sesh.c,
3078         src/sudo.h, src/sudo_noexec.c, src/ttysize.c:
3079         Merge compat.h and missing.h into missing.h
3080         [572909ae9716]
3081
3082 2010-08-14  Todd C. Miller  <Todd.Miller@courtesan.com>
3083
3084         * plugins/sudoers/auth/pam.c:
3085         If the user hits ^C while a password is being read, error out before
3086         reading any further passwords in the pam conversation function.
3087         Otherwise, if multiple PAM auth methods are required, the user will
3088         have to hit ^C for each one.
3089         [23782631748c]
3090
3091 2010-08-12  Todd C. Miller  <Todd.Miller@courtesan.com>
3092
3093         * plugins/sudoers/check.c:
3094         Update comment
3095         [a5296cb3a20a]
3096
3097         * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod:
3098         Document sudo_conv_t function and sudo_printf_t return values.
3099         [745c0017814c]
3100
3101         * src/conversation.c:
3102         Make _sudo_printf return the number of characters printed on success
3103         like printf(3).
3104         [8eeefe8d7e77]
3105
3106 2010-08-10  Todd C. Miller  <Todd.Miller@courtesan.com>
3107
3108         * plugins/sudoers/sudoers.c:
3109         sudoers.h includes sudo_plugin.h for us
3110         [cabe68e07807]
3111
3112         * common/Makefile.in, common/gettime.c, compat/mkstemps.c,
3113         plugins/sudoers/sudoers.h, plugins/sudoers/visudo.c, src/sudo.h,
3114         src/sudo_edit.c:
3115         Use gettimeofday() directly instead of via the gettime() wrapper.
3116         [7490426c99ae]
3117
3118         * common/gettime.c, compat/snprintf.c, compat/strcasecmp.c,
3119         compat/strerror.c, config.h.in, configure, configure.in,
3120         include/compat.h, include/missing.h, plugins/sudoers/logging.c,
3121         plugins/sudoers/sudoers.c, plugins/sudoers/visudo.c, src/sudo.c:
3122         Remove some obsolete configure tests, ancient Unix systems are no
3123         longer supported.
3124         [2be6218c3a36]
3125
3126 2010-08-07  Todd C. Miller  <Todd.Miller@courtesan.com>
3127
3128         * sudo.pp:
3129         Set pp_kit_version and strip off patch level
3130         [aacfda1b676d]
3131
3132         * sudo.pp:
3133         Better handling of versions with a patchlevel. For rpm and deb, use
3134         the patchlevel+1 as the release. For AIX, use the patchlevel as the
3135         4th version number. For the rest, just leave the patchlevel in the
3136         version string.
3137         [638bd35f2346]
3138
3139 2010-08-06  Todd C. Miller  <Todd.Miller@courtesan.com>
3140
3141         * plugins/sudoers/auth/sudo_auth.c:
3142         For non-standalone auth methods, stop reading the password if the
3143         user enters ^C at the prompt.
3144         [82c2911bb264]
3145
3146         * configure, configure.in, plugins/sudoers/Makefile.in,
3147         plugins/sudoers/auth/passwd.c, plugins/sudoers/auth/secureware.c,
3148         plugins/sudoers/auth/sudo_auth.c, plugins/sudoers/auth/sudo_auth.h,
3149         plugins/sudoers/pwutil.c:
3150         No need to look up shadow password unless we are doing password-
3151         style authentication. This moves the shadow password lookup to the
3152         auth functions that need it.
3153         [ba9e3eba2b72]
3154
3155         * plugins/sudoers/sudoers.c:
3156         Retain final passwd/group refs until the policy close() function.
3157         Note that this doesn't get called in all cases so putting this in a
3158         cleanup function is probably better.
3159         [bbe214cb4119]
3160
3161         * plugins/sudoers/check.c:
3162         Fix mismerge
3163         [395115f89dd6]
3164
3165         * plugins/sudoers/check.c:
3166         When removing/resetting the timestamp file ignore the tty ticket
3167         contents.
3168         [b709f5667a0b]
3169
3170         * plugins/sudoers/sudoers.c:
3171         delref sudo_user.pw, runas_pw and runas_gr immediately before we
3172         return.
3173         [4d67d15dfd3b]
3174
3175 2010-08-04  Todd C. Miller  <Todd.Miller@courtesan.com>
3176
3177         * plugins/sudoers/check.c, plugins/sudoers/ldap.c,
3178         plugins/sudoers/match.c, plugins/sudoers/pwutil.c,
3179         plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h:
3180         Reference count cached passwd and group structs. The cache holds
3181         one reference itself and another is added by sudo_getgr{gid,nam} and
3182         sudo_getpw{uid,nam}. The final ref on the runas and user passwd and
3183         group structs are persistent for now.
3184         [e544685523c3]
3185
3186         * doc/UPGRADE:
3187         fix typo
3188         [e32f2d35e6c9]
3189
3190 2010-08-03  Todd C. Miller  <Todd.Miller@courtesan.com>
3191
3192         * plugins/sudoers/check.c:
3193         Do not produce a warning for "sudo -k" if the ticket file does not
3194         exist.
3195         [1598f6061b75]
3196
3197         * plugins/sudoers/pwutil.c:
3198         Instead of caching struct passwd and struct group in the red-black
3199         tree, store a struct cache_item which includes both the key and
3200         datum. This allows us to user the actual name that was looked up as
3201         the key instead of the contents of struct passwd or struct group.
3202         This matters because the name in the database may not match what we
3203         looked up, due either to case folding or truncation (historically at
3204         8 characters). Also mark the disabled calls to sudo_freepwcache()
3205         and sudo_freegrcache() as broken since we use cached data for things
3206         like set_perms() and the logging functions. Fixing this would
3207         require making a copy of the structs for user and runas or adding a
3208         reference count (better).
3209         [225d4a22f60e]
3210
3211         * plugins/sudoers/Makefile.in:
3212         Fix path to mkinstalldirs
3213         [b4968379b12d]
3214
3215         * plugins/sudoers/check.c, plugins/sudoers/logging.c,
3216         plugins/sudoers/sudoreplay.c, plugins/sudoers/visudo.c,
3217         src/exec_pty.c, src/get_pty.c, src/tgetpass.c:
3218         Quiet gcc warnings on glibc systems that use warn_unused_result for
3219         write(2) and others.
3220         [c99f138960e0]
3221
3222 2010-08-02  Todd C. Miller  <Todd.Miller@courtesan.com>
3223
3224         * plugins/sudoers/toke.c, plugins/sudoers/toke.l:
3225         Add %option noinput
3226         [72b9cd49b4f1]
3227
3228         * aclocal.m4, configure, configure.in:
3229         Add cross-compile defaults for remaining AC_TRY_RUN usage. Also add
3230         back getgroups() check since AC_FUNC_GETGROUPS defaults to "no" when
3231         cross-compiling.
3232         [e385c176d0ee]
3233
3234 2010-07-31  Todd C. Miller  <Todd.Miller@courtesan.com>
3235
3236         * aclocal.m4, compat/snprintf.c, config.h.in, configure, configure.in:
3237         Use AC_CHECK_MEMBER in SUDO_SOCK_SA_LEN Use AC_TYPE_LONG_LONG_INT
3238         and AC_CHECK_SIZEOF([long int]) instead of rolling our own.
3239         [cf3e60d9c440]
3240
3241 2010-07-29  Todd C. Miller  <Todd.Miller@courtesan.com>
3242
3243         * pp:
3244         Update to latest version
3245         [32f93be33961]
3246
3247 2010-07-28  Todd C. Miller  <Todd.Miller@courtesan.com>
3248
3249         * sudo.pp:
3250         Let pp determine pp_aix_version itself.
3251         [7cf0245d84ed]
3252
3253         * INSTALL, config.h.in, configure, configure.in, mkpkg,
3254         plugins/sudoers/sudoers.c:
3255         Add support for Ubuntu admin flag file and enable it when building
3256         Ubuntu packages.
3257         [00e27cff2dfb]
3258
3259         * plugins/sudoers/sudoers, sudo.pp:
3260         Add commented out SuSE-like targetpw settings
3261         [4605d47b7413]
3262
3263         * configure, configure.in:
3264         Only try to use +DAportable for non-GCC on hppa
3265         [75d0f284ccf7]
3266
3267         * configure, configure.in:
3268         Prevent configure from adding the -g flag unless in devel mode
3269         [b1fd3f8d45c0]
3270
3271 2010-07-27  Todd C. Miller  <Todd.Miller@courtesan.com>
3272
3273         * sudo.pp:
3274         Go back to sudo-flavor to match existing packages and only use an
3275         underscore for those that need it.
3276         [d737069d1e1c]
3277
3278         * sudo.pp:
3279         Use sudo_$flavor instead of sudo-$flavor since that causes the least
3280         amount of trouble for the various package managers.
3281         [71f547af35fc]
3282
3283         * mkpkg:
3284         Fix handling of the ldap flavor Remove destdir unless --debug was
3285         specified Make distclean before running configure if there is a
3286         Makefile present
3287         [6316f08de7d3]
3288
3289         * sudo.pp:
3290         Add back include file.
3291         [195627bf68b8]
3292
3293         * mkpkg:
3294         Pass extra args on to configure on HP-UX, if we don't have the HP C
3295         compiler, disable zlib to prevent gcc from finding it in
3296         /usr/local/lib.
3297         [473efa0e2bac]
3298
3299         * mkpkg:
3300         Use the HP ANSI C compiler on HP-UX if possible
3301         [fb249b6b175d]
3302
3303         * plugins/sudoers/sudoreplay.c:
3304         Some getline() implementations (FreeBSD 8.0) do not ignore the
3305         length pointer when the line pointer is NULL as they should.
3306         [2410a1a3543c]
3307
3308         * plugins/sudoers/sudoreplay.c:
3309         Don't need to check for *cp being non-zero, isdigit() will do that.
3310         [7df11ea8a487]
3311
3312         * plugins/sudoers/sudoreplay.c:
3313         Add setlocale() so the command line arguments that use floating
3314         point work in different locales. Since sudo now logs the timing
3315         data in the C locale we must Parse the seconds in the timing file
3316         manually instead of using strtod(). Furthermore, sudo 1.7.3 logged
3317         the number of seconds with the user's locale so if the decimal point
3318         is not '.' try using the locale-specific version.
3319         [4d385765f23b]
3320
3321         * src/exec.c:
3322         Do I/O logging in the C locale so the floating point numbers in the
3323         timing file are not locale-dependent.
3324         [5961cec044ec]
3325
3326         * plugins/sudoers/sudoreplay.c:
3327         Use errorx() not error() for thingsthat don't set errno.
3328         [0fe5e692af84]
3329
3330 2010-07-26  Todd C. Miller  <Todd.Miller@courtesan.com>
3331
3332         * pp:
3333         Better support for 1.2.3 style versions in Tru64 kits
3334         [997c549bb777]
3335
3336         * sudo.pp:
3337         Add Tru64 kit support
3338         [e273a954f981]
3339
3340         * pp:
3341         Remove apparently unnecessary use of sudo
3342         [be8840d85125]
3343
3344         * Makefile.in, plugins/sudoers/Makefile.in:
3345         Create timedir as part of install-dirs target.
3346         [c736bc2fb14f]
3347
3348         * src/exec_pty.c:
3349         Handle ENXIO from read/write which can occur when reading/writing a
3350         pty that has gone away.
3351         [fa2e8059879f]
3352
3353         * plugins/sudoers/pwutil.c:
3354         sudo_pwdup() was not expanding an empty pw_shell to _PATH_BSHELL
3355         [3a045475d5ee]
3356
3357         * mkpkg:
3358         platform is a pp flag not a variable
3359         [12eba39a47c1]
3360
3361         * Makefile.in, mkpkg, sudo.pp:
3362         Add simple arg parsing for mkpkg so we can set debug, flavor or
3363         platform.
3364         [ada839fe252d]
3365
3366         * pp:
3367         Make rpm backend work on AIX 5.x
3368         [549a76d11393]
3369
3370 2010-07-25  Todd C. Miller  <Todd.Miller@courtesan.com>
3371
3372         * plugins/sudoers/sudoers:
3373         Add commented out Defaults entry for log_output
3374         [7e67d7588900]
3375
3376 2010-07-23  Todd C. Miller  <Todd.Miller@courtesan.com>
3377
3378         * doc/Makefile.in:
3379         Remove sudo docdir completely
3380         [dce8e82878ef]
3381
3382         * doc/sample.sudo.conf:
3383         Add sample sudo.conf
3384         [aafdba3fc411]
3385
3386 2010-07-22  Todd C. Miller  <Todd.Miller@courtesan.com>
3387
3388         * plugins/sudoers/Makefile.in:
3389         Add PACKAGE_TARNAME for docdir
3390         [930c92b8f8f0]
3391
3392 2010-07-23  Todd C. Miller  <Todd.Miller@courtesan.com>
3393
3394         * src/Makefile.in:
3395         Pass install-sh -b~ here too.
3396         [c3f5eb446c38]
3397
3398         * plugins/sample/Makefile.in, plugins/sample_group/Makefile.in,
3399         plugins/sudoers/Makefile.in, src/Makefile.in:
3400         Install binary files with -b~ to make a backup. Fixes "text file
3401         busy" error on HP-UX during install.
3402         [81f306f54f8c]
3403
3404         * install-sh:
3405         "mv -f" on HP-UX doesn't unlink the destination first so add an
3406         explicit rm before moving the temporary into place.
3407         [fb719a79582d]
3408
3409         * configure, configure.in:
3410         Some more ${foo} -> $(foo) conversion for consistent Makefiles.
3411         [0aa098770074]
3412
3413         * doc/Makefile.in, plugins/sudoers/Makefile.in:
3414         Install sudoers2ldif in the doc dir
3415         [33ac3b53d7f5]
3416
3417 2010-07-22  Todd C. Miller  <Todd.Miller@courtesan.com>
3418
3419         * pathnames.h.in:
3420         Add missing include of maillock.h for Solaris
3421         [5a58883be23a]
3422
3423         * NEWS, configure, configure.in, doc/TROUBLESHOOTING, doc/UPGRADE,
3424         doc/sample.syslog.conf, doc/sudoers.cat:
3425         Change the default syslog facility from local2 to authpriv (or auth
3426         if the operating system doesn't support authpriv).
3427         [3b70ba514f49]
3428
3429         * Makefile.in, sudo.pp:
3430         Install sudoers as /etc/sudoers on RPM and debian systems where the
3431         package manager will not replace a user-modified configuration file.
3432         This fixes upgrades from the vendor sudo packages.
3433         [d886b6d60b5b]
3434
3435         * pp:
3436         RPM: use %config(noreplace) instead of %config for volatile This
3437         results in the new file being installed with a .rpmnew suffix
3438         instead of the file being replaced and the old one renamed with a
3439         .rpmsave suffix.
3440         [58be2119f8e8]
3441
3442 2010-07-21  Todd C. Miller  <Todd.Miller@courtesan.com>
3443
3444         * compat/mkstemps.c, plugins/sudoers/boottime.c:
3445         Include time.h for struct timeval
3446         [ddf8b04f0276]
3447
3448         * src/exec_pty.c:
3449         The return value of strsignal() may be const and should be treated
3450         as const regardless.
3451         [620074ae1e77]
3452
3453         * doc/sudoers.cat, doc/sudoers.man.in, doc/sudoers.pod:
3454         Mention that 127.0.0.1 will not match, nor will localhost unless
3455         that is the actual host name.
3456         [8b574122eb8f]
3457
3458         * MANIFEST, NEWS, README, WHATSNEW, doc/Makefile.in, doc/UPGRADE:
3459         Rename WHATSNEW -> NEWS
3460         [d1a2c8c47d89]
3461
3462         * pp:
3463         Updated pp with latest patches
3464         [98e16b9b8f62]
3465
3466         * WHATSNEW:
3467         Sync with 1.7.4
3468         [65ac4dafeef7]
3469
3470         * doc/UPGRADE, doc/sudoers.cat, doc/sudoers.man.in, doc/sudoers.pod,
3471         plugins/sudoers/sudoers:
3472         Add commented out line to add HOME to env_keep and add a warning to
3473         the note about the HOME change in UPGRADE.
3474         [0d6a775bb6c8]
3475
3476 2010-07-20  Todd C. Miller  <Todd.Miller@courtesan.com>
3477
3478         * plugins/sudoers/sudoreplay.c:
3479         Add LINE_MAX define for those without it.
3480         [446d9dbe7859]
3481
3482         * INSTALL, WHATSNEW, config.h.in, configure, configure.in,
3483         doc/UPGRADE, doc/sudoers.cat, doc/sudoers.man.in, doc/sudoers.pod,
3484         plugins/sudoers/defaults.c:
3485         The tty_tickets option is now on by default.
3486         [a01c48206d80]
3487
3488         * WHATSNEW:
3489         Mention that AIX authdb support has been fixed.
3490         [87bd7f4eba6a]
3491
3492         * common/aix.c:
3493         setauthdb() only sets the "old" registry if it was set by a previous
3494         call to setauthdb(). To restore the original value, passing NULL
3495         (or an empty string) to setauthdb() is sufficient.
3496         [470da190a254]
3497
3498 2010-07-19  Todd C. Miller  <Todd.Miller@courtesan.com>
3499
3500         * WHATSNEW, doc/UPGRADE, doc/sudo.cat, doc/sudo.man.in, doc/sudo.pod,
3501         doc/sudoers.cat, doc/sudoers.man.in, doc/sudoers.pod,
3502         plugins/sudoers/env.c:
3503         Reset HOME when env_reset is enabled unless it is in env_keep
3504         [f421f8827340]
3505
3506         * doc/sudoers.cat, doc/sudoers.man.in, doc/sudoers.pod:
3507         The default for set_logname has been "true" for some time now.
3508         [f489da5674c3]
3509
3510         * plugins/sudoers/boottime.c:
3511         Add missing include of time.h
3512         [624d7014932f]
3513
3514         * plugins/sudoers/logging.c:
3515         Fix check for dup2() return value.
3516         [140ea2d50d20]
3517
3518         * plugins/sudoers/env.c:
3519         Add PYTHONUSERBASE to initial_badenv_table
3520         [3149aae5b12c]
3521
3522         * plugins/sudoers/visudo.c:
3523         Treat an unknown defaults entry as a parse error.
3524         [b3ebad73efb2]
3525
3526         * plugins/sudoers/defaults.c, plugins/sudoers/sudoers.c:
3527         Check return value of setdefs() but don't stop setting defaults if
3528         we hit an unknown one.
3529         [945e752239ab]
3530
3531         * WHATSNEW, aclocal.m4, config.h.in, configure, configure.in,
3532         doc/sudo.cat, doc/sudo.man.in, doc/sudo.pod, doc/sudoers.cat,
3533         doc/sudoers.man.in, doc/sudoers.pod, pathnames.h.in,
3534         plugins/sudoers/env.c:
3535         If env_reset is enabled, set the MAIL environment variable based on
3536         the target user unless MAIL is explicitly preserved in sudoers.
3537         [a1b03e2e0e96]
3538
3539 2010-07-17  Todd C. Miller  <Todd.Miller@courtesan.com>
3540
3541         * pp:
3542         decode debian code names
3543         [8741280d9960]
3544
3545         * WHATSNEW:
3546         fix typo
3547         [a8a19451110b]
3548
3549 2010-07-16  Todd C. Miller  <Todd.Miller@courtesan.com>
3550
3551         * WHATSNEW:
3552         Merge with 1.7.4
3553         [9348fa7e15b8]
3554
3555         * src/sudo.c:
3556         Restore RLIMIT_NPROC after the uid switch if it appears that
3557         runas_setup() did not do it for us. Fixes a bash script problem on
3558         SuSE with RLIMIT_NPROC set to RLIM_INFINITY.
3559         [786fb272e5fd]
3560
3561 2010-07-15  Todd C. Miller  <Todd.Miller@courtesan.com>
3562
3563         * mkpkg, pp, sudo.pp:
3564         Restore the dot removal in the os version reported by polypkg. Adapt
3565         mkpkg and sudo.pp to the change.
3566         [dcafdd53b88f]
3567
3568 2010-07-16  Todd C. Miller  <Todd.Miller@courtesan.com>
3569
3570         * INSTALL:
3571         document --with-pam-login
3572         [ea93e4c6873c]
3573
3574         * doc/sudoers.cat, doc/sudoers.man.in, doc/sudoers.pod:
3575         The tag is NOSETENV, not UNSETENV. From Petr Uzel.
3576         [2ac90d8de36e]
3577
3578 2010-07-15  Todd C. Miller  <Todd.Miller@courtesan.com>
3579
3580         * sudo.pp:
3581         Include flavor in solaris package name
3582         [e605f6364c9f]
3583
3584         * mkpkg:
3585         Older shells don't support IFS= so set explictly to space, tab,
3586         newline.
3587         [7773960bc8a0]
3588
3589         * mkpkg:
3590         Use '=' not '==' in test
3591         [c99d42bc48e6]
3592
3593         * mkpkg:
3594         Fix typo that prevented debian from matching
3595         [84421078fcb7]
3596
3597         * mkpkg:
3598         Add missing prefix setting for debian
3599         [6466f23de4aa]
3600
3601         * sudo.pp:
3602         Use tab indents to reduce the chance of problem with <<- Fix the
3603         debian %set section, pp does not set pp_deb_distro Uncomment %sudo
3604         line in sudoers for debian Uncomment some env_keep lines for RHEL,
3605         SLES and debian to more closely match the vendor sudoers files.
3606         Add /etc/pam.d to %files Remove the /etc/sudo-ldap.conf symlink on
3607         debian for ldap flavor
3608         [c5b49feb1a0c]
3609
3610         * plugins/sudoers/sudoers:
3611         Add commented out env_keep entries, sample Aliases and a %sudo line
3612         for debian.
3613         [387719e52d0f]
3614
3615         * configure, configure.in:
3616         Move zlib check later on in the script to avoid a strange shell
3617         problem on SLES11.
3618         [1a3153bb1291]
3619
3620         * configure.in:
3621         Remove check for egrep; configure has its own
3622         [a3b9d98cb5d2]
3623
3624 2010-07-14  Todd C. Miller  <Todd.Miller@courtesan.com>
3625
3626         * mkpkg:
3627         Enable zlib for linux distros
3628         [8fa51a1405a4]
3629
3630         * mkpkg:
3631         Add ldap flavor to default build
3632         [97644f5a555f]
3633
3634         * mkpkg, sudo.pp:
3635         Simplify rpm linux distro settings
3636         [b9dcf10cdf20]
3637
3638         * aclocal.m4, configure, configure.in, doc/UPGRADE, doc/sudoers.cat:
3639         Move time stamp files from /var/run/sudo to /var/{db,lib,adm}/sudo.
3640         [2c549c1acde9]
3641
3642         * Makefile.in:
3643         Fix ChangeLog creation from build dir
3644         [3d0c7904f173]
3645
3646         * plugins/sudoers/sudoers.c:
3647         Handle getcwd() failure.
3648         [aef7bef87394]
3649
3650         * doc/Makefile.in, mkpkg, sudo.pp:
3651         Add ldap "flavor" for debian, controlled by the SUDO_FLAVOR
3652         environment variable.
3653         [be6ed611b7a8]
3654
3655         * sudo.pp:
3656         Create sudo group on debian
3657         [6ed6c032042e]
3658
3659         * mkpkg, sudo.pp:
3660         Add debian 4/5/6 and use the dot when doing version matches
3661         [6bcb664d1f4f]
3662
3663         * aclocal.m4, configure:
3664         Use a loop when searching for mv, sendmail and sh
3665         [d5e9369f8d13]
3666
3667         * doc/sudoers.cat, doc/sudoers.man.in, doc/sudoers.pod:
3668         Remove spurious "and"; from debian
3669         [a21e6f7c5b99]
3670
3671         * aclocal.m4, configure, configure.in, doc/sudoers.cat,
3672         doc/sudoers.man.in, doc/sudoers.pod, doc/visudo.cat,
3673         doc/visudo.man.in, doc/visudo.pod:
3674         Substitute the value of EDITOR into the sudoers and visudo manuals.
3675         [cd79e587dd7f]
3676
3677 2010-07-13  Todd C. Miller  <Todd.Miller@courtesan.com>
3678
3679         * mkpkg, pp, sudo.pp:
3680         Initial support for debian 4.0
3681         [ac6707915fa8]
3682
3683         * mkpkg:
3684         Some platforms need -fPIE instead of -fpie
3685         [fd6be19e5bc2]
3686
3687         * plugins/sudoers/auth/pam.c:
3688         Only set PAM_RHOST for Solaris, where it is needed to avoid a bug.
3689         On Linux it causes a DNS lookup via libaudit.
3690         [1e10105ade5b]
3691
3692         * MANIFEST:
3693         Update MANIFEST to match packaging changes
3694         [ef86ee557b5b]
3695
3696         * sudo.psf:
3697         We now use pp to generate HP-UX packages
3698         [f7aa8da7844e]
3699
3700         * INSTALL.binary, plugins/sudoers/Makefile.binary.in:
3701         Remove vestiges of old binary package bits.
3702         [afffd005452f]
3703
3704         * INSTALL, Makefile.in, common/Makefile.in, compat/Makefile.in,
3705         doc/Makefile.in, include/Makefile.in, plugins/sample/Makefile.in,
3706         plugins/sample_group/Makefile.in, plugins/sudoers/Makefile.in,
3707         src/Makefile.in:
3708         install-man -> install-doc
3709         [99b5fa05567c]
3710
3711         * Makefile.in, doc/Makefile.in, include/Makefile.in, mkpkg,
3712         plugins/sudoers/Makefile.in, pp, src/Makefile.in, sudo.pp:
3713         Use http://rc.quest.com/topics/polypkg/ for packaging
3714         [5ca8eb75b223]
3715
3716         * install-sh:
3717         Just ignore the -c option, it is the default Add support for -d
3718         option
3719         [a8b6b0a131e8]
3720
3721 2010-07-12  Todd C. Miller  <Todd.Miller@courtesan.com>
3722
3723         * pathnames.h.in, plugins/sudoers/env.c, plugins/sudoers/logging.c:
3724         Use _PATH_STDPATH instead of _PATH_DEFPATH
3725         [137fa911908e]
3726
3727         * plugins/sudoers/Makefile.in, src/Makefile.in:
3728         Do not strip binaries.
3729         [20166e287176]
3730
3731         * INSTALL, configure, configure.in:
3732         Add --insults=disabled configure option to allow people to build in
3733         insult support but have the insults disabled unless explicitly
3734         enabled in sudoers.
3735         [523b8c552e90]
3736
3737         * compat/mkstemps.c:
3738         Add prototype for gettime()
3739         [275eee40473b]
3740
3741         * config.h.in, configure, configure.in, plugins/sudoers/auth/pam.c,
3742         plugins/sudoers/env.c, plugins/sudoers/sudoers.c,
3743         plugins/sudoers/sudoers.h:
3744         Add support for a sudo-i pam.d file to be used for "sudo -i".
3745         Adapted from a RedHat patch.
3746         [06d34f16520b]
3747
3748 2010-07-09  Todd C. Miller  <Todd.Miller@courtesan.com>
3749
3750         * include/missing.h:
3751         Fix mkstemps() prototype
3752         [2421841e815b]
3753
3754         * MANIFEST, compat/Makefile.in, compat/mkstemp.c, compat/mkstemps.c,
3755         config.h.in, configure, configure.in, include/missing.h,
3756         src/sudo_edit.c:
3757         Use mkstemps() instead of mkstemp() in sudoedit. This allows
3758         sudoedit to preserve the file extension (if any) which may be used
3759         by the editor (like emacs) to choose the editing mode.
3760         [d33172d2c086]
3761
3762 2010-07-08  Todd C. Miller  <Todd.Miller@courtesan.com>
3763
3764         * doc/sudoers.ldap.cat, doc/sudoers.ldap.man.in, doc/sudoers.ldap.pod,
3765         plugins/sudoers/ldap.c:
3766         TLS_CACERT is now an alias for TLS_CACERTFILE. OpenLDAP uses
3767         TLS_CACERT, not TLS_CACERTFILE in its ldap.conf. Other LDAP client
3768         code, such as nss_ldap, uses TLS_CACERTFILE. Also document why you
3769         should avoid disabling TLS_CHECKPEER is possible.
3770         [196622436212]
3771
3772 2010-07-07  Todd C. Miller  <Todd.Miller@courtesan.com>
3773
3774         * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod:
3775         Make sudo_plugin format a bit more like a man page
3776         [048d596e32da]
3777
3778         * plugins/sudoers/toke.c, plugins/sudoers/toke.l:
3779         Add suport for negated user/host/command lists in a Defaults entry.
3780         E.g. Defaults:!baduser noexec
3781         [d41112cf0342]
3782
3783         * Makefile.in, common/Makefile.in, compat/Makefile.in,
3784         doc/Makefile.in, include/Makefile.in, plugins/sample/Makefile.in,
3785         plugins/sample_group/Makefile.in, plugins/sudoers/Makefile.in,
3786         src/Makefile.in:
3787         Add uninstall target
3788         [fea66ebf136a]
3789
3790         * common/Makefile.in, compat/Makefile.in:
3791         Remove unused AR, SED and RANLIB variables
3792         [2ff9928bfdb3]
3793
3794         * Makefile.in:
3795         Do not install sample plugins
3796         [5443b87bd1c3]
3797
3798 2010-07-06  Todd C. Miller  <Todd.Miller@courtesan.com>
3799
3800         * MANIFEST, aclocal.m4, compat/setenv.c, compat/unsetenv.c, configure,
3801         configure.in, plugins/sudoers/env.c:
3802         Now that sudoers is a dynamically loaded module we cannot override
3803         the libc environment functions because the symbols may already have
3804         been resolved via libc. Remove getenv/putenv/setenv/unsetenv
3805         replacements from sudoers and add replacements for setenv/unsetenv
3806         for systems that lack them.
3807         [3f2b43cb8851]
3808
3809         * configure, configure.in, plugins/sudoers/Makefile.in:
3810         Link testsudoers with -ldl when needed
3811         [f79606f9fcd7]
3812
3813         * plugins/sample_group/plugin_test.c:
3814         Remove unused time.h and add limits.h for PATH_MAX
3815         [3f5d0074d621]
3816
3817         * doc/sudoers.ldap.pod:
3818         Fix typo.
3819         [bc855fd57397]
3820
3821 2010-07-05  Todd C. Miller  <Todd.Miller@courtesan.com>
3822
3823         * plugins/sample_group/plugin_test.c:
3824         Do not depend on strlcpy/strlcat
3825         [6e7e2b5af051]
3826
3827         * plugins/sample_group/plugin_test.c:
3828         Standalone test driver for sudoers group plugin.
3829         [eb1235fc3b8e]
3830
3831 2010-07-02  Todd C. Miller  <Todd.Miller@courtesan.com>
3832
3833         * plugins/sudoers/group_plugin.c, src/load_plugins.c:
3834         Use RTLD_LAZY instead of RTLD_NOW; was using RTLD_NOW as a debugging
3835         aid.
3836         [2a34e616229b]
3837
3838         * plugins/sample_group/sample_group.c:
3839         Fix style nit in function declarations
3840         [ab87c7c76bf9]
3841
3842         * doc/sudoers.cat, doc/sudoers.man.in, doc/sudoers.pod:
3843         Document group_plugin syntax.
3844         [ed1faf72ddcb]
3845
3846         * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod:
3847         Document the sudoers group plugin.
3848         [f19a62dc8cfc]
3849
3850         * INSTALL, MANIFEST, Makefile.in, config.h.in, configure,
3851         configure.in, doc/LICENSE, doc/license.pod, include/sudo_plugin.h,
3852         plugins/sample_group/Makefile.in, plugins/sample_group/getgrent.c,
3853         plugins/sample_group/sample_group.c, plugins/sudoers/Makefile.in,
3854         plugins/sudoers/def_data.c, plugins/sudoers/def_data.h,
3855         plugins/sudoers/def_data.in, plugins/sudoers/group_plugin.c,
3856         plugins/sudoers/match.c, plugins/sudoers/nonunix.h,
3857         plugins/sudoers/set_perms.c, plugins/sudoers/sudoers.c,
3858         plugins/sudoers/sudoers.h, plugins/sudoers/testsudoers.c,
3859         plugins/sudoers/vasgroups.c, plugins/sudoers/visudo.c, src/sudo.c:
3860         Replace built-in non-unix group support with a sudoers group plugin.
3861         Include a sample plugin that can read Unix-format group files.
3862         [8fc58ce0b1a8]
3863
3864         * configure, configure.in, src/load_plugins.c:
3865         Add a trailing slash to _PATH_SUDO_PLUGIN_DIR to simplify usage.
3866         [5c491dddb8ef]
3867
3868 2010-07-01  Todd C. Miller  <Todd.Miller@courtesan.com>
3869
3870         * doc/sudo.cat, doc/sudo.man.in, doc/sudo.pod, doc/sudoers.cat,
3871         doc/sudoers.man.in, doc/sudoers.pod:
3872         Move sudoers-specific bits out of sudo(8) and into sudoers(5)
3873         [e8a5a5830cfe]
3874
3875         * aclocal.m4, configure, configure.in:
3876         Substitute @io_logdir@ for the sudoers I/O log directory.
3877         [21a75ca7b0ab]
3878
3879 2010-06-29  Todd C. Miller  <Todd.Miller@courtesan.com>
3880
3881         * MANIFEST, common/Makefile.in, common/aix.c, common/alloc.c,
3882         common/atobool.c, common/fileops.c, common/fmt_string.c,
3883         common/lbuf.c, common/term.c, compat/fnmatch.c, compat/getcwd.c,
3884         compat/getgrouplist.c, compat/getline.c, compat/glob.c,
3885         compat/snprintf.c, config.h.in, configure, configure.in,
3886         include/fileops.h, plugins/sample/sample_plugin.c,
3887         plugins/sudoers/alias.c, plugins/sudoers/auth/afs.c,
3888         plugins/sudoers/auth/aix_auth.c, plugins/sudoers/auth/bsdauth.c,
3889         plugins/sudoers/auth/dce.c, plugins/sudoers/auth/fwtk.c,
3890         plugins/sudoers/auth/kerb4.c, plugins/sudoers/auth/kerb5.c,
3891         plugins/sudoers/auth/pam.c, plugins/sudoers/auth/passwd.c,
3892         plugins/sudoers/auth/rfc1938.c, plugins/sudoers/auth/secureware.c,
3893         plugins/sudoers/auth/securid.c, plugins/sudoers/auth/securid5.c,
3894         plugins/sudoers/auth/sia.c, plugins/sudoers/auth/sudo_auth.c,
3895         plugins/sudoers/boottime.c, plugins/sudoers/check.c,
3896         plugins/sudoers/defaults.c, plugins/sudoers/env.c,
3897         plugins/sudoers/find_path.c, plugins/sudoers/getdate.c,
3898         plugins/sudoers/getdate.y, plugins/sudoers/getspwuid.c,
3899         plugins/sudoers/goodpath.c, plugins/sudoers/gram.c,
3900         plugins/sudoers/gram.y, plugins/sudoers/interfaces.c,
3901         plugins/sudoers/iolog.c, plugins/sudoers/ldap.c,
3902         plugins/sudoers/logging.c, plugins/sudoers/match.c,
3903         plugins/sudoers/parse.c, plugins/sudoers/pwutil.c,
3904         plugins/sudoers/set_perms.c, plugins/sudoers/sudo_nss.c,
3905         plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h,
3906         plugins/sudoers/sudoreplay.c, plugins/sudoers/testsudoers.c,
3907         plugins/sudoers/toke.c, plugins/sudoers/toke.l,
3908         plugins/sudoers/tsgetgrpw.c, plugins/sudoers/visudo.c,
3909         src/Makefile.in, src/aix.c, src/conversation.c, src/exec.c,
3910         src/exec_pty.c, src/get_pty.c, src/load_plugins.c, src/parse_args.c,
3911         src/sudo.c, src/sudo.h, src/sudo_edit.c, src/tgetpass.c:
3912         Set usrinfo for AIX Set adminstrative domain for the process when
3913         looking up user's password or group info and when preparing for
3914         execve(). Include strings.h even if string.h exists since they may
3915         define different things. Fixes warnings on AIX and others.
3916         [cf8b93e872c9]
3917
3918         * Makefile.in:
3919         Add a separate all target for AIX make which was using the entire
3920         LHS (not just the first entry) of the first target as the implicit
3921         target.
3922         [a45b980a01ef]
3923
3924         * plugins/sudoers/env.c:
3925         Do not rely on env.env_len when unsetting a variable, just use the
3926         NULL terminator.
3927         [ca6eb239c829]
3928
3929         * plugins/sudoers/env.c:
3930         In unsetenv() check for NULL or empty name as per POSIX 1003.1-2008
3931         [7046ba7caa4e]
3932
3933 2010-06-25  Todd C. Miller  <Todd.Miller@courtesan.com>
3934
3935         * plugins/sudoers/vasgroups.c:
3936         Use warningx() instead of log_error() since the latter is not
3937         available to visudo or testsudoers. This does mean that they don't
3938         end up in syslog.
3939         [152b7c50f426]
3940
3941         * plugins/sudoers/sudoers.c:
3942         Defer call to sudo_nonunix_groupcheck_cleanup() until after we have
3943         closed the sudoers sources. From Quest sudo.
3944         [c1cd573bab94]
3945
3946         * plugins/sudoers/pwutil.c:
3947         Ignore case when matching user/group names in the cache. From Quest
3948         sudo.
3949         [2aa4ecc7d7f5]
3950
3951 2010-06-24  Todd C. Miller  <Todd.Miller@courtesan.com>
3952
3953         * config.h.in, configure, configure.in, src/selinux.c:
3954         Add check for setkeycreatecon() when --with-selinux is specified.
3955         [affae247b4e0]
3956
3957         * configure, configure.in:
3958         Error out if libaudit.h is missing or ununable when --with-linux-
3959         audit was specified
3960         [d82e743fac04]
3961
3962         * doc/HISTORY, doc/history.pod:
3963         Add =head3 entries, mostly for the html version
3964         [ee93112d0308]
3965
3966 2010-06-22  Todd C. Miller  <Todd.Miller@courtesan.com>
3967
3968         * doc/HISTORY, doc/history.pod:
3969         Mention when LDAP was incorporate.
3970         [2923dc17f79c]
3971
3972 2010-06-21  Todd C. Miller  <Todd.Miller@courtesan.com>
3973
3974         * configure, configure.in:
3975         Define _LINUX_SOURCE_COMPAT on AIX for strsignal() prototype, it is
3976         not covered by _ALL_SOURCE.
3977         [c92fd69809d0]
3978
3979 2010-06-18  Todd C. Miller  <Todd.Miller@courtesan.com>
3980
3981         * plugins/sudoers/iolog.c:
3982         Add a cast to quiet a compiler warning.
3983         [a200e07ee1bc]
3984
3985         * plugins/sudoers/getdate.c, plugins/sudoers/getdate.y:
3986         Quiet a compiler warning.
3987         [c9acfc927cea]
3988
3989         * plugins/sudoers/defaults.c, plugins/sudoers/sudoers.c:
3990         Call set_fqdn() after sudoers has parsed instead of inline as a
3991         callback.
3992         [5f4e5d075f2d]
3993
3994         * WHATSNEW, plugins/sudoers/sudoers.c:
3995         Do not call set_fqdn() until sudoers parses (where is gets run as a
3996         callback).
3997         [09040fca6d40]
3998
3999         * WHATSNEW:
4000         mention the change in tty ticket behavior when there is no tty
4001         [575a1fd98f05]
4002
4003         * plugins/sudoers/check.c:
4004         Do not update tty ticket if there is no tty.
4005         [63f9c33ce6a7]
4006
4007         * doc/LICENSE, doc/license.pod:
4008         Update copyright year
4009         [0722ab5d404b]
4010
4011         * doc/Makefile.in:
4012         Do not rely on BSD make's $>
4013         [936a86398bd9]
4014
4015         * configure, configure.in:
4016         Set timedir to /var/db/sudo for darwin to match Apple sudo's
4017         location
4018         [d5b9b03096f1]
4019
4020 2010-06-16  Todd C. Miller  <Todd.Miller@courtesan.com>
4021
4022         * plugins/sudoers/sudoers.h:
4023         Add stub declarations for struct stat and struct timeval
4024         [f6d90551a4fd]
4025
4026         * MANIFEST:
4027         Remove compat/sigaction.c
4028         [d0ed6d9a770e]
4029
4030         * config.h.in, configure, configure.in, plugins/sudoers/defaults.c,
4031         plugins/sudoers/iolog.c, plugins/sudoers/sudoreplay.c:
4032         Check for zlib.h in addition to libz.
4033         [6e191b4a6065]
4034
4035         * MANIFEST, src/Makefile.in, src/exec.c, src/exec_pty.c, src/sudo.h,
4036         src/sudo_exec.h:
4037         Move functions and symbols shared between exec.c and exec_pty.c into
4038         sudo_exec.h.
4039         [14ae63403544]
4040
4041         * doc/Makefile.in:
4042         Comment out rules to build .man.in and .cat files unless --with-
4043         devel
4044         [3cf7e5606a85]
4045
4046         * doc/Makefile.in:
4047         Comment out rules to build .man.in and .cat files unless --with-
4048         devel
4049         [d30495b0e29e]
4050
4051         * src/parse_args.c:
4052         Quote any non-alphanumeric characters other than '_' or '-' when
4053         passing a command to be run via the shell for the -s and -i options.
4054         [d633f74fe2d9]
4055
4056         * doc/Makefile.in:
4057         Add back .man suffix
4058         [6e63b60a2739]
4059
4060         * INSTALL, MANIFEST, WHATSNEW, config.h.in, configure, configure.in,
4061         plugins/sudoers/Makefile.in, plugins/sudoers/audit.c,
4062         plugins/sudoers/bsm_audit.c, plugins/sudoers/linux_audit.c,
4063         plugins/sudoers/linux_audit.h, plugins/sudoers/logging.h,
4064         src/selinux.c:
4065         Add Linux audit support.
4066         [5a2f445e0bd4]
4067
4068 2010-06-15  Todd C. Miller  <Todd.Miller@courtesan.com>
4069
4070         * plugins/sudoers/iolog.c:
4071         Remove an XXX
4072         [a170cbe651d1]
4073
4074         * doc/sudoreplay.cat, doc/sudoreplay.man.in, doc/sudoreplay.pod,
4075         plugins/sudoers/sudoreplay.c:
4076         Add -f (filter) option to sudoreplay to allow certain streams to be
4077         replayed and others ignored.
4078         [62e51b432ea1]
4079
4080         * src/load_plugins.c, src/parse_args.c, src/sudo.c, src/sudo.h,
4081         src/tgetpass.c:
4082         Fix -A flag when askpass is specified in sudo.conf or if sudo
4083         doesn't need to read a password.
4084         [2e401e4a00e3]
4085
4086         * src/exec.c, src/exec_pty.c, src/parse_args.c, src/sudo.c,
4087         src/sudo.h, src/sudo_edit.c, src/tgetpass.c:
4088         Clean up some XXXs
4089         [689f0b002d3d]
4090
4091         * WHATSNEW, doc/sudoers.ldap.cat, doc/sudoers.ldap.man.in,
4092         doc/sudoers.ldap.pod, plugins/sudoers/ldap.c:
4093         Add support for multiple sudoers_base entries in ldap.conf. From
4094         Joachim Henke
4095         [e3e4a3c2bd5b]
4096
4097         * config.h.in, configure, configure.in, plugins/sudoers/logging.c,
4098         src/exec_pty.c:
4099         remove setsid check, we require a POSIX system
4100         [cc73cb9e22c0]
4101
4102         * plugins/sudoers/logging.c, src/exec_pty.c, src/selinux.c,
4103         src/sudo.c, src/tgetpass.c:
4104         Check for dup2() failure.
4105         [5d46d66794f5]
4106
4107         * config.h.in, configure, configure.in:
4108         Remove dup2() check, it is not optional.
4109         [5f1d56de4384]
4110
4111 2010-06-14  Todd C. Miller  <Todd.Miller@courtesan.com>
4112
4113         * WHATSNEW:
4114         sync with sudo 1.7.3
4115         [88e5c0bd6d59]
4116
4117         * INSTALL:
4118         SunOS does not ship with an ANSI compiler
4119         [f13c85c67069]
4120
4121         * INSTALL:
4122         Update OS specific notes. Delete some really ancient ones and move
4123         older ones to the end of the list.
4124         [59ce592c4c52]
4125
4126         * README:
4127         Sudo can be downloaded from the web site too Mention "OS dependent
4128         notes" section in INSTALL
4129         [191871538984]
4130
4131         * src/exec_pty.c, src/selinux.c:
4132         Call selinux_restore_tty() as part of cleanup() so it gets called
4133         from error()/errorx()
4134         [bb017da6b6da]
4135
4136         * MANIFEST, doc/PORTING:
4137         Remove obsolete porting guide
4138         [321e35591344]
4139
4140         * plugins/sudoers/interfaces.h, plugins/sudoers/match.c:
4141         Move union sudo_in_addr_un into interfaces.h
4142         [b2c8b19ee094]
4143
4144         * doc/Makefile.in:
4145         Remove useless circular dependencies
4146         [5682181b59cf]
4147
4148         * plugins/sudoers/auth/afs.c, plugins/sudoers/auth/aix_auth.c,
4149         plugins/sudoers/auth/bsdauth.c, plugins/sudoers/auth/dce.c,
4150         plugins/sudoers/auth/fwtk.c, plugins/sudoers/auth/kerb4.c,
4151         plugins/sudoers/auth/kerb5.c, plugins/sudoers/auth/pam.c,
4152         plugins/sudoers/auth/passwd.c, plugins/sudoers/auth/rfc1938.c,
4153         plugins/sudoers/auth/secureware.c, plugins/sudoers/auth/securid.c,
4154         plugins/sudoers/auth/securid5.c, plugins/sudoers/auth/sia.c:
4155         Convert to ANSI C function declarations
4156         [a4f76927d034]
4157
4158         * common/alloc.c, common/fileops.c, common/gettime.c, common/list.c,
4159         common/zero_bytes.c, compat/charclass.h, compat/closefrom.c,
4160         compat/fnmatch.c, compat/glob.c, compat/isblank.c, compat/memrchr.c,
4161         compat/mkstemp.c, compat/nanosleep.c, compat/snprintf.c,
4162         compat/strcasecmp.c, compat/strerror.c, compat/strlcat.c,
4163         compat/strlcpy.c, compat/timespec.h, compat/utime.h,
4164         compat/utimes.c, doc/HISTORY, doc/history.pod, doc/license.pod,
4165         include/alloc.h, include/error.h, include/lbuf.h, include/list.h,
4166         include/missing.h, pathnames.h.in, plugins/sudoers/alias.c,
4167         plugins/sudoers/audit.c, plugins/sudoers/auth/sudo_auth.h,
4168         plugins/sudoers/boottime.c, plugins/sudoers/bsm_audit.c,
4169         plugins/sudoers/bsm_audit.h, plugins/sudoers/defaults.c,
4170         plugins/sudoers/defaults.h, plugins/sudoers/find_path.c,
4171         plugins/sudoers/getspwuid.c, plugins/sudoers/goodpath.c,
4172         plugins/sudoers/gram.y, plugins/sudoers/interfaces.c,
4173         plugins/sudoers/interfaces.h, plugins/sudoers/logging.c,
4174         plugins/sudoers/logging.h, plugins/sudoers/match.c,
4175         plugins/sudoers/parse.h, plugins/sudoers/plugin_error.c,
4176         plugins/sudoers/pwutil.c, plugins/sudoers/redblack.c,
4177         plugins/sudoers/redblack.h, plugins/sudoers/sudo_nss.h,
4178         plugins/sudoers/sudoers.h, plugins/sudoers/sudoreplay.c,
4179         plugins/sudoers/testsudoers.c, plugins/sudoers/timestr.c,
4180         plugins/sudoers/toke.l, plugins/sudoers/visudo.c, src/aix.c,
4181         src/conversation.c, src/error.c, src/load_plugins.c,
4182         src/parse_args.c, src/sesh.c, src/sudo.h, src/sudo_noexec.c,
4183         src/sudo_plugin_int.h, src/sudo_usage.h.in, src/tgetpass.c:
4184         Update copyright year
4185         [26ac7991f7d8]
4186
4187         * doc/Makefile.in:
4188         Fix commented DEVDOCS when not in devel mode.
4189         [e0a97eaf3793]
4190
4191         * plugins/sudoers/match.c:
4192         Quiet a compiler warning.
4193         [b2a17ebd5d38]
4194
4195         * plugins/sudoers/getdate.c, plugins/sudoers/getdate.y:
4196         Quiet a compiler warning.
4197         [687843bc593d]
4198
4199         * plugins/sudoers/ldap.c, plugins/sudoers/sudoers.h:
4200         Make all functions in ldap.c static
4201         [b2111e89eeba]
4202
4203         * doc/schema.ActiveDirectory:
4204         Updates from Alain Roy to provide better examples for importing the
4205         schema and to fix problems caused by Windows validating attributes
4206         which have not yet been added before committing the changes.
4207         [69f4c5ccaf89]
4208
4209 2010-06-11  Todd C. Miller  <Todd.Miller@courtesan.com>
4210
4211         * configure, configure.in, doc/Makefile.in, doc/sudo.cat,
4212         doc/sudo.man.in, doc/sudo_plugin.cat, doc/sudo_plugin.man.in,
4213         doc/sudoers.cat, doc/sudoers.ldap.cat, doc/sudoers.ldap.man.in,
4214         doc/sudoers.man.in, doc/sudoreplay.cat, doc/sudoreplay.man.in,
4215         doc/visudo.cat, doc/visudo.man.in:
4216         Leave rules to build .man.in and .cat files uncommented but only
4217         make them part of the "all" rule in devel mode. Generate .cat files
4218         directly from .man.in instead of .man using default values in
4219         configure.in
4220         [c3054a44f6a5]
4221
4222         * configure, configure.in:
4223         Bump sudo version to 1.8.0b1
4224         [8f79c85135e1]
4225
4226         * configure, configure.in, src/sudo.c, src/sudo_usage.h.in:
4227         Print configure args with verbose version information.
4228         [1ce690660ed2]
4229
4230         * TODO, plugins/sudoers/visudo.c:
4231         Remove tfd from struct sudoersfile; it is not used. Add prev pointer
4232         to struct sudoersfile. Declare list of sudoersfile using TQ_DECLARE.
4233         Use tq_append to append sudoers entries to the tail queue.
4234         [1743f9a286e4]
4235
4236 2010-06-10  Todd C. Miller  <Todd.Miller@courtesan.com>
4237
4238         * WHATSNEW:
4239         Describe tty timestamp improvements
4240         [e214e863a313]
4241
4242         * plugins/sudoers/toke.c, plugins/sudoers/toke.l:
4243         A comment character may not be part of a command line argument
4244         unless it is quoted with a backslash. Fixes parsing of:
4245         testuser ALL=NOPASSWD: /usr/bin/wl #comment foo bar closes bz #441
4246         [ea2e990f85ed]
4247
4248         * doc/sudoers.pod:
4249         Make this read a little bit better when passwd_timeout is 0.
4250         [39d362757f31]
4251
4252         * doc/sudo.man.in, doc/sudo.man.pl, doc/sudo.pod:
4253         Attempt to handle a default password prompt timeout of zero more
4254         gracefully.
4255         [ea47d43acf5b]
4256
4257         * plugins/sudoers/toke.c, plugins/sudoers/toke.l:
4258         Do not override value of keepopen global, instead restore it to the
4259         value we pushed onto the stack when popping.
4260         [fe282e5a3402]
4261
4262         * plugins/sudoers/Makefile.in:
4263         Add dependency for utility programs on libreplace and libcommon
4264         [2339aba64928]
4265
4266         * compat/sigaction.c, config.h.in, configure.in, include/compat.h,
4267         plugins/sudoers/logging.c, plugins/sudoers/mon_systrace.c,
4268         src/exec.c, src/exec_pty.c, src/tgetpass.c:
4269         Remove sigaction emulation Use SA_INTERRUPT in sa_flags
4270         [7dd61f1bd8d2]
4271
4272         * MANIFEST, config.h.in, configure, configure.in, include/missing.h:
4273         We don't use getgrouplist() at the moment so there's no need to
4274         provide a compat version.
4275         [1597536fbada]
4276
4277         * TODO:
4278         sync with reality
4279         [9e1a874e7885]
4280
4281         * include/sudo_plugin.h, plugins/sudoers/auth/sudo_auth.c,
4282         src/conversation.c, src/sudo.h, src/tgetpass.c:
4283         Fix visiblepw sudoers option; the plugin API portion still needs
4284         documenting
4285         [60b6933ef5e0]
4286
4287         * src/sudo.c:
4288         Print sudo version as well.
4289         [987ed459b459]
4290
4291         * plugins/sudoers/iolog.c, plugins/sudoers/sudoers.c:
4292         Use sudo_printf for I/O log version Clarify policy plugin version
4293         string
4294         [5a58b7e8c80b]
4295
4296         * plugins/sudoers/getdate.c, plugins/sudoers/getdate.y,
4297         plugins/sudoers/ldap.c, plugins/sudoers/sudoreplay.c:
4298         Silence some compiler warnings
4299         [afb1eba90915]
4300
4301         * src/load_plugins.c, src/tgetpass.c:
4302         Store askpass path in a global instead of uses setenv() which many
4303         systems lack.
4304         [b440bcc0e660]
4305
4306 2010-06-09  Todd C. Miller  <Todd.Miller@courtesan.com>
4307
4308         * doc/sudo.cat, doc/sudo.man.in, doc/sudo.pod, doc/sudo_plugin.cat,
4309         doc/sudo_plugin.man.in, doc/sudo_plugin.pod,
4310         plugins/sudoers/check.c, plugins/sudoers/def_data.c,
4311         plugins/sudoers/def_data.h, plugins/sudoers/def_data.in,
4312         plugins/sudoers/defaults.c, plugins/sudoers/sudoers.c,
4313         plugins/sudoers/sudoers.h, src/load_plugins.c, src/parse_args.c,
4314         src/tgetpass.c:
4315         Move askpass path specification from sudoers to sudo.conf.
4316         [5507ab867c26]
4317
4318         * src/exec.c, src/exec_pty.c, src/sudo.c, src/sudo.h:
4319         Use a flag bit in struct command_details for selinux instead of a
4320         separate field.
4321         [c59ca4acded9]
4322
4323         * src/exec.c, src/exec_pty.c, src/sudo.c, src/sudo.h:
4324         Implement background mode. If I/O logging we use pipes instead of a
4325         pty.
4326         [c07a4b356cbd]
4327
4328         * compat/mksiglist.c, compat/strsignal.c, include/compat.h,
4329         src/exec.c, src/exec_pty.c, src/tgetpass.c:
4330         Move compat definition of NSIG to compat.h
4331         [ab0385467f25]
4332
4333         * doc/sudo.cat, doc/sudo.man.in, doc/sudo.pod, doc/sudo_plugin.cat,
4334         doc/sudo_plugin.man.in, doc/sudo_plugin.pod:
4335         Mention plugins in the sudo manual and add some missing path
4336         substitution in the sudo_plugin manual.
4337         [570f831f47a3]
4338
4339         * src/Makefile.in:
4340         Set _PATH_SUDO_CONF based on $(sysconfdir)
4341         [fde51869cf07]
4342
4343         * common/lbuf.c, common/term.c, config.h.in, configure, configure.in,
4344         src/exec.c, src/exec_pty.c, src/ttysize.c:
4345         Require POSIX termios to build sudo
4346         [9ec6b41f3f95]
4347
4348         * src/tgetpass.c:
4349         Ignore SIGPIPE for "sudo -S"
4350         [7ad27fde0c06]
4351
4352         * src/tgetpass.c:
4353         Fix uninitialized variable in TGP_ECHO case and print a newline if
4354         the user interrupted password input.
4355         [ce19204d8dd4]
4356
4357         * src/tgetpass.c:
4358         Make TGP_ECHO override TGP_MASK and don't try to restore the
4359         terminal if we didn't modify it.
4360         [a7e11abfe7e4]
4361
4362         * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod,
4363         include/sudo_plugin.h, plugins/sudoers/auth/sudo_auth.c,
4364         src/conversation.c, src/sudo.h, src/tgetpass.c:
4365         Add SUDO_CONV_PROMPT_MASK define which corresponds to the
4366         "pwfeedback" sudoers option. Do not disable echo if TGP_ECHO is
4367         set.
4368         [e0550590cabe]
4369
4370         * src/exec_pty.c:
4371         Use POSIX tcgetpgrp() instead of BSD TIOCGPGRP ioctl
4372         [762448182fe3]
4373
4374 2010-06-08  Todd C. Miller  <Todd.Miller@courtesan.com>
4375
4376         * src/exec.c, src/exec_pty.c, src/selinux.c, src/sudo.c, src/sudo.h:
4377         Add selinux_enabled flag into struct command_details and set it in
4378         command_info_to_details(). Return an error from selinux_setup()
4379         instead of exiting. Call selinux_setup() from exec_setup().
4380         [011bea23a5a0]
4381
4382 2010-06-09  Todd C. Miller  <Todd.Miller@courtesan.com>
4383
4384         * src/exec_pty.c:
4385         Remove commented out copy of old sudo_execve() function.
4386         [9c5e21380472]
4387
4388 2010-06-08  Todd C. Miller  <Todd.Miller@courtesan.com>
4389
4390         * plugins/sudoers/sudoers.c:
4391         Fix setting selinux type on command line.
4392         [814b20a0b3be]
4393
4394         * plugins/sudoers/iolog.c:
4395         In sudoers_io_close(), skip NULL io_fds[] elements.
4396         [4011ff7d4daf]
4397
4398         * include/compat.h:
4399         No longer need NGROUPS_MAX define
4400         [cae4c49d7077]
4401
4402         * compat/nanosleep.c, config.h.in, configure, configure.in,
4403         include/compat.h, plugins/sudoers/check.c, plugins/sudoers/iolog.c,
4404         plugins/sudoers/visudo.c, src/sudo_edit.c:
4405         Replace timerfoo macros with timevalfoo since the timer macros are
4406         known to be busted on some systems.
4407         [4f97d79f2d41]
4408
4409         * src/exec_pty.c:
4410         Remove duplicate call to selinux_setup().
4411         [82bd52764e21]
4412
4413         * plugins/sudoers/auth/pam.c:
4414         If pam_open_session() fails, pass its status to pam_end.
4415         [1d8de4cf8ff3]
4416
4417         * plugins/sudoers/toke.c, plugins/sudoers/toke.l:
4418         If a file in a #includedir has improper permissions or owner just
4419         skip it. This prevents packages that incorrectly install a file
4420         into /etc/sudoers.d from breaking sudo so easily. Syntax errors in
4421         #includedir files still result in a parse error (for now).
4422         [ade99a4549a4]
4423
4424         * WHATSNEW, doc/sudoers.cat, doc/sudoers.man.in, doc/sudoers.pod,
4425         plugins/sudoers/def_data.c, plugins/sudoers/def_data.h,
4426         plugins/sudoers/def_data.in, plugins/sudoers/iolog.c:
4427         Add use_pty sudoers option to force use of a pty even when not
4428         logging I/O.
4429         [b280a8972a79]
4430
4431         * plugins/sudoers/env.c, plugins/sudoers/sudoers.h:
4432         Make env_init() void as it never fails.
4433         [d3890e55daa7]
4434
4435         * plugins/sudoers/env.c:
4436         No longer use _NSGetEnviron so don't need crt_externs.h
4437         [9b4e0e139881]
4438
4439         * plugins/sudoers/env.c:
4440         Remove unused VNULL define
4441         [a42cacb263e3]
4442
4443 2010-06-07  Todd C. Miller  <Todd.Miller@courtesan.com>
4444
4445         * plugins/sudoers/iolog.c:
4446         Add #define for maximum session id
4447         [9e18c17a28c2]
4448
4449         * MANIFEST, src/Makefile.in, src/exec.c, src/exec_pty.c, src/sudo.h:
4450         Split exec.c into exec.c and exec_pty.c
4451         [d52376327332]
4452
4453         * MANIFEST:
4454         Sync with source file moves.
4455         [4a62c6c9e846]
4456
4457         * src/Makefile.in, src/get_pty.c, src/pty.c:
4458         Rename pty.c -> get_pty.c
4459         [5696a12bd29b]
4460
4461 2010-06-06  Todd C. Miller  <Todd.Miller@courtesan.com>
4462
4463         * plugins/sudoers/iolog.c:
4464         Only use I/O input log file if def_log_input is set and output file
4465         if def_log_output is set.
4466         [d866992f1681]
4467
4468 2010-06-04  Todd C. Miller  <Todd.Miller@courtesan.com>
4469
4470         * compat/strsignal.c:
4471         Update copyright year
4472         [a96f2593fd4e]
4473
4474         * src/pty.c:
4475         uid -> ttyuid
4476         [c3454d74ebcb]
4477
4478         * plugins/sudoers/sudoers.c:
4479         For sudoedit, make a local copy of editor string si become part of
4480         argv. If no editor environment variable, split def_editor on ':'
4481         since it may be a colon-delimited path.
4482         [2ee298506a6e]
4483
4484         * src/sudo_edit.c:
4485         Remove unneeded endpwent()/endgrent()
4486         [623f6743d101]
4487
4488         * doc/Makefile.in:
4489         Use value of nroff from configure
4490         [b2ce649125ab]
4491
4492         * src/exec.c:
4493         Add missing const to I/O log action function
4494         [d764a3955e04]
4495
4496         * plugins/sudoers/check.c:
4497         Update copyright year and fix whitespace
4498         [e648c35b16be]
4499
4500         * configure, configure.in:
4501         Fix typo
4502         [8e0bdfc47da4]
4503
4504         * plugins/sudoers/iolog.c:
4505         Remove redundant tty signal blocking in log function.
4506         [f17f575dabd4]
4507
4508 2010-06-03  Todd C. Miller  <Todd.Miller@courtesan.com>
4509
4510         * plugins/sudoers/iolog.c:
4511         Place static keyword where it belongs
4512         [b01aec7c86b4]
4513
4514         * plugins/sudoers/logging.c:
4515         Always use a printf format string for send_mail()
4516         [13b1ada644c9]
4517
4518         * common/atobool.c, plugins/sudoers/ldap.c:
4519         Extend atobool() so we can use it in the LDAP code.
4520         [73f8e6807044]
4521
4522         * doc/sudo.cat, doc/sudo.man.in, doc/sudo.pod:
4523         Sudo now stashes tty ctime for tty_tickets on Solaris too.
4524         [e82df13ad3fd]
4525
4526         * plugins/sudoers/boottime.c:
4527         Fix dummy version of get_boottime()
4528         [01d69c06013b]
4529
4530 2010-06-02  Todd C. Miller  <Todd.Miller@courtesan.com>
4531
4532         * plugins/sudoers/check.c:
4533         Enable tty_is_devpts() support for Solaris with the "devices"
4534         filesystem.
4535         [237c6b25fa84]
4536
4537         * src/exec.c:
4538         Unbreak the non-io logging case.
4539         [4822b9f709fb]
4540
4541         * src/conversation.c, src/sudo.c, src/sudo_plugin_int.h:
4542         Fix symbol name conflict with sudo_printf.
4543         [0d44eab0a8f6]
4544
4545         * plugins/sudoers/auth/pam.c:
4546         Fix OpenPAM detection for newer versions.
4547         [1b2abed232d8]
4548
4549         * plugins/sudoers/vasgroups.c:
4550         Sync with Quest sudo git repo
4551         [f1d98b3cba02]
4552
4553         * aclocal.m4, configure, configure.in:
4554         HP-UX ld uses +b instead or -R or -rpath Fix typo in libvas check
4555         Add missing template for ENV_DEBUG Adapted from Quest sudo
4556         [695dbd7b28f4]
4557
4558         * README.LDAP:
4559         Fix typos; from Quest Sudo
4560         [4eba9da33b8e]
4561
4562 2010-06-01  Todd C. Miller  <Todd.Miller@courtesan.com>
4563
4564         * plugins/sudoers/Makefile.in:
4565         Add back -I$(top_srcdir); we need it for including compat/foo.h
4566         since we cannot rely on "foo.h" being found relative to the source
4567         file when the cwd is different.
4568         [bbf24695f325]
4569
4570         * src/exec.c:
4571         Fix a bug where we could treat EAGAIN as a permanent error. Also set
4572         cstat if perform_io() returns an error.
4573         [200475c4326f]
4574
4575         * common/alloc.c, plugins/sudoers/boottime.c,
4576         plugins/sudoers/sudoers.c:
4577         Add casts to quiet compiler warnings.
4578         [85eb1c336697]
4579
4580         * plugins/sudoers/sudoreplay.c, plugins/sudoers/testsudoers.c,
4581         plugins/sudoers/visudo.c:
4582         Fix typo in ternary operator usage.
4583         [6492ac1450e2]
4584
4585 2010-05-30  Todd C. Miller  <Todd.Miller@courtesan.com>
4586
4587         * INSTALL, configure, configure.in:
4588         Add --enable-warnings and fix typo in SUDO_IO_LOGDIR
4589         [92121d693b30]
4590
4591         * doc/sudoers.cat, doc/sudoers.man.in, doc/sudoers.pod,
4592         doc/sudoreplay.cat, doc/sudoreplay.man.in, doc/sudoreplay.pod:
4593         Update docs to match sudoers I/O logging changes
4594         [18d651989e49]
4595
4596         * INSTALL, WHATSNEW, aclocal.m4, configure, configure.in,
4597         pathnames.h.in, plugins/sudoers/def_data.c,
4598         plugins/sudoers/def_data.h, plugins/sudoers/def_data.in,
4599         plugins/sudoers/defaults.c, plugins/sudoers/gram.c,
4600         plugins/sudoers/gram.h, plugins/sudoers/gram.y,
4601         plugins/sudoers/iolog.c, plugins/sudoers/parse.c,
4602         plugins/sudoers/parse.h, plugins/sudoers/sudoers.c,
4603         plugins/sudoers/sudoreplay.c:
4604         Break sudoers transcript feature up into log_input and log_output.
4605         [db3c1248d2ad]
4606
4607         * plugins/sudoers/sudoreplay.c, plugins/sudoers/testsudoers.c,
4608         plugins/sudoers/visudo.c:
4609         Use setprogname() as needed.
4610         [6beee63a4553]
4611
4612         * plugins/sudoers/iolog.c, plugins/sudoers/sudoreplay.c:
4613         Adapt sudoreplay to iolog changes.
4614         [581f52c05f0f]
4615
4616 2010-05-29  Todd C. Miller  <Todd.Miller@courtesan.com>
4617
4618         * plugins/sudoers/iolog.c:
4619         Log all input and output into separate files and store a number on
4620         each timing file line to indicate which file the data is in.
4621         [fb460c5273dd]
4622
4623         * plugins/sudoers/iolog.c, plugins/sudoers/sudoers.c,
4624         plugins/sudoers/sudoers.h:
4625         Make sudoers_io functions static to iolog.c
4626         [b2df3cc3eecb]
4627
4628 2010-05-28  Todd C. Miller  <Todd.Miller@courtesan.com>
4629
4630         * doc/sudo.cat, doc/sudo.man.in, doc/sudo.pod, src/parse_args.c,
4631         src/sudo_usage.h.in:
4632         Completely remove the -L flag from the sudo front end.
4633         [3d220030b720]
4634
4635         * plugins/sudoers/sudoreplay.c:
4636         Fix EAGAIN handling when writing to stdout.
4637         [4766d77cea49]
4638
4639         * plugins/sudoers/sudoers.c:
4640         Eliminate unused variables
4641         [83bd711e79c4]
4642
4643         * plugins/sudoers/sudoers.c, src/exec.c, src/sudo.c:
4644         Re-enable cleanup functions in sudoers plugin and sudo driver for
4645         error()/errorx().
4646         [43093f937dd8]
4647
4648         * plugins/sudoers/auth/sudo_auth.c, plugins/sudoers/defaults.c,
4649         plugins/sudoers/interfaces.c, plugins/sudoers/iolog.c,
4650         plugins/sudoers/parse.c, plugins/sudoers/sudoers.c,
4651         plugins/sudoers/testsudoers.c, plugins/sudoers/visudo.c:
4652         Use sudo_printf to display verbose version information.
4653         [435cc9f8d4a2]
4654
4655         * common/Makefile.in, compat/Makefile.in, plugins/sample/Makefile.in,
4656         plugins/sudoers/Makefile.in, src/Makefile.in:
4657         Minor Makefile cleanup: fix a typo, change the removal order in the
4658         clean targets, and remove a superfluous include path for the sudoers
4659         plugin.
4660         [6e3b2d6b4437]
4661
4662         * plugins/sudoers/env.c:
4663         Handle duplicate variables in the environment. For unsetenv(), keep
4664         looking even after remove the first instance. For sudo_putenv(),
4665         check for and remove dupes after we replace an existing value.
4666         [c1bbb88d0435]
4667
4668 2010-05-27  Todd C. Miller  <Todd.Miller@courtesan.com>
4669
4670         * plugins/sudoers/Makefile.in:
4671         Use explicit path to source file instead of $< for files that live
4672         in devdir and top_srcdir.
4673         [358ab7f6cc64]
4674
4675         * plugins/sudoers/Makefile.in:
4676         Add explicit rules to compile gram.c and toke.c for HP-UX Pevent
4677         ending LIBSUDOERS_OBJS with a backslash
4678         [481a5c96d47e]
4679
4680         * plugins/sudoers/Makefile.in, src/Makefile.in:
4681         Link libcommon before libreplace since libcommon may use functions
4682         only present in libreplace.
4683         [1847c496ff5b]
4684
4685         * common/Makefile.in:
4686         Move code common to sudo and the sudoers plugin to a convenience
4687         library, libcommon. Removes the need to make links in the sudoers
4688         plugin dir and reduces re-compilation of duplicate object files.
4689         [4c8986352937]
4690
4691         * Makefile.in, common/alloc.c, common/atobool.c, common/fileops.c,
4692         common/fmt_string.c, common/gettime.c, common/lbuf.c, common/list.c,
4693         common/term.c, common/zero_bytes.c, configure, configure.in,
4694         plugins/sample/Makefile.in, plugins/sudoers/Makefile.in,
4695         src/Makefile.in, src/alloc.c, src/atobool.c, src/fileops.c,
4696         src/fmt_string.c, src/gettime.c, src/lbuf.c, src/list.c, src/term.c,
4697         src/zero_bytes.c:
4698         Move code common to sudo and the sudoers plugin to a convenience
4699         library, libcommon. Removes the need to make links in the sudoers
4700         plugin dir and reduces re-compilation of duplicate object files.
4701         [1d1d98bd55b9]
4702
4703         * src/exec.c, src/sudo.c, src/sudo.h:
4704         Rename script_execve to sudo_execve and rename script_foo in exec.c
4705         [a35ec80de96a]
4706
4707         * MANIFEST, src/Makefile.in, src/exec.c, src/script.c:
4708         rename script.c exec.c and fix up the MANIFEST file
4709         [36bc3bff9578]
4710
4711         * src/script.c, src/sudo.c, src/sudo.h:
4712         Rename script_setup() to pty_setup() and call from script_execve()
4713         directly.
4714         [899b0fb2a14d]
4715
4716         * configure, configure.in:
4717         bump version to 1.8.0a2
4718         [0b1c1ca9d4e5]
4719
4720         * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod:
4721         Document init_session
4722         [b5324785a406]
4723
4724         * plugins/sudoers/auth/API, plugins/sudoers/auth/sudo_auth.c,
4725         plugins/sudoers/auth/sudo_auth.h:
4726         Clean up the sudoers auth API a bit and update the docs.
4727         [c40fd4cb6e68]
4728
4729         * include/sudo_plugin.h, plugins/sudoers/auth/pam.c,
4730         plugins/sudoers/auth/sudo_auth.c, plugins/sudoers/sudoers.c,
4731         plugins/sudoers/sudoers.h, src/script.c, src/sudo.c:
4732         Add init_session function to struct policy_plugin that gets called
4733         before the uid/gid/etc changes. A struct passwd pointer is passed
4734         in,which may be NULL if the user does not exist in the passwd
4735         database.The sudoers module uses init_session to open the pam
4736         session as needed.
4737         [d71723320ee8]
4738
4739 2010-05-26  Todd C. Miller  <Todd.Miller@courtesan.com>
4740
4741         * plugins/sudoers/auth/pam.c, plugins/sudoers/auth/sudo_auth.c,
4742         plugins/sudoers/auth/sudo_auth.h, plugins/sudoers/set_perms.c,
4743         plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h:
4744         Add open/close session to sudo auth, only used by PAM. This allows
4745         us to open (and close) the PAM session from sudoers.
4746         [2665e2920d0d]
4747
4748         * plugins/sudoers/Makefile.in:
4749         Add explicit rule to build getdate.o for HP-UX make.
4750         [7f049e989956]
4751
4752         * plugins/sudoers/Makefile.in:
4753         Back out most of change 45e406ebdea2. Create dummy .l.c and .y.c
4754         rules as an alternate way to prevent HP-UX make (and others) from
4755         trying to rebuild the parser in non-dev mode.
4756         [f84badad98c5]
4757
4758         * plugins/sudoers/sudoers.c:
4759         Re-enable PATH_MAX check for command
4760         [40d8a50da136]
4761
4762         * Makefile.in:
4763         For distclean, clean the main directory last since the subdirs need
4764         to be able to run libtool to clean things.
4765         [8949a9861634]
4766
4767         * compat/Makefile.in:
4768         Fix generation of mksiglist.h
4769         [b7cdc9b36650]
4770
4771         * src/script.c:
4772         Now that we defer sending cstat until the end of script_child() we
4773         cannot reuse cstat when reading command status from parent.
4774         [25c882643466]
4775
4776 2010-05-25  Todd C. Miller  <Todd.Miller@courtesan.com>
4777
4778         * configure, configure.in, doc/sudo.man.in, doc/sudo.man.pl,
4779         doc/sudoers.cat, doc/sudoers.ldap.cat, doc/sudoers.ldap.man.in,
4780         doc/sudoers.man.in, doc/sudoers.man.pl, doc/sudoreplay.cat,
4781         doc/sudoreplay.man.in, doc/visudo.cat, doc/visudo.man.in:
4782         Use numeric registers to handle conditionals instead of trying to do
4783         it all with text processing.
4784         [478079c3fd4b]
4785
4786         * doc/sudoers.pod:
4787         Document per-command SELinux settings
4788         [13840d566805]
4789
4790         * plugins/sudoers/sudoers.c:
4791         Repair "sudo -l -U username"
4792         [10a0dcdf2ddf]
4793
4794         * plugins/sudoers/sudoers.c:
4795         Set selinux role and type in command details.
4796         [8ae6d35a126d]
4797
4798         * src/script.c, src/selinux.c, src/sudo.h:
4799         Rework SELinux support.
4800         [83279cc94bf2]
4801
4802 2010-05-24  Todd C. Miller  <Todd.Miller@courtesan.com>
4803
4804         * src/script.c, src/selinux.c, src/sudo.h:
4805         Make SELinux support compile again. Needs more work to be complete.
4806         [3d3addebcf82]
4807
4808         * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod,
4809         plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h,
4810         src/parse_args.c, src/script.c, src/selinux.c, src/sudo.c,
4811         src/sudo.h:
4812         Bring back closefrom settings.
4813         [b1c6257d4bbb]
4814
4815         * plugins/sudoers/iolog.c, plugins/sudoers/sudoers.c,
4816         plugins/sudoers/sudoers.h:
4817         If running a command or sudoedit in transcript mode, call
4818         io_nextid() before log_allowed() so the session id is logged.
4819         [c42f3ae40150]
4820
4821         * configure, configure.in:
4822         Use mandoc(1) if nroff(1) is not present.
4823         [daad4bbd04af]
4824
4825         * doc/Makefile.in:
4826         Use the --file argument to config.status instead of setting
4827         CONFIG_FILES in the environment.
4828         [c89411a8bf70]
4829
4830         * plugins/sudoers/Makefile.in:
4831         We cannot conditionally update gram.h or the dependency ordering
4832         gets messed up in devel mode.
4833         [c938953231d9]
4834
4835 2010-05-21  Todd C. Miller  <Todd.Miller@courtesan.com>
4836
4837         * Makefile.in, compat/Makefile.in, configure, configure.in,
4838         doc/Makefile.in, include/Makefile.in, plugins/sample/Makefile.in,
4839         plugins/sudoers/Makefile.in, src/Makefile.in:
4840         Substitute @SHELL@ into Makefiles
4841         [36aa6a095335]
4842
4843         * config.sub:
4844         Fix typo
4845         [16d294d26b58]
4846
4847         * config.guess, config.sub, configure, configure.in:
4848         Update to autoconf 2.65
4849         [4fa6ea8caea3]
4850
4851         * Makefile.in:
4852         Fix libtool target (space vs. tabs)
4853         [755cf3892618]
4854
4855         * config.h.in, plugins/sudoers/logging.h, plugins/sudoers/visudo.c:
4856         Remove use of RETSIGTYPE; all modern systems have signal handlers
4857         that return void.
4858         [42b4e3aee668]
4859
4860         * Makefile.in, aclocal.m4, acsite.m4, configure, configure.in,
4861         ltmain.sh, m4/libtool.m4, m4/ltoptions.m4, m4/ltsugar.m4,
4862         m4/ltversion.m4, m4/lt~obsolete.m4, plugins/sample/Makefile.in,
4863         plugins/sudoers/Makefile.in, src/Makefile.in:
4864         Update to libtool-2.2.6b. I haven't made any local modifications
4865         this time, which should be OK since we install sudo_noexec.so by
4866         hand now.
4867         [6f79ced593bb]
4868
4869         * compat/Makefile.in, plugins/sample/Makefile.in,
4870         plugins/sudoers/Makefile.in, src/Makefile.in:
4871         Use libtool to clean objects
4872         [1581057d6472]
4873
4874         * include/Makefile.in:
4875         Install sudo_plugin.h as part of "make install" and make other
4876         install targets callable from the top-level Makefile
4877         [aaaeb027d774]
4878
4879         * configure, configure.in:
4880         regen with autoupdate to eliminate AC_TRY_LINK
4881         [5d5541c230f5]
4882
4883         * Makefile.in, compat/Makefile.in, configure, configure.in,
4884         doc/Makefile.in, plugins/sample/Makefile.in,
4885         plugins/sudoers/Makefile.in, src/Makefile.in:
4886         Install sudo_plugin.h as part of "make install" and make other
4887         install targets callable from the top-level Makefile
4888         [b258b8401b1c]
4889
4890         * plugins/sample/sample_plugin.c:
4891         The sample plugin doesn't support being run with no args so return a
4892         usage error in this case.
4893         [473b3cf965be]
4894
4895         * plugins/sudoers/iolog.c:
4896         Set close on exec flag for descriptors used for I/O logging so they
4897         are not present in the command being run.
4898         [2c7e8708df76]
4899
4900         * plugins/sudoers/tsgetgrpw.c:
4901         Set close on exec flag in private versions of setpwent() and
4902         setgrent().
4903         [64fef78cb833]
4904
4905         * src/script.c:
4906         Close the I/O pipes aftering dup2()ing them to std{in,out,err}.
4907         Fixes extra fds being present in the command when it is part of a
4908         pipeline.
4909         [060451617713]
4910
4911         * plugins/sudoers/sudoers.c:
4912         Set user_tty to "unknown" if there is no tty, like sudo 1.7 does (it
4913         is used when logging). Note that user_ttypath will still be NULL if
4914         there is no tty.
4915         [31b69a6ecda7]
4916
4917         * src/script.c, src/sudo.h:
4918         Cosmetic changes: add comments, remove orphaned prototype and
4919         make a global static.
4920         [f7851af0143e]
4921
4922 2010-05-20  Todd C. Miller  <Todd.Miller@courtesan.com>
4923
4924         * src/script.c:
4925         Move check for maxfd == -1 to flush_output where it belongs.
4926         [b826a95b4491]
4927
4928         * src/script.c:
4929         Break out of select loop if all the fds we want to select on are -1.
4930         [f5b387024238]
4931
4932         * src/sudo.c:
4933         Avoid possible malloc(0) if plugin returns an empty groups list.
4934         [9765a8fe5ce7]
4935
4936         * src/sudo.c:
4937         Add debugging info when calling plugin close function
4938         [95a273c7ff66]
4939
4940         * src/script.c:
4941         Avoid closing stdin/stdout/stderr when we are piping output.
4942         [330e76423caf]
4943
4944         * src/script.c:
4945         When execve() of the command fails, it is possible to receive
4946         SIGCHLD before we've read the error status from the pipe. Re-order
4947         things such that we send the final status at the very end and prefer
4948         error status over wait status.
4949         [b0dcf825244f]
4950
4951 2010-05-19  Todd C. Miller  <Todd.Miller@courtesan.com>
4952
4953         * plugins/sudoers/auth/sudo_auth.c:
4954         Fix compilation for non PAM/BSD auth/AIX auth
4955         [e382b39d2e4f]
4956
4957 2010-05-18  Todd C. Miller  <Todd.Miller@courtesan.com>
4958
4959         * src/script.c:
4960         Additional checks to make sure we don't close /dev/tty by mistake.
4961         When flushing, sleep in select as long as we have buffers that need
4962         to be written out.
4963         [8139cbd3dd54]
4964
4965         * src/script.c:
4966         Now that we can use pipes for stdin/stdout/stderr there is no longer
4967         a need to error out when there is no tty. We just need to make sure
4968         we don't try to use the tty fd if it is -1.
4969         [666621635d26]
4970
4971 2010-05-17  Todd C. Miller  <Todd.Miller@courtesan.com>
4972
4973         * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod,
4974         include/sudo_plugin.h, plugins/sample/sample_plugin.c,
4975         plugins/sudoers/iolog.c, plugins/sudoers/sudoers.h, src/sudo.c:
4976         Add argc and argv to I/O logger open function.
4977         [0d7faa007d27]
4978
4979         * doc/sudo_plugin.man.in, doc/sudo_plugin.pod, include/sudo_plugin.h,
4980         plugins/sample/sample_plugin.c, plugins/sudoers/sudoers.c,
4981         src/parse_args.c, src/sudo.c, src/sudo_edit.c:
4982         Remove check_sudoedit function pointer in struct sudo_policy.
4983         Instead, sudo will set sudoedit=true in the settings array. The
4984         plugin should check for this and modify argv_out as appropriate in
4985         check_policy.
4986         [c0328e3276b8]
4987
4988 2010-05-16  Todd C. Miller  <Todd.Miller@courtesan.com>
4989
4990         * plugins/sample/sample_plugin.c, src/sudo.c, src/sudo.h,
4991         src/sudo_edit.c:
4992         If plugin sets "sudoedit=true" in the command info, enable sudoedit
4993         mode even if not invoked as sudoedit. This allows a plugin to
4994         enable sudoedit when the user runs an editor.
4995         [96d67b99e42e]
4996
4997 2010-05-15  Todd C. Miller  <Todd.Miller@courtesan.com>
4998
4999         * plugins/sudoers/Makefile.in:
5000         gram.h must not depend on gram.y if we want to avoid unnecessary
5001         rebuilding of targets dependent on gram.h when gram.y changes.
5002         [9db4b767fdca]
5003
5004         * plugins/sample/sample_plugin.c:
5005         Refactor common bits of check_policy and check_edit
5006         [ac4d366a04cf]
5007
5008         * plugins/sample/sample_plugin.c:
5009         Add sudoedit support
5010         [a1a6cc4c0cef]
5011
5012 2010-05-14  Todd C. Miller  <Todd.Miller@courtesan.com>
5013
5014         * plugins/sudoers/Makefile.in:
5015         Rely more on VPATH; fixes a dependency issue with the parser.
5016         [45e406ebdea2]
5017
5018         * include/compat.h:
5019         Fix typo introduced in last commit
5020         [3ccb0f853d11]
5021
5022         * include/compat.h:
5023         Emulate seteuid using setreuid() or setresuid() as needed. There are
5024         still a few places that call seteuid() directly.
5025         [36e8efa3a99d]
5026
5027         * src/parse_args.c, src/sudo_edit.c:
5028         Attempt to fix building on systems that only have setuid.
5029         [8e9ba4083318]
5030
5031         * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod:
5032         Clarify sudoedit a tad.
5033         [d39dfaa14ade]
5034
5035 2010-05-13  Todd C. Miller  <Todd.Miller@courtesan.com>
5036
5037         * src/sudo_edit.c:
5038         Fix compilation on HP-UX
5039         [f6e47843d139]
5040
5041         * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod:
5042         Document sudoedit
5043         [4cbf5196d993]
5044
5045         * plugins/sudoers/sudoers.c, src/sudo.c, src/sudo.h, src/sudo_edit.c:
5046         Change how we handle the sudoedit argv. We now require that there
5047         be a "--" in argv to separate the editor and any command line
5048         arguments from the files to be edited.
5049         [20623d549a3c]
5050
5051         * include/sudo_plugin.h, plugins/sample/sample_plugin.c,
5052         plugins/sudoers/Makefile.in, plugins/sudoers/gettime.c,
5053         plugins/sudoers/set_perms.c, plugins/sudoers/sudoers.c,
5054         src/Makefile.in, src/gettime.c, src/parse_args.c, src/sudo.c,
5055         src/sudo.h, src/sudo_edit.c:
5056         Work in progress support for sudoedit. The actual interface used by
5057         the plugin for sudoedit is likely to change.
5058         [c31262a31997]
5059
5060         * plugins/sudoers/find_path.c, plugins/sudoers/sudoers.c,
5061         plugins/sudoers/sudoers.h, plugins/sudoers/visudo.c:
5062         Make find_path() a little more generic by not checking def_foo
5063         variables inside it. Instead, pass in ignore_dot as a function
5064         argument.
5065         [9c23101a094d]
5066
5067         * plugins/sudoers/env.c:
5068         Add version of getenv(3) that uses our own environ pointer.
5069         [0e3783e63534]
5070
5071 2010-05-12  Todd C. Miller  <Todd.Miller@courtesan.com>
5072
5073         * src/script.c:
5074         Avoid a potential race condition if SIGCHLD is received immediately
5075         before we call select().
5076         [99adc5ea7f0a]
5077
5078         * plugins/sudoers/sudoers.c:
5079         Call env_init() before we open the sudoers sources as those may call
5080         our setenv() replacement.
5081         [5f82601f5ab0]
5082
5083         * plugins/sudoers/env.c:
5084         Initialize env_len in env_init()
5085         [7ae02b3029b5]
5086
5087 2010-05-11  Todd C. Miller  <Todd.Miller@courtesan.com>
5088
5089         * doc/sudo.cat, doc/sudo.man.in, doc/sudo.pod:
5090         Document time stamp shortcomings under SECURITY NOTES Use "time
5091         stamp" instead of timestamp.
5092         [2b86120815b2]
5093
5094         * doc/Makefile.in:
5095         Make sed substitution of mansectsu and mansectform global.
5096         [94588632dba0]
5097
5098         * plugins/sudoers/check.c:
5099         If the tty lives on a devpts filesystem, stash the ctime in the tty
5100         ticket file, as it is not updated when the tty is written to. This
5101         helps us determine when a tty has been reused without the user
5102         authenticating again with sudo.
5103         [0e62a31bceb0]
5104
5105         * src/tgetpass.c:
5106         Fix pasto in mulitple signal fix and use _NSIG not NSIG since that
5107         is what our compat checks set.
5108         [df50f0a040c9]
5109
5110         * configure, configure.in:
5111         Add check for whether sudo need to link with -ldl to get dlopen().
5112         This is a bit of a hack that will get reworked when libtool is
5113         updated.
5114         [63bdcf579533]
5115
5116         * plugins/sudoers/check.c:
5117         Fix timestamp removal with -k/-K
5118         [6b4639fef973]
5119
5120         * plugins/sudoers/Makefile.in:
5121         audit.c is now private to the sudoers plugin
5122         [1974f342ae0b]
5123
5124         * configure, configure.in:
5125         Link with -lpthread on HP-UX since a plugin may be linked with
5126         -lpthread and dlopen() will fail if the shared object has a
5127         dependency on -lpthread but the main program is not linked with it.
5128         [d42139391263]
5129
5130         * config.h.in, configure, configure.in, plugins/sudoers/set_perms.c:
5131         Add separate test for getresuid() since HP-UX has setresuid() but no
5132         getresuid().
5133         [910fe727a374]
5134
5135         * doc/Makefile.in:
5136         Remove errant backslash
5137         [dd5464257c69]
5138
5139         * src/script.c:
5140         Fix SIGPIPE handling. Now that we use may use pipes for
5141         stdin/stdout we need to pass any SIGPIPE we receive to the running
5142         command.
5143         [3f6b1991f4fd]
5144
5145         * src/script.c:
5146         Also start the command in the background if stdin is not a tty.
5147         [d93bc33a3740]
5148
5149 2010-05-10  Todd C. Miller  <Todd.Miller@courtesan.com>
5150
5151         * plugins/sudoers/sudoreplay.c, src/script.c, src/sudo.h, src/term.c:
5152         No need to use pseudo-cbreak mode now that we use pipes when stdout
5153         is not a tty. Instead, check whether stdin is a tty and if not,
5154         delay setting the tty to raw mode until the command tries to access
5155         it itself (and receives SIGTTIN or SIGTTOU).
5156         [e68315cf8c6b]
5157
5158         * src/tgetpass.c:
5159         Use an array for signals received instead of a single variable so we
5160         don't lose any when there are multiple different signals.
5161         [2ac726dac864]
5162
5163         * src/tgetpass.c:
5164         Do signal setup after turning off echo, not before. If we are using
5165         a tty but are not the foreground pgrp this will generate SIGTTOU so
5166         we want the default action to be taken (suspend process).
5167         [bebb6209c795]
5168
5169 2010-05-07  Todd C. Miller  <Todd.Miller@courtesan.com>
5170
5171         * src/script.c:
5172         Flush the iobufs on suspend or child exit using the same logic as
5173         the main event loop.
5174         [c627feee1035]
5175
5176         * src/script.c:
5177         Free memory after we are done with it.
5178         [8db9b611b45a]
5179
5180 2010-05-06  Todd C. Miller  <Todd.Miller@courtesan.com>
5181
5182         * doc/HISTORY:
5183         Quest now sponsors Sudo development
5184         [6cc490083bc7]
5185
5186 2010-05-05  Todd C. Miller  <Todd.Miller@courtesan.com>
5187
5188         * doc/Makefile.in:
5189         Install sudo_plugin man page.
5190         [c253729790b2]
5191
5192         * src/script.c:
5193         Go back to reseting io_buffer offset and length (and now also the
5194         EOF handling) in the loop we do the FD_SET, not after we drain the
5195         buffer after write() since we don't know what order reads and writes
5196         will occur in.
5197         [5f38bfa8497f]
5198
5199         * MANIFEST:
5200         audit files moved to sudoers plugin directory
5201         [b1ead182428e]
5202
5203         * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod:
5204         Document plugin_printf and new logging functions.
5205         [fe9430b60ab5]
5206
5207         * src/script.c:
5208         Add support for logging stdin when it is not a tty. There is still a
5209         bug where "cat | sudo cat" has problems because both cat and sudo
5210         are trying to read from the tty.
5211         [04c9c59fcfba]
5212
5213         * include/sudo_plugin.h, plugins/sample/sample_plugin.c,
5214         plugins/sudoers/sudoers.c, src/script.c:
5215         Add separate I/O logging functions for tty in/out and
5216         stdin/stdout/stderr. NOTE: stdin logging does not currently work and
5217         is disabled for now.
5218         [a36dfd4ca935]
5219
5220 2010-05-04  Todd C. Miller  <Todd.Miller@courtesan.com>
5221
5222         * include/sudo_plugin.h, plugins/sample/sample_plugin.c,
5223         plugins/sudoers/iolog.c, plugins/sudoers/ldap.c,
5224         plugins/sudoers/logging.c, plugins/sudoers/plugin_error.c,
5225         plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h,
5226         src/conversation.c, src/sudo.c, src/sudo_plugin_int.h:
5227         Add pointer to a printf like function to plugin open functon. This
5228         can be used instead of the conversation function to display info and
5229         error messages.
5230         [98734eea8ef1]
5231
5232         * Makefile.in:
5233         Stop if make in a subdir fails
5234         [228bb3ad2dbc]
5235
5236         * src/script.c:
5237         Only set user's tty to blocking mode when doing the final flush.
5238         Flush pipes as well as pty master when the process is done.
5239         [20ff67218666]
5240
5241 2010-05-03  Todd C. Miller  <Todd.Miller@courtesan.com>
5242
5243         * plugins/sudoers/ldap.c:
5244         Use print_error() when displaying ldap config info in debugging
5245         mode.
5246         [d142e0cacb22]
5247
5248         * compat/Makefile.in, compat/strdup.c, compat/strndup.c:
5249         No longer need strdup() or strndup() replacements.
5250         [df53697174ec]
5251
5252         * plugins/sudoers/logging.c, plugins/sudoers/plugin_error.c,
5253         plugins/sudoers/sudoers.h:
5254         Add print_error() function that uses the conversation function to
5255         print a variable number of error strings and use it in log_error().
5256         [b1fa2861b575]
5257
5258         * src/script.c, src/sudo.h, src/term.c:
5259         Do not need the opost flag to term_copy() now that we use pipes for
5260         stdout/stderr when they are not a tty.
5261         [f42811f70a19]
5262
5263         * src/script.c:
5264         Use pipes to the sudo process if stdout or stderr is not a tty.
5265         Still needs some polishing and a decision as to whether it is
5266         desirable to add additonal entry points for logging
5267         stdout/stderr/stdin when they are not ttys. That would allow a
5268         replay program to keep things separate and to know whether the
5269         terminal needs to be in raw mode at replay time.
5270         [1a945e0ab2da]
5271
5272 2010-04-30  Todd C. Miller  <Todd.Miller@courtesan.com>
5273
5274         * plugins/sudoers/Makefile.in, plugins/sudoers/audit.c,
5275         plugins/sudoers/bsm_audit.c, plugins/sudoers/bsm_audit.h,
5276         src/audit.c, src/bsm_audit.c, src/bsm_audit.h:
5277         Move audit sources into the sudoers plugin dir; the driver does not
5278         use them.
5279         [50ec36422cd0]
5280
5281         * compat/getline.c, compat/mksiglist.c, compat/nanosleep.c,
5282         compat/strdup.c, compat/strndup.c, plugins/sample/sample_plugin.c,
5283         plugins/sudoers/boottime.c, plugins/sudoers/getdate.c,
5284         plugins/sudoers/match.c, plugins/sudoers/sudoreplay.c,
5285         plugins/sudoers/timestr.c, plugins/sudoers/vasgroups.c, src/alloc.c,
5286         src/atobool.c, src/audit.c, src/lbuf.c, src/list.c, src/sesh.c,
5287         src/term.c, src/ttysize.c:
5288         Use angle brackets when including headers that can only be found
5289         when an -I flag is specified. The files in the compat dir could get
5290         away with double quotes here but I've converted all the source files
5291         to use angle brackets for consistency.
5292         [9e30a8fc6d4b]
5293
5294         * plugins/sudoers/Makefile.in:
5295         Add missing -I$(top_srcdir) to CPPFLAGS so includes in the compat
5296         dir can be found when building outside the source tree.
5297         [1150934b79dd]
5298
5299         * plugins/sudoers/Makefile.in:
5300         Clean up links in distclean
5301         [78595028be8b]
5302
5303         * plugins/sudoers/Makefile.in:
5304         Hack around VPATH semantic differences by symlinking files we need
5305         from ../../src into the current directory and build those. A better
5306         fix would be to either make a .a or .la file with those files in it
5307         or simply use a single, flat, Makefile instead of per-subdirs
5308         Makefiles.
5309         [892c332d3f05]
5310
5311         * plugins/sudoers/Makefile.in, src/Makefile.in, src/fmt_string.c:
5312         fmt_string is used by the sudoers plugin too so do not include
5313         sudo.h (which is not really needed here anyway)
5314         [231c35e3941f]
5315
5316         * compat/Makefile.in, plugins/sample/Makefile.in,
5317         plugins/sudoers/Makefile.in, src/Makefile.in:
5318         Fix building with non-BSD versions of make such as GNU make.
5319         Requires VPATH support, which should be in any non-neolithic make.
5320         [dc174f135919]
5321
5322         * configure, configure.in, plugins/sudoers/Makefile.in,
5323         plugins/sudoers/auth/sudo_auth.c, plugins/sudoers/sudoers.c,
5324         src/Makefile.in:
5325         Re-enable bsm audit. Currently auditing is done within the sudoers
5326         plugin itself. If possible, this should really be done in the main
5327         driver but we don't presently have the needed data to do that. This
5328         will be re-evaluated when Linux audit support is added.
5329         [1d05a3236bfe]
5330
5331         * compat/Makefile.in, plugins/sample/Makefile.in,
5332         plugins/sudoers/Makefile.in, src/Makefile.in:
5333         Remove extraneous $srcdir and use more .c.lo and .c.o rules instead
5334         of explicit rules in the dependency.
5335         [88f80efd25f0]
5336
5337         * plugins/sudoers/visudo.c:
5338         Fix mismerge; alias_remove_recursive() now returns int
5339         [6257a4849641]
5340
5341 2010-04-29  Todd C. Miller  <Todd.Miller@courtesan.com>
5342
5343         * plugins/sudoers/visudo.c:
5344         Fix a crash when checking a sudoers file that has aliases that
5345         reference themselves. Based on a diff from David Wood.
5346         [545d194484a7]
5347
5348         * src/script.c:
5349         Print signal info after restoring the tty mode, not before.
5350         [a68618e67435]
5351
5352         * src/script.c:
5353         Defer call to alarm() until after we fork the child. Pass correct
5354         pid to terminate_child() If the command exits due to signal, set
5355         alive to false like we do when it exits normally. Add missing
5356         check for errpipe[0] != -1 before using it in FD_ISSET
5357         [22f0a1549391]
5358
5359 2010-04-28  Todd C. Miller  <Todd.Miller@courtesan.com>
5360
5361         * plugins/sudoers/boottime.c:
5362         Use 1/0 instead of TRUE/FALSE so we don't need sudoers.h
5363         [0e627170c6e8]
5364
5365 2010-04-27  Todd C. Miller  <Todd.Miller@courtesan.com>
5366
5367         * src/Makefile.in:
5368         Simplify dependencies by using .c.o and .c.lo rules.
5369         [6abcaef5d1ac]
5370
5371         * configure, configure.in, plugins/sudoers/Makefile.in,
5372         src/Makefile.in:
5373         Substitute in @PROGS@ into src/Makefile to add sesh
5374         [cc46d3b6208f]
5375
5376 2010-04-26  Todd C. Miller  <Todd.Miller@courtesan.com>
5377
5378         * plugins/sudoers/sudoers.c:
5379         Add back calls to log_denial() if sudoers does not allow the
5380         command.
5381         [9783316207f0]
5382
5383         * plugins/sudoers/sudoers.c:
5384         Pass in correct pwflag for list and validate.
5385         [973dd56d4b81]
5386
5387         * plugins/sudoers/env.c:
5388         Add missing check for NULL in validate_env_vars
5389         [1d6eb6957824]
5390
5391         * src/Makefile.in:
5392         Add sudo_noexec.la to "all" target, otherwise it only gets built at
5393         install time.
5394         [644a9694d2ef]
5395
5396         * plugins/sudoers/sudoers.c:
5397         Only set sudo_user.env_vars if the env_add list is empty.
5398         [fccdf6f0e0e2]
5399
5400         * plugins/sudoers/sudoers.c:
5401         Set sudo_user.env_vars so that environment variables specified on
5402         the command line get logged correctly.
5403         [9b51012c491e]
5404
5405         * plugins/sudoers/env.c, plugins/sudoers/logging.c,
5406         plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h:
5407         Re-enable environment files and setting environment variables on the
5408         command line.
5409         [5662d5645dbd]
5410
5411 2010-04-24  Todd C. Miller  <Todd.Miller@courtesan.com>
5412
5413         * plugins/sudoers/check.c:
5414         Fix typo in last commit (ifndef vs ifdef) Make sure we pass ctime()
5415         a pointer to time_t as tv_sec in struct timeval may be long.
5416         [4de0c46e788e]
5417
5418         * plugins/sudoers/check.c:
5419         Don't stash ctime in on-disk tty ticket info for now; on many
5420         (most?) systems the ctime is updated when the tty is written to.
5421         Once I have a better idea of what systems do not update ctime on
5422         ttys (and have a way to test for this) the ctime stash will be
5423         conditionally re-enabled.
5424         [a90eeec0f648]
5425
5426 2010-04-23  Todd C. Miller  <Todd.Miller@courtesan.com>
5427
5428         * MANIFEST, Makefile.in:
5429         Add back "dist" target, this time using a MANIFEST file
5430         [29277c05499f]
5431
5432         * Makefile.in:
5433         Remove Makefile in distclean target
5434         [83d695f4f450]
5435
5436         * Makefile.in, src/Makefile.in:
5437         Update clean and cleandir targets
5438         [ad7b2afeb9c1]
5439
5440         * include/fileops.h, plugins/sudoers/sudoers.h, src/fileops.c,
5441         src/sudo.h:
5442         Move fileops.c defines and prototypes to filesops.h
5443         [4545e9b6892d]
5444
5445         * plugins/sudoers/check.c:
5446         Lock the tty timestamp when writing. We shouldn't have to lock when
5447         reading since the file is updated via a single write system call.
5448         [0c7276f02696]
5449
5450 2010-04-22  Todd C. Miller  <Todd.Miller@courtesan.com>
5451
5452         * plugins/sudoers/alias.c, plugins/sudoers/check.c,
5453         plugins/sudoers/defaults.c, plugins/sudoers/find_path.c,
5454         plugins/sudoers/getspwuid.c, plugins/sudoers/gettime.c,
5455         plugins/sudoers/goodpath.c, plugins/sudoers/interfaces.c,
5456         plugins/sudoers/iolog.c, plugins/sudoers/ldap.c,
5457         plugins/sudoers/logging.c, plugins/sudoers/match.c,
5458         plugins/sudoers/nonunix.h, plugins/sudoers/parse.c,
5459         plugins/sudoers/pwutil.c, plugins/sudoers/redblack.c,
5460         plugins/sudoers/sudo_nss.c, plugins/sudoers/sudoers.c,
5461         plugins/sudoers/sudoreplay.c, plugins/sudoers/testsudoers.c,
5462         plugins/sudoers/timestr.c, plugins/sudoers/tsgetgrpw.c,
5463         plugins/sudoers/vasgroups.c, plugins/sudoers/visudo.c:
5464         Convert to ANSI C function declarations
5465         [9c45def57cf7]
5466
5467         * plugins/sudoers/sudoers.h:
5468         Remove extraneous bits and classify by source file.
5469         [e8ea9f109ebb]
5470
5471         * include/compat.h:
5472         Add timercmp macro for systems without it
5473         [d3bf87b1d08e]
5474
5475         * plugins/sudoers/boottime.c, plugins/sudoers/check.c,
5476         plugins/sudoers/sudoers.h:
5477         get_boottime() now fills in a timeval struct
5478         [3573c3f44e11]
5479
5480         * plugins/sudoers/check.c:
5481         Store info from stat(2)ing the tty in the tty ticket when tty
5482         tickets are in use. On most systems, this closes the loophole
5483         whereby a user can log out of a tty, log back in and still have the
5484         timestamp be valid.
5485         [53380f9f5242]
5486
5487         * config.h.in, configure.in:
5488         Add timespec2timeval and use it when getting ctime/mtime
5489         [4cb7f7caec2c]
5490
5491 2010-04-20  Todd C. Miller  <Todd.Miller@courtesan.com>
5492
5493         * plugins/sudoers/auth/sudo_auth.c, plugins/sudoers/set_perms.c,
5494         plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h,
5495         plugins/sudoers/testsudoers.c:
5496         Convert perm setting to push/pop model; still needs some work Use
5497         the stashed runas groups instead of using getgrouplist() Reset perms
5498         to the initial value on error
5499         [09c072ebde8b]
5500
5501         * config.h.in, configure.in:
5502         fix ctim_get and mtim_get macros
5503         [58773dc1e360]
5504
5505         * config.h.in, configure, configure.in, include/compat.h,
5506         plugins/sudoers/check.c, plugins/sudoers/gettime.c,
5507         plugins/sudoers/sudoers.h, plugins/sudoers/visudo.c, src/fileops.c:
5508         Use timeval directly instead of converting to timespec when dealing
5509         with file times and time of day.
5510         [a0ce1ae00a67]
5511
5512         * plugins/sudoers/Makefile.in:
5513         Don't like sudoreplay with libsudoers.la due to a yacc symbol
5514         conflict.
5515         [f1a59cc63a15]
5516
5517 2010-04-18  Todd C. Miller  <Todd.Miller@courtesan.com>
5518
5519         * configure, configure.in:
5520         Darwin >= 9.x has real setreuid(2)
5521         [7ec942a64275]
5522
5523 2010-04-17  Todd C. Miller  <Todd.Miller@courtesan.com>
5524
5525         * plugins/sudoers/env.c, plugins/sudoers/sudoers.h:
5526         Ansify env.c
5527         [f58551bad10a]
5528
5529         * plugins/sudoers/env.c, plugins/sudoers/sudoers.c,
5530         plugins/sudoers/sudoers.h:
5531         Remove remaining references to the environ pointer.
5532         [96faa530816a]
5533
5534 2010-04-16  Todd C. Miller  <Todd.Miller@courtesan.com>
5535
5536         * config.h.in, configure, configure.in, plugins/sudoers/env.c:
5537         Don't change the environ directly in the sudoers plugin
5538         [6db48ed3f7e0]
5539
5540 2010-04-15  Todd C. Miller  <Todd.Miller@courtesan.com>
5541
5542         * plugins/sudoers/sudoers.c:
5543         Fix typo
5544         [4aa452b07f8f]
5545
5546         * plugins/sudoers/alias.c:
5547         Fix use after free in error message when a duplicate alias exists.
5548         [ce1d2812ee34]
5549
5550 2010-04-14  Todd C. Miller  <Todd.Miller@courtesan.com>
5551
5552         * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod,
5553         src/parse_args.c:
5554         Add a "noninteractive" boolean to the settings passed in to the
5555         plugin's open function that is set when the user specifies the -n
5556         flag.
5557         [68f8d9d6d4d0]
5558
5559         * config.h.in, configure, configure.in, plugins/sudoers/env.c:
5560         Add workaround for the lack of the environ pointer on Mac OS X in
5561         dlopen()ed modules. Use of environ in the sudoers plugin should
5562         ultimately be removed but this will do for the moment.
5563         [80c61647434f]
5564
5565         * plugins/sudoers/visudo.c:
5566         Set errorfile to the sudoers path if we set parse_error manually.
5567         This prevents a NULL dereference in printf() when checking a sudoers
5568         file in strict mode when alias errors are present.
5569         [45e249ca99f7]
5570
5571         * plugins/sudoers/sudoers.c:
5572         Main sudo no longer print "unable to execute" on exec failure so do
5573         it here.
5574         [50aaf62b43b5]
5575
5576 2010-04-13  Todd C. Miller  <Todd.Miller@courtesan.com>
5577
5578         * src/script.c:
5579         Use a pipe to pass back errno to the parent if execve() fails. If we
5580         get an error in script_child(), kill the command and exit.
5581         [dc3bf870f91b]
5582
5583         * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod,
5584         src/parse_args.c, src/sudo.c:
5585         Handle plugin's open function returning -2 (usage error).
5586         [aadf900c1de8]
5587
5588         * src/script.c:
5589         If execve() fails, leave it to the plugin to print an error string.
5590         [e25748f2d5b9]
5591
5592         * src/script.c:
5593         If execve fails in logging mode, pass the errno directly to the
5594         grandparent on the backchannel and exit. The immediate parent will
5595         get SIGCHLD and try to report that status but its parent will no
5596         longer be listening. It would probably be cleaner to pass this over
5597         a pipe in script_child().
5598         [cb122acc81a8]
5599
5600         * plugins/sudoers/sudoers.c:
5601         Don't override rval with results of check_user() unless it failed.
5602         [46fb7e87ac7d]
5603
5604 2010-04-12  Todd C. Miller  <Todd.Miller@courtesan.com>
5605
5606         * doc/sudoers.cat, doc/sudoers.man.in, doc/sudoers.pod:
5607         Fix typo
5608         [ccd0b693f3da]
5609
5610         * src/parse_args.c:
5611         NULL-terminate env_add
5612         [2c534368a0c3]
5613
5614 2010-04-11  Todd C. Miller  <Todd.Miller@courtesan.com>
5615
5616         * src/sudo.c:
5617         Call the I/O log open function before the I/O version function.
5618         [e88bf898990b]
5619
5620         * plugins/sudoers/iolog.c:
5621         Remove io_conv and just use sudo_conv
5622         [a280052468eb]
5623
5624         * plugins/sudoers/set_perms.c:
5625         Fix set/restore perms for systems w/o setresuid
5626         [4160517f6666]
5627
5628 2010-04-10  Todd C. Miller  <Todd.Miller@courtesan.com>
5629
5630         * plugins/sudoers/check.c, plugins/sudoers/logging.c,
5631         plugins/sudoers/parse.c, plugins/sudoers/set_perms.c,
5632         plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h:
5633         Primitive set/restore permissions. Will be replaced by a push/pop
5634         model.
5635         [aae102290866]
5636
5637         * src/script.c:
5638         Only need to take action on SIGCHLD in parent if no I/O logger. If
5639         there is an I/O logger we will receive ECONNRESET or EPIPE when we
5640         try to read from the socketpair.
5641         [e1e4560401f6]
5642
5643 2010-04-09  Todd C. Miller  <Todd.Miller@courtesan.com>
5644
5645         * compat/memrchr.c, doc/sudoers.cat, doc/sudoers.man.in,
5646         doc/sudoers.pod, plugins/sudoers/find_path.c:
5647         Merge fb4d571495fa from the 1.7 branch to trunk.
5648         [c8fb424ad4d2]
5649
5650 2010-04-08  Todd C. Miller  <Todd.Miller@courtesan.com>
5651
5652         * src/script.c:
5653         Don't set SA_RESTART when registering SIGALRM handler. Do set
5654         SA_RESTART when registering SIGWINCH handler.
5655         [173472b76525]
5656
5657         * doc/Makefile.in:
5658         Add dev targets for *.man.in and *.cat that don't specfify the
5659         $(srcdir) prefix.
5660         [b62f425da2e4]
5661
5662         * src/script.c:
5663         If log_input or log_output returns false, terminate the command.
5664         [074f4c0c34a0]
5665
5666         * src/script.c:
5667         Better signal handling. Instead of using a single variable to store
5668         the received signal, use an array so we can't lose a signal when
5669         multiple are sent. Fix process termination by SIGALRM in non-I/O
5670         logger mode. Fix relaying terminal signals to the child in non-I/O
5671         logger mode.
5672         [7a4723aca99d]
5673
5674         * src/script.c:
5675         Fix a race between when we get the child pid in the parent and when
5676         the child process exits. The problem exhibited as a hang after a
5677         short-lived process, e.g. "sudo id" when no IO logger was enabled.
5678         [80bcc0aca70b]
5679
5680 2010-04-07  Todd C. Miller  <Todd.Miller@courtesan.com>
5681
5682         * doc/sudoers.cat, doc/sudoers.man.in, doc/sudoers.pod:
5683         Add a note about the security implications of the fast_glob option.
5684         [c37a92ab7c93]
5685
5686 2010-04-06  Todd C. Miller  <Todd.Miller@courtesan.com>
5687
5688         * config.h.in, configure, configure.in:
5689         Fix up some AC_DEFINE descriptions and regen config.h.in
5690         [f4655adc0db3]
5691
5692 2010-04-05  Todd C. Miller  <Todd.Miller@courtesan.com>
5693
5694         * include/missing.h:
5695         No longer check for strdup or strndup for LIBOBJ replacement.
5696         [fdc764ee8109]
5697
5698         * src/script.c:
5699         Avoid installing signal handlers that are io-logger specific. Fixes
5700         job control when no io logger is enabled.
5701         [0853dd0906d4]
5702
5703         * doc/Makefile.in:
5704         Only regen man pages from pod when configured with --with-devel
5705         [ab1995f8103d]
5706
5707 2010-04-04  Todd C. Miller  <Todd.Miller@courtesan.com>
5708
5709         * Makefile, Makefile.in, configure, configure.in:
5710         Top-level Makefile.in. Nothing is currently substituted but this is
5711         needed for separate build dirs.
5712         [e80873cbd201]
5713
5714         * compat/Makefile.in, doc/Makefile.in, plugins/sample/Makefile.in,
5715         plugins/sudoers/Makefile.in, src/Makefile.in:
5716         Fix out-of-tree builds
5717         [59a35bef07b8]
5718
5719         * Merge
5720         [386b848047e9]
5721
5722         * doc/Makefile.in:
5723         We always install sudoreplay in 1.8
5724         [ce52ba6617c9]
5725
5726 2010-04-03  Todd C. Miller  <Todd.Miller@courtesan.com>
5727
5728         * compat/siglist.in:
5729         SIGPOLL is sometimes the same as SIGIO (like on HP-UX)
5730         [6d69e1b05faf]
5731
5732 2010-04-02  Todd C. Miller  <Todd.Miller@courtesan.com>
5733
5734         * configure, configure.in:
5735         No need to provide strdup() or strndup(), sudo uses estrdup() and
5736         estrndup()
5737         [57ec23b72958]
5738
5739 2010-04-04  Todd C. Miller  <Todd.Miller@courtesan.com>
5740
5741         * plugins/sudoers/iolog.c, plugins/sudoers/sudoers.c:
5742         Free str after using it in the version method. Use sudo_conv, not
5743         io_conv since we don't have the IO conversation function pointer in
5744         the I/O version method anymore now that io_open is delayed.
5745         [f2ed132adeb0]
5746
5747 2010-04-02  Todd C. Miller  <Todd.Miller@courtesan.com>
5748
5749         * compat/Makefile.in, compat/mksiglist.c, compat/mksiglist.h,
5750         compat/siglist.in:
5751         Add license to mksiglist.c and note that the bits from pdksh are
5752         public domain
5753         [d8121a2467e8]
5754
5755         * compat/Makefile.in:
5756         Fix LIBOBJDIR vs. srcdir wrt the siglist bits
5757         [164160148421]
5758
5759         * plugins/sudoers/Makefile.in:
5760         Add sudoreplay testsudoers and visudo to clean target
5761         [138a17e51c0c]
5762
5763         * compat/Makefile.in, compat/mksiglist.c, compat/mksiglist.h,
5764         compat/siglist.in, compat/strsignal.c, configure, configure.in,
5765         include/missing.h, src/script.c:
5766         Create our own sys_siglist for systems without it for use by
5767         strsignal()
5768         [2e5da011ebc3]
5769
5770         * compat/Makefile.in:
5771         Remove duplicate $(LIBOBJDIR)
5772         [adf9abc9432f]
5773
5774 2010-04-01  Todd C. Miller  <Todd.Miller@courtesan.com>
5775
5776         * plugins/sudoers/sudoers.c, src/sudo.c, src/sudo_edit.c:
5777         Main sudo should not block signals; the plugin should do this in
5778         check_policy.
5779         [3f3736a7c5ed]
5780
5781 2010-03-31  Todd C. Miller  <Todd.Miller@courtesan.com>
5782
5783         * src/script.c:
5784         Fix a sizeof(ptr) vs. sizeof(*ptr)
5785         [aa1bcf5afcce]
5786
5787         * src/script.c:
5788         Unlike most operating systems, HP-UX select() is not interrupted by
5789         SIGCHLD when the signal is registered with SA_RESTART. If we clear
5790         SA_RESTART when calling sigaction() for SIGCHLD we get the expected
5791         behavior and the code in the select() loops already handles EINTR
5792         correctly.
5793         [9eba0115e35a]
5794
5795         * compat/getprogname.c:
5796         progname should be const
5797         [130228f062b7]
5798
5799         * plugins/sudoers/Makefile.in:
5800         Move --tag=disable-static to when we link sudoers.la, not when we
5801         install.
5802         [ceb5e6c3b78b]
5803
5804         * src/load_plugins.c:
5805         Load the sudoers I/O plugin by default too now that it is hooked up.
5806         [ea38befd0742]
5807
5808 2010-03-30  Todd C. Miller  <Todd.Miller@courtesan.com>
5809
5810         * src/pty.c:
5811         It looks like AIX doesn't need to push STREAMS modules for ptys.
5812         [22da618ba0a1]
5813
5814 2010-03-28  Todd C. Miller  <Todd.Miller@courtesan.com>
5815
5816         * src/parse_args.c, src/sudo.c:
5817         Delay calling the I/O plugin open function until the policy plugin
5818         returns success.
5819         [f3297c325b48]
5820
5821 2010-03-27  Todd C. Miller  <Todd.Miller@courtesan.com>
5822
5823         * plugins/sudoers/Makefile.in, plugins/sudoers/iolog.c,
5824         plugins/sudoers/set_perms.c, plugins/sudoers/sudoers.c,
5825         plugins/sudoers/sudoers.h:
5826         Add back io logging (transcript) support. Currently, the open
5827         function runs too early and it is not possible to use the io module
5828         independently of the policy module.
5829         [9bd932f66226]
5830
5831         * plugins/sudoers/set_perms.c:
5832         Comment out dead code; will be removed when set_perms is rewritten.
5833         [af7a995284f8]
5834
5835 2010-03-23  Todd C. Miller  <Todd.Miller@courtesan.com>
5836
5837         * plugins/sudoers/sudoers.c:
5838         Fix off by one error when allocating user_groups.
5839         [6281fcf9c3bb]
5840
5841 2010-03-22  Todd C. Miller  <Todd.Miller@courtesan.com>
5842
5843         * configure, configure.in, plugins/sudoers/Makefile.in:
5844         Add REPLAY_LIBS for sudoreplay and add -lrt to it on Solaris.
5845         [fbce3e9eda3a]
5846
5847         * plugins/sudoers/sudoers.c:
5848         Fix typo in preserve groups case
5849         [1fd72024fb5a]
5850
5851         * plugins/sudoers/sudoers.c:
5852         In command_info it is "runas_groups" not "groups".
5853         [5c64dce4f285]
5854
5855         * src/sudo.c:
5856         Fix iteration over runas_groups list.
5857         [b3c45a0cd643]
5858
5859         * configure, configure.in, plugins/sudoers/env.c,
5860         plugins/sudoers/match.c, src/script.c:
5861         Merge 5177a284b9ff 549f8f7c2463 88f3181692fe from 1.7 branch.
5862         [a8108a0776c2]
5863
5864         * compat/getgrouplist.c:
5865         getgrouplist(3) for those without it
5866         [4ab4d21e3b16]
5867
5868         * plugins/sudoers/sudoers.c:
5869         Set preserve_groups or groups list in command_info
5870         [1266119ad654]
5871
5872         * src/sudo.c:
5873         Fix setting of groups list
5874         [e75315e40bd4]
5875
5876         * config.h.in, configure, configure.in, include/compat.h,
5877         include/missing.h:
5878         Add checks for getgrset and getgrouplist and use replacement
5879         getgrouplist if the system doesn't support it.
5880         [a62b8ba50863]
5881
5882         * src/parse_args.c:
5883         Pass in preserve_groups when the -P flag is specified as per the
5884         design
5885         [7420c5d15474]
5886
5887         * plugins/sudoers/sudoers.c:
5888         Check preserve_groups and ignore_ticket args with atobool instead of
5889         assuming they are true if present.
5890         [71c905702697]
5891
5892 2010-03-21  Todd C. Miller  <Todd.Miller@courtesan.com>
5893
5894         * plugins/sudoers/Makefile.in, plugins/sudoers/error.c,
5895         plugins/sudoers/plugin_error.c:
5896         Rename plugin-specific error.c to plugin_error.c Wire up visudo,
5897         sudoreplay and testsudoers in the build
5898         [9d581d5fa4d4]
5899
5900         * src/Makefile.in, src/term.c:
5901         term.c does not needto include sudo.h
5902         [f6683cdcd2dd]
5903
5904         * TODO, doc/sudo_plugin.cat, doc/sudo_plugin.man.in,
5905         doc/sudo_plugin.pod:
5906         Document the -2 return in the check_policy section too
5907         [e9cb4c34bbcf]
5908
5909         * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod,
5910         plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h,
5911         src/parse_args.c, src/sudo.c, src/sudo.h:
5912         Fix the -s and -i flags and add support for the "implied_shell"
5913         option. If the user does not specify a command, sudo will now pass
5914         in the path to the user's shell and set impied_shell=true. The
5915         plugin can them either check the command normally or return -2 to
5916         cause sudo to print a usage message and exit.
5917         [bf889c38f229]
5918
5919 2010-03-19  Todd C. Miller  <Todd.Miller@courtesan.com>
5920
5921         * config.h.in, configure, configure.in, src/load_plugins.c:
5922         Bring back SUDOERS_PLUGIN but add .dylib -> .so conversion for
5923         Darwin where libraries end in .dylib but modules end in .so
5924         [2c56aaa38e21]
5925
5926         * plugins/sudoers/parse.c:
5927         Better prefix determination now that we can't rely on len==0 to tell
5928         the beginning on an entry.
5929         [622bf18179e9]
5930
5931         * plugins/sudoers/ldap.c:
5932         display_bound_defaults() stub should return 0, not 1 since it is a
5933         count, not a boolean.
5934         [0327a6c3d55d]
5935
5936         * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod:
5937         Document progname in settings
5938         [42031d56a2e3]
5939
5940         * compat/getprogname.c, include/compat.h,
5941         plugins/sample/sample_plugin.c, plugins/sudoers/sudoers.c,
5942         src/parse_args.c, src/sudo.c:
5943         Rewrite compat/getprogname.c and add setprogname(). The progname is
5944         now passed to the plugin via the settings array.
5945         [25d8663e6006]
5946
5947         * configure, configure.in, plugins/sudoers/Makefile.in:
5948         Fix --with-ldap
5949         [b64b633f426d]
5950
5951         * plugins/sudoers/sudo_nss.c:
5952         Add missing whitespace for Runas and Command-specific defaults
5953         [65f4ddf5545e]
5954
5955         * plugins/sudoers/ldap.c, plugins/sudoers/parse.c,
5956         plugins/sudoers/sudo_nss.c:
5957         Use embedded newlines in lbuf instead of multiple calls to
5958         lbuf_print.
5959         [eed3af9cc3e1]
5960
5961         * src/lbuf.c:
5962         Add support for embedded newlines.
5963         [e11f79b18deb]
5964
5965 2010-03-18  Todd C. Miller  <Todd.Miller@courtesan.com>
5966
5967         * compat/getprogname.c:
5968         If system doesn't support getprogname or __programe and we are
5969         building a shared object don't bother with Argc/Argv, just return
5970         "sudo"
5971         [aebde9062be7]
5972
5973         * config.h.in, configure, configure.in, src/load_plugins.c:
5974         Hard-code sudoers.so instead of using SUDOERS_PLUGIN since libtool
5975         appears to always install a shared object with the .so suffix.
5976         [f9bbd0c0e9d3]
5977
5978         * compat/Makefile.in, configure, configure.in,
5979         plugins/sample/Makefile.in, plugins/sudoers/Makefile.in,
5980         src/Makefile.in:
5981         Play more nicely with libtool and let it build libreplace (was
5982         libmissing) for us.
5983         [a4c6ebb2495c]
5984
5985         * include/missing.h:
5986         Include stdarg.h for va_list rather than requiring all consumers of
5987         missing.h to include stdarg.h themselves.
5988         [37382df948de]
5989
5990         * include/lbuf.h, plugins/sudoers/auth/sudo_auth.c,
5991         plugins/sudoers/check.c, plugins/sudoers/sudo_nss.c,
5992         plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h, src/lbuf.c,
5993         src/parse_args.c:
5994         Pass in output function to lbuf_init() instead of writing to stdout.
5995         A side effect is that the usage info can now go to stderr as it
5996         should.
5997         [6d261261a072]
5998
5999 2010-03-17  Todd C. Miller  <Todd.Miller@courtesan.com>
6000
6001         * include/lbuf.h, plugins/sudoers/sudo_nss.c,
6002         plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h, src/lbuf.c,
6003         src/parse_args.c, src/sudo.c:
6004         Use number of tty columns that is passed in user_info instead of
6005         getting it directly in the lbuf code.
6006         [8a16635c2638]
6007
6008         * plugins/sudoers/alias.c, plugins/sudoers/auth/dce.c,
6009         plugins/sudoers/auth/kerb5.c, plugins/sudoers/auth/pam.c,
6010         plugins/sudoers/auth/sia.c, plugins/sudoers/auth/sudo_auth.h,
6011         plugins/sudoers/check.c, plugins/sudoers/defaults.c,
6012         plugins/sudoers/defaults.h, plugins/sudoers/env.c,
6013         plugins/sudoers/getdate.c, plugins/sudoers/getdate.y,
6014         plugins/sudoers/gram.c, plugins/sudoers/gram.y,
6015         plugins/sudoers/interfaces.h, plugins/sudoers/logging.c,
6016         plugins/sudoers/logging.h, plugins/sudoers/match.c,
6017         plugins/sudoers/mon_systrace.h, plugins/sudoers/parse.c,
6018         plugins/sudoers/parse.h, plugins/sudoers/pwutil.c,
6019         plugins/sudoers/redblack.c, plugins/sudoers/redblack.h,
6020         plugins/sudoers/set_perms.c, plugins/sudoers/sudo_nss.h,
6021         plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h,
6022         plugins/sudoers/sudoreplay.c, plugins/sudoers/testsudoers.c,
6023         plugins/sudoers/timestr.c, plugins/sudoers/toke.c,
6024         plugins/sudoers/toke.l, plugins/sudoers/tsgetgrpw.c,
6025         plugins/sudoers/visudo.c:
6026         Kill __P in sudoers
6027         [63601e6cb171]
6028
6029         * config.h.in, configure, configure.in, src/load_plugins.c:
6030         Set the sudoers plugin name in configure so we get the extension
6031         right.
6032         [edad89924cd1]
6033
6034         * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod:
6035         Document lines/cols in user_info
6036         [a808872394f3]
6037
6038         * src/Makefile.in, src/sudo.c, src/sudo.h, src/ttysize.c:
6039         Add tty size to user info
6040         [23f3d27e77a7]
6041
6042         * src/script.c:
6043         Use TIOCGSIZE/TIOCSSIZE instead of TIOCGWINSZ/TIOCSWINSZ
6044         [a2208dd09051]
6045
6046 2010-03-16  Todd C. Miller  <Todd.Miller@courtesan.com>
6047
6048         * plugins/sudoers/sudoers.c:
6049         Kill dead code Add missing sigsetjmp in sudo_policy_invalidate Error
6050         out if we fail to lookup the user's name that is passed in
6051         [e4e3728ed482]
6052
6053         * plugins/sudoers/error.c:
6054         Pass the error value back via siglongjmp.
6055         [667b8ad575ce]
6056
6057         * plugins/sudoers/check.c:
6058         Use conversation function for lecture.
6059         [1ab4719f509b]
6060
6061         * plugins/sudoers/check.c:
6062         Don't update ticket file if verify_user returns FALSE.
6063         [2bbc46a39a2b]
6064
6065 2010-03-15  Todd C. Miller  <Todd.Miller@courtesan.com>
6066
6067         * plugins/sudoers/sudoers.c, src/sudo.c:
6068         Wire up invalidate and validate methods for sudoers
6069         [c0630c7bca47]
6070
6071         * plugins/sudoers/check.c, plugins/sudoers/sudoers.c,
6072         plugins/sudoers/sudoers.h:
6073         Add support for -k flag with a command.
6074         [edad239b098b]
6075
6076         * src/parse_args.c:
6077         Allow -k to be specified with a command.
6078         [43a45add9974]
6079
6080         * plugins/sudoers/sudoers.c:
6081         Wire up policy_list
6082         [27cc35699eca]
6083
6084         * plugins/sudoers/error.c:
6085         Add newline at the end of message and space after the colon in
6086         warning message
6087         [5a591aa8e744]
6088
6089         * plugins/sudoers/auth/sudo_auth.c:
6090         Add missing newline after pass password warning
6091         [337dba3870a7]
6092
6093         * plugins/sudoers/sudoers.c:
6094         Set user_groups and user_ngroups based on user_info
6095         [61bee85128c8]
6096
6097         * plugins/sudoers/error.c:
6098         Make this compile
6099         [7041c441e1c8]
6100
6101         * plugins/sudoers/error.c, plugins/sudoers/sudoers.c:
6102         Make _warning in error.c use the conversation function and remove
6103         commented out warning/warningx in sudoers.c.
6104         [7c9b09024b63]
6105
6106         * plugins/sudoers/logging.c:
6107         Use siglongjmp() in log_error for fatal errors
6108         [b50e26f1c73f]
6109
6110         * plugins/sample/Makefile.in, plugins/sudoers/Makefile.in:
6111         Quiet a libtool warning
6112         [b2331fb006bc]
6113
6114         * Makefile:
6115         Build sudoers plugin
6116         [5cdf06e66978]
6117
6118         * plugins/sudoers/gram.c, plugins/sudoers/gram.y:
6119         Use warningx in yyerror() so the conversation function gets used
6120         when built as part of sudoers.
6121         [85f964215eef]
6122
6123 2010-03-14  Todd C. Miller  <Todd.Miller@courtesan.com>
6124
6125         * plugins/sudoers/auth/pam.c:
6126         Rename sudo_conv to conversation to avoid a namespace conflict.
6127         [1ad359d36be9]
6128
6129         * plugins/sudoers/Makefile.in, plugins/sudoers/alias.c,
6130         plugins/sudoers/auth/afs.c, plugins/sudoers/auth/aix_auth.c,
6131         plugins/sudoers/auth/bsdauth.c, plugins/sudoers/auth/dce.c,
6132         plugins/sudoers/auth/fwtk.c, plugins/sudoers/auth/kerb4.c,
6133         plugins/sudoers/auth/kerb5.c, plugins/sudoers/auth/pam.c,
6134         plugins/sudoers/auth/passwd.c, plugins/sudoers/auth/rfc1938.c,
6135         plugins/sudoers/auth/secureware.c, plugins/sudoers/auth/securid.c,
6136         plugins/sudoers/auth/securid5.c, plugins/sudoers/auth/sia.c,
6137         plugins/sudoers/auth/sudo_auth.c, plugins/sudoers/auth/sudo_auth.h,
6138         plugins/sudoers/check.c, plugins/sudoers/defaults.c,
6139         plugins/sudoers/env.c, plugins/sudoers/error.c,
6140         plugins/sudoers/find_path.c, plugins/sudoers/getspwuid.c,
6141         plugins/sudoers/goodpath.c, plugins/sudoers/gram.c,
6142         plugins/sudoers/gram.y, plugins/sudoers/interfaces.c,
6143         plugins/sudoers/ldap.c, plugins/sudoers/logging.c,
6144         plugins/sudoers/match.c, plugins/sudoers/mon_systrace.c,
6145         plugins/sudoers/parse.c, plugins/sudoers/pwutil.c,
6146         plugins/sudoers/redblack.c, plugins/sudoers/set_perms.c,
6147         plugins/sudoers/sudo_nss.c, plugins/sudoers/sudoers.c,
6148         plugins/sudoers/sudoers.h, plugins/sudoers/testsudoers.c,
6149         plugins/sudoers/toke.c, plugins/sudoers/tsgetgrpw.c,
6150         plugins/sudoers/vasgroups.c, plugins/sudoers/visudo.c:
6151         Initial bits of sudoers plugin; still needs work.
6152         [af2a2c59a952]
6153
6154         * config.h.in:
6155         Add HAVE_STRDUP and HAVE_STRNDUP
6156         [50a3c0dd510f]
6157
6158         * compat/Makefile.in, configure, configure.in:
6159         Build libmissing in two flavors (one PIC one non-PIC) and link with
6160         the appropriate one.
6161         [b62f411a4c18]
6162
6163         * Makefile, compat/fnmatch.c, compat/glob.c, compat/nanosleep.c,
6164         compat/utimes.c, plugins/sample/Makefile.in, src/Makefile.in:
6165         Build libmissing in two flavors (one PIC one non-PIC) and link with
6166         the appropriate one.
6167         [e1e04972b5fe]
6168
6169 2010-03-13  Todd C. Miller  <Todd.Miller@courtesan.com>
6170
6171         * include/missing.h:
6172         Add strdup and strndup and fix strsignal
6173         [c159babe2896]
6174
6175 2010-03-12  Todd C. Miller  <Todd.Miller@courtesan.com>
6176
6177         * compat/strdup.c, compat/strndup.c, configure, configure.in,
6178         plugins/sample/Makefile.in, src/Makefile.in:
6179         Add strdup and strndup to compat
6180         [25c9fd399a4d]
6181
6182         * plugins/sample/sample_plugin.c:
6183         Need to include compat.h before missing.h
6184         [c94f7aad380f]
6185
6186         * compat/strsignal.c:
6187         Must check HAVE_DECL_SYS_SIGLIST == 1 (not just if defined) since if
6188         it doesn't exist configure will set it to 0.
6189         [384580566389]
6190
6191         * compat/glob.c:
6192         Fix botched ANSI C coversion of globexp2()
6193         [4a344b8cbe49]
6194
6195         * configure, configure.in:
6196         Remove redundant getgroups check
6197         [0b16ec210c81]
6198
6199         * configure, configure.in, src/lbuf.c, src/script.c, src/term.c:
6200         Require either termios or termio, no more sgtty.
6201         [9b2fa2f17a1c]
6202
6203         * compat/strsignal.c, config.h.in, configure, configure.in:
6204         Change the sys_siglist check to use AC_CHECK_DECLS and also check
6205         for _sys_siglist and__sys_siglist
6206         [2e078fed2408]
6207
6208 2010-03-11  Todd C. Miller  <Todd.Miller@courtesan.com>
6209
6210         * configure, configure.in, src/Makefile.in:
6211         Change SUDO_LDFLAGS to SUDOERS_LDFLAGS and add SUDOERS_OBJS. We now
6212         use SUDO_OBJS for the main driver as part of OBJS.
6213         [9ae4a80a5ade]
6214
6215         * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod:
6216         Mention in the conversation function section that a newline is not
6217         implicit.
6218         [04a233b6c491]
6219
6220         * include/compat.h:
6221         Add definition of WCOREDUMP for systems without it. This is known
6222         to work on AIX and SunOS 4, but may be incorrect on other systems
6223         that lack WCOREDUMP.
6224         [c85b3ce6b77d]
6225
6226 2010-03-09  Todd C. Miller  <Todd.Miller@courtesan.com>
6227
6228         * plugins/sample/sample_plugin.c, src/conversation.c:
6229         conversation function no longer puts a newline at the end of info or
6230         error messages.
6231         [c534cae1ac4a]
6232
6233 2010-03-07  Todd C. Miller  <Todd.Miller@courtesan.com>
6234
6235         * src/script.c:
6236         Use parent process group id instead of parent process id when
6237         checking foreground status and suspending parent. Fixes an issue
6238         when running commands under /usr/bin/time and others.
6239         [564f528c3bb7]
6240
6241 2010-03-06  Todd C. Miller  <Todd.Miller@courtesan.com>
6242
6243         * aclocal.m4:
6244         transcript option is now --with not --enable
6245         [0646fac4cf93]
6246
6247         * plugins/sample/sample_plugin.c:
6248         Add support to -u and -g flags Check fmt_string retval Add timeout
6249         for debugging purposes
6250         [cfefa4fa60b5]
6251
6252         * src/script.c, src/sudo.c:
6253         Wire up SIGALRM handler Set close on exec flag for child side of the
6254         socketpair Fix signal handling when not doing I/O logging
6255         [379581ec7272]
6256
6257         * src/sudo.c:
6258         g/c unused SIGCHLD handler
6259         [0afa03912dce]
6260
6261         * src/fmt_string.c, src/parse_args.c, src/sudo.c:
6262         Don't use emalloc() in fmt_string(); we want to be able to use it
6263         from a plugin.
6264         [ade64d368147]
6265
6266         * include/list.h:
6267         tq_remove not list_remove
6268         [0e0e1fd5c31c]
6269
6270         * configure, configure.in:
6271         AUTH_OBJS should contain .lo files not .o files.
6272         [c64c82c9d5a2]
6273
6274 2010-03-05  Todd C. Miller  <Todd.Miller@courtesan.com>
6275
6276         * src/parse_args.c:
6277         Simplify conversion of command line args to name=value pairs.
6278         [75ab127c6a94]
6279
6280         * plugins/sample/sample_plugin.c:
6281         Handle NULL reply from conversation function
6282         [6ce09b6cb204]
6283
6284         * compat/getline.c:
6285         Don't depend on emalloc/erealloc
6286         [73df09e2109f]
6287
6288         * plugins/sample/Makefile.in:
6289         Use $(OBJS) instead of sample_plugin.lo
6290         [2d995db9aa99]
6291
6292         * plugins/sample/sample_plugin.c:
6293         runas_user is in settings not user_info
6294         [7ee12068bc57]
6295
6296         * src/parse_args.c:
6297         Fix a mismatch between sudo_settings and settings_pairs that causes
6298         some settings to get the wrong values.
6299         [b1bc6d81a65f]
6300
6301 2010-03-04  Todd C. Miller  <Todd.Miller@courtesan.com>
6302
6303         * src/Makefile.in, src/aix.c, src/alloc.c, src/atobool.c, src/error.c,
6304         src/fileops.c, src/lbuf.c, src/list.c, src/pty.c, src/sesh.c,
6305         src/sudo.c, src/sudo_edit.c, src/term.c, src/zero_bytes.c:
6306         Convert to ANSI C
6307         [d03b6e4a3b75]
6308
6309         * src/load_plugins.c:
6310         Fix strlcpy() return value check.
6311         [7cd66999a374]
6312
6313         * INSTALL, configure, configure.in:
6314         No longer need to substitute in script.o and pty.o; I/O logging
6315         support is always built.
6316         [45250024c5dc]
6317
6318 2010-02-28  Todd C. Miller  <Todd.Miller@courtesan.com>
6319
6320         * src/script.c:
6321         Add fallback to /bin/sh when execve() fails with ENOEXEC.
6322         [7684a15a1352]
6323
6324         * include/alloc.h, src/alloc.c:
6325         Add estrndup()
6326         [47621c83bed9]
6327
6328 2010-02-27  Todd C. Miller  <Todd.Miller@courtesan.com>
6329
6330         * src/script.c, src/sudo.c:
6331         Refactor script_execve() a bit so that it can be used in non-script
6332         mode. Needs more cleanup.
6333         [f09e022d547c]
6334
6335         * src/sudo.c:
6336         Ignore empty entries in command_info list
6337         [1eea9a8de21c]
6338
6339         * include/list.h, src/list.c:
6340         Add tq_remove
6341         [40908a617cb2]
6342
6343         * src/conversation.c:
6344         Pass timeout to tgetpass()
6345         [9e66c918b771]
6346
6347         * Makefile:
6348         Add ChangeLog target
6349         [da4a39150838]
6350
6351         * README, WHATSNEW:
6352         Bump version and update things slightly for sudo 1.8.0
6353         [4b73cc45e2d4]
6354
6355         * configure, configure.in:
6356         Sudo now requires an ANSI/ISO C compiler
6357         [1e51f72e6964]
6358
6359         * src/alloc.c, src/audit.c, src/error.c, src/lbuf.c,
6360         src/sudo_noexec.c:
6361         Convert to ANSI C
6362         [5cbd315dbde8]
6363
6364         * include/alloc.h, include/compat.h, include/error.h, include/lbuf.h,
6365         include/list.h, include/missing.h:
6366         Convert to ANSI C
6367         [3f5016ff64f4]
6368
6369         * compat/charclass.h, compat/closefrom.c, compat/fnmatch.c,
6370         compat/fnmatch.h, compat/getcwd.c, compat/getline.c,
6371         compat/getprogname.c, compat/glob.c, compat/glob.h,
6372         compat/isblank.c, compat/memrchr.c, compat/mkstemp.c,
6373         compat/nanosleep.c, compat/sigaction.c, compat/snprintf.c,
6374         compat/strcasecmp.c, compat/strerror.c, compat/strlcat.c,
6375         compat/strlcpy.c, compat/strsignal.c, compat/utime.h,
6376         compat/utimes.c:
6377         Convert to ANSI C
6378         [0d635c85461c]
6379
6380 2010-02-24  Todd C. Miller  <Todd.Miller@courtesan.com>
6381
6382         * src/sudo.c, src/tgetpass.c:
6383         Make user_details extern so tgetpass can get at the uid and gid. Set
6384         uid/gid to user before executing askpass program. Check environment
6385         for SUDO_ASKPASS and use that if set. TODO: a way for the policy to
6386         set the askpass program itself
6387         [d33606396176]
6388
6389         * src/sudo.c:
6390         No longer need sudo_usage.h in sudo.c
6391         [063e2946c382]
6392
6393         * doc/sudo.cat, doc/sudo.man.in, doc/sudo.pod, doc/sudo_plugin.man.in,
6394         doc/sudo_plugin.pod, src/Makefile.in, src/parse_args.c,
6395         src/sudo_usage.h.in:
6396         Document -D level command line flag which maps to the debug_level
6397         setting.
6398         [61f1e2ab3ac1]
6399
6400         * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod:
6401         Document debug_level in plugin doc. Still need to document the -D
6402         flag in sudo itself.
6403         [8c62daea3e9b]
6404
6405 2010-02-21  Todd C. Miller  <Todd.Miller@courtesan.com>
6406
6407         * plugins/sample/sample_plugin.c:
6408         include missing,h for vasprintf
6409         [92503de49b39]
6410
6411         * doc/Makefile.in, doc/plugin.pod, doc/sudo_plugin.cat,
6412         doc/sudo_plugin.man.in, doc/sudo_plugin.pod:
6413         Rename plugin.pod -> sudo_plugin.pod and wire into Makefile
6414         [14cfb4775238]
6415
6416         * plugins/sample/sample_plugin.c:
6417         Need to include limits.h
6418         [bda7f74343d2]
6419
6420         * compat/glob.c:
6421         No more sudo_getpw*
6422         [232e52907634]
6423
6424         * plugins/sample/Makefile.in, src/Makefile.in:
6425         Add missing compat bits
6426         [4843dd000e08]
6427
6428         * compat/closefrom.c, compat/mkstemp.c, plugins/sample/Makefile.in:
6429         compat files should not include sudo.h wire up compat in sample
6430         plugin
6431         [a175b8185e0f]
6432
6433         * Makefile, configure, configure.in, doc/Makefile.in, src/Makefile.in:
6434         Fix up compat dependencies. Fix distclean target in doc/Makefile.in
6435         [57e49bc20857]
6436
6437         * configure, configure.in:
6438         Fix typo
6439         [333655e3d5fe]
6440
6441         * plugins/sample/sample_plugin.c:
6442         Log input and output to temp files for proof of concept.
6443         [ae1dfc34f7d6]
6444
6445         * Makefile, configure, configure.in, doc/Makefile.in:
6446         Add doc Makefile.in and wire it up
6447         [6a310443c87d]
6448
6449         * src/script.c:
6450         Handle SIGSTOP in addition to SIGTSTP. Fixes a problem with
6451         suspending a shell with the "suspend" builtint.
6452         [3d65f182819a]
6453
6454         * src/script.c:
6455         In child, handle parent side of the pipe going away.
6456         [a29c14d78cd9]
6457
6458         * src/script.c:
6459         No longer need to check for explicit death of the child (process #2)
6460         since if it dies we will get EPIPE from the socketpair. Fix a
6461         sizeof() that was causing a spurious error. Convert SCRIPT_DEBUG to
6462         sudo_debug.
6463         [24c55dd4ff60]
6464
6465         * src/sudo.c:
6466         Make sudo_debug do a single vfprintf() which will result in a single
6467         write call on most systems. Avoids problems with interleaved debug
6468         printf from different processes. Also remove an extraneous error
6469         case since recv() can't return a short read and add some more XXX.
6470         [b37a8533ef1e]
6471
6472 2010-02-20  Todd C. Miller  <Todd.Miller@courtesan.com>
6473
6474         * src/script.c:
6475         Fix uninitialized variable.
6476         [e012a0a30890]
6477
6478         * src/Makefile.in:
6479         Fix sudo install target
6480         [1417fa4b4ab9]
6481
6482         * src/parse_args.c, src/sudo.c, src/sudo.h:
6483         Wire up debug_level
6484         [144fab289c73]
6485
6486         * src/Makefile.in:
6487         Fix dependencies
6488         [5170940af2ce]
6489
6490         * configure, configure.in:
6491         Fix setting of plugin dir
6492         [144eda170a72]
6493
6494         * Makefile:
6495         add clean targets
6496         [d53f6f6f5c3a]
6497
6498         * src/atobool.c:
6499         Add missing source for sudo front end
6500         [42487de9c489]
6501
6502         * plugins/sample/Makefile.in, plugins/sample/sample_plugin.c:
6503         Sample plugin demonstrating the sudo plugin API
6504         [f1fd62d7644f]
6505
6506         * Makefile, configure, configure.in, install-sh, pathnames.h.in,
6507         plugins/sudoers/install-sh, src/Makefile.in, src/conversation.c,
6508         src/fileops.c, src/fmt_string.c, src/load_plugins.c,
6509         src/parse_args.c, src/pty.c, src/script.c, src/sudo.c, src/sudo.h,
6510         src/sudo_plugin_int.h, src/sudo_usage.h.in, src/tgetpass.c,
6511         sudo_usage.h.in:
6512         Modular sudo front-end which loads policy and I/O plugins that do
6513         most the actual work. Currently relies on dynamic loading using
6514         dlopen(). See doc/plugin.pod for the plugin API.
6515         [924f6eb2fbba]
6516
6517         * doc/plugin.pod, include/sudo_plugin.h:
6518         Sudo plugin API
6519         [374ccbbd24ae]
6520
6521         * compat/fnmatch.c, compat/glob.c, compat/nanosleep.c,
6522         compat/utimes.c, plugins/sudoers/check.c, plugins/sudoers/gettime.c,
6523         plugins/sudoers/match.c, plugins/sudoers/sudoreplay.c,
6524         plugins/sudoers/testsudoers.c, plugins/sudoers/visudo.c,
6525         src/fileops.c, src/sudo_edit.c:
6526         Replace emul/include.h with compat/include.h to match new source
6527         tree layout.
6528         [7eccd10449a1]
6529
6530         * src/lbuf.c:
6531         Include missing.h for memrchr() proto
6532         [03abd63a8a33]
6533
6534         * HISTORY, LICENSE, Makefile.binary.in, Makefile.in, PORTING,
6535         TROUBLESHOOTING, UPGRADE, aix.c, aixcrypt.exp, alias.c, alloc.c,
6536         alloc.h, audit.c, auth/API, auth/afs.c, auth/aix_auth.c,
6537         auth/bsdauth.c, auth/dce.c, auth/fwtk.c, auth/kerb4.c, auth/kerb5.c,
6538         auth/pam.c, auth/passwd.c, auth/rfc1938.c, auth/secureware.c,
6539         auth/securid.c, auth/securid5.c, auth/sia.c, auth/sudo_auth.c,
6540         auth/sudo_auth.h, boottime.c, bsm_audit.c, bsm_audit.h, check.c,
6541         closefrom.c, compat.h, compat/charclass.h, compat/closefrom.c,
6542         compat/fnmatch.c, compat/fnmatch.h, compat/getcwd.c,
6543         compat/getline.c, compat/getprogname.c, compat/glob.c,
6544         compat/glob.h, compat/isblank.c, compat/memrchr.c, compat/mkstemp.c,
6545         compat/nanosleep.c, compat/sigaction.c, compat/snprintf.c,
6546         compat/strcasecmp.c, compat/strerror.c, compat/strlcat.c,
6547         compat/strlcpy.c, compat/strsignal.c, compat/timespec.h,
6548         compat/utime.h, compat/utimes.c, def_data.c, def_data.h,
6549         def_data.in, defaults.c, defaults.h, doc/HISTORY, doc/LICENSE,
6550         doc/PORTING, doc/TROUBLESHOOTING, doc/UPGRADE, doc/history.pod,
6551         doc/license.pod, doc/sample.pam, doc/sample.sudoers,
6552         doc/sample.syslog.conf, doc/schema.ActiveDirectory,
6553         doc/schema.OpenLDAP, doc/schema.iPlanet, doc/sudo.cat,
6554         doc/sudo.man.in, doc/sudo.man.pl, doc/sudo.pod, doc/sudoers.cat,
6555         doc/sudoers.ldap.cat, doc/sudoers.ldap.man.in, doc/sudoers.ldap.pod,
6556         doc/sudoers.man.in, doc/sudoers.man.pl, doc/sudoers.pod,
6557         doc/sudoreplay.cat, doc/sudoreplay.man.in, doc/sudoreplay.pod,
6558         doc/visudo.cat, doc/visudo.man.in, doc/visudo.pod, emul/charclass.h,
6559         emul/fnmatch.h, emul/glob.h, emul/timespec.h, emul/utime.h, env.c,
6560         error.c, error.h, fileops.c, find_path.c, fnmatch.c, getcwd.c,
6561         getdate.c, getdate.y, getline.c, getprogname.c, getspwuid.c,
6562         gettime.c, glob.c, goodpath.c, gram.c, gram.h, gram.y, history.pod,
6563         include/alloc.h, include/compat.h, include/error.h, include/lbuf.h,
6564         include/list.h, include/missing.h, ins_2001.h, ins_classic.h,
6565         ins_csops.h, ins_goons.h, install-sh, insults.h, interfaces.c,
6566         interfaces.h, isblank.c, lbuf.c, lbuf.h, ldap.c, license.pod,
6567         list.c, list.h, logging.c, logging.h, match.c, memrchr.c, missing.h,
6568         mkdefaults, mkstemp.c, mon_systrace.c, mon_systrace.h, nanosleep.c,
6569         nonunix.h, parse.c, parse.h, plugins/sudoers/Makefile.binary.in,
6570         plugins/sudoers/Makefile.in, plugins/sudoers/aixcrypt.exp,
6571         plugins/sudoers/alias.c, plugins/sudoers/auth/API,
6572         plugins/sudoers/auth/afs.c, plugins/sudoers/auth/aix_auth.c,
6573         plugins/sudoers/auth/bsdauth.c, plugins/sudoers/auth/dce.c,
6574         plugins/sudoers/auth/fwtk.c, plugins/sudoers/auth/kerb4.c,
6575         plugins/sudoers/auth/kerb5.c, plugins/sudoers/auth/pam.c,
6576         plugins/sudoers/auth/passwd.c, plugins/sudoers/auth/rfc1938.c,
6577         plugins/sudoers/auth/secureware.c, plugins/sudoers/auth/securid.c,
6578         plugins/sudoers/auth/securid5.c, plugins/sudoers/auth/sia.c,
6579         plugins/sudoers/auth/sudo_auth.c, plugins/sudoers/auth/sudo_auth.h,
6580         plugins/sudoers/boottime.c, plugins/sudoers/check.c,
6581         plugins/sudoers/def_data.c, plugins/sudoers/def_data.h,
6582         plugins/sudoers/def_data.in, plugins/sudoers/defaults.c,
6583         plugins/sudoers/defaults.h, plugins/sudoers/env.c,
6584         plugins/sudoers/find_path.c, plugins/sudoers/getdate.c,
6585         plugins/sudoers/getdate.y, plugins/sudoers/getspwuid.c,
6586         plugins/sudoers/gettime.c, plugins/sudoers/goodpath.c,
6587         plugins/sudoers/gram.c, plugins/sudoers/gram.h,
6588         plugins/sudoers/gram.y, plugins/sudoers/ins_2001.h,
6589         plugins/sudoers/ins_classic.h, plugins/sudoers/ins_csops.h,
6590         plugins/sudoers/ins_goons.h, plugins/sudoers/install-sh,
6591         plugins/sudoers/insults.h, plugins/sudoers/interfaces.c,
6592         plugins/sudoers/interfaces.h, plugins/sudoers/ldap.c,
6593         plugins/sudoers/logging.c, plugins/sudoers/logging.h,
6594         plugins/sudoers/match.c, plugins/sudoers/mkdefaults,
6595         plugins/sudoers/mon_systrace.c, plugins/sudoers/mon_systrace.h,
6596         plugins/sudoers/nonunix.h, plugins/sudoers/parse.c,
6597         plugins/sudoers/parse.h, plugins/sudoers/pwutil.c,
6598         plugins/sudoers/redblack.c, plugins/sudoers/redblack.h,
6599         plugins/sudoers/set_perms.c, plugins/sudoers/sudo_nss.c,
6600         plugins/sudoers/sudo_nss.h, plugins/sudoers/sudoers,
6601         plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h,
6602         plugins/sudoers/sudoers2ldif, plugins/sudoers/sudoreplay.c,
6603         plugins/sudoers/testsudoers.c, plugins/sudoers/timestr.c,
6604         plugins/sudoers/toke.c, plugins/sudoers/toke.l,
6605         plugins/sudoers/tsgetgrpw.c, plugins/sudoers/vasgroups.c,
6606         plugins/sudoers/visudo.c, pty.c, pwutil.c, redblack.c, redblack.h,
6607         sample.pam, sample.sudoers, sample.syslog.conf,
6608         schema.ActiveDirectory, schema.OpenLDAP, schema.iPlanet, script.c,
6609         selinux.c, sesh.c, set_perms.c, sigaction.c, snprintf.c, src/aix.c,
6610         src/alloc.c, src/audit.c, src/bsm_audit.c, src/bsm_audit.h,
6611         src/error.c, src/fileops.c, src/lbuf.c, src/list.c, src/pty.c,
6612         src/script.c, src/selinux.c, src/sesh.c, src/sudo_edit.c,
6613         src/sudo_noexec.c, src/term.c, src/tgetpass.c, src/zero_bytes.c,
6614         strcasecmp.c, strerror.c, strlcat.c, strlcpy.c, strsignal.c, sudo.c,
6615         sudo.cat, sudo.h, sudo.man.in, sudo.man.pl, sudo.pod, sudo_edit.c,
6616         sudo_noexec.c, sudo_nss.c, sudo_nss.h, sudoers, sudoers.cat,
6617         sudoers.ldap.cat, sudoers.ldap.man.in, sudoers.ldap.pod,
6618         sudoers.man.in, sudoers.man.pl, sudoers.pod, sudoers2ldif,
6619         sudoreplay.c, sudoreplay.cat, sudoreplay.man.in, sudoreplay.pod,
6620         term.c, testsudoers.c, tgetpass.c, timestr.c, toke.c, toke.l,
6621         tsgetgrpw.c, utimes.c, vasgroups.c, visudo.c, visudo.cat,
6622         visudo.man.in, visudo.pod, zero_bytes.c:
6623         Rework source layout in preparation for modular sudo.
6624         [7fc1978c6ad5]
6625
6626 2010-02-13  Todd C. Miller  <Todd.Miller@courtesan.com>
6627
6628         * Avoid a duplicate fclose() of the sudoers file.
6629         [5dba851088c1]
6630
6631         * Fix size arg when realloc()ing include stack. From Daniel Kopecek
6632         [0a2935061e33]
6633
6634         * Use setrlimit64(), if available, instead of setrlimit() when setting
6635         AIX resource limits since rlim_t is 32bits.
6636         [353db89bac61]
6637
6638         * Fix use after free when sending error messages. From Timo Juhani
6639         Lindfors
6640         [e50dbd902382]
6641
6642         * ChangeLog, Makefile.in:
6643         Generate the ChangeLog as part of "make dist" instead of having it
6644         in the repo.
6645         [251b70964673]
6646
6647 2010-01-17  Todd C. Miller  <Todd.Miller@courtesan.com>
6648
6649         * Makefile.binary.in, Makefile.in, aix.c, alias.c, alloc.c, alloc.h,
6650         auth/afs.c, auth/aix_auth.c, auth/bsdauth.c, auth/dce.c,
6651         auth/fwtk.c, auth/kerb4.c, auth/kerb5.c, auth/pam.c, auth/passwd.c,
6652         auth/rfc1938.c, auth/secureware.c, auth/securid.c, auth/securid5.c,
6653         auth/sia.c, auth/sudo_auth.c, auth/sudo_auth.h, check.c,
6654         closefrom.c, compat.h, configure.in, defaults.c, defaults.h,
6655         emul/charclass.h, emul/timespec.h, env.c, error.c, error.h,
6656         fileops.c, find_path.c, getcwd.c, getprogname.c, getspwuid.c,
6657         gettime.c, goodpath.c, gram.c, gram.y, ins_2001.h, ins_classic.h,
6658         ins_csops.h, ins_goons.h, insults.h, interfaces.c, interfaces.h,
6659         isblank.c, lbuf.c, lbuf.h, ldap.c, list.c, list.h, logging.c,
6660         logging.h, match.c, memrchr.c, missing.h, mkinstalldirs, mkstemp.c,
6661         mon_systrace.c, nanosleep.c, parse.c, parse.h, pathnames.h.in,
6662         pty.c, pwutil.c, redblack.c, redblack.h, sample.pam, sample.sudoers,
6663         sample.syslog.conf, script.c, selinux.c, sesh.c, set_perms.c,
6664         sigaction.c, snprintf.c, strcasecmp.c, strerror.c, strlcat.c,
6665         strlcpy.c, strsignal.c, sudo.c, sudo.h, sudo.man.in, sudo.pod,
6666         sudo_edit.c, sudo_noexec.c, sudo_nss.c, sudo_nss.h, sudo_usage.h.in,
6667         sudoers.ldap.man.in, sudoers.ldap.pod, sudoers.man.in, sudoers.pod,
6668         sudoers2ldif, sudoreplay.c, sudoreplay.man.in, sudoreplay.pod,
6669         term.c, testsudoers.c, tgetpass.c, timestr.c, toke.c, toke.l,
6670         utimes.c, visudo.c, visudo.man.in, visudo.pod, zero_bytes.c:
6671         Remove CVS $Sudo$ tags.
6672         [de683a8b31f5]
6673
6674 2010-01-18  convert-repo  <convert-repo>
6675
6676         * .hgtags:
6677         update tags
6678         [9b7aa44ae436]
6679
6680 2009-12-26  Todd C. Miller  <Todd.Miller@courtesan.com>
6681
6682         * sudo_usage.h.in:
6683         make this match sudoers SYNOPSIS
6684         [c74ba66944c2]
6685
6686         * lbuf.c, parse.c:
6687         Print a newline between Runas and Command-specific defaults in sudo
6688         -l.
6689         [b5bdfcc9ce4b]
6690
6691         * term.c:
6692         Use SET and CLR macros in term_raw
6693         [50ca42609d6c]
6694
6695         * sudoreplay.c:
6696         Set stdin to non-blocking mode early instead of in check_input. Use
6697         term_raw instead of term_cbreak since the data we get has already
6698         been expanded via OPOST.
6699         [51c47e803d62]
6700
6701 2009-12-23  Todd C. Miller  <Todd.Miller@courtesan.com>
6702
6703         * script.c, term.c:
6704         Enable/disable all postprocessing instead of just nl->crnl
6705         processing since things like tab expansion matter too. However, if
6706         stdout is a tty leave postprocessing on in the pty since we run into
6707         problems doing it only on the real stdout with .e.g nvi.
6708         [62666e309673]
6709
6710 2009-12-19  Todd C. Miller  <Todd.Miller@courtesan.com>
6711
6712         * check.c:
6713         If tty_tickets is enabled and there is no tty, prompt for a
6714         password. Do not lecture user for "sudo -k command" if user has a
6715         timestamp.
6716         [5880200c5f6b]
6717
6718         * INSTALL:
6719         Document missing options: --with-efence and --with-bsm-audit
6720         [d83afcdf9ff3]
6721
6722         * sudo.cat, sudo.man.in, sudo.pod, sudoers.cat, sudoers.ldap.cat,
6723         sudoers.ldap.man.in, sudoers.ldap.pod, sudoers.man.in, sudoers.pod,
6724         sudoreplay.cat, sudoreplay.man.in, sudoreplay.pod, visudo.cat,
6725         visudo.man.in, visudo.pod:
6726         username -> user name groupname -> group name hostname -> host name
6727         [10c85646f45d]
6728
6729         * INSTALL, README.LDAP, sudoers.pod:
6730         filename -> file name like the rest of the docs
6731         [1ef8ab5a9018]
6732
6733 2009-12-17  Todd C. Miller  <Todd.Miller@courtesan.com>
6734
6735         * parse.c:
6736         Fix printing of entries with multiple host entries on a single line.
6737         [226ceaf91d8d]
6738
6739 2009-12-14  Todd C. Miller  <Todd.Miller@courtesan.com>
6740
6741         * sudoers.pod:
6742         Mention that targetpw affects the timestamp file name.
6743         [a26e22e4f72e]
6744
6745         * def_data.c, def_data.h, def_data.in, defaults.c, script.c,
6746         sudoers.pod:
6747         Add compress_transcript option.
6748         [6e94f8cb9dfb]
6749
6750 2009-12-13  Todd C. Miller  <Todd.Miller@courtesan.com>
6751
6752         * configure, configure.in:
6753         bump to 1.7.3b2
6754         [906d7e347d15]
6755
6756         * pwutil.c, set_perms.c, sudo.c, sudo_nss.c:
6757         Better split of membership vs. traditional group check in
6758         user_in_group(). Allow user_ngroups to be < 0 if getgroups() fails.
6759         [6ebc55d4716b]
6760
6761 2009-12-12  Todd C. Miller  <Todd.Miller@courtesan.com>
6762
6763         * pwutil.c:
6764         Fix pasto and add default return value.
6765         [7973b5e4599c]
6766
6767         * check.c, match.c, pwutil.c, sudo.h:
6768         refactor group member checking into user_in_group()
6769         [48ca8c2eddf8]
6770
6771         * check.c, config.h.in, configure, configure.in, match.c, sudo.c,
6772         sudo.h:
6773         Add support for mbr_check_membership() as present in darwin.
6774         [5501aed02b9f]
6775
6776 2009-12-10  Todd C. Miller  <Todd.Miller@courtesan.com>
6777
6778         * match.c:
6779         Rename label to be accurate
6780         [3af17dd960f7]
6781
6782         * Makefile.in, boottime.c, check.c, config.h.in, configure,
6783         configure.in, sudo.h:
6784         Treat timestamp files from before we booted as old. Idea from and
6785         Apple patch.
6786         [5c96e484c05a]
6787
6788 2009-12-09  Todd C. Miller  <Todd.Miller@courtesan.com>
6789
6790         * sudo.c, sudo.pod, sudo_usage.h.in:
6791         Allow the -u flag to be used in conjunction with the -v flag as per
6792         older versions of sudo.
6793         [591e9fc13c1a]
6794
6795         * logging.c:
6796         fix typo in last commit
6797         [4fd0c692dcf0]
6798
6799 2009-12-08  Todd C. Miller  <Todd.Miller@courtesan.com>
6800
6801         * logging.c:
6802         Convert fmt_first and fmt_confd into macros.
6803         [32e870158b29]
6804
6805         * sudoers.pod:
6806         timeouts can be floats now
6807         [89de639a9679]
6808
6809         * WHATSNEW, def_data.c, def_data.h, def_data.in, defaults.c,
6810         defaults.h, mkdefaults:
6811         Add support for floating point timeout values (e.g. 2.5 minutes).
6812         [210ffa291733]
6813
6814 2009-12-07  Todd C. Miller  <Todd.Miller@courtesan.com>
6815
6816         * sudo.pod:
6817         The -L flag will be removed in sudo 1.7.4
6818         [ffd026084333]
6819
6820 2009-12-06  Todd C. Miller  <Todd.Miller@courtesan.com>
6821
6822         * sudoreplay.c:
6823         Fix a bug due to order of operators.
6824         [938d34464283]
6825
6826 2009-11-23  Todd C. Miller  <Todd.Miller@courtesan.com>
6827
6828         * match.c:
6829         cmnd_matches() already deals with negation so _cmndlist_matches()
6830         does not need to do so itself. Fixes a bug with negated entries in
6831         a Cmnd_List.
6832         [71c845f6ce73]
6833
6834 2009-11-22  Todd C. Miller  <Todd.Miller@courtesan.com>
6835
6836         * sudo.c:
6837         Don't exit() from open_sudoers, just return NULL for all errors.
6838         [8cfa832f972a]
6839
6840         * script.c:
6841         Can't rely on the shell sending us SIGCONT when transitioning from
6842         backgroup to foreground process.
6843         [3c6c5b6cb4b3]
6844
6845         * toke.c, toke.l:
6846         Add missing extern def for parse_error
6847         [45b7b59d03b7]
6848
6849 2009-11-21  Todd C. Miller  <Todd.Miller@courtesan.com>
6850
6851         * toke.c, toke.l:
6852         Avoid a parse error when #includedir doesn't find any files. Closes
6853         bug #375
6854         [1ce1b850e9e6]
6855
6856         * Makefile.in:
6857         Include sudo.man.pl and sudoers.man.pl in the distribution tarball.
6858         [6a22e32da108]
6859
6860 2009-11-15  Todd C. Miller  <Todd.Miller@courtesan.com>
6861
6862         * script.c:
6863         Start command out in foreground mode if stdout is a tty. Works
6864         around issues with some curses-based programs that don't handle
6865         tcsetattr getting interrupted by a signal. Still allows us to avoid
6866         hogging the tty if the command is part of a pipeline.
6867         [1c32f2b94769]
6868
6869         * script.c, sudo.c, sudo.h, sudoreplay.c, term.c, tgetpass.c:
6870         Use a socketpair to pass signals from parent to child. Child will
6871         now pass command status change info back via the socketpair. This
6872         allows the parent to distinguish between signals it has been sent
6873         directly and signals the command has received. It also means the
6874         parent can once again print the signal notifications to the tty so
6875         all writes to the pty master occur in the parent. The command is
6876         now always started in background mode with tty signals handled by
6877         the parent.
6878         [c6790b82986d]
6879
6880 2009-11-04  Todd C. Miller  <Todd.Miller@courtesan.com>
6881
6882         * configure, configure.in:
6883         Fix a few typos in the descriptions; from Jeff Makey Only do the
6884         check for krb5_get_init_creds_opt_free() taking two arguments if we
6885         find krb5_get_init_creds_opt_alloc(). Otherwise we will get a false
6886         positive when using our own krb5_get_init_creds_opt_free which takes
6887         only a single argument.
6888         [845a9ff6f93d]
6889
6890 2009-11-03  Todd C. Miller  <Todd.Miller@courtesan.com>
6891
6892         * configure, configure.in:
6893         Remove a spurious comma in the kerb5 bits.
6894         [3433eab083db]
6895
6896         * auth/kerb5.c:
6897         Call krb5_get_init_creds_opt_init() in our emulated
6898         krb5_get_init_creds_opt_alloc() for MIT kerberos.
6899         [7ffb40bf43e9]
6900
6901 2009-11-01  Todd C. Miller  <Todd.Miller@courtesan.com>
6902
6903         * config.h.in:
6904         Add HAVE_ZLIB
6905         [9297bde61ecc]
6906
6907         * script.c:
6908         Need to ignore SIGTT{IN,OU} in child when running the command in the
6909         background. Also some minor cleanup.
6910         [dc208d982319]
6911
6912 2009-10-31  Todd C. Miller  <Todd.Miller@courtesan.com>
6913
6914         * script.c:
6915         Instead of calling sigsuspend when waiting for SIGUSR[12] from
6916         parent, install the signal handlers w/o SA_RESTART and let them
6917         interrupt waitpid().
6918         [759c7d18203b]
6919
6920         * script.c:
6921         Pass along SIGHUP and SIGTERM from parent to child.
6922         [035b0e254568]
6923
6924         * script.c:
6925         Close unused bits of script_fds in processes that don't need them.
6926         Restore default SIGCONT handler in child.
6927         [e037378ab0c1]
6928
6929         * script.c:
6930         Update foreground/background status in SIGCONT handler in parent
6931         process.
6932         [3f7f91333264]
6933
6934 2009-10-25  Todd C. Miller  <Todd.Miller@courtesan.com>
6935
6936         * script.c:
6937         Defer setting terminal into raw mode until just before we fork() and
6938         only do it if sudo is the foreground process. If we get SIGTT{IN,OU}
6939         and sudo is already in the foreground be sure to set raw mode before
6940         continuing the child.
6941         [1102ef40832c]
6942
6943 2009-10-24  Todd C. Miller  <Todd.Miller@courtesan.com>
6944
6945         * script.c:
6946         Fix handling of SIGTTOU/SIGTTIN in program being run. We now only
6947         give the command the controlling tty if the main sudo process is the
6948         foreground process.
6949         [cf3a91cb5682]
6950
6951         * script.c:
6952         Don't bother with sudo_waitpid() here for now.
6953         [9086de480c2d]
6954
6955         * script.c:
6956         fix non-zlib case
6957         [a258bff0f9a6]
6958
6959 2009-10-23  Todd C. Miller  <Todd.Miller@courtesan.com>
6960
6961         * script.c:
6962         Remove non-wroking code that crept into rev 1.55
6963         [2802dd55cff5]
6964
6965 2009-10-22  Todd C. Miller  <Todd.Miller@courtesan.com>
6966
6967         * INSTALL, configure, configure.in, script.c, sudoreplay.c:
6968         First pass at zlib support for transcript data files
6969         [5d10260807da]
6970
6971         * Makefile.in:
6972         remove vestiges of ZLDFLAGS
6973         [1fa0caf1c0fb]
6974
6975         * script.c:
6976         Add missing variable declaration for when TIOCSCTTY is not defined.
6977         Need to include sys/termio.h for TIOCSCTTY on some systems.
6978         [ee7f41ac2709]
6979
6980         * script.c:
6981         when resuming command, send SIGCONT to its pgrp not just pid
6982         [5cd63c1d565b]
6983
6984         * selinux.c:
6985         remove unused variable
6986         [df67df4be228]
6987
6988         * script.c:
6989         include selinux.h for is_selinux_enabled() proto
6990         [85ebaa880cc1]
6991
6992         * script.c:
6993         Don't use log_error() in the child process.
6994         [def65fe2a433]
6995
6996         * script.c:
6997         Do I/O in parent instead of child since the parent can have both
6998         /dev/tty as well as the pty fds open. The child just sets things up
6999         and waits for its grandchild and writes the signal description to
7000         the pty master if the command was killed by a signal.
7001         [95e473208982]
7002
7003 2009-10-18  Todd C. Miller  <Todd.Miller@courtesan.com>
7004
7005         * missing.h, sudo.h:
7006         Move two struct forward declarations from sudo.h to missing.h
7007         [90ad28294a8c]
7008
7009         * script.c:
7010         Make comment at the top of script_exec() match reality.
7011         [c5042d27dbe0]
7012
7013         * sudo.c:
7014         if neither stdin nor stdout is a tty, check stderr
7015         [c532ff20c8d8]
7016
7017         * Makefile.in:
7018         Add back dependecy of gram.h on gram.y
7019         [c58382b7fcca]
7020
7021         * script.c:
7022         Make transcript mode work as long as we can figure out our tty, even
7023         if it is not stdin. We'd like to use /dev/tty but that won't be
7024         valid after the setsid().
7025         [7b8bba8d99e7]
7026
7027 2009-10-17  Todd C. Miller  <Todd.Miller@courtesan.com>
7028
7029         * config.h.in, configure, configure.in, pty.c:
7030         Add support for IRIX-style dynamic ptys
7031         [bedc9bac44c1]
7032
7033         * Makefile.in, alloc.h, getline.c, sudo.h, sudoreplay.c:
7034         Move alloc.c protos into alloc.h
7035         [b6a90649617d]
7036
7037         * missing.h:
7038         Move prototypes for missing libc functions to missing.h
7039         [dda9ae1ccaf8]
7040
7041         * Makefile.in, sudo.h, sudoreplay.c:
7042         Move prototypes for missing libc functions to missing.h
7043         [7483166b577b]
7044
7045 2009-10-16  Todd C. Miller  <Todd.Miller@courtesan.com>
7046
7047         * config.h.in, configure, configure.in:
7048         Disable transcript support if no tcsetpgrp until we support older
7049         BSD-style job control.
7050         [27ac1d8163df]
7051
7052         * configure, configure.in, pty.c, script.c:
7053         Break out pty code into pty.c
7054         [e85509b25d41]
7055
7056         * compat.h, config.h.in, configure, configure.in:
7057         add killpg macro if no killpg function
7058         [3a125f4a51f0]
7059
7060         * config.h.in, configure, configure.in, script.c:
7061         Push ptem and ldterm for STERAMS-based systems when allocating a
7062         pty.
7063         [36bb39b30ff2]
7064
7065 2009-10-15  Todd C. Miller  <Todd.Miller@courtesan.com>
7066
7067         * script.c:
7068         Sprinkle some more O_NOCTTY and call grantpt() before unlockpt()
7069         [d94bd5c9bf4e]
7070
7071         * script.c:
7072         Call tcgetpgrp() in the parent, not the child and have the child
7073         spin until it is granted. Fixes a race on darwin.
7074         [6e8d435339ce]
7075
7076         * script.c:
7077         Only use TIOCNOTTY in the non-setsid case. If no TIOCSCTTY, just
7078         reopen slave.
7079         [0bdc63c019ca]
7080
7081 2009-10-14  Todd C. Miller  <Todd.Miller@courtesan.com>
7082
7083         * script.c:
7084         In script mode, if the command is killed by a signal, print the
7085         signal description as well as a core dump notification like the
7086         shell does.
7087         [9df61738df07]
7088
7089         * Makefile.in, config.h.in, configure, configure.in, strsignal.c,
7090         sudo.h:
7091         Add check for strsignal() and a simple implementation if it is not
7092         there but sys_siglist is
7093         [61421a188ef4]
7094
7095         * script.c:
7096         Add missing WUNTRACED and store the signal that stopped the
7097         grandchild in suspended, not signo.
7098         [df65042b200e]
7099
7100         * script.c:
7101         g/c unused code
7102         [40d8cb5c9203]
7103
7104         * script.c:
7105         Associate the grandchild's pgrp with the tty instead of the child's
7106         and just get suspend notifications via SIGCHLD instead of directly.
7107         This fixes a hang with programs that try to set terminal attributes
7108         and is more consistent with how the shell handles things.
7109         [6865abff7e94]
7110
7111 2009-10-12  Todd C. Miller  <Todd.Miller@courtesan.com>
7112
7113         * script.c:
7114         Move setpgid() of child into the parent side of the fork() where it
7115         belongs.
7116         [3defa782777c]
7117
7118 2009-10-11  Todd C. Miller  <Todd.Miller@courtesan.com>
7119
7120         * script.c:
7121         fix typo
7122         [b6a612b3622c]
7123
7124         * script.c:
7125         Run command in its own pgrp (like the shell does) for easier
7126         signalling. No need to relay SIGINT or SIGQUIT to parent, just send
7127         to grandchild. Don't want grandchild stopped events in the child
7128         (only termination). Flush output after suspending grandchild before
7129         signalling parent.
7130         [db556bf2176f]
7131
7132         * script.c:
7133         Back out revision 1.34; the problem lies elsewhere.
7134         [85f590a03275]
7135
7136         * script.c:
7137         Don't set stdout to blocking mode when flushing remaining output.
7138         It can cause us to hang when trying to exit. Need to investigate
7139         why.
7140         [6f803a3e33ca]
7141
7142         * script.c:
7143         Handle SIGTTOU and remove some debugging.
7144         [52d17279053e]
7145
7146         * term.c:
7147         Back out revision 1.10 as the signal that interrupts us may be
7148         SIGTTOU or SIGTTIN which the caller must handle.
7149         [7e2fa9107975]
7150
7151         * script.c:
7152         Apparently we need to send SIGSTOP to the command as well as ourself
7153         when we get SIGTSTP, the kernel doesn't automatically stop the
7154         process for us.
7155         [1a936e9309c4]
7156
7157         * script.c:
7158         Use an extra process to act as the glue bewteen the sessions
7159         associated with the user's controlling tty (what the shell uses) and
7160         the tty that sudo is using to do its logging. Basically, this means
7161         that if we get, e.g. SIGTSTP from the process sudo is running, we
7162         relay the signal to the parent so it's shell can do the job control.
7163         [6dd296988060]
7164
7165         * term.c:
7166         Handle getting/setting terminal attributes when the fd is in non-
7167         blocking mode.
7168         [ae5ae535ea7b]
7169
7170 2009-10-07  Todd C. Miller  <Todd.Miller@courtesan.com>
7171
7172         * sudoreplay.c, sudoreplay.cat, sudoreplay.man.in, sudoreplay.pod:
7173         Add support for pausing and changing the speed in interactive mode.
7174         [72a2063780a7]
7175
7176         * script.c:
7177         Already define O_NOCTTY in compat.h, don't need it here
7178         [b5d80ed3e5ce]
7179
7180 2009-10-06  Todd C. Miller  <Todd.Miller@courtesan.com>
7181
7182         * sudoreplay.c:
7183         Add missing protos
7184         [c4cb4e7f4d8a]
7185
7186 2009-09-30  Todd C. Miller  <Todd.Miller@courtesan.com>
7187
7188         * sudo_edit.c:
7189         Always update the stashed mtime of the temp file instead of using
7190         what we have for the original because the time resolution of the
7191         filesystem the temporary is on may not match that of the filesystem
7192         that holds the original. Should fix bz #371 found by Philippe Levan.
7193         [c86ca4bec60c]
7194
7195         * sudoreplay.c:
7196         Use cbreak mode instead of raw mode and add signal handlers to
7197         restore the tty on interrupt.
7198         [84dd283da41c]
7199
7200         * script.c, sudo.h, term.c:
7201         Retain NL to NLCR conversion on the real tty and skip it on the pty
7202         we allocate. That way, if stdout is not a pty there are no extra
7203         carriage returns.
7204         [32e4f570414e]
7205
7206         * script.c:
7207         Fix log_output(); just pass in a string and a length.
7208         [ca980cc0a3fb]
7209
7210 2009-09-28  Todd C. Miller  <Todd.Miller@courtesan.com>
7211
7212         * script.c:
7213         do not use errno when complaining out lack of a tty
7214         [8f9b8c55ab8e]
7215
7216 2009-09-27  Todd C. Miller  <Todd.Miller@courtesan.com>
7217
7218         * Makefile.in, sudoreplay.c, term.c:
7219         Instead of messing with line endings, just set terminal to raw mode
7220         in sudoreplay.
7221         [90943fa87acb]
7222
7223         * term.c:
7224         When copying the terminal attributes to the pty, be sure not to set
7225         ONLCR. This prevents extra carriage returns from ending up in the
7226         script output file.
7227         [e6b5475ac2aa]
7228
7229         * script.c:
7230         Convert a do {} while into a while
7231         [e461310d2c77]
7232
7233         * Makefile.in:
7234         Use if then instead of test && when installing binaries that may not
7235         exist.
7236         [ad4f9490d971]
7237
7238         * script.c:
7239         Add O_NOCTTY when opening a tty device. Explicitly disconnect from
7240         old tty before associatng with new one.
7241         [0e0ca634b80c]
7242
7243         * script.c, selinux.c, sudo.c, sudo.h:
7244         First cut at refactoring some of the selinux code so it can be used
7245         in conjunction with sudo's transcript support.
7246         [779b0d8f9d29]
7247
7248 2009-09-26  Todd C. Miller  <Todd.Miller@courtesan.com>
7249
7250         * aclocal.m4, configure, configure.in:
7251         Fix default case of transcript_enabled being unset.
7252         [f8aa96186e6b]
7253
7254         * script.c, sudoreplay.c:
7255         Use _PATH_SUDO_TRANSCRIPT instead of _PATH_SUDO_SESSDIR
7256         [2844a7a851fa]
7257
7258         * INSTALL, Makefile.in, aclocal.m4, configure, configure.in, sudo.c:
7259         Hook up --disable-transcript and --enable-transcript=DIR
7260         [b3fa7e6b2480]
7261
7262 2009-09-25  Todd C. Miller  <Todd.Miller@courtesan.com>
7263
7264         * aclocal.m4, configure, configure.in, pathnames.h.in:
7265         _PATH_SUDO_SESSDIR -> _PATH_SUDO_TRANSCRIPT Add --enable-
7266         transcript=DIR option to specify the directory
7267         [b0bb76d43cda]
7268
7269         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in:
7270         regen
7271         [c7a8a0a9027c]
7272
7273         * configure, configure.in, sudoers.man.pl, sudoers.pod:
7274         Substitute in default value for secure_path
7275         [c8f9ac6dbf93]
7276
7277         * sudo.pod:
7278         Mention that the password must be followed by a newline with the -S
7279         option.
7280         [2fc589a3ee7e]
7281
7282 2009-09-20  Todd C. Miller  <Todd.Miller@courtesan.com>
7283
7284         * script.c:
7285         Go back to dropping out of the select() loop when the process dies;
7286         Linux ptys apparently don't behave the same as BSD in regards to
7287         select(). No need to flush remaining output to the transcript, only
7288         to stdout. Add back code to check the master pty for additional data
7289         when we exit the main select loop.
7290         [abed9a9cbc6b]
7291
7292 2009-09-19  Todd C. Miller  <Todd.Miller@courtesan.com>
7293
7294         * Makefile.in:
7295         Add getline.o to COMMON_OBJS
7296         [04ef7643cbc2]
7297
7298         * Makefile.in:
7299         sudoreplay depends on libsudo.a
7300         [142bd0472631]
7301
7302         * Makefile.in:
7303         More pwutil.o into COMMON_OBJS
7304         [4a016b933629]
7305
7306         * pwutil.c, testsudoers.c, tsgetgrpw.c:
7307         Remove my_* redirection in pwutil.c for testsudoers and just use the
7308         normal libc get{pw,gr}* names.
7309         [9b76d637d86b]
7310
7311         * sudoreplay.cat, sudoreplay.man.in, sudoreplay.pod:
7312         More time and date examples
7313         [c6ee0175ec56]
7314
7315         * Makefile.in, configure, configure.in, nanosleep.c, sudoreplay.c:
7316         Move nanosleep() emulation into its own file Check librt.a for
7317         nanosleep if we don't find it in libc
7318         [4da0cc26aad7]
7319
7320         * Makefile.in, configure, configure.in:
7321         Build libsudo with the common bits and link things against that.
7322         [2b53bc0b081a]
7323
7324         * script.c:
7325         Fix final flush.
7326         [6da287d833da]
7327
7328         * script.c:
7329         Keep reading from the pty master -> log file until read returns <=
7330         0. Do our best to write everything to stdout when flushing any
7331         remaining bits.
7332         [2a45d4ae280c]
7333
7334         * sudoreplay.c:
7335         Use unbuffered I/O when writing to stdout and make sure we write the
7336         entire buffer.
7337         [f39ef9844a47]
7338
7339 2009-09-18  Todd C. Miller  <Todd.Miller@courtesan.com>
7340
7341         * sudoreplay.c:
7342         Only use max_wait if it is non-zero
7343         [f6c10604d2e8]
7344
7345         * getdate.c, getdate.y, getline.c:
7346         Need compat.h here
7347         [5d6722e225a0]
7348
7349         * sudoreplay.c:
7350         Fix nanosleep emulation
7351         [34e5e5d72a76]
7352
7353         * script.c:
7354         Fix comment after #endif
7355         [bd1347718b25]
7356
7357         * sudoreplay.c:
7358         Add protos for missing libc bits
7359         [644f496427a2]
7360
7361         * configure, configure.in:
7362         add missing line continuation char
7363         [db13c0d402cd]
7364
7365         * config.h.in, configure, configure.in, getline.c:
7366         Implement getline() in terms of fgetln() if we have it.
7367         [3ab786eaadc5]
7368
7369         * sudoreplay.c:
7370         Print year when formatting log line
7371         [90be669e3443]
7372
7373         * sudoreplay.pod:
7374         Document cwd, attempt to document time/date formats.
7375         [6290fb9b65c6]
7376
7377         * sudoreplay.c:
7378         Fix getline return value check.
7379         [d696d6657261]
7380
7381         * Makefile.in, config.h.in, configure, configure.in, getline.c,
7382         sudoreplay.c:
7383         Use getline() if the system has it, else use provide our own for
7384         sudoreplay.
7385         [afca1d6fbe5e]
7386
7387         * script.c:
7388         Refactor code to update output and timing files.
7389         [361491332b1a]
7390
7391 2009-09-17  Todd C. Miller  <Todd.Miller@courtesan.com>
7392
7393         * sudoreplay.c:
7394         Make sudo_getln() behave more like glibc getline.
7395         [40c9f2ea29e6]
7396
7397         * script.c:
7398         When flushing remaining output, also update timing file.
7399         [5a9a5a627549]
7400
7401         * sudoreplay.c:
7402         Use get_timestr() and make the -l output look like the regular sudo
7403         log.
7404         [452ba9d436c9]
7405
7406         * logging.c, sudo.h, timestr.c:
7407         Make get_timestr() take a time_t so we can use it properly in
7408         sudoreplay.
7409         [82e67cc53c9c]
7410
7411         * script.c:
7412         Create session dir earlier now that we update the seq number early.
7413         [797fe8d6dc61]
7414
7415 2009-09-16  Todd C. Miller  <Todd.Miller@courtesan.com>
7416
7417         * sudoreplay.c:
7418         Use fromdate and todate as the keywords instead of from and to; the
7419         short forms will still be accepted.
7420         [d14d9b116df4]
7421
7422         * sudoreplay.c:
7423         Fix reading long liensin sudo_getln()
7424         [58dadd74118c]
7425
7426         * script.c, sudoreplay.c:
7427         Log the cwd in the script log file. Add sudo_getln() to read
7428         arbitrarily long lines.
7429         [faceb802ab8f]
7430
7431         * Makefile.in, logging.c, sudo.h, timestr.c:
7432         Move get_timestr() into its own source file so sudoreplay can use
7433         it.
7434         [99b054bfa20a]
7435
7436 2009-09-15  Todd C. Miller  <Todd.Miller@courtesan.com>
7437
7438         * sudoreplay.c:
7439         Add to and from perdicates (date ranges); needs documentation
7440         [1d629174dcf4]
7441
7442 2009-09-14  Todd C. Miller  <Todd.Miller@courtesan.com>
7443
7444         * Makefile.in, getdate.c, getdate.y:
7445         Fix warning and add generated getdate.c
7446         [b877a86b5a03]
7447
7448         * Makefile.in, getdate.y:
7449         Add getdate.y to be used for sudoreplay date parsing.
7450         [b8e26fbb7a40]
7451
7452 2009-09-13  Todd C. Miller  <Todd.Miller@courtesan.com>
7453
7454         * sudoreplay.c:
7455         Check more than just the first character of a predicate
7456         [4fe53728adb1]
7457
7458         * sudoreplay.cat, sudoreplay.man.in, sudoreplay.pod:
7459         Add examples, sort predicates
7460         [70f8075cbccc]
7461
7462         * Makefile.in, sudoreplay.c, sudoreplay.cat, sudoreplay.man.in,
7463         sudoreplay.pod:
7464         Implement search expressions in sudoreplay similar in concept to
7465         what find or tcpdump uses. TODO: date ranges
7466         [f7ce4fb4cf3a]
7467
7468 2009-09-07  Todd C. Miller  <Todd.Miller@courtesan.com>
7469
7470         * script.c:
7471         Remove vhangup as it was hanging up the wrong tty. Should really
7472         vhangup in the child after it as set its tty.
7473         [2eed9df73010]
7474
7475         * sudoers.pod:
7476         Fix cut at documenting transcript support.
7477         [e6c533a5568a]
7478
7479         * logging.c:
7480         ID= -> TSID= for transcript ID
7481         [1bf755a35333]
7482
7483 2009-09-06  Todd C. Miller  <Todd.Miller@courtesan.com>
7484
7485         * sudoers.pod:
7486         Move fast_glob description to where it belongs in sorted order
7487         [5901cfb0d25f]
7488
7489         * def_data.c, def_data.h, def_data.in, gram.c, gram.h, gram.y,
7490         parse.c, parse.h, sudo.c:
7491         Rename script -> transcript
7492         [e06cf823122c]
7493
7494 2009-09-03  Todd C. Miller  <Todd.Miller@courtesan.com>
7495
7496         * compat.h:
7497         Add timeradd and timersub for those without them
7498         [929f8aa06c2b]
7499
7500         * script.c:
7501         Sanity check sessid before using it.
7502         [aa8ca5211d43]
7503
7504         * sudo.c:
7505         Only set the session id if we are running a command or editing a
7506         file.
7507         [7205d717c098]
7508
7509         * script.c:
7510         Actually. qsort is fine since most versions fal back to a cheaper
7511         sort when the number of elements to sort is small (like in our
7512         case).
7513         [d11c7cd352fe]
7514
7515         * config.h.in, configure, configure.in, script.c:
7516         Check for dup2 and use dup instead if we don't have it.
7517         [98bd89830f8a]
7518
7519         * script.c, sudo.c, sudo.h:
7520         Move the code to dup2 the script fds to low numbered descriptors
7521         into script_duplow() and fix the fd sorting.
7522         [9453fdc5fba6]
7523
7524         * script.c, sudo.c, sudo.h:
7525         Move script_setup() back to immediately before we drop privs and
7526         call the new script_nextid() in its place, which will set
7527         sudo_user.sessid for the logging functions.
7528         [8434d0c8ff08]
7529
7530 2009-09-01  Todd C. Miller  <Todd.Miller@courtesan.com>
7531
7532         * Makefile.in:
7533         Install sudoreplay
7534         [6acf2cdb4d3f]
7535
7536         * sudoreplay.c:
7537         remove unused variable
7538         [2316360bb992]
7539
7540 2009-08-30  Todd C. Miller  <Todd.Miller@courtesan.com>
7541
7542         * logging.c, script.c, sudo.c, sudo.h:
7543         Log the session ID, if there is one. Currently logs ID=XXXXXX,
7544         perhaps should be SESSIONID or SESSID.
7545         [53976905b0a6]
7546
7547         * Makefile.in, configure, configure.in, sudoreplay.cat,
7548         sudoreplay.man.in, sudoreplay.pod:
7549         Add sudoreplay docs
7550         [da4f14f0e64c]
7551
7552         * sudoreplay.c:
7553         add -V (version) flag
7554         [b5e743639ee3]
7555
7556         * sudoreplay.c:
7557         Hook up max_wait.
7558         [2ec5697a92ba]
7559
7560         * script.c, sudoreplay.c:
7561         Use base36 number for the ID and store script files with paths like
7562         /var/log/sudo-session/00/00/00{,.tim,.scr}. This gives us 36^6
7563         (2,176,782,336) unique IDs.
7564         [6aab019d07aa]
7565
7566 2009-08-23  Todd C. Miller  <Todd.Miller@courtesan.com>
7567
7568         * config.h.in, configure.in:
7569         Add check for regcomp
7570         [44c3ebd7ff34]
7571
7572         * sudoreplay.c:
7573         Add support for selecting by pattern and tty when listing.
7574         [66189f840c52]
7575
7576 2009-08-17  Todd C. Miller  <Todd.Miller@courtesan.com>
7577
7578         * sudoreplay.c:
7579         The beginnings of a list mode.
7580         [8d0150b4a52c]
7581
7582 2009-08-16  Todd C. Miller  <Todd.Miller@courtesan.com>
7583
7584         * Makefile.in:
7585         fix pasto
7586         [616b4640b8a8]
7587
7588         * Makefile.in, config.h.in, configure.in:
7589         Add scaffolding for building sudoreplay
7590         [a32958505dbe]
7591
7592         * sudoreplay.c:
7593         include error.h first arg to nanotime is const
7594         [fe5a7bb31bc5]
7595
7596         * sudoreplay.c:
7597         Initial cut at sudoreplay; replay a sudo session.
7598         [f149fba372bd]
7599
7600 2009-08-08  Todd C. Miller  <Todd.Miller@courtesan.com>
7601
7602         * script.c:
7603         Fix wait() usage and use correct wait status.
7604         [f4745ed7ad05]
7605
7606         * sudo.c, sudo.h, tgetpass.c:
7607         Add protos for term_* to sudo.h
7608         [14fe1abd7e7b]
7609
7610         * script.c:
7611         Fix detection of the child process exiting. Since the child is in
7612         its own session we should only ever get SIGCHLD for that process but
7613         better safe than sorry.
7614         [7edfdadd8505]
7615
7616         * config.h.in:
7617         Add UNIX98 pty support.
7618         [82f4b53a0e8f]
7619
7620         * configure, configure.in, script.c:
7621         Add UNIX98 pty support.
7622         [795b8bb0a3a1]
7623
7624 2009-08-07  Todd C. Miller  <Todd.Miller@courtesan.com>
7625
7626         * term.c:
7627         For raw mode, don't bother clearing BRKINT or PARMRK and clear IUCLC
7628         if it is defined.
7629         [40f8b83baf69]
7630
7631         * auth/pam.c:
7632         Set PAM_RUSER and PAM_RHOST early so they can be used during
7633         authentication. Based on a patch from Jamie Beverly.
7634         [3d567b453a6a]
7635
7636         * match.c:
7637         Close dir before returning if strlcpy() reports overflow. From
7638         Martynas Venckus.
7639         [6a82f96473e5]
7640
7641         * config.h.in, configure, configure.in, script.c:
7642         On Linux, the openpty proto libes in pty.h
7643         [98643a018d1c]
7644
7645         * script.c:
7646         Call vhangup on exit if the system has it Use setpgrp() if no
7647         setsid()
7648         [3a9e13149829]
7649
7650 2009-08-06  Todd C. Miller  <Todd.Miller@courtesan.com>
7651
7652         * config.h.in, configure, configure.in:
7653         Add checks for revoke and vhangup if we don't have openpty
7654         [fcb04572e994]
7655
7656         * script.c:
7657         Session logging guts that got forgotten in the previous commit.
7658         [c2af08a63ea9]
7659
7660         * Makefile.in, aclocal.m4, compat.h, config.h.in, configure,
7661         configure.in, def_data.c, def_data.h, def_data.in, gram.c, gram.h,
7662         gram.y, parse.c, parse.h, pathnames.h.in, sudo.c, sudo.h, term.c,
7663         tgetpass.c:
7664         First cut at session logging for sudo. Still need to write
7665         get_pty() for Unix 98 and old-style BSD ptys. Also needs
7666         documentation and general cleanup.
7667         [77e3f5e25738]
7668
7669 2009-08-05  Todd C. Miller  <Todd.Miller@courtesan.com>
7670
7671         * sudo.c, sudo_edit.c:
7672         Fix a bug introduced with def_closefrom. The value of def_closefrom
7673         already includes the +1.
7674         [7291c136300d]
7675
7676 2009-07-29  Todd C. Miller  <Todd.Miller@courtesan.com>
7677
7678         * Makefile.in:
7679         Generate sudo distributions with pax in ustar mode. No longer need
7680         to use a temp file or have the source dir name match the version.
7681         [9778177a8272]
7682
7683 2009-07-18  Todd C. Miller  <Todd.Miller@courtesan.com>
7684
7685         * toke.c, toke.l:
7686         Fix expansion of %h in #include names. Fixes bugzilla 363
7687         [6e346879ba24]
7688
7689 2009-07-12  Todd C. Miller  <Todd.Miller@courtesan.com>
7690
7691         * mkdefaults:
7692         If no arg assume def_data.in
7693         [c1dd28c0e675]
7694
7695         * README, WHATSNEW:
7696         Update for 1.7.2
7697         [f5ad45f69f05] [SUDO_1_7_2]
7698
7699         * ChangeLog:
7700         sync
7701         [6283549396ff]
7702
7703 2009-06-30  Todd C. Miller  <Todd.Miller@courtesan.com>
7704
7705         * sudoers.cat, sudoers.man.in, sudoers.pod:
7706         Add missing single quotes around a colon in Runas_Spec definition.
7707         From Elias Benali.
7708         [ccc6ee4fca83]
7709
7710 2009-06-29  Todd C. Miller  <Todd.Miller@courtesan.com>
7711
7712         * sudo.man.in, sudoers.man.in:
7713         regen
7714         [546e75304ebf]
7715
7716         * redblack.c:
7717         In rbrepair, re-color the root or the first non-block node we find
7718         to be black. Re-coloring the root is probably not needed but won't
7719         hurt.
7720         [34d01ebe241b]
7721
7722         * sudo.cat, sudoers.cat:
7723         regen
7724         [bebf5a39f54f]
7725
7726 2009-06-26  Todd C. Miller  <Todd.Miller@courtesan.com>
7727
7728         * redblack.c:
7729         When repairing the tree, don't touch the root node.
7730         [9841f0d5d789]
7731
7732 2009-06-25  Todd C. Miller  <Todd.Miller@courtesan.com>
7733
7734         * set_perms.c:
7735         Protect call to setegid in runas_setup with #ifdef HAVE_SETEUID.
7736         Reported by Josef Schmid.
7737         [ed044b1eb879]
7738
7739 2009-06-23  Todd C. Miller  <Todd.Miller@courtesan.com>
7740
7741         * sudoers.pod:
7742         Document that we accept env_pam-style environment files
7743         [e3b545456352]
7744
7745         * env.c:
7746         Adapt to accept pam_env-style /etc/environment which allows shell-
7747         style lines such as: export EDITOR="/usr/bin/vi"
7748         [752eb75bf007]
7749
7750         * sudoers.pod:
7751         Make it clear that env_delete only works when !env_reset. From Lo??c
7752         Minier
7753         [3bd3f8e351ba]
7754
7755 2009-06-15  Todd C. Miller  <Todd.Miller@courtesan.com>
7756
7757         * sudo.pod, sudoers.pod:
7758         Add non-unix group bits, adapted from Quest
7759         [8ce427de8dea]
7760
7761         * Makefile.in:
7762         build the .cat page in the current working dir, not the src dir
7763         [00e87a307674]
7764
7765         * env.c:
7766         Return EINVAL in setenv() if var is NULL or the empty string to
7767         match glibc behavior.
7768         [23fd7c247142]
7769
7770 2009-06-13  Todd C. Miller  <Todd.Miller@courtesan.com>
7771
7772         * configure, configure.in:
7773         Use AS_HELP_STRING for AC_ARG_WITH and AC_ARG_ENABLE
7774         [fedd4a3e2a85]
7775
7776 2009-06-11  Todd C. Miller  <Todd.Miller@courtesan.com>
7777
7778         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.ldap.cat,
7779         sudoers.ldap.man.in, sudoers.man.in, visudo.cat, visudo.man.in:
7780         regen
7781         [7b9f461a40b3]
7782
7783 2009-06-09  Todd C. Miller  <Todd.Miller@courtesan.com>
7784
7785         * INSTALL:
7786         Document --with-libvas and --with-libvas-rpath
7787         [a071e6d96c89]
7788
7789 2009-05-29  Todd C. Miller  <Todd.Miller@courtesan.com>
7790
7791         * ldap.c, sudoers.ldap.pod:
7792         For netscape-derived LDAP SDKs the cert and key paths may be a
7793         directory or a file. However, version 5.0 of the SDK only seems to
7794         support using a directory. If ldapssl_clientauth_init fails and the
7795         cert or key paths look like they could be files, strip off the last
7796         path element and try again.
7797         [ac4e49d83043]
7798
7799         * Makefile.in:
7800         Add non-Unix group .o to COMMON_OBJS and substitute in path to flex.
7801         [4547cc1a335f]
7802
7803 2009-05-27  Todd C. Miller  <Todd.Miller@courtesan.com>
7804
7805         * configure, configure.in, match.c, sudo.c, vasgroups.c:
7806         Update non-Unix group support from Quest, as reworked by me.
7807         [1abafce29dc6]
7808
7809         * toke.c:
7810         regen
7811         [01bfca9148b7]
7812
7813         * toke.l:
7814         Add support for escaped hex chars in names, e.g. \x20 for space.
7815         [3c7be8e58a39]
7816
7817 2009-05-25  Todd C. Miller  <Todd.Miller@courtesan.com>
7818
7819         * LICENSE, Makefile.in, aclocal.m4, alias.c, auth/aix_auth.c,
7820         auth/pam.c, auth/sudo_auth.c, auth/sudo_auth.h, check.c, env.c,
7821         fileops.c, glob.c, gram.y, interfaces.c, lbuf.c, ldap.c, logging.c,
7822         logging.h, match.c, parse.c, parse.h, pathnames.h.in, pwutil.c,
7823         set_perms.c, sudo.c, sudo.h, sudo.pod, sudo_nss.c, sudo_nss.h,
7824         sudo_usage.h.in, sudoers.ldap.pod, sudoers.pod, testsudoers.c,
7825         tgetpass.c, toke.l, visudo.c:
7826         Update copyright years.
7827         [e615f676c764]
7828
7829 2009-05-24  Todd C. Miller  <Todd.Miller@courtesan.com>
7830
7831         * interfaces.c, lbuf.c:
7832         Minor fixes for Minix-3
7833         [898c510d23f9]
7834
7835 2009-05-22  Todd C. Miller  <Todd.Miller@courtesan.com>
7836
7837         * set_perms.c:
7838         Handle getgroups() returning 0. Also add missing check for
7839         HAVE_GETGROUPS.
7840         [d73b958f9ffd]
7841
7842 2009-05-19  Todd C. Miller  <Todd.Miller@courtesan.com>
7843
7844         * Makefile.in, config.h.in, configure, configure.in, sudo.c,
7845         version.h, visudo.c:
7846         Replace version.h with PACKAGE_VERSION set via AC_INIT in configure.
7847         [5050579a264d]
7848
7849 2009-05-18  Todd C. Miller  <Todd.Miller@courtesan.com>
7850
7851         * set_perms.c:
7852         Remove group setting code in setusercontext case, we will do it
7853         ourselves later on in runas_setup. Set the gid after
7854         initgroups/setgroups is called, since on Mac OS X it seems to change
7855         the egid.
7856         [09dc21d8b42d]
7857
7858 2009-05-17  Todd C. Miller  <Todd.Miller@courtesan.com>
7859
7860         * LICENSE, Makefile.in, config.h.in, match.c, nonunix.h, sudo.c,
7861         vasgroups.c:
7862         Initial bits of non-unix group support using Quest Authentication
7863         Services
7864         [1eecab0ff27e]
7865
7866         * toke.c, toke.l:
7867         Accept %:foo as a non-Unix group
7868         [4c4b5dd899a6]
7869
7870         * toke.c, toke.l:
7871         Allow user/group to be double quoted in the case of non-Unix groups
7872         which contain spaces.
7873         [47a3d568b7e8]
7874
7875 2009-05-11  Todd C. Miller  <Todd.Miller@courtesan.com>
7876
7877         * match.c:
7878         Don't allow the user to specify the default runas user if their
7879         sudoers entry only allows them to run as a group.
7880         [4d726177227c]
7881
7882 2009-05-10  Todd C. Miller  <Todd.Miller@courtesan.com>
7883
7884         * sudo.c:
7885         Must call audit_success before we change uids.
7886         [04a9e6ce6e55]
7887
7888         * logging.c, set_perms.c, sudo.h, testsudoers.c:
7889         Add option for set_perm to not exit on failure and use this in the
7890         logging routines.
7891         [833dce7b7f42]
7892
7893         * parse.c:
7894         In -l mode, if the user is only allowed to run as a group, display
7895         the user's name, not root's before the allowed group.
7896         [ef92ff99d265]
7897
7898         * sudo.c:
7899         Fix -g mode, broken by rev 1.503 which had the side effect of
7900         setting the runas user to root unilaterally.
7901         [50a2f7df4385]
7902
7903 2009-05-08  Todd C. Miller  <Todd.Miller@courtesan.com>
7904
7905         * fileops.c:
7906         When unlocking a file with fcntl, use F_SETLK, not F_SETLKW.
7907         [30fbe832dcf3]
7908
7909         * pwutil.c:
7910         Only cache by the method we fetched for pwd and grp lookups.
7911         Previously we cached both by namd and id but this can cause problems
7912         for entries that share the same id. Also add more info in the error
7913         message in case the insert fails (which should now be impossible).
7914         [ef95a4f0bab5]
7915
7916 2009-04-30  Todd C. Miller  <Todd.Miller@courtesan.com>
7917
7918         * sudoers.pod:
7919         Add a clarification from Nick Sieger
7920         [1eadad329561]
7921
7922 2009-04-25  Todd C. Miller  <Todd.Miller@courtesan.com>
7923
7924         * env.c:
7925         Inline the setting of the environment string.
7926         [9515d11c6295]
7927
7928 2009-04-24  Todd C. Miller  <Todd.Miller@courtesan.com>
7929
7930         * env.c:
7931         setenv(3) in Linux treats a NUL value as the empty string setenv(3)
7932         in BSD doesn't return an error if the name has '=' in it, it just
7933         treats the '=' as end of string.
7934         [941260bf94d2]
7935
7936 2009-04-22  Todd C. Miller  <Todd.Miller@courtesan.com>
7937
7938         * toke.c, toke.l:
7939         Not all systems have d_namlen
7940         [e377b18d8e2d]
7941
7942 2009-04-20  Todd C. Miller  <Todd.Miller@courtesan.com>
7943
7944         * sudoers.pod:
7945         Fix up some pod2html issues.
7946         [823a1f10ab60]
7947
7948 2009-04-19  Todd C. Miller  <Todd.Miller@courtesan.com>
7949
7950         * interfaces.c:
7951         Check for NULL ifa_addr and ifa_netmask. Adapted from a diff from
7952         Quest Software.
7953         [73de36653131]
7954
7955         * sudoers.pod:
7956         Ignore files ending in '~' in sudo.d (emacs backup files)
7957         [7871fad702db]
7958
7959         * toke.c, toke.l:
7960         Ignore files ending in '~' in sudo.d (emacs backup files)
7961         [53fded2a469f]
7962
7963 2009-04-18  Todd C. Miller  <Todd.Miller@courtesan.com>
7964
7965         * sudoers.cat, sudoers.man.in, sudoers.pod, toke.c, toke.l:
7966         For #includedir, ignore any file containing a dot
7967         [a7daa1bce6c2]
7968
7969         * Makefile.in, version.h:
7970         Bump version
7971         [ef60f14ffc44]
7972
7973         * gram.c, gram.y, parse.c, parse.h, sudo.c, sudo.h, sudoers.cat,
7974         sudoers.man.in, sudoers.pod, testsudoers.c, toke.c, toke.l,
7975         visudo.c:
7976         Implement #includedir directive. Files in an includedir are not
7977         edited by visudo unless they contain a syntax error.
7978         [3923d85a6c79]
7979
7980         * ChangeLog:
7981         sync
7982         [8741ed61a78b] [SUDO_1_7_1]
7983
7984         * WHATSNEW:
7985         Forgot umask_override
7986         [7c86a21a5504]
7987
7988         * ChangeLog, TODO:
7989         sync
7990         [57339ca6bccf]
7991
7992 2009-04-16  Todd C. Miller  <Todd.Miller@courtesan.com>
7993
7994         * visudo.c:
7995         Rewind stream if we fdopen sudoers since it may not be at the
7996         beginning. Set the keepopen flag on already-open files too so the
7997         lexer doesn't close them out from under us.
7998         [61292d819aff]
7999
8000         * visudo.c:
8001         Print the proper file name when there is a parse error in an include
8002         file.
8003         [b0e85d4aedde]
8004
8005 2009-04-11  Todd C. Miller  <Todd.Miller@courtesan.com>
8006
8007         * WHATSNEW:
8008         Sync
8009         [997e5d485ea3]
8010
8011 2009-04-10  Todd C. Miller  <Todd.Miller@courtesan.com>
8012
8013         * configure, configure.in:
8014         Fix a warning when --without-ldap is specified.
8015         [d91fd9481b30]
8016
8017 2009-04-05  Todd C. Miller  <Todd.Miller@courtesan.com>
8018
8019         * alias.c, parse.h, visudo.c:
8020         Store aliases that we remove during check_aliases in a freelist and
8021         free them at the end so we don't leak memory.
8022         [805e2272f6a3]
8023
8024 2009-03-28  Todd C. Miller  <Todd.Miller@courtesan.com>
8025
8026         * visudo.c:
8027         Check aliases in -c mode too.
8028         [9199e188d9f2]
8029
8030         * alias.c, parse.h, visudo.c:
8031         Make alias_remove return the alias struct instead of freeing it
8032         directly. Fixes a use after free in alias_remove_recursive, the only
8033         consumer.
8034         [a04b61804800]
8035
8036         * alias.c, match.c, parse.c, parse.h, visudo.c:
8037         Rename find_alias -> alias_find for consistency.
8038         [48b0a82924f3]
8039
8040 2009-03-27  Todd C. Miller  <Todd.Miller@courtesan.com>
8041
8042         * visudo.c:
8043         When checking for unused aliases, recurse if the alias points to
8044         another alias.
8045         [2d4d1a7f3a41]
8046
8047 2009-03-16  Todd C. Miller  <Todd.Miller@courtesan.com>
8048
8049         * ldap.c:
8050         Back out rev 1.105 for now. Real ldapux_client.conf support will be
8051         done later after some refactoring.
8052         [8ad72e69b277]
8053
8054 2009-03-14  Todd C. Miller  <Todd.Miller@courtesan.com>
8055
8056         * ldap.c:
8057         Treat ldap_hostport the same as "host" for ldapux.
8058         [3281dcc66da8]
8059
8060         * configure, configure.in:
8061         Only check for ldap_sasl_interactive_bind_s if we can find sasl.h.
8062         Fixes compilation with ldapux.
8063         [ca1ed585ef0e]
8064
8065 2009-03-12  Todd C. Miller  <Todd.Miller@courtesan.com>
8066
8067         * fileops.c:
8068         fix char subscript
8069         [41e51f080d00]
8070
8071 2009-03-11  Todd C. Miller  <Todd.Miller@courtesan.com>
8072
8073         * Makefile.in:
8074         remove errant carriage returns
8075         [e9e258a31c7b]
8076
8077         * audit.c, env.c:
8078         fix K&R compilation
8079         [d182e8920f13]
8080
8081         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.ldap.cat,
8082         sudoers.ldap.man.in, sudoers.man.in, visudo.cat, visudo.man.in:
8083         regen
8084         [791a5cbf04e5]
8085
8086 2009-03-10  Todd C. Miller  <Todd.Miller@courtesan.com>
8087
8088         * config.h.in:
8089         Add missing HAVE_BSM_AUDIT
8090         [49ad1bb96f04]
8091
8092         * WHATSNEW:
8093         Add 1.7.1 features
8094         [f107f1604c61]
8095
8096         * INSTALL:
8097         Mention --with-netsvc
8098         [d1e90d147795]
8099
8100         * sudoers.ldap.pod:
8101         Document netsvc.conf support
8102         [e78f8abce6af]
8103
8104         * configure, configure.in, pathnames.h.in, sudo.c, sudo_nss.c,
8105         sudo_nss.h:
8106         Add support for AIX netsvc.conf (like nsswitch.conf).
8107         [1df56a84dee5]
8108
8109 2009-03-08  Todd C. Miller  <Todd.Miller@courtesan.com>
8110
8111         * config.h.in, configure, configure.in, env.c:
8112         Add --enable-env-debug flag to enable environment sanity checks.
8113         [128cdd8832e7]
8114
8115         * sudoers.ldap.pod, sudoers.pod:
8116         Work around some pod2html issue.
8117         [e733b9609bd2]
8118
8119 2009-03-07  Todd C. Miller  <Todd.Miller@courtesan.com>
8120
8121         * env.c:
8122         Only sync environ for putenv, setenv, and unsetenv. We need to make
8123         sure that sudo_putenv and sudo_setenv only modify env.envp, not
8124         environ.
8125         [be3ac732243c]
8126
8127 2009-03-02  Todd C. Miller  <Todd.Miller@courtesan.com>
8128
8129         * env.c:
8130         Really fix UNSETENV_VOID
8131         [08ab7e882507]
8132
8133         * env.c:
8134         Fix unsetenv when UNSETENV_VOID
8135         [d3038b3f2f15]
8136
8137         * aclocal.m4, configure:
8138         Fix SUDO_FUNC_PUTENV_CONST
8139         [de35569c572b]
8140
8141         * ldap.c:
8142         tivoli-based ldap does not have ldapssl_err2string
8143         [c63fd90d5e99]
8144
8145         * configure:
8146         regen
8147         [f38f1ee828ad]
8148
8149 2009-03-01  Todd C. Miller  <Todd.Miller@courtesan.com>
8150
8151         * config.h.in, configure, configure.in, ldap.c:
8152         Add support for Tivoli-based LDAP start TLS as seen in AIX.
8153         Untested.
8154         [8f8771829f85]
8155
8156         * env.c:
8157         Add sanity checks for setenv/unsetenv
8158         [adbd1d95856b]
8159
8160         * Makefile.in:
8161         Include bsm_audit.h in the tarball
8162         [4a4aa02b2c32]
8163
8164         * Makefile.in, version.h:
8165         bump version for sudo 1.7.1
8166         [362c71d21595]
8167
8168         * aclocal.m4, auth/aix_auth.c, config.h.in, configure, configure.in,
8169         env.c, ldap.c, sudo.h:
8170         Replace sudo_setenv/sudo_unsetenv with calls to setenv/unsetenv and
8171         provide our own setenv/unsetenv/putenv that operates on own env
8172         pointer. Make sync_env() inline in setenv/unsetenv/putenv functions.
8173         [276edcd23032]
8174
8175 2009-02-25  Todd C. Miller  <Todd.Miller@courtesan.com>
8176
8177         * sudo.c:
8178         Make "sudoedit -h" work as expected
8179         [2bcbbb45d389]
8180
8181         * auth/pam.c:
8182         Make sure def_prompt is always defined. This is a workaround for
8183         pam configs that prompt for a password in the session but don't have
8184         an auth line. A better fix is to expand the sudo prompt earlier and
8185         set def_prompt to that when initializing.
8186         [ee073c04aec3]
8187
8188         * sudo.pod:
8189         Mention that the helper for -A may be graphical.
8190         [b64a940c4082]
8191
8192         * TROUBLESHOOTING:
8193         Document what happens if there is no tty.
8194         [313d58a856a5]
8195
8196         * sudo.c:
8197         cosmetic changes
8198         [894f5e3b0c3e]
8199
8200         * term.c:
8201         Fix term_restore
8202         [6c6315ff14bc]
8203
8204         * sudo.c:
8205         Fix "sudo -k" with no other args
8206         [59e94dc419c6]
8207
8208 2009-02-24  Todd C. Miller  <Todd.Miller@courtesan.com>
8209
8210         * check.c, sudo.c, sudo.pod, sudo_usage.h.in:
8211         Allow the -k flag to be specified in conjunction with a command or
8212         another option that may require authentication.
8213         [5960ff20355d]
8214
8215 2009-02-23  Todd C. Miller  <Todd.Miller@courtesan.com>
8216
8217         * configure, configure.in:
8218         Remove unneeded AC_CANONICAL_TARGET; from Diego E. 'Flameeyes'
8219         [e86ab69c4a57]
8220
8221         * Makefile.in:
8222         Parallel make fix. From Diego E. 'Flameeyes'
8223         [1289d7ee27db]
8224
8225 2009-02-21  Todd C. Miller  <Todd.Miller@courtesan.com>
8226
8227         * def_data.c, def_data.h, def_data.in, sudo.c, sudoers.pod:
8228         Implement umask_override
8229         [8b87a3f7c5aa]
8230
8231         * toke.c:
8232         regen
8233         [79d7ca9ac873]
8234
8235         * sudoers.pod, toke.l, visudo.c:
8236         Implement %h escape in sudoers include filenames.
8237         [a7f288dd64f0]
8238
8239         * audit.c:
8240         Need to include compat.h
8241         [c0dc07ce2f70]
8242
8243         * Makefile.in, audit.c, bsm_audit.c, bsm_audit.h, logging.h, sudo.c:
8244         Make audit_success and audit_failure generic functions in
8245         preparation for integrating linux audit support.
8246         [7df020a8fd6f]
8247
8248         * term.c:
8249         remove duplicate include
8250         [1dfcd01a7e46]
8251
8252 2009-02-20  Todd C. Miller  <Todd.Miller@courtesan.com>
8253
8254         * bsm_audit.c:
8255         Add missing include
8256         [fb56e08c37ee]
8257
8258         * sudo.c:
8259         May need to update the runas user after parsing command-based
8260         defaults.
8261         [246f130d7802]
8262
8263 2009-02-18  Todd C. Miller  <Todd.Miller@courtesan.com>
8264
8265         * glob.c:
8266         Add missing pair of braces introduced with character class support.
8267         [0e2afa2e03e9]
8268
8269 2009-02-15  Todd C. Miller  <Todd.Miller@courtesan.com>
8270
8271         * def_data.c, def_data.h, def_data.in, sudoers.pod, tgetpass.c:
8272         Rename pwstars to pwfeedback
8273         [a9f85a57ebac]
8274
8275 2009-02-11  Todd C. Miller  <Todd.Miller@courtesan.com>
8276
8277         * bsm_audit.c, bsm_audit.h:
8278         Add const to make MacOS happy.
8279         [4274432d6627]
8280
8281         * Makefile.in, auth/sudo_auth.c, bsm_audit.c, bsm_audit.h, configure,
8282         configure.in, sudo.c:
8283         Add bsm audit support from Christian S.J. Peron
8284         [bef61cd8693d]
8285
8286         * term.c:
8287         This is new code, no DARPA notice.
8288         [ec6ad09b9c23]
8289
8290 2009-02-10  Todd C. Miller  <Todd.Miller@courtesan.com>
8291
8292         * def_data.c, def_data.h, def_data.in, match.c, sudoers.pod:
8293         Rename simple_glob -> fast_glob
8294         [68d9ed803cc1]
8295
8296         * match.c:
8297         g/c unused var
8298         [693fa0464eb6]
8299
8300         * def_data.c, def_data.h, def_data.in, match.c, sudoers.pod:
8301         Add simple_glob option to use fnmatch() instead of glob(). This is
8302         useful when you need to specify patterns that reference network file
8303         systems.
8304         [77ba634f6949]
8305
8306         * tgetpass.c:
8307         add term_* proto
8308         [520f5149d073]
8309
8310         * sudoers.pod:
8311         mention glob()
8312         [ddaab8e03c52]
8313
8314 2009-02-09  Todd C. Miller  <Todd.Miller@courtesan.com>
8315
8316         * tgetpass.c:
8317         Delete any pwstars we wrote after the user hits return. That way
8318         there is no record on screen as to the user's password length.
8319         [fae25cda762b]
8320
8321 2009-02-08  Todd C. Miller  <Todd.Miller@courtesan.com>
8322
8323         * term.c:
8324         Move terminal setting bits from tgetpass.c to term.c
8325         [03d43325ee99]
8326
8327         * Makefile.in, def_data.c, def_data.h, def_data.in, sudoers.pod,
8328         tgetpass.c:
8329         Add pwstars sudoers option that causes sudo to print a star every
8330         time the user presses a key.
8331         [7aab417e184d]
8332
8333 2009-02-03  Todd C. Miller  <Todd.Miller@courtesan.com>
8334
8335         * Makefile.in:
8336         Fix up F<> brokenness for visudo.man.in and sudoers.ldap.man.in.
8337         [64f70e879816]
8338
8339 2009-01-27  Todd C. Miller  <Todd.Miller@courtesan.com>
8340
8341         * ldap.c:
8342         For ldap_search_ext_s() the sizelimit param should be 0, not -1, to
8343         indicate no limit. From Mark Janssen.
8344         [e2c5732d54f5]
8345
8346 2009-01-17  Todd C. Miller  <Todd.Miller@courtesan.com>
8347
8348         * toke.c, toke.l:
8349         Comments that begin with #- should not be parsed as uids.
8350         [a72a50f12f41]
8351
8352 2009-01-09  Todd C. Miller  <Todd.Miller@courtesan.com>
8353
8354         * sudo.c:
8355         Do not try to set the close on exec flag if we didn't actually open
8356         sudoers.
8357         [ece3ca256904]
8358
8359 2008-12-19  Todd C. Miller  <Todd.Miller@courtesan.com>
8360
8361         * ChangeLog:
8362         regen
8363         [e11f0e4c1bdd] [SUDO_1_7_0]
8364
8365 2008-12-14  Todd C. Miller  <Todd.Miller@courtesan.com>
8366
8367         * TODO:
8368         sync
8369         [5b8954462bb3]
8370
8371 2008-12-09  Todd C. Miller  <Todd.Miller@courtesan.com>
8372
8373         * auth/pam.c:
8374         Return PAM_AUTH_ERR instead of PAM_CONV_ERR if user enters ^C at the
8375         password prompt.
8376         [8563601cb3de]
8377
8378         * configure, configure.in:
8379         Don't try to build sudo_noexec.so on HP-UX with the bundled compiler
8380         as it cannot generate shared objects.
8381         [6d4262ef9669]
8382
8383         * emul/charclass.h, glob.c, lbuf.c, tgetpass.c:
8384         K&R compilation fixes
8385         [77921678d17c]
8386
8387         * parse.c:
8388         Use tq_foreach_fwd when checking pseudo-commands to make it clear
8389         that we are not short-circuiting on last match. When pwcheck is
8390         'all', initialize nopass to TRUE and override it with the first non-
8391         TRUE entry.
8392         [96b209f4778f]
8393
8394 2008-12-08  Todd C. Miller  <Todd.Miller@courtesan.com>
8395
8396         * parse.c:
8397         Do not short circuit pseudo commands when we get a match since,
8398         depending on the settings, we may need to examine all commands for
8399         tags.
8400         [fdbaf89d6f35]
8401
8402 2008-12-03  Todd C. Miller  <Todd.Miller@courtesan.com>
8403
8404         * sudoers.cat, sudoers.man.in:
8405         regen
8406         [1ecce7c1b841]
8407
8408         * sudoers.pod:
8409         hostnames may also contain wildcards
8410         [82b76695601c]
8411
8412         * Makefile.in:
8413         remove stamp-* files and linux core files in clean target
8414         [22003f091467]
8415
8416 2008-12-02  Todd C. Miller  <Todd.Miller@courtesan.com>
8417
8418         * auth/sudo_auth.h, config.h.in, configure, configure.in:
8419         Use HAVE_SIA_SES_INIT instead of HAVE_SIA for Digital UNIX
8420         [6905bede8410]
8421
8422 2008-11-26  Todd C. Miller  <Todd.Miller@courtesan.com>
8423
8424         * configure, configure.in:
8425         correctly enable SIA on Digital UNIX
8426         [a51881d13995]
8427
8428         * TODO:
8429         checkpoint
8430         [af0fe8d94d42]
8431
8432         * ChangeLog:
8433         sync
8434         [831f623cf99c]
8435
8436 2008-11-25  Todd C. Miller  <Todd.Miller@courtesan.com>
8437
8438         * check.c, sudo.h, tgetpass.c:
8439         Even if neither stdin nor stdout are ttys we may still have /dev/tty
8440         available to us.
8441         [20f306ba883b]
8442
8443 2008-11-24  Todd C. Miller  <Todd.Miller@courtesan.com>
8444
8445         * sudoers.cat, sudoers.man.in:
8446         regen
8447         [76d97c4c318f]
8448
8449         * sudoers.pod:
8450         fix typos; Markus Lude
8451         [bff8bc1e2066]
8452
8453         * ChangeLog:
8454         sync
8455         [f108552531cd]
8456
8457         * toke.c:
8458         regen
8459         [de828413c67e]
8460
8461         * toke.l:
8462         Fix matching of a line that only consists of a comment char
8463         [09c953d8d5ca]
8464
8465 2008-11-22  Todd C. Miller  <Todd.Miller@courtesan.com>
8466
8467         * auth/pam.c:
8468         MacOS pam will retry conversation function if it fails so just treat
8469         ^C as an empty password.
8470         [d056058930bc]
8471
8472         * visudo.c:
8473         When checking for alias use, also check defaults bindings.
8474         [2647f82c7dbd]
8475
8476         * redblack.c:
8477         unused var
8478         [b7ff71c17c18]
8479
8480         * redblack.c:
8481         Replace my rbdelete with Emin's version (which actually works ;-)
8482         [21b133dd0c72]
8483
8484 2008-11-19  Todd C. Miller  <Todd.Miller@courtesan.com>
8485
8486         * testsudoers.c:
8487         malloc debugging
8488         [0fb446fa3279]
8489
8490         * visudo.c:
8491         malloc options in devel mode for visudo too
8492         [98d06c6afeef]
8493
8494 2008-11-18  Todd C. Miller  <Todd.Miller@courtesan.com>
8495
8496         * sudo.c:
8497         fix compilation on non-C99; from Theo
8498         [7c304e16c536]
8499
8500         * visudo.c:
8501         fix check_aliases
8502         [83f30a3b1765]
8503
8504         * alias.c:
8505         when destroying an alias, free the correct data pointer
8506         [6e1a8bd86c01]
8507
8508         * auth/sudo_auth.h:
8509         add proto for aixauth_cleanup; from Dale King
8510         [eba94ffc8f63]
8511
8512 2008-11-15  Todd C. Miller  <Todd.Miller@courtesan.com>
8513
8514         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in, visudo.cat,
8515         visudo.man.in:
8516         regen
8517         [409fa57fff83]
8518
8519         * sudo.pod, sudoers.pod, visudo.pod:
8520         standardize on the term 'option' for command line options (not flag)
8521         [228caefc2e36]
8522
8523 2008-11-14  Todd C. Miller  <Todd.Miller@courtesan.com>
8524
8525         * INSTALL:
8526         Add note on configuring HP-UX pam
8527         [f7674a581baf]
8528
8529 2008-11-11  Todd C. Miller  <Todd.Miller@courtesan.com>
8530
8531         * check.c, sudo.c:
8532         Move tty checks into check_user() so we only do them if we actually
8533         need a password.
8534         [7d997d7106d6]
8535
8536         * sudo.c:
8537         Don't error out if no tty or askpass unless we actually need to
8538         authenticate.
8539         [9f23b83ed66c]
8540
8541 2008-11-10  Todd C. Miller  <Todd.Miller@courtesan.com>
8542
8543         * ChangeLog:
8544         regen
8545         [23f9aef32da6]
8546
8547         * pathnames.h.in, sudo.c:
8548         s/overriden/overridden/; from Tobias Stoeckmann
8549         [9f7459a8fac5]
8550
8551 2008-11-09  Todd C. Miller  <Todd.Miller@courtesan.com>
8552
8553         * WHATSNEW, visudo.c:
8554         check sudoers owner and mode in strict mode
8555         [a3468c5ac1c4]
8556
8557         * gram.c, toke.c:
8558         regen
8559         [7d6b515a5443]
8560
8561         * sudo.man.in, sudoers.man.in, visudo.man.in:
8562         Update copyright years.
8563         [52d340cb8cba]
8564
8565         * LICENSE, alias.c, alloc.c, auth/afs.c, auth/aix_auth.c,
8566         auth/bsdauth.c, auth/fwtk.c, auth/kerb4.c, auth/kerb5.c, auth/pam.c,
8567         auth/securid.c, auth/securid5.c, auth/sia.c, auth/sudo_auth.h,
8568         closefrom.c, compat.h, defaults.c, defaults.h, env.c, fileops.c,
8569         gettime.c, gram.y, ins_csops.h, insults.h, interfaces.c,
8570         interfaces.h, lbuf.c, license.pod, list.c, logging.c, logging.h,
8571         parse.c, parse.h, pwutil.c, redblack.c, redblack.h, snprintf.c,
8572         sudo.c, sudo.pod, sudo_edit.c, sudo_nss.h, sudoers.pod,
8573         testsudoers.c, toke.l, tsgetgrpw.c, utimes.c, version.h, visudo.c,
8574         visudo.pod, zero_bytes.c:
8575         Update copyright years.
8576         [b4e6bf2beafa]
8577
8578         * emul/charclass.h, fnmatch.c, glob.c:
8579         add my copyright
8580         [28681385014a]
8581
8582 2008-11-08  Todd C. Miller  <Todd.Miller@courtesan.com>
8583
8584         * toke.c, toke.l:
8585         The loop in fill_cmnd() was going one byte too far past the end,
8586         resulting in a NUL being written immediately after the buffer end.
8587         [a5a49d603cd7]
8588
8589         * UPGRADE, WHATSNEW:
8590         add sections on tgetpass changes
8591         [2e6929b6a102]
8592
8593         * tgetpass.c:
8594         Treat EOF w/o newline as an error.
8595         [aa02b1db9240]
8596
8597 2008-11-07  Todd C. Miller  <Todd.Miller@courtesan.com>
8598
8599         * parse.c:
8600         Fix "sudo -v" when NOPASSWD is set.
8601         [f4914711ea80]
8602
8603         * auth/bsdauth.c, auth/fwtk.c, auth/pam.c, auth/sudo_auth.c,
8604         auth/sudo_auth.h:
8605         No longer treat an empty password at the prompt as special. To quit
8606         out of sudo you now need to hit ^C at the password prompt.
8607         [980f760ad419]
8608
8609         * sudoers.cat, sudoers.man.in:
8610         regen
8611         [6ca21a2cd869]
8612
8613         * def_data.c, def_data.h, def_data.in, sudo.c, sudoers.pod:
8614         Sudo will now refuse to run if no tty is present unless the new
8615         visiblepw sudoers flag is set.
8616         [0cc56943252e]
8617
8618 2008-11-06  Todd C. Miller  <Todd.Miller@courtesan.com>
8619
8620         * aix.c:
8621         just use RLIM_INFINITY for RLIM_SAVED_MAX if RLIM_SAVED_MAX not
8622         defined
8623         [24fc6f712d5c]
8624
8625         * aix.c:
8626         fix fallback value for RLIM_SAVED_MAX
8627         [e09e04e1af89]
8628
8629         * auth/aix_auth.c, auth/sudo_auth.h:
8630         Move clearing of AUTHSTATE into aixauth_cleanup.
8631         [e14ae7bd259c]
8632
8633         * auth/aix_auth.c, env.c:
8634         Unset AUTHSTATE after calling authenticate() as it may not be
8635         correct for the user we are running the command as.
8636         [d14f68f1b0ab]
8637
8638         * isblank.c:
8639         Add isblank() function for systems without it. Needed for POSIX
8640         character class matching in fnmatch.c and glob.c.
8641         [16cba30b283f]
8642
8643 2008-11-05  Todd C. Miller  <Todd.Miller@courtesan.com>
8644
8645         * TROUBLESHOOTING:
8646         expound on sudo and cd
8647         [8e0fa9033637]
8648
8649 2008-11-04  Todd C. Miller  <Todd.Miller@courtesan.com>
8650
8651         * ChangeLog:
8652         regen
8653         [40cf320a10fc]
8654
8655         * sudoers.cat, sudoers.man.in:
8656         regen
8657         [7cac761ae2c6]
8658
8659         * sudoers.pod:
8660         mention defauts parse order
8661         [4e2ce86d1394]
8662
8663 2008-11-03  Todd C. Miller  <Todd.Miller@courtesan.com>
8664
8665         * Makefile.in, aclocal.m4, compat.h, configure:
8666         Add isblank() function for systems without it. Needed for POSIX
8667         character class matching in fnmatch.c and glob.c.
8668         [a1ab55da8424]
8669
8670         * Makefile.in:
8671         add emul/charclass.h to HDRS
8672         [7e8a019dcaa4]
8673
8674 2008-11-02  Todd C. Miller  <Todd.Miller@courtesan.com>
8675
8676         * TODO:
8677         checkpoint
8678         [afeb9bc1baed]
8679
8680         * defaults.c, parse.c, testsudoers.c, visudo.c:
8681         Move update_defaults into defaults.c and call it properly from
8682         visudo and testsudoers.
8683         [f4dbb369461f]
8684
8685         * defaults.c, interfaces.c, pwutil.c, sudo.c, sudo_edit.c, tgetpass.c,
8686         tsgetgrpw.c:
8687         use zero_bytes() instead of memset() for consistency
8688         [4cee0465f4a8]
8689
8690         * logging.c, mon_systrace.c, parse.c, sudo.c, sudo_edit.c, tgetpass.c,
8691         visudo.c:
8692         Zero out sigaction_t before use in case it has non-standard entries.
8693         [120092225459]
8694
8695         * match.c:
8696         quiet gcc
8697         [098a1df49b23]
8698
8699         * match.c:
8700         Short circuit glob() checks if basename(pattern) !=
8701         basename(command). Refactor code that checks for a command in a
8702         directory and use it in the glob case if the resolved pattern ends
8703         in a '/'.
8704         [3c46fd317acb]
8705
8706 2008-11-01  Todd C. Miller  <Todd.Miller@courtesan.com>
8707
8708         * defaults.h, parse.c, sudo.c, testsudoers.c, visudo.c:
8709         Defer setting runas defaults until after runaspw/gr is setup.
8710         [12e75ee49c0c]
8711
8712 2008-10-29  Todd C. Miller  <Todd.Miller@courtesan.com>
8713
8714         * match.c, sudo.c, testsudoers.c:
8715         Use MAXHOSTNAMELEN+1 when allocating host/domain name since some
8716         systems do not include space for the NUL in the size. Also manually
8717         NUL-terminate buffer from gethostname() since POSIX is wishy-washy
8718         on this.
8719         [7266ab3296a3]
8720
8721 2008-10-26  Todd C. Miller  <Todd.Miller@courtesan.com>
8722
8723         * sudo.c, sudoers.pod:
8724         When setting the umask, use the union of the user's umask and the
8725         default value set in sudoers so that we never lower the user's umask
8726         when running a command.
8727         [4e804b004e38]
8728
8729         * sudo.c:
8730         Don't try to read from a zero-length sudoers file. Remove the bogus
8731         Solaris work-around for EAGAIN. Since we now use fgetc() it should
8732         not be a problem.
8733         [bb8e5f68d944]
8734
8735 2008-10-25  Todd C. Miller  <Todd.Miller@courtesan.com>
8736
8737         * parse.c:
8738         In update_defaults() check the return value of user*_matches against
8739         ALLOW so we don't inadvertantly match on UNSPEC.
8740         [4e422fa1527e]
8741
8742 2008-10-24  Todd C. Miller  <Todd.Miller@courtesan.com>
8743
8744         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.ldap.cat,
8745         sudoers.ldap.man.in, sudoers.man.in, visudo.cat, visudo.man.in:
8746         regen man pages; no more hyphenation
8747         [15de4fe2fe01]
8748
8749         * sudo.c:
8750         Don't error out on a zero-length sudoers file. With the advent of
8751         #include the user could create a situation where sudo is unusable.
8752         [6eb461319fa5]
8753
8754 2008-10-23  Todd C. Miller  <Todd.Miller@courtesan.com>
8755
8756         * auth/kerb5.c, config.h.in, configure, configure.in:
8757         Newer heimdal has 2-argument krb5_get_init_creds_opt_free() like MIT
8758         krb5. Really old heimdal has no krb5_get_init_creds_opt_alloc() at
8759         all. Add configure tests to handle all the cases.
8760         [4b554a98470d]
8761
8762 2008-10-08  Todd C. Miller  <Todd.Miller@courtesan.com>
8763
8764         * sudo.pod:
8765         resort ENVIRONMENT
8766         [f4f20f40653e]
8767
8768         * sudoers.pod:
8769         document sudoers_locale
8770         [0bffd2dbe806]
8771
8772         * sudo.pod, sudo_edit.c:
8773         add SUDO_EDITOR variable that sudoedit uses in preference to VISUAL
8774         or EDITOR
8775         [0ef8cb248cee]
8776
8777         * toke.c, toke.l:
8778         In fill_cmnd(), collapse any escaped sudo-specific characters.
8779         Allows character classes to be used in pathnames.
8780         [5685244c8e44]
8781
8782 2008-10-03  Todd C. Miller  <Todd.Miller@courtesan.com>
8783
8784         * lbuf.c:
8785         fix typo in non-C89 function declaration
8786         [99a7113b3a05]
8787
8788         * sudoers.pod:
8789         Mention POSIX characters classes now that out fnmatch() and glob()
8790         support them.
8791         [9c916f1230c3]
8792
8793         * sample.sudoers, sudoers.pod:
8794         Replace [A-z] (which won't match in UTF8) with [A-Za-z] which is
8795         locale agnostic.
8796         [a60a62bec244]
8797
8798         * parse.h:
8799         use __signed char if we are going to assign a negative value since
8800         on Power, char is unsigned by default
8801         [2877b319df17]
8802
8803         * config.h.in, configure, configure.in:
8804         Add tests for __signed char and signed char.
8805         [5eb874fdf1d4]
8806
8807         * aix.c:
8808         Fix AIX limit setting. getuserattr() returns values in disk blocks
8809         rather than bytes. The default hard stack size in newer AIX is
8810         RLIM_SAVED_MAX. From Dale King.
8811         [3db67415ecc3]
8812
8813 2008-09-26  Todd C. Miller  <Todd.Miller@courtesan.com>
8814
8815         * emul/charclass.h, fnmatch.c, glob.c:
8816         Add character class support to included glob(3) and fnmatch(3).
8817         [6b5b4ad77899]
8818
8819 2008-09-16  Todd C. Miller  <Todd.Miller@courtesan.com>
8820
8821         * emul/fnmatch.h:
8822         Remove UCB advertising clause and some compatibility defines.
8823         [2ade7bee74e1]
8824
8825 2008-09-14  Todd C. Miller  <Todd.Miller@courtesan.com>
8826
8827         * sudo_edit.c:
8828         Check EDITOR/VISUAL to make sure sudoedit is not re-invoking itself
8829         or sudo. This allows one to set EDITOR to sudoedit without getting
8830         into an infinite loop of sudoedit running itself until the path gets
8831         too big.
8832         [aa49ab68f82d]
8833
8834         * def_data.c, def_data.h, def_data.in, defaults.c, sudo.c:
8835         Add sudoers_locale Defaults option to override the default sudoers
8836         locale of "C".
8837         [0639886a35bf]
8838
8839 2008-09-13  Todd C. Miller  <Todd.Miller@courtesan.com>
8840
8841         * sudo.c:
8842         Set locale to system default except for during sudoers parse.
8843         [016dd2736728]
8844
8845 2008-09-12  Todd C. Miller  <Todd.Miller@courtesan.com>
8846
8847         * match.c:
8848         Redo change in 1.34 to use pointer arithmetic.
8849         [f9e7b63bb450]
8850
8851 2008-09-11  Todd C. Miller  <Todd.Miller@courtesan.com>
8852
8853         * match.c:
8854         Fix a dereference (read) of a freed pointer. Reported by Patrick
8855         Williams.
8856         [69877b633753]
8857
8858 2008-08-23  Todd C. Miller  <Todd.Miller@courtesan.com>
8859
8860         * sudo.c:
8861         Set locale to "C" to avoid interpretation issues with character
8862         ranges in sudoers. May want to make the locale a sudoers option in
8863         the future.
8864         [098a95de1746]
8865
8866 2008-08-20  Todd C. Miller  <Todd.Miller@courtesan.com>
8867
8868         * config.h.in:
8869         we no longer use setproctitle
8870         [c7f20fb747ea]
8871
8872         * sudo.h:
8873         remove #if 1
8874         [a368ee6816c6]
8875
8876         * LICENSE, mkstemp.c:
8877         Use my replacement mkstemp() from the mktemp package.
8878         [d07c2beb0f9e]
8879
8880 2008-07-12  Todd C. Miller  <Todd.Miller@courtesan.com>
8881
8882         * gram.c:
8883         regen with yacc skeleton bug fixed
8884         [24784571cbb8]
8885
8886         * sudoers.pod:
8887         Remove duplicate "as root". From Martin Toft.
8888         [97241acfee5e]
8889
8890 2008-07-02  Todd C. Miller  <Todd.Miller@courtesan.com>
8891
8892         * pwutil.c, sudo.c, sudo.h, testsudoers.c:
8893         Flesh out the fake passwd entry used for running commands as a uid
8894         not listed in the passwd database. Fixes an issue with some PAM
8895         modules.
8896         [a6648227f3f2]
8897
8898 2008-07-01  Todd C. Miller  <Todd.Miller@courtesan.com>
8899
8900         * sudo.c:
8901         Error out in -i mode if the user has no shell. This can happen when
8902         running commands as a uid with no password entry.
8903         [0c174bef36ff]
8904
8905 2008-06-26  Todd C. Miller  <Todd.Miller@courtesan.com>
8906
8907         * toke.c, toke.l:
8908         Better fix for line continuation inside double quotes. Now accepts
8909         whitespace between the backslash and the newline like the main
8910         lexer.
8911         [64efcdf86d31]
8912
8913 2008-06-25  Todd C. Miller  <Todd.Miller@courtesan.com>
8914
8915         * toke.c, toke.l:
8916         Fix line continuation in strings. It was only being honored if
8917         preceded by whitespace.
8918         [96c21271a3e4]
8919
8920 2008-06-22  Todd C. Miller  <Todd.Miller@courtesan.com>
8921
8922         * config.h.in, configure, configure.in, logging.c:
8923         Replace the double fork with a fork + daemonize.
8924         [328505441e67]
8925
8926 2008-06-21  Todd C. Miller  <Todd.Miller@courtesan.com>
8927
8928         * env.c, sudo.c:
8929         The -i flag should imply env_reset. This got broken in sudo 1.6.9.
8930         [3caedfeaec87]
8931
8932         * logging.c, sudo.c, sudo_edit.c, visudo.c:
8933         Change how the mailer is waited for. Instead of having a SIGCHLD
8934         handler, use the double fork trick to orphan the child that opens
8935         the pipe to sendmail. Fixes a problem running su on some Linux
8936         distros.
8937         [b59ce60a393d]
8938
8939 2008-06-20  Todd C. Miller  <Todd.Miller@courtesan.com>
8940
8941         * configure, configure.in:
8942         Fix configure test for dirfd() on Linux where DIR is opaque.
8943         [b8f729cdfecc]
8944
8945 2008-06-17  Todd C. Miller  <Todd.Miller@courtesan.com>
8946
8947         * tgetpass.c:
8948         Get rid of the QNX TCSAFLUSH -> TCSADRAIN hack. If QNX still has
8949         this problem we'll need to revisit this again.
8950         [c17fee8ad530]
8951
8952 2008-06-11  Todd C. Miller  <Todd.Miller@courtesan.com>
8953
8954         * logging.c:
8955         Ignore SIGPIPE instead of blocking it when piping to the mailer. If
8956         we only block the signal it may be delivered later when we unblock.
8957         Also, there is no need to block SIGCHLD since we no longer do the
8958         double fork. The normal SIGCHLD handler is sufficient.
8959         [e94a49e992e5]
8960
8961 2008-06-08  Todd C. Miller  <Todd.Miller@courtesan.com>
8962
8963         * configure, configure.in:
8964         Add description for NO_PAM_SESSION, from a redhat patch.
8965         [b9e4c939ec09]
8966
8967 2008-06-06  Todd C. Miller  <Todd.Miller@courtesan.com>
8968
8969         * sudo.cat, sudo.man.in, sudo.pod:
8970         Fix typos in -i usage
8971         [2d7ce5de0235]
8972
8973 2008-05-18  Todd C. Miller  <Todd.Miller@courtesan.com>
8974
8975         * configure, configure.in:
8976         Redo the test for dgettext() in a way that hopefully will work
8977         around the libintl_dgettext() undefined problem.
8978         [d27beb0cf85e]
8979
8980 2008-05-11  Todd C. Miller  <Todd.Miller@courtesan.com>
8981
8982         * schema.ActiveDirectory:
8983         change filename in comment
8984         [733da4ee9ac5]
8985
8986 2008-05-10  Todd C. Miller  <Todd.Miller@courtesan.com>
8987
8988         * Makefile.in, README.LDAP, sudoers.ldap.cat, sudoers.ldap.man.in,
8989         sudoers.ldap.pod:
8990         Reference schema.ActiveDirectory
8991         [d6aec537800e]
8992
8993 2008-05-09  Todd C. Miller  <Todd.Miller@courtesan.com>
8994
8995         * schema.OpenLDAP, schema.iPlanet:
8996         Mark sudoRunAs as deprecated.
8997         [00c50df807af]
8998
8999         * schema.ActiveDirectory:
9000         add sudoRunAsUser and sudoRunAsGroup
9001         [19bcce6f72fb]
9002
9003         * schema.ActiveDirectory:
9004         Active Directory schema by Chantal Paradis and Eric Paquet
9005         [06a09c92c6a5]
9006
9007 2008-05-08  Todd C. Miller  <Todd.Miller@courtesan.com>
9008
9009         * parse.c:
9010         remove an XXX that was fixed
9011         [b88038062fa2]
9012
9013         * ChangeLog:
9014         sync
9015         [8fc27c17270e]
9016
9017         * parse.c:
9018         Initialize tags to UNSPEC instead of def_* in "sudo -l" mode. This
9019         fixes a problem where the tag value printed was influenced by
9020         defaults set in the first pass through the parser.
9021         [588ccd630367]
9022
9023 2008-05-04  Todd C. Miller  <Todd.Miller@courtesan.com>
9024
9025         * Makefile.in, sudo.psf:
9026         No point in packaging the TODO file
9027         [9590248fffe1]
9028
9029         * ChangeLog:
9030         sync
9031         [152acf4c6813]
9032
9033 2008-05-03  Todd C. Miller  <Todd.Miller@courtesan.com>
9034
9035         * WHATSNEW, def_data.c, def_data.h, def_data.in, env.c, sudo.c,
9036         sudo.h, sudoers.cat, sudoers.man.in, sudoers.pod:
9037         Add env_file Defaults option that is similar to /etc/environment on
9038         some systems.
9039         [1daf53d51e18]
9040
9041 2008-05-02  Todd C. Miller  <Todd.Miller@courtesan.com>
9042
9043         * Makefile.in, README, TODO, WHATSNEW, sudo.cat, sudo.man.in,
9044         sudoers.cat, sudoers.ldap.cat, sudoers.ldap.man.in, sudoers.man.in,
9045         version.h, visudo.cat, visudo.man.in:
9046         change version to 1.7.0
9047         [d41d126b9bd8]
9048
9049         * UPGRADE:
9050         initial valgrind pass done
9051         [c59c3876d8ca]
9052
9053 2008-04-23  Todd C. Miller  <Todd.Miller@courtesan.com>
9054
9055         * ldap.c:
9056         Fix typo/think in sudo_ldap_read_secret() when storing the secret.
9057         [830d246c09b0]
9058
9059 2008-04-11  Todd C. Miller  <Todd.Miller@courtesan.com>
9060
9061         * ldap.c:
9062         define LDAPS_PORT if the system headers do not
9063         [247b12325701]
9064
9065 2008-04-10  Todd C. Miller  <Todd.Miller@courtesan.com>
9066
9067         * gram.c, gram.y:
9068         Fix another memory leak in init_parser().
9069         [7bba47deba11]
9070
9071         * configure, configure.in:
9072         There was a missing space before the ldap libs in SUDO_LIBS for some
9073         configurations.
9074         [7524cfc93759]
9075
9076         * alias.c, gram.c, gram.y, toke.c, toke.l:
9077         Clean up some memory leaks pointed out by valgrind.
9078         [a965866ece1a]
9079
9080 2008-04-07  Todd C. Miller  <Todd.Miller@courtesan.com>
9081
9082         * sudo.c:
9083         fix "sudo -s" broken by mode/flags breakout
9084         [acffe984d408]
9085
9086         * configure, configure.in:
9087         remove duplicate check for dgettext
9088         [58145529133c]
9089
9090 2008-04-05  Todd C. Miller  <Todd.Miller@courtesan.com>
9091
9092         * aix.c:
9093         Fall back to default stanza if no user-specific limit is found.
9094         [7b8cb29123ee]
9095
9096 2008-04-02  Todd C. Miller  <Todd.Miller@courtesan.com>
9097
9098         * snprintf.c:
9099         include stdint.h if present
9100         [f0ec38529306]
9101
9102         * snprintf.c:
9103         Use LLONG_MAX, not the old QUAD_MAX
9104         [01041ce508fb]
9105
9106 2008-04-01  Todd C. Miller  <Todd.Miller@courtesan.com>
9107
9108         * sudoers.ldap.pod:
9109         fix cut and pasto
9110         [34240fdef5ab]
9111
9112 2008-03-31  Todd C. Miller  <Todd.Miller@courtesan.com>
9113
9114         * pwutil.c:
9115         Add #ifdef PURITY
9116         [ce1b571ad526]
9117
9118 2008-03-30  Todd C. Miller  <Todd.Miller@courtesan.com>
9119
9120         * auth/bsdauth.c:
9121         remove useless cast
9122         [494f8a862e1d]
9123
9124 2008-03-27  Todd C. Miller  <Todd.Miller@courtesan.com>
9125
9126         * ChangeLog:
9127         sync
9128         [f5c97ffaabcc]
9129
9130         * TODO:
9131         sync
9132         [96ff1c44c182]
9133
9134         * sudo.h:
9135         Split MODE_* defines into primary and flags.
9136         [c02ee3027cb9]
9137
9138 2008-03-26  Todd C. Miller  <Todd.Miller@courtesan.com>
9139
9140         * aix.c:
9141         It turns out the logic for getting AIX limits is more convoluted
9142         than I realized and differs depending on whether the soft and/or
9143         hard limits are defined.
9144         [cf8d3f85d395]
9145
9146 2008-03-23  Todd C. Miller  <Todd.Miller@courtesan.com>
9147
9148         * Makefile.in, configure, configure.in:
9149         Back out AIX-specific change to set the sudo_noexec path to the .a
9150         file, we do really want to use the .so file. Since libtool doesn't
9151         do that correctly, just install the .so file ourselves in the
9152         Makefile.
9153         [05c6f33177d9]
9154
9155         * install-sh:
9156         If the file given to install is a path, only use the basename of the
9157         file when building the destination path.
9158         [695ba4e429ce]
9159
9160 2008-03-18  Todd C. Miller  <Todd.Miller@courtesan.com>
9161
9162         * sudo.c:
9163         parse_args() cleanup: Sort command line options in the getopt()
9164         switch The -U option requires a parameter Normalize a few ISSET
9165         calls Split mode into mode and flags and retire the now-obsolete
9166         excl variable
9167         [0d156835f861]
9168
9169         * WHATSNEW, check.c, sudo.c, sudo.cat, sudo.h, sudo.man.in, sudo.pod,
9170         sudo_usage.h.in:
9171         Add -n (non-interactive) flag.
9172         [e3e50400d32d]
9173
9174         * sudo.c:
9175         Move version printing, etc. into a separate function.
9176         [18c91b476e2c]
9177
9178         * sudo.c:
9179         Don't try to cleanup nsswitch if it has not been initialized.
9180         [aeb1ca1b399d]
9181
9182 2008-03-17  Todd C. Miller  <Todd.Miller@courtesan.com>
9183
9184         * logging.c:
9185         Block SIGPIPE in send_mail() so sudo is not killed by a problem
9186         executing the mailer.
9187         [f130e7924cca]
9188
9189 2008-03-14  Todd C. Miller  <Todd.Miller@courtesan.com>
9190
9191         * configure, configure.in:
9192         AIX shared libs end in .a, not .so.
9193         [a5deb07020d8]
9194
9195 2008-03-13  Todd C. Miller  <Todd.Miller@courtesan.com>
9196
9197         * env.c:
9198         Preserve HOME by default too. Matches documentation and previous
9199         behavior.
9200         [c16f17f1047c]
9201
9202 2008-03-12  Todd C. Miller  <Todd.Miller@courtesan.com>
9203
9204         * sudo.c:
9205         Use getopt() to parse the command line. We need to be able to
9206         intersperse env variables and options yet still honor "--"" which
9207         complicates things slightly.
9208         [60f271ce5c16]
9209
9210 2008-03-06  Todd C. Miller  <Todd.Miller@courtesan.com>
9211
9212         * ChangeLog:
9213         sync
9214         [685e67964eda]
9215
9216         * acsite.m4, configure, ltmain.sh:
9217         update to libtool-1.5.26
9218         [4c9a8c3d3b40]
9219
9220         * config.guess, config.sub:
9221         update from libtool-1.5.26 distribution
9222         [c6641aef2527]
9223
9224         * aix.c, sudo.h:
9225         attempt to fix compilation errors on AIX
9226         [edb13e5b2184]
9227
9228         * Makefile.in:
9229         fix typo in last commit
9230         [25ba7f7ceae4]
9231
9232         * Makefile.in:
9233         Add WHATSNEW file to the distribution
9234         [213f4115de8f]
9235
9236         * visudo.c:
9237         use warningx instead of fprintf(stderr, ...)
9238         [a3494b8ccb19]
9239
9240         * list.c:
9241         add DEBUG to list2tq
9242         [115d24a3000c]
9243
9244         * ChangeLog, TODO:
9245         sync
9246         [60e6f4d1fac0]
9247
9248         * WHATSNEW:
9249         mention mailfrom
9250         [e2498f9e18d6]
9251
9252         * Makefile.in, aix.c, config.h.in, configure, configure.in,
9253         set_perms.c, sudo.h:
9254         Add aix_setlimits() to set resource limits on AIX using a
9255         combination of getuserattr() and setrlimit(). Currently untested.
9256         [9b1441fd89ca]
9257
9258 2008-03-05  Todd C. Miller  <Todd.Miller@courtesan.com>
9259
9260         * def_data.c, def_data.h, def_data.in, logging.c, sudoers.cat,
9261         sudoers.man.in, sudoers.pod:
9262         Add mailfrom Defaults option that sets the value of the From: field
9263         in the warning/error mail. If unset the login name of the invoking
9264         user is used.
9265         [029b9f05d3d9]
9266
9267         * defaults.c:
9268         store a copy of _PATH_SUDO_ASKPASS in def_askpass that is freeable
9269         [a90e407d5e00]
9270
9271         * gram.c, gram.y:
9272         When adding a default, only call list2tq() once to do the list to tq
9273         conversion. It is not legal to call list2tq multiple times on the
9274         same list since list2tq consumes and modifies the list argument.
9275         [fbc25d245c4a]
9276
9277         * sudoers.ldap.cat, sudoers.ldap.man.in, sudoers.ldap.pod:
9278         comment out XXXs for now
9279         [595a1d43309d]
9280
9281         * WHATSNEW:
9282         mention askpass
9283         [b993e0837c22]
9284
9285 2008-03-04  Todd C. Miller  <Todd.Miller@courtesan.com>
9286
9287         * sudo.c:
9288         Error out if both -A and -S are specified Error out if -A is
9289         specified but no askpass is configured
9290         [24f1df2638f6]
9291
9292         * configure, configure.in:
9293         we are not going to ship a sudo-specific askpass
9294         [61949e7a3943]
9295
9296 2008-03-03  Todd C. Miller  <Todd.Miller@courtesan.com>
9297
9298         * sudo.h:
9299         fix definition of TGP_ASKPASS
9300         [0447c57ba4c3]
9301
9302         * def_data.c, def_data.in:
9303         make askpass boolean-capable
9304         [e0885893a325]
9305
9306         * INSTALL:
9307         document --with-askpass
9308         [c76e15ba97cf]
9309
9310         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.ldap.cat,
9311         sudoers.man.in, visudo.cat:
9312         regen
9313         [8d16242980b7]
9314
9315 2008-03-02  Todd C. Miller  <Todd.Miller@courtesan.com>
9316
9317         * sudo.pod, sudo_usage.h.in, sudoers.pod:
9318         document -A and askpass
9319         [02c07505a78c]
9320
9321         * auth/sudo_auth.c, check.c, configure, configure.in, def_data.c,
9322         def_data.h, def_data.in, defaults.c, pathnames.h.in, sudo.c, sudo.h,
9323         sudo_usage.h.in, tgetpass.c:
9324         Add support for running a helper program to read the password when
9325         no tty is present (or when specified with the -A flag). TODO: docs.
9326         [05780f5f71fd]
9327
9328         * def_data.c, def_data.in:
9329         add missing printf format to SELinux role and type strings
9330         [2b32774715e7]
9331
9332 2008-02-27  Todd C. Miller  <Todd.Miller@courtesan.com>
9333
9334         * INSTALL, configure, configure.in:
9335         Disable use of gss_krb5_ccache_name() by default and add
9336         --enable-gss-krb5-ccache-name configure option to enable it. It
9337         seems that gss_krb5_ccache_name() doesn't work properly with some
9338         combinations of Heimdal and OpenLDAP.
9339         [f61ebd3b19bd]
9340
9341 2008-02-22  Todd C. Miller  <Todd.Miller@courtesan.com>
9342
9343         * selinux.c:
9344         Ignore setexeccon() failing in permissive mode. Also add a call to
9345         setkeycreatecon() (though this is probably insufficient). From Dan
9346         Walsh.
9347         [52564fc1c069]
9348
9349         * auth/pam.c:
9350         Only set std_prompt for the PAM_PROMPT_* cases. The conversation
9351         function may be called for non-password reading purposes so we must
9352         be careful not to use def_prompt in cases where it may not be set.
9353         [29d88ca575ba]
9354
9355 2008-02-20  Todd C. Miller  <Todd.Miller@courtesan.com>
9356
9357         * selinux.c:
9358         Don't free the new tty context, we need to keep it around when we
9359         restore the tty context after the command completes
9360         [5b4bd39b6ea8]
9361
9362 2008-02-19  Todd C. Miller  <Todd.Miller@courtesan.com>
9363
9364         * selinux.c:
9365         s/newrole/sudo/
9366         [21b8a96ff8df]
9367
9368         * sudo.man.pl, sudo.pod:
9369         Only put login_cap(3) in SEE ALSO section if we have login.conf
9370         support
9371         [05250ddff2c0]
9372
9373 2008-02-18  Todd C. Miller  <Todd.Miller@courtesan.com>
9374
9375         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.ldap.cat,
9376         sudoers.ldap.man.in, sudoers.man.in, visudo.cat, visudo.man.in:
9377         regen
9378         [301e5c5ccdbe]
9379
9380         * sudoers.pod:
9381         Substitute in comment characters for lines partaining to login.conf,
9382         BSD auth and SELinux and only enable them if pertinent.
9383         [c1c98fa163ce]
9384
9385         * sudoers.man.pl:
9386         Substitute in comment characters for lines partaining to login.conf,
9387         BSD auth and SELinux and only enable them if pertinent.
9388         [6c88f30b878a]
9389
9390         * sudo.pod:
9391         Substitute in comment characters for lines partaining to login.conf,
9392         BSD auth and SELinux and only enable them if pertinent.
9393         [acdbdfd24e1d]
9394
9395         * sudo.man.pl:
9396         Substitute in comment characters for lines partaining to login.conf,
9397         BSD auth and SELinux and only enable them if pertinent.
9398         [0c56d4750ac3]
9399
9400         * Makefile.in, configure, configure.in:
9401         Substitute in comment characters for lines partaining to login.conf,
9402         BSD auth and SELinux and only enable them if pertinent.
9403         [9a02bd6a6658]
9404
9405         * Makefile.in, sudo.pod, sudoers.ldap.pod, sudoers.pod, visudo.pod:
9406         Remove the =cut on the first line (above the copyright notice) to
9407         quiet pod2man. Also remove the hackery in the FILES section and
9408         just deal with the fact that there will a newline between each
9409         pathname.
9410         [2ac1ab191835]
9411
9412 2008-02-17  Todd C. Miller  <Todd.Miller@courtesan.com>
9413
9414         * Makefile.in:
9415         run sudo.man.pl when generating sudo.man.in
9416         [859727369168]
9417
9418         * configure, configure.in, sudo.man.pl:
9419         comment out SELinux manual bits unless --with-selinux was specified
9420         [97ff4212b649]
9421
9422         * sudoers.pod:
9423         document role and type defaults for SELinux
9424         [870f303366b3]
9425
9426         * sudo.c, sudo.cat, sudo.man.in, sudo.pod, sudo_usage.h.in:
9427         Document "sudo -ll" and make "sudo -l -l" be equivalent.
9428         [3ce6dc429ea3]
9429
9430 2008-02-15  Todd C. Miller  <Todd.Miller@courtesan.com>
9431
9432         * configure, configure.in:
9433         Treat k*bsd*-gnu like Linux, not BSD. Fixes compilation problems on
9434         Debian GNU/kFreeBSD.
9435         [c4efa567a328]
9436
9437 2008-02-13  Todd C. Miller  <Todd.Miller@courtesan.com>
9438
9439         * auth/kerb5.c:
9440         Avoid Heimdal'isms introduced in the rev 1.32 rewrite of
9441         verify_krb_v5_tgt()
9442         [f80538e5a6fa]
9443
9444         * logging.c, logging.h, sudo.c:
9445         Remove dependence on VALIDATE_NOT_OK in logging functions. Split
9446         log_auth() into log_allowed() and log_denial() Replace mail_auth()
9447         with should_mail() and a call to send_mail()
9448         [58aac9997557]
9449
9450 2008-02-10  Todd C. Miller  <Todd.Miller@courtesan.com>
9451
9452         * ldap.c:
9453         Add debugging so we can tell if the krb5 ccache is accessible
9454         [c679322527bb]
9455
9456         * INSTALL:
9457         mention --with-selinux
9458         [9efbe0b52194]
9459
9460 2008-02-09  Todd C. Miller  <Todd.Miller@courtesan.com>
9461
9462         * configure:
9463         regen
9464         [467a834f867c]
9465
9466         * selinux.c:
9467         add Sudo tag
9468         [d004ee669bed]
9469
9470         * sudo.c, sudo.cat, sudo.h, sudo.man.in, sudo.pod, sudo_usage.h.in,
9471         sudoers.ldap.cat, sudoers.ldap.man.in, sudoers.ldap.pod,
9472         testsudoers.c, toke.c, toke.l:
9473         Add support for SELinux RBAC. Sudoers entries may specify a role
9474         and type. There are also role and type defaults that may be used.
9475         To make sure a transition occurs, when using RBAC commands are
9476         executed via the new sesh binary. Based on initial changes from Dan
9477         Walsh.
9478         [1d4abfe2c004]
9479
9480         * sesh.c:
9481         Add support for SELinux RBAC. Sudoers entries may specify a role
9482         and type. There are also role and type defaults that may be used.
9483         To make sure a transition occurs, when using RBAC commands are
9484         executed via the new sesh binary. Based on initial changes from Dan
9485         Walsh.
9486         [1e3b395ce049]
9487
9488         * Makefile.in, config.h.in, configure.in, def_data.c, def_data.h,
9489         def_data.in, gram.c, gram.h, gram.y, ldap.c, parse.c, parse.h,
9490         pathnames.h.in, selinux.c:
9491         Add support for SELinux RBAC. Sudoers entries may specify a role
9492         and type. There are also role and type defaults that may be used.
9493         To make sure a transition occurs, when using RBAC commands are
9494         executed via the new sesh binary. Based on initial changes from Dan
9495         Walsh.
9496         [6b421948286e]
9497
9498 2008-02-08  Todd C. Miller  <Todd.Miller@courtesan.com>
9499
9500         * lbuf.c, ldap.c, parse.c, sudo.c, sudo.h, sudo_nss.c:
9501         Add long list (sudo -ll) support for printing verbose LDAP and
9502         sudoers file entries. Still need to update manual.
9503         [2875be37935c]
9504
9505 2008-02-03  Todd C. Miller  <Todd.Miller@courtesan.com>
9506
9507         * ldap.c, parse.c, sudo.h, sudo_nss.c, sudo_nss.h:
9508         Unify the -l output for file and ldap based sudoers and use lbufs
9509         for both. The ldap output does not currently include options that
9510         cannot be represented as tags. This will be remedied in a long list
9511         output mode to come.
9512         [b2e429456596]
9513
9514 2008-01-27  Todd C. Miller  <Todd.Miller@courtesan.com>
9515
9516         * set_perms.c:
9517         Use a specific error message for errno == EAGAIN when setuid() et al
9518         fails. On Linux systems setuid() will fail with errno set to EAGAIN
9519         if changing to the new uid would result in a resource limit
9520         violation.
9521         [08d0aecd9f03]
9522
9523         * sudo.c:
9524         Unlimit nproc on Linux systems where calling the setuid() family of
9525         syscalls causes the nroc resource limit to be checked. The limits
9526         will be reset by pam_limits.so when PAM is used. In the non-PAM
9527         case the nproc limit will remain unlimited but there doesn't seem to
9528         be a way around that other than having sudo parse
9529         /etc/security/limits.conf directly.
9530         [df024b415a8d]
9531
9532         * env.c, sudo.c, sudo.pod:
9533         Only read /etc/environment on Linux and AIX
9534         [90669e2aefdb]
9535
9536 2008-01-23  Todd C. Miller  <Todd.Miller@courtesan.com>
9537
9538         * configure, configure.in:
9539         Use SUDO_DEFINE_UNQUOTED instead of AC_DEFINE_UNQUOTED to prevent
9540         ldap.conf and ldap.secret paths from going into config.h. Avoid
9541         single quotes in variable expansion when using SUDO_DEFINE_UNQUOTED
9542         since in some versions of bash they will end up literally in the
9543         resulting define.
9544         [25390f3ef10a]
9545
9546 2008-01-21  Todd C. Miller  <Todd.Miller@courtesan.com>
9547
9548         * README.LDAP:
9549         mention --with-nsswitch=no
9550         [c509df927263]
9551
9552         * configure, configure.in:
9553         ldap_ssl.h depends on ldap.h being included first
9554         [d96d90e9b21f]
9555
9556         * config.h.in, configure, configure.in, ldap.c:
9557         Include ldap_ssl.h if we can find it. Needed for the
9558         ldapssl_set_strength defines on HP-UX at least.
9559         [9e530470948a]
9560
9561         * sudoers.ldap.pod:
9562         sync
9563         [b9d101f4673a]
9564
9565         * TODO:
9566         sync
9567         [2ce951b2ecd0]
9568
9569         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.ldap.cat,
9570         sudoers.ldap.man.in, sudoers.man.in, visudo.cat, visudo.man.in:
9571         regen
9572         [b61d793987e0]
9573
9574         * Makefile.in:
9575         Use 78n line length when formatting cat pages.
9576         [761bee9d5759]
9577
9578         * README.LDAP:
9579         Remove redundant info that is now in sudoers.ldap.pod
9580         [01828dcce59e]
9581
9582 2008-01-20  Todd C. Miller  <Todd.Miller@courtesan.com>
9583
9584         * sudoers.ldap.cat, sudoers.ldap.man.in, sudoers.ldap.pod:
9585         Reorganize the first section a bit. Substitute the proper path for
9586         /etc/sudoers.
9587         [11ae165e065d]
9588
9589         * sudoers.ldap.cat, sudoers.ldap.man.in, sudoers.ldap.pod:
9590         Substitute values for ldap.conf, ldap.secret and nsswitch.conf Move
9591         schema into EXAMPLES
9592         [ab6509d1dde7]
9593
9594         * configure, configure.in:
9595         Substitute values for ldap.conf, ldap.secret and nsswitch.conf into
9596         sudoers.ldap.man.
9597         [6e689972f465]
9598
9599         * configure, configure.in:
9600         substitute for sudoers.ldap.man
9601         [5a4a25766dee]
9602
9603         * Makefile.in:
9604         Fix cut & pasto introduced when adding sudoers.ldap man page.
9605         [a7b069af8894]
9606
9607         * sudoers.ldap.cat, sudoers.ldap.man.in, sudoers.ldap.pod:
9608         Fill in some of the missing pieces. Still needs some reorganization
9609         and editing.
9610         [5e7331722166]
9611
9612 2008-01-19  Todd C. Miller  <Todd.Miller@courtesan.com>
9613
9614         * Makefile.in, sudoers.ldap.cat, sudoers.ldap.man.in,
9615         sudoers.ldap.pod:
9616         Beginnings of a sudoers.ldap man page. Currently, much of the
9617         information is adapted from README.LDAP.
9618         [aad28c8a922d]
9619
9620 2008-01-18  Todd C. Miller  <Todd.Miller@courtesan.com>
9621
9622         * pwutil.c:
9623         When copying gr_mem we must guarantee that the storage space for
9624         gr_mem is properly aligned. The simplest way to do this is to
9625         simply store gr_mem directly after struct group. This is not a
9626         problem for gr_passwd or gr_name as they are simple strings.
9627         [af58fc76f1ed]
9628
9629         * ldap.c:
9630         Fix a typo/thinko in one of the calls to
9631         sudo_ldap_check_user_netgroup(). From Marco van Wieringen.
9632         [70b2eb8097f5]
9633
9634 2008-01-17  Todd C. Miller  <Todd.Miller@courtesan.com>
9635
9636         * config.h.in, configure, configure.in, ldap.c:
9637         include <mps/ldap_ssl.h> in ldap.c if available
9638         [34346206ef16]
9639
9640 2008-01-16  Todd C. Miller  <Todd.Miller@courtesan.com>
9641
9642         * gram.c, gram.y:
9643         Make sure we define SIZE_MAX for yacc's skeleton.c
9644         [d8a45c7a3c42]
9645
9646         * tgetpass.c:
9647         Use TCSAFLUSH when restoring terminal settings (and echo) to
9648         guarantee that any pending output is discarded
9649         [549a184479e5]
9650
9651 2008-01-15  Todd C. Miller  <Todd.Miller@courtesan.com>
9652
9653         * sudoers:
9654         no longer need to specify SETENV when user has sudo ALL
9655         [3051b41f8032]
9656
9657         * testsudoers.c:
9658         sync user_args size calculation with sudo.c Add -g group option,
9659         renaming old -g to -G Add set_runasgr() and set_runaspw() and use
9660         them
9661         [0850325180f0]
9662
9663         * sudo.c, sudo.h:
9664         Make set_runaspw static void
9665         [5d44d7a340ce]
9666
9667         * testsudoers.c, visudo.c:
9668         g/c set_runaspw stub
9669         [79ebb5e2cc38]
9670
9671         * configure, configure.in:
9672         Don't add -llber twice.
9673         [4356d302eef4]
9674
9675 2008-01-14  Todd C. Miller  <Todd.Miller@courtesan.com>
9676
9677         * ldap.c:
9678         fix typo
9679         [249cecc557e9]
9680
9681 2008-01-13  Todd C. Miller  <Todd.Miller@courtesan.com>
9682
9683         * gram.c:
9684         regen
9685         [2f94ea375b67]
9686
9687         * configure, configure.in:
9688         Fix check that determines whether -llber is required.
9689         [6afa99523379]
9690
9691         * README.LDAP, config.h.in, configure, configure.in, ldap.c:
9692         For netscape-based LDAP, use ldapssl_set_strength() to implement the
9693         checkpeer ldap.conf option.
9694         [16ae24d73795]
9695
9696         * auth/kerb5.c:
9697         Delay krb5_cc_initialize() until we actually need to use the cred
9698         cache, which is what krb5_verify_user() does. Better cleanup on
9699         failure.
9700         [d12e5f1695b8]
9701
9702 2008-01-12  Todd C. Miller  <Todd.Miller@courtesan.com>
9703
9704         * auth/kerb5.c:
9705         Rewrite verify_krb_v5_tgt() based on what heimdal's
9706         krb5_verify_user() does.
9707         [05b5815f86c9]
9708
9709 2008-01-09  Todd C. Miller  <Todd.Miller@courtesan.com>
9710
9711         * gram.c:
9712         The U suffix on constants is an ANSI feature
9713         [c6dfce3167f1]
9714
9715         * configure, configure.in:
9716         Add check for ber_set_option() in -llber
9717         [43d0c0566074]
9718
9719 2008-01-07  Todd C. Miller  <Todd.Miller@courtesan.com>
9720
9721         * README.LDAP:
9722         default if no nsswitch.conf is files only
9723         [c13001d9c998]
9724
9725 2008-01-06  Todd C. Miller  <Todd.Miller@courtesan.com>
9726
9727         * README.LDAP:
9728         don't tell people to mail aaron about LDAP stuff
9729         [8165ec1ef0c6]
9730
9731         * README.LDAP:
9732         timelimit and bind_timelimit
9733         [44f74cbed167]
9734
9735         * ChangeLog:
9736         sync
9737         [aba1a0ab02bd]
9738
9739         * ldap.c:
9740         Move ldap.secret reading into a separate function.
9741         [1948acc9f7a4]
9742
9743         * check.c:
9744         user_runas -> runas_pw
9745         [334490fc2bae]
9746
9747 2008-01-05  Todd C. Miller  <Todd.Miller@courtesan.com>
9748
9749         * TODO:
9750         sync
9751         [c7b165cc47c6]
9752
9753         * check.c, sudo.pod, sudoers.pod:
9754         Add and document the %p escape in the password prompt. Based on a
9755         patch from Patrick Schoenfeld.
9756         [3972d4f31ffa]
9757
9758         * ldap.c:
9759         Check strlcpy() return values.
9760         [9b42f3ae8ff1]
9761
9762         * ldap.c:
9763         refactor ldap binding code into sudo_ldap_bind_s()
9764         [cb0c66a4d955]
9765
9766         * README.LDAP:
9767         Make it clear that host and uri can take multiple parameters. URI is
9768         now supported for more than just openldap nsswitch.conf does't
9769         accept "compat"
9770         [f610dea656d6]
9771
9772         * sudo.c:
9773         comment cleanup and update (c) year
9774         [6cd69c810ca5]
9775
9776         * parse.c, sudo_nss.c:
9777         Move display_privs() and display_cmnd() from parse.c to sudo_nss.c.
9778         This should make it possible to build an LDAP-only sudo binary.
9779         [61c3f27066a0]
9780
9781         * ldap.c, parse.c, sudo.c, sudo.h, sudo_nss.h:
9782         Improve chaining of multiple sudoers sources by passing in the
9783         previous return value to the next in the chain
9784         [2c0b722b1b2d]
9785
9786         * gram.y:
9787         Free up parser data structures in sudo_file_close().
9788         [2251531d4519]
9789
9790         * gram.c, parse.c:
9791         Free up parser data structures in sudo_file_close().
9792         [8371f130f401]
9793
9794         * ldap.c:
9795         Parse uri ourself if no ldap_initialize() is present Use
9796         ldap_create() instead of deprecated ldap_init() Use
9797         ldap_sasl_bind_s() instead of deprecated ldap_simple_bind_s()
9798         [85d3825b1953]
9799
9800         * config.h.in, configure, configure.in:
9801         Add check for ldap_sasl_bind_s() Remove -DLDAP_DEPRECATED from
9802         CFLAGS
9803         [240524512bc5]
9804
9805 2008-01-04  Todd C. Miller  <Todd.Miller@courtesan.com>
9806
9807         * config.h.in, configure, configure.in:
9808         add check for ldap_create
9809         [3089badd73b8]
9810
9811 2008-01-03  Todd C. Miller  <Todd.Miller@courtesan.com>
9812
9813         * config.h.in, configure, configure.in, ldap.c:
9814         Add sudo_ldap_get_first_rdn() to return the first rdn of an entry's
9815         dn using the mechanism appropriate for the LDAP SDK in use. Use
9816         ldap_unbind_ext_s() instead of deprecated ldap_unbind_s(). Emulate
9817         ldap_unbind_ext_s() and ldap_search_ext_s() for SDK's without them.
9818         [6deeca3d00cc]
9819
9820         * lbuf.c:
9821         include unistd.h
9822         [8419ed0bae7f]
9823
9824         * config.h.in, configure.in:
9825         fix typo in mtim_getnsec
9826         [2d5f21230a60]
9827
9828 2008-01-02  Todd C. Miller  <Todd.Miller@courtesan.com>
9829
9830         * config.h.in, configure, configure.in:
9831         add check for st__tim in struct stat as used by SCO
9832         [587060ea2a89]
9833
9834         * ldap.c:
9835         use ldap_search_ext_s instead of deprecated ldap_search_s
9836         [5fc44fe3b44c]
9837
9838         * Makefile.in, TODO, sudo.cat, sudo.man.in:
9839         add sudo_nss.h to HDRS
9840         [86f01a70ff29]
9841
9842         * ldap.c:
9843         Replace deprecated ldap_explode_dn() with calls to ldap_str2dn() and
9844         ldap_rdn2str().
9845         [aa217002cfae]
9846
9847 2008-01-01  Todd C. Miller  <Todd.Miller@courtesan.com>
9848
9849         * ldap.c:
9850         Use ldap_get_values_len()/ldap_value_free_len() instead of the
9851         deprecated ldap_get_values()/ldap_value_free().
9852         [e22dceb85e57]
9853
9854         * ChangeLog:
9855         sync
9856         [adad27b36107]
9857
9858         * TODO:
9859         sync
9860         [c449eb47e0ef]
9861
9862         * gettime.c, sudo.c:
9863         Remove some already fixed XXXs
9864         [532788d0e6da]
9865
9866         * ldap.c:
9867         Same return value as non-existent sudoers if LDAP was unable to
9868         connect.
9869         [5819810e8e4e]
9870
9871         * sudo.pod:
9872         mention /etc/environment
9873         [ea8e6102f853]
9874
9875         * README.LDAP, UPGRADE, WHATSNEW:
9876         Update to reflect recent developments.
9877         [ed1fb026fe77]
9878
9879         * sudo.c:
9880         Print nsswitch.conf, ldap.conf and ldap.secret paths in -V output.
9881         [55b68a58260d]
9882
9883         * ldap.c:
9884         When building up a query don't list groups in the aux group vector
9885         that are the same as the passwd file group. On most systems the
9886         first gid in the group vector is the same as the passwd entry gid.
9887         [4bb51e297e0d]
9888
9889         * env.c, ldap.c:
9890         Define LDAPNOINIT before calling ldap_init(), etc. to disable user
9891         ldaprc and system defaults that could affect how LDAP works.
9892         [ce5036440db2]
9893
9894         * INSTALL, configure, configure.in, pathnames.h.in, sudo.c,
9895         sudo_nss.c, sudo_nss.h:
9896         Rename read_nss -> sudo_read_nss Add --with-nsswitch to allow users
9897         to specify nsswitch.conf path or disable it. If --with-nsswitch=no
9898         but --with-ldap, order is LDAP, then sudoers. Fix --with-ldap-conf-
9899         file and --with-ldap-secret-file
9900         [ea5d7704381f]
9901
9902         * parse.c:
9903         Honor def_ignore_local_sudoers
9904         [f38e1121fae1]
9905
9906 2007-12-31  Todd C. Miller  <Todd.Miller@courtesan.com>
9907
9908         * ldap.c:
9909         no longer need to check def_ignore_local_sudoers here
9910         [fce2a72f96fb]
9911
9912         * parse.c:
9913         Refactor group vector resetting into a function and also call it
9914         from display_cmnd. Stop after the first sucessful match in
9915         display_cmnd. Print a newline between each display_privs method.
9916         [981b37b5adff]
9917
9918         * parse.c:
9919         fix double free introduced in rev 1.218
9920         [c574b02d8747]
9921
9922         * ldap.c:
9923         belt and suspenders; zero out result after freeing it
9924         [7732988d4620]
9925
9926         * env.c, fileops.c, ldap.c, sudo.h, sudo_nss.c:
9927         Refactor line reading into a separate function, sudo_parseln(),
9928         which removes comments, leading/trailing whitespace and newlines.
9929         May want to rethink the use of sudo_parseln() for /etc/ldap.secret
9930         [61d9068f0645]
9931
9932         * parse.c, sudo.c:
9933         Make the inability to read the sudoers file a non-fatal error if
9934         there are other sudoers sources available. sudoers_file_lookup now
9935         returns "not OK" if sudoers was not present
9936         [643babf597a8]
9937
9938         * ldap.c:
9939         make it clear that the global options are from LDAP
9940         [9ff950349463]
9941
9942         * logging.c:
9943         allocate proper amount of space for error string
9944         [8bebb7d46d19]
9945
9946         * sudo_nss.c, sudo_nss.h:
9947         actual sudo nss code
9948         [5bd7d52d7738]
9949
9950         * ldap.c, parse.c, sudo.c, sudo.h:
9951         nss-ify display_privs and display_cmnd.
9952         [cccfdd3253f2]
9953
9954         * defaults.c, parse.c, testsudoers.c, visudo.c:
9955         move update_defaults() to parse.c
9956         [ace144b958a9]
9957
9958         * Makefile.in, ldap.c, list.c, parse.c, parse.h, sudo.c, sudo.h:
9959         Use nsswitch to hide some sudoers vs. ldap implementation details
9960         and reduce the number of #ifdef LDAP TODO: fix display routines and
9961         error handling
9962         [6225edde89a6]
9963
9964 2007-12-28  Todd C. Miller  <Todd.Miller@courtesan.com>
9965
9966         * Makefile.in, README.LDAP, ldap.c, pathnames.h.in, sudo.c, sudo.h:
9967         First cut at nsswitch.conf support. Further reorganizaton and
9968         related changes are forthcoming.
9969         [717f59d0790b]
9970
9971 2007-12-21  Todd C. Miller  <Todd.Miller@courtesan.com>
9972
9973         * env.c, pathnames.h.in, sudo.c, sudo.h:
9974         Add support for reading and /etc/environment file. Still needs to
9975         be documented and should probably only applies to OSes that have it
9976         (AIX and Linux, maybe others).
9977         [15d3edae27e4]
9978
9979         * ldap.c:
9980         include limits.h
9981         [e19875ef0f82]
9982
9983 2007-12-20  Todd C. Miller  <Todd.Miller@courtesan.com>
9984
9985         * WHATSNEW:
9986         reword LDAP SASL
9987         [7ec3c4ec31b5]
9988
9989 2007-12-19  Todd C. Miller  <Todd.Miller@courtesan.com>
9990
9991         * TODO:
9992         sync
9993         [87c5a7aea7bf]
9994
9995         * README.LDAP:
9996         Add an example sudoRole, clarify netscape vs. openldap a bit more
9997         [6f96c0ca8107]
9998
9999         * README.LDAP:
10000         Be clear on what is OpenLDAP vs. Netscape-derived
10001         [a33c8314dec5]
10002
10003         * config.h.in, configure, configure.in, ldap.c:
10004         Use ldapssl_init() for ldaps support instead of trying to do it
10005         manually with ldap_init() + ldapssl_install_routines(). Use tls_cert
10006         and tls_key for cert7.db and key3.db respectively. Don't print
10007         debugging info for options that are not set. Add warning if
10008         start_tls specified when not supported.
10009         [abb62dc7e4a3]
10010
10011         * ldap.c:
10012         fix compilation on solaris
10013         [03d449684e80]
10014
10015         * Makefile.in:
10016         add missing .h and .c files for missing lib objs
10017         [8b37825bdfc7]
10018
10019 2007-12-18  Todd C. Miller  <Todd.Miller@courtesan.com>
10020
10021         * ldap.c:
10022         fix LDAP_OPT_NETWORK_TIMEOUT setting
10023         [226eba89c0ad]
10024
10025         * ldap.c:
10026         fix compilation on Solaris
10027         [917d47639eb6]
10028
10029 2007-12-17  Todd C. Miller  <Todd.Miller@courtesan.com>
10030
10031         * configure, configure.in:
10032         fix typo
10033         [009d5c81b225]
10034
10035         * README.LDAP:
10036         try to clear up which variables are for OpenLDAP and which are for
10037         netscape-derived SDKs
10038         [f8d9823ee73c]
10039
10040         * config.h.in, configure, configure.in, ldap.c:
10041         Add support for "ssl on" in both netscape and openldap flavors. Only
10042         the OpenLDAP flavor has been tested.
10043         [952745829ec5]
10044
10045         * logging.c, sudo.c, sudo.h:
10046         Call cleanup() before exit in log_error() instead of calling
10047         sudo_ldap_close() directly. ldap_conn can now be static to sudo.c
10048         [da02d1b67a2c]
10049
10050         * sudo.c:
10051         ld -> ldap_conn
10052         [01afa6d927cc]
10053
10054 2007-12-16  Todd C. Miller  <Todd.Miller@courtesan.com>
10055
10056         * logging.c, sudo.c, sudo.h:
10057         Better ldap cleanup.
10058         [25b9abe2d617]
10059
10060         * ldap.c:
10061         Distinguish between LDAP conf settings that are connection-specific
10062         (which take an ld pointer) and those that are default settings
10063         (which do not).
10064         [d48dc6c9c3b4]
10065
10066 2007-12-14  Todd C. Miller  <Todd.Miller@courtesan.com>
10067
10068         * ldap.c:
10069         Improved warnings on error.
10070         [c8dce7b4feb4]
10071
10072         * ldap.c:
10073         Make ldap config table driven and set the config *after* we open the
10074         connection.
10075         [d9698b5a2681]
10076
10077 2007-12-13  Todd C. Miller  <Todd.Miller@courtesan.com>
10078
10079         * ldap.c:
10080         fix LDAP_OPT_X_CONNECT_TIMEOUT compat define
10081         [598c6df06660]
10082
10083         * configure, configure.in:
10084         some operating systems need to link with -lkrb5support when using
10085         krb5
10086         [8896365dde9e]
10087
10088 2007-12-10  Todd C. Miller  <Todd.Miller@courtesan.com>
10089
10090         * WHATSNEW:
10091         minor update
10092         [acfeeb7f4886]
10093
10094         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in:
10095         regen
10096         [a3c6699674f9]
10097
10098 2007-12-08  Todd C. Miller  <Todd.Miller@courtesan.com>
10099
10100         * ChangeLog, TODO:
10101         sync
10102         [138e99b925ee]
10103
10104         * ldap.c, schema.OpenLDAP, schema.iPlanet, sudoers2ldif:
10105         add -g support for LDAP
10106         [8fc27dbe9287]
10107
10108 2007-12-03  Todd C. Miller  <Todd.Miller@courtesan.com>
10109
10110         * WHATSNEW, sudo.c, sudo.pod, sudo_usage.h.in:
10111         The -i and -s flags can now take an optional command.
10112         [6afec104ee77]
10113
10114 2007-12-02  Todd C. Miller  <Todd.Miller@courtesan.com>
10115
10116         * auth/pam.c, def_data.c, def_data.h, def_data.in, sudo.c, sudo.pod,
10117         sudoers.pod:
10118         Add passprompt_override flag to sudoers that will cause the prompt
10119         to be overridden in all cases. This flag is also set when the user
10120         specifies the -p flag.
10121         [e4c5402131a6]
10122
10123         * sudo.c:
10124         Move setting of login class until after sudoers has been parsed. Set
10125         NewArgv[0] for -i after runas_pw has been set.
10126         [62a48c8c56fa]
10127
10128         * configure, configure.in:
10129         Move the dgettext check.
10130         [5fd8a4712d1c]
10131
10132 2007-12-01  Todd C. Miller  <Todd.Miller@courtesan.com>
10133
10134         * auth/pam.c, config.h.in, configure, configure.in:
10135         Add basic support for looking up the string "Password: " in the PAM
10136         localized text db. This allows us to determine whether the PAM
10137         prompt is the default "Password: " one even if it has been
10138         localized.
10139
10140         TODO: concatenate non-std PAM prompts and user-specified sudo
10141         prompts.
10142         [81c25a415d41]
10143
10144 2007-11-27  Todd C. Miller  <Todd.Miller@courtesan.com>
10145
10146         * Makefile.in, config.h.in, configure, configure.in, parse.c,
10147         set_perms.c, sudo.c, sudo.h:
10148         Use AC_FUNC_GETGROUPS instead of a home-grown attempt that was
10149         insufficient.
10150         [1cce6ec1a91e]
10151
10152         * acsite.m4, configure, interfaces.c, memrchr.c:
10153         Fix typos; Martynas Venckus
10154         [be1233cca11a]
10155
10156 2007-11-26  Todd C. Miller  <Todd.Miller@courtesan.com>
10157
10158         * set_perms.c:
10159         Don't assume runas_pw is set; it may not be in the -g case.
10160         [aa11bd2193ac]
10161
10162 2007-11-25  Todd C. Miller  <Todd.Miller@courtesan.com>
10163
10164         * logging.c, set_perms.c:
10165         Set aux group vector for PERM_RUNAS and restore group vector for
10166         PERM_ROOT if we previously changed it. Stash the runas group vector
10167         so we don't have to call initgroups more than once. Also add no-op
10168         check to check_perms.
10169         [53837fc755f7]
10170
10171 2007-11-21  Todd C. Miller  <Todd.Miller@courtesan.com>
10172
10173         * WHATSNEW, check.c, def_data.in, defaults.c, gram.c, gram.h, gram.y,
10174         ldap.c, logging.c, match.c, mon_systrace.c, parse.c, parse.h,
10175         pwutil.c, set_perms.c, sudo.c, sudo.cat, sudo.h, sudo.man.in,
10176         sudo.pod, sudo_usage.h.in, sudoers.cat, sudoers.man.in, sudoers.pod,
10177         testsudoers.c, visudo.c, visudo.cat, visudo.man.in:
10178         Add support for runas groups. This allows the user to run a command
10179         with a different effective group. If the -g option is specified
10180         without -u the command will be run as the current user (only the
10181         group will change). the -g and -u options may be used together.
10182         TODO: implement runas group for ldap improve runas group
10183         documentation add testsudoers support
10184         [9019309df6d0]
10185
10186         * configure, configure.in:
10187         fix setting of mandir
10188         [2c60f269399f]
10189
10190         * sudo.pod, sudoers.pod:
10191         document that ALL implies SETENV
10192         [bcc8e5b703b9]
10193
10194         * ldap.c:
10195         s/setenv_ok/setenv_implied/g
10196         [f005df2c2eea]
10197
10198         * ldap.c:
10199         hostname_matches() returns TRUE on match in sudo 1.7.
10200         [c3d4377b6e8b]
10201
10202         * ldap.c:
10203         use strcmp, not strcasecmp when comparing ALL
10204         [e486024574a1]
10205
10206         * ldap.c:
10207         Make sudo ALL imply setenv. Note that unlike with file-based
10208         sudoers this does affect all the commands in the sudoRole.
10209         [bc12f54321d1]
10210
10211         * gram.c, gram.y, parse.c, parse.h:
10212         sudo "ALL" now implies the SETENV tag but, unlike an explicit tag,
10213         it is not passed on to other commands in the list.
10214         [026e2cb40680]
10215
10216         * visudo.c:
10217         Add missing sudo_setpwent() and sudo_setgrent() calls. Also use
10218         sudo_getpwuid() instead of getpwuid().
10219         [86f30a8fbd49]
10220
10221 2007-11-15  Todd C. Miller  <Todd.Miller@courtesan.com>
10222
10223         * sudoers:
10224         Expand on the dangers of not using visudo to edit sudoers.
10225         [e434e8057d02]
10226
10227 2007-11-08  Todd C. Miller  <Todd.Miller@courtesan.com>
10228
10229         * parse.c:
10230         Don't quote *?[]! on output since the lexer does not strip off the
10231         backslash when reading those in.
10232         [561da4a13afa]
10233
10234 2007-11-07  Todd C. Miller  <Todd.Miller@courtesan.com>
10235
10236         * glob.c:
10237         expand "u_foo" types to "unsigned foo" to avoid compatibility
10238         issues.
10239         [b0d7c64d78c3]
10240
10241 2007-11-04  Todd C. Miller  <Todd.Miller@courtesan.com>
10242
10243         * logging.c:
10244         Refactor log line generation in to new_logline().
10245         [6a9b9730615d]
10246
10247 2007-10-25  Todd C. Miller  <Todd.Miller@courtesan.com>
10248
10249         * TROUBLESHOOTING:
10250         fix typo
10251         [9e19d4f86e47]
10252
10253 2007-10-24  Todd C. Miller  <Todd.Miller@courtesan.com>
10254
10255         * config.h.in, configure, configure.in, interfaces.c, interfaces.h,
10256         match.c:
10257         Add configure check for struct in6_addr instead of relying on
10258         AF_INET6 since some systems define AF_INET6 but do not include IPv6
10259         support.
10260         [e24082c416bd]
10261
10262 2007-10-21  Todd C. Miller  <Todd.Miller@courtesan.com>
10263
10264         * configure, configure.in:
10265         Fix block to add -lutil for FreeBSD and NetBSD when logincap is in
10266         use.
10267         [76a9df4a63be]
10268
10269 2007-10-20  Todd C. Miller  <Todd.Miller@courtesan.com>
10270
10271         * configure, configure.in:
10272         POSIX states that struct timespec be declared in time.h so check
10273         there regardless of the value of TIME_WITH_SYS_TIME.
10274         [e42c55ec9daf]
10275
10276 2007-10-17  Todd C. Miller  <Todd.Miller@courtesan.com>
10277
10278         * tgetpass.c:
10279         Instead of defining a macro to call the appropriate method for
10280         turning on/off echo, just define tc[gs]etattr() and the related
10281         defines that use the correct terminal ioctls if needed. Also go back
10282         to using TCSAFLUSH instead of TCSADRAIN on all but QNX.
10283         [5dfb2379d995]
10284
10285 2007-10-09  Todd C. Miller  <Todd.Miller@courtesan.com>
10286
10287         * Makefile.in:
10288         g/c @ALLOCA@
10289         [e6946c2e3820]
10290
10291         * configure:
10292         regen
10293         [9bac7159a138]
10294
10295         * INSTALL, auth/pam.c, config.h.in, configure.in:
10296         Add --disable-pam-session configure option to disable calling
10297         pam_{open,close}_session. May work around bugs in some PAM
10298         implementations.
10299         [273d0fdb4a9d]
10300
10301 2007-10-08  Todd C. Miller  <Todd.Miller@courtesan.com>
10302
10303         * tgetpass.c:
10304         quiet gcc warnings
10305         [325565c5a579]
10306
10307         * tgetpass.c:
10308         Avoid printing the prompt if we are already backgrounded. E.g. if
10309         the user runs "sudo foo &" from the shell. In this case, the call
10310         to tcsetattr() will cause SIGTTOU to be delivered.
10311         [db2139a8d8b8]
10312
10313 2007-09-15  Todd C. Miller  <Todd.Miller@courtesan.com>
10314
10315         * def_data.c, def_data.h, def_data.in:
10316         Reorder things such that the definition of env_reset come right
10317         before the env variable lists.
10318         [e0d8e22a581a]
10319
10320         * parse.h:
10321         Shrink type and seqno in struct alias from int to u_short
10322         [9425263dd565]
10323
10324         * alias.c, match.c, parse.c, parse.h:
10325         Add a sequence number in the aliases for loop detection. If we find
10326         an alias with the seqno already set to the current (global) value we
10327         know we've visited it before so ignore it.
10328         [301a0548ffff]
10329
10330 2007-09-13  Todd C. Miller  <Todd.Miller@courtesan.com>
10331
10332         * TODO, auth/pam.c, sudo.c, sudo.h:
10333         PAM wants the full tty path so add user_ttypath which holds the full
10334         path to the tty or is NULL if no tty was present.
10335         [c7c1dd4b36c8]
10336
10337         * auth/pam.c:
10338         Set PAM_RHOST to work around a bug in Solaris 7 and lower that
10339         results in a segv.
10340         [3a8865b3a357]
10341
10342 2007-09-11  Todd C. Miller  <Todd.Miller@courtesan.com>
10343
10344         * gram.c:
10345         regen
10346         [5647be127950]
10347
10348         * alias.c, defaults.c, gram.y, list.c, list.h, match.c, parse.c,
10349         parse.h, testsudoers.c, visudo.c:
10350         rename lh_ -> tq_
10351         [8f500c542c4a]
10352
10353 2007-09-10  Todd C. Miller  <Todd.Miller@courtesan.com>
10354
10355         * alloc.c:
10356         remove some useless casts
10357         [409a448b23f5]
10358
10359         * alloc.c:
10360         pull in inttypes.h for SIZE_MAX; we avoid stdint.h since inttypes.h
10361         predates the final C99 spec and the standard specifies that it shall
10362         include stdint.h anyway
10363         [ae478fdef61a]
10364
10365 2007-09-06  Todd C. Miller  <Todd.Miller@courtesan.com>
10366
10367         * Makefile.in, alloca.c, configure.in:
10368         Since we ship with a pre-generated parser there is no need to ship a
10369         bogus alloca implementation.
10370         [3f611a7cc0e5]
10371
10372         * configure:
10373         regen
10374         [771eccf5269c]
10375
10376         * configure.in:
10377         remove initial setting of CHECKSIA, we require that it be unset if
10378         not used
10379         [a2e91adc5aa2]
10380
10381         * Makefile.in:
10382         add list.c to SRCS
10383         [7db0e56cf5b9]
10384
10385         * configure:
10386         regen
10387         [3716ec30172e]
10388
10389         * configure.in:
10390         only do SIA checks on Digital Unix
10391         [6a96e1af2597]
10392
10393 2007-09-05  Todd C. Miller  <Todd.Miller@courtesan.com>
10394
10395         * sudoers.cat, sudoers.man.in:
10396         regen
10397         [ac1dc29de72b]
10398
10399         * ChangeLog, TODO:
10400         sync
10401         [781effce0a2d]
10402
10403         * auth/kerb5.c:
10404         Remove call to krb5_cc_register() as it is not needed for modern
10405         kerb5.
10406         [351b8b764f16]
10407
10408         * configure:
10409         regen
10410         [ac21dbcc9c2c]
10411
10412         * aclocal.m4, configure.in:
10413         New method for setting the default authentication type and avoiding
10414         conflicts in auth types.
10415         [5fb15be11f78]
10416
10417         * match.c, parse.c, testsudoers.c:
10418         Each entry in a cmndlist now has an associated runaslist so no need
10419         to keep track of the most recent non-NULL one.
10420         [582e015786b0]
10421
10422 2007-09-04  Todd C. Miller  <Todd.Miller@courtesan.com>
10423
10424         * ldap.c:
10425         back out partial ldaps support mistakenly committed
10426         [357703e94b2d]
10427
10428         * ldap.c:
10429         Add support for unix groups and netgroups in sudoRunas
10430         [2f04eb91c6d0]
10431
10432 2007-09-03  Todd C. Miller  <Todd.Miller@courtesan.com>
10433
10434         * sudo_edit.c:
10435         Fix sudoedit of a non-existent file. From Tilo Stritzky.
10436         [a5488a03bddd]
10437
10438 2007-09-02  Todd C. Miller  <Todd.Miller@courtesan.com>
10439
10440         * configure:
10441         regen
10442         [541177376ee1]
10443
10444         * INSTALL:
10445         update --passprompt escape info
10446         [6d57db4cd538]
10447
10448         * configure.in:
10449         remove now-bogus comment and update copyright date
10450         [6a4af45fa331]
10451
10452         * configure.in:
10453         Fix up use of with_passwd
10454         [7c79d8640f77]
10455
10456         * acsite.m4, config.guess, config.sub, configure.in, ltmain.sh:
10457         Update to autoconf-2.61 andf libtool-1.5.24
10458         [045259b0b439]
10459
10460         * Makefile.in:
10461         "cmp -s" not just cmp Add @datarootdir@ to quiet autoconf-2.61
10462         [f5b6a7afb817]
10463
10464 2007-09-01  Todd C. Miller  <Todd.Miller@courtesan.com>
10465
10466         * gram.c:
10467         regen
10468         [b5b78e71d2cb]
10469
10470         * gram.y:
10471         move tags and runaslist propagation to be earlier
10472         [94f7805f4489]
10473
10474         * visudo.c:
10475         If -f flag given use the permissions of the original file as a
10476         template
10477         [9303d22bddb0]
10478
10479         * gram.y:
10480         prevent a double free() when re-initing the parser
10481         [5b3907c4de5a]
10482
10483 2007-08-31  Todd C. Miller  <Todd.Miller@courtesan.com>
10484
10485         * configure:
10486         regen
10487         [49a90b19a17d]
10488
10489         * aclocal.m4, alias.c, alloc.c, auth/API, auth/afs.c, auth/bsdauth.c,
10490         auth/kerb4.c, auth/kerb5.c, auth/pam.c, auth/securid.c,
10491         auth/securid5.c, auth/sia.c, auth/sudo_auth.h, config.h.in,
10492         configure.in, env.c, ldap.c, list.c, list.h, memrchr.c, parse.c,
10493         parse.h, pwutil.c, redblack.c, redblack.h, snprintf.c, sudo.c,
10494         sudo.h, testsudoers.c, visudo.c, zero_bytes.c:
10495         Remove support for compilers that don't support void *
10496         [35e1d01ae197]
10497
10498         * gram.c:
10499         regen
10500         [70ce412a458a]
10501
10502         * Makefile.in, alias.c, defaults.c, gram.y, list.c, list.h, match.c,
10503         parse.c, parse.h, testsudoers.c, visudo.c:
10504         Move list manipulation macros to list.h and create C versions of the
10505         more complex ones in list.c. The names have been down-cased so they
10506         appear more like normal functions.
10507         [9cea0e281148]
10508
10509         * Makefile.in:
10510         Fix cmp command when regenerating parser. Make gram.o the first
10511         dependency for all programs so gram.h will be generated before
10512         anything that needs it.
10513         [429ea065abf1]
10514
10515         * gram.y, parse.h:
10516         Convert NEW_DEFAULT anf NEW_MEMBER into static functions.
10517         [2f3433833589]
10518
10519         * match.c, parse.c, testsudoers.c:
10520         Use LH_FOREACH_REV when checking permission and short-circuit on the
10521         first non-UNSPEC hit we get for the command. This means that
10522         instead of cycling through the all the parsed sudoers entries we
10523         start at the end and work backwards and quit after the first
10524         positive or negative match.
10525         [881474532f3e]
10526
10527         * gram.c:
10528         regen
10529         [9152a19d4188]
10530
10531         * defaults.c, gram.y, parse.c, parse.h, testsudoers.c, visudo.c:
10532         Change list head macros to take a pointer, not a struct.
10533         [054f1dcce4cc]
10534
10535         * gram.c:
10536         regen
10537         [be154aae6235]
10538
10539         * gram.y:
10540         Propagate the runasspec from one command to the next in a cmndspec.
10541         [4957b1cb03a3]
10542
10543 2007-08-30  Todd C. Miller  <Todd.Miller@courtesan.com>
10544
10545         * match.c:
10546         Replace has_meta() with a macro that calls strpbrk().
10547         [a2e58846a542]
10548
10549         * regen
10550         [5a932a5c9451]
10551
10552         * alias.c, defaults.c, gram.y, match.c, parse.c, parse.h,
10553         testsudoers.c, visudo.c:
10554         Use a list head struct when storing the semi-circular lists and
10555         convert to tail queues in the process. This will allow us to
10556         reverse foreach loops more easily and it makes it clearer which
10557         functions expect a list as opposed to a single member.
10558
10559         Add macros for manipulating lists. Some of these should become
10560         functions.
10561
10562         When freeing up a list, just pop off the last item in the queue
10563         instead of going from head to tail. This is simpler since we don't
10564         have to stash a pointer to the next member, we always just use the
10565         last one in the queue until the queue is empty.
10566
10567         Rename match functions that take a list to have list in the name.
10568         Break cmnd_matches() into cmnd_matches() and cmndlist_matches.
10569         [7c37b271607a]
10570
10571         * parse.c:
10572         Fix pasto, append "!" not negated (which is an int) for sudo -l
10573         output.
10574         [93a444c3997f]
10575
10576         * Makefile.in:
10577         Remove the dependency of gram .h on gram.y, the .c dependency is
10578         enough. Only move y.tab.h to gram.h if it is different; avoids
10579         needless rebuilding.
10580         [67bf4ea2a2e5]
10581
10582 2007-08-27  Todd C. Miller  <Todd.Miller@courtesan.com>
10583
10584         * sudoers.pod:
10585         Defaults lines may be associated with lists of users, hosts,
10586         commands and runas users, not just single entries.
10587         [795effacb6be]
10588
10589 2007-08-26  Todd C. Miller  <Todd.Miller@courtesan.com>
10590
10591         * Makefile.in:
10592         Revert the "cmp" portion of the last diff, it doesn't make sense.
10593         [26f34bf4e2e3]
10594
10595         * Makefile.in:
10596         Remove *.lo for clean: When generating the parser, only move the
10597         generated files into place if they differ from the existing ones.
10598         [84673fea371b]
10599
10600 2007-08-25  Todd C. Miller  <Todd.Miller@courtesan.com>
10601
10602         * toke.c, toke.l:
10603         Replace IPV6 regexp with a much simpler (readable) one and add an
10604         extra check when it matches to make sure we have a valid address.
10605         [592e9f690556]
10606
10607         * match.c:
10608         Fix thinko introduced when merging IPV6 support.
10609         [da38cd5eb8c7]
10610
10611 2007-08-24  Todd C. Miller  <Todd.Miller@courtesan.com>
10612
10613         * HISTORY, LICENSE:
10614         regen
10615         [0d7b27b90634]
10616
10617         * license.pod:
10618         add 2007
10619         [510e5048ae1a]
10620
10621         * UPGRADE:
10622         mention #uid vs. comment pitfall
10623         [4d2861898bcc]
10624
10625         * acsite.m4:
10626         Merge in a patch from the libtool cvs that fixes a problem with the
10627         latest autoconf. From Stepan Kasal.
10628         [0c279ae7df3e]
10629
10630         * parse.h:
10631         Back out he XOR swap trick, it is slower than a temp variable on
10632         modern CPUs.
10633         [91c4b024e317]
10634
10635         * gram.c:
10636         regen
10637         [cb6d4106fb74]
10638
10639         * gram.y, parse.h:
10640         Convert the tail queue to a semi-circle queue and use the XOR swap
10641         trick to swap the prev pointers during append.
10642         [8bf4d9fbee58]
10643
10644 2007-08-23  Todd C. Miller  <Todd.Miller@courtesan.com>
10645
10646         * parse.h:
10647         remove useless statement
10648         [421ec1dd73e6]
10649
10650         * toke.c, toke.l:
10651         Refactor #include parsing into a separate function and return
10652         unparsed chars (such as newline or comment) back to the lexer.
10653         [64166917aa3d]
10654
10655 2007-08-22  Todd C. Miller  <Todd.Miller@courtesan.com>
10656
10657         * WHATSNEW:
10658         mention better uid support
10659         [56f510e7f2ec]
10660
10661         * sudoers.pod:
10662         Users may now consist of a uid.
10663         [5fd31b2c55ed]
10664
10665         * gram.c, gram.h, toke.c:
10666         regen
10667         [599e58af6dc1]
10668
10669         * parse.c:
10670         Use lbuf_append_quoted() for sudo -l output to quote characters that
10671         would require quoting in sudoers.
10672         [3132d05c990a]
10673
10674         * lbuf.c, lbuf.h:
10675         Add lbuf_append_quoted() which takes a set of characters which
10676         should be quoted with a backslash when displayed.
10677         [ab09bebb1d65]
10678
10679         * toke.l:
10680         Require that the first character after a comment not be a digit or a
10681         dash. This allows us to remove the GOTRUNAS state and treat
10682         uid/gids similar to other words. It also means that we can now
10683         specify uids in User_Lists and a User_Spec may now contain a uid.
10684         [461fe01f8392]
10685
10686         * gram.y, toke.l:
10687         Replace RUNAS token with '(' and ')' tokens to make the runas
10688         portion of the grammar more natural.
10689         [e0c383b4684d]
10690
10691         * BUGS:
10692         The BUGS file is history
10693         [4d9a809585c7]
10694
10695         * Makefile.in, README:
10696         The BUGS file is history
10697         [d9500e261172]
10698
10699 2007-08-21  Todd C. Miller  <Todd.Miller@courtesan.com>
10700
10701         * toke.c, toke.l:
10702         Allow comments after a RunasAlias as long as the character after the
10703         pound sign isn't a digit or a dash.
10704         [d7f3bd94eeda]
10705
10706         * WHATSNEW:
10707         Glob support was back-ported to 1.6.9
10708         [d1d5cfd46228]
10709
10710 2007-08-20  Todd C. Miller  <Todd.Miller@courtesan.com>
10711
10712         * Makefile.in:
10713         remove sudo_usage.h in distclean
10714         [df05ce9c4127]
10715
10716         * parse.c:
10717         If a Defaults value contains a blank, double-quote the string.
10718         [9057a910daad]
10719
10720         * toke.c, toke.l:
10721         Properly deal with Defaults double-quoted strings that span multiple
10722         lines using the line continuation char. Previously, the entire
10723         thing, including the continuation char, newline, and spaces was
10724         stored as-is.
10725         [4a4e8eacefe6]
10726
10727         * sudo.c:
10728         Be consistent when using single quotes and backticks.
10729         [d010b83a0fa1]
10730
10731 2007-08-19  Todd C. Miller  <Todd.Miller@courtesan.com>
10732
10733         * Makefile.in, configure, configure.in, lbuf.c, lbuf.h, parse.c,
10734         sudo.c, sudo_usage.h.in:
10735         Add new linebuf code to do appends of dynamically allocated strings
10736         and word-wrapped output. Currently used for sudo's usage() and sudo
10737         -l output. Sudo usage strings are now in sudo_usage.h which is
10738         generated at configure time.
10739         [4dfd0ee8d961]
10740
10741 2007-08-18  Todd C. Miller  <Todd.Miller@courtesan.com>
10742
10743         * parse.c, sudo.c, sudo.h:
10744         Fix line wrapping in usage() and use the actual tty width instead of
10745         assuming 80.
10746         [700eab37c5a6]
10747
10748 2007-08-17  Todd C. Miller  <Todd.Miller@courtesan.com>
10749
10750         * history.pod:
10751         some more info
10752         [8140112a8ae1]
10753
10754         * history.pod:
10755         Mentioned Chris Jepeway's parser and also the new one that is in
10756         sudo 1.7.
10757         [2132d00f0597]
10758
10759 2007-08-16  Todd C. Miller  <Todd.Miller@courtesan.com>
10760
10761         * sudo.pod, visudo.pod:
10762         For the options list, add flag args where appropriate and increase
10763         the indent level so there is room for them.
10764         [2b60fb572e12]
10765
10766 2007-08-15  Todd C. Miller  <Todd.Miller@courtesan.com>
10767
10768         * parse.c:
10769         Fix some spacing in "sudo -l" and add a comment about some bogosity
10770         in the line wrapping.
10771         [b59b056f5ee2]
10772
10773         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in, visudo.cat,
10774         visudo.man.in:
10775         regen
10776         [5fb719f18ebc]
10777
10778         * INSTALL, Makefile.in, WHATSNEW, config.h.in, configure.in,
10779         def_data.c, def_data.h, def_data.in, gram.c, gram.h, gram.y,
10780         parse.c, parse.h, pathnames.h.in, sudo.c, sudo.h, sudoers.pod,
10781         testsudoers.c, toke.c, toke.l:
10782         Remove monitor support until there is a versino of systrace that
10783         uses a lookaside buffer (or we have a better mechanism to use).
10784         [61ff76878e4a]
10785
10786         * config.h.in, configure, configure.in, sudo.c:
10787         use getaddrinfo() instead of gethostbyname() if it is available
10788         [cc33c136aa6a]
10789
10790 2007-08-14  Todd C. Miller  <Todd.Miller@courtesan.com>
10791
10792         * parse.c, sudo.c:
10793         Deal with OSes where sizeof(gid_t) < sizeof(int).
10794         [130a89cbdfba]
10795
10796         * interfaces.c:
10797         repair non-getifaddrs() code after ipv6 integration
10798         [7ae7a89e2236]
10799
10800         * sudo.c:
10801         If we can open sudoers but fail to read the first byte, close the
10802         file stream before trying again.
10803         [6f31272fae7b]
10804
10805 2007-08-13  Todd C. Miller  <Todd.Miller@courtesan.com>
10806
10807         * toke.c:
10808         regen
10809         [4d7afe0aa6fa]
10810
10811         * gram.y, interfaces.c, interfaces.h, match.c, sudoers.pod, toke.l:
10812         Add IPv6 support; adapted from patches by YOSHIFUJI Hideaki
10813         [4e6ff2965a42]
10814
10815         * sudo.pod, sudoers.pod, visudo.pod:
10816         Add some missing markup Update copyright
10817         [7e6d3c686b5e]
10818
10819 2007-08-12  Todd C. Miller  <Todd.Miller@courtesan.com>
10820
10821         * configure, configure.in:
10822         fix sudo_noexec extension which got broken in the libtool update
10823         [3a5b447df861]
10824
10825 2007-08-10  Todd C. Miller  <Todd.Miller@courtesan.com>
10826
10827         * Makefile.in:
10828         explicitly specify -Tascii to nroff
10829         [45c8da4cbefe]
10830
10831 2007-08-08  Todd C. Miller  <Todd.Miller@courtesan.com>
10832
10833         * logging.c:
10834         remove an ANSI-ism that crept in
10835         [29086f87b2ca]
10836
10837 2007-08-07  Todd C. Miller  <Todd.Miller@courtesan.com>
10838
10839         * sudo.pod:
10840         Adjust list indents Prevent -- from being turned into an em dash Use
10841         a list for the environment instead of a literal paragraph
10842         [c3abcd8f76f4]
10843
10844         * visudo.pod:
10845         Use a list for the environment instead of an indented literal
10846         paragraph.
10847         [0ffcfcb7349f]
10848
10849         * sudoers.pod:
10850         Adjust list indentation
10851         [615c89e3123a]
10852
10853         * license.pod:
10854         add =head3
10855         [8b2e0d38c0bd]
10856
10857 2007-08-06  Todd C. Miller  <Todd.Miller@courtesan.com>
10858
10859         * sudo.pod:
10860         mention that when specifying a uid for the -u option the shell may
10861         require that the # be escaped
10862         [3e3a17bff150]
10863
10864 2007-08-02  Todd C. Miller  <Todd.Miller@courtesan.com>
10865
10866         * match.c:
10867         Fix off by one in group matching.
10868         [b529602b7fba]
10869
10870 2007-07-31  Todd C. Miller  <Todd.Miller@courtesan.com>
10871
10872         * env.c:
10873         Fix typo: PYTHONINSPEC should be PYTHONINSPECT. From David Krause.
10874         [ffbf8907c6e7]
10875
10876 2007-07-30  Todd C. Miller  <Todd.Miller@courtesan.com>
10877
10878         * configure, configure.in:
10879         Add missing define of HAVE_GSS_KRB5_CCACHE_NAME for the
10880         -lgssapi_krb5 case.
10881         [2b85a89c2252]
10882
10883         * aclocal.m4, configure, configure.in:
10884         Fix link tests such that new gcc doesn't optimize away the test.
10885         [83484ec95cba]
10886
10887 2007-07-29  Todd C. Miller  <Todd.Miller@courtesan.com>
10888
10889         * sudo.pod, sudoers.pod, visudo.pod:
10890         add missing over/back
10891         [251a12c89b91]
10892
10893         * sudo.pod, sudoers.pod, visudo.pod:
10894         Change FILES section to use =item
10895         [60b9efc3a0b2]
10896
10897         * env.c:
10898         Add back allocation of the env struct in rebuild_env but save a copy
10899         of the old pointer and free it before returning.
10900         [1100cd4fa997]
10901
10902         * env.c:
10903         Don't init the private environment in rebuild_env() since it may
10904         have already been done implicitly sudo_setenv/sudo_unsetenv.
10905
10906         Multiply length by sizeof(char *) in memcpy/memmove when copying the
10907         environment so we copy the full thing.
10908
10909         Add missing set of parens so we deref the right pointer in
10910         sudo_unsetenv when searching for a matching variable.
10911         [9086a8f756b1]
10912
10913 2007-07-26  Todd C. Miller  <Todd.Miller@courtesan.com>
10914
10915         * sudo.pod, sudoers.pod, visudo.pod:
10916         Use file markup for paths in the FILES section
10917         [940d99f731f2]
10918
10919         * sudo.pod, sudoers.pod, visudo.pod:
10920         Don't capitalize sudo/visudo
10921         [f067a455d44b]
10922
10923         * sudoers.pod:
10924         Sort sudoers options; based on a diff from Igor Sobrado.
10925         [a9b9befe85ac]
10926
10927 2007-07-25  Todd C. Miller  <Todd.Miller@courtesan.com>
10928
10929         * sudo.pod, sudoers.pod, visudo.pod:
10930         Use 8 and 5 instead of @mansectsu@ and @mansectform@ since the
10931         latter confuses pod2man. The Makefile rules for the .man.in file
10932         will add @mansectsu@ and @mansectform@ back in after pod2man is done
10933         anyway.
10934         [b50ea0db727c]
10935
10936 2007-07-22  Todd C. Miller  <Todd.Miller@courtesan.com>
10937
10938         * LICENSE, Makefile.in, license.pod:
10939         Move license info to pod format
10940         [25bdd82e592b]
10941
10942         * configure, configure.in, sudoers.pod:
10943         Substitute value of path_info into sudoers man page.
10944         [9ba661a82798]
10945
10946         * WHATSNEW:
10947         remove features that were back-ported to 1.6.9
10948         [e76d756cbe65]
10949
10950         * sudo.c, sudo.pod, visudo.c, visudo.pod:
10951         Sort SYNOPSIS and sync usage. From Igor Sobrado.
10952         [4970386c9e54]
10953
10954         * env.c:
10955         Only need sudo_setenv/sudo_unsetenv if we are going to use
10956         ldap_sasl_interactive_bind_s() but don't have
10957         gss_krb5_ccache_name().
10958         [f1a73d8b35c5]
10959
10960         * ChangeLog:
10961         rebuild without branch info
10962         [5d5a33494677]
10963
10964         * Makefile.in:
10965         Add ChangeLog target
10966         [a702034fdd89]
10967
10968         * auth/pam.c:
10969         Run cleanup code if the user hits ^C at the password prompt.
10970         [9cf87768e921]
10971
10972         * auth/pam.c:
10973         Some versions of pam_lastlog have a bug that will cause a crash if
10974         PAM_TTY is not set so if there is no tty, set PAM_TTY to the empty
10975         string.
10976         [5b63f6c88866]
10977
10978 2007-07-20  Todd C. Miller  <Todd.Miller@courtesan.com>
10979
10980         * Makefile.in:
10981         ChageLog not Changelog
10982         [1243d8473ceb]
10983
10984         * ChangeLog:
10985         sync
10986         [d887df98c6b0]
10987
10988         * Makefile.in:
10989         CHANGE -> Changelog
10990         [917738df30dd]
10991
10992         * TODO:
10993         sync
10994         [cd382f7d1948]
10995
10996 2007-07-19  Todd C. Miller  <Todd.Miller@courtesan.com>
10997
10998         * config.h.in, configure, configure.in, ldap.c:
10999         Add configure hooks for gss_krb5_ccache_name() and the gssapi
11000         headers.
11001         [139606209991]
11002
11003 2007-07-18  Todd C. Miller  <Todd.Miller@courtesan.com>
11004
11005         * env.c, sudo.c:
11006         rebuild_env() and insert_env_vars() no longer return environment
11007         pointer, they set environ directly.
11008
11009         No longer need to pass around an envp pointer since we just operate
11010         on environ now.
11011
11012         Add dosync argument to insert_env() that indicates whether it should
11013         reset environ when realloc()ing env.envp.
11014
11015         Use an initial size of 128 for the environment.
11016         [4735fd5fddb8]
11017
11018         * env.c:
11019         Split sudo_setenv() into an external version and a version only for
11020         use by rebuild_env().
11021         [fda7d655adb1]
11022
11023 2007-07-16  Todd C. Miller  <Todd.Miller@courtesan.com>
11024
11025         * ldap.c:
11026         Add support for using gss_krb5_ccache_name() instead of setting
11027         KRB5CCNAME. Also use sudo_unsetenv() in the non-
11028         gss_krb5_ccache_name() case if there was no KRB5CCNAME in the
11029         original environment. TODO: configure setup for
11030         gss_krb5_ccache_name()
11031         [fcafa5a49caf]
11032
11033         * README.LDAP:
11034         add krb5_ccname
11035         [fceb8f883886]
11036
11037         * README.LDAP, ldap.c:
11038         Add support for sasl_secprops in ldap.conf
11039         [1f06f4bf7347]
11040
11041         * env.c, sudo.h:
11042         Add sudo_unsetenv() and refactor private env syncing code into
11043         sync_env().
11044         [045ecb3fd22b]
11045
11046         * README.LDAP, ldap.c:
11047         The ldap.conf variable is sasl_auth_id not sasl_authid.
11048         [a5f98491311b]
11049
11050 2007-07-15  Todd C. Miller  <Todd.Miller@courtesan.com>
11051
11052         * ldap.c, sudo.c, sudo.h:
11053         Add support for krb5_ccname in ldap.conf. If specified, it will
11054         override the default value of KRB5CCNAME in the environment for the
11055         duration of the call to ldap_sasl_interactive_bind_s().
11056         [b08a10c3045b]
11057
11058         * env.c, sudo.h:
11059         Remove format_env() Add sudo_setenv() to replace most format_env() +
11060         insert_env() combinations. insert_env() no longer takes a struct
11061         environment *
11062         [131da52f43f3]
11063
11064         * ldap.c:
11065         Fix use_sasl vs. rootuse_sasl logic.
11066         [0c0417b6918c]
11067
11068         * README.LDAP, config.h.in, configure, configure.in, ldap.c:
11069         Add support for SASL auth when connecting to an LDAP server. Adapted
11070         from a diff by Tom McLaughlin.
11071         [a6285f1356ea]
11072
11073 2007-07-14  Todd C. Miller  <Todd.Miller@courtesan.com>
11074
11075         * configure, configure.in:
11076         Only enable AIX or BSD auth if no other exclusive auth method has
11077         been chosen. Allows people to e.g., use PAM on AIX without adding
11078         --without-aixauth. A better solution is needed to deal with default
11079         authentication since if a non-exclusive method is chosen we will
11080         still get an error.
11081         [83f7afdc0ec3]
11082
11083 2007-07-11  Todd C. Miller  <Todd.Miller@courtesan.com>
11084
11085         * HISTORY, Makefile.in, history.pod:
11086         Generate HISTORY from history.pod (which is also used for web pages)
11087         [60bcd5164931]
11088
11089 2007-07-09  Todd C. Miller  <Todd.Miller@courtesan.com>
11090
11091         * sudo.man.in, sudoers.man.in:
11092         regen
11093         [63956a366191]
11094
11095         * sudo.pod:
11096         Better explanation of environment handling in the sudo man page.
11097         [6c247742f7ee]
11098
11099         * env.c, sudo.c:
11100         Defer setting user-specified env vars until after authentication.
11101         [4750b79323ee]
11102
11103         * env.c:
11104         honor def_default_path for PATH set on the command line
11105         [6db31d9b6d65]
11106
11107         * env.c, sudo.c, sudo.pod, sudoers.pod:
11108         Allow user to set environment variables on the command line as long
11109         as they are allowed by env_keep and env_check. Ie: apply the same
11110         restrictions as normal environment variables. TODO: deal with
11111         secure_path
11112         [26c0da3840cf]
11113
11114 2007-07-08  Todd C. Miller  <Todd.Miller@courtesan.com>
11115
11116         * sudo.c, sudo_edit.c:
11117         Call rebuild_env() in call cases. Pass original envp to sudo_edit().
11118         Don't allow -E or env var setting in sudoedit mode. More accurate
11119         usage() when called as sudoedit.
11120         [a4af20658361]
11121
11122         * ldap.c:
11123         warn -> warning
11124         [d87d1192b048]
11125
11126         * sudo.pod:
11127         add -c option to sudoedit synopsis
11128         [15b596a7e2db]
11129
11130         * TODO:
11131         udpate to reality
11132         [e2f8fde89db1]
11133
11134         * parse.c:
11135         Use ALLOW/DENY instead of TRUE/FALSE when dealing with the return
11136         value from {user,host,runas,cmnd}_matches(). Rename *matches
11137         variables -> *match. Purely cosmetic.
11138         [e54a44c00a88]
11139
11140         * parse.c:
11141         Move setting of FLAG_NO_CHECK into the if(pwflag) block. No change
11142         in behavior.
11143         [c6272b4f2127]
11144
11145         * sudoers:
11146         add SETENV tag
11147         [3a3066bb6788]
11148
11149 2007-07-06  Todd C. Miller  <Todd.Miller@courtesan.com>
11150
11151         * parse.c:
11152         Make pwcheck local to the pwflag block. Use pwcheck even if user
11153         didn't match since Defaults options may still apply.
11154         [45da9efbbafd]
11155
11156         * check.c, sudo.c:
11157         Do not update timestamp if user not validated by sudoers.
11158         [a4a9d4364827]
11159
11160         * set_perms.c:
11161         for PERM_RUNAS, set the egid to the runas user's gid and restore to
11162         the user's original in PERM_ROOT
11163         [1514bfb32847]
11164
11165         * logging.c, mon_systrace.c, set_perms.c, sudo.h:
11166         PERM_FULL_ROOT is now no different than PERM_ROOT so remove
11167         PERM_FULL_ROOT
11168         [b9d047a3178c]
11169
11170         * check.c:
11171         don't check timestamp mtime if we are just going to remove it
11172         [5d2470bc6cbd]
11173
11174         * sudoers.pod:
11175         Move sudoers defaults parameters into their own section.
11176         [54701fbc0ff3]
11177
11178         * testsudoers.c:
11179         Reduce a level of indent by a few placed continue statements.
11180         [5d5a9838c8ef]
11181
11182         * parse.c:
11183         Make matching but negated commands/hosts/runas entries override a
11184         previous match as expected. Also reduce some levels of indent by a
11185         few placed continue statements.
11186         [dd59fa4b91a1]
11187
11188 2007-07-05  Todd C. Miller  <Todd.Miller@courtesan.com>
11189
11190         * parse.c:
11191         Print default runas in "sudo -l" if sudoers don't specify one.
11192         [07d408c400bd]
11193
11194         * match.c:
11195         Less hacky way of testing whether the domain was set.
11196         [a537059776e5]
11197
11198 2007-07-04  Todd C. Miller  <Todd.Miller@courtesan.com>
11199
11200         * INSTALL:
11201         Mention pam-devel and openldap-devel for Linux
11202         [9e708c54ecc3]
11203
11204 2007-07-03  Todd C. Miller  <Todd.Miller@courtesan.com>
11205
11206         * README.LDAP:
11207         or vs. are
11208         [abe8c0f3a410]
11209
11210 2007-07-01  Todd C. Miller  <Todd.Miller@courtesan.com>
11211
11212         * sudo.c:
11213         fix typo in Solaris project support
11214         [2ffeb2d80959]
11215
11216         * HISTORY:
11217         update
11218         [df162b36f120]
11219
11220         * sudo.c:
11221         Make -- on the command line match the manual page. The implied shell
11222         case has been simplified as a result.
11223         [cd217a1f6694]
11224
11225 2007-06-28  Todd C. Miller  <Todd.Miller@courtesan.com>
11226
11227         * sudoers2ldif:
11228         add simplistic support for sudoRunas; note that if a sudoers entry
11229         contains multiple Runas users, all will apply to the sudoRole
11230         [65b11421f5c8]
11231
11232         * sudoers2ldif:
11233         honor SETENV and NOSETENV tags
11234         [2c0d5ba7a09b]
11235
11236 2007-06-24  Todd C. Miller  <Todd.Miller@courtesan.com>
11237
11238         * mon_systrace.c:
11239         Redo setting of user_args. We now build up a private copy of argv
11240         first and then replace the NULs?with spaces.
11241         [ccbba72ea112]
11242
11243         * mon_systrace.c:
11244         getcwd() returns NULL on failure, not 0 on success
11245         [88cd9e66e530]
11246
11247         * mon_systrace.c:
11248         allow chunksiz to reach 1 before erroring out
11249         [619d68f14964]
11250
11251         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in, visudo.cat,
11252         visudo.man.in:
11253         regen
11254         [8db512d3caf0]
11255
11256 2007-06-23  Todd C. Miller  <Todd.Miller@courtesan.com>
11257
11258         * def_data.c, def_data.h, def_data.in, env.c, gram.c, gram.h, gram.y,
11259         logging.c, parse.c, parse.h, sudo.c, sudo.h, sudo.pod, sudoers.pod,
11260         toke.c, toke.l:
11261         Add support for setting environment variables on the command line.
11262         This is only allowed if the setenv sudoers options is enabled or if
11263         the command is prefixed with the SETENV tag.
11264         [5744caebd969]
11265
11266         * README.LDAP:
11267         replace Aaron's email address with the sudo-workers list
11268         [2ffce5f9afc0]
11269
11270         * configure:
11271         regen
11272         [8013dff82c0c]
11273
11274 2007-06-22  Todd C. Miller  <Todd.Miller@courtesan.com>
11275
11276         * schema.OpenLDAP, schema.iPlanet:
11277         Break schema out into separate files.
11278         [15e598e4c60b]
11279
11280         * Makefile.in, README.LDAP:
11281         Break schema out into separate files.
11282         [1a53966ca1fa]
11283
11284 2007-06-21  Todd C. Miller  <Todd.Miller@courtesan.com>
11285
11286         * auth/aix_auth.c:
11287         free message if set by authenticate()
11288         [849c220c1236]
11289
11290         * match.c:
11291         deal with NULL gr_mem
11292         [49e4d74f0bbe]
11293
11294 2007-06-20  Todd C. Miller  <Todd.Miller@courtesan.com>
11295
11296         * config.h.in:
11297         regen
11298         [fead999ad3e9]
11299
11300         * configure.in:
11301         add template for HAVE_PROJECT_H
11302         [e6c42c2eaad1]
11303
11304         * closefrom.c:
11305         include fcntl.h
11306         [54d98b382f03]
11307
11308 2007-06-19  Todd C. Miller  <Todd.Miller@courtesan.com>
11309
11310         * INSTALL:
11311         mention --with-project
11312         [d3ea3baad7c5]
11313
11314         * config.h.in, configure.in, sudo.c:
11315         Add Solaris 10 "project" support. From Michael Brantley.
11316         [f14f3c8c6554]
11317
11318         * sudoers.pod:
11319         fix typo
11320         [50db81a19787]
11321
11322         * configure:
11323         regen
11324         [ea71afd3e564]
11325
11326         * configure.in:
11327         Fix preservation of LDFLAGS in the LDAP case.
11328         [40a3a47e8059]
11329
11330         * memrchr.c:
11331         Remove dependecy on NULL
11332         [c957ae5e1733]
11333
11334         * configure:
11335         regen
11336         [4955ce0c6912]
11337
11338         * aclocal.m4, configure.in:
11339         Can't use the regular autoconf fnmatch() check since we need
11340         FNM_CASEFOLD so go back to our custom one.
11341         [f10d76237486]
11342
11343         * env.c:
11344         Fix preserving of variables in env_keep.
11345         [d040049d6b84]
11346
11347         * env.c:
11348         add XAUTHORIZATION
11349         [0d589a5fe015]
11350
11351         * UPGRADE:
11352         expand upon env resetting and mention that it began in 1.6.9 not
11353         1.7.
11354         [dba251655c76]
11355
11356         * sudoers.pod:
11357         Update descriptions of env_keep and env_check to match current
11358         reality.
11359         [dba77357954b]
11360
11361 2007-06-18  Todd C. Miller  <Todd.Miller@courtesan.com>
11362
11363         * env.c:
11364         Add LINGUAS to initial_checkenv_table. Add COLORS, HOSTNAME,
11365         LS_COLORS, MAIL, PS1, PS2, XAUTHORITY to intial_keepenv_table.
11366         [eec4632bd190]
11367
11368         * env.c, logging.c:
11369         Treat USERNAME environemnt variable like LOGNAME/USER
11370         [09f52dcfd70c]
11371
11372         * env.c:
11373         Don't need to populate keepenv table with the contents of the
11374         checkenv table.
11375         [527a14afd973]
11376
11377         * sudo.c:
11378         Don't force sudo into the C locale.
11379         [8a5bd301ef96]
11380
11381         * env.c:
11382         Make env_check apply when env_reset it true. Environment variables
11383         are passed through unless they contain '/' or '%'. There is no need
11384         to have a variable in both env_check and env_keep.
11385         [840c802721e4]
11386
11387 2007-06-16  Todd C. Miller  <Todd.Miller@courtesan.com>
11388
11389         * visudo.c:
11390         Remove an duplicate lock_file() call and add a comment.
11391         [5af9dcdf0eb6]
11392
11393         * UPGRADE:
11394         Add sudo 1.6.9 upgrade note.
11395         [1585149f2914]
11396
11397 2007-06-14  Todd C. Miller  <Todd.Miller@courtesan.com>
11398
11399         * interfaces.c:
11400         Solaris will return EINVAL if the buffer used in SIOCGIFCONF is too
11401         small. From Klaus Wagner.
11402         [d6899fc44f77]
11403
11404         * logging.c, sudo.h:
11405         Redo the long syslog line splitting based on a patch from Eygene
11406         Ryabinkin. Include memrchr() for systems without it.
11407         [66a50e8d553a]
11408
11409         * memrchr.c:
11410         Redo the long syslog line splitting based on a patch from Eygene
11411         Ryabinkin. Include memrchr() for systems without it.
11412         [2f6702b7d41b]
11413
11414         * Makefile.in, config.h.in, configure, configure.in:
11415         Redo the long syslog line splitting based on a patch from Eygene
11416         Ryabinkin. Include memrchr() for systems without it.
11417         [407a46190921]
11418
11419         * configure.in:
11420         Since we need to be able to convert timespec to timeval for utimes()
11421         the last 3 digits in the tv_nsec are not significant. This makes the
11422         sudoedit file date comparison work again.
11423         [9d0258849fa9]
11424
11425 2007-06-13  Todd C. Miller  <Todd.Miller@courtesan.com>
11426
11427         * aclocal.m4, configure, configure.in:
11428         Add SUDO_ADD_AUTH macro to deal with adding things to AUTH_OBJS.
11429         This deals with exclusive authentication methods in a simple way.
11430         [7d70072c0f35]
11431
11432 2007-06-12  Todd C. Miller  <Todd.Miller@courtesan.com>
11433
11434         * LICENSE:
11435         mkstemp.c is BSD code too.
11436         [29e236d98162]
11437
11438         * sudo.pod, sudoers.pod, visudo.pod:
11439         No commercial support for now.
11440         [7c76b3e192dd]
11441
11442 2007-06-11  Todd C. Miller  <Todd.Miller@courtesan.com>
11443
11444         * sudo.c:
11445         cleanenv() is no more.
11446         [518080514408]
11447
11448 2007-06-10  Todd C. Miller  <Todd.Miller@courtesan.com>
11449
11450         * ChangeLog:
11451         Display branch info in Changelog
11452         [44e3b27427c7]
11453
11454         * utimes.c:
11455         Include config.h early so we have it for TIME_WITH_SYS_TIME
11456         [4bf1a00d0703]
11457
11458         * ChangeLog:
11459         Fix Changelog generation and update.
11460         [6e960dbcbece]
11461
11462 2007-06-09  Todd C. Miller  <Todd.Miller@courtesan.com>
11463
11464         * closefrom.c:
11465         Use /proc/self/fd instead of /proc/$$/fd
11466
11467         Move old-style fd closing into closefrom_fallback() and call that if
11468         /proc/self/fd doesn't exist or the F_CLOSEM fcntl() fails
11469         [faa7e4810758]
11470
11471         * auth/kerb5.c, config.h.in, configure.in:
11472         o use krb5_verify_user() if available instead of doing it by hand o
11473         use krb5_init_secure_context() if we have it o pass an encryption
11474         type of 0 to krb5_kt_read_service_key() instead of
11475         ENCTYPE_DES_CBC_MD5 to let kerberos choose.
11476         [df7acf72bd7c]
11477
11478         * env.c:
11479         Check TERM and COLORTERM for '%' and '/' characters. From Debian.
11480         [f92d05197e40]
11481
11482         * configure.in:
11483         Fix closefrom() substitution in the Makefile
11484         [b642b13fcc5c]
11485
11486         * TROUBLESHOOTING:
11487         Mention alternate sudo pronunciation.
11488         [7c71dc73409f]
11489
11490 2007-06-07  Todd C. Miller  <Todd.Miller@courtesan.com>
11491
11492         * env.c:
11493         Remove KRB5_KTNAME from environment. Allow COLORTERM.
11494         [70f35a79f780]
11495
11496         * auth/kerb5.c:
11497         If we cannot get a valid service key using the default keytab it is
11498         a fatal error. Fixes a bug where sudo could be tricked into
11499         allowing access when it should not by a fake KDC. From Thor Lancelot
11500         Simon.
11501         [a3ae6a47cb23]
11502
11503 2007-05-12  Todd C. Miller  <Todd.Miller@courtesan.com>
11504
11505         * aclocal.m4, configure, configure.in:
11506         Update long long checks to use AC_CHECK_TYPES and to cache values.
11507         [047318eaaeb2]
11508
11509         * aclocal.m4, configure.in:
11510         Use AC_FUNC_FNMATCH instead of a homebrew fnmatch checker. We can't
11511         use AC_REPLACE_FNMATCH since that assumes replacing with GNU
11512         fnmatch.
11513         [80513a1003ea]
11514
11515 2007-05-11  Todd C. Miller  <Todd.Miller@courtesan.com>
11516
11517         * configure, configure.in:
11518         Add closefrom() to LIB_OBJS not SUDO_OBJS if it is missing since we
11519         need it for visudo now too.
11520         [50837c7c2b5e]
11521
11522 2007-04-24  Todd C. Miller  <Todd.Miller@courtesan.com>
11523
11524         * sudoers.pod:
11525         Attempt to clarify the bit talking about network numbers w/o
11526         netmasks.
11527         [211e68c1d034]
11528
11529         * sudo.pod:
11530         Clarify timestamp dir ownership sentence.
11531         [9178f132c7f7]
11532
11533 2007-04-20  Todd C. Miller  <Todd.Miller@courtesan.com>
11534
11535         * auth/pam.c:
11536         Linux PAM now defines __LINUX_PAM__, not __LIBPAM_VERSION. From
11537         Dmitry V. Levin.
11538         [81fce91667bc]
11539
11540 2007-04-16  Todd C. Miller  <Todd.Miller@courtesan.com>
11541
11542         * sudo.c:
11543         -i is also one of the mutually exclusive options to list it in the
11544         warning message. Noted by Chris Pepper.
11545         [7da73fb248e9]
11546
11547 2007-04-12  Todd C. Miller  <Todd.Miller@courtesan.com>
11548
11549         * visudo.pod:
11550         The sudoers variable is env_editor, not enveditor. From Jean-
11551         Francois Saucier.
11552         [2a86ec09a6db]
11553
11554 2007-03-29  Todd C. Miller  <Todd.Miller@courtesan.com>
11555
11556         * redblack.c:
11557         I tracked down the original author so credit him and include his
11558         license info.
11559         [3733553a1bba]
11560
11561 2007-02-06  Todd C. Miller  <Todd.Miller@courtesan.com>
11562
11563         * sudo.cat, sudo.man.in, sudo.pod, sudoers.cat, sudoers.man.in,
11564         sudoers.pod:
11565         Fix typos; from Jason McIntyre.
11566         [1ee4ce2512f2]
11567
11568         * logging.c:
11569         Restore signal mask before calling reapchild(). Fixes a possible
11570         race condition that could prevent sudo from properly waiting for the
11571         child.
11572         [9ee4192385dc]
11573
11574 2007-01-31  Todd C. Miller  <Todd.Miller@courtesan.com>
11575
11576         * pwutil.c:
11577         Don't declare pw_free() if we are not going to use it.
11578         [adb79a4289ca]
11579
11580         * env.c:
11581         Add NOEXEC support for AIX 5.3 which supports LDR_PRELOAD and
11582         LDR_PRELOAD64. The 64-bit version is not currently supported.
11583         Remove zero_env() prototype as it no longer exists.
11584         [b4fe65027fb6]
11585
11586 2006-12-11  Todd C. Miller  <Todd.Miller@courtesan.com>
11587
11588         * logging.c:
11589         Add "Auto-Submitted: auto-generated" line to sudo mail for rfc 3834.
11590         [78002ad90f7b]
11591
11592 2006-09-29  Todd C. Miller  <Todd.Miller@courtesan.com>
11593
11594         * auth/pam.c:
11595         If the user enters ^C at the password prompt, abort instead of
11596         trying to authenticate with an empty password (which causes an
11597         annoying delay).
11598         [da3f27b747c7]
11599
11600 2006-08-17  Todd C. Miller  <Todd.Miller@courtesan.com>
11601
11602         * closefrom.c, config.h.in, configure, configure.in:
11603         Add fcntl F_CLOSEM support to closefrom(); adapted from a diff by
11604         Darren Tucker.
11605         [0331b7780759]
11606
11607         * pwutil.c:
11608         pw_free() is only used by sudo_freepwcache() so ifdef it out too.
11609         [0014c0d9eeba]
11610
11611 2006-08-04  Todd C. Miller  <Todd.Miller@courtesan.com>
11612
11613         * config.guess, config.sub:
11614         Update to latest versions from cvs.savannah.gnu.org
11615         [aa0143101c20]
11616
11617 2006-07-31  Todd C. Miller  <Todd.Miller@courtesan.com>
11618
11619         * pwutil.c, sudo_edit.c:
11620         Move password/group cache cleaning out of sudo_end{pw,grp}ent() so
11621         we can close the passwd/group files early.
11622         [559074bd7eb7]
11623
11624         * config.h.in, configure, configure.in, set_perms.c:
11625         Add seteuid() flavor of set_perms() for systems without setreuid()
11626         or setresuid() that have a working seteuid(). Tested on Darwin.
11627         [508d8da99189]
11628
11629 2006-07-30  Todd C. Miller  <Todd.Miller@courtesan.com>
11630
11631         * mon_systrace.c:
11632         systrace_read() returns ssize_t
11633         [9f97d1d1a59d]
11634
11635         * configure, configure.in:
11636         Fix typo, -lldap vs. -ldap; from Tim Knox.
11637         [a8cc43c3bb2a]
11638
11639 2006-07-28  Todd C. Miller  <Todd.Miller@courtesan.com>
11640
11641         * HISTORY:
11642         Fix typo; Matt Ackeret
11643         [86964ee3dfbd]
11644
11645 2006-07-17  Todd C. Miller  <Todd.Miller@courtesan.com>
11646
11647         * sudo.c:
11648         Print sudoers path in -V mode for root.
11649         [dc43f2d75bd9]
11650
11651 2006-06-15  Todd C. Miller  <Todd.Miller@courtesan.com>
11652
11653         * ldap.c:
11654         Do a sub tree search instead of a base search (one level in the tree
11655         only) for sudo right objects. This allows system administrators to
11656         categorize the rights in a tree to make them easier to manage.
11657         [6d2d9abf996e]
11658
11659 2005-12-28  Todd C. Miller  <Todd.Miller@courtesan.com>
11660
11661         * sudo.pod:
11662         fix typo
11663         [1473413bcbda]
11664
11665 2005-12-04  Todd C. Miller  <Todd.Miller@courtesan.com>
11666
11667         * ldap.c:
11668         Convert GET_OPT and GET_OPTI to use just 2 args. Add timelimit and
11669         bind_timelimit support; adapted from gentoo.
11670         [afc816093026]
11671
11672 2005-11-23  Todd C. Miller  <Todd.Miller@courtesan.com>
11673
11674         * ldap.c:
11675         Support comments that start in the middle of a line
11676         [c25df6ee3db8]
11677
11678         * configure, configure.in:
11679         Define LDAP_DEPRECATED until we start using ldap_get_values_len()
11680         [ee249bfe230a]
11681
11682 2005-11-18  Todd C. Miller  <Todd.Miller@courtesan.com>
11683
11684         * closefrom.c:
11685         Silence gcc -Wsign-compare; djm@openbsd.org
11686         [28769ce6418d]
11687
11688         * error.c, sudo.c, sudo.h, testsudoers.c, visudo.c:
11689         cleanup() now takes an int as an arg so it can be used as a signal
11690         handler too.
11691         [2bb0df34d09c]
11692
11693         * sudo.c:
11694         Make a copy of the shell field in the passwd struct for NewArgv to
11695         avoid a use after free situation after sudo_endpwent() is called.
11696         [5dcc9ffd362e]
11697
11698 2005-11-17  Todd C. Miller  <Todd.Miller@courtesan.com>
11699
11700         * config.h.in, configure, configure.in:
11701         Add mkstemp() for those poor souls without it.
11702         [5fdd02e863e0]
11703
11704         * mkstemp.c:
11705         Add mkstemp() for those poor souls without it.
11706         [c99401207860]
11707
11708         * Makefile.in:
11709         Add mkstemp() for those poor souls without it.
11710         [9c1cf2678f24]
11711
11712 2005-11-15  Todd C. Miller  <Todd.Miller@courtesan.com>
11713
11714         * env.c:
11715         Add PERL5DB to list of environment variables to remove.
11716         [7375c27ecf75]
11717
11718 2005-11-13  Todd C. Miller  <Todd.Miller@courtesan.com>
11719
11720         * mon_systrace.c, mon_systrace.h:
11721         Instead of calling the check function twice with a state cookie use
11722         separate check/log functions.
11723
11724         Check more ioctl() calls for failure.
11725
11726         systrace_{read,write} now return the number of bytes read/written or
11727         -1 on error.
11728         [3dc8946d90e9]
11729
11730         * env.c:
11731         Add more environment variables to remove; from gentoo linux Add some
11732         comments about what bad env variables go to what (more to do)
11733         [6918110a6b82]
11734
11735 2005-11-11  Todd C. Miller  <Todd.Miller@courtesan.com>
11736
11737         * sudo.c, sudo_edit.c:
11738         Move sudo_end{gr,pw}ent() until just before the exec since they free
11739         up our cached copy of the passwd structs, including sudo_user and
11740         sudo_runas. Fixes a use-after-free bug.
11741         [54de3778bad0]
11742
11743         * visudo.c:
11744         Close all fd's before executing editor.
11745         [4fcc05e1bec8]
11746
11747         * sudo.c:
11748         Enable malloc debugging on OpenBSD when SUDO_DEVEL is set.
11749         [ef0e8ffa5c9f]
11750
11751         * check.c:
11752         Fix fd leak when lecture file option is enabled. From Jerry Brown
11753         [ce97f9207cd8]
11754
11755 2005-11-07  Todd C. Miller  <Todd.Miller@courtesan.com>
11756
11757         * env.c:
11758         Add PERLLIB, PERL5LIB and PERL5OPT to the default list of
11759         environment variables to remove. From Charles Morris
11760         [c96e1367d1c1]
11761
11762 2005-11-01  Todd C. Miller  <Todd.Miller@courtesan.com>
11763
11764         * env.c:
11765         add JAVA_TOOL_OPTIONS to initial_badenv_table for java 5
11766         [72a6a1571226]
11767
11768 2005-10-28  Todd C. Miller  <Todd.Miller@courtesan.com>
11769
11770         * env.c:
11771         add PS4 and SHELLOPTS to initial_badenv_table for bash
11772         [89dfb3f318f3]
11773
11774 2005-08-15  Todd C. Miller  <Todd.Miller@courtesan.com>
11775
11776         * sudoers.pod:
11777         Fix typo; Toby Peterson
11778         [b7a3222b23f4]
11779
11780 2005-08-02  Todd C. Miller  <Todd.Miller@courtesan.com>
11781
11782         * tsgetgrpw.c:
11783         Make return buffers static so they don't get clobbered
11784         [13323a39b9f5]
11785
11786 2005-07-28  Todd C. Miller  <Todd.Miller@courtesan.com>
11787
11788         * auth/securid5.c:
11789         Fix securid5 authentication, was not checking for ACM_OK. Also add
11790         default cases for the two switch()es. Problem noted by ccon at
11791         worldbank
11792         [14091e418333]
11793
11794 2005-06-27  Todd C. Miller  <Todd.Miller@courtesan.com>
11795
11796         * ldap.c:
11797         Remove ncat() in favor of just counting bytes and pre-allocating
11798         what is needed.
11799         [25b8712adb61]
11800
11801 2005-06-26  Todd C. Miller  <Todd.Miller@courtesan.com>
11802
11803         * ldap.c:
11804         Fix up some comments Add missing fclose() for the rootbinddn case
11805         [ae95c8a89711]
11806
11807         * ldap.c:
11808         align struct ldap_config
11809         [35d0d64c76f8]
11810
11811         * ldap.c:
11812         use LINE_MAX for max conf file line size
11813         [da116cb8853d]
11814
11815         * pathnames.h.in:
11816         add _PATH_LDAP_SECRET
11817         [128b04ecfab7]
11818
11819         * README.LDAP:
11820         Mention rootbinddn Give example ou=SUDOers container
11821         [852edc69bd1c]
11822
11823 2005-06-25  Todd C. Miller  <Todd.Miller@courtesan.com>
11824
11825         * INSTALL, configure, configure.in, ldap.c:
11826         Support rootbinddn in ldap.conf
11827         [1615c91522a1]
11828
11829         * env.c, sudo.pod, sudoers.pod:
11830         Preserve DISPLAY environment variable by default.
11831         [05f503d5f438]
11832
11833         * acsite.m4, configure:
11834         set need_lib_prefix=no for all cases; this is safe for LD_PRELOAD
11835         [18a04dea8d05]
11836
11837         * acsite.m4, configure:
11838         set need_version=no for all cases; this is safe for LD_PRELOAD
11839         [b542560e1a73]
11840
11841         * aclocal.m4:
11842         typo
11843         [c040df0fcd5a]
11844
11845         * configure, configure.in:
11846         Add dragonfly
11847         [f13794618636]
11848
11849         * auth/pam.c:
11850         Fix call to pam_end() when pam_open_session() fails.
11851         [0be47cdfdef1]
11852
11853         * configure:
11854         regen
11855         [7f5c13b4b800]
11856
11857         * acsite.m4:
11858         rebuild acsite.m4 from libtool 1.9f libtool.m4 ltoptions.m4
11859         ltsugar.m4 ltversion.m4
11860         [a7ba9fd1a2ab]
11861
11862         * config.guess, config.sub, ltmain.sh:
11863         merge in local changes: config.guess: o better openbsd support
11864         config.sub: o hiuxmpp support ltmain.sh o remove requirement that
11865         libs must begin with "lib" o don't print a bunch of crap about
11866         library installs o don't run ldconfig
11867         [f4149f2c720f]
11868
11869         * config.guess, config.sub, ltmain.sh:
11870         libtool 1.9f
11871         [82a534e7121f]
11872
11873         * configure.in:
11874         Update with autoupdate and make minor changes for libtool 1.9f
11875         [11b5ae5c1428]
11876
11877 2005-06-23  Todd C. Miller  <Todd.Miller@courtesan.com>
11878
11879         * parse.c:
11880         don't call sudo_ldap_display_cmnd if ldap not setup
11881         [8bcf6c094ffe]
11882
11883         * sudo_edit.c, visudo.c:
11884         Move declatation of struct timespec to its own include files for
11885         systems without it since it needs time_t defined.
11886         [b95c333299a0]
11887
11888         * gettime.c:
11889         Move declatation of struct timespec to its own include files for
11890         systems without it since it needs time_t defined.
11891         [021b4569cc0c]
11892
11893         * fileops.c:
11894         Move declatation of struct timespec to its own include files for
11895         systems without it since it needs time_t defined.
11896         [dd8573b2ee7d]
11897
11898         * emul/timespec.h:
11899         Move declatation of struct timespec to its own include files for
11900         systems without it since it needs time_t defined.
11901         [f95137771564]
11902
11903         * check.c, compat.h:
11904         Move declatation of struct timespec to its own include files for
11905         systems without it since it needs time_t defined.
11906         [2ef2ace8fe85]
11907
11908         * ldap.c:
11909         Don't set safe_cmnd for the "sudo ALL" case.
11910         [ad7fa9e07da0]
11911
11912 2005-05-27  Todd C. Miller  <Todd.Miller@courtesan.com>
11913
11914         * auth/pam.c:
11915         Call pam_open_session() and pam_close_session() to give pam_limits a
11916         chance to run. Idea from Karel Zak.
11917         [fed46d471350]
11918
11919 2005-04-24  Todd C. Miller  <Todd.Miller@courtesan.com>
11920
11921         * check.c, sudo.c:
11922         Add explicit cast from mode_t -> u_int in printf to silence warnings
11923         on Solaris
11924         [17bb961fe22d]
11925
11926         * parse.c:
11927         include grp.h to silence a warning on Solaris
11928         [14386fbab640]
11929
11930 2005-04-23  Todd C. Miller  <Todd.Miller@courtesan.com>
11931
11932         * parse.c:
11933         Fix printing of += and -= defaults.
11934         [a667604c56cd]
11935
11936 2005-04-17  Todd C. Miller  <Todd.Miller@courtesan.com>
11937
11938         * mon_systrace.c:
11939         Sanity check number of syscall args with argsize. Not really needed
11940         but a little paranoia never hurts.
11941         [6bb455a2c2d6]
11942
11943         * mon_systrace.c, mon_systrace.h:
11944         Don't do pointer arithmetic on void * Use int, not size_t/ssize_t
11945         for systrace lengths (since it uses int)
11946         [3cafccffcffd]
11947
11948 2005-04-16  Todd C. Miller  <Todd.Miller@courtesan.com>
11949
11950         * mon_systrace.c:
11951         Add some memsets for paranoia Fix namespace collsion w/ error Check
11952         rval of decode_args() and update_env() Remove improper setting of
11953         validated variable
11954         [3d385158354d]
11955
11956 2005-04-12  Todd C. Miller  <Todd.Miller@courtesan.com>
11957
11958         * parse.c, sudo.c, sudo.h:
11959         In -l mode, only check local sudoers file if def_ignore_sudoers is
11960         not set and call LDAP versions from display_privs() and
11961         display_cmnd() instead of directly from main(). Because of this we
11962         need to defer closing the ldap connection until after -l processing
11963         has ocurred and we must pass in the ldap pointer to display_privs()
11964         and display_cmnd().
11965         [1dfc2e8c9f2b]
11966
11967         * ldap.c:
11968         Reorganize LDAP code to better match normal sudoers parsing.
11969         Instead of storing strings for later printing in -l mode we do
11970         another query since the authenticating user and the user being
11971         listed may not be the same (the new -U flag). Also add support for
11972         "sudo -l command".
11973
11974         There is still a fair bit if duplicated code that can probably be
11975         refactored.
11976         [e9568f19bde5]
11977
11978 2005-04-11  Todd C. Miller  <Todd.Miller@courtesan.com>
11979
11980         * ldap.c:
11981         Replace pass variable with do_netgr for better readability.
11982         [1bba841b6e79]
11983
11984         * ldap.c:
11985         use DPRINTF macro
11986         [02b159b66bb5]
11987
11988         * ldap.c:
11989         estrdup, not strdup
11990         [22cdee7973c1]
11991
11992 2005-04-10  Todd C. Miller  <Todd.Miller@courtesan.com>
11993
11994         * parse.c:
11995         Add macro to test if the tag changed to improve readability.
11996         [4e11b4819556]
11997
11998         * parse.c:
11999         Avoid printing defaults header if there are no defaults to print...
12000         [41a28627df03]
12001
12002         * glob.c:
12003         Fix a warning on systems without strlcpy().
12004         [6814e0f0e4f4]
12005
12006         * pwutil.c:
12007         Use macros where possible for sudo_grdup() like sudo_pwdup().
12008         [30f201ff35cd]
12009
12010 2005-04-08  Todd C. Miller  <Todd.Miller@courtesan.com>
12011
12012         * utimes.c:
12013         It is possible for tv_usec to hold >= 1000000 usecs so add in
12014         tv_usec / 1000000.
12015         [794ac4d53a65]
12016
12017 2005-03-30  Todd C. Miller  <Todd.Miller@courtesan.com>
12018
12019         * auth/kerb5.c:
12020         The component in krb5_principal_get_comp_string() should be 1, not 0
12021         for Heimdal. From Alex Plotnick.
12022         [fefa351c5044]
12023
12024 2005-03-29  Todd C. Miller  <Todd.Miller@courtesan.com>
12025
12026         * alias.c, alloc.c, check.c, defaults.c, find_path.c, gram.c, gram.y,
12027         interfaces.c, ldap.c, logging.c, match.c, mon_systrace.c, pwutil.c,
12028         redblack.c, sudo.c, sudo.h, toke.c, toke.l, visudo.c:
12029         Add efree() for consistency with emalloc() et al. Allows us to rely
12030         on C89 behavior (free(NULL) is valid) even on K&R.
12031         [7876bb80d87c]
12032
12033         * parse.c, sudo.c:
12034         Move initgroups() for -U option into display_privs() so group
12035         matching in sudoers works correctly.
12036         [b074428ad2ca]
12037
12038 2005-03-27  Todd C. Miller  <Todd.Miller@courtesan.com>
12039
12040         * ldap.c:
12041         Removed duplicate call to ldap_unbind_s introduced along with
12042         sudo_ldap_close.
12043         [19acc1c20f7c]
12044
12045         * parse.c:
12046         Add missing space in Defaults printing
12047         [95d2935bf6d4]
12048
12049 2005-03-25  Todd C. Miller  <Todd.Miller@courtesan.com>
12050
12051         * pwutil.c:
12052         Sync sudo_pwdup with OpenBSD changes: use macros for size computaton
12053         and string copies.
12054         [6b6b241495e5]
12055
12056 2005-03-19  Todd C. Miller  <Todd.Miller@courtesan.com>
12057
12058         * pwutil.c:
12059         Zero old pw_passwd before replacing with version from shadow file.
12060         [3251b349dfe1]
12061
12062         * configure, configure.in:
12063         Only attempt shadow password detection if PAM is not being used Add
12064         shadow_* variables to make shadow password detection more generic.
12065         [d498a3423ac9]
12066
12067         * configure.in:
12068         Use OSDEFS for os-specific -D_FOO_BAR stuff rather than CPPFLAGS
12069         [04d55bbd5e35]
12070
12071 2005-03-13  Todd C. Miller  <Todd.Miller@courtesan.com>
12072
12073         * sudoers.pod:
12074         use a non-breaking space to avoid a double space after e.g.
12075         [11cdb54bdf7b]
12076
12077         * sudo.pod:
12078         commna, not colon after e.g.
12079         [8d5875ff72e0]
12080
12081 2005-03-12  Todd C. Miller  <Todd.Miller@courtesan.com>
12082
12083         * sudo_noexec.c:
12084         Add __ variants of the exec functions. GNU libc at least uses
12085         __execve() internally.
12086         [d1880473d790]
12087
12088         * indent.pro:
12089         Match reality a bit more.
12090         [633e3fa875a7]
12091
12092         * pwutil.c:
12093         Missed piece from rev. 1.6, fix sudo_getpwnam() too.
12094         [128f7b21c2ee]
12095
12096         * pwutil.c:
12097         Store shadow password after making a local copy of struct passwd in
12098         case normal and shadow routines use the same internal buffer in
12099         libc.
12100         [f806052a6ffc]
12101
12102 2005-03-11  Todd C. Miller  <Todd.Miller@courtesan.com>
12103
12104         * alloc.c, logging.c:
12105         Make varargs usage consistent with the rest of the code.
12106         [3d45affc9851]
12107
12108 2005-03-10  Todd C. Miller  <Todd.Miller@courtesan.com>
12109
12110         * sudo_noexec.c:
12111         Wrap more of the exec family since on Linux the others do not appear
12112         to go through the normal execve() path.
12113         [8167769b4e19]
12114
12115         * visudo.c:
12116         make print_unused static like proto says
12117         [ecf10e1bae55]
12118
12119         * glob.c:
12120         silence a warning on K&R systems
12121         [2e00425f1a5c]
12122
12123         * alias.c, error.c:
12124         make this build in K&R land
12125         [156f65f8525a]
12126
12127         * parse.c:
12128         make this build in K&R land
12129         [6fc9276889cb]
12130
12131 2005-03-08  Todd C. Miller  <Todd.Miller@courtesan.com>
12132
12133         * toke.c:
12134         regen
12135         [3b349748cd21]
12136
12137 2005-03-06  Todd C. Miller  <Todd.Miller@courtesan.com>
12138
12139         * ldap.c:
12140         return(foo) not return foo optimize _atobool() slightly
12141         [11d09d154ed5]
12142
12143         * ldap.c:
12144         Use TRUE/FALSE
12145         [53999320d98f]
12146
12147         * ldap.c:
12148         Reformat to match the rest of sudo's code.
12149         [1bd0f2afa0e7]
12150
12151         * sudo.pod:
12152         I am the primary author
12153         [5d311ecd85c6]
12154
12155 2005-02-23  Todd C. Miller  <Todd.Miller@courtesan.com>
12156
12157         * Makefile.in, README, RUNSON:
12158         The RUNSON file is toast--it confused too many people and really
12159         isn't needed in a configure-oriented world.
12160         [96a6ef7bbc08]
12161
12162         * INSTALL:
12163         alternate -> alternative
12164         [b65015c5d0a2]
12165
12166         * tgetpass.c:
12167         Use TCSADRAIN instead of TCSAFLUSH since some OSes have issues with
12168         TCSAFLUSH.
12169         [c66b4763ffdc]
12170
12171         * toke.l:
12172         Allow leading blanks before Defaults and Foo_Alias definitions
12173         [2add513d9277]
12174
12175         * Makefile.in:
12176         fix rules to build toke.o and gram.o in devel mode
12177         [96cbb414ebd3]
12178
12179 2005-02-20  Todd C. Miller  <Todd.Miller@courtesan.com>
12180
12181         * sudoers.pod:
12182         env_keep overrides set_logname
12183         [401877193a15]
12184
12185         * env.c:
12186         Fix disabling set_logname and make env_keep override set_logname.
12187         [0906e7a5ed93]
12188
12189         * compat.h, config.h.in, configure, configure.in:
12190         No longer need memmove()
12191         [43bdb6efe3f2]
12192
12193         * env.c, sudo.c:
12194         Just clean the environment once. This assumes that any further
12195         setenv/putenv will be able to handle the fact that we replaced
12196         environ with our own malloc'd copy but all the implementations I've
12197         checked do.
12198         [11658fe92ba2]
12199
12200 2005-02-16  Todd C. Miller  <Todd.Miller@courtesan.com>
12201
12202         * env.c, sudo.c:
12203         In -i mode, base the value of insert_env()'s dupcheck flag on
12204         DID_FOO flags. Move checks for $HOME resetting into rebuild_env()
12205         [8365b0bd0c71]
12206
12207 2005-02-13  Todd C. Miller  <Todd.Miller@courtesan.com>
12208
12209         * env.c, sudo.c:
12210         Move setting of user_path, user_shell, user_prompt and prev_user
12211         into init_vars() since user_shell at least is needed there.
12212         [37e22dce66e9]
12213
12214 2005-02-12  Todd C. Miller  <Todd.Miller@courtesan.com>
12215
12216         * Makefile.in:
12217         fix devel builds
12218         [9fbb15ef164c]
12219
12220         * sudo.c:
12221         Fix some printf format mismatches on error.
12222         [ffc1c3f11740]
12223
12224         * check.c:
12225         Fix some printf format mismatches on error.
12226         [7b3b508adf50]
12227
12228         * configure, gram.c, toke.c:
12229         regen
12230         [aa76f9d8b02a]
12231
12232         * Makefile.in, aclocal.m4, alias.c, alloc.c, auth/afs.c,
12233         auth/aix_auth.c, auth/bsdauth.c, auth/dce.c, auth/fwtk.c,
12234         auth/kerb4.c, auth/kerb5.c, auth/pam.c, auth/passwd.c,
12235         auth/rfc1938.c, auth/secureware.c, auth/securid.c, auth/securid5.c,
12236         auth/sia.c, auth/sudo_auth.c, auth/sudo_auth.h, check.c,
12237         closefrom.c, compat.h, configure.in, defaults.c, defaults.h,
12238         emul/utime.h, env.c, error.c, fileops.c, find_path.c, getprogname.c,
12239         getspwuid.c, gettime.c, goodpath.c, gram.y, interfaces.c,
12240         interfaces.h, ldap.c, logging.c, logging.h, match.c, mon_systrace.c,
12241         parse.c, redblack.c, redblack.h, set_perms.c, sigaction.c,
12242         snprintf.c, strcasecmp.c, strerror.c, strlcat.c, strlcpy.c, sudo.c,
12243         sudo.h, sudo.pod, sudo_edit.c, sudo_noexec.c, sudoers.pod,
12244         testsudoers.c, tgetpass.c, toke.l, utimes.c, version.h, visudo.c,
12245         visudo.pod, zero_bytes.c:
12246         Update copyright years.
12247         [0610c3654739]
12248
12249         * Makefile.binary.in:
12250         Update copyright years.
12251         [d78ffc9f2e2b]
12252
12253         * LICENSE:
12254         Update copyright years.
12255         [f60473bca4b1]
12256
12257         * BUGS, INSTALL, INSTALL.binary, Makefile.in, README, configure.in:
12258         version 1.7
12259         [aa977a544ca1]
12260
12261         * WHATSNEW:
12262         What's new in sudo 1.7, based on the 1.7 CHANGES entries.
12263         [ecfcf7269c14]
12264
12265 2005-02-11  Todd C. Miller  <Todd.Miller@courtesan.com>
12266
12267         * compat.h, logging.h, sudo.h:
12268         Add __printflike and use it with gcc to warn about printf-like
12269         format mismatches
12270         [b192ad4a0548]
12271
12272 2005-02-10  Todd C. Miller  <Todd.Miller@courtesan.com>
12273
12274         * CHANGES, ChangeLog:
12275         Replaced CHANGES file with ChangeLog generated from cvs logs
12276         [d9ace9dab98f]
12277
12278         * set_perms.c:
12279         Use warning/error instead of perror/fatal.
12280         [e33259df7738]
12281
12282         * config.guess:
12283         Update OpenBSD section
12284         [9d2c23de6801]
12285
12286         * UPGRADE:
12287         Add upgrading noted for 1.7
12288         [1fb6b6d6df07]
12289
12290         * env.c, sudo.c, sudoers.pod:
12291         Instead of zeroing out the environment, just prune out entries based
12292         on the env_delete and env_check lists. Base building up the new
12293         environment on the current environment and the variables we removed
12294         initially.
12295         [fc192df8fd15]
12296
12297         * config.h.in, configure, configure.in, sudo.c:
12298         Set locale to "C" if locales are supported, just to be safe.
12299         [91fbaa98f02e]
12300
12301         * toke.c, toke.l:
12302         Cast?argument to ctype functions to unsigned char.
12303         [e096b4d65796]
12304
12305 2005-02-08  Todd C. Miller  <Todd.Miller@courtesan.com>
12306
12307         * env.c:
12308         correct value for DID_USER
12309         [b5b05d36ec15]
12310
12311         * error.c, fnmatch.c, getcwd.c, glob.c, snprintf.c:
12312         #include <compat.h> not "compat.h"
12313         [7a0ad9a0ccd7]
12314
12315         * defaults.c:
12316         Reset the environment by default.
12317         [4ecc6423e0f0]
12318
12319         * sudo.c:
12320         Alloc an extra slot in NewArgv. Removes the need to malloc an new
12321         vector if execve() fails.
12322         [83dfb6f584a7]
12323
12324 2005-02-07  Todd C. Miller  <Todd.Miller@courtesan.com>
12325
12326         * INSTALL, config.h.in, configure, configure.in, sudo.c:
12327         Use execve(2) and wrap the command in sh if we get ENOEXEC.
12328         [c0c6af4e2a21]
12329
12330 2005-02-06  Todd C. Miller  <Todd.Miller@courtesan.com>
12331
12332         * sudo_noexec.c:
12333         Only include time.h on systems that lack struct timespec which gets
12334         defind in compat.h (using time_t).
12335         [e373e518b4cb]
12336
12337         * sudo_noexec.c:
12338         Include time.h for time_t in compat.h for systems w/o struct
12339         timespec.
12340         [a34b5637e458]
12341
12342         * compat.h, config.h.in, configure, configure.in:
12343         use bcopy on systems w/o memmove
12344         [f835eafd78c6]
12345
12346         * compat.h:
12347         __attribute__((__unused__)) doesn't work in gcc 2.7.2.1 so limit its
12348         use to gcc >= 2.8.
12349         [1cb9a4e58566]
12350
12351         * Makefile.in:
12352         Add explicit rule to build sudo_noexec.lo
12353         [df1dfcf8dd77]
12354
12355 2005-02-05  Todd C. Miller  <Todd.Miller@courtesan.com>
12356
12357         * INSTALL.configure, Makefile.in:
12358         No longer depend on VPATH; pointed out a bunch of missed
12359         dependencies.
12360         [601a45d4af6b]
12361
12362         * TROUBLESHOOTING:
12363         Help for PAM when account section is missing
12364         [9b8221256756]
12365
12366         * auth/pam.c:
12367         Give user a clue when there is a missing "account" section in the
12368         PAM config.
12369         [2529625c0495]
12370
12371         * auth/pam.c:
12372         Better error handling.
12373         [518c9bda23d8]
12374
12375         * config.h.in, configure, configure.in:
12376         Move _FOO_SOURCE to CPPFLAGS so it takes effect as early as
12377         possible. Silences a warning about isblank() on linux.
12378         [19c94d7ecdc8]
12379
12380         * auth/pam.c:
12381         Fix typo (missing comma) that caused an incorrect number of args to
12382         be passed to log_error().
12383         [0099dfec560f]
12384
12385 2005-02-01  Todd C. Miller  <Todd.Miller@courtesan.com>
12386
12387         * pwutil.c:
12388         Don't try to destroy a tree we didn't create.
12389         [d43c4fe03aa4]
12390
12391 2005-01-27  Todd C. Miller  <Todd.Miller@courtesan.com>
12392
12393         * alias.c, alloc.c, auth/afs.c, auth/aix_auth.c, auth/bsdauth.c,
12394         auth/dce.c, auth/fwtk.c, auth/kerb4.c, auth/kerb5.c, auth/pam.c,
12395         auth/passwd.c, auth/rfc1938.c, auth/secureware.c, auth/securid.c,
12396         auth/securid5.c, auth/sia.c, auth/sudo_auth.c, check.c, closefrom.c,
12397         compat.h, defaults.c, env.c, error.c, fileops.c, find_path.c,
12398         fnmatch.c, getcwd.c, getprogname.c, getspwuid.c, gettime.c,
12399         goodpath.c, gram.c, gram.y, interfaces.c, ldap.c, logging.c,
12400         match.c, mon_systrace.c, parse.c, pwutil.c, set_perms.c,
12401         sigaction.c, snprintf.c, strcasecmp.c, strerror.c, strlcat.c,
12402         strlcpy.c, sudo.c, sudo_edit.c, sudo_noexec.c, testsudoers.c,
12403         tgetpass.c, toke.c, toke.l, utimes.c, visudo.c, zero_bytes.c:
12404         Add __unused to rcsids
12405         [ad6b4ac45705]
12406
12407 2005-01-21  Todd C. Miller  <Todd.Miller@courtesan.com>
12408
12409         * configure, configure.in:
12410         Fix error message when mixing invalid auth types
12411         [68069b3ff5bc]
12412
12413         * INSTALL:
12414         PAM, AIX auth, BSD auth and login_cap are now on by default if the
12415         OS supports them.
12416         [4e44e9098cf0]
12417
12418         * auth/sudo_auth.h, config.h.in:
12419         s/HAVE_AUTHENTICATE/HAVE_AIXAUTH/g
12420         [2d569b43b23e]
12421
12422         * configure.in:
12423         Better checking for conflicting authentication methods Display the
12424         authentication methods used at the end of configure Rename --with-
12425         authenticate -> --with-aixauth Use --with-aixauth, --with-bsdauth,
12426         --with-pam, --with-logincap by default on systems that support them
12427         unless disabled. Add OSMAJOR variable that replaces old OSREV; now
12428         OSREV has full version number
12429         [a21115b6fe9f]
12430
12431 2005-01-18  Todd C. Miller  <Todd.Miller@courtesan.com>
12432
12433         * def_data.c, def_data.in, sudo.c, sudoers.pod:
12434         s/-O/-C/
12435         [ee73f1b81923]
12436
12437 2005-01-14  Todd C. Miller  <Todd.Miller@courtesan.com>
12438
12439         * configure.in:
12440         Replace: test -n "$FOO" || FOO="bar"
12441
12442         With: : ${FOO='bar'}
12443         [37552d9054fc]
12444
12445 2005-01-09  Todd C. Miller  <Todd.Miller@courtesan.com>
12446
12447         * pwutil.c, testsudoers.c, tsgetgrpw.c:
12448         Use function pointers to only call private passwd/group routines
12449         when using a nonstandard passwd/group file.
12450         [215908681dfb]
12451
12452 2005-01-06  Todd C. Miller  <Todd.Miller@courtesan.com>
12453
12454         * CHANGES:
12455         sync
12456         [2e55c03f5790]
12457
12458         * tsgetgrpw.c:
12459         Can't use strtok() since it doesn't handle empty fields so add
12460         getpwent()/getgrent() functions and call those.
12461         [bdaa5b0db70e]
12462
12463 2005-01-05  Todd C. Miller  <Todd.Miller@courtesan.com>
12464
12465         * Makefile.in:
12466         Fix dummied out toke.c and gram.c dependencies.
12467         [4b909c8b2ebe]
12468
12469         * Makefile.in:
12470         Rename PARSESRCS -> GENERATED since it is only used in the clean
12471         target Add devdir variable and use it to specify the path to parser
12472         sources
12473         [f27b3f41ca23]
12474
12475         * configure:
12476         regen
12477         [22c6435dbd46]
12478
12479         * configure.in:
12480         Add a devdir variables that defaults to $(srcdir) and is set to . if
12481         --devel was specified. Allows for proper dependecies building the
12482         parser.
12483         [a36d694c6d21]
12484
12485         * testsudoers.c:
12486         Add support for custom passwd/group files.
12487         [296549ff4b87]
12488
12489         * Makefile.in:
12490         Build private copy of pwutil.o for testsudoers with MYPW defined so
12491         it uses our own passwd/group routines.
12492         [bafa54ec78ca]
12493
12494         * visudo.c:
12495         Remove sudo_*{pw,gr}* stubs and add sudo_setspent/sudo_endspent
12496         stubs instead. We can now just use the caching sudo_*{pw,gr}*
12497         functions in pwutil.c Add comment about wanting to call
12498         sudo_endpwent/sudo_endgrent in cleanup()
12499         [7e59d6b5510d]
12500
12501         * tsgetgrpw.c:
12502         Remove caching; we will just use what is in pwutil.c Use global
12503         buffers for passwd/group structs Rename functions from sudo_* to
12504         my_*
12505         [8c1e068f574c]
12506
12507         * logging.c, sudo.c:
12508         g/c pwcache_init/pwcache_destroy
12509         [60a24909b947]
12510
12511         * sudo.h:
12512         Undo last commit and add sudo_setspent and sudo_endspent instead.
12513         [bac80db08296]
12514
12515         * getspwuid.c, pwutil.c:
12516         Move all but the shadow stuff from getspwuid.c to pwutil.c and
12517         pwcache_get and pwcache_put as they are no longer needed. Also add
12518         preprocessor magic to use private versions of the passwd and group
12519         routines if MYPW is defined (for use by testsudoers).
12520         [a16b8678a426]
12521
12522         * tsgetgrpw.c:
12523         zero out struct passwd/group before filling it in so if there are
12524         fields we don't handle they end up as 0.
12525         [274cb6a93301]
12526
12527         * logging.c, sudo.c, sudo.h, testsudoers.c, visudo.c:
12528         Adapt to pwutil.c
12529         [43ebd04c8b82]
12530
12531         * Makefile.in:
12532         Add tsgetgrpw.c and pwutil.c Rename the *OBJ variables for better
12533         readability.
12534         [7f88c6061e2d]
12535
12536         * tsgetgrpw.c:
12537         Passwd and group lookup routines for testsudoers that support
12538         alternate passwd and group files.
12539         [d7803101d34e]
12540
12541         * getspwuid.c, pwutil.c:
12542         Split off pw/gr cache and dup code into its own file. This allows
12543         visudo and testsudoers to use the pw/gr cache too.
12544         [ef333d3ffedf]
12545
12546 2005-01-02  Todd C. Miller  <Todd.Miller@courtesan.com>
12547
12548         * parse.c:
12549         Print Defaults info in "sudo -l" output and wrap lines based on the
12550         terminal width.
12551         [e559eae4250e]
12552
12553 2005-01-01  Todd C. Miller  <Todd.Miller@courtesan.com>
12554
12555         * match.c, testsudoers.c, visudo.c:
12556         Only check group vector in usergr_matches() if we are matching the
12557         invoking or list user. Always check the group members, even if
12558         there was a group vector.
12559         [d0c7ceb2a041]
12560
12561 2004-12-17  Todd C. Miller  <Todd.Miller@courtesan.com>
12562
12563         * LICENSE, Makefile.in, fnmatch.3:
12564         No longer bundle fnmatch.3
12565         [72db4a4ff4e1]
12566
12567         * CHANGES, TODO:
12568         checkpoint
12569         [e92781bfd99c]
12570
12571 2004-12-16  Todd C. Miller  <Todd.Miller@courtesan.com>
12572
12573         * sudo.c:
12574         sort usage
12575         [15e3b876ec2c]
12576
12577         * sudo.pod:
12578         Sort command line options
12579         [c1fa56584bc4]
12580
12581         * def_data.c, def_data.h, def_data.in, defaults.c, logging.c, sudo.c,
12582         sudo.pod, sudoers.pod:
12583         Add closefrom sudoers option to start closing at a point other than
12584         3. Add closefrom_override sudoers option and -C sudo flag to allow
12585         the user to specify a different closefrom starting point.
12586         [370652b099d1]
12587
12588         * pathnames.h.in:
12589         Add _PATH_DEVNULL for those without it.
12590         [0c4c3e0ceb8b]
12591
12592         * LICENSE:
12593         no more UCB strcasecmp
12594         [397a6298e07f]
12595
12596         * strcasecmp.c:
12597         replace BSD licensed one with version derived from pdksh
12598         [d7cfda8c57a2]
12599
12600 2004-12-10  Todd C. Miller  <Todd.Miller@courtesan.com>
12601
12602         * sudo.c:
12603         Fix last commit.
12604         [7afb9a180532]
12605
12606         * sudo.c:
12607         Make sure stdin, stdout and stderr are open and dup them to
12608         /dev/null if not.
12609         [590f387068bd]
12610
12611 2004-12-03  Todd C. Miller  <Todd.Miller@courtesan.com>
12612
12613         * ldap.c, mon_systrace.c, sudo.c, sudo.h:
12614         add sudo_ldap_close
12615         [4273a36765a7]
12616
12617         * fileops.c, gettime.c, sudo.c, sudo_edit.c, utimes.c, visudo.c:
12618         Use TIME_WITH_SYS_TIME
12619         [c32b59bf15fb]
12620
12621         * config.h.in, configure, configure.in:
12622         Add TIME_WITH_SYS_TIME_H
12623         [57cb146f451d]
12624
12625 2004-12-02  Todd C. Miller  <Todd.Miller@courtesan.com>
12626
12627         * env.c:
12628         Add missing braces to avoid DYLD_FORCE_FLAT_NAMESPACE being set
12629         unconditionally on darwin. From Toby Peterson.
12630         [d69959681c87]
12631
12632         * getspwuid.c:
12633         Check rbinsert() return value. In the case of faked up entries
12634         there is usually a negative response cached that we need to
12635         overwrite.
12636
12637         In pwfree() don't try to zero out a NULL pw_passwd pointer.
12638         [00b32d1a48c1]
12639
12640         * mon_systrace.c:
12641         Use the double fork trick to avoid the monitor process being waited
12642         for by the main program run through sudo.
12643         [e0ce556712ff]
12644
12645 2004-11-29  Todd C. Miller  <Todd.Miller@courtesan.com>
12646
12647         * sudo.c:
12648         Call initgroups() in -U mode so group matches work normally.
12649         [2235bea15283]
12650
12651         * def_data.h, mkdefaults:
12652         Don't print a trailing comma for the last entry in enum def_tupple
12653         [c43a96bb31df]
12654
12655 2004-11-28  Todd C. Miller  <Todd.Miller@courtesan.com>
12656
12657         * sudoers.cat, sudoers.man.in, sudoers.pod:
12658         Mention values when lecture, listpw and verifypw are used in boolean
12659         context.
12660         [a0b5c0abaccf]
12661
12662         * def_data.c, def_data.in:
12663         verifypw when used in a boolean TRUE context should be "all", not
12664         "any".
12665         [2eb076ddd5e2]
12666
12667 2004-11-26  Todd C. Miller  <Todd.Miller@courtesan.com>
12668
12669         * def_data.in, defaults.c:
12670         Allow tuples that can be used as booleans to be used as boolean
12671         TRUE. In this case the 2nd possible value of the tuple is used for
12672         TRUE.
12673         [bd99aa77e88b]
12674
12675 2004-11-25  Todd C. Miller  <Todd.Miller@courtesan.com>
12676
12677         * configure, configure.in:
12678         Correct the test for 2-parameter timespecsub
12679         [d41c9cb26b97]
12680
12681         * sudo.h:
12682         Add strub struct definitions for passwd, timeval and timespec
12683         [c4ce5c43d8c5]
12684
12685         * config.h.in, configure, configure.in, sudo_edit.c, visudo.c:
12686         Add check for 2-argument form of timespecsub (FreeBSD and BSD/OS)
12687         and fix a typo in the gettimeofday check.
12688         [8ac9893057ce]
12689
12690 2004-11-24  Todd C. Miller  <Todd.Miller@courtesan.com>
12691
12692         * match.c, testsudoers.c:
12693         Deal with user_stat being NULL as it is for visudo and testsudoers.
12694         [3605a6ff64d0]
12695
12696         * parse.c, sudo.c, sudo.cat, sudo.h, sudo.man.in, sudo.pod:
12697         Add -U option to use in conjunction with -l instead of -u. Add
12698         support for "sudo -l command" to test a specific command.
12699         [99638789d415]
12700
12701         * gram.c, gram.y, sudo.c:
12702         Set safe_cmnd after sudoers_lookup() if it has not been set.
12703         Previously it was set by sudo "ALL" in the parser but at that point
12704         the fully-qualified pathname has not yet been found.
12705         [ac30d98f8225]
12706
12707 2004-11-23  Todd C. Miller  <Todd.Miller@courtesan.com>
12708
12709         * parse.c, testsudoers.c:
12710         Correctly handle multiple privileges per userspec and runas
12711         inheritence.
12712         [a98a965181af]
12713
12714 2004-11-21  Todd C. Miller  <Todd.Miller@courtesan.com>
12715
12716         * defaults.c:
12717         Zero out sd_un for each entry in sudo_defs_table in init_defaults.
12718         [031d3cd4a848]
12719
12720 2004-11-19  Todd C. Miller  <Todd.Miller@courtesan.com>
12721
12722         * toke.c, toke.l:
12723         make per-command defaults work with sudoedit
12724         [e56fe33db916]
12725
12726         * ldap.c, parse.c, sudo.c, sudo.h:
12727         Remove the FLAG_NOPASS, FLAG_NOEXEC and FLAG_MONITOR flags.
12728         Instead, we just set the approriate defaults variable.
12729         [756eeecc1d86]
12730
12731         * sample.sudoers, sudoers.cat, sudoers.man.in, sudoers.pod:
12732         Document per-command Defaults.
12733         [92a0f84b91c1]
12734
12735         * defaults.c, defaults.h, gram.c, gram.h, gram.y, mon_systrace.c,
12736         sudo.c, testsudoers.c, toke.c, toke.l, visudo.c:
12737         Add support for command-specific Defaults entries. E.g.
12738         Defaults!/usr/bin/vi noexec
12739         [be3d52bf01cf]
12740
12741         * defaults.c, match.c, parse.c, parse.h, testsudoers.c:
12742         Change an occurence of user_matches() -> runas_matches() missed
12743         previously runas_matches(), host_matches() and cmnd_matches() only
12744         really need to pass in a list of members. user_matches() still
12745         needs to pass in a passwd struct because of "sudo -l"
12746         [833b22fc6fa0]
12747
12748         * parse.c:
12749         Check def_authenticate, def_noexec and def_monitor when setting
12750         return flags. XXX May be better to just set the defaults directly
12751         and get rid of those flags.
12752         [b6db22b59d69]
12753
12754         * alias.c, alloc.c, auth/afs.c, auth/aix_auth.c, auth/bsdauth.c,
12755         auth/dce.c, auth/fwtk.c, auth/kerb4.c, auth/kerb5.c, auth/pam.c,
12756         auth/passwd.c, auth/rfc1938.c, auth/secureware.c, auth/securid.c,
12757         auth/securid5.c, auth/sia.c, auth/sudo_auth.c, check.c, closefrom.c,
12758         defaults.c, env.c, error.c, fileops.c, find_path.c, fnmatch.c,
12759         getcwd.c, getprogname.c, getspwuid.c, gettime.c, glob.c, goodpath.c,
12760         gram.c, gram.y, interfaces.c, ldap.c, logging.c, match.c,
12761         mon_systrace.c, parse.c, redblack.c, set_perms.c, snprintf.c,
12762         strcasecmp.c, strerror.c, strlcat.c, strlcpy.c, sudo.c, sudo_edit.c,
12763         sudo_noexec.c, testsudoers.c, tgetpass.c, toke.c, toke.l, utimes.c,
12764         visudo.c, zero_bytes.c:
12765         Use: #include <config.h> Not: #include "config.h" That way we get
12766         the correct config.h when build dir != src dir
12767         [97e5670a442b]
12768
12769         * Makefile.in:
12770         Back out part of rev 1.263; fix -I order
12771         [197ea01cad5d]
12772
12773         * toke.c, toke.l:
12774         More robust parsing if #include; could be much better still.
12775         [31bc3cd8f045]
12776
12777         * sudo_edit.c, visudo.c:
12778         Make arg splitting in visudo and sudoedit consistent.
12779         [7bc74485f246]
12780
12781         * Makefile.in, alias.c, gram.c, gram.y, parse.h:
12782         Split alias routines out into their own file.
12783         [d90f633cf9ae]
12784
12785         * error.h:
12786         __attribute__ is already defined in compat.h
12787         [676ed3fe9203]
12788
12789         * visudo.c:
12790         quit() should not be __noreturn__ as it is non-void on some
12791         platforms.
12792         [e528c2b6ba10]
12793
12794         * auth/fwtk.c, auth/rfc1938.c, auth/securid.c, auth/securid5.c:
12795         Add local error/warning functions like err/warn but that call an
12796         additional cleanup routine in the error case. This means we no
12797         longer need to compile a special version of alloc.o for visudo.
12798         [e78e8aae882e]
12799
12800         * parse.h:
12801         Clarify comments about the data structures
12802         [ae894e266701]
12803
12804 2004-11-18  Todd C. Miller  <Todd.Miller@courtesan.com>
12805
12806         * visudo.c:
12807         Add support for VISUAL and EDITOR containing command line args. If
12808         env_editor is not set any args in VISUAL and EDITOR are ignored.
12809         Arguments are also now supported in def_editor.
12810         [ff7303b8e298]
12811
12812 2004-11-17  Todd C. Miller  <Todd.Miller@courtesan.com>
12813
12814         * parse.h:
12815         alias_matches() is no more
12816         [b59825e28084]
12817
12818         * CHANGES, TODO:
12819         sync
12820         [2b8f5f63c1de]
12821
12822         * Makefile.in:
12823         When regenerating the parser, don't replace gram.h unless it has
12824         changed.
12825         [819949668018]
12826
12827         * Makefile.in:
12828         remove Makefile.binary for distclean
12829         [351eec8d00b2]
12830
12831         * env.c:
12832         Preserve KRB5CCNAME in zero_env() and add a paranoia check to make
12833         sure we can't overflow new_env.
12834         [3284d17b9c6d]
12835
12836         * sudo_edit.c:
12837         paranoia when stripping trailing slashes from tempdir.
12838         [012f1aa2b81f]
12839
12840         * sudo.c:
12841         Set user_ngroups to 0 if getgroups() returns an error.
12842         [c46d43e9449a]
12843
12844 2004-11-16  Todd C. Miller  <Todd.Miller@courtesan.com>
12845
12846         * config.h.in, configure, configure.in, sudo.c:
12847         Add configure check for getgroups()
12848         [5d8a214e2cef]
12849
12850         * ldap.c:
12851         Use supplementary group vector in struct sudo_user.
12852         [3d0c463c034d]
12853
12854         * match.c:
12855         Only do string comparisons on the group members if there is no
12856         supplemental group list.
12857         [be1c8362f7ef]
12858
12859         * CHANGES, TODO:
12860         sync
12861         [db188bc5b975]
12862
12863         * sudo_edit.c:
12864         On Digital UNIX _PATH_VAR_TMP doesn't end with a trailing slash so
12865         chop off any trailing slashes we see and add an explicit one.
12866         [e1b477dafee1]
12867
12868         * match.c:
12869         remove bogus XXX comment
12870         [8aecb8a28d40]
12871
12872         * match.c:
12873         Get rid of alias_matches and correctly fall through to the non-alias
12874         cases when there is no alias with the specified name.
12875         [2cd555246f09]
12876
12877         * getspwuid.c:
12878         Cache non-existent passwd/group entries too.
12879         [8de9a467d271]
12880
12881         * gram.c:
12882         regen
12883         [9ece18c58f36]
12884
12885         * getspwuid.c:
12886         fix typo
12887         [9a7ae371eac1]
12888
12889         * check.c, getspwuid.c, glob.c, ldap.c, logging.c, match.c,
12890         mon_systrace.h, sudo.c, sudo.h, testsudoers.c, visudo.c:
12891         Implement group caching and use the passwd and group caches
12892         throughout.
12893         [f1d8c5015169]
12894
12895 2004-11-15  Todd C. Miller  <Todd.Miller@courtesan.com>
12896
12897         * match.c:
12898         Properly negate the return value of alias_matches() when
12899         appropriate.
12900         [ce59c4ce77ad]
12901
12902         * match.c:
12903         Make hostname_matches() return TRUE for a match, else FALSE like the
12904         caller expects.
12905         [1dc03902d3a2]
12906
12907         * Makefile.in:
12908         Add missing dependencies on gram.h
12909         [4f94bbb1d50c]
12910
12911         * match.c:
12912         Use runas_matches in alias_matches() now that we have it.
12913         [284d22e91178]
12914
12915         * parse.c, parse.h:
12916         Expand aliases in "sudo -l" mode
12917         [f67a38b79c44]
12918
12919         * gram.y, match.c:
12920         Use ALIAS for the member type when storing an alias instead of
12921         HOSTALIAS/RUNASALIAS/CMNDALIAS/USERALIAS since match.c relies on the
12922         more generic type. Expand runas_matches instead of calling
12923         user_matches() inside of it since user_matches() looks up
12924         USERALIASes, not RUNASALIASes.
12925         [52004d75232b]
12926
12927         * CHANGES, getspwuid.c:
12928         Paranoia; zero out pw_passwd before freeing passwd entry.
12929         [bd1b22638f00]
12930
12931         * LICENSE, Makefile.in, alloc.c, check.c, config.h.in, configure,
12932         configure.in, defaults.c, emul/err.h, env.c, err.c, error.c,
12933         error.h, find_path.c, interfaces.c, logging.c, mon_systrace.c,
12934         sudo.c, sudo.h, sudo_edit.c, testsudoers.c, visudo.c:
12935         Add local error/warning functions like err/warn but that call an
12936         additional cleanup routine in the error case. This means we no
12937         longer need to compile a special version of alloc.o for visudo.
12938         [25000b676cfe]
12939
12940         * match.c:
12941         Use userpw_matches() to compare usernames, not strcmp(), since the
12942         latter checks for "#uid".
12943         [fcbe4b859f66]
12944
12945         * getspwuid.c, mon_systrace.c, mon_systrace.h, sudo.c:
12946         Cache passwd db entries in 2 reb-black trees; one indexed by uid,
12947         the other by user name. The data returned from the cache should be
12948         considered read-only and is destroyed by sudo_endpwent().
12949         [ee2418ff3f86]
12950
12951         * match.c:
12952         add cast to uid_t
12953         [eb6415302d84]
12954
12955         * gram.y:
12956         missing free in alias_destroy
12957         [572ecb680ad8]
12958
12959         * redblack.c:
12960         Can't use rbapply() for rbdestroy since the destructor is passed a
12961         data pointer, not a node pointer.
12962         [11ce713830c0]
12963
12964         * getspwuid.c, logging.c, sudo.c, sudo.h:
12965         Create and use private versions of setpwent() and endpwent() that
12966         set/end the shadow password file too.
12967         [616bc76d23bf]
12968
12969         * gram.c, gram.h, gram.y, match.c, parse.h, testsudoers.c, visudo.c:
12970         Store aliases in a red-black tree.
12971         [ce017d540416]
12972
12973         * Makefile.in, redblack.c, redblack.h:
12974         red-black tree implementation
12975         [cd5586e8f48b]
12976
12977         * visudo.c:
12978         Edit all sudoers file if there were unused or undefined aliases and
12979         we are in strict mode.
12980         [b6d5f5bb7262]
12981
12982 2004-11-12  Todd C. Miller  <Todd.Miller@courtesan.com>
12983
12984         * CHANGES, def_data.c, def_data.h, def_data.in, defaults.c, env.c,
12985         find_path.c, sudoers.cat, sudoers.man.in, sudoers.pod, visudo.c:
12986         Bring back the "secure_path" Defaults option now that Defaults take
12987         effect before the path is searched.
12988         [2e52c0e27606]
12989
12990 2004-11-11  Todd C. Miller  <Todd.Miller@courtesan.com>
12991
12992         * logging.c, parse.c:
12993         A user can always list their own entries, even with -u. Better error
12994         message when failing to list another user's entries.
12995         [e2e24deb0071]
12996
12997         * parse.c, sudo.c, sudo.h:
12998         The syntax to list another user's entries is now "-u otheruser -l".
12999         Only root or users with sudo "ALL" may list other user's entries.
13000         [3c0657e8f5fe]
13001
13002         * sudo.cat, sudo.man.in, sudo.pod:
13003         Update env variable info in SECURITY NOTES
13004         [299716071024]
13005
13006         * env.c:
13007         strip CDPATH too
13008         [9b97643b26f9]
13009
13010         * env.c:
13011         strip exported bash functions from the environment.
13012         [9e5090c8284f]
13013
13014 2004-10-27  Todd C. Miller  <Todd.Miller@courtesan.com>
13015
13016         * sudo.c:
13017         Only reset sudo_user.pw based on SUDO_USER environment variables for
13018         real commands and sudoedit. This avoids a confusing message when a
13019         user tries "sudo -l" or "sudo -v" and is denied.
13020         [3ea6d0053274]
13021
13022         * gram.c, gram.y, parse.h:
13023         Extend LIST_APPEND to deal with appending lists too
13024         [d963e42f622f]
13025
13026 2004-10-26  Todd C. Miller  <Todd.Miller@courtesan.com>
13027
13028         * logging.c:
13029         Convert some bitwise AND to ISSET
13030         [130dc40d268e]
13031
13032         * lex.yy.c, toke.c:
13033         toke.c replaces lex.yy.c
13034         [048858df79e7]
13035
13036         * CHANGES, TODO:
13037         sync
13038         [d19e7abf251c]
13039
13040         * BUGS:
13041         new parser fixes most of the outstanding bugs
13042         [0891f66e3758]
13043
13044         * configure:
13045         regen
13046         [1a3358cc7283]
13047
13048         * visudo.c:
13049         Rework for the new parser. Now checks for unused aliases in sudoers.
13050         [ad462ede3094]
13051
13052         * testsudoers.c:
13053         Rewrite for the new parser. Now supports a -d flag (dump) and adds
13054         a -h flag (host). It now defaults to the local hostname unless
13055         otherwise specified.
13056         [1b69685cc601]
13057
13058         * sudo.h:
13059         Add new prototypes. Remove NOMATCH/UNSPEC (now in parse.h)
13060         [2e4fb3abfef0]
13061
13062         * sudo.c:
13063         Update for new parse. We now call find_path() *after* we have
13064         updated the global defaults based on sudoers. Also adds support for
13065         listing other user's privs if you are root.
13066         [cf3db9fc3024]
13067
13068         * mon_systrace.c:
13069         Working LDAP support; also remove a now-unneeded rewind().
13070         [649ecf1baf6b]
13071
13072         * logging.c, logging.h:
13073         Add NO_STDERR flag.
13074         [6cb935af94e0]
13075
13076         * ldap.c:
13077         Split sudo_ldap_check() into three pieces: sudo_ldap_open(),
13078         udo_ldap_update_defaults() and sudo_ldap_check(). This allows us to
13079         connecto to LDAP, apply the default options, find the command in the
13080         user's path, and then check whether the user is allowed to run it.
13081         The important thing here is that the default runas user may be
13082         specified as a default option and that needs to be set before we
13083         search for the command.
13084         [fc0426abc6f1]
13085
13086         * ldap.c:
13087         Add casts to unsigned char for isspace() to quiet a gcc warning.
13088         [e5358e3df439]
13089
13090         * defaults.h:
13091         Add prototype for update_defaults()
13092         [564dac3db74e]
13093
13094         * defaults.c:
13095         Don't warn about line numbers now that we operate on a set of data
13096         structures (or LDAP) and not a file.
13097         [bcd9ffb9b67c]
13098
13099         * config.h.in:
13100         No long use lsearch()
13101         [9d048c587319]
13102
13103         * Makefile.in:
13104         Update for new and changed file names.
13105         [6f424a7c4515]
13106
13107         * LICENSE:
13108         no more BSD lsearch.c
13109         [463a96d89026]
13110
13111         * match.c:
13112         foo_matches() routines now live in match.c Added user_matches(),
13113         runas_matches(), host_matches(), cmnd_matches() and alias_matches()
13114         that operate on the parsed sudoers file.
13115         [b14da8a0567e]
13116
13117         * parse.lex, toke.l:
13118         Move parse.lex -> toke.l Rename buffer_frob() -> switch_buffer()
13119         WORD no longer needs to exclude '@' kill yywrap()
13120         [a922294eb7b7]
13121
13122         * gram.c, gram.h, gram.y, parse.c, parse.h, parse.yacc, sudo.tab.c,
13123         sudo.tab.h:
13124         Rewritten parser that converts sudoers into a set of data
13125         structures. This eliminates ordering issues and makes it possible to
13126         apply sudoers Defaults entries before searching for the command.
13127         [30d2ec4d203c]
13128
13129         * configure.in, emul/search.h, lsearch.c:
13130         We won't be using lsearch() any longer.
13131         [29c4d54bfac0]
13132
13133         * ldap.c:
13134         sudo should not send mail if someone who runs 'sudo -l' has no
13135         entry.
13136         [6fc27a69fd9c]
13137
13138         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in, visudo.cat,
13139         visudo.man.in:
13140         regen
13141         [8166347917f3]
13142
13143         * visudo.pod:
13144         Update warnings to match new visudo
13145         [004c0766798f]
13146
13147         * sudoers.pod:
13148         The new parser doesn't have the old ordering constraints.
13149         [ffd43bd08661]
13150
13151         * sudo.pod:
13152         Document that -l now takes an optional username argument
13153         [278f9557de8b]
13154
13155 2004-10-25  Todd C. Miller  <Todd.Miller@courtesan.com>
13156
13157         * RUNSON:
13158         AIX 5.2.0.0 works
13159         [523acd29d858]
13160
13161         * ldap.c:
13162         If LDAP_OPT_SUCCESS is not defined, use LDAP_SUCCESS instead. Fixes
13163         a compilation problem with Solaris 9's native LDAP.
13164
13165         Set FLAG_MONITOR when needed.
13166         [35824ade672d]
13167
13168 2004-10-23  Todd C. Miller  <Todd.Miller@courtesan.com>
13169
13170         * mon_systrace.c:
13171         Call sudo_goodpath() *after* changing the cwd to match the traced
13172         process. Fixes relative paths.
13173         [12ee111d0ad7]
13174
13175 2004-10-21  Todd C. Miller  <Todd.Miller@courtesan.com>
13176
13177         * testsudoers.c:
13178         Kill set_perms() stub--it is no longer needed.
13179         [116ed702935d]
13180
13181 2004-10-13  Todd C. Miller  <Todd.Miller@courtesan.com>
13182
13183         * sudoers.cat, sudoers.man.in, sudoers.pod:
13184         stay_setuid now requires set_reuid() or setresuid()
13185         [8511f67e25d5]
13186
13187         * INSTALL, PORTING, TROUBLESHOOTING, config.h.in, configure,
13188         configure.in, set_perms.c, sudo.c, sudo.h:
13189         Kill use of POSIX saved uids; they aren't worth bothering with.
13190         [b3b1f19f18c1]
13191
13192 2004-10-07  Todd C. Miller  <Todd.Miller@courtesan.com>
13193
13194         * glob.c:
13195         remove call to issetugid()
13196         [63f2e492c08f]
13197
13198         * sudoers.cat, sudoers.man.in, sudoers.pod:
13199         Remove warning about wildcards. Now that we use glob() the bug is
13200         fixed.
13201         [b15729d32266]
13202
13203         * parse.c:
13204         Use glob(3) instead of fnmatch(3) for matching pathnames and stat
13205         each result that matches the basename of the user's command. This
13206         makes "cd /usr/bin ; sudo ./blah" work when sudoers allows
13207         /usr/bin/blah. Fixes bug #143.
13208         [e31eb6310340]
13209
13210         * config.h.in, configure, configure.in:
13211         Define HAVE_EXTENDED_GLOB for extended glob (GLOB_TILDE and
13212         GLOB_BRACE)
13213         [677ed6661e17]
13214
13215         * config.h.in, configure, configure.in:
13216         Check for a glob() that supports GLOB_BRACE and GLOB_TILDE
13217         [aaa2329dd266]
13218
13219         * LICENSE:
13220         reference glob
13221         [bedc9a923423]
13222
13223         * glob.c:
13224         4.4BSD glob(3) with fixes from OpenBSD and some unneeded extensions
13225         removed.
13226         [81799451473c]
13227
13228         * emul/glob.h:
13229         4.4BSD glob(3) with fixes from OpenBSD and some unneeded extensions
13230         removed.
13231         [0335cf31fb1e]
13232
13233 2004-10-05  Todd C. Miller  <Todd.Miller@courtesan.com>
13234
13235         * mon_systrace.c:
13236         Just return if STRIOCINJECT or STRIOCREPLACE fail. It probably
13237         means we are out of space in the stack gap...
13238         [5b02b702021e]
13239
13240         * CHANGES:
13241         sync
13242         [be3826273e56]
13243
13244         * mon_systrace.c:
13245         Take a stab at ldap sudoers support here.
13246         [9d023695b0de]
13247
13248         * mon_systrace.c, mon_systrace.h:
13249         Detach from tracee on SIGHUP, SIGINT and SIGTERM. Now "sudo reboot"
13250         doesn't cause reboot to inadvertanly kill itself.
13251         [d4aab2365610]
13252
13253         * mon_systrace.c:
13254         put "monitor" in the proctitle, not "systrace"
13255         [9a9025767d86]
13256
13257         * mon_systrace.c:
13258         When modifying the environment, don't replace envp when we can get
13259         away with just rewriting pointers in the traced process.
13260         [c03622f7a2e2]
13261
13262         * mon_systrace.c, mon_systrace.h:
13263         Add environment updating via STRIOCINJECT (if available).
13264         [037291016870]
13265
13266         * sudoers.cat, sudoers.man.in:
13267         regen
13268         [869acc511046]
13269
13270 2004-10-04  Todd C. Miller  <Todd.Miller@courtesan.com>
13271
13272         * lex.yy.c:
13273         regen
13274         [4e61a9bd3c97]
13275
13276         * parse.lex:
13277         Fix bug introduced in unput() removal; want yyless(0) not yyless(1)
13278         [b70d7bd6e147]
13279
13280         * mon_systrace.c:
13281         Include file is now mon_systrace.h
13282         [ead4e36d92ae]
13283
13284         * Makefile.in, configure, configure.in, def_data.c, def_data.h,
13285         def_data.in, lex.yy.c, parse.c, parse.h, parse.lex, parse.yacc,
13286         sudo.c, sudo.h, sudo.tab.c, sudo.tab.h, sudoers.pod:
13287         No longer call it tracing, it is now "monitoring" which should be
13288         more a obvious name to non-hackers.
13289         [aa811ded0789]
13290
13291 2004-10-01  Todd C. Miller  <Todd.Miller@courtesan.com>
13292
13293         * mon_systrace.c, mon_systrace.h:
13294         Fix some XXX
13295         [a271072dacc6]
13296
13297         * mon_systrace.c, mon_systrace.h:
13298         No need to include syscall.h, use 1024 as the max # of entries (the
13299         max that systrace(4) allows).
13300
13301         Only need to use SYSTR_POLICY_ASSIGN once
13302
13303         Change check_syscall() -> find_handler() and have it return the
13304         handler instead of just running it. We need this since handler now
13305         have two parts: one part that generates and answer and another that
13306         gets called after the answer is accepted (to do logging).
13307
13308         Add some missing check_exec for emul execv
13309         [a89d243f0525]
13310
13311         * sample.pam, sample.sudoers, sample.syslog.conf, sudoers:
13312         Add $Sudo$ tags.
13313         [6f3fedb0daba]
13314
13315         * config.h.in:
13316         Add missing HAVE_LINUX_SYSTRACE_H
13317         [ff75ab7bfc53]
13318
13319         * Makefile.in:
13320         add trace_systrace.o dependency
13321         [88a408668ab2]
13322
13323 2004-09-30  Todd C. Miller  <Todd.Miller@courtesan.com>
13324
13325         * configure, configure.in:
13326         Also look for systrace.h in /usr/include/linux
13327         [98b98b436cf3]
13328
13329         * mon_systrace.c, mon_systrace.h:
13330         Move all struct defs and prototypes into trace_systrace.h and mark
13331         all but systace_attach() static.
13332         [85511253b570]
13333
13334         * mon_systrace.c, mon_systrace.h:
13335         Add support for tracing emulations. At the moment, all emulations
13336         are compiled in. It might make sense to #ifdef them in the future,
13337         though this impeeds readability.
13338         [87bb50abf277]
13339
13340         * Makefile.in, configure, configure.in:
13341         rename systrace.c -> trace_systrace.c
13342         [31cfa4407d93]
13343
13344         * parse.yacc, sudo.tab.c:
13345         Allow this to build with a K&R compiler again
13346         [32876af5bb98]
13347
13348         * TODO:
13349         sync
13350         [46865bd70f7c]
13351
13352         * compat.h, sudo.c, visudo.c:
13353         Use __attribute__((__noreturn__))
13354         [65bbad71fe89]
13355
13356         * visudo.c:
13357         Exit() takes a negative value to indicate it was not called via
13358         signal.
13359         [b93032ed7b60]
13360
13361         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in, visudo.cat,
13362         visudo.man.in:
13363         regen
13364         [45bcf4661558]
13365
13366         * Makefile.in, visudo.c:
13367         Define Err() and Errx() that are like err() and errx() but call
13368         Exit() instead of exit(). Build private copy of alloc.o for visudo
13369         that calls Err() and Errx().
13370         [c6d02bf42edd]
13371
13372 2004-09-29  Todd C. Miller  <Todd.Miller@courtesan.com>
13373
13374         * lex.yy.c, sudo.tab.c:
13375         regen
13376         [39de7e7c59da]
13377
13378         * CHANGES:
13379         sync
13380         [ba481d9ed1aa]
13381
13382         * visudo.c:
13383         Overhaul visudo for editing multiple files: o visudo has been
13384         broken out into functions (more work needed here) o each file is
13385         now edited before sudoers is re-parsed o if a #include line is
13386         added that file will be edited too
13387
13388         TODO: o cleanup temp files when exiting via err() or errx() o
13389         continue breaking things out into separate functions
13390         [80c35cf534eb]
13391
13392         * parse.lex, sudo.c, sudo.h, testsudoers.c, visudo.c:
13393         Add keepopen arg to open_sudoers that open_sudoers can use to
13394         indicate to the caller that the fd should not be closed when it is
13395         done with it. To be used by visudo to keep locked fds from being
13396         closed prematurely (and thus losing the lock).
13397         [f330fe632470]
13398
13399         * parse.yacc, sudo.c:
13400         Add errorfile global that contains the name of the file that caused
13401         the error.
13402         [98079c7a37ed]
13403
13404         * parse.lex:
13405         return COMMENT to yacc grammar for a #include line
13406         [2024a8de4fa8]
13407
13408         * parse.lex:
13409         Remove us of unput() in favor of yyless() which is cheaper.
13410         [c61291902beb]
13411
13412         * parse.yacc:
13413         Allow an empty sudoers file.
13414         [62fb111db2e7]
13415
13416 2004-09-28  Todd C. Miller  <Todd.Miller@courtesan.com>
13417
13418         * mon_systrace.c:
13419         Rewind sudoers_fp now that sudoers_lookup() doesn't do it for us.
13420         [9e15869ef597]
13421
13422         * lex.yy.c, sudo.tab.c:
13423         regen
13424         [c29bdd43bfad]
13425
13426         * visudo.c:
13427         Do signal setup before calling edit_sudoers(). Don't shadow the
13428         "quiet" global.
13429         [74252efd09ff]
13430
13431         * visudo.c:
13432         If a sudoers file includes other files, edit those too. Does not yes
13433         deal with creating the new includes files itself.
13434         [06af7b9c173f]
13435
13436         * testsudoers.c:
13437         init_parser now takes a path
13438         [b5ee186eb192]
13439
13440         * parse.c, parse.h, parse.lex, parse.yacc:
13441         More scaffolding for dealing with multiple sudoers files: o
13442         init_parser() now takes a path used to populate the sudoers global
13443         o the sudoers global is used to print the correct file in yyerror()
13444         o when switching to a new sudoers file, perserve old file name and
13445         line number
13446         [d9be4970b8bd]
13447
13448         * Makefile.in, pathnames.h.in:
13449         Kill _PATH_SUDOERS_TMP; it is not meaningful now that we can have
13450         multiple sudoers files.
13451         [6ccc4e921c43]
13452
13453         * parse.c, sudo.c:
13454         Rewind sudoers_fp in open_sudoers() instead of sudoers_lookup() so
13455         we start at the right file position when reading include files.
13456         [91fcb961e7a4]
13457
13458         * sudoers.pod:
13459         document #include
13460         [fbb92a25a726]
13461
13462         * lex.yy.c:
13463         regen
13464         [50cd7a4c9dff]
13465
13466         * parse.lex:
13467         Add max depth of 128 for the include stack to avoid loops.
13468
13469         Since yyerror() doesn't stop parsing, pass return values back to
13470         yylex and call yyterminate() on error.
13471         [e79dbffb729d]
13472
13473 2004-09-27  Todd C. Miller  <Todd.Miller@courtesan.com>
13474
13475         * sudoers.pod:
13476         document tracing
13477         [165a467eadd8]
13478
13479         * sudo.pod:
13480         Mention PREVENTING SHELL ESCAPES section of sudoers man page
13481         [3217ccecd834]
13482
13483         * lex.yy.c, sudo.tab.c:
13484         regen
13485         [fbd58d1d3a76]
13486
13487         * parse.lex:
13488         Add support for #include in sudoers (visudo support TBD)
13489         [a78015ca81af]
13490
13491         * parse.yacc:
13492         make yyerror()'s argument const
13493         [7d8e168c019a]
13494
13495         * testsudoers.c, visudo.c:
13496         Add open_sudoers() stubs.
13497         [087466787198]
13498
13499         * sudo.c, sudo.h:
13500         Rename check_sudoers() open_sudoers() and make it return a FILE *
13501         [142fc511fc65]
13502
13503 2004-09-26  Todd C. Miller  <Todd.Miller@courtesan.com>
13504
13505         * BUGS, INSTALL, INSTALL.binary, Makefile.in, README, configure.in,
13506         version.h:
13507         Crank version
13508         [1adc3f839480]
13509
13510         * Makefile.in, sudo.psf:
13511         Better HP-UX depot construction
13512         [2d952b000e63]
13513
13514 2004-09-25  Todd C. Miller  <Todd.Miller@courtesan.com>
13515
13516         * mon_systrace.c:
13517         o Made children global so check_exec() can lookup a child. o
13518         Replaced uid in struct childinfo with struct passwd * (for runas) o
13519         new_child() now takes a parent pid so the runas info can be
13520         inherited o Added find_child() to lookup a child by its pid o
13521         update_child() now fills in a struct passwd o Converted the big
13522         if/else mess in set_policy to a switch o Syscalls that change uid
13523         are now "ask" so we get SYSTR_MSG_UGID events
13524         [29b9ea3f09a3]
13525
13526         * getspwuid.c:
13527         Add flag to sudo_pwdup that indicates whether or not to lookup the
13528         shadow password. Will be used to a struct passwd that has the
13529         shadow password already filled in.
13530         [e19d43dd7238]
13531
13532         * mon_systrace.c:
13533         add missing increment of addr in read_string()
13534         [f9eb0f060cb6]
13535
13536         * mon_systrace.c:
13537         Remove bogus call to update_child() and some cosmetic fixes
13538         [701ab0b97fef]
13539
13540         * mon_systrace.c:
13541         Don't leak /dev/systrace fd to tracee Make initialized global for
13542         simplicity If STRIOCATTACH returns EBUSY we are already being traced
13543         Check for user_args == NULL in setproctitle() call Add missing calls
13544         to STRIOCANSWER
13545         [1956edf9bc3a]
13546
13547         * sudo.c:
13548         g/c sudo_pwdup proto
13549         [b7c4d6249ecb]
13550
13551         * Makefile.in, sudo.psf:
13552         Add target for building a depot file
13553         [357019efd99b]
13554
13555         * mon_systrace.c:
13556         trim includes
13557         [501534428471]
13558
13559 2004-09-24  Todd C. Miller  <Todd.Miller@courtesan.com>
13560
13561         * lex.yy.c, sudo.tab.c, sudo.tab.h:
13562         regen
13563         [52fd250c6986]
13564
13565         * INSTALL:
13566         document --with-systrace
13567         [79623927c94e]
13568
13569         * config.h.in, configure, configure.in:
13570         Add check for setproctitle
13571         [1730cf1c26ed]
13572
13573         * mon_systrace.c:
13574         pass struct str_msg_ask in to syscall checker so it can set the
13575         error code
13576         [1703fd2fdef6]
13577
13578         * mon_systrace.c:
13579         systrace(4) support for sudo. On systems with the systrace(4)
13580         kernel facility (OpenBSD, NetBSD, Linux w/ patches) sudo can
13581         intercept exec calls and check the exec args against the sudoers
13582         file. In other words, sudo can now control subcommands and shell
13583         escapes.
13584         [928c9217c386]
13585
13586         * sudo.c, sudo.h:
13587         Call systrace_attach() if FLAG_TRACE is set.
13588         [014ba9402fa5]
13589
13590         * parse.c, parse.h, parse.lex, parse.yacc, sudo.h:
13591         Add trace Defaults option and TRACE/NOTRACE tags and set FLAG_TRACE
13592         [a99904db5e56]
13593
13594         * parse.c, sudo.c:
13595         Don't close sudoers_fp, keep it open and set close on exec flag
13596         instead.
13597         [43a9fec60bee]
13598
13599         * def_data.c, def_data.h, def_data.in:
13600         Add trace option
13601         [5b643b86730a]
13602
13603         * Makefile.in:
13604         Add systrace
13605         [47a0519c427c]
13606
13607         * INSTALL:
13608         SunOS /bin/sh blows up with configure
13609         [005a23cc5615]
13610
13611         * configure, configure.in:
13612         Include sys/param.h before systrace.h
13613         [9345bc8efecf]
13614
13615         * configure:
13616         regen
13617         [a8f53fcbb254]
13618
13619         * pathnames.h.in:
13620         _PATH_DEV_SYSTRACE
13621         [d2ad1e492a00]
13622
13623         * configure.in:
13624         line up options in --help
13625         [fa51f2821d09]
13626
13627         * config.h.in, configure.in:
13628         Add --with-systrace
13629         [a264d54bc413]
13630
13631 2004-09-23  Todd C. Miller  <Todd.Miller@courtesan.com>
13632
13633         * configure:
13634         regen
13635         [a4dad0bcc523]
13636
13637         * aclocal.m4, configure.in:
13638         make this work with autoconf-2.59
13639         [c4a92b6a684a]
13640
13641 2004-09-16  Todd C. Miller  <Todd.Miller@courtesan.com>
13642
13643         * sudo_edit.c:
13644         Simplify logic around open & stat of files and do sanity on edited
13645         file even if we lack fstat (still racable but worth doing).
13646         [adda65ade70c]
13647
13648 2004-09-15  Todd C. Miller  <Todd.Miller@courtesan.com>
13649
13650         * HISTORY:
13651         Add support url
13652         [bf6590fbde9f]
13653
13654         * Makefile.in:
13655         versino 1.6.8p1
13656         [b84ebfaf1552] [SUDO_1_6_8p1]
13657
13658         * CHANGES:
13659         more changes for 1.6.8p1
13660         [e23a9c0393b6]
13661
13662         * version.h:
13663         1.6.8p1
13664         [872f14504b5f]
13665
13666         * CHANGES, sudo_edit.c:
13667         Add sanity check so we don't try to edit something other than a
13668         regular file.
13669         [350134ec6d4e]
13670
13671 2004-09-15  Aaron Spangler  <aaron777@gmail.com>
13672
13673         * CHANGES:
13674         sync
13675         [3091ca9eae00]
13676
13677         * INSTALL:
13678         document --with-ldap-conf-file
13679         [0e2cd6b896f1]
13680
13681 2004-09-14  Todd C. Miller  <Todd.Miller@courtesan.com>
13682
13683         * CHANGES, ins_csops.h:
13684         political correctness strikes again
13685         [428e8bc77f55]
13686
13687         * RUNSON:
13688         sync
13689         [27f44bd423dc]
13690
13691 2004-09-12  Todd C. Miller  <Todd.Miller@courtesan.com>
13692
13693         * Makefile.binary.in, Makefile.in:
13694         Install sudoedit man link
13695         [19a55234fc1f]
13696
13697         * INSTALL:
13698         Update PAM note and mention where HP-UX users can download gcc
13699         binaries.
13700         [d37cdbbabfd4]
13701
13702         * Makefile.in:
13703         libtool wants to install stuff from .libs so fake one up for binary
13704         installations.
13705         [a681bc6fcfba]
13706
13707         * Makefile.binary.in:
13708         rm -f old sudoedit link instead of using ln -f set LIBTOOL correctly
13709         [3e0c4b3372cc]
13710
13711         * Makefile.in:
13712         Deal with "uname -m" having slashes in it rm -f old sudoedit link
13713         instead of using ln -f
13714         [cff33fb97e5b]
13715
13716         * Makefile.binary, Makefile.binary.in:
13717         Makefile.binary -> Makefile.binary.in for config.status substitution
13718         Add support for installing noexec bits
13719         [37d8bb3483c6]
13720
13721         * Makefile.in:
13722         Copy noexec bits into binary dists too No longer use my old arch
13723         script for making binary dists
13724         [e7058bab9e33]
13725
13726         * Makefile.binary:
13727         Install sudoedit link.
13728         [417d1e101711]
13729
13730 2004-09-11  Todd C. Miller  <Todd.Miller@courtesan.com>
13731
13732         * emul/utime.h:
13733         avoid __P so there is no need for compat.h to be included
13734         [6d8d1f1abf7d]
13735
13736         * utimes.c:
13737         Don't use HAVE_UTIME_H before including config.h.
13738         [013b7bb61181]
13739
13740 2004-09-10  Todd C. Miller  <Todd.Miller@courtesan.com>
13741
13742         * compat.h:
13743         Fix Solatis futimes macro
13744         [d4eda2ca0d29]
13745
13746 2004-09-09  Todd C. Miller  <Todd.Miller@courtesan.com>
13747
13748         * sudo_edit.c:
13749         Rename ots -> omtim for improved readability.
13750         [127ca5bb297c]
13751
13752 2004-09-08  Todd C. Miller  <Todd.Miller@courtesan.com>
13753
13754         * sudo_edit.c:
13755         Redo changes in revision 1.7. Don't really need to keep the temp
13756         file open; re-opening it with the invoking user's euid is
13757         sufficient.
13758         [55a883165a95]
13759
13760         * CHANGES:
13761         sync
13762         [9015b291170d]
13763
13764         * sudo.cat, sudo.man.in:
13765         regen
13766         [c0313f6ed783]
13767
13768         * sudo.pod:
13769         back out revision 1.70; it is no long applicable
13770         [b641d503aff6]
13771
13772         * env.c:
13773         Let the loader initialize nep
13774         [bec192139b02]
13775
13776         * config.h.in, configure, configure.in:
13777         Removed unneed check for fchown Add check for gettimeofday Move
13778         autoheader template stuff into separate AH_TEMPLATE lines
13779         [bfc0edbd43f2]
13780
13781         * check.c, compat.h, fileops.c, sudo.h, sudo_edit.c, visudo.c:
13782         Use timespec throughout.
13783         [1a178a23b69b]
13784
13785         * Makefile.in:
13786         gettime.[co]
13787         [6aeb48a7ab7f]
13788
13789         * gettime.c:
13790         function to return the current time in a struct timespec
13791         [bf8eb12cb63f]
13792
13793         * utimes.c:
13794         Not a darpa-sponsored file.
13795         [121ce5e2036c]
13796
13797 2004-09-07  Todd C. Miller  <Todd.Miller@courtesan.com>
13798
13799         * compat.h, config.h.in, configure, configure.in:
13800         Add a check for struct timespec and provide it for those without.
13801         [42124055030d]
13802
13803         * config.h.in, configure, configure.in, sudo_edit.c:
13804         Add checks for st_mtim and st_mtimespec and add macros for pulling
13805         the mtime sec and nsec out of struct stat. These are used in
13806         sudo_edit() to better tell whether or not the file has changed.
13807         [23debfbb3fab]
13808
13809         * check.c, fileops.c, sudo.h, sudo_edit.c, visudo.c:
13810         Add an extra param to touch() for nsec
13811         [56f7a4ba8ddb]
13812
13813         * sudo_edit.c:
13814         Call mkstemp() as the in invoking user so we don't have to chown the
13815         file later. Only touch() the temp file if we can do it via the file
13816         descriptor. Don't check for modification of the temp file if we lack
13817         fstat(). Catch errors read()ing the temp file.
13818         [665f52c70836]
13819
13820         * fileops.c:
13821         If path is NULL and fd == -1 return -1.
13822         [757a518a824c]
13823
13824         * sudo_edit.c:
13825         closefrom() is overkill, the only extra fds are the ones we opened
13826         so just close those in the child.
13827         [f361c9d2a1f4]
13828
13829         * Makefile.in, aclocal.m4, check.c, compat.h, config.h.in, configure,
13830         configure.in, fileops.c, sudo.h, sudo_edit.c, utime.c, utimes.c,
13831         visudo.c:
13832         Use utimes() and futimes() instead of utime() in touch(), emulating
13833         as needed. Not all systems are able to support setting the times of
13834         an fd so touch() takes both an fd and a file name as arguments.
13835         [3d9276f29717]
13836
13837 2004-09-07  Aaron Spangler  <aaron777@gmail.com>
13838
13839         * env.c:
13840         Rare SEGV
13841         [8995f828782d]
13842
13843 2004-09-06  Todd C. Miller  <Todd.Miller@courtesan.com>
13844
13845         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in, visudo.cat,
13846         visudo.man.in:
13847         regen
13848         [b8e9406711c5]
13849
13850         * sudo.pod, sudoers.pod, visudo.pod:
13851         Add SUPPORT section and re-order some of the sections to match the
13852         order we use in OpenBSD.
13853         [fa37bd917e2c]
13854
13855 2004-09-06  Aaron Spangler  <aaron777@gmail.com>
13856
13857         * env.c:
13858         Openldap ~/.ldaprc fix
13859         [1a37afe6850f]
13860
13861 2004-09-06  Todd C. Miller  <Todd.Miller@courtesan.com>
13862
13863         * sudo.pod:
13864         Talk about how the editor must write its changes to the original
13865         file and not just use rename(2).
13866         [c55ed91c5ee9]
13867
13868         * CHANGES:
13869         sync
13870         [62af26bd37a2]
13871
13872         * sudo_edit.c:
13873         Keep the temp file open instead of re-opening after the editor has
13874         exited.
13875         [de41eeb6dcf2]
13876
13877         * sample.pam:
13878         Update for current redhat/fedora core.
13879         [8cf083077333]
13880
13881 2004-09-03  Aaron Spangler  <aaron777@gmail.com>
13882
13883         * README.LDAP:
13884         tls_ examples
13885         [ba783d88a034]
13886
13887 2004-09-02  Aaron Spangler  <aaron777@gmail.com>
13888
13889         * ldap.c:
13890         config tls_* options
13891         [0b0e0797b3b9]
13892
13893 2004-08-29  Todd C. Miller  <Todd.Miller@courtesan.com>
13894
13895         * configure, configure.in:
13896         No need for -lcrypt when using pam.
13897         [41fff3a53e68]
13898
13899 2004-08-27  Todd C. Miller  <Todd.Miller@courtesan.com>
13900
13901         * configure:
13902         regen
13903         [75820aecce2c]
13904
13905 2004-08-27  Aaron Spangler  <aaron777@gmail.com>
13906
13907         * configure.in, ldap.c, pathnames.h.in:
13908         Allow --with-ldap-conf-file option to override LDAP_CONF
13909         [c9909bc484a5]
13910
13911         * ldap.c:
13912         cleanup debug message
13913         [1f6ca4824d8d]
13914
13915 2004-08-26  Aaron Spangler  <aaron777@gmail.com>
13916
13917         * README.LDAP:
13918         more config info
13919         [f2e7147fd507]
13920
13921 2004-08-24  Todd C. Miller  <Todd.Miller@courtesan.com>
13922
13923         * TODO, find_path.c, goodpath.c, parse.c, sudo.c, sudo.h, visudo.c:
13924         Add cmnd_base to struct sudo_user and set it in init_vars(). Add
13925         cmnd_stat to struct sudo_user and set it in sudo_goodpath(). No
13926         longer use gross statics in command_matches(). Also rename some
13927         variables for improved clarity.
13928         [7169a6c7bea4]
13929
13930 2004-08-21  Todd C. Miller  <Todd.Miller@courtesan.com>
13931
13932         * INSTALL:
13933         document HP's crippled compiler deficiency.
13934         [c405ea5a8d4c]
13935
13936         * INSTALL:
13937         Fix some thinkos in --with-editor and --with-env-editor
13938         descriptions. Noticed by Norihiko Murase.
13939         [dd781de1c985]
13940
13941         * configure, configure.in:
13942         --with-noexec takes an optional PATH argument.
13943         [8f6ab77f22cc]
13944
13945         * INSTALL:
13946         document --with-noexec
13947         [50cb1fc627ce]
13948
13949 2004-08-17  Todd C. Miller  <Todd.Miller@courtesan.com>
13950
13951         * RUNSON, TODO:
13952         sync
13953         [f2503bd13373] [SUDO_1_6_8]
13954
13955         * sudo_edit.c:
13956         Better warning message when sudoedit is unable to write to the
13957         destination file.
13958         [f78c18f2ffa8]
13959
13960         * sudo.cat, sudo.man.in:
13961         regen
13962         [7e2bf63d6d9a]
13963
13964         * sudo.pod:
13965         Don't italicize the string "sudoedit"
13966         [c691643bd269]
13967
13968 2004-08-16  Todd C. Miller  <Todd.Miller@courtesan.com>
13969
13970         * HISTORY:
13971         Mention GratiSoft.
13972         [dc53de581b2d]
13973
13974 2004-08-11  Todd C. Miller  <Todd.Miller@courtesan.com>
13975
13976         * sudo.tab.c:
13977         regen
13978         [8ae0484dfc38]
13979
13980         * parse.yacc:
13981         Reset used_runas to FALSE when re-intializing the parser.
13982         [b7403f353a02]
13983
13984 2004-08-09  Todd C. Miller  <Todd.Miller@courtesan.com>
13985
13986         * config.guess:
13987         Correct OpenBSD mips support
13988         [314fc7afc165]
13989
13990         * config.guess:
13991         Add OpenBSD/mips
13992         [ac87d0a773ef]
13993
13994 2004-08-07  Aaron Spangler  <aaron777@gmail.com>
13995
13996         * README.LDAP:
13997         More behavior notes
13998         [13be1d212b47]
13999
14000         * README.LDAP:
14001         Updates on current behavior
14002         [d498a8866d6f]
14003
14004 2004-08-06  Todd C. Miller  <Todd.Miller@courtesan.com>
14005
14006         * sudoers.pod:
14007         =back does not take an indentlevel (makes no difference to formatted
14008         files).
14009         [9c8523bb382a]
14010
14011         * sudo.pod:
14012         =back does not take an indentlevel (makes no difference to formatted
14013         files).
14014         [e5f479e24fa8]
14015
14016         * CHANGES:
14017         new
14018         [2dbd9aba8b33]
14019
14020         * sudo.c:
14021         Consistency. Use same error for bad -u #uid when targetpw is set as
14022         we do when a bad -u username is specified.
14023         [922961c4a9d6]
14024
14025         * TODO:
14026         Add checksum idea from Steve Mancini
14027         [e6ece1b766ba]
14028
14029         * sudoers.cat, sudoers.man.in:
14030         regen
14031         [370d2317829f]
14032
14033         * sudo.cat, sudo.man.in:
14034         regen
14035         [f93d41fc38b1]
14036
14037         * sudo.pod, sudoers.pod:
14038         Document the restriction on uids specified via -u when targetpw is
14039         set.
14040         [878fedb455db]
14041
14042         * sudo.c:
14043         Error out when targetpw is enabled and sudo is run with -u #uid but
14044         #uid does not exist in the passwd database. We can't do target
14045         authentication when the target is not in passwd!
14046         [27c5888c86eb]
14047
14048         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in:
14049         regen
14050         [ceb65711050c]
14051
14052         * TODO:
14053         Some more todo for the next release.
14054         [7b7417be7601]
14055
14056         * INSTALL:
14057         Make it clear that PAM should be used for DCE support when possible.
14058         [7502029fd385]
14059
14060         * sudoers.pod:
14061         o Document problems with wildcards and relative paths. o Make the
14062         order requirements more prominent. o Change a "set" to "reset" for
14063         clarity.
14064         [bacdd181b33f]
14065
14066 2004-08-05  Todd C. Miller  <Todd.Miller@courtesan.com>
14067
14068         * sudo.pod:
14069         Mention --with-secure-path, not SECURE_PATH.
14070         [41283ddde5e1]
14071
14072 2004-08-03  Aaron Spangler  <aaron777@gmail.com>
14073
14074         * ldap.c:
14075         reflect changes to parse.c
14076         [8880fe9b724d]
14077
14078 2004-08-02  Todd C. Miller  <Todd.Miller@courtesan.com>
14079
14080         * sudo.tab.c:
14081         regen
14082         [a57658ca9177]
14083
14084         * parse.c, parse.h, testsudoers.c, visudo.c:
14085         Don't pass user_cmnd and user_args to command_matches(), just use
14086         the globals there. Since we keep state with statics anyway it is
14087         misleading to pretend that passing in different cmnd and cmnd_args
14088         will work.
14089         [0a2544991fd6]
14090
14091         * parse.yacc:
14092         Don't pass user_cmnd and user_args to command_matches(), just use
14093         the globals there. Since we keep state with statics anyway it is
14094         misleading to pretend that passing in different cmnd and cmnd_args
14095         will work.
14096         [a4910bf6032b]
14097
14098         * parse.c:
14099         Fix a bug introduced in rev. 1.149. When checking for pseudo-
14100         commands check for a '/' anywhere in cmnd, not just the first
14101         character.
14102         [ce98142f03ca]
14103
14104 2004-07-31  Aaron Spangler  <aaron777@gmail.com>
14105
14106         * sudo.man.in, sudo.pod:
14107         Clarification thanks to Olivier Blin <oblin@mandrakesoft.com>
14108         [a91800e094b1]
14109
14110         * sudoers.man.in, sudoers.pod:
14111         Add ignore_local_sudoers
14112         [741ddcbf7083]
14113
14114         * README.LDAP:
14115         Sun One schema definition by Andreas.Bussjaeger@t-systems.com and
14116         janth@moldung.no
14117         [742c02e07cd9]
14118
14119 2004-07-29  Todd C. Miller  <Todd.Miller@courtesan.com>
14120
14121         * CHANGES:
14122         typo
14123         [e7cdefbd7a9a]
14124
14125 2004-07-23  Todd C. Miller  <Todd.Miller@courtesan.com>
14126
14127         * CHANGES:
14128         sync
14129         [734dafc4a85e]
14130
14131         * parse.c:
14132         Parse sudoers file as PERM_RUNAS not PERM_ROOT and remove a useless
14133         PERM_SUDOERS. Restore to PERM_ROOT upon exit of the parse.
14134         [151b7f593568]
14135
14136 2004-07-08  Todd C. Miller  <Todd.Miller@courtesan.com>
14137
14138         * CHANGES:
14139         PAM change
14140         [d8fb6d6a22d0]
14141
14142 2004-07-08  Aaron Spangler  <aaron777@gmail.com>
14143
14144         * ldap.c:
14145         Better debugging of ALL command
14146         [9db3e84029dc]
14147
14148 2004-07-08  Todd C. Miller  <Todd.Miller@courtesan.com>
14149
14150         * parse.c:
14151         When matching for "sudoedit" in sudoers check both the command the
14152         user typed *and* the command that is listed in the sudoers entry.
14153         [f36ca1f94095]
14154
14155 2004-07-04  Aaron Spangler  <aaron777@gmail.com>
14156
14157         * ldap.c:
14158         Added !command feature
14159         [ed539574611b]
14160
14161 2004-06-28  Todd C. Miller  <Todd.Miller@courtesan.com>
14162
14163         * auth/pam.c:
14164         Use pam_acct_mgmt() to check for disabled accounts; Brian Farrell
14165         [2be8e0e8813a]
14166
14167 2004-06-11  Todd C. Miller  <Todd.Miller@courtesan.com>
14168
14169         * LICENSE:
14170         License is ISC-style, not BSD-style
14171         [ac0589e1dd5d]
14172
14173         * CHANGES:
14174         sync
14175         [16058a30f404]
14176
14177 2004-06-10  Todd C. Miller  <Todd.Miller@courtesan.com>
14178
14179         * sudo.cat, sudo.man.in:
14180         regen
14181         [8820eb9c809b]
14182
14183         * sudo.pod:
14184         o Update some out of date bits to reality o Change the shell promt
14185         in examples to bourne-shell style o Clarify some details o Add a
14186         CAVEAT about "sudo cd /foo"
14187         [b0af373214b6]
14188
14189         * check.c:
14190         Don't ask for a password if invoking user == target user.
14191         [dd5c96141132]
14192
14193         * sudo.c:
14194         typo in comment
14195         [278d20f9b249]
14196
14197 2004-06-08  Todd C. Miller  <Todd.Miller@courtesan.com>
14198
14199         * sudoers.cat, sudoers.man.in:
14200         regen
14201         [9036c6f39eff]
14202
14203         * sudoers.pod:
14204         Expand on NOEXEC a little.
14205         [9a13756aebe4]
14206
14207         * TODO:
14208         sync
14209         [8d2c1af48de8]
14210
14211         * visudo.cat, visudo.man.in:
14212         regen
14213         [3921f01607c8]
14214
14215         * sudo.tab.c:
14216         regen
14217         [9338c3d68250]
14218
14219         * visudo.pod:
14220         Add a check in visudo for runas_default being set after it has
14221         already been used.
14222         [6700358d7ad8]
14223
14224         * CHANGES, parse.yacc, visudo.c:
14225         Add a check in visudo for runas_default being set after it has
14226         already been used.
14227         [803560986a8a]
14228
14229         * sudo.tab.c:
14230         regen
14231         [b60636e2cf63]
14232
14233         * parse.yacc:
14234         Add a MATCHED macro for testing whether foo_matches has been set to
14235         TRUE or FALSE. This is more readable than checking for >=0 or < 0.
14236         Doesn't change the actual code generated.
14237         [f376da8ccdc8]
14238
14239 2004-06-07  Todd C. Miller  <Todd.Miller@courtesan.com>
14240
14241         * sudoers.cat:
14242         regen
14243         [6cceb6d6c9bd]
14244
14245         * sudoers.man.in:
14246         regen
14247         [5acd12b730b3]
14248
14249         * sudoers.pod:
14250         Correct description of where Defaults specs should go.
14251         [6b11ff53d7ad]
14252
14253         * sudoers:
14254         Correct description of where Defaults specs should go.
14255         [868db857630d]
14256
14257         * testsudoers.c, visudo.c:
14258         update (c) year
14259         [272c8a53604c]
14260
14261         * logging.h:
14262         update (c) year
14263         [3cec76d400ce]
14264
14265         * ldap.c:
14266         update (c) year
14267         [f264632488a0]
14268
14269         * find_path.c:
14270         update (c) year
14271         [40c227af9227]
14272
14273         * auth/pam.c:
14274         update (c) year
14275         [87149e0eed50]
14276
14277         * auth/bsdauth.c, auth/kerb5.c:
14278         update (c) year
14279         [d72eb434c068]
14280
14281 2004-06-06  Todd C. Miller  <Todd.Miller@courtesan.com>
14282
14283         * sudo.tab.c:
14284         regen
14285         [83408d9e9d2e]
14286
14287         * auth/bsdauth.c, auth/kerb5.c, auth/pam.c, visudo.c:
14288         Remove trailing spaces, no actual code changes.
14289         [4c3bf2819293]
14290
14291         * tgetpass.c:
14292         Remove trailing spaces, no actual code changes.
14293         [96f6e0a24c26]
14294
14295         * ldap.c, logging.h, parse.c, parse.yacc, sudo.c, testsudoers.c:
14296         Remove trailing spaces, no actual code changes.
14297         [c7075d1cbed5]
14298
14299         * getcwd.c:
14300         Remove trailing spaces, no actual code changes.
14301         [776cc0374547]
14302
14303         * find_path.c:
14304         Remove trailing spaces, no actual code changes.
14305         [7ed7099f3c71]
14306
14307         * compat.h, defaults.c, env.c:
14308         Remove trailing spaces, no actual code changes.
14309         [893e83c33795]
14310
14311         * check.c:
14312         Remove trailing spaces, no actual code changes.
14313         [f77750f8803b]
14314
14315         * sudo.tab.c:
14316         regen
14317         [62e0ed883b31]
14318
14319         * parse.yacc:
14320         Fix a >=0 that should be <0 that was improperly converted when
14321         UNSPEC was added.
14322         [ad1531a55a49]
14323
14324         * parse.yacc:
14325         Add do {} while(0) around pop macro Set cmnd_matches to UNSPEC, not
14326         NOMATCH when resetting it.
14327         [ae017a12870a]
14328
14329         * parse.yacc:
14330         Fix pastos introduced in SETNMATCH addition.
14331         [6ea1c9d80681]
14332
14333 2004-06-05  Todd C. Miller  <Todd.Miller@courtesan.com>
14334
14335         * README.LDAP:
14336         Update for configure changes
14337         [637a635da287]
14338
14339         * sudo.tab.c:
14340         regen
14341         [4753c2788713]
14342
14343         * sudo.h:
14344         Add NOMATCH and UNSPEC defines (-1 and -2 respectively) and use
14345         these in parse.yacc. Also in parse.yacc initialize the *_matches
14346         vars to UNSPEC and add two macros, SETMATCH and SETNMATCH for use
14347         when setting *_matches to a value that may be
14348         NOMATCH/UNSPEC/TRUE/FALSE.
14349         [2ba622e15a4d]
14350
14351         * parse.yacc:
14352         Add NOMATCH and UNSPEC defines (-1 and -2 respectively) and use
14353         these in parse.yacc. Also in parse.yacc initialize the *_matches
14354         vars to UNSPEC and add two macros, SETMATCH and SETNMATCH for use
14355         when setting *_matches to a value that may be
14356         NOMATCH/UNSPEC/TRUE/FALSE.
14357         [746b519e41a6]
14358
14359         * parse.yacc:
14360         Initialize runas to -2, not -1 since we need to be able to
14361         distinguish between the initialized value and the value of a non-
14362         match when passing along the runas value to multiple commands.
14363
14364         The result of this is that an unmatched runas is now set to -1, not
14365         0. This is required now that parse.c treats a FALSE value for runas
14366         as being explicitly denied.
14367         [7791ed3621f6]
14368
14369 2004-06-03  Todd C. Miller  <Todd.Miller@courtesan.com>
14370
14371         * sudo.c, visudo.c:
14372         Error out if argc < 1.
14373         [ce6b2a9eda3c]
14374
14375         * getprogname.c:
14376         Error out if argc < 1.
14377         [c566cce8dc78]
14378
14379         * configure, configure.in:
14380         Add tests for what libs we need to link with for ldap and for
14381         whether or not lber.h needs to be explicitly included.
14382         [b2e9729cc4e7]
14383
14384 2004-06-03  Aaron Spangler  <aaron777@gmail.com>
14385
14386         * ldap.c:
14387         Solaris native LDAP build fix
14388         [39929e40eb11]
14389
14390 2004-06-01  Todd C. Miller  <Todd.Miller@courtesan.com>
14391
14392         * ldap.c:
14393         Set edn to NULL is ldap_get_dn() fails to avoid potential use of an
14394         unset variable.
14395         [6a4c20a66f98]
14396
14397         * sudo.h:
14398         Add prototype for sudo_ldap_list_matches
14399         [443b007a8dab]
14400
14401         * configure, configure.in:
14402         Better check for dirfd macro--we now set HAVE_DIRFD for the macro
14403         version too. Added check for dd_fd in `DIR' if no dirfd is found;
14404         this is now used to confitionally define the dirfd macro in
14405         compat.h.
14406         [567656978f7e]
14407
14408         * config.h.in:
14409         Better check for dirfd macro--we now set HAVE_DIRFD for the macro
14410         version too. Added check for dd_fd in `DIR' if no dirfd is found;
14411         this is now used to confitionally define the dirfd macro in
14412         compat.h.
14413         [34eace4faec8]
14414
14415         * compat.h:
14416         Better check for dirfd macro--we now set HAVE_DIRFD for the macro
14417         version too. Added check for dd_fd in `DIR' if no dirfd is found;
14418         this is now used to confitionally define the dirfd macro in
14419         compat.h.
14420         [8d50ff1bbf2a]
14421
14422         * closefrom.c:
14423         Only check /proc/$$/fd if we have the dirfd function/macro.
14424         [15e3ccce7553]
14425
14426         * compat.h, config.h.in, configure, configure.in:
14427         Add a check for a dirfd() function (like Linux) and add a dirfd
14428         macro in compat.h if there is no dirfd() function or macro.
14429         [1e95756edb50]
14430
14431         * closefrom.c, getcwd.c:
14432         dirfd() is now defined in compat.h as needed.
14433         [bb1d79271188]
14434
14435         * CHANGES:
14436         Clarify closefrom() note.
14437         [f4e4a5508dda]
14438
14439         * parse.c:
14440         When checking for a command in the directory, only copy the base dir
14441         once.
14442         [7a3276808b87]
14443
14444         * closefrom.c:
14445         If there is a /proc/$$/fd directory, behave like the Solaris
14446         closefrom() and only close the descriptors listed therein.
14447         [19de23779e84]
14448
14449         * alloc.c:
14450         compat.h guarantees INT_MAX is defined.
14451         [1bf0c79d4606]
14452
14453         * compat.h:
14454         Add definitions of OPEN_MAX and INT_MAX for those without it and
14455         remove definition of RLIM_INFINITY (now unused).
14456         [f827d1ebf96e]
14457
14458         * CHANGES, alloc.c, check.c, compat.h, find_path.c, getcwd.c, parse.c,
14459         sudo.c, sudo.h, visudo.c:
14460         Use PATH_MAX, not MAXPATHLEN since the former is standardized.
14461         [59788f211c24]
14462
14463 2004-05-31  Todd C. Miller  <Todd.Miller@courtesan.com>
14464
14465         * CHANGES:
14466         sync
14467         [d32fa124f1ad]
14468
14469         * RUNSON:
14470         Add some entries that were mailed in a while ago
14471         [ff8d5bfec54e]
14472
14473         * closefrom.c:
14474         o sysconf returns a long, not an int. o check for negative return
14475         value from sysconf/getdtablesize and use OPEN_MAX in this case. o
14476         define OPEN_MAX to 256 for those without it (a fair guess...)
14477         [ccf81ae6deb2]
14478
14479 2004-05-30  Todd C. Miller  <Todd.Miller@courtesan.com>
14480
14481         * UPGRADE:
14482         Mention change in parse order for RunAs entries.
14483         [dc73b0bca617]
14484
14485         * configure:
14486         regen
14487         [07cce8e0534e]
14488
14489 2004-05-29  Todd C. Miller  <Todd.Miller@courtesan.com>
14490
14491         * INSTALL, README.LDAP, config.h.in, configure.in:
14492         o --with-ldap now takes an optional dir as a parameter o added
14493         check for ldap_initialize() and start_tls_s()
14494         [2b846c7974c6]
14495
14496         * README.LDAP:
14497         Fix some typos, word choice and formatting issues.
14498         [00dc8ca84b10]
14499
14500 2004-05-28  Todd C. Miller  <Todd.Miller@courtesan.com>
14501
14502         * tgetpass.c:
14503         Use SA_INTERRUPT so SunOS works correctly, avoid stdio and just use
14504         read/write as it is simpler.
14505         [30f5446ee8b0]
14506
14507         * configure, configure.in:
14508         Remove hack overriding cross-compiler check. It should no longer be
14509         needed.
14510         [22a6cbd88608]
14511
14512         * compat.h:
14513         Remove select() compat bits since we no longer use select().
14514         [d7bbf7cd36f5]
14515
14516         * CHANGES, tgetpass.c:
14517         Use alarm() instead of select() for the timeout for systems that
14518         don't fully/properly implement select().
14519         [d7cc60f15800]
14520
14521 2004-05-27  Todd C. Miller  <Todd.Miller@courtesan.com>
14522
14523         * CHANGES:
14524         synbc
14525         [132a39788e07]
14526
14527         * RUNSON:
14528         update
14529         [61ef508380c6]
14530
14531         * set_perms.c:
14532         Deal with systems that have no way of setting the effective uid such
14533         as nsr-tandem-nsk.
14534         [306e00e9b5a4]
14535
14536         * configure, configure.in:
14537         Define NO_SAVED_IDS if we don't find seteuid()
14538         [8588f18345cf]
14539
14540         * config.h.in, configure, configure.in:
14541         Add back check for setreuid() since NSK doesn't have it.
14542         [43127bd703d1]
14543
14544         * sudoers.cat, sudoers.man.in:
14545         regen
14546         [af4f4b20e422]
14547
14548         * CHANGES:
14549         sync
14550         [29ca3b699c24]
14551
14552         * BUGS:
14553         sync
14554         [3593f17f72ed]
14555
14556         * parse.c:
14557         In sudoers_lookup() return VALIDATE_NOT_OK if the runas user was
14558         explicitly denied and the command matched. This fixes a long-
14559         standing bug and makes: foo machine = (ALL) /usr/bin/blah
14560         foo machine = (!bar) /usr/bin/blah
14561
14562         equivalent to: foo machine = (ALL, !bar) /usr/bin/blah
14563         [2f5ee244985a]
14564
14565         * sudoers.pod:
14566         Clarify mail_noperm
14567         [3238b2d41989]
14568
14569 2004-05-20  Aaron Spangler  <aaron777@gmail.com>
14570
14571         * Makefile.in:
14572         Missing DESTDIR in make install for sudo_noexec.la
14573         [91431e821525]
14574
14575 2004-05-17  Todd C. Miller  <Todd.Miller@courtesan.com>
14576
14577         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in, visudo.cat,
14578         visudo.man.in:
14579         regen
14580         [cdfde0dcb556]
14581
14582         * TODO:
14583         sync
14584         [4799b7d8b62c]
14585
14586         * sudoers.pod:
14587         Remove fastboot/fasthalt (who still remembers these?) and add a
14588         minimal sudoedit example.
14589         [19d299f233cd]
14590
14591         * sample.sudoers:
14592         Remove fastboot/fasthalt (who still remembers these?) and add a
14593         minimal sudoedit example.
14594         [b1bca73d6250]
14595
14596         * UPGRADE, sudo.c, visudo.c:
14597         filesystem -> file system
14598         [1e1afaf30469]
14599
14600         * TROUBLESHOOTING:
14601         filesystem -> file system
14602         [39fb594e9338]
14603
14604         * CHANGES, INSTALL:
14605         filesystem -> file system
14606         [85948b608ffe]
14607
14608         * sudo.pod, sudoers.pod:
14609         Fix some minor typos and formatting goofs
14610         [e94d243a0b90]
14611
14612         * lex.yy.c:
14613         regen
14614         [2eed0ab1f4c4]
14615
14616         * visudo.pod:
14617         remove my email addr
14618         [b63262c0389b]
14619
14620         * sudo.pod, sudoers.pod, visudo.pod:
14621         Use @mansectform@ and @mansectsu@ everywhere Make man page
14622         references links with L<>
14623         [f459f4b9ddb9]
14624
14625         * parse.lex:
14626         Accept quoted globbing characters and pass them verbatim for
14627         fnmatch()
14628         [8248b86e9380]
14629
14630         * UPGRADE:
14631         Document that /tmp/.odus is gone.
14632         [3667b66af5bb]
14633
14634         * pathnames.h.in:
14635         No longer use /tmp/.odus as a possible timestamp dir unless
14636         specifically configured to do so. Instead, if no /var/run exists,
14637         use /var/adm/sudo or /usr/adm/sudo.
14638         [48d94c9f9ad4]
14639
14640         * configure:
14641         No longer use /tmp/.odus as a possible timestamp dir unless
14642         specifically configured to do so. Instead, if no /var/run exists,
14643         use /var/adm/sudo or /usr/adm/sudo.
14644         [058d7b8cf07b]
14645
14646         * aclocal.m4:
14647         No longer use /tmp/.odus as a possible timestamp dir unless
14648         specifically configured to do so. Instead, if no /var/run exists,
14649         use /var/adm/sudo or /usr/adm/sudo.
14650         [cf52c4c2803f]
14651
14652         * CHANGES:
14653         No longer use /tmp/.odus as a possible timestamp dir unless
14654         specifically configured to do so. Instead, if no /var/run exists,
14655         use /var/adm/sudo or /usr/adm/sudo.
14656         [6058c4cefcec]
14657
14658         * set_perms.c, sudo.c, tgetpass.c, visudo.c:
14659         Preliminary changes to support nsr-tandem-nsk. Based on patches
14660         from Tom Bates.
14661         [2e5f81834383]
14662
14663         * logging.c:
14664         Preliminary changes to support nsr-tandem-nsk. Based on patches
14665         from Tom Bates.
14666         [934bbe6872b6]
14667
14668         * check.c, compat.h:
14669         Preliminary changes to support nsr-tandem-nsk. Based on patches
14670         from Tom Bates.
14671         [390b698b5924]
14672
14673 2004-05-16  Todd C. Miller  <Todd.Miller@courtesan.com>
14674
14675         * CHANGES:
14676         There was no 1.6.7p6.
14677         [8013d2e6b062]
14678
14679         * BUGS, CHANGES:
14680         sync
14681         [c38b41f32857]
14682
14683         * Makefile.in:
14684         add missing files to DISTFILES
14685         [e6a80ad03039]
14686
14687         * sudo.cat, sudoers.cat, visudo.cat:
14688         regen
14689         [027bc9746dd5]
14690
14691         * sudoers.man.in:
14692         regen
14693         [f5e85ef686cf]
14694
14695         * Makefile.in:
14696         Fix some line wrap and update (c) year
14697         [bad1f46aa1ca]
14698
14699 2004-04-28  Aaron Spangler  <aaron777@gmail.com>
14700
14701         * README.LDAP:
14702         Build Note
14703         [7a061248249b]
14704
14705 2004-04-07  Aaron Spangler  <aaron777@gmail.com>
14706
14707         * Makefile.in:
14708         Fix install-dirs
14709         [be0726dd92e7]
14710
14711 2004-04-05  Todd C. Miller  <Todd.Miller@courtesan.com>
14712
14713         * sudo.tab.c:
14714         regen
14715         [3f4f0d1ab8b9]
14716
14717         * visudo.c:
14718         In Exit() when used as a signal handler, emsg is a pointer so
14719         sizeof() is wrong so make it a #define instead. Also avoid using a
14720         negative exit value. Found by Aaron Campbell
14721         [78716a3a3fdc]
14722
14723 2004-03-24  Todd C. Miller  <Todd.Miller@courtesan.com>
14724
14725         * sudoers.pod:
14726         Remove bogus sentence about uids in a User_List. Document usernames
14727         vs. uid parsing in a Runas_List.
14728         [7ca510b5031c]
14729
14730         * parse.c, parse.h, parse.yacc, sudo.c, testsudoers.c, visudo.c:
14731         If the user specified a uid with the -u flag and the uid exists in
14732         the passwd file, set runas_user to the name, not the uid.
14733
14734         When comparing usernames in sudoers, if a name is really a uid
14735         (starts with '#') compare it numerically to pw_uid.
14736         [8d6935d04673]
14737
14738 2004-03-22  Todd C. Miller  <Todd.Miller@courtesan.com>
14739
14740         * auth/kerb5.c:
14741         krb5_mcc_ops should be const; Johnny C. Lam
14742         [aa8c753e426e]
14743
14744 2004-02-28  Aaron Spangler  <aaron777@gmail.com>
14745
14746         * CHANGES, config.h.in, ldap.c:
14747         Added start_tls support
14748         [7ef864c15b69]
14749
14750 2004-02-14  Todd C. Miller  <Todd.Miller@courtesan.com>
14751
14752         * Makefile.in:
14753         Clean up libtool stuff for 'make distclean' and add def_data.c,
14754         def_data.h to PARSESRCS.
14755         [bf9bb6bb06ab]
14756
14757 2004-02-14  Aaron Spangler  <aaron777@gmail.com>
14758
14759         * strlcat.c, strlcpy.c:
14760         Un-Fix last license munge
14761         [42654b77ac71]
14762
14763 2004-02-13  Todd C. Miller  <Todd.Miller@courtesan.com>
14764
14765         * configure:
14766         regen
14767         [e4de6b23a4dc]
14768
14769         * CHANGES, RUNSON, TODO:
14770         checkpoint
14771         [94e1ace84d5c]
14772
14773         * lex.yy.c, sudo.tab.c:
14774         regen
14775         [8ce784505643]
14776
14777         * auth/passwd.c, auth/rfc1938.c, auth/secureware.c, auth/securid.c,
14778         auth/securid5.c, auth/sia.c, auth/sudo_auth.c, auth/sudo_auth.h,
14779         emul/search.h, emul/utime.h:
14780         More to a less restrictive, ISC-style license.
14781         [a31b20e48003]
14782
14783         * auth/kerb5.c, auth/pam.c:
14784         More to a less restrictive, ISC-style license.
14785         [e41f92b41216]
14786
14787         * auth/dce.c, auth/fwtk.c, auth/kerb4.c:
14788         More to a less restrictive, ISC-style license.
14789         [87534c164a52]
14790
14791         * auth/bsdauth.c:
14792         More to a less restrictive, ISC-style license.
14793         [e21be6594b58]
14794
14795         * auth/afs.c, auth/aix_auth.c, zero_bytes.c:
14796         More to a less restrictive, ISC-style license.
14797         [6d234be91c5e]
14798
14799         * sudoers.man.in, sudoers.pod, testsudoers.c, tgetpass.c, visudo.c,
14800         visudo.man.in, visudo.pod:
14801         More to a less restrictive, ISC-style license.
14802         [b02aea324fd6]
14803
14804         * sudo_noexec.c:
14805         More to a less restrictive, ISC-style license.
14806         [a6da7631e0b2]
14807
14808         * strlcat.c, strlcpy.c, sudo.c, sudo.h, sudo.man.in, sudo.pod,
14809         sudo_edit.c:
14810         More to a less restrictive, ISC-style license.
14811         [71cdcc241e94]
14812
14813         * sigaction.c, strerror.c:
14814         More to a less restrictive, ISC-style license.
14815         [4bccdedca58a]
14816
14817         * ldap.c, logging.c, logging.h, parse.c, parse.h, pathnames.h.in,
14818         set_perms.c:
14819         More to a less restrictive, ISC-style license.
14820         [64d772d70ab3]
14821
14822         * getspwuid.c, goodpath.c, ins_2001.h, ins_classic.h, ins_csops.h,
14823         ins_goons.h, insults.h, interfaces.c, interfaces.h:
14824         More to a less restrictive, ISC-style license.
14825         [520381c60a54]
14826
14827         * find_path.c, getprogname.c:
14828         More to a less restrictive, ISC-style license.
14829         [f605d5eab6f1]
14830
14831         * fileops.c:
14832         More to a less restrictive, ISC-style license.
14833         [4129a8b38a67]
14834
14835         * env.c:
14836         More to a less restrictive, ISC-style license.
14837         [d5bd859757de]
14838
14839         * defaults.h:
14840         More to a less restrictive, ISC-style license.
14841         [008f5d5743f5]
14842
14843         * LICENSE, Makefile.in, alloc.c, check.c, closefrom.c, compat.h,
14844         defaults.c:
14845         More to a less restrictive, ISC-style license.
14846         [d8d7bfc8a18b]
14847
14848         * utime.c, version.h:
14849         More to a less restrictive, ISC-style license.
14850         [e2e038ad8209]
14851
14852         * parse.lex, parse.yacc:
14853         More to a less restrictive, ISC-style license.
14854         [2f5942e847a1]
14855
14856         * Makefile.binary:
14857         More to a less restrictive, ISC-style license.
14858         [1ed561734535]
14859
14860 2004-02-13  Aaron Spangler  <aaron777@gmail.com>
14861
14862         * sudoers2ldif:
14863         Merged in LDAP Support
14864         [3994c4d05947]
14865
14866         * ldap.c, sudo.c, sudo.h:
14867         Merged in LDAP Support
14868         [547eaa346fcc]
14869
14870         * def_data.c, def_data.h, def_data.in:
14871         Merged in LDAP Support
14872         [8fb255280e42]
14873
14874         * CHANGES, Makefile.in, README.LDAP, config.h.in, configure.in:
14875         Merged in LDAP Support
14876         [1038092a161e]
14877
14878 2004-02-08  Todd C. Miller  <Todd.Miller@courtesan.com>
14879
14880         * sudo.h, sudo_noexec.c:
14881         Only do "extern int errno" if errno is not a macro.
14882         [b2e02a08be8b]
14883
14884 2004-02-06  Todd C. Miller  <Todd.Miller@courtesan.com>
14885
14886         * set_perms.c:
14887         setreuid(0, 0) fails on QNX if the euid is not already 0 so set the
14888         euid first, then just call setuid(0) to set the real uid too.
14889         [f08546e2e0ee]
14890
14891         * set_perms.c:
14892         Use setresuid() and setreuid() for PERM_RUNAS when appropriate
14893         instead of seteuid() which may not exist.
14894         [ba508581befb]
14895
14896 2004-02-04  Todd C. Miller  <Todd.Miller@courtesan.com>
14897
14898         * LICENSE:
14899         2004
14900         [37425513a342]
14901
14902         * INSTALL, config.h.in, configure, configure.in, ins_classic.h:
14903         Add --with-pc-insults configure option
14904         [7daa5294c17b]
14905
14906         * visudo.man.in:
14907         Prefer VISUAL over EDITOR like old vipw did.
14908         [996252a4ab65]
14909
14910 2004-02-01  Todd C. Miller  <Todd.Miller@courtesan.com>
14911
14912         * sudo.man.in, sudoers.man.in:
14913         regen
14914         [a247f1c52eb9]
14915
14916         * sudoers.pod:
14917         Add a note that noexec is not a cure-all.
14918         [9e7fc535367d]
14919
14920         * sudoers.pod:
14921         Mention that disabling "root_sudo" is pretty pointless.
14922         [f38a415afba0]
14923
14924         * configure, configure.in:
14925         Substitute for root_sudo in sudoers.pod
14926         [ce483cfc86be]
14927
14928         * sudo.pod:
14929         Add sudoedit to the NAME section
14930         [51bc453ec2f6]
14931
14932         * sudoers.pod:
14933         Document that fact that setting ignore_dot in sudoers has no effect
14934         due to the fact that find_path() is called *before* sudoers is read.
14935         [6808df7e417c]
14936
14937 2004-01-30  Todd C. Miller  <Todd.Miller@courtesan.com>
14938
14939         * sudo_edit.c:
14940         Do not require _PATH_USRTMP to be set.
14941         [546f3270dd10]
14942
14943         * BUGS, CHANGES, TODO:
14944         sync
14945         [4205ddeab781]
14946
14947         * sudo.man.in:
14948         regen
14949         [e2143690a88a]
14950
14951         * sudo.pod:
14952         Clarify that when sudo is run by root with the SUDO_USER variable
14953         set, the sudoers lookup happens for root and not the SUDO_USER user.
14954         [47207bec1bdf]
14955
14956 2004-01-29  Todd C. Miller  <Todd.Miller@courtesan.com>
14957
14958         * auth/pam.c, auth/sudo_auth.c, interfaces.c, logging.c, parse.c,
14959         set_perms.c, sigaction.c, sudo.c, tgetpass.c:
14960         Use the SET, CLR and ISSET macros.
14961         [a8b0d7f1e8fd]
14962
14963         * fnmatch.c:
14964         Use the SET, CLR and ISSET macros.
14965         [1afbcba22ba6]
14966
14967         * defaults.c, env.c:
14968         Use the SET, CLR and ISSET macros.
14969         [2f39431e0a49]
14970
14971         * interfaces.h:
14972         MAIN was replaced with _SUDO_MAIN some time ago.
14973         [ea1b38f2ac9d]
14974
14975         * sudo.c:
14976         Don't look at prev_user until after we've parsed sudoers and done
14977         the password check. That way, if sudo/sudoedit is run from a root
14978         process that was invoked by sudo, we check sudoers for root, not the
14979         previous user. This makes sudoedit much more useful and means that
14980         for the sudo case, we get correct logging on who actually ran the
14981         command.
14982         [431dfbf20552]
14983
14984 2004-01-23  Todd C. Miller  <Todd.Miller@courtesan.com>
14985
14986         * sudo_edit.c:
14987         Add a comment describing why we need to be notified about our child
14988         stopping.
14989         [0bec3ce4b49d]
14990
14991 2004-01-22  Todd C. Miller  <Todd.Miller@courtesan.com>
14992
14993         * def_data.c, def_data.in:
14994         Update the noexec variable descriptions
14995         [9cb7f1aa0e57]
14996
14997         * sudoers.man.in, sudoers.pod:
14998         noexec now replaces more than just execve()
14999         [23cbdc0ee95c]
15000
15001         * sudo_noexec.c:
15002         Alas, all the world does not go through execve(2). Many systems
15003         still have an execv(2) system call, Linux 2.6 provides fexecve(2)
15004         and it is not uncommon for libc to have underscore ('_') versions of
15005         the functions to be used internally by the library. Instead of
15006         stubbing all these out by hand, define a macro and let it do the
15007         work. Extra exec functions pointed out by Reznic Valery.
15008         [9fa0cd871b0c]
15009
15010         * sudo.c, sudo_edit.c:
15011         Fix suspending the editor in -e mode. Because we do a fork() first
15012         we need to be notified when the child has been stopped and then send
15013         that same signal to ourself so the shell can do its job control
15014         thing.
15015         [773165eb6057]
15016
15017         * visudo.c:
15018         Use WIFEXITED and WEXITSTATUS macros. If there are systems out
15019         there that want to run sudo that still don't support these we can
15020         try to deal with that later.
15021         [6af68e4aff60]
15022
15023         * lex.yy.c:
15024         regen
15025         [403435317d5d]
15026
15027         * sudo.man.in, sudo.pod, sudoers.man.in, sudoers.pod:
15028         Document sudo -e / sudoedit
15029         [a80f6ea910af]
15030
15031         * configure, configure.in:
15032         fix typo
15033         [5020fcdc27f4]
15034
15035         * config.h.in, configure.in:
15036         Add SET/CLR/ISSET
15037         [03ff57286e7e]
15038
15039 2004-01-21  Todd C. Miller  <Todd.Miller@courtesan.com>
15040
15041         * sudo.c:
15042         Allow non-exclusive flags when invoked as sudoedit. Pretty print the
15043         long usage() line to not wrap (assumes 80 char display)
15044         [3941fa4004bb]
15045
15046         * Makefile.in, sudo.c:
15047         If sudo is invoked as "sudoedit" the -e flag is implied and no other
15048         flags are permitted.
15049         [929670b01293]
15050
15051         * sudo.h:
15052         Add a new flag, -e, that makes it possible to give users the ability
15053         to edit files with the editor of their choice as the invoking user,
15054         not the runas user. Temporary files are used for the actual edit
15055         and the temp file is copied over the original after the editor is
15056         done.
15057         [c4051414c1f4]
15058
15059         * Makefile.in, parse.c, parse.lex, sudo.c, sudo_edit.c:
15060         Add a new flag, -e, that makes it possible to give users the ability
15061         to edit files with the editor of their choice as the invoking user,
15062         not the runas user. Temporary files are used for the actual edit
15063         and the temp file is copied over the original after the editor is
15064         done.
15065         [37ac05c8ac3c]
15066
15067         * env.c, sudo.c:
15068         If real uid == 0 and the SUDO_USER environment variables is set, use
15069         that to determine the invoking user's true identity. That way the
15070         proper info gets logged by someone who has done "sudo su" but still
15071         uses sudo to as root. We can't do this for non-root users since
15072         that would open up a security hole, though perhaps it would be
15073         acceptable to use getlogin(2) on OSes where this a system call (and
15074         doesn't just look in the utmp file).
15075         [c2f9198708a1]
15076
15077         * pathnames.h.in:
15078         Add _PATH_TMP, _PATH_VARTMP and _PATH_USRTMP
15079         [7d9e5768df93]
15080
15081         * config.h.in, configure, configure.in:
15082         Add check for fchown(2)
15083         [a85df18798ed]
15084
15085 2004-01-20  Todd C. Miller  <Todd.Miller@courtesan.com>
15086
15087         * sudo.c:
15088         Back out portions of the -i commit that set NewArgv[0] in
15089         set_runaspw. It is far to late to set NewArgv[0] there and will have
15090         no effect anyway as cmnd and safe_cmnd have already been set.
15091         [c2d343430c1c]
15092
15093         * visudo.c, visudo.pod:
15094         Prefer VISUAL over EDITOR like old vipw did.
15095         [ae32f477cea3]
15096
15097 2004-01-19  Todd C. Miller  <Todd.Miller@courtesan.com>
15098
15099         * env.c, sudo.c:
15100         In -i mode always set new environment based on the runas user's
15101         passwd entry.
15102         [fa653b7887a8]
15103
15104 2004-01-18  Todd C. Miller  <Todd.Miller@courtesan.com>
15105
15106         * sudo.man.in, sudo.pod:
15107         Document the new -i flag and sync SYNOPSIS section with usage() in
15108         sudo.c. Also sort the flags in the OPTIONS section.
15109         [6aabc0ffc47e]
15110
15111         * sudo.c, sudo.h:
15112         o Add -i that acts similar to "su -", based on patches from David J.
15113         MacKenzie o Sort the flags in the usage message
15114         [c0fe7d6beffd]
15115
15116         * sudoers.man.in, sudoers.pod:
15117         Add a missing @runas_default@ substitution.
15118         [60516fe2d090]
15119
15120 2004-01-17  Todd C. Miller  <Todd.Miller@courtesan.com>
15121
15122         * sudo.c:
15123         Change euid to runas user before calling find_path().
15124         Unfortunately, though runas_user can be modified in sudoers we
15125         haven't parsed sudoers yet.
15126         [f469fdf2e313]
15127
15128         * sudoers.man.in, sudoers.pod:
15129         Add missing defintion of Parameter_List and use single pipes in the
15130         Defaults EBNF definition.
15131         [f7bed6e909bf]
15132
15133         * sudo.c:
15134         Fix a bug when set_runaspw() is used as a callback. We don't want
15135         to reset the contents of runas_pw if the user specified a user via
15136         the -u flag.
15137
15138         Avoid unnecessary passwd lookups in set_authpw(). In most cases we
15139         already have the info in runas_pw.
15140         [efc35623ba09]
15141
15142 2004-01-16  Todd C. Miller  <Todd.Miller@courtesan.com>
15143
15144         * check.c:
15145         Add Stan Lee / Uncle Ben quote to the lecture from RedHat
15146         [ebd5a76ccd7e]
15147
15148         * sudo.h:
15149         Update sudo_getepw() proto and add one for set_runaspw()
15150         [6ed65795c17f]
15151
15152         * parse.c:
15153         If we can't stat the command as root, try as the runas user instead.
15154         [ae713fca0e15]
15155
15156         * testsudoers.c, visudo.c:
15157         Add stub set_runaspw() function
15158         [42aa37050053]
15159
15160         * sudo.c:
15161         Add set_runaspw() function to fill in runas_pw. This will be used
15162         as a callback to update runas_pw when the runas user changes.
15163         [e570aa0088d0]
15164
15165         * env.c, sudo.c:
15166         PERM_RUNAS -> PERM_FULL_RUNAS
15167         [51eec6f9e89a]
15168
15169         * set_perms.c, sudo.h:
15170         Rename PERM_RUNAS -> PERM_FULL_RUNAS and add a PERM_RUNAS that just
15171         changes the euid.
15172         [877c6fe4d12c]
15173
15174         * getspwuid.c:
15175         Make sudo_pwdup() act like OpenBSD pw_dup() and allocate memory in
15176         one chunk for easy free()ing. Also change it from static to extern.
15177         [ab503260a7ec]
15178
15179         * defaults.c, defaults.h:
15180         Add callback support
15181         [a61c4ca983fb]
15182
15183         * mkdefaults:
15184         Add a callback field and use it for runas_default
15185         [96b69c27df5e]
15186
15187         * def_data.c, def_data.in:
15188         Add a callback field and use it for runas_default
15189         [d3e9f06872b8]
15190
15191 2004-01-15  Todd C. Miller  <Todd.Miller@courtesan.com>
15192
15193         * auth/fwtk.c:
15194         Add support for chalnecho and display server responses used by fwtk
15195         >= 2.0
15196         [b1870f7aaf0d]
15197
15198 2004-01-12  Todd C. Miller  <Todd.Miller@courtesan.com>
15199
15200         * sudoers.man.in, sudoers.pod:
15201         ld.so is ld.so.1 on solaris
15202         [2bf9a123fa4c]
15203
15204         * Makefile.in, config.h.in, configure, configure.in, sudo.c, sudo.h:
15205         Use closefrom() instead of doing the equivalent inline.
15206         [7e3ef6072884]
15207
15208         * closefrom.c:
15209         closefrom(3) for systems w/o it
15210         [35caf58bb636]
15211
15212 2004-01-09  Todd C. Miller  <Todd.Miller@courtesan.com>
15213
15214         * sudoers.man.in:
15215         Update from .pod file.
15216         [d4c94fc0e0c9]
15217
15218         * configure, configure.in:
15219         Substitute noexec_file for the sudoers man page
15220         [203d3376a551]
15221
15222         * sudo.man.in, sudo.pod:
15223         Mention noexec
15224         [014375ddbb06]
15225
15226         * sudoers.man.in, sudoers.pod:
15227         Document noexec
15228         [49a65d06201f]
15229
15230         * auth/pam.c, config.h.in, configure.in:
15231         Move PAM_CONST macro definition from config.h to pam.c where it
15232         belongs. We can't have this in config.h since that gets included too
15233         early.
15234         [e64748071637]
15235
15236         * auth/pam.c, config.h.in, configure, configure.in:
15237         Some PAM implementations put their headers in /usr/include/pam
15238         instead of /usr/include/security.
15239         [8cc749e9575c]
15240
15241         * configure.in:
15242         I missed changing the EXEC macro -> EXECV here when I changed this
15243         in config.h.in and sudo.c a while ago.
15244         [6f5afac7789f]
15245
15246         * acsite.m4:
15247         OpenBSD vax/m88k/hppa don't do shared libs
15248         [e4901d958bb7]
15249
15250         * configure, configure.in:
15251         o merge the hpux case entries into a single entry w/ its own sub-
15252         case statement. o HP-UX >= 11 support getspnam(), use it in
15253         preference to getprpwuid()
15254         [0caad428894e]
15255
15256         * configure, configure.in:
15257         eval $shrext so that it expands nicely on MacOS X
15258         [40419343eef8]
15259
15260         * Makefile.in:
15261         Don't lie about making a module, it does the wrong thing on mach
15262         [7629b28f5688]
15263
15264         * ltmain.sh:
15265         Remove requirement that libs must begin with "lib". They don't when
15266         we point directly at the lib using LD_PRELOAD or its equivalent.
15267         [d66f3de6ec85]
15268
15269         * acsite.m4:
15270         Disable support for c++, f77 and java. We don't need it, it takes a
15271         lot of time, and it hosed our check for shared lib support.
15272         [4f5749c52ce4]
15273
15274         * configure:
15275         regen
15276         [160865e9d15f]
15277
15278         * configure.in:
15279         Call AC_ENABLE_SHARED and check the status of enable_shared to know
15280         when shared libs are available.
15281         [42504c1668fc]
15282
15283         * acsite.m4:
15284         Duh, OpenBSD suports shared libs too
15285         [8e3cd9417475]
15286
15287         * config.h.in, configure.in:
15288         Only OpenPAM and Linux PAM use const qualifiers.
15289         [b2f76476e866]
15290
15291         * configure, configure.in:
15292         o No need to check for sed, libtool config does that for us o move
15293         check for --with-noexec until after libtool magic is run so we can
15294         use $can_build_shared and $shrext
15295         [668c656e89cc]
15296
15297         * ltmain.sh:
15298         Don't print a bunch of crap about library installs since we are not
15299         really installing a library.
15300         [83fbcad29fe4]
15301
15302         * env.c:
15303         Make format_env() varargs Add noexec support for Darwin, MacOS X,
15304         Irix, and Tru64
15305         [468885d75d10]
15306
15307         * acsite.m4, ltconfig, ltmain.sh:
15308         Update to libtool 1.5 with local changes: o no ldconfig in the
15309         finish step o assume no libprefix or version is needed
15310         [4961cffc3797]
15311
15312         * sudo_noexec.c:
15313         Fix compilation under K&R
15314         [8b309bf0b1b2]
15315
15316 2004-01-06  Todd C. Miller  <Todd.Miller@courtesan.com>
15317
15318         * CHANGES:
15319         checkpoint
15320         [3c368badab32]
15321
15322         * sudo_noexec.c:
15323         stub execve() that just returns EACCES; used for noexec
15324         functionality
15325         [1297acae283a]
15326
15327         * sudo.tab.h:
15328         Regen w/ updated byacc from OpenBSD; fixes a gcc 3.2 issue with
15329         generated code.
15330         [dcab78c49273]
15331
15332         * sudo.tab.c:
15333         Regen w/ updated byacc from OpenBSD; fixes a gcc 3.2 issue with
15334         generated code.
15335         [0a61c735eabe]
15336
15337 2004-01-05  Todd C. Miller  <Todd.Miller@courtesan.com>
15338
15339         * def_data.c, def_data.h, def_data.in:
15340         Move the environment defaults to the end and shorten a few of the
15341         descriptions.
15342         [66787b9c612c]
15343
15344         * configure, configure.in:
15345         no shared libs on ultris or convexos
15346         [2c5f3c456e32]
15347
15348         * Makefile.in, configure, configure.in:
15349         Build sudo_noexec shared object using libtool; could use some
15350         cleanup.
15351         [373f483555dd]
15352
15353         * acsite.m4, ltconfig, ltmain.sh:
15354         libtool scaffolding
15355         [c903a42e3d90]
15356
15357         * parse.yacc, sudo.tab.c:
15358         Merge the NOPASSWD/PASSWD and NOEXEC/EXEC rules so that order is not
15359         important.
15360         [c6e8a34639a4]
15361
15362         * defaults.c, env.c, lex.yy.c, parse.c, parse.h, parse.lex,
15363         parse.yacc, pathnames.h.in, sudo.c, sudo.h, sudo.tab.c:
15364         update copyright year
15365         [a16372ae1711]
15366
15367         * configure, configure.in, defaults.c, env.c, pathnames.h.in:
15368         Add _PATH_SUDO_NOEXEC and corresponding --with-noexec configure
15369         option. The default value of noexec_file is set to this.
15370         [7d88e1d3c494]
15371
15372         * def_data.c, def_data.h, def_data.in, env.c, lex.yy.c, parse.c,
15373         parse.h, parse.lex, parse.yacc, sudo.c, sudo.h, sudo.tab.c,
15374         sudo.tab.h:
15375         Add support for preloading a shared object containing a dummy
15376         execve() function that just sets error and returns -1. This adds a
15377         "noexec_file" option to load the filename as well as a "noexec" flag
15378         to enable it unconditionally. There is also a NOEXEC tag that can
15379         be attached to specific commands and an EXEC tag to disable it.
15380         [c8b6712feb91]
15381
15382         * mkdefaults:
15383         add missing newline to usage statement
15384         [e84746618362]
15385
15386         * config.h.in, sudo.c:
15387         Rename EXEC macro -> EXECV
15388         [ddaa0c027299]
15389
15390         * logging.c:
15391         Don't truncate usernames to 8 characters in the log message.
15392         [f62a20f27075]
15393
15394         * check.c, sudoers.man.in, sudoers.pod:
15395         Update copyright year
15396         [ca9964054085]
15397
15398         * check.c, def_data.c, def_data.h, def_data.in, sudoers.man.in,
15399         sudoers.pod:
15400         Add a new option, lecture_file, that can be used to point to a
15401         custom sudo lecture.
15402         [940133231216]
15403
15404 2003-12-31  Todd C. Miller  <Todd.Miller@courtesan.com>
15405
15406         * auth/aix_auth.c, auth/bsdauth.c, auth/fwtk.c, auth/pam.c,
15407         auth/sudo_auth.c:
15408         Add a zero_bytes() function to do the equivalent of bzero in such a
15409         way that will heopfully not be optimized away by sneaky compilers.
15410         [161b6d74bfb4]
15411
15412         * zero_bytes.c:
15413         Add a zero_bytes() function to do the equivalent of bzero in such a
15414         way that will heopfully not be optimized away by sneaky compilers.
15415         [d035abf0af94]
15416
15417         * Makefile.in, sudo.h:
15418         Add a zero_bytes() function to do the equivalent of bzero in such a
15419         way that will heopfully not be optimized away by sneaky compilers.
15420         [ff136de3e255]
15421
15422         * err.c:
15423         Use #ifdef __STDC__, not #if __STDC__.
15424         [6889dd6bc51a]
15425
15426 2003-12-30  Todd C. Miller  <Todd.Miller@courtesan.com>
15427
15428         * mkdefaults:
15429         Always put at least one space between the def_* macro name and its
15430         definition.
15431         [6b3ad0e6619a]
15432
15433         * configure, configure.in:
15434         Adjust code for --without-lecture to match new values.
15435         [062aa788a6b9]
15436
15437         * visudo.man.in:
15438         regen after pasto fix
15439         [3deec16906c0]
15440
15441         * sudoers.man.in, sudoers.pod:
15442         Document that "lecture" has changed from a flag to a tuple.
15443         [e2c03062b533]
15444
15445         * check.c, def_data.c, def_data.h, def_data.in, defaults.c,
15446         defaults.h, logging.c, mkdefaults, parse.c, sudo.c, sudo.h:
15447         Add support for tuples in def_data.in; these are implemented as an
15448         enum type. Currently there is only a single tuple enum but in the
15449         future we may have one tuple enum per T_TUPLE entry in def_data.in.
15450         Currently listpw, verifypw and lecture are tuples. This avoids the
15451         need to have two entries (one ival, one str) for pwflags and syslog
15452         values.
15453
15454         lecture is now a tuple with the following values: never, once,
15455         always
15456
15457         We no longer use both an int and string entry for syslog facilities
15458         and priorities. Instead, there are logfac2str() and logpri2str()
15459         functions that get used when we need to print the string values.
15460         [5293f946c836]
15461
15462         * auth/aix_auth.c, auth/bsdauth.c, auth/fwtk.c, auth/pam.c,
15463         auth/rfc1938.c, auth/securid5.c, auth/sia.c, auth/sudo_auth.c,
15464         check.c, def_data.h, defaults.c, defaults.h, env.c, find_path.c,
15465         logging.c, mkdefaults, parse.c, parse.yacc, set_perms.c, sudo.c,
15466         sudo.tab.c, visudo.c:
15467         Create def_* macros for each defaults value so we no longer need the
15468         def_{flag,ival,str,list,mode} macros (which have been removed). This
15469         is a step toward more flexible data types in def_data.in.
15470         [009c02934106]
15471
15472         * TODO:
15473         checkpoint
15474         [0a99a4bb5d15]
15475
15476 2003-12-23  Todd C. Miller  <Todd.Miller@courtesan.com>
15477
15478         * sudo.c:
15479         If we are in -k/-K mode, just spew to stderr. It is not unusual for
15480         users to place "sudo -k" in a .logout file which can cause sudo to
15481         be run during reboot after the YP/NIS/NIS+/LDAP/etc daemon has died.
15482         Previously, this would result in useless mail and logging.
15483         [d282e7ed63af]
15484
15485 2003-12-16  Todd C. Miller  <Todd.Miller@courtesan.com>
15486
15487         * visudo.pod:
15488         fix pasto in VISUAL description
15489         [1c6a6148b5f9]
15490
15491 2003-12-10  Todd C. Miller  <Todd.Miller@courtesan.com>
15492
15493         * configure:
15494         regen
15495         [f44312c63799]
15496
15497         * CHANGES:
15498         checkpoint
15499         [0c42e38f78d5]
15500
15501         * TROUBLESHOOTING:
15502         Some OSes (like Solaris) allow export w/ nosuid too
15503         [973ce85ffa12]
15504
15505 2003-08-12  Todd C. Miller  <Todd.Miller@courtesan.com>
15506
15507         * compat.h:
15508         We don't use FD_ZERO anymore so just define FD_SET (if not already
15509         there).
15510         [d1c8c11905cd]
15511
15512 2003-06-29  Todd C. Miller  <Todd.Miller@courtesan.com>
15513
15514         * auth/pam.c:
15515         Fix a core dump on Solaris by preserving the pam_handle_t we used
15516         during authentication for pam_prep_user(). If we didn't
15517         authenticate (ie: ticket still valid), we call pam_init() from
15518         pam_prep_user(). This is something of a hack; it may be better to
15519         change the auth API and add an auth_final() function that acts like
15520         pam_prep_user().
15521         [f787de49b175]
15522
15523 2003-06-21  Todd C. Miller  <Todd.Miller@courtesan.com>
15524
15525         * set_perms.c:
15526         Add explicit declaration of printerr variable in function header
15527         (was defaulting to int which is OK but oh so K&R :-). From Theo.
15528         [492c2358783f]
15529
15530 2003-06-09  Todd C. Miller  <Todd.Miller@courtesan.com>
15531
15532         * config.h.in, configure.in:
15533         s/HAVE_STOW/USE_STOW/
15534         [4b99e1824ece]
15535
15536         * logging.c:
15537         Also exit waitpid() loop when pid == 0. Fixes a problem where the
15538         sudo process would spin eating up CPU until sendmail finished when
15539         it has to send mail.
15540         [ec3d5792b9b4]
15541
15542 2003-05-30  Todd C. Miller  <Todd.Miller@courtesan.com>
15543
15544         * fnmatch.c:
15545         Remove advertising clause, UCB has disavowed it
15546         [43a26bbd6628]
15547
15548         * fnmatch.3:
15549         Remove advertising clause, UCB has disavowed it
15550         [3ff24291bcfa]
15551
15552 2003-05-22  Todd C. Miller  <Todd.Miller@courtesan.com>
15553
15554         * parse.c:
15555         Don't assume that getgrnam() calls don't modify contents of struct
15556         passwd returned by getpwnam(). On FreeBSD w/ NIS this can happen.
15557         Based on a patch from Kirk Webb.
15558         [5574c68f60f3]
15559
15560 2003-05-06  Todd C. Miller  <Todd.Miller@courtesan.com>
15561
15562         * configure.in:
15563         missing ;;
15564         [22378f2a9d31]
15565
15566         * configure.in:
15567         darwin has a broken setreuid() in at least some versions
15568         [d572aed930d2]
15569
15570         * env.c:
15571         Fix an off by one error when reallocating the environment; Kevin Pye
15572         [3d98e7cf097a]
15573
15574 2003-04-30  Todd C. Miller  <Todd.Miller@courtesan.com>
15575
15576         * sudoers.pod:
15577         Fix User_Spec definition; SEKINE Tatsuo
15578         [49b0da65e090]
15579
15580 2003-04-28  Todd C. Miller  <Todd.Miller@courtesan.com>
15581
15582         * HISTORY:
15583         More info on the early days from Coggs.
15584         [9381ca10b06b]
15585
15586 2003-04-21  Todd C. Miller  <Todd.Miller@courtesan.com>
15587
15588         * auth/kerb5.c:
15589         remove errant semicolon that prevented compilation under heimdal
15590         [d2f2bb73a598]
15591
15592 2003-04-16  Todd C. Miller  <Todd.Miller@courtesan.com>
15593
15594         * testsudoers.c, tgetpass.c, visudo.c, visudo.man.in, visudo.pod:
15595         add DARPA credit on affected files
15596         [7020785ee50d]
15597
15598         * sudoers.pod:
15599         add DARPA credit on affected files
15600         [83b46318750b]
15601
15602         * sigaction.c, strerror.c, sudo.c, sudo.h, sudo.man.in, sudo.pod,
15603         sudoers.man.in:
15604         add DARPA credit on affected files
15605         [d8adf1c2ba22]
15606
15607         * set_perms.c:
15608         add DARPA credit on affected files
15609         [3d79fdabb582]
15610
15611         * pathnames.h.in:
15612         add DARPA credit on affected files
15613         [e334cdda422f]
15614
15615         * logging.c, parse.c:
15616         add DARPA credit on affected files
15617         [8f75f822755b]
15618
15619         * auth/passwd.c, auth/rfc1938.c, auth/secureware.c, auth/securid.c,
15620         auth/securid5.c, auth/sia.c, auth/sudo_auth.c, fileops.c,
15621         find_path.c, getprogname.c, getspwuid.c, goodpath.c, interfaces.c,
15622         interfaces.h:
15623         add DARPA credit on affected files
15624         [da66e28fb3f5]
15625
15626         * auth/kerb5.c, auth/pam.c:
15627         add DARPA credit on affected files
15628         [15da3021b49c]
15629
15630         * auth/afs.c, auth/aix_auth.c, auth/bsdauth.c, auth/dce.c,
15631         auth/fwtk.c, auth/kerb4.c, parse.lex, parse.yacc, utime.c,
15632         version.h:
15633         add DARPA credit on affected files
15634         [868d54cbddea]
15635
15636         * env.c:
15637         add DARPA credit on affected files
15638         [90239f51ef0a]
15639
15640         * defaults.c, defaults.h:
15641         add DARPA credit on affected files
15642         [6a64205fd1eb]
15643
15644         * compat.h:
15645         add DARPA credit on affected files
15646         [316a735783c4]
15647
15648         * Makefile.in, alloc.c, check.c:
15649         add DARPA credit on affected files
15650         [cd939e05c810]
15651
15652         * LICENSE:
15653         slightly different wording for the darpa credit
15654         [e468909c4a21]
15655
15656 2003-04-15  Todd C. Miller  <Todd.Miller@courtesan.com>
15657
15658         * LICENSE:
15659         Add DARPA credit
15660         [8eb20e2cd63e]
15661
15662 2003-04-14  Todd C. Miller  <Todd.Miller@courtesan.com>
15663
15664         * auth/kerb5.c:
15665         Use krb5_princ_component() instead of krb5_princ_realm() for MIT
15666         Kerberos like we did before I messed things up ;-)
15667
15668         Use krb5_principal_get_comp_string() to do the same thing w/
15669         Heimdal. I'm not sure if the component should be 0 or 1 in this
15670         case.
15671
15672         #define ENCTYPE_DES_CBC_MD5 ETYPE_DES_CBC_MD5 for Heimdal since
15673         older versions lack ENCTYPE_DES_CBC_MD5. This is gross and there
15674         should be a configure check for this I guess.
15675         [74919a3933fe]
15676
15677 2003-04-13  Todd C. Miller  <Todd.Miller@courtesan.com>
15678
15679         * sample.sudoers:
15680         builtin -> built-in; Jason McIntyre
15681         [027f2187923e]
15682
15683         * TROUBLESHOOTING, config.h.in, configure, configure.in:
15684         builtin -> built-in; Jason McIntyre
15685         [70b81ac48943]
15686
15687         * sudoers.pod:
15688         built in -> built-in; Jason McIntyre
15689         [da658ef5138d]
15690
15691 2003-04-09  Todd C. Miller  <Todd.Miller@courtesan.com>
15692
15693         * CHANGES:
15694         checkpoint for 1.6.7p3
15695         [da85f989fadf]
15696
15697         * HISTORY:
15698         Update info on the early years @ SUNY-Buffalo from Cliff Spencer.
15699         Amazingly, sudo source from 1985 is available via groups.google.com
15700         [39e0fc85b89f]
15701
15702         * sudo.c:
15703         Don't change rl.rlim_max for RLIMIT_CORE. We need only set
15704         rl.rlim_cur to 0 to turn off core dumps. This may be needed for the
15705         RLIMIT_CORE restoration on some OSes.
15706         [7e2c1a7adfd8]
15707
15708 2003-04-04  Todd C. Miller  <Todd.Miller@courtesan.com>
15709
15710         * auth/kerb5.c:
15711         Make this compile on Heimdal and MIT Kerberos 5
15712         [44c07d615868]
15713
15714         * config.h.in, configure, configure.in:
15715         Check for heimdal even if we found krb5-config and define
15716         HAVE_HEIMDAL.
15717         [aba0126f0059]
15718
15719         * auth/kerb5.c:
15720         Replace ETYPE_DES_CBC_MD5 with ENCTYPE_DES_CBC_MD5. The former is
15721         no longer defined by MIT kerb5 (though it used to be and indeed
15722         remains so in Heimdal).
15723         [e5a6c64d7cd5]
15724
15725 2003-04-03  Todd C. Miller  <Todd.Miller@courtesan.com>
15726
15727         * mkinstalldirs:
15728         Remove newer stuff that passes multiple (possibly duplicate)
15729         directories to "mkdir -p" since that seems to break on Tru64 Unix at
15730         least. This basically brings back what shipped with sudo 1.6.6.
15731         [f2a1abd872b3]
15732
15733 2003-04-02  Todd C. Miller  <Todd.Miller@courtesan.com>
15734
15735         * auth/kerb5.c:
15736         Correct number of args to krb5_principal_get_realm() and fix an
15737         unclosed comment that hid the bug.
15738         [0b37f8ce7824]
15739
15740         * configure:
15741         regen
15742         [1876cb840fe0]
15743
15744         * configure.in:
15745         ++version
15746         [480aff7c048e]
15747
15748         * README:
15749         ++version
15750         [488e0bbff613]
15751
15752         * Makefile.in:
15753         ++version
15754         [97ef63cedc38]
15755
15756         * INSTALL.binary:
15757         ++version
15758         [a506204e77d0]
15759
15760         * INSTALL:
15761         ++version
15762         [555aeba5c2bf]
15763
15764         * CHANGES, version.h:
15765         ++version
15766         [f66985a64063]
15767
15768         * BUGS:
15769         ++version
15770         [ea3573432412]
15771
15772         * configure.in:
15773         use krb5-config to determine Kerberos V details if it exists
15774         [7b46bbdaf774]
15775
15776         * alloc.c, auth/fwtk.c, auth/rfc1938.c, auth/securid.c,
15777         auth/securid5.c, auth/sia.c, check.c, compat.h, defaults.c, env.c,
15778         find_path.c, interfaces.c, logging.c, parse.c, sudo.c, sudo.h,
15779         testsudoers.c, visudo.c:
15780         Use warn/err and getprogname() throughout. The main exception is
15781         openlog(). Since the admin may be filtering logs based on the
15782         program name in the log files, hard code this to "sudo".
15783         [9f180d015cfa]
15784
15785         * Makefile.in:
15786         Add getprogname.c and err.c
15787         [d411c54a07dc]
15788
15789         * configure:
15790         regen
15791         [6d585d391acc]
15792
15793         * config.h.in, configure.in:
15794         Add checks for getprognam(), __progname and err.h
15795         [bcbccf61d34a]
15796
15797         * emul/err.h:
15798         For systems withour err/warn functions.
15799         [1b33118884d9]
15800
15801         * err.c:
15802         For systems withour err/warn functions.
15803         [26721f6b041f]
15804
15805         * getprogname.c:
15806         For systems neither getprogname() nor __progname; uses Argv[0].
15807         [841cf42af1eb]
15808
15809 2003-04-01  Todd C. Miller  <Todd.Miller@courtesan.com>
15810
15811         * CHANGES:
15812         checkpoint for 1.6.7p1
15813         [5bfdaf441dce]
15814
15815         * sudo.c, testsudoers.c:
15816         fix strlcpy() rval check (innocuous)
15817         [e05ac7e0d1f3]
15818
15819         * check.c:
15820         oflow detection in expand_prompt() was faulty (false positives). The
15821         count was based on strlcat() return value which includes the length
15822         of the entire string.
15823         [086c5a0acb25]
15824
15825 2003-03-31  Todd C. Miller  <Todd.Miller@courtesan.com>
15826
15827         * RUNSON, TODO:
15828         checkpoint for the sudo 1.6.7 release
15829         [096bab4da29a] [SUDO_1_6_7]
15830
15831         * CHANGES:
15832         checkpoint for the sudo 1.6.7 release
15833         [87322187ed78]
15834
15835 2003-03-24  Todd C. Miller  <Todd.Miller@courtesan.com>
15836
15837         * logging.c:
15838         g/c unused variable
15839         [c57cd4a17765]
15840
15841         * configure:
15842         regen
15843         [e7c1f581dfac]
15844
15845         * configure.in:
15846         use man sections 8 and 5 for csops
15847         [87de581bda88]
15848
15849 2003-03-21  Todd C. Miller  <Todd.Miller@courtesan.com>
15850
15851         * configure:
15852         regen
15853         [cb1433a9c7a1]
15854
15855         * configure.in:
15856         Add -lskey or -lopie directly to SUDO_LIBS instead of having
15857         AC_CHECK_LIB() add them to LIBS. Fixes visudo linkage.
15858         [ac5667978939]
15859
15860         * configure:
15861         regen
15862         [638459118a2a]
15863
15864         * configure.in:
15865         Add --with-blibpath for AIX. An alternate libpath may be specified
15866         or
15867         -blibpath support can be disabled. Also change conifgure such that
15868         -blibpath is not specified if no -L libpaths were added to
15869         SUDO_LDFLAGS.
15870         [c7d17b480cad]
15871
15872         * aclocal.m4:
15873         Add --with-blibpath for AIX. An alternate libpath may be specified
15874         or
15875         -blibpath support can be disabled. Also change conifgure such that
15876         -blibpath is not specified if no -L libpaths were added to
15877         SUDO_LDFLAGS.
15878         [37022e991575]
15879
15880         * INSTALL:
15881         Add --with-blibpath for AIX. An alternate libpath may be specified
15882         or
15883         -blibpath support can be disabled. Also change conifgure such that
15884         -blibpath is not specified if no -L libpaths were added to
15885         SUDO_LDFLAGS.
15886         [4b4bbe5bbe1b]
15887
15888         * configure.in:
15889         add AIX blibpath support
15890         [16ba788bf086]
15891
15892         * INSTALL, configure.in:
15893         --with-skey and --with-opie now take an option directory argument
15894         This obsoletes a --with-csops hack (/tools/cs/skey)
15895
15896         Also remove the remaining direct uses of "echo"
15897         [5b4986a90c03]
15898
15899 2003-03-20  Todd C. Miller  <Todd.Miller@courtesan.com>
15900
15901         * configure.in:
15902         Detect KTH Kerberos IV and deal with it. Also make -lroken optional
15903         for KTH Kerberos IV and V.
15904         [119f97b48e18]
15905
15906         * aclocal.m4:
15907         Add SUDO_APPEND_LIBPATH function that add -L/path/to/dir (and
15908         -R/path/to/dir if $with_rpath) to the specified variable.
15909         [e55e49d076ce]
15910
15911         * INSTALL, configure.in:
15912         Add -R/path/to/libs for Solaris and SVR4. There is a new configure
15913         option, --with-rpath to control this behavior.
15914         [d4730c5399ab]
15915
15916         * configure.in:
15917         for kerb4 put libdes after libkrb on the link line
15918         [5c566100eab6]
15919
15920         * auth/kerb4.c:
15921         typo
15922         [6541b72b64a3]
15923
15924         * configure.in:
15925         fix kerberos lib check when a path is specified
15926         [ae833a914c6f]
15927
15928         * logging.c:
15929         Fix boolean thinko in SIGCHLD reaper and call reapchild after
15930         sending mail instead of doing a conditional sudo_waitpid.
15931         [86fa9a35df5a]
15932
15933 2003-03-19  Todd C. Miller  <Todd.Miller@courtesan.com>
15934
15935         * configure:
15936         regen
15937         [e6275cf528ba]
15938
15939         * configure.in:
15940         replace =DIR with [=DIR] where sensible
15941         [c39a59173b38]
15942
15943         * configure.in:
15944         o Use AC_MSG_* instead of "echo" o New Kerberos include/lib
15945         detection based on openssh's configure.in
15946         [5b7a340912df]
15947
15948         * INSTALL:
15949         --with-kerb4 and --with-kerb5 now take an optional argument.
15950         [71ed87fc9c64]
15951
15952 2003-03-16  Todd C. Miller  <Todd.Miller@courtesan.com>
15953
15954         * auth/securid.c:
15955         Kill remaining strcpy(), the programmer's guide says username is 32
15956         bytes.
15957         [bdba70fcd08d]
15958
15959         * auth/kerb4.c:
15960         trat uid_t as unsigned long for printf and use snprintf, not sprintf
15961         [8072f5f8966d]
15962
15963         * auth/rfc1938.c:
15964         use snprintf
15965         [fc0c70c665fe]
15966
15967 2003-03-15  Todd C. Miller  <Todd.Miller@courtesan.com>
15968
15969         * auth/afs.c, auth/aix_auth.c, auth/bsdauth.c, auth/dce.c,
15970         auth/fwtk.c, auth/kerb4.c, auth/kerb5.c, auth/pam.c, auth/passwd.c,
15971         auth/rfc1938.c, auth/sudo_auth.c:
15972         update copyright year
15973         [b0a10ccb1d0e]
15974
15975         * sudo.man.in, sudoers.man.in, visudo.man.in:
15976         update copyright year
15977         [8fce0034eb51]
15978
15979         * LICENSE, Makefile.in, aclocal.m4, alloc.c, check.c, compat.h,
15980         configure.in, env.c, find_path.c, interfaces.c, logging.c, parse.c,
15981         parse.lex, parse.yacc, set_perms.c, sudo.c, sudo.h, sudo.pod,
15982         sudoers.pod, testsudoers.c, version.h, visudo.c, visudo.pod:
15983         update copyright year
15984         [d541e75fe520]
15985
15986         * check.c, env.c, sudo.c:
15987         Cast [ug]ids to unsigned long and printf with %lu
15988         [2ede64d3592b]
15989
15990         * configure:
15991         regen
15992         [c7c3245bdf3e]
15993
15994         * configure.in:
15995         correct error messages for --with-sudoers-{mode,uid,gid}
15996         [77fc15b1c9db]
15997
15998         * alloc.c:
15999         make the malloc(0) error specific to each function to aid tracking
16000         down bugs.
16001         [a58c34374b4b]
16002
16003         * alloc.c:
16004         deal with platforms where size_t is signed and there is no SIZE_MAX
16005         or SIZE_T_MAX
16006         [7192abb4ab4e]
16007
16008         * auth/kerb5.c:
16009         Make this compile w/ Heimdal and fix some gcc warnings.
16010         [f52f026f31c2]
16011
16012         * sudo.c:
16013         Use stat_sudoers macro so --with-stow can work
16014         [c3674735c139]
16015
16016         * INSTALL, config.h.in, configure, configure.in:
16017         Add support for --with-stow based on patches from Robert Uhl
16018         [b274cc1dd52c]
16019
16020         * env.c:
16021         fix indentation
16022         [110d9f1721b1]
16023
16024         * configure.in:
16025         back out rev 1.352
16026         [1eee91c83f11]
16027
16028         * lex.yy.c:
16029         regen
16030         [72fba1c9590b]
16031
16032         * parse.lex:
16033         use strlcpy, not strncpy
16034         [4faccbaeccef]
16035
16036         * set_perms.c:
16037         Fix typo; check pw_uid, not pw_gid after setusercontext() failure.
16038         [33bf0d18fdc1]
16039
16040         * logging.c:
16041         use pid_t
16042         [3e0536993d2c]
16043
16044 2003-03-14  Todd C. Miller  <Todd.Miller@courtesan.com>
16045
16046         * strlcat.c, strlcpy.c:
16047         Make gcc shutup about unused rcsid
16048         [1669a0c74e9e]
16049
16050         * interfaces.c:
16051         Move the n == 0 check for the non-getifaddrs cas
16052         [2460be061b2a]
16053
16054         * auth/rfc1938.c:
16055         skeychallenge() on NetBSD take a size parameter
16056         [05acc2012801]
16057
16058         * configure:
16059         regen
16060         [24bccf4749e8]
16061
16062         * configure.in:
16063         put -ldl after -lpam, not before; fixes static linking on Linux
16064         [7f06b7b2b4d8]
16065
16066         * interfaces.c:
16067         Avoid malloc(0) and fix the loop invariant for the getifaddrs()
16068         case.
16069         [239a55068646]
16070
16071         * sudo.cat, sudoers.cat, visudo.cat:
16072         regen
16073         [4a2eed3981ca]
16074
16075         * sudo.man.in, sudoers.man.in, visudo.man.in:
16076         regen
16077         [2c96ea2cf930]
16078
16079         * Makefile.in:
16080         Preserve copyright notice from .pod file in .man.in file
16081         [519fbd09aebc]
16082
16083         * visudo.pod:
16084         Add sudoers(5) to SEE ALSO
16085         [77ecfe3aedf1]
16086
16087 2003-03-13  Todd C. Miller  <Todd.Miller@courtesan.com>
16088
16089         * lex.yy.c:
16090         regen
16091         [6f5751ce0b74]
16092
16093         * parse.lex:
16094         Don't assume libc can realloc() a NULL string. If malloc/realloc
16095         fails, make sure we just return; yyerror() is not terminal.
16096         [1b8618623708]
16097
16098         * lex.yy.c:
16099         regen
16100         [5d31b46191c6]
16101
16102         * parse.lex:
16103         simplify fill_args a little and use strlcpy for paranoia
16104         [0ea35a55542b]
16105
16106         * sudo.tab.c:
16107         regen
16108         [5a8d508d708b]
16109
16110         * check.c, env.c, find_path.c, parse.c, parse.yacc, sudo.c,
16111         testsudoers.c:
16112         Use strlc{at,py} for paranoia's sake and exit on overflow. In all
16113         cases the strings were either pre-allocated to the correct size of
16114         length checks were done before the copy but a little paranoia can go
16115         a long way.
16116         [e73d28f1d14e]
16117
16118         * sudo.h:
16119         Add strlc{at,py} protos
16120         [748ffc7fc7f4]
16121
16122         * env.c, interfaces.c:
16123         Use erealloc3()
16124         [47f2cb46aba8]
16125
16126         * configure:
16127         regen
16128         [e7e2fb79f935]
16129
16130         * alloc.c:
16131         Oflow test of nmemb > SIZE_MAX / size is fine (don't need >=). Use
16132         memcpy() instead of strcpy() in estrdup() so this is strcpy()-free.
16133         [7e0fa4d6fc1d]
16134
16135         * sudo.c:
16136         snprintf() a uid as %lu, not %ld to match the MAX_UID_T_LEN test in
16137         configure.
16138         [09ea4d3959e9]
16139
16140         * aclocal.m4:
16141         In MAX_UID_T_LEN test cast uid_t to unsigned long, just unsigned.
16142         [31b4fdfdb8bf]
16143
16144 2003-03-12  Todd C. Miller  <Todd.Miller@courtesan.com>
16145
16146         * sudo.c:
16147         Use snprintf() for paranoia
16148         [a2659ceb46de]
16149
16150         * parse.yacc:
16151         Use emalloc2 and erealloc3
16152         [90a069842401]
16153
16154         * Makefile.in:
16155         strlc{at,py} for those w/o it
16156         [bac82dc916ee]
16157
16158         * strlcat.c, strlcpy.c:
16159         stlc{at,py} for those w/o it.
16160         [ce7254f5db09]
16161
16162         * config.h.in, configure, configure.in:
16163         Add stlc{at,py} for those w/o it.
16164         [00f08219657a]
16165
16166         * alloc.c, sudo.h:
16167         Add erealloc3(), a realloc() version of emalloc2().
16168         [c96eaf08bbed]
16169
16170         * interfaces.c, sudo.c:
16171         Use emalloc2() to allocate N things of a certain size.
16172         [1e0aba365555]
16173
16174         * alloc.c, sudo.h:
16175         Add emalloc2() -- like calloc() but w/o the bzero and with
16176         error/oflow checking.
16177         [292150bc4153]
16178
16179         * alloc.c:
16180         Error out on malloc(0); suggested by theo
16181         [995279e81326]
16182
16183 2003-03-10  Todd C. Miller  <Todd.Miller@courtesan.com>
16184
16185         * configure, configure.in:
16186         fix a typo; David Krause
16187         [f161213a17ab]
16188
16189 2003-03-07  Todd C. Miller  <Todd.Miller@courtesan.com>
16190
16191         * sudo.pod:
16192         fix typo
16193         [3ae5ad9a351a]
16194
16195 2003-03-04  Todd C. Miller  <Todd.Miller@courtesan.com>
16196
16197         * env.c:
16198         Remove DYLD_ from the environment for MacOS X; from bbraun
16199         [38caad5a3935]
16200
16201 2003-03-01  Todd C. Miller  <Todd.Miller@courtesan.com>
16202
16203         * config.h.in, configure.in:
16204         not not; Anil Madhavapeddy
16205         [d4f4f0bfc66b]
16206
16207 2003-01-23  Todd C. Miller  <Todd.Miller@courtesan.com>
16208
16209         * sudo.pod, sudoers.pod, visudo.pod:
16210         typos; jmc@openbsd.org
16211         [868c0f09bf9e]
16212
16213 2003-01-20  Todd C. Miller  <Todd.Miller@courtesan.com>
16214
16215         * parse.yacc:
16216         Add some missing ';' rule terminators that bison warns about.
16217         [535b0b8dcce5]
16218
16219         * config.sub:
16220         fix typo I introduced in last merge
16221         [81db4e4f43fe]
16222
16223         * configure:
16224         regenerate with autoconf 2.57
16225         [ca0c1e9564f8]
16226
16227         * config.h.in:
16228         Add missing "$HOME"
16229         [209186197ad1]
16230
16231         * configure.in:
16232         Add some more square backets to make autoconf 2.57 happy
16233         [b5639c14faf7]
16234
16235         * config.sub, mkinstalldirs:
16236         Updates from autoconf-2.57
16237         [36be35eb331b]
16238
16239         * config.guess:
16240         Updates from autoconf-2.57
16241         [ea0f8ca622af]
16242
16243 2003-01-17  Todd C. Miller  <Todd.Miller@courtesan.com>
16244
16245         * sudo.tab.h:
16246         regen
16247         [13a65a421567]
16248
16249         * lex.yy.c, sudo.tab.c:
16250         regen
16251         [0b529db7cb6d]
16252
16253         * parse.lex, parse.yacc, sudoers.pod:
16254         Add support for Defaults>RunasUser
16255         [20d726373175]
16256
16257 2003-01-07  Todd C. Miller  <Todd.Miller@courtesan.com>
16258
16259         * visudo.c:
16260         fclose() yyin after each yyparse() is done and use fopen() instead
16261         of using freopen().
16262         [587f8a2df857]
16263
16264         * parse.lex:
16265         Better fix for sudoers files w/o a newline before EOF. It looks
16266         like the issue is that yyrestart() does not reset the start
16267         condition to INITIAL which is an issue since we parse sudoers
16268         multiple times.
16269         [920f8326968a]
16270
16271 2003-01-06  Todd C. Miller  <Todd.Miller@courtesan.com>
16272
16273         * parse.lex:
16274         Work around what appears to be a flex bug when dealing with files
16275         that lack a final newline before EOF. This adds a rule to match EOF
16276         in the non-initial states which resets the state to INITIAL and
16277         throws an error.
16278         [b94943bb1f81]
16279
16280         * visudo.c:
16281         o The parser needs sudoers to end with a newline but some editors
16282         (emacs) may not add one. Check for a missing newline at EOF and
16283         add one if needed. o Set quiet flag during initial sudoers parse (to
16284         get options) o Move yyrestart() call and always use freopen() to
16285         open yyin after initial sudoers parse.
16286         [12d12f9b07aa]
16287
16288 2002-12-15  Todd C. Miller  <Todd.Miller@courtesan.com>
16289
16290         * set_perms.c:
16291         Fix pasto/thinko in setresgid()/setregid() usage. Want to set
16292         effective gid, not real gid, when reading sudoers.
16293         [c7d18b810fcd]
16294
16295         * set_perms.c:
16296         don't compile set_perms_posix if we have setreuid or setresuid
16297         [b9cea7a81a29]
16298
16299 2002-12-14  Todd C. Miller  <Todd.Miller@courtesan.com>
16300
16301         * sudo.pod, sudoers.pod:
16302         document new prompt escapes
16303         [2f088076b640]
16304
16305         * check.c:
16306         Add %U and %H escapes and redo prompt rewriting. "%%" now gets
16307         collapsed to "%" as was originally intended. This also gets rid of
16308         lastchar (does lookahead instead of lookback) which should simplify
16309         the logic slightly.
16310         [4b707b77b3c7]
16311
16312 2002-12-13  Todd C. Miller  <Todd.Miller@courtesan.com>
16313
16314         * tgetpass.c:
16315         Write the prompt *after* turning off echo to avoid some password
16316         characters being echoed on heavily-loaded machines with fast
16317         typists.
16318         [d38c57775915]
16319
16320         * config.sub:
16321         Add support for mipseb; wiz@danbala.tuwien.ac.at
16322         [cfdac87ed5c8]
16323
16324         * configure.in:
16325         Fix IRIX fallout from name changes in man dir/sect Makefile
16326         variables. Patch from erici AT motown DOT cc DOT utexas DOT edu
16327         [9a7618755c23]
16328
16329         * auth/pam.c:
16330         Keep a local copy of tgetpass_flags so we don't add in TGP_ECHO to
16331         the global copy. Problem noted by Peter Pentchev.
16332         [d0a3e189cb06]
16333
16334 2002-11-28  Todd C. Miller  <Todd.Miller@courtesan.com>
16335
16336         * sudo.tab.c:
16337         regen
16338         [23b931359087]
16339
16340         * parse.yacc:
16341         Add missing yyerror() calls; YYERROR does not seem to call this for
16342         us.
16343         [0be7aeb3ac57]
16344
16345 2002-11-26  Todd C. Miller  <Todd.Miller@courtesan.com>
16346
16347         * sudo.c:
16348         fix typo in comment; Pedro Bastos
16349         [d7406c460e99]
16350
16351 2002-11-22  Todd C. Miller  <Todd.Miller@courtesan.com>
16352
16353         * INSTALL:
16354         document --disable-setresuid
16355         [fbd03d03a027]
16356
16357         * auth/aix_auth.c, auth/bsdauth.c, auth/fwtk.c, auth/pam.c,
16358         auth/sudo_auth.c:
16359         Sprinkle some volatile qualifiers to prevent over-enthusiastic
16360         optimizers from removing memset() calls.
16361         [5370ac0e6129]
16362
16363         * logging.c, parse.yacc:
16364         minor sign fixes pointed out by gcc -Wsign-compare
16365         [db872438337f]
16366
16367         * set_perms.c, sudo.c, sudo.h:
16368         Revamp set_perms. We now use a version based on setresuid() or
16369         setreuid() when possible since that allows us to support the
16370         stay_setuid option and we always know exactly what the semantics
16371         will be (various Linux kernels have broken POSIX saved uid support).
16372         [523bc212396c]
16373
16374         * config.h.in, configure:
16375         regen from configure.in
16376         [351877ea2624]
16377
16378         * configure.in:
16379         Add checks for setresuid() and a way to disable using it
16380         [a5b21653d169]
16381
16382         * compat.h:
16383         No long need to emulate set*[ug]id() via setres[ug]id() or
16384         setre[ug]id(). The new set_perms stuff only uses things it knows are
16385         there.
16386         [47884bd5d1d9]
16387
16388         * sudo.c:
16389         Before exec, restore state of signal handlers to be the same as when
16390         we were initialy invoked instead of just reseting to SIG_DFL. Fixes
16391         a problem when using sudo with nohup. Based on a patch from Paul
16392         Markham.
16393         [f8f5a1484faa]
16394
16395         * sudo.c:
16396         o timestamp_uid should be uid_t, not int o clarify error message
16397         when sudo is run by root and no_root_sudo is set
16398         [19dda0734264]
16399
16400 2002-09-19  Todd C. Miller  <Todd.Miller@courtesan.com>
16401
16402         * README:
16403         update ftp link for bison
16404         [98bc191016e3]
16405
16406 2002-07-20  Todd C. Miller  <Todd.Miller@courtesan.com>
16407
16408         * set_perms.c:
16409         Error out if setusercontext() fails and the runas user is not root.
16410         [089f9ade4686]
16411
16412 2002-05-20  Todd C. Miller  <Todd.Miller@courtesan.com>
16413
16414         * auth/securid5.c:
16415         Fix rcsid
16416         [07e9e85dcc2f]
16417
16418         * configure.in:
16419         Fix SecurID API test
16420         [5ec201f454a5]
16421
16422 2002-05-17  Todd C. Miller  <Todd.Miller@courtesan.com>
16423
16424         * env.c:
16425         typo in comment
16426         [9d385c9ac533]
16427
16428         * configure.in:
16429         securid5 stuff needs pthreads. Just adding -lpthread is suboptimal
16430         but I don't see a better way at the moment.
16431         [f89e55cbb313]
16432
16433         * Makefile.in, auth/securid5.c:
16434         SecurID API version 5 support from Michael Stroucken
16435         [68500ac7e531]
16436
16437         * configure.in:
16438         Add check for SecurID 5.0 API
16439         [1ee242e6de6b]
16440
16441 2002-05-08  Todd C. Miller  <Todd.Miller@courtesan.com>
16442
16443         * strerror.c:
16444         We actually do still need config.h to get the 'const' definition for
16445         K&R C.
16446         [d9c982032d85]
16447
16448 2002-05-05  Todd C. Miller  <Todd.Miller@courtesan.com>
16449
16450         * configure:
16451         regen with autoconf 2.5.3
16452         [c71fc086eef5]
16453
16454         * configure.in:
16455         Don't set sysconfdir to '/etc' if the user has specified a --prefix.
16456         [d90da1efafd9]
16457
16458         * configure.in:
16459         Some fixes for autoconf 2.53 from Robert Uhl o don't AC_SUBST
16460         LIBOBJS o force a 4th arg for AC_CHECK_HEADER() to workaround a bug
16461         [dd67afefa90d]
16462
16463         * env.c, sudo.c, sudo.h:
16464         No need for dump_badenv() now that dump_defaults() knows how to dump
16465         lists.
16466         [6bcda468501d]
16467
16468         * BUGS, INSTALL, INSTALL.binary, Makefile.in, README, configure.in,
16469         version.h:
16470         ++version
16471         [44e3b8f95f0b]
16472
16473         * sudoers.pod:
16474         document timestampowner
16475         [37ebd69e9dd1]
16476
16477         * check.c:
16478         Don't call set_perms() when doing timestamp stuff unless
16479         timestamp_uid != 0.
16480         [63a63d41d18c]
16481
16482         * auth/sudo_auth.c, check.c, logging.c, parse.c, set_perms.c, sudo.c,
16483         sudo.h, testsudoers.c:
16484         g/c second arg to set_perms--it is no longer used
16485         [7ac4ce50c612]
16486
16487 2002-05-03  Todd C. Miller  <Todd.Miller@courtesan.com>
16488
16489         * check.c, set_perms.c, sudo.c, sudo.h:
16490         Add support for non-root timestamp dirs. This allows the timestamp
16491         dir to be shared via NFS (though this is not recommended).
16492         [faa83dd2b7fb]
16493
16494         * def_data.c, def_data.h, def_data.in:
16495         Add timestampowner, "Owner of the authentication timestamp dir"
16496         [d47640d4c86a]
16497
16498 2002-05-02  Todd C. Miller  <Todd.Miller@courtesan.com>
16499
16500         * env.c:
16501         Don't try to pre-compute the size of the new envp, just allocate
16502         space up front and realloc as needed. Changes to the new env
16503         pointer must all be made through insert_env() which now keeps track
16504         of spaced used and allocates as needed.
16505         [39bc934a9f2c]
16506
16507 2002-04-26  Todd C. Miller  <Todd.Miller@courtesan.com>
16508
16509         * configure:
16510         regen
16511         [0e12c09bb790]
16512
16513         * configure.in:
16514         Fix two typo/pastos; from jrj@purdue.edu
16515         [b718a4bf1181]
16516
16517 2002-04-25  Todd C. Miller  <Todd.Miller@courtesan.com>
16518
16519         * INSTALL.binary, README:
16520         ++version
16521         [a1e33027278c] [SUDO_1_6_6]
16522
16523         * configure, sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in,
16524         visudo.cat, visudo.man.in:
16525         regen
16526         [19eb2be283ef]
16527
16528         * CHANGES, RUNSON, TODO:
16529         Sync with 1.6.6
16530         [2ff9a9087f63]
16531
16532         * check.c:
16533         The the loop used to expand %h and %u, the lastchar variable was not
16534         being initialized. This means that if the last char in the prompt
16535         is '%' and the first char is 'h' or 'u' a extra copy of the host or
16536         user name would be copied, for which space had not been allocated.
16537         [b2e27197857d]
16538
16539 2002-04-18  Todd C. Miller  <Todd.Miller@courtesan.com>
16540
16541         * BUGS, INSTALL, Makefile.in, configure.in, version.h:
16542         crank version to 1.6.6
16543         [cfd08689e597]
16544
16545         * auth/afs.c:
16546         #undef VOID to get rid of an AFS warning
16547         [b40760564dc1]
16548
16549         * env.c:
16550         Use easprintf instead of emalloc + sprintf for some things.
16551         [e7bfe2e69a03]
16552
16553 2002-03-16  Todd C. Miller  <Todd.Miller@courtesan.com>
16554
16555         * lex.yy.c, sudo.tab.c:
16556         regen
16557         [35327104383d]
16558
16559         * parse.c, parse.lex, parse.yacc, testsudoers.c:
16560         Remove Chris Jepeway's email address so people don't bug him ;-)
16561         [c03410747a69]
16562
16563 2002-03-12  Todd C. Miller  <Todd.Miller@courtesan.com>
16564
16565         * sudo.c:
16566         Move endpwent() to be after set_perms(PERM_RUNAS, ...) and also call
16567         endgrent() at the same time.
16568         [28b6097d5d1a]
16569
16570 2002-02-22  Todd C. Miller  <Todd.Miller@courtesan.com>
16571
16572         * INSTALL:
16573         Make it clear which configure options take arguments.
16574         [38529e7efad0]
16575
16576 2002-01-25  Todd C. Miller  <Todd.Miller@courtesan.com>
16577
16578         * compat.h:
16579         HP-UX 9.x has RLIMIT_* but no RLIM_INFINITY. If there is no
16580         RLIM_INFINITY, just pretend it is -1. This works because we only
16581         check for RLIM_INFINITY and do not set anything to that value.
16582         [53173d34e6eb]
16583
16584 2002-01-22  Todd C. Miller  <Todd.Miller@courtesan.com>
16585
16586         * auth/pam.c:
16587         Zero and free allocated memory when there is a conversation error.
16588         [e342133db579]
16589
16590         * auth/bsdauth.c:
16591         Use sigaction() not signal()
16592         [126c2790561f]
16593
16594         * INSTALL:
16595         Mention that some linux kernels have broken POSIX saved ID support
16596         [571ef1a893d3]
16597
16598         * CHANGES:
16599         checkpoint for 1.6.5p2
16600         [9e9e456f7f43]
16601
16602         * configure:
16603         regen
16604         [d53703a46708]
16605
16606         * configure.in:
16607         Add --disable-setreuid flag
16608         [3b9f2679cb55]
16609
16610         * INSTALL:
16611         Document new --disable-setreuid option and change description for
16612         --disable-saved-ids to match new error message.
16613         [14fd3e5f60a5]
16614
16615         * set_perms.c:
16616         fatal() now takes an argument that determines whether or not to call
16617         perror().
16618         [d826b25e62ff]
16619
16620         * TROUBLESHOOTING:
16621         Update for new error messages from set_perms()
16622         [78007c3f76a9]
16623
16624         * PORTING:
16625         Update for new error messages from set_perms()
16626         [60c545a6bcff]
16627
16628 2002-01-21  Todd C. Miller  <Todd.Miller@courtesan.com>
16629
16630         * auth/pam.c:
16631         Make this compile w/o warnings
16632         [b90843a29af5]
16633
16634         * auth/pam.c:
16635         Mention that we can't use pam_acct_mgmt()
16636         [1dfc5a6e0479]
16637
16638         * auth/aix_auth.c, auth/bsdauth.c, auth/fwtk.c, auth/pam.c:
16639         The user's password was not zeroed after use when AIX
16640         authentication, BSD authentication, FWTK or PAM was in use.
16641         [b18fff30b1e7]
16642
16643 2002-01-20  Todd C. Miller  <Todd.Miller@courtesan.com>
16644
16645         * auth/pam.c:
16646         Avoid giving PAM a NULL password response, use the empty string
16647         instead. This avoids a log warning when the user hits ^C at the
16648         password prompt when PAM is in use.
16649         [c3315805e4e4]
16650
16651         * auth/pam.c:
16652         Don't check the return value of pam_setcred(). In Linux-PAM 0.75
16653         pam_setcred() returns the last saved return code, not the return
16654         code for the setcred module. Because we haven't called
16655         pam_authenticate(), this is not set and so pam_setcred() returns
16656         PAM_PERM_DENIED.
16657         [73db145fa179]
16658
16659         * Makefile.in:
16660         Don't need a '/' between $(DESTDIR) and a directory.
16661         [0901ca618176]
16662
16663         * Makefile.binary:
16664         Don't need a '/' between $(DESTDIR) and a directory.
16665         [cd7eb6098b87]
16666
16667 2002-01-18  Todd C. Miller  <Todd.Miller@courtesan.com>
16668
16669         * configure:
16670         regen
16671         [41b12c039282]
16672
16673         * configure.in:
16674         o BSDi also has a bogus setreuid() o Old FreeBSD has a bogus
16675         setreuid() o new NetBSD has a real setreuid() o add check for
16676         freeifaddrs() if getifaddrs() exists.
16677         [a82ee3b01733]
16678
16679         * config.h.in, interfaces.c:
16680         Older BSDi releases lack freeifaddrs() so add a test for that and if
16681         it is not present just use free().
16682         [6270671ea9d5]
16683
16684 2002-01-17  Todd C. Miller  <Todd.Miller@courtesan.com>
16685
16686         * CHANGES, RUNSON:
16687         Checkpoint for 1.6.5p1
16688         [26134ecf9b36]
16689
16690         * auth/passwd.c:
16691         Return AUTH_FAILURE in passwd_init() if skeyaccess() denies access
16692         to normal passwords, not AUTH_FATAL (which just causes an exit).
16693         [785e0f4bc0e2]
16694
16695         * visudo.c:
16696         Don't use memory after it has been freed.
16697         [c60492739fdb]
16698
16699         * auth/passwd.c:
16700         skeyaccess() wants a struct passwd * not a char *; Patch from
16701         Phillip E. Lobbes
16702         [65a1d3806fcd] [SUDO_1_6_5]
16703
16704         * BUGS:
16705         ++version
16706         [b2e1825e692e]
16707
16708         * CHANGES, RUNSON, TODO:
16709         checkpoint for sudo 1.6.5
16710         [d730945622e7]
16711
16712 2002-01-16  Todd C. Miller  <Todd.Miller@courtesan.com>
16713
16714         * configure:
16715         regen
16716         [49744c403ac9]
16717
16718         * INSTALL, INSTALL.binary, Makefile.in, README, configure.in:
16719         version 1.6.5
16720         [ec30a5f7fc45]
16721
16722         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in, visudo.cat,
16723         visudo.man.in:
16724         sudo version 1.6.5
16725         [458a3bed535d]
16726
16727         * logging.c:
16728         o when invoking the mailer as root use a hard-coded environment that
16729         doesn't include any info from the user's environment. Basically
16730         paranoia.
16731
16732         o Add support for the NO_ROOT_MAILER compile-time option and run the
16733         mailer as the user and not root if NO_ROOT_MAILER is defined.
16734         [4df351ec92ce]
16735
16736         * set_perms.c, sudo.h:
16737         Bring back PERM_FULL_USER
16738         [edb6039bb284]
16739
16740         * configure:
16741         regen
16742         [3eb2943afa03]
16743
16744         * version.h:
16745         version 1.6.5
16746         [044fc9a0c72b]
16747
16748         * INSTALL, config.h.in, configure.in:
16749         Add --disable-root-mailer option to run the mailer as the user and
16750         not root.
16751         [e9f805397963]
16752
16753         * CHANGES:
16754         checkpoint for 1.6.4p2
16755         [b58aae5aa98a]
16756
16757         * PORTING:
16758         Mention the "seteuid(0): Operation not permitted" problem here too
16759         just for good measure.
16760         [90135b37a691]
16761
16762 2002-01-15  Todd C. Miller  <Todd.Miller@courtesan.com>
16763
16764         * env.c, getspwuid.c, sudo.c:
16765         The SHELL environment variable was preserved from the user's
16766         environment instead of being reset based on the passwd database when
16767         the "env_reset" option was used. Now it is reset as it should be.
16768         [300066ef3c71]
16769
16770         * configure:
16771         regen
16772         [a47d779e6552]
16773
16774         * INSTALL, TROUBLESHOOTING, config.h.in, configure.in, set_perms.c,
16775         sudo.c:
16776         Add a configure option to turn off use of POSIX saved IDs
16777         [fb18cc8e94d0]
16778
16779         * configure:
16780         regen
16781         [d4f2f20025b6]
16782
16783         * configure.in:
16784         add --with-efence option
16785         [45c4f33a8e88]
16786
16787         * sudo.c:
16788         Only OR in MODE_RESET_HOME if MODE_RUN is set. Fixes a problem where
16789         "sudo -l" would not work if always_set_home was set.
16790         [c3a6de6c4800]
16791
16792         * lex.yy.c:
16793         regen
16794         [417424452998]
16795
16796         * parse.lex:
16797         Quoted commas were not being treated correctly in command line
16798         arguments.
16799         [753415541b37]
16800
16801         * sudo.c:
16802         o Move the call to rebuild_env() until after MODE_RESET_HOME is set.
16803         Otherwise, the set_home option has no effect.
16804
16805         o Fix use of freed memory when the "fqdn" flag is set. This was
16806         introduced by the fix for the "segv when gethostbynam() fails" bug.
16807         Also, we no longer call set_fqdn() if the "fqdn" flag is not set so
16808         there is no need to check the "fqdn" flag in set_fqdn() itself.
16809         [4b6a4245c04e]
16810
16811         * env.c:
16812         Add 'continue' statements to optimize the switch statement. From
16813         Solar.
16814         [a82c76975ae5]
16815
16816 2002-01-13  Todd C. Miller  <Todd.Miller@courtesan.com>
16817
16818         * sudoers.cat, sudoers.man.in:
16819         Regen from new sudoers.pod
16820         [6ecc07b3d0e1] [SUDO_1_6_4]
16821
16822         * sudoers.pod:
16823         Add caveat about stay_setuid flag
16824         [9d228a7bea1b]
16825
16826         * sudo.c:
16827         If set_perms == set_perms_posix and the stay_setuid flag is not set,
16828         set all uids to 0 and use set_perms_fallback().
16829         [c4e54d1ec86f]
16830
16831         * set_perms.c, sudo.h:
16832         Remove PERM_FULL_USER (which is no longer used) and add
16833         PERM_FULL_ROOT (used when exec'ing the mailer).
16834         [15406c522ea2]
16835
16836         * logging.c:
16837         Use set_perms(PERM_FULL_ROOT, 0) before exec'ing the mailer since we
16838         never want to run the mailer setuid.
16839         [2294853e0666]
16840
16841 2002-01-12  Todd C. Miller  <Todd.Miller@courtesan.com>
16842
16843         * sudo.cat, sudo.man.in, sudo.pod, visudo.cat, visudo.man.in,
16844         visudo.pod:
16845         Use sudo.ws instead of courtesan.com in URLs
16846         [55204002a308]
16847
16848         * Makefile.binary, Makefile.in:
16849         Fix mansect substitution
16850         [b7b5cbc3aa91]
16851
16852         * Makefile.in:
16853         Substitute man sections in Makefile.binary
16854         [040deb785e56]
16855
16856         * Makefile.binary:
16857         Sync install targets with Makefile.in and substitute in man
16858         sections.
16859         [77882a275281]
16860
16861         * INSTALL, INSTALL.binary:
16862         version is 1.6.4
16863         [0f87aabbcb70]
16864
16865         * Makefile.in:
16866         Repair bindist target
16867         [8d43bfe7e2d1]
16868
16869         * CHANGES:
16870         sync for 1.6.4
16871         [13ca3d4a0a72]
16872
16873 2002-01-10  Todd C. Miller  <Todd.Miller@courtesan.com>
16874
16875         * install-sh:
16876         Fix case where neither whoami nor id are found
16877         [424dd270bc47]
16878
16879 2002-01-09  Todd C. Miller  <Todd.Miller@courtesan.com>
16880
16881         * install-sh:
16882         If neither whoami nor id exists, just assume we are root.
16883         [2d2644e42c53]
16884
16885         * alloc.c:
16886         Add explicit cast to (VOID *) on malloc/realloc. Seems to be needed
16887         on AIX which for some reason isn't pulling in the malloc prototype.
16888         [231440d2ee3b]
16889
16890 2002-01-08  Todd C. Miller  <Todd.Miller@courtesan.com>
16891
16892         * Makefile.in, aclocal.m4, compat.h, parse.c, sudo.c:
16893         (c) 2002
16894         [700e3b41a68e]
16895
16896         * CHANGES:
16897         checkpoint
16898         [33e604bd8d5b]
16899
16900         * sudo.c:
16901         Defer assigning new environment until right before the exec.
16902         [f13c49e75c1c]
16903
16904         * parse.c:
16905         kill extra blank line
16906         [12ef22e9dae3]
16907
16908 2002-01-07  Todd C. Miller  <Todd.Miller@courtesan.com>
16909
16910         * configure:
16911         regen
16912         [a6cd2d788f74]
16913
16914         * configure.in:
16915         Use -O not -O2 for m88k-motorola-sysv* since motorola gcc-derived
16916         compiler doesn't recognise -O2.
16917         [5234aa543692]
16918
16919         * HISTORY:
16920         Clarify origins of Root Group sudo a bit based on info from
16921         billp@rootgroup.com
16922         [4deef01c4208]
16923
16924 2002-01-03  Todd C. Miller  <Todd.Miller@courtesan.com>
16925
16926         * LICENSE:
16927         2002
16928         [6c8e089dbd1a]
16929
16930         * CHANGES:
16931         checkpoint for 1.6.4rc1
16932         [3349eb87a49f]
16933
16934 2002-01-02  Todd C. Miller  <Todd.Miller@courtesan.com>
16935
16936         * config.h.in:
16937         now generated via autoheader
16938         [84657d303cb9]
16939
16940         * configure:
16941         regen
16942         [207bfa6a13f6]
16943
16944         * compat.h:
16945         Move in some stuff that was previously in config.h.
16946         [e576d8b6480f]
16947
16948         * aclocal.m4, configure.in:
16949         Add info for autoheader.
16950         [0549cd5da27c]
16951
16952 2002-01-01  Todd C. Miller  <Todd.Miller@courtesan.com>
16953
16954         * Makefile.in:
16955         o Add DESTDIR support o Use -M, -O, and -G instead of -m, -o, and
16956         -g to facilitate non-root installs
16957         [619216038f56]
16958
16959         * install-sh:
16960         Add -M option (like -m but only for root) If we can't find "whoami",
16961         use "id" w/ some sed.
16962         [b39121c8b792]
16963
16964         * configure:
16965         regen
16966         [b39b93ff9804]
16967
16968         * configure.in:
16969         allow user to always override mansectsu and mansectform
16970         [0fca5e63bd90]
16971
16972 2001-12-31  Todd C. Miller  <Todd.Miller@courtesan.com>
16973
16974         * mkinstalldirs:
16975         update from autoconf 2.52
16976         [07bd75a508c3]
16977
16978         * config.guess, config.sub:
16979         Update from autoconf 2.52
16980         [857b90fe31b7]
16981
16982         * configure:
16983         regen with autoconf 2.52
16984         [08e7d1ea2aeb]
16985
16986         * configure.in:
16987         o Call AC_PROG_CC_STDC to find out how to run the compiler in ANSI
16988         mode o Remove compiler-specific checks for HP-UX now that we use
16989         AC_PROG_CC_STDC
16990         [d433a70b6208]
16991
16992         * RUNSON:
16993         Checkpoint
16994         [babf6d2235d1]
16995
16996         * auth/pam.c:
16997         o Add pam_prep_user function to call pam_setcred() for the target
16998         user; on Linux this often sets resource limits. o When calling
16999         pam_end(), try to convert the auth->result to a PAM_FOO value.
17000         This is a hack--we really need to stash the last PAM_FOO value
17001         received and use that instead.
17002         [6ad6f340dd2a]
17003
17004         * set_perms.c, sudo.h:
17005         o Add pam_prep_user function to call pam_setcred() for the target
17006         user; on Linux this often sets resource limits.
17007         [67795421ac82]
17008
17009         * env.c:
17010         Fix off by one error in number of bytes allocated via malloc (does
17011         not affected any released version of sudo).
17012         [5f5915360111]
17013
17014 2001-12-30  Todd C. Miller  <Todd.Miller@courtesan.com>
17015
17016         * lex.yy.c:
17017         regen
17018         [8208c0277775]
17019
17020         * parse.lex:
17021         Allow '@', '(', ')', ':' in arguments to a defaults variable w/o
17022         requiring that they be quoted.
17023         [ae59bc8f68dd]
17024
17025         * sudoers.cat, sudoers.man.in, sudoers.pod:
17026         Mention that no double quotes are needed when
17027         adding/deleting/assigning a single value to a list.
17028         [25efc940a1f0]
17029
17030         * Makefile.in:
17031         Don't rely on mkdefaults being executable, call perl explicitly.
17032         [6edc97ba5f1d]
17033
17034         * sudo.tab.c:
17035         regen
17036         [49130b2e7e4d]
17037
17038         * parse.yacc:
17039         Remove some XXX that are no longer relevant.
17040         [d460ac0d3767]
17041
17042         * defaults.c:
17043         o Roll our own loop instead of using strpbrk() for better
17044         grokability o When adding to a list we must malloc() and use
17045         memcpy(), not strdup() since we must only copy len bytes from str.
17046         [649bef08e1f0]
17047
17048 2001-12-21  Todd C. Miller  <Todd.Miller@courtesan.com>
17049
17050         * sudo.tab.c:
17051         regen
17052         [f0bbf2c38c0e]
17053
17054         * parse.yacc:
17055         typo in comment
17056         [2563711ff593]
17057
17058 2001-12-19  Todd C. Miller  <Todd.Miller@courtesan.com>
17059
17060         * CHANGES:
17061         checkpoint
17062         [a6d8a29fb30e]
17063
17064         * configure:
17065         regen
17066         [bdfcaaf3bd13]
17067
17068         * configure.in:
17069         avoid the -g flag unless --with-devel was specified
17070         [a976707bef30]
17071
17072         * Makefile.in:
17073         mkdefaults, def_data.in and sigaction.c were missing from the
17074         tarball
17075         [6917ffbaa412]
17076
17077         * Makefile.in:
17078         def_data.c was missing
17079         [87c78b11453d]
17080
17081 2001-12-18  Todd C. Miller  <Todd.Miller@courtesan.com>
17082
17083         * env.c:
17084         Fix setting of $USER and $LOGNAME in the non-reset_env case. Also
17085         allow HOME, SHELL, LOGNAME, and USER to be specified in keep_env
17086         [fc8698e6a45e]
17087
17088         * TODO:
17089         Another TODO item
17090         [6f251d6cd466]
17091
17092         * sudoers:
17093         Add comment for Default section so folks know where it should go.
17094         [7edba626f392]
17095
17096 2001-12-17  Todd C. Miller  <Todd.Miller@courtesan.com>
17097
17098         * tgetpass.c:
17099         Use TCSETAF, not TCSETA to set terminal in termio case
17100         [fbd172f6c5d3]
17101
17102         * sudoers.cat, sudoers.man.in:
17103         regen from sudoers.pod
17104         [64edd2de816e]
17105
17106         * sudoers.pod:
17107         o Typo, Runas_User_List should be Runas_List o a User_List can not
17108         contain a uid o mention that the Defaults section should come after
17109         Alias definitions but before the user specifications
17110         [54070ba2092b]
17111
17112 2001-12-15  Todd C. Miller  <Todd.Miller@courtesan.com>
17113
17114         * sudoers.cat, sudoers.man.in:
17115         regen
17116         [e62d1d97693c]
17117
17118         * sudoers.pod:
17119         Fix listpw and verifypw sections, they were not being formatted
17120         properly.
17121         [123868c2f3e9]
17122
17123         * sudoers.cat, sudoers.man.in:
17124         regen
17125         [f94841f8b374]
17126
17127         * sudoers.pod:
17128         fix typos
17129         [f278f1c1184e]
17130
17131         * configure:
17132         regen
17133         [d2270049ba9f]
17134
17135         * config.h.in, configure.in:
17136         use AC_SYS_POSIX_TERMIOS instead of rolling our own
17137         [c1a13f1354b9]
17138
17139         * README:
17140         Reference sudo.ws not courtesan.com
17141         [ca13be67ebd7]
17142
17143         * PORTING:
17144         Add notes on shadow passwords
17145         [aa13863f2314]
17146
17147         * BUGS:
17148         In list mode (sudo -l), characters escaped with a backslash are
17149         shown verbatim with the backslash.
17150         [1a75a2858be2]
17151
17152         * sudoers:
17153         Add simple examples from OpenBSD (Marc Espie)
17154         [3ae9a9ae4125]
17155
17156         * tgetpass.c:
17157         Catch SIGTTIN and SIGTTOU too and treat them like SIGTSTP.
17158         [f8817699ee10]
17159
17160         * CHANGES:
17161         minor prettyification
17162         [f523587929b9]
17163
17164         * CHANGES:
17165         Updated change log
17166         [39d9010ee7a8]
17167
17168         * testsudoers.c:
17169         Fix CIDR handling here too.
17170         [c91db8344c32]
17171
17172         * auth/pam.c:
17173         Apparently a NULL response is OK
17174         [83bae61078d9]
17175
17176         * TODO:
17177         Checkpoint for upcoming beta release
17178         [efb95c09df2a]
17179
17180         * TROUBLESHOOTING:
17181         Many people believe that adding a runas spec should obviate the need
17182         for the -u flag. It does not.
17183         [c698bad85b0e]
17184
17185         * RUNSON:
17186         checkpoint update for upcoming 1.6.4 beta
17187         [009e465a0a45]
17188
17189         * config.h.in:
17190         o Add HAVE_STDLIB_H and HAVE_MEMORY_H o Define HAVE_STRINGS_H even
17191         if HAVE_STRING_H is defined -- this is safe now
17192         [d27c035f4e14]
17193
17194         * PORTING:
17195         Add signals section
17196         [2d24c13cb3c8]
17197
17198         * configure:
17199         regen
17200         [2b80a939e2ed]
17201
17202         * configure.in:
17203         Fix check for sigaction_t
17204         [6fa41c89ab20]
17205
17206         * sudo.c:
17207         XXX - should call find_path() as runas user, not root. Can't do
17208         that until the parser changes though.
17209         [f0b4f85651bd]
17210
17211         * sudo.c:
17212         If find_path() fails as root, try again as the invoking user (useful
17213         for NFS). Idea from Chip Capelik.
17214         [e03fa7872692]
17215
17216         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in:
17217         Regenerate after pod file changes
17218         [48e4bd75ec21]
17219
17220         * def_data.c, def_data.h, def_data.in, set_perms.c, sudo.c, sudo.h,
17221         sudo.pod, sudoers.pod:
17222         Add new sudoers option "preserve_groups". Previously sudo would not
17223         call initgroups() if the target user was root. Now it always calls
17224         initgroups() unless the -P command line option or the
17225         "preserve_groups" sudoers option is set. Idea from TJ Saunders.
17226         [4f730359f101]
17227
17228 2001-12-14  Todd C. Miller  <Todd.Miller@courtesan.com>
17229
17230         * compat.h, config.h.in:
17231         Use new HAVE_SIGACTION_T define
17232         [dfb25f3cae5b]
17233
17234         * logging.c:
17235         Fix compilation on K&C
17236         [7355e3275e34]
17237
17238         * configure:
17239         regen
17240         [a710584f92f0]
17241
17242         * configure.in:
17243         Add check for sigaction_t -- IRIX already defines this so don't
17244         redefine it.
17245         [df9c5737f6da]
17246
17247         * snprintf.c:
17248         fix typo
17249         [3d782b8134c8]
17250
17251         * interfaces.c:
17252         need stdlib.h here too
17253         [c789d8973ab2]
17254
17255         * configure:
17256         regen
17257         [44822856bf46]
17258
17259         * configure.in:
17260         Remove redundant checks for string.h, strings.h and unistd.h
17261         [933c94f8bbf4]
17262
17263         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in, visudo.cat,
17264         visudo.man.in:
17265         Regen from pod files
17266         [ad18c590f638]
17267
17268         * BUGS:
17269         Update for 1.6.4
17270         [26bc88b69d22]
17271
17272         * configure, lex.yy.c, sudo.tab.c:
17273         regen
17274         [bef89fd6fa2d]
17275
17276         * strerror.c:
17277         Return EINVAL if errnum > sys_nerr
17278         [0512374e6661]
17279
17280         * auth/sudo_auth.h:
17281         o Update copyright year
17282         [a877016db6e2]
17283
17284         * LICENSE, Makefile.binary, Makefile.in, aclocal.m4, compat.h,
17285         config.h.in, defaults.h, interfaces.h, pathnames.h.in, sudo.h,
17286         sudo.pod:
17287         o Update copyright year
17288         [e15a1b39039f]
17289
17290         * configure.in:
17291         o Don't define STDC_HEADERS unconditionally for IRIX o Update
17292         copyright year
17293         [82a8cb819e07]
17294
17295         * README:
17296         update version
17297         [d82e523a16b4]
17298
17299         * auth/afs.c, auth/aix_auth.c, auth/bsdauth.c, auth/dce.c,
17300         auth/fwtk.c, auth/kerb4.c, auth/kerb5.c, auth/pam.c, auth/passwd.c,
17301         auth/rfc1938.c, auth/secureware.c, auth/securid.c, auth/sia.c,
17302         auth/sudo_auth.c, logging.c, parse.c, parse.lex, parse.yacc,
17303         set_perms.c, snprintf.c, sudo.c, testsudoers.c, tgetpass.c, utime.c,
17304         visudo.c:
17305         o Reorder some headers and use STDC_HEADERS define properly o Update
17306         copyright year
17307         [fe39f76b3795]
17308
17309         * lsearch.c:
17310         o Reorder some headers and use STDC_HEADERS define properly o Update
17311         copyright year
17312         [764ba3d4fa13]
17313
17314         * getspwuid.c, goodpath.c, interfaces.c:
17315         o Reorder some headers and use STDC_HEADERS define properly o Update
17316         copyright year
17317         [fb46d46140d4]
17318
17319         * getcwd.c:
17320         o Reorder some headers and use STDC_HEADERS define properly o Update
17321         copyright year
17322         [b199d70ac7ab]
17323
17324         * alloc.c, check.c, defaults.c, env.c, fileops.c, find_path.c,
17325         fnmatch.c:
17326         o Reorder some headers and use STDC_HEADERS define properly o Update
17327         copyright year
17328         [dab8f192a3ed]
17329
17330         * configure:
17331         regen
17332         [156658f25cea]
17333
17334         * tgetpass.c:
17335         flags set in signal handlers should be volatile sig_atomic_t
17336         [c22931a5535e]
17337
17338         * config.h.in, configure.in:
17339         Add checks for volatile and sig_atomic_t
17340         [b03b3341381d]
17341
17342         * configure, lex.yy.c:
17343         regen
17344         [ed9daba88217]
17345
17346         * def_data.c, def_data.h, def_data.in, defaults.c, env.c, find_path.c,
17347         sudo.c, sudoers.pod:
17348         Remove "secure_path" Defaults option since it cannot work with the
17349         existing parser.
17350         [c9e54a0f5971]
17351
17352         * find_path.c, sudo.c:
17353         Unset "secure_path" if user_is_exempt()
17354         [fb7544565ae8]
17355
17356         * env.c, pathnames.h.in:
17357         o Remove assumption that PATH and TERM are not listed in env_keep o
17358         If no PATH is in the environment use a default value o If TERM is
17359         not set in the non-reset case also give it a default value.
17360         [c987eb7df268]
17361
17362         * aclocal.m4, configure.in, defaults.c, pathnames.h.in:
17363         _PATH_SENDMAIL -> _PATH_SUDO_SENDMAIL so --without-sendmail works on
17364         systems that define in paths.h
17365         [51865b0cdebf]
17366
17367         * auth/passwd.c, auth/sudo_auth.c, auth/sudo_auth.h:
17368         Add support for skeyaccess(3) if it is present in libskey.
17369         [8add77c7d3e7]
17370
17371 2001-12-13  Todd C. Miller  <Todd.Miller@courtesan.com>
17372
17373         * sudo.c:
17374         Only need to do 'lc = login_getclass(NULL)' if lc == NULL
17375         [5a3d3cbf2c6d]
17376
17377         * parse.lex:
17378         '\\' is a perfectly legal character to have in a command line
17379         argument.
17380         [c15a466ef00e]
17381
17382         * sudo.c:
17383         o Defer call to set_fqdn() until it is safe to use log_error() o
17384         Don't print errno string value if gethostbyname fails, it is not
17385         relevant
17386         [c0c6bcf08bcb]
17387
17388         * parse.c:
17389         Fix CIDR -> in_addr_t conversion.
17390         [2f307ebeb63f]
17391
17392 2001-12-12  Todd C. Miller  <Todd.Miller@courtesan.com>
17393
17394         * sudoers.pod:
17395         Remove an extra "User_List" in the User_Spec definition From
17396         ybertrand AT snoopymail.com
17397         [97bde59ea280]
17398
17399         * parse.c:
17400         Make 'listpw=never' work for users who are not explicitly mentioned
17401         in sudoers.
17402         [258f0f30a428]
17403
17404         * sudoers.pod:
17405         Remove gratuitous '=' in EBNF grammar; era AT iki.fi
17406         [4b0f03872ee1]
17407
17408         * sudoers.pod:
17409         Document new list Defaults type and convert env_keep and env_delete
17410         to lists. Document new env_check option.
17411         [a07f1f079fe3]
17412
17413         * lex.yy.c, sudo.tab.c, sudo.tab.h:
17414         regen parser
17415         [e39ac6c6581b]
17416
17417         * parse.lex:
17418         Don't let '#' appear in a {WORD} and restrict #foo in a Runas spec
17419         to #[0-9-]+.
17420         [69c5388908f3]
17421
17422         * configure:
17423         regen
17424         [0f1877b88cb3]
17425
17426         * aclocal.m4:
17427         Simpler SUDO_FUNC_ISBLANK that uses AC_TRY_LINK
17428         [6545503ae361]
17429
17430         * config.h.in, configure.in:
17431         Add check for skeyaccess(3)
17432         [6caf69fe6359]
17433
17434         * visudo.pod:
17435         Document new -c, -f, and -q options
17436         [13d0203c21d3]
17437
17438         * visudo.c:
17439         o Add -f option (alternate sudoers file) o Convert to use getopt(3)
17440         [4c2b664d617d]
17441
17442         * configure:
17443         regen
17444         [6d5bd932e7b5]
17445
17446         * aclocal.m4, config.h.in, configure.in:
17447         Add check for isblank and a replacement macro if it doesn't exist.
17448         [b524f5e4f953]
17449
17450 2001-12-11  Todd C. Miller  <Todd.Miller@courtesan.com>
17451
17452         * visudo.c:
17453         In check-only mode, don't create sudoers if it does not already
17454         exist.
17455         [c748a2d5acad]
17456
17457         * parse.yacc:
17458         o Add a new token, DEFVAR, to indicate a Defaults variable name o
17459         Add support for "+=" and "-=" list operators o replace some 1 and 0
17460         with TRUE and FALSE for greater legibility.
17461         [554cb174b37e]
17462
17463         * parse.lex:
17464         o Use exclusive start conditions to remove some ambiguity in the
17465         lexer. Also reorder some things for clarity. o Add support for
17466         "+=" and "-=" list operators. o Use the new DEFVAR token to denote
17467         a Defaults variable name.
17468         [3a2cf8323e26]
17469
17470         * sudo.h:
17471         Prototype init_envtables()
17472         [b74916469dab]
17473
17474         * env.c:
17475         o Convert environment handling to use lists instead of strings.
17476         This greatly simplifies routines that need to do "foreach" type
17477         operations. o Add new init_envtables() function to set env_check
17478         and env_delete defaults based on initial_badenv_table and
17479         initial_checkenv_table (formerly sudo_badenv_table).
17480         [0a8b404658b6]
17481
17482         * defaults.c, defaults.h:
17483         o Add a new LIST type and functions to manipulate it. o This is for
17484         use with environment handling variables. o Call new
17485         init_envtables() routine inside init_defaults() to initialize the
17486         environment lists.
17487         [ae73e64f0902]
17488
17489         * def_data.c, def_data.h, def_data.in:
17490         Convert environment options to use the new LIST type and add a new
17491         one, env_check that only deletes if the sanity check fails.
17492         [3019503936de]
17493
17494         * testsudoers.c:
17495         Add dummy version of init_envtables()
17496         [9d9e3ee609d9]
17497
17498         * parse.yacc:
17499         honor quiet mode
17500         [8330fba6167c]
17501
17502         * visudo.c:
17503         Add check-only mode
17504         [dab411bc8c35]
17505
17506         * mkdefaults:
17507         Fix generation of entries with NULL descriptions.
17508         [ea75b9fed02e]
17509
17510 2001-12-09  Todd C. Miller  <Todd.Miller@courtesan.com>
17511
17512         * tgetpass.c:
17513         Use sigaction_t and quiet a gcc warning.
17514         [6f67d719c452]
17515
17516         * sudo.c:
17517         Must reset signal handlers before we exec
17518         [300418120e1a]
17519
17520         * auth/aix_auth.c, auth/bsdauth.c, auth/fwtk.c, auth/pam.c,
17521         auth/sudo_auth.c:
17522         Be carefule now that tgetpass() can return NULL (user hit ^C). PAM
17523         version needs testing. Set SIGTSTP to SIG_DFL during password entry
17524         so user can suspend us.
17525         [00304aa58747]
17526
17527         * tgetpass.c:
17528         Add support for interrupting/suspending tgetpass via keyboard input.
17529         If you suspend sudo from the password prompt and resume it will re-
17530         prompt you.
17531         [4af2b5101d32]
17532
17533         * sudo.c:
17534         Don't block keyboard interrupt signals, just set them to SIG_IGN.
17535         [d46d7f67ef6b]
17536
17537 2001-12-08  Todd C. Miller  <Todd.Miller@courtesan.com>
17538
17539         * config.h.in:
17540         add back HAVE_SIGACTION
17541         [c9c7702c603e]
17542
17543         * configure:
17544         regen
17545         [09fe669d337f]
17546
17547         * config.h.in, configure.in, logging.c, sudo.c, visudo.c:
17548         Kill POSIX_SIGNALS define and old signal support now that we emulate
17549         POSIX ones Also be sure to correctly initialize struct sigaction.
17550         [4bc2a6dbb2be]
17551
17552         * strerror.c:
17553         Don't need config.h or "#ifndef HAVE_STRERROR" wrapper.
17554         [1ad64a19f328]
17555
17556         * compat.h:
17557         Add scaffolding for POSIX signal emulation
17558         [945861d4c93b]
17559
17560         * sigaction.c:
17561         o Add missing ';' so this compiles o Can't use NULL since we don't
17562         include stdio.h
17563         [04d0cac7438f]
17564
17565         * sigaction.c:
17566         Emulate sigaction() using sigvec()
17567         [d0b54a989875]
17568
17569 2001-11-13  Todd C. Miller  <Todd.Miller@courtesan.com>
17570
17571         * sudoers.pod:
17572         Document new behavior of negative values of timestamp_timeout Fix a
17573         typo
17574         [4c0716570d01]
17575
17576         * sudo.pod:
17577         Add security note about command not being logged after 'sudo su' and
17578         friends.
17579         [43294851a33c]
17580
17581         * sudo.pod:
17582         Mention that -V prints default values when run as root, including
17583         the list of environment variables to clear.
17584         [d9e5e550a8c3]
17585
17586         * Makefile.in:
17587         Run pod2man with --quotes=none to avoid stupid quoting of C<>
17588         entries.
17589         [997b23c35dbe]
17590
17591 2001-11-12  Todd C. Miller  <Todd.Miller@courtesan.com>
17592
17593         * auth/sudo_auth.c, def_data.c, def_data.h, def_data.in, sudoers.pod:
17594         Add mail_badpass option Also modify mail_always behavior to also
17595         send mail when the password is wrong
17596         [838d40ccafce]
17597
17598         * env.c, sudo.c, sudo.h:
17599         Dump default bad env table when 'sudo -V' is run by root.
17600         [f67f1b8048b0]
17601
17602         * sudoers.pod:
17603         document env_delete
17604         [d74f893663a2]
17605
17606         * env.c:
17607         Add support for '*' in env_keep when not resetting the environment
17608         (ie: the normal case).
17609         [fd4fb62ea8fd]
17610
17611         * env.c:
17612         Add env_delete variable that lets the user replace/add to the
17613         bad_env_table. Allow '*' wildcard in env_keep entries.
17614         [aa728bc35e29]
17615
17616 2001-11-06  Todd C. Miller  <Todd.Miller@courtesan.com>
17617
17618         * mkinstalldirs:
17619         Force umask to 022 to guarantee sane directory permissions.
17620         [9ab3cfe70569]
17621
17622 2001-11-02  Todd C. Miller  <Todd.Miller@courtesan.com>
17623
17624         * Makefile.in:
17625         add sudo.tab.h and sudo.tab.c to sudo.tab.o dependency
17626         [671010465e6f]
17627
17628         * mkdefaults:
17629         fix breakage in last commit
17630         [8318f8851e56]
17631
17632         * Makefile.in:
17633         acsite.m4 -> aclocal.m4
17634         [30c146873a01]
17635
17636         * check.c:
17637         fix I_TS_TIMEOUT vs. I_TIMESTAMP_TIMEOUT pasto in previous commit
17638         [4dc8b39954da]
17639
17640         * def_data.c:
17641         regenerated from def_data.in
17642         [915ea16ce1eb]
17643
17644         * check.c, defaults.c, defaults.h:
17645         Add new T_UINT type that most things use instead of T_INT If
17646         timestamp_timeout is < 0 then treat the ticket as never expiring (to
17647         be expired manually by the user).
17648         [3a3a636a2a5d]
17649
17650         * def_data.in:
17651         change most T_INT -> T_UINT
17652         [a2228d2457af]
17653
17654         * mkdefaults:
17655         fix warning when no args
17656         [ca70a5394af5]
17657
17658         * visudo.c:
17659         Change 2 Exit() -> exit() Avoid stdio in Exit() and call _exit() if
17660         we are a signal handler. We no longer print the signal number but
17661         the user can just check the exit value for that.
17662         [dc424f631fef]
17663
17664 2001-10-16  Todd C. Miller  <Todd.Miller@courtesan.com>
17665
17666         * logging.c:
17667         when setting up pipes in child process check for case where stdin ==
17668         pipe fd 0
17669         [518112d76184]
17670
17671 2001-10-11  Todd C. Miller  <Todd.Miller@courtesan.com>
17672
17673         * visudo.c:
17674         Ignore editor exit value since XPG4 says vi's exit value is the
17675         count of editing errors made (failed searches, etc).
17676         [b9d952284865]
17677
17678 2001-10-05  Todd C. Miller  <Todd.Miller@courtesan.com>
17679
17680         * configure:
17681         regen
17682         [cb3aa586f03b]
17683
17684         * configure.in:
17685         sco now is identified by config.guess as *-sco-*
17686         [46664bbdea61]
17687
17688         * configure.in:
17689         Check for getspnam() in -lgen if not in -lc for UnixWare.
17690         [0f152ad1ba93]
17691
17692 2001-09-18  Todd C. Miller  <Todd.Miller@courtesan.com>
17693
17694         * sudoers.pod, visudo.pod:
17695         "upper case" -> "uppercase"
17696         [f9151f232326]
17697
17698         * sudoers.pod:
17699         fix typos and grammar; pjanzen@foatdi.harvard.edu
17700         [2855d73d0237]
17701
17702 2001-08-28  Todd C. Miller  <Todd.Miller@courtesan.com>
17703
17704         * sudoers.pod:
17705         Missing word (specify); krapht@secureops.com
17706         [65523eb37a2c]
17707
17708 2001-08-23  Todd C. Miller  <Todd.Miller@courtesan.com>
17709
17710         * sudo.c:
17711         If we fail to lookup a login class, apply the default one.
17712         [d4869faa6816]
17713
17714         * logging.c:
17715         In log_error() free message, not logline unconditionally, then free
17716         logline if it is not the same as message. No function change but
17717         this mirrors how they are allocated.
17718         [565e5f6cc643]
17719
17720 2001-07-17  Todd C. Miller  <Todd.Miller@courtesan.com>
17721
17722         * configure:
17723         regenerate
17724         [834a48f548a2]
17725
17726         * configure.in:
17727         remove some backslash quotes that are unneeded
17728         [50d401d6e2ca]
17729
17730         * configure.in:
17731         o Tweaks to make this work with autoconf-2.50 o Use AC_LIBOBJ
17732         instead of changing LIBOBJS directly o Use AC_REPLACE_FUNCS where we
17733         can o Use AC_CHECK_FUNCS instead of AC_CHECK_FUNC so we don't have
17734         to AC_DEFINE things manually.
17735         [f502c5f15f92]
17736
17737         * config.guess, config.sub:
17738         Updated from autoconf-2.50
17739         [6140205915ef]
17740
17741 2001-05-22  Todd C. Miller  <Todd.Miller@courtesan.com>
17742
17743         * README:
17744         Update mailing list section. We use mailman now, not majordomo.
17745         [b9a8ca45e6dc]
17746
17747 2001-05-10  Todd C. Miller  <Todd.Miller@courtesan.com>
17748
17749         * getspwuid.c, logging.c, sudo.c:
17750         Use setpwent()/endpwent() + all the shadow variants to make sure we
17751         don't inadvertantly leak an fd to the child. Apparently Linux's
17752         shadow routines leave the fd open even if you don't call setspent().
17753         Reported by mike@gistnet.com; different patch used.
17754         [d33792ef6c01]
17755
17756 2001-04-13  Todd C. Miller  <Todd.Miller@courtesan.com>
17757
17758         * sudoers.pod:
17759         s/eg./e.g./
17760         [bd32a0acaf93]
17761
17762         * tgetpass.c:
17763         select() may return EAGAIN. If so, continue like we do for EINTR.
17764         [5f202c943818]
17765
17766         * logging.c:
17767         Fix a non-exploitable buffer overflow in the word splitting code.
17768         This should really be rewritten.
17769         [4c724363863a]
17770
17771         * Makefile.in:
17772         FAQ link goes away
17773         [1d26dd6c8972]
17774
17775         * INSTALL:
17776         Tell people to look in sample.syslog.conf for examples, not FAQ
17777         [affcae3f43ca]
17778
17779         * TROUBLESHOOTING:
17780         Update list of env vars that are cleared
17781         [234e56f1435a]
17782
17783         * sudo.c:
17784         remove struct env_table decl since that stuff has all moved to env.c
17785         [5dd923148777]
17786
17787 2001-04-04  Todd C. Miller  <Todd.Miller@courtesan.com>
17788
17789         * fileops.c:
17790         Fix a pasto in flock-style unlocking and include <sys/file.h> for
17791         flock on older systems; twetzel@gwdg.de
17792         [d5420d9d2861]
17793
17794         * configure:
17795         regen to get NeXT lockf/flock fix
17796         [d3ba6ed70e15]
17797
17798         * configure.in:
17799         force NeXT to use flock since lockf is broken
17800         [bd5391dca1bb]
17801
17802 2001-03-30  Todd C. Miller  <Todd.Miller@courtesan.com>
17803
17804         * check.c:
17805         Use stashed user_gid when checking against exempt gid since sudo
17806         sets its gid to a a value that makes sudoers readable. Previously
17807         if you used gid 0 as the exempt group everyone would be exempt. From
17808         Paul Kranenburg <pk@cs.few.eur.nl>
17809         [0b140cc3a817]
17810
17811 2001-03-29  Todd C. Miller  <Todd.Miller@courtesan.com>
17812
17813         * configure:
17814         regen
17815         [cc455408f32b]
17816
17817         * aclocal.m4:
17818         #include stdio.h in SUDO_CHECK_TYPE since IRIX 6 aparently defines
17819         some types (such as ssize_t) therein.
17820         [b6aee85ca331]
17821
17822 2001-03-02  Todd C. Miller  <Todd.Miller@courtesan.com>
17823
17824         * defaults.c:
17825         Fix negation of paths in a boolean context. Problem found by
17826         apt@UH.EDU
17827         [8aee217a7cdf]
17828
17829 2001-02-23  Todd C. Miller  <Todd.Miller@courtesan.com>
17830
17831         * visudo.c:
17832         pasto
17833         [ad32b277bf68]
17834
17835 2001-02-17  Todd C. Miller  <Todd.Miller@courtesan.com>
17836
17837         * visudo.c:
17838         SA_RESETHAND means the opposite of what I was thinking--oops To
17839         block all signals in old-style signals use ~0, not 0xffffffff
17840         [6ecdd793590a]
17841
17842 2001-02-04  Todd C. Miller  <Todd.Miller@courtesan.com>
17843
17844         * defaults.c:
17845         coerce difference of pointers to int when used in a string length
17846         printf format; deraadt@openbsd.org
17847         [a9d10f07180d]
17848
17849 2001-01-17  Todd C. Miller  <Todd.Miller@courtesan.com>
17850
17851         * visudo.c:
17852         Block all signals in Exit() to avoid a signal race. There is still
17853         a tiny window but I'm not going to worry about it.
17854         [6661805c0458]
17855
17856 2001-01-07  Todd C. Miller  <Todd.Miller@courtesan.com>
17857
17858         * env.c:
17859         glibc uses the LANGUAGE env var so clear that too; Solar Designer
17860         [d4ba95628afb]
17861
17862         * lex.yy.c:
17863         Regenerate with a fix to flex.skl that preserves errno from
17864         clobbering by isatty().
17865         [607eec736e19]
17866
17867 2000-12-31  Todd C. Miller  <Todd.Miller@courtesan.com>
17868
17869         * auth/aix_auth.c, auth/bsdauth.c, auth/fwtk.c, auth/pam.c,
17870         auth/sia.c, auth/sudo_auth.c:
17871         Some defaults I_ defines got renamed.
17872         [ec19b23caaf3]
17873
17874         * Makefile.in, check.c, def_data.c, def_data.h, def_data.in,
17875         defaults.c, defaults.h, env.c, logging.c, mkdefaults, parse.yacc,
17876         set_perms.c, sudo.c, sudo.tab.c:
17877         Move defaults info into its own files from which we generate .h and
17878         .c files. This makes adding or rearranging variables much simpler.
17879         [e91b880b5043]
17880
17881 2000-12-30  Todd C. Miller  <Todd.Miller@courtesan.com>
17882
17883         * configure, configure.in:
17884         fix typo in last commit
17885         [10a6ee2bae71]
17886
17887         * compat.h, config.h.in, configure, configure.in:
17888         Add check + emulation for setegid (like seteuid).
17889         [29492092bd2f]
17890
17891         * env.c:
17892         Make env_keep override badenv_table as documented Fix traversal of
17893         badenv_table (broken in last commit)
17894         [37c9f0d22673]
17895
17896         * set_perms.c, sudo.c, sudo.h:
17897         Don't try and build saved uid version of set_perms on systems w/o
17898         them. Rename set_perms_saved_uid() -> set_perms_posix() Make
17899         set_perms_setreuid simply be set_perms_fallback() and simply include
17900         the appropriate function at compile time (setreuid() vs. setuid()).
17901         [3107333c062c]
17902
17903         * sudoers.cat, sudoers.man.in, sudoers.pod:
17904         PATH is also preserved when env_reset is in effect
17905         [90e45c5711ff]
17906
17907         * CHANGES, Makefile.in, check.c, compat.h, config.h.in, configure,
17908         configure.in, defaults.c, defaults.h, env.c, find_path.c,
17909         getspwuid.c, set_perms.c, sudo.c, sudo.cat, sudo.h, sudo.man.in,
17910         sudo.pod, sudoers.cat, sudoers.man.in, sudoers.pod, testsudoers.c,
17911         visudo.c, visudo.cat, visudo.man.in:
17912         New Defaults options: o stay_setuid - sudo will remain setuid if
17913         system has saved uids or setreuid(2) o env_reset - reset the
17914         environment to a sane default o env_keep - preserve environment
17915         variables that would otherwise be cleared
17916
17917         No longer use getenv/putenv/setenv functions--do environment munging
17918         by hand. Potentially dangerous environment variables can be cleared
17919         only if they contain '/' pr '%' characters to protect buggy
17920         programs. Moved environment routines into env.c (new file)
17921         [c2f97651db4c]
17922
17923         * INSTALL:
17924         Clear up --without-passwd description
17925         [2f336dab6733]
17926
17927         * putenv.c, sudo_setenv.c:
17928         We now build up a new environment from scratch and assign it to
17929         "environ".
17930         [6ae6152f2238]
17931
17932 2000-12-19  Todd C. Miller  <Todd.Miller@courtesan.com>
17933
17934         * sudo.pod, visudo.pod:
17935         Grammatical fixes from Paul Janzen
17936         [e03ead2e56f8]
17937
17938 2000-12-15  Todd C. Miller  <Todd.Miller@courtesan.com>
17939
17940         * visudo.c:
17941         If there was a syntax error and the user just wants to quit, unlink
17942         sudoers if it is zero length.
17943         [74ba7921f520]
17944
17945         * visudo.c:
17946         'Q' means ignore parse error, not 'q'
17947         [e8d0e4491fe6]
17948
17949         * visudo.c:
17950         Open sudoers for writing with mode SUDOERS_MODE From Dimitry Andric
17951         <dim@xs4all.nl>
17952         [b24990a72491]
17953
17954 2000-12-13  Todd C. Miller  <Todd.Miller@courtesan.com>
17955
17956         * set_perms.c:
17957         Add missing #ifdef HAVE_LOGIN_CAP_H; ayamura@ayamura.org
17958         [41a8db10e076]
17959
17960 2000-12-09  Todd C. Miller  <Todd.Miller@courtesan.com>
17961
17962         * config.guess, config.sub:
17963         Darwin / Mac OS X support from Wilfredo Sanchez <wsanchez@apple.com>
17964         [6052da895d2e]
17965
17966 2000-11-03  Todd C. Miller  <Todd.Miller@courtesan.com>
17967
17968         * sudo.c, visudo.c:
17969         Use exit(127), not exit(-1)
17970         [9ff0c3eada34]
17971
17972         * Makefile.in, defaults.c, defaults.h, set_perms.c, sudo.c:
17973         Move set_perms() to its own file and use POSIX saved uid or
17974         setreuid() if available.
17975
17976         Added stay_setuid option for systems that have libraries that
17977         perform extra paranoia checks in system libraries for setuid
17978         programs (ie: anything with issetugid(2)).
17979         [28960f842698]
17980
17981         * sudo.c:
17982         strip more bits from the environment and add a facility for
17983         stripping things only if they contain '/' or '%' to address printf
17984         format string vulnerabilities in other programs.
17985         [b98d6375f299]
17986
17987 2000-11-02  Todd C. Miller  <Todd.Miller@courtesan.com>
17988
17989         * configure:
17990         regen
17991         [7e74e5c91049]
17992
17993         * configure.in:
17994         For NCR, add -lc89 to LIBS, not SUDO_LIBS and cache the existence of
17995         strcasecmp().
17996         [a418e9e70442]
17997
17998         * configure:
17999         regen
18000         [bbff244a52bc]
18001
18002         * configure.in:
18003         Check for strcasecmp(3) in -lc89 for NCR Unix
18004         [361c99576681]
18005
18006 2000-11-01  Todd C. Miller  <Todd.Miller@courtesan.com>
18007
18008         * config.h.in:
18009         Define HAVE_INNETGR #ifdef HAVE__INNETGR
18010         [473cdb92b6db]
18011
18012         * configure:
18013         regen
18014         [4e6364a195e0]
18015
18016         * compat.h, config.h.in, configure.in:
18017         Add check for _innetgr(3) since NCR systems have that instead of
18018         innetgr(3).
18019         [25e6852e7494]
18020
18021 2000-10-31  Todd C. Miller  <Todd.Miller@courtesan.com>
18022
18023         * auth/securid.c:
18024         check return value of creadcfg() call sd_close() after sd_auth()
18025         store username in sd->username so we don't rely on the USER env
18026         variable
18027         [d106b4f42722]
18028
18029 2000-10-30  Todd C. Miller  <Todd.Miller@courtesan.com>
18030
18031         * INSTALL:
18032         document --with-bsdauth
18033         [f1518ecc2ee9]
18034
18035         * configure:
18036         regen
18037         [dceb35071ea8]
18038
18039         * configure.in:
18040         --with-bsdauth assumes --with-logincap
18041         [4200778083fd]
18042
18043         * auth/bsdauth.c, auth/fwtk.c:
18044         When prompting for a response to a challenge, if the user just hits
18045         return then reprompt with echo turned on.
18046         [a539b6474a97]
18047
18048 2000-10-29  Todd C. Miller  <Todd.Miller@courtesan.com>
18049
18050         * sudo.c:
18051         Remove debugging code that should not have been committed, oops.
18052         [9862607b77a7]
18053
18054         * auth/bsdauth.c:
18055         Use lower-level routines and get the password ourselves. Checks for
18056         a challenge and if there is one echo is not turned off.
18057         [2d8fcd166baa]
18058
18059         * auth/pam.c, auth/sudo_auth.h:
18060         minor housekeeping, no real code changes
18061         [d0074a277fb4]
18062
18063 2000-10-27  Todd C. Miller  <Todd.Miller@courtesan.com>
18064
18065         * sudo.c:
18066         Fix a coredump in the logging functions if gethostname(2) fails by
18067         deferring the call to log_error() until things are better setup.
18068
18069         Fix return value of set_loginclass() in non-BSD-auth case.
18070
18071         Hard-code 'sudo' in the usage message so we can fit more options on
18072         a line
18073         [d9d1b7579818]
18074
18075         * logging.c:
18076         Fix errant ';' (typo) that broken MSG_ONLY
18077         [849b2276a470]
18078
18079 2000-10-26  Todd C. Miller  <Todd.Miller@courtesan.com>
18080
18081         * sudo.cat, sudo.man.in:
18082         regen
18083         [bb3c8c6704d1]
18084
18085         * sudo.pod:
18086         Document -a flag
18087         [e18316cebaac]
18088
18089         * Makefile.in, auth/bsdauth.c, auth/sudo_auth.h, config.h.in,
18090         configure, configure.in, getspwuid.c, sudo.c:
18091         Add support for BSD authentication.
18092         [f374cfd9ca0d]
18093
18094 2000-10-19  Todd C. Miller  <Todd.Miller@courtesan.com>
18095
18096         * sudoers.pod:
18097         Fix typo; from sato@complex.eng.hokudai.ac.jp
18098         [3085fee9766e]
18099
18100 2000-10-12  Todd C. Miller  <Todd.Miller@courtesan.com>
18101
18102         * sudoers.pod:
18103         Mention negating umask
18104         [c9e410294dae]
18105
18106         * defaults.c:
18107         Allow user to specify umask of 0777 (same as !umask)
18108         [bb771daa96fe]
18109
18110 2000-10-09  Todd C. Miller  <Todd.Miller@courtesan.com>
18111
18112         * sudo.pod, visudo.pod:
18113         Fix a typo and give a URL for the sudo history.
18114         [77f73199aedb]
18115
18116 2000-10-08  Todd C. Miller  <Todd.Miller@courtesan.com>
18117
18118         * defaults.c, sudo.pod:
18119         fix typos; pepper@reppep.com
18120         [5532c7421340]
18121
18122 2000-09-14  Todd C. Miller  <Todd.Miller@courtesan.com>
18123
18124         * sudo.c, sudo.h, sudo_setenv.c:
18125         sudo_setenv() now exits on memory alloc failure instead of returning
18126         -1.
18127         [71f1cf18f47b]
18128
18129 2000-09-07  Todd C. Miller  <Todd.Miller@courtesan.com>
18130
18131         * sudo.c:
18132         Strip out NLSPATH and PATH_LOCALE from the environment for FreeBSD
18133         and possibly others.
18134         [b69d985b0d22]
18135
18136         * logging.c:
18137         Don't use vsyslog(3) since HP-UX (and others?) lack it. This means
18138         that "%m" won't be expanded but we don't use that anyway since the
18139         logging routines may splat to stderr as well.
18140         [8d37a544d0c0]
18141
18142         * defaults.c, defaults.h, sudo.c, sudoers.cat, sudoers.man.in,
18143         sudoers.pod:
18144         Add always_set_home variable
18145         [dbcaff646e07]
18146
18147         * configure, configure.in:
18148         Have to hard code default values in help since the defaults are set
18149         _after_ the help stuff.
18150         [7b5d6d72f55c]
18151
18152 2000-08-31  Todd C. Miller  <Todd.Miller@courtesan.com>
18153
18154         * lex.yy.c, parse.lex:
18155         Allow special characters (including '#') to be embedded in pathnames
18156         if quoted by a '\\'. The quoted chars will be dealt with by
18157         fnmatch(). Unfortunately, 'sudo -l' still prints the '\\'.
18158         [3ed33cf09977]
18159
18160 2000-08-13  Todd C. Miller  <Todd.Miller@courtesan.com>
18161
18162         * install-sh:
18163         Better path searching for programs we need.
18164         [60517cb1f0d6]
18165
18166         * TROUBLESHOOTING:
18167         Add section on "C compiler cannot create executables" errors.
18168         [e4ada6eaee59]
18169
18170         * Makefile.binary, Makefile.in, version.h:
18171         Crank version
18172         [93d1bd5b7f5e]
18173
18174         * aclocal.m4, configure, configure.in, sudo.cat, sudo.man.in,
18175         sudo.pod, sudoers.cat, sudoers.man.in, sudoers.pod, visudo.cat,
18176         visudo.man.in, visudo.pod:
18177         Substitute values from configure into man pages.
18178         [619854c356c1]
18179
18180 2000-08-12  Todd C. Miller  <Todd.Miller@courtesan.com>
18181
18182         * parse.c, sudo.c:
18183         The listpw and verifypw sudoers options would not take effect
18184         because the value of the default was checked *before* sudoers was
18185         parsed. Instead of passing in the value of PWCHECK_* to
18186         sudoers_lookup(), pass in the arg for def_ival() so the check can be
18187         deferred until after sudoers is parsed.
18188         [4f596e358f72]
18189
18190 2000-08-11  Todd C. Miller  <Todd.Miller@courtesan.com>
18191
18192         * tgetpass.c:
18193         When writing prompt, no need to write the NUL as well;
18194         hag@linnaean.org
18195         [fbcdd7b431ee]
18196
18197 2000-06-09  Todd C. Miller  <Todd.Miller@courtesan.com>
18198
18199         * install-sh:
18200         When looking for chown, check in /sbin too
18201         [657ba6653f8c]
18202
18203 2000-06-05  Todd C. Miller  <Todd.Miller@courtesan.com>
18204
18205         * visudo.c:
18206         Remove extraneous call to init_defaults() and set runas_user to NULL
18207         betweem parses so init_defaults will reset it each time, thus
18208         avoiding a reference to free()d data.
18209         [7421fcd692af]
18210
18211 2000-06-04  Todd C. Miller  <Todd.Miller@courtesan.com>
18212
18213         * config.h.in, interfaces.c, interfaces.h, sudo.c:
18214         Add support for using getifaddrs() to get the list of ip addr /
18215         netmask pairs. Currently IPv4-only.
18216         [a35bc4f7306d]
18217
18218         * visudo.c:
18219         Add a missing check for UserEditor == NULL Add missing '+' before
18220         line number when invoking editor to fix a syntax error
18221         [f0d4635f6082]
18222
18223 2000-05-12  Todd C. Miller  <Todd.Miller@courtesan.com>
18224
18225         * sudo.c:
18226         Call clean_env very early in main() for paranoia's sake. Idea from
18227         Marc Esipovich.
18228         [f8d72ebd0115]
18229
18230 2000-05-10  Todd C. Miller  <Todd.Miller@courtesan.com>
18231
18232         * sudo.h:
18233         Update proto for evasprintf and easprintf
18234         [d147d6e58419]
18235
18236         * alloc.c:
18237         Make easprintf() and evasprintf() return an int.
18238         [b2ca5d089667]
18239
18240         * check.c:
18241         If the targetpw flag is set, use target username as part of the
18242         timestamp path. If tty tickets are in effect cat the tty and the
18243         target username with a ':' as the separator.
18244         [de11abc693c2]
18245
18246 2000-05-09  Todd C. Miller  <Todd.Miller@courtesan.com>
18247
18248         * auth/pam.c:
18249         Backout part of last change; setting PAM_USER to the invoking user
18250         breaks things like targetpw.
18251         [427218a7387f]
18252
18253         * auth/pam.c:
18254         set tty and username via pam_set_item
18255         [85d1922dbcc9]
18256
18257         * auth/sudo_auth.c, check.c, getspwuid.c, sudo.c, sudo.h:
18258         Fix root, runas, and target authentication for non-passwd file auth
18259         methods.
18260         [a14535e7b30c]
18261
18262 2000-04-22  Todd C. Miller  <Todd.Miller@courtesan.com>
18263
18264         * sudo.cat, sudo.man.in, sudo.pod, sudoers.cat, sudoers.man.in,
18265         sudoers.pod, visudo.cat, visudo.man.in, visudo.pod:
18266         Use B<-Z> not C<-Z> for command line flags in all places. This is
18267         more consistent and works around a bug in Pod::Man.
18268         [64b5a05f30c5]
18269
18270         * sudoers.cat, sudoers.man.in, sudoers.pod:
18271         Fix an occurence of 'semicolon' that should be 'colon'
18272         [4ea5aacae3fb]
18273
18274 2000-04-19  Todd C. Miller  <Todd.Miller@courtesan.com>
18275
18276         * configure, configure.in:
18277         Fix --with-badpri help line
18278         [3cc40977c043]
18279
18280 2000-04-17  Todd C. Miller  <Todd.Miller@courtesan.com>
18281
18282         * defaults.c, logging.c, sudo.c:
18283         Bracket calls to syslog with an openlog() and closelog() since some
18284         authentication methods (like PAM) may do their own logging via
18285         syslog. Since we don't use syslog much (usually just once per
18286         session) this doesn't really incur a performance penalty. It also
18287         Fixes a SEGV with pam_kafs.
18288         [fe1cc28529f6]
18289
18290 2000-04-15  Todd C. Miller  <Todd.Miller@courtesan.com>
18291
18292         * sudo.c:
18293         Fix -H flag. runas_homedir is only valid after
18294         set_perms(PERM_RUNAS, mode)
18295         [ce9b1c6f68a6]
18296
18297 2000-04-12  Todd C. Miller  <Todd.Miller@courtesan.com>
18298
18299         * INSTALL:
18300         Clarify the fact that insults are not enabled just by including them
18301         in the binary.
18302         [d5a31d48320c]
18303
18304 2000-04-07  Todd C. Miller  <Todd.Miller@courtesan.com>
18305
18306         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in, visudo.cat,
18307         visudo.man.in:
18308         Regenerated with perl 5.6.0 pod2man
18309         [21751433768b]
18310
18311         * Makefile.in:
18312         Give date string to pod2man since its default is ugly and it ain't
18313         got no alibi.
18314         [0080b2f6298f]
18315
18316         * Makefile.in:
18317         Do section substitution on the output of pod2man and remove hack
18318         needed for old pod2man.
18319         [1ef843d5c78b]
18320
18321         * sudo.pod, sudoers.pod, visudo.pod:
18322         Put back real man sections, we will do the substitution later.
18323         [f728c1abad7e]
18324
18325 2000-04-02  Todd C. Miller  <Todd.Miller@courtesan.com>
18326
18327         * configure, configure.in:
18328         Don't bother checking for the path to vi if user specified --with-
18329         editor
18330         [bf698487e0d5]
18331
18332 2000-04-01  Todd C. Miller  <Todd.Miller@courtesan.com>
18333
18334         * CHANGES, visudo.c:
18335         Visudo now does its own fork/exec instead of calling system(3).
18336         [99bbcd88863b]
18337
18338         * CHANGES, INSTALL, Makefile.in, sudoers.cat, sudoers.man.in,
18339         sudoers.pod, visudo.c:
18340         Visudo now checks for the existence of an editor and gives a
18341         sensible error if it does not exist.
18342
18343         The path to the editor for visudo is now a colon-separated list of
18344         allowable editors. If the user has $EDITOR set and it matches one
18345         of the allowed editors that editor will be used. If not, the first
18346         editor in the list that actually exists is used.
18347         [cc86eb9f5440]
18348
18349         * sudo.cat, sudo.man.in, sudo.pod:
18350         Clear up confusion wrt sudo's return value.
18351         [9385b12d8e79]
18352
18353 2000-03-27  Todd C. Miller  <Todd.Miller@courtesan.com>
18354
18355         * Makefile.in:
18356         Strip sudo and visudo for bindist target
18357         [a995ddd79177]
18358
18359         * sudo.cat, sudo.man.in, sudo.pod, sudoers.cat, sudoers.man.in,
18360         sudoers.pod, visudo.cat, visudo.man.in, visudo.pod:
18361         Use @mansectsu@ and @mansectform@ in the man page bodies as well.
18362         [5eb9e60a726f] [SUDO_1_6_3]
18363
18364         * visudo.cat, visudo.man.in, visudo.pod:
18365         Typo: @sysconf@ -> @sysconfdir@
18366         [f07f52fcd099]
18367
18368         * Makefile.in:
18369         'make dist' should not cause any files to be modified so remove its
18370         dependencies.
18371         [7f44a2666a9c]
18372
18373         * CHANGES:
18374         Whoops, forgot to add release marker
18375         [16c0f16b35b8]
18376
18377 2000-03-26  Todd C. Miller  <Todd.Miller@courtesan.com>
18378
18379         * CHANGES:
18380         Final change for 1.6.3 (or so I hope)
18381         [473c89da6123]
18382
18383         * sudo.cat, sudoers.cat, visudo.cat:
18384         Use SYSV man sections since BSD systems will have nroff...
18385         [0a6bd154324e]
18386
18387 2000-03-24  Todd C. Miller  <Todd.Miller@courtesan.com>
18388
18389         * parse.yacc, sudo.tab.c:
18390         When checking to see if the host/user matches in a defaults spec,
18391         check against TRUE, not just non-zero since it might be -1.
18392         [41f2b7ad3fdd]
18393
18394         * configure, configure.in:
18395         OSF/1 puts file formats in section 4, not 5.
18396         [d77c1301afa9]
18397
18398         * CHANGES, INSTALL, sudo.c:
18399         Make login class support work on BSD/OS
18400         [e9bbe3c08ade]
18401
18402         * RUNSON:
18403         Update for 1.6.3
18404         [c40ce1d76c4d]
18405
18406         * configure, configure.in:
18407         If there is no inet_addr but there *is* an __inet_addr that's ok
18408         since inet_addr is probably just a macro then. The better thing to
18409         do would be to look for the macro, but this is fine for now.
18410         [1b8865ae4d68]
18411
18412         * configure, configure.in:
18413         Don't use shlicc for BSD/OS 4.x
18414         [83fbf6dedd2c]
18415
18416         * Makefile.in, configure, configure.in:
18417         *.man lives in cwd, *.cat lives in $(srcdir), add a @mansrcdir@
18418         configure variable so we can deal with this. Also, only remove *.man
18419         for 'distclean' not 'clean'.
18420         [30d56e6de214]
18421
18422         * sudo.c:
18423         set_loginclass() should be static like the proto says
18424         [d570a2d55fb8]
18425
18426 2000-03-23  Todd C. Miller  <Todd.Miller@courtesan.com>
18427
18428         * fnmatch.c:
18429         Add #ifdef __STDC__ around the rangematch function header to avoid
18430         promotion of test to int, thus violating the prototype. Gcc handles
18431         this gracefully but more std ANSI compilers will complain.
18432         [7d98c3e332b2]
18433
18434         * emul/fnmatch.h:
18435         Pull in newer fnmatch(3) that supports FNM_CASEFOLD
18436         [4e1320852f8b]
18437
18438         * aclocal.m4, configure, fnmatch.3, fnmatch.c:
18439         Pull in newer fnmatch(3) that supports FNM_CASEFOLD Check for
18440         FNM_CASEFOLD in configure
18441         [9ef952bf1896]
18442
18443         * CHANGES, TODO:
18444         update for 1.6.3
18445         [e4ba6368a0c5]
18446
18447         * sudo.tab.c, sudo.tab.h, testsudoers.c, visudo.c:
18448         Fully qualified hosts w/ wildcards were not matching the FQHOST
18449         token type. There's really no need for a separate token for fully-
18450         qualified vs. unqualified anymore so FQHOST is now history and
18451         hostname_matches now decides which hostname (short or long) to check
18452         based on whether or not the pattern contains a '.'.
18453         [fbd2887d9811]
18454
18455         * parse.h:
18456         Fully qualified hosts w/ wildcards were not matching the FQHOST
18457         token type. There's really no need for a separate token for fully-
18458         qualified vs. unqualified anymore so FQHOST is now history and
18459         hostname_matches now decides which hostname (short or long) to check
18460         based on whether or not the pattern contains a '.'.
18461         [dd7bbe223461]
18462
18463         * lex.yy.c, parse.c, parse.lex, parse.yacc:
18464         Fully qualified hosts w/ wildcards were not matching the FQHOST
18465         token type. There's really no need for a separate token for fully-
18466         qualified vs. unqualified anymore so FQHOST is now history and
18467         hostname_matches now decides which hostname (short or long) to check
18468         based on whether or not the pattern contains a '.'.
18469         [630d9d205397]
18470
18471         * parse.c, parse.h, parse.yacc, sudo.tab.c, sudoers.cat,
18472         sudoers.man.in, sudoers.pod, testsudoers.c, visudo.c:
18473         Add support for wildcards in the hostname.
18474         [d8d821ed4238]
18475
18476         * Makefile.in:
18477         Add targets for *.man.in, using config.status to generate *.man from
18478         *.man.in
18479         [640e50ede485]
18480
18481         * sudoers.cat, sudoers.man.in, sudoers.pod:
18482         Document set_logname option and enbolden refs to sudo and visudo.
18483         [9622b3a48707]
18484
18485         * INSTALL, Makefile.in, aclocal.m4, configure, configure.in, sudo.cat,
18486         sudo.man.in, sudo.pod, sudoers.cat, sudoers.man.in, sudoers.pod,
18487         visudo.cat, visudo.man.in, visudo.pod:
18488         Add FreeBSD login.conf support (untested on BSD/OS) based on a patch
18489         from Michael D. Marchionna. configure now does substitution on the
18490         man pages, allowing us to fix up the paths and set the section
18491         correctly. Based on an idea from Michael D. Marchionna.
18492         [463e928a0a2f]
18493
18494         * auth/passwd.c:
18495         Better fix for handling HP-UX aging info.
18496         [3950f42d8549]
18497
18498         * sudo.c:
18499         Add support for set_logname run-time default
18500         [c6a7cc76b8b4]
18501
18502         * sudo.man.in, sudoers.man.in, visudo.man.in:
18503         configure does substitution on these to produce *.man
18504         [b83fc3c1bfc9]
18505
18506         * sudo.man, sudoers.man, visudo.man:
18507         These files now get generated from *.man.in at configure time.
18508         [c499061f79e0]
18509
18510 2000-03-22  Todd C. Miller  <Todd.Miller@courtesan.com>
18511
18512         * defaults.c, defaults.h:
18513         Add set_logname option so users can turn off setting of LOGNAME/USER
18514         environment variables.
18515         [6316869180b8]
18516
18517         * lsearch.c, parse.c, testsudoers.c:
18518         kill register
18519         [6e104e653748]
18520
18521 2000-03-13  Todd C. Miller  <Todd.Miller@courtesan.com>
18522
18523         * auth/passwd.c:
18524         HP-UX adds extra info at the end for password aging so when
18525         comparing the result of crypt to pw_passwd we only compare the first
18526         len(epass) bytes *unless* the user entered an empty string for a
18527         password.
18528         [3d24d4e4e889]
18529
18530         * logging.c:
18531         Get rid of grandchild hack, it was causing problems and there is
18532         really no need for it. This fixes a bug where we spin eating up CPU
18533         when the user runs a long-running process like a shell.
18534         [5743b10b1e81]
18535
18536 2000-03-07  Todd C. Miller  <Todd.Miller@courtesan.com>
18537
18538         * sudo.c:
18539         User can always specify a login class if he/she is already root.
18540         [710d160cef9f]
18541
18542         * config.h.in, configure, configure.in, defaults.c, defaults.h,
18543         sudo.c, sudo.h:
18544         FreeBSD login class (login.conf) support.
18545         [026b981d6328]
18546
18547 2000-03-06  Todd C. Miller  <Todd.Miller@courtesan.com>
18548
18549         * auth/sudo_auth.c:
18550         HAVE_SECUREWARE -> HAVE_GETPRPWNAM; fixes secureware support
18551         [9cd4929f1a78]
18552
18553 2000-03-03  Todd C. Miller  <Todd.Miller@courtesan.com>
18554
18555         * auth/passwd.c:
18556         Truncate unencrypted password to 8 chars if encrypted password is
18557         exactly 13 characters (indicateing standard a DES password). Many
18558         versions of crypt() do this for you, but not all (like HP-UX's).
18559         [a9d0259cb193]
18560
18561 2000-03-02  Todd C. Miller  <Todd.Miller@courtesan.com>
18562
18563         * INSTALL, RUNSON:
18564         Mention that gcc on dynix may have problems
18565         [77b97fa5bf1b]
18566
18567 2000-02-29  Todd C. Miller  <Todd.Miller@courtesan.com>
18568
18569         * Makefile.in:
18570         Link visudo with NET_LIBS since we now call syslog via defaults.c
18571         [9e3830b277cc]
18572
18573         * defaults.c:
18574         Use Argv[0] as the first arg to openlog() since visudo uses this
18575         too.
18576         [e61078f328ec]
18577
18578 2000-02-28  Todd C. Miller  <Todd.Miller@courtesan.com>
18579
18580         * sudo.c:
18581         Stash coredumpsize resource limit and retsore it before the exec()
18582         Otherwise the child ends up with a coredumpsize of 0.
18583         [f6a4783835a3]
18584
18585 2000-02-27  Todd C. Miller  <Todd.Miller@courtesan.com>
18586
18587         * sudo.cat, sudo.man, sudo.pod:
18588         document -S flag
18589         [3ebd805b7142]
18590
18591         * sudo.c:
18592         fix usage string
18593         [66b2dfa47fe8]
18594
18595         * CHANGES, RUNSON, TODO, auth/aix_auth.c, auth/fwtk.c, auth/pam.c,
18596         auth/sudo_auth.c, sudo.c, sudo.h, tgetpass.c:
18597         Added -S flag (read passwd from stdin) and tgetpass_flags global
18598         that holds flags to be passed in to tgetpass(). Change echo_off
18599         param to tgetpass() into a flags field. There are currently 2
18600         possible flags for tgetpass(): TGP_ECHO and TGP_STDIN. In
18601         tgetpass(), abstract the echo set/clear via macros and if (flags &
18602         TGP_ECHO) but echo is not set on the terminal, but sure to set it.
18603         [a4fcbb712cd0]
18604
18605         * tgetpass.c:
18606         Fixed a bug that caused an infinite loop when the password timeout
18607         was disabled.
18608         [2be1ffc5a39f]
18609
18610 2000-02-18  Todd C. Miller  <Todd.Miller@courtesan.com>
18611
18612         * CHANGES, defaults.c, defaults.h, getspwuid.c, sudo.c, sudo.h,
18613         sudoers.cat, sudoers.man, sudoers.pod, visudo.c:
18614         Add rootpw, runaspw, and targetpw options.
18615         [2d4563e46df7]
18616
18617         * CHANGES, defaults.c, sudoers.cat, sudoers.man, sudoers.pod,
18618         visudo.c:
18619         enveditor -> env_editor
18620         [ddc5f856e583]
18621
18622 2000-02-16  Todd C. Miller  <Todd.Miller@courtesan.com>
18623
18624         * BUGS, INSTALL, Makefile.in, README, configure, configure.in,
18625         sudo.cat, sudo.man, sudoers.cat, sudoers.man, version.h, visudo.cat,
18626         visudo.man:
18627         crank versino to 1.6.3
18628         [a5f7d3e74360]
18629
18630         * INSTALL, TODO, defaults.c, defaults.h, sudoers.cat, sudoers.man,
18631         sudoers.pod, visudo.c:
18632         Add 'editor' and 'enveditor' sudoers defaults and make visudo honor
18633         them. This means that visudo will now parse the sudoers file
18634         *before* it is edited so a bogus sudoers file will cause a warning
18635         to go to stderr. Also, visudo checks the variables once--it does not
18636         check them after each editor run since that could be confusing.
18637         [9f5af18e9212]
18638
18639 2000-02-15  Todd C. Miller  <Todd.Miller@courtesan.com>
18640
18641         * RUNSON:
18642         1.6.2 -> 1.6.2p1
18643         [e25b74f1d1af]
18644
18645         * check.c, sudo.c, sudo.h:
18646         Move user_is_exempt prototype into sudo.h
18647         [daf26a6ded8a]
18648
18649 2000-02-13  Todd C. Miller  <Todd.Miller@courtesan.com>
18650
18651         * configure, configure.in:
18652         Fix thinko, some && should have been || in the last commit
18653         [4b9b2d487ded]
18654
18655         * configure, configure.in:
18656         Don't initialized Makefile variables to be NULL since the user may
18657         want to import variables from their environment.
18658         [7be019f4422c]
18659
18660 2000-02-04  Todd C. Miller  <Todd.Miller@courtesan.com>
18661
18662         * configure, configure.in:
18663         typo
18664         [38f4d8971f0a]
18665
18666 2000-01-28  Todd C. Miller  <Todd.Miller@courtesan.com>
18667
18668         * sudo.tab.c:
18669         fix a yacc (skeleton.c) warning
18670         [a2da228a937b]
18671
18672 2000-01-27  Todd C. Miller  <Todd.Miller@courtesan.com>
18673
18674         * INSTALL, RUNSON, configure, configure.in:
18675         Make pam work on HP-UX 11.0;jaearick@colby.edu
18676         [b94de0ff6f42]
18677
18678         * CHANGES:
18679         recent changes; prepare for 1.6.2p1
18680         [b291635ea141]
18681
18682         * find_path.c:
18683         Don't apply SECURE_PATH if user is example; jmknoble@pobox.com
18684         [4306285c4f6e]
18685
18686 2000-01-26  Todd C. Miller  <Todd.Miller@courtesan.com>
18687
18688         * sudo.tab.c:
18689         Regen with yacc that has a memory leak plugged.
18690         [e26383a04eb7]
18691
18692         * sudoers.cat, sudoers.man, sudoers.pod:
18693         Expanded docs on sudoers 'defaults' options based on INSTALL file
18694         info.
18695         [54c3d62d6c74]
18696
18697         * INSTALL:
18698         Fix some while lies
18699         [d15311782150]
18700
18701 2000-01-24  Todd C. Miller  <Todd.Miller@courtesan.com>
18702
18703         * Makefile.in:
18704         When making a bindist, link FAQ to TROUBLESHOOTING instead of
18705         copying.
18706         [2d88a6ac88cf]
18707
18708         * sudoers.cat, sudoers.man, sudoers.pod:
18709         Add netgroup caveat
18710         [28d119f466e3] [SUDO_1_6_2]
18711
18712         * RUNSON:
18713         Last minute updates
18714         [89fb4ed22d52]
18715
18716         * TROUBLESHOOTING:
18717         PAM entry
18718         [a9fd59f39457]
18719
18720         * auth/pam.c:
18721         correct a comment
18722         [a29627225ba9]
18723
18724         * CHANGES, RUNSON:
18725         update for 1.6.2
18726         [b7f1c40ea732]
18727
18728         * auth/pam.c:
18729         Better detection of PAM errors and fix custom prompts with PAM.
18730         Based on patches from "Cloyce D. Spradling" <cloyce@headgear.org>
18731         [ff69234b94a5]
18732
18733 2000-01-20  Todd C. Miller  <Todd.Miller@courtesan.com>
18734
18735         * snprintf.c:
18736         Cast ULONG_MAX to unsigned long long when comparing to an unsigned
18737         long long value.
18738         [9d918c3a2ecd]
18739
18740 2000-01-19  Todd C. Miller  <Todd.Miller@courtesan.com>
18741
18742         * CHANGES, config.h.in, configure, configure.in, visudo.c:
18743         Fix sudoers locking in visudo. We now lock the sudoers file itself,
18744         not the temp file (since locking the temp file can foul up editors).
18745         The previous locking scheme didn't work because the fd was closed
18746         too early.
18747         [de2011bb11ed]
18748
18749         * config.h.in, configure, configure.in:
18750         Don't need test for ftruncate() any more.
18751         [e5f71c848104]
18752
18753         * configure, configure.in:
18754         Add a test for the -Aa flag w/ HP-UX's cc. Fixes compilation with
18755         the unbundled HP-UX cc.
18756         [2c373612c644]
18757
18758 2000-01-18  Todd C. Miller  <Todd.Miller@courtesan.com>
18759
18760         * sudoers.cat, sudoers.man, sudoers.pod:
18761         "a a" -> "a"; Aaron Campbell <aaron@cs.dal.ca>
18762         [05360d2c314e]
18763
18764 2000-01-17  Todd C. Miller  <Todd.Miller@courtesan.com>
18765
18766         * LICENSE, Makefile.in, defaults.c, defaults.h, parse.c, parse.h,
18767         parse.yacc, sudo.c, sudo.h, sudoers.pod, testsudoers.c, tgetpass.c,
18768         version.h, visudo.c:
18769         update copyright year on changed files
18770         [5792a2a28a4c]
18771
18772         * RUNSON:
18773         updates
18774         [edf8f19aa403]
18775
18776         * CHANGES:
18777         aix fix
18778         [4d4a243b31e2]
18779
18780         * INSTALL:
18781         Crank version to 1.6.2
18782         [bcb5cb411624]
18783
18784         * configure:
18785         Crank version to 1.6.2
18786         [32a19f33427f]
18787
18788         * sudo.c:
18789         When using rlimit check for RLIM_INFINITY When computing the value
18790         of maxfd, use min(getdtablesize(), RLIMIT_NOFILE)
18791         [8c16166802e5]
18792
18793         * CHANGES:
18794         recent changes
18795         [09fc7112e44d]
18796
18797         * BUGS, Makefile.in, README, configure.in, sudo.cat, sudo.man,
18798         sudoers.cat, sudoers.man, version.h, visudo.cat, visudo.man:
18799         Crank version to 1.6.2
18800         [055fa61a7c61]
18801
18802         * INSTALL, defaults.c, defaults.h, sudo.c, sudo.h, sudoers.pod:
18803         Add 'shell_noargs' runtime option back in. We have to defer
18804         checking until after the sudoers file has been parsed but since
18805         there are now other options that operate that way this one can too.
18806         Based on a patch from bguillory@email.com.
18807         [231db7a007a6]
18808
18809         * defaults.c, defaults.h, parse.c, sudo.c, sudo.h:
18810         Add "listpw" and "verifypw" options.
18811         [190683bac878]
18812
18813         * sudoers.cat, sudoers.man, sudoers.pod:
18814         o Fix some typos/omissions o Add section on verifypw and listpw o
18815         Define how NOPASSWD interacts with the -v and -l flags
18816         [6feb7350eb79]
18817
18818 2000-01-14  Todd C. Miller  <Todd.Miller@courtesan.com>
18819
18820         * configure, configure.in:
18821         For HP-UX cc, add -Aa to CPPFLAGS. For HP-UX always add
18822         -D_HPUX_SOURCE to CPPFLAGS.
18823         [06cc35d89dc8]
18824
18825         * defaults.c, defaults.h:
18826         In struct sudo_defs_types, move the union to the end and don't
18827         initialize the union member since that only works with an ANSI
18828         compiler. We set the value of the union by hand in init_defaults()
18829         anyway. This allows sudo to compile on a K&R compiler again.
18830         [623487e1fcfa]
18831
18832 2000-01-11  Todd C. Miller  <Todd.Miller@courtesan.com>
18833
18834         * parse.c, parse.h, parse.yacc, sudo.tab.c, testsudoers.c, visudo.c:
18835         netgr_matches needs to check shost as well as host since they may be
18836         different.
18837         [3f43ace23d3e]
18838
18839         * tgetpass.c:
18840         End on \r as well as \n
18841         [cb7c6e6f4202]
18842
18843 2000-01-03  Todd C. Miller  <Todd.Miller@courtesan.com>
18844
18845         * sudo.c:
18846         Update statbuf.st_mode based on SUDOERS_MODE when we are chaning
18847         from 0400 to whatever SUDOERS_MODE is (converting from the old
18848         sudoers mode). Assumes that SUDOERS_MODE is less restrictive than
18849         0400 which should always be the case.
18850         [34cd83d49d20]
18851
18852         * parse.c, parse.yacc, sudo.c, sudo.h, sudo.tab.c:
18853         Make treatment of -l and -v sane wrt NOPASSWD flags. Now allow -l
18854         w/o a passwd if there is *any* entry for the user on the host with a
18855         NOPASSWD flag. For -v, only allow w/o a passwd if *all* entries for
18856         the user on the host w/ the specified runas user have the NOPASSWD
18857         flag set.
18858         [4b3b85697653]
18859
18860         * Makefile.in:
18861         add check target
18862         [3d24d34a76fd]
18863
18864 1999-12-16  Todd C. Miller  <Todd.Miller@courtesan.com>
18865
18866         * visudo.c:
18867         Treat EOF at whatnow prompt like 'x' instead of looping.
18868         [5deffc27114c]
18869
18870 1999-12-10  Todd C. Miller  <Todd.Miller@courtesan.com>
18871
18872         * CHANGES:
18873         recent changes
18874         [5836a9452568] [SUDO_1_6_1]
18875
18876 1999-12-09  Todd C. Miller  <Todd.Miller@courtesan.com>
18877
18878         * config.h.in, configure, configure.in, sudo.c:
18879         Add check for initgroups() since old SYSV lacks this.
18880         [657a6005a569]
18881
18882         * CHANGES, RUNSON, aclocal.m4, config.h.in, configure, configure.in,
18883         parse.c, testsudoers.c:
18884         o Kill HAVE_FNMATCH_H o Only define HAVE_FNMATCH if <fnmatch.h>
18885         exists.
18886         [17d081e917d6]
18887
18888 1999-12-06  Todd C. Miller  <Todd.Miller@courtesan.com>
18889
18890         * auth/sudo_auth.c:
18891         Don't allow insults to be enabled if the insults[] array is empty.
18892         Otherwise there would be division by zero.
18893         [b20c14db6029]
18894
18895         * insults.h:
18896         Don't allow insults to be enabled if the insults[] array is empty.
18897         Otherwise there would be division by zero.
18898         [028f130204b0]
18899
18900         * CHANGES, RUNSON:
18901         Don't allow insults to be enabled if the insults[] array is empty.
18902         Otherwise there would be division by zero.
18903         [974f4780254b]
18904
18905         * insults.h:
18906         Don't care about USE_INSULTS #define since the insult stuff may be
18907         overridden at runtime.
18908         [b873df8b299c]
18909
18910         * auth/sudo_auth.c:
18911         Honor insults flag.
18912         [756111640fdc]
18913
18914         * CHANGES, parse.c:
18915         Don't ask the user for a password if the user is not allowed to run
18916         the command and the authenticate flag (in sudoers) is false.
18917         [cea9fdc09c76]
18918
18919         * CHANGES, RUNSON, lex.yy.c, parse.lex:
18920         o Whenever we get a bare newline we change to the INITIAL state. o
18921         Enter GOTRUNAS when we see Runas_Alias
18922
18923         This allows #uid to work in a RunasAlias.
18924         [a475513e7c7a]
18925
18926 1999-12-05  Todd C. Miller  <Todd.Miller@courtesan.com>
18927
18928         * CHANGES, parse.yacc, sudo.tab.c:
18929         fix parsing of runas lists: o oprunasuser and runaslist now return a
18930         value o in a runasspec, if a runaslist does not return TRUE, set
18931         runas_matches to FALSE. Normally, a runaslist only returns FALSE
18932         for explicitly denied users. o since runaslist does not modify the
18933         stack there is no need for a push/pop in runasalias.
18934         [82b305b34a8c]
18935
18936         * check.c, sudo.c:
18937         Don't kill the user's tickets until after sudoers has been parsed
18938         since tty_tickets and ticket_dir could be set in sudoers.
18939         [f43e25367f3a]
18940
18941         * BUGS, CHANGES, Makefile.binary, Makefile.in, README, RUNSON,
18942         configure, configure.in, sudo.cat, sudo.man, sudoers.cat,
18943         sudoers.man, tgetpass.c, version.h, visudo.cat, visudo.man:
18944         crank version to 1.6
18945         [95f8bdcf9bb2]
18946
18947         * testsudoers.c:
18948         add set_fqdn() stub
18949         [bbc81af5b41a]
18950
18951 1999-12-02  Todd C. Miller  <Todd.Miller@courtesan.com>
18952
18953         * INSTALL, defaults.c, defaults.h, sudo.c, sudo.h, sudoers.cat,
18954         sudoers.man, sudoers.pod, visudo.c:
18955         o Kill shell_noargs option, it cannot work since the command needs
18956         to be set before sudoers is parsed. o Fix the "set_home" sudoers
18957         option (only worked at compile time). o Fix "fqdn" sudoers option.
18958         We now set host/shost via set_fqdn which gets called when the
18959         "fqdn" option is set in sudoers. o Move the openlog() to
18960         store_syslogfac() so this gets overridden correctly from the
18961         sudoers file.
18962         [3dca861f0f5d]
18963
18964         * auth/securid.c:
18965         SecurID support should compile now.
18966         [a544e5c6ea34]
18967
18968 1999-11-29  Todd C. Miller  <Todd.Miller@courtesan.com>
18969
18970         * sudo.cat, sudo.man, sudo.pod, sudoers.cat, sudoers.man, visudo.cat,
18971         visudo.man, visudo.pod:
18972         fix some syntactic goofs
18973         [b3451f0d5239]
18974
18975 1999-11-28  Todd C. Miller  <Todd.Miller@courtesan.com>
18976
18977         * Makefile.in, sudo.html, sudoers.html, visudo.html:
18978         No longer need the .html files as they are generated automatically
18979         on the web site.
18980         [1b4aa4204584]
18981
18982         * CHANGES, LICENSE:
18983         kill characters that made wml unhappy
18984         [b988fbc6da56]
18985
18986         * HISTORY:
18987         typo
18988         [a418963f7fce]
18989
18990 1999-11-25  Todd C. Miller  <Todd.Miller@courtesan.com>
18991
18992         * README:
18993         majordomo@cs.colorado.edu -> majordomo@courtesan.com
18994         [5d151e8ffd3b]
18995
18996         * Makefile.in, configure:
18997         Wrap script execution w/ /bin/sh for the benefit of ctm
18998         [3a9c4766b2c3]
18999
19000 1999-11-24  Todd C. Miller  <Todd.Miller@courtesan.com>
19001
19002         * sudo.c:
19003         Make the -s flag be exclusive too. Also reorder the flags in the
19004         exclusive usage message so they are alphabetical.
19005         [4c7af200db34]
19006
19007 1999-11-23  Todd C. Miller  <Todd.Miller@courtesan.com>
19008
19009         * auth/pam.c:
19010         make pam errors other than PAM_PERM_DENIED fatal
19011         [64bcb3fd2baf]
19012
19013         * auth/API:
19014         fix typo
19015         [f3134c88b12e]
19016
19017         * INSTALL:
19018         make it clear that /etc/pam.d/sudo is required on linux
19019         [213cc3eaad82]
19020
19021         * auth/pam.c:
19022         fix a warning on redhat and spew an error if pam_authenticate()
19023         returns an error other than AUTH_SUCCESS or PAM_PERM_DENIED
19024         [7e46dd19da89]
19025
19026         * sudo.cat, sudo.html, sudo.man, sudo.pod:
19027         Be very clear that the password required is the user's not root's
19028         [a6da127347e5]
19029
19030 1999-11-20  Todd C. Miller  <Todd.Miller@courtesan.com>
19031
19032         * Makefile.in:
19033         add sample.syslog.conf to DISTFILES and BINFILES
19034         [8661c27c007e]
19035
19036 1999-11-19  Todd C. Miller  <Todd.Miller@courtesan.com>
19037
19038         * RUNSON:
19039         updates from Brian Jackson + some formatting
19040         [6d31c6fa63f8]
19041
19042 1999-11-18  Todd C. Miller  <Todd.Miller@courtesan.com>
19043
19044         * INSTALL.binary, Makefile.binary, README, RUNSON:
19045         o One RUNSon update o Changes for automating real binary releases
19046         [dd9585f4406c]
19047
19048         * Makefile.in:
19049         Add bindist target
19050         [546ed3fa94bb]
19051
19052 1999-11-16  Todd C. Miller  <Todd.Miller@courtesan.com>
19053
19054         * TROUBLESHOOTING:
19055         talk about run-time options in addition to compile-time options
19056         [1eb813ff0a9a] [SUDO_1_6_0]
19057
19058         * CHANGES:
19059         fix typos
19060         [65e92bb70a7b]
19061
19062         * sudo.c:
19063         need sys/time.h if HAVE_SETRLIMIT
19064         [ce31655a8a60]
19065
19066         * PORTING, README, RUNSON, sudo.c, sudo.cat, sudo.html, sudo.man,
19067         sudo.pod, visudo.cat, visudo.html, visudo.man, visudo.pod:
19068         get rid of references to sudo-bugs. Now mention the web site or the
19069         sudo@ alias
19070         [a9db861fd8c6]
19071
19072         * sudoers.html:
19073         repair pod2html damage
19074         [62ece4277f1f]
19075
19076         * RUNSON, TODO:
19077         Update for 1.6 release
19078         [98569c57ba2a]
19079
19080         * sudoers.cat, sudoers.html, sudoers.man, sudoers.pod:
19081         Add warning about using ALL in a command context.
19082         [6c77685ab280]
19083
19084 1999-11-09  Todd C. Miller  <Todd.Miller@courtesan.com>
19085
19086         * visudo.c:
19087         Call yyrestart() on a parse error to reset the lexer state.
19088         [1370a27acdb2]
19089
19090         * lex.yy.c, parse.lex:
19091         Don't need YY_FLUSH_BUFFER after all Move yyrestart() into visudo.c
19092         since it might not get called in yywrap if we get a parse error
19093         (and we only reread the file on error anyway).
19094         [37f4b449e28e]
19095
19096         * lex.yy.c, parse.lex:
19097         Call YY_FLUSH_BUFFER macro in yywrap() to clean up any buffers that
19098         might still exist. Call yyrestart() instead of using the deprecated
19099         YY_NEW_FILE macro.
19100         [7d0d873046c6]
19101
19102         * lex.yy.c, parse.lex:
19103         flex doesn't need %N table size declarations
19104         [268b020fd60a]
19105
19106         * sudoers.cat, sudoers.html, sudoers.man, sudoers.pod:
19107         Mention what characters need to be escaped in names.
19108         [72ccbb6b0f31]
19109
19110 1999-11-08  Todd C. Miller  <Todd.Miller@courtesan.com>
19111
19112         * configure:
19113         regen
19114         [65827abb5c7b]
19115
19116         * INSTALL:
19117         clarify Mac OS X entry
19118         [8da1549a71f5]
19119
19120         * RUNSON:
19121         update
19122         [0cff8df7459f]
19123
19124         * configure.in:
19125         o Use AC_MSG_ERROR throughout o Check syslog configure options for
19126         danity
19127         [4cb81e642e5c]
19128
19129 1999-11-05  Todd C. Miller  <Todd.Miller@courtesan.com>
19130
19131         * defaults.c:
19132         Fix printing of type T_MODE in dump_defaults()
19133         [a868bb6f5515]
19134
19135         * strcasecmp.c:
19136         missing sys/types.h
19137         [ca694ca325b6]
19138
19139         * INSTALL:
19140         Break out options that may be overridden at run time into their own
19141         section. Add a not about Max OS X and correct some lies.
19142         [d8bcfd120593]
19143
19144 1999-11-04  Todd C. Miller  <Todd.Miller@courtesan.com>
19145
19146         * CHANGES, config.h.in, configure, configure.in, sudo.c:
19147         o Now use getrlimit to find the highest fd when closing all non-std
19148         fd's o Turn off core dumps via setrlimit for the sake of paranoia
19149         [dd9f651b6def]
19150
19151         * RUNSON:
19152         updates
19153         [f581841fe615]
19154
19155 1999-11-01  Todd C. Miller  <Todd.Miller@courtesan.com>
19156
19157         * CHANGES:
19158         updates
19159         [553baa1d44c7]
19160
19161         * tgetpass.c:
19162         When read()'ing, do a single character at a time to be sure we don't
19163         go oast the newline.
19164         [907d33f55bb4]
19165
19166         * sudo.c:
19167         For the sudo_root option, check against user_uid, not getuid() since
19168         at this point, ruid == euid == 0.
19169         [92d5c51939b4]
19170
19171         * RUNSON:
19172         some updates
19173         [e3ed0c1f312b]
19174
19175         * logging.h:
19176         Fix compilation problem when --with-logging=file was specified.
19177         This means that syslog is now required to build sudo but that should
19178         not be a problem. If it is it can be fixed trivially with a
19179         configure check for syslog() or syslog.h.
19180         [839a4b069190]
19181
19182         * tgetpass.c:
19183         Make this work again for things like "sudo echo hi | more" where the
19184         tty gets put into character at a time mode. We read until we read
19185         end of line or we run out of space (similar to fgets(3)).
19186         [c8f746df2e63]
19187
19188 1999-10-20  Todd C. Miller  <Todd.Miller@courtesan.com>
19189
19190         * sudoers.cat, sudoers.html, sudoers.man, sudoers.pod:
19191         change ital to bold
19192         [f860978e530a]
19193
19194         * RUNSON:
19195         update
19196         [9bcfbb405568]
19197
19198 1999-10-16  Todd C. Miller  <Todd.Miller@courtesan.com>
19199
19200         * defaults.c:
19201         Error out if syslog parameters are given without a value. For
19202         Ultrix or 4.2BSD "syslog" is allowed without a value since there are
19203         no facilities in the 4.2BSD syslog.
19204         [69e7a686f5f0]
19205
19206 1999-10-15  Todd C. Miller  <Todd.Miller@courtesan.com>
19207
19208         * defaults.c:
19209         Ignore the syslog facility for systems w/ old syslog like Ultrix.
19210         [5c250adbbb84]
19211
19212         * TROUBLESHOOTING:
19213         people with "." early in their path can have problems running sudo
19214         from the build dir ;-)
19215         [20a1744a24a4]
19216
19217 1999-10-13  Todd C. Miller  <Todd.Miller@courtesan.com>
19218
19219         * sudo.cat, sudo.html, sudo.man, sudo.pod:
19220         Remove -r realm option
19221         [127caa537f95]
19222
19223         * auth/kerb5.c, auth/sudo_auth.c, auth/sudo_auth.h, configure,
19224         configure.in, sudo.c:
19225         New krb5 code from Frank Cusack <fcusack@iconnet.net>.
19226         [7177a3893a62]
19227
19228         * CHANGES:
19229         update to reality
19230         [766cfbb512d6]
19231
19232 1999-10-12  Todd C. Miller  <Todd.Miller@courtesan.com>
19233
19234         * auth/fwtk.c:
19235         include <auth.h> to get function prototypes.
19236         [d6c7c12d09fe]
19237
19238         * sudo.cat, sudo.html, sudo.man, sudo.pod:
19239         document -L flag
19240         [dc803e1ce0d7]
19241
19242 1999-10-11  Todd C. Miller  <Todd.Miller@courtesan.com>
19243
19244         * sudo.c:
19245         in set_perms(), always call setuid(0) before changing the ruid/euid
19246         so we always know it will succeed.
19247         [8cced1b862bf]
19248
19249         * defaults.h:
19250         #undef T_FOO to avoid conflicts with system defines (like on
19251         ULTRIX).
19252         [d9f0aac092b0]
19253
19254         * TODO, sample.sudoers, sudoers.cat, sudoers.html, sudoers.man,
19255         sudoers.pod:
19256         Docuement "Defaults" lines in /etc/sudoers. Still needs some
19257         fleshing out but this is a start.
19258         [521a1e629bbc]
19259
19260 1999-10-10  Todd C. Miller  <Todd.Miller@courtesan.com>
19261
19262         * use strtol, not strtoul since not everyone has not strtoul
19263         [988462f093cc]
19264
19265         * defaults.c:
19266         use strtol, not strtoul since not everyone has not strtoul
19267         [fce835ce62e3]
19268
19269         * lex.yy.c, parse.lex:
19270         last {WORD} rule should only apply in the INITIAL state
19271         [9b57570bfa83]
19272
19273         * lex.yy.c, parse.lex:
19274         o Add support for escaped characters in the WORD macro o Modify
19275         fill() to squash escape chars
19276         [87572d59e4e0]
19277
19278         * defaults.c, defaults.h:
19279         o Add T_PATH flag to allow simple sanity checks for default values
19280         that are supposed to be pathnames. o Fix a duplicate free when
19281         visudo finds an error.
19282         [bdc6855a6c6d]
19283
19284 1999-10-09  Todd C. Miller  <Todd.Miller@courtesan.com>
19285
19286         * defaults.c, defaults.h, logging.c:
19287         mail_if_foo -> mail_foo
19288         [cbee9415875d]
19289
19290 1999-10-08  Todd C. Miller  <Todd.Miller@courtesan.com>
19291
19292         * compat.h, defaults.c, defaults.h, sudo.c, tgetpass.c:
19293         o Add requiretty option o Move O_NOCTTY to compat.h
19294         [65b8bf0e1795]
19295
19296         * logging.c:
19297         The exit() in log_error() was mistakenly removed in a previous
19298         version. Put it back...
19299         [9473449130a4]
19300
19301 1999-10-07  Todd C. Miller  <Todd.Miller@courtesan.com>
19302
19303         * INSTALL, TODO, auth/aix_auth.c, auth/fwtk.c, auth/pam.c,
19304         auth/rfc1938.c, auth/sia.c, auth/sudo_auth.c, check.c, config.h.in,
19305         configure, configure.in, defaults.c, defaults.h, find_path.c,
19306         getspwuid.c, logging.c, parse.yacc, sudo.c, sudo.tab.c:
19307         o Change defaults stuff to put the value right in the struct. o
19308         Implement mailer_flags o Store syslog stuff both in int and string
19309         form. Setting the string form magically updates the int version.
19310         o Add boolean attribute to strings where it makes sense to say !foo
19311         [4698953f9a36]
19312
19313         * tgetpass.c:
19314         add O_NOCTTY when opening /dev/tty just in case
19315         [4c6d1d1bb300]
19316
19317 1999-10-06  Todd C. Miller  <Todd.Miller@courtesan.com>
19318
19319         * auth/API:
19320         cleanup function no longer takes a status arg
19321         [0819edbfe7f8]
19322
19323         * INSTALL:
19324         the the
19325         [19aadb65ea28]
19326
19327 1999-09-15  Todd C. Miller  <Todd.Miller@courtesan.com>
19328
19329         * TODO, config.h.in, configure, configure.in, logging.c:
19330         Use strftime() instead of ctime() if it is available.
19331         [fb60ea63b514]
19332
19333 1999-09-14  Todd C. Miller  <Todd.Miller@courtesan.com>
19334
19335         * defaults.c:
19336         fix copyright date
19337         [4a53b54aa72f]
19338
19339         * RUNSON:
19340         update ReliantUNIX entry
19341         [de618a4f67d9]
19342
19343         * defaults.c, defaults.h, logging.c:
19344         add log_year option
19345         [251a9e20568a]
19346
19347         * configure, configure.in:
19348         add --without-sendmail to help output
19349         [93162f199902]
19350
19351         * configure, configure.in:
19352         enforce an otctal arg for --with-suoders-mode
19353         [45e1b04ccad3]
19354
19355 1999-09-08  Todd C. Miller  <Todd.Miller@courtesan.com>
19356
19357         * BUGS, INSTALL, Makefile.in, TODO, aclocal.m4, auth/aix_auth.c,
19358         auth/fwtk.c, auth/kerb5.c, auth/pam.c, auth/rfc1938.c, auth/sia.c,
19359         auth/sudo_auth.c, check.c, config.h.in, configure, configure.in,
19360         defaults.c, defaults.h, find_path.c, lex.yy.c, logging.c, parse.h,
19361         parse.lex, parse.yacc, sudo.c, sudo.h, sudo.tab.c, sudo.tab.h,
19362         testsudoers.c, version.c, visudo.c:
19363         Add support for "Defaults" line in sudoers to make configuration
19364         variables changable at runtime (and on a global, per-host and per-
19365         user basis). Both the names and the internal representation are
19366         still subject to change. It was necessary to make sudo_user.runas
19367         but a char ** instead of a char * since this value can be changed by
19368         a Defaults line. There is a similar (but more complicated) issue
19369         with sudo_user.prompt but it is handled differently at the moment.
19370
19371         Add a "-L" flag to list the name of options with their descriptions.
19372         This may only be temporary.
19373
19374         Move some prototypes to parse.h
19375
19376         Be much less restrictive on what is allowed for a username.
19377         [f71abf7ba80c]
19378
19379         * sample.syslog.conf:
19380         Add more info
19381         [e952e6f42d4d]
19382
19383 1999-09-04  Todd C. Miller  <Todd.Miller@courtesan.com>
19384
19385         * LICENSE, fnmatch.3, fnmatch.c, getcwd.c, lsearch.c, snprintf.c,
19386         strcasecmp.c:
19387         UCB has dropped the advertising clause from their license.
19388         [a5602b36a341]
19389
19390 1999-08-31  Todd C. Miller  <Todd.Miller@courtesan.com>
19391
19392         * auth/sudo_auth.h:
19393         move dce_verofy proto to correct section
19394         [972c815af558]
19395
19396         * auth/dce.c:
19397         remove XXX
19398         [820631855be0]
19399
19400 1999-08-28  Todd C. Miller  <Todd.Miller@courtesan.com>
19401
19402         * emul/fnmatch.h:
19403         Add fnmatch() prototype
19404         [79e84576d92a]
19405
19406         * fnmatch.c, parse.c, testsudoers.c:
19407         Move inclusion of emul/fnmatch.h to be after sudo.h for __P
19408         [1182c89fa811]
19409
19410         * sudo.h:
19411         add strcasecmp proto
19412         [512d1d8a6a0c]
19413
19414         * auth/sudo_auth.c:
19415         add check for case where there are no auth methods
19416         [e4af2b91b43e]
19417
19418         * configure, configure.in:
19419         Define _XOPEN_EXTENDED_SOURCE on AIX and __USE_FIXED_PROTOTYPES__ on
19420         SunOS4 w/ gcc
19421         [746ce8bcec23]
19422
19423         * getspwuid.c, lex.yy.c, parse.lex, parse.yacc, sudo.tab.c:
19424         include strings.h everywhere we include string.h
19425         [6f7d5d437e7b]
19426
19427         * version.c:
19428         nicer output when showing auth methods
19429         [0eac4b977f9d]
19430
19431         * version.c:
19432         Add support for SEND_MAIL_WHEN_NO_HOST
19433         [9f20a3a3fae6]
19434
19435         * config.h.in, configure, configure.in:
19436         Add _GNU_SOURCE for Linux
19437         [c7bd8c511847]
19438
19439         * lex.yy.c, parse.lex:
19440         fix definition of OCTECT
19441         [4af30e63244d]
19442
19443         * configure, configure.in:
19444         aix_auth.o not authenticate.o
19445         [fe95dfb08df4]
19446
19447 1999-08-27  Todd C. Miller  <Todd.Miller@courtesan.com>
19448
19449         * sudo.c:
19450         Only block SIGINT, SIGQUIT, SIGTSTP (which can be generated from the
19451         keyboard). Since we run with ruid/euid == 0 the user can't really
19452         signal us in nasty ways.
19453         [a7f6487c0f48]
19454
19455         * visudo.c:
19456         Don't need to worry about catching too many signals since we do
19457         locking on the tmp file. If a lockfile is really stale, it will be
19458         detected and overwritten.
19459         [28983db3e749]
19460
19461         * INSTALL, Makefile.in:
19462         include auth/API in tarball
19463         [014991600252]
19464
19465         * auth/sudo_auth.c:
19466         move memset() of plaintext pw outside of verify loop and only do the
19467         memset if we are *not* in standalone mode.
19468         [66f8e87567e2]
19469
19470         * auth/sudo_auth.c, auth/sudo_auth.h:
19471         DCE is not a standalone method
19472         [34963e2d8a1b]
19473
19474         * sudo.c:
19475         fix --enable-noargs-shell
19476         [4234062abbb0]
19477
19478         * snprintf.c:
19479         "#ifdef __STDC__" not "#if __STDC__" (I missed one)
19480         [c430b80454c6]
19481
19482         * auth/fwtk.c, auth/sia.c:
19483         _cleanup() function returns an int.
19484         [d1a1cc071ec1]
19485
19486         * auth/dce.c:
19487         there were still some return(0)'s hanging around, make them
19488         AUTH_FAILURE
19489         [1002aa1962c3]
19490
19491         * parse.c:
19492         typo in comment
19493         [5abc410dbfd2]
19494
19495         * version.c:
19496         add missing semicolon
19497         [a262283b52a5]
19498
19499         * auth/sudo_auth.h:
19500         missing backslash
19501         [bf89f6bd2900]
19502
19503 1999-08-26  Todd C. Miller  <Todd.Miller@courtesan.com>
19504
19505         * CHANGES, config.h.in, configure, configure.in:
19506         Kill _XOPEN_EXTENDED_SOURCE -- causes problems on some OSes
19507         [f1a9bca0cf67]
19508
19509         * Makefile.in:
19510         add parse.h to HDRS
19511         [a3d054987766]
19512
19513         * Makefile.in, configure, configure.in:
19514         Kill VISUDO_LIBS and VISUDO_LDFLAGS. Add LIBS, NET_LIBS, and
19515         LDFLAGS. Common libs go in LIBS, commong ld flags go in LDFLAGS and
19516         network libs like -lsocket, -lnsl go in NET_LIBS. This allows
19517         testsudoers to build on Solaris and is a bit cleaner in general.
19518         [4e6239e97002]
19519
19520         * UPGRADE:
19521         mention ptmp -> sudoers.tmp
19522         [ec3baa0fe8a1]
19523
19524         * config.h.in, configure, configure.in:
19525         Define _XOPEN_SOURCE_EXTENDED not _XOPEN_SOURCE
19526         [6f93dc7f39f5]
19527
19528         * RUNSON:
19529         add 2 reports
19530         [ce0fcc00ee4e]
19531
19532         * auth/kerb5.c:
19533         Minor changes, mostly cosmetic. verify_krb_v5_tgt() changed to
19534         return a value more like a system function
19535         [0dd56aa21424]
19536
19537         * auth/dce.c:
19538         Add an XXX
19539         [58fc8562c212]
19540
19541         * TODO:
19542         more things todo!
19543         [5a459d0cf339]
19544
19545         * sample.sudoers:
19546         update based on what is in the man page
19547         [1a0477db96fa]
19548
19549         * parse.yacc, sudo.tab.c:
19550         minor change to first line printed in -l mode
19551         [69eb57d96952]
19552
19553         * sudo.cat, sudo.html, sudo.man, sudo.pod:
19554         rename "ENVIRONMENT VARIABLES" section to "ENVIRONMENT" to be more
19555         standard and add "EXAMPLES" section
19556         [7e543335ebe1]
19557
19558         * visudo.cat, visudo.html, visudo.man, visudo.pod:
19559         rename "ENVIRONMENT VARIABLES" section to "ENVIRONMENT" to be more
19560         standard
19561         [f82d87ed65c2]
19562
19563         * logging.c, parse.c, sudo.h:
19564         add FLAG_NO_CHECK
19565         [c7d69176a2d7]
19566
19567         * lex.yy.c, parse.lex:
19568         make an OCTET really be limited to 0-255
19569         [6ee568dd6a02]
19570
19571         * UPGRADE:
19572         mention timestamp changes
19573         [e44d5302bf60]
19574
19575         * PORTING:
19576         cosmetic cleanup
19577         [36fa3a2664dd]
19578
19579         * sudoers.cat, sudoers.html, sudoers.man, sudoers.pod:
19580         new sudoers(8) man page
19581         [e674d06283d0]
19582
19583 1999-08-24  Todd C. Miller  <Todd.Miller@courtesan.com>
19584
19585         * version.c:
19586         Update comments about syslog name tables
19587         [63830a782dcb]
19588
19589         * CHANGES, LICENSE, Makefile.in, configure, configure.in, parse.yacc,
19590         strcasecmp.c, sudo.tab.c:
19591         include strcasecmp() for those without it
19592         [a0d8e2488bbc]
19593
19594         * sample.sudoers:
19595         Use the : operator some more and fix a typo
19596         [18804c70da86]
19597
19598         * HISTORY:
19599         update the history of sudo
19600         [9d9b3d5279b3]
19601
19602         * parse.c, parse.lex, testsudoers.c:
19603         CIDR-style netmask support
19604         [768644467353]
19605
19606         * CHANGES:
19607         recent changes
19608         [a4319e9d07cb]
19609
19610         * sudo.tab.c, sudo.tab.h:
19611         these should be generated with byacc, not bison
19612         [f57b9489b752]
19613
19614         * lex.yy.c:
19615         regen
19616         [522461f95dfa]
19617
19618         * parse.h, parse.yacc, sudo.tab.c, sudo.tab.h:
19619         In "sudo -l" mode, the type of the stored (expanded) alias was not
19620         stored with the contents. This could lead to incorrect output if
19621         the sudoers file had different alias types with the same name.
19622         Normal parsing (ie: not in '-l' mode) is unaffected.
19623         [823fe2bc4b79]
19624
19625 1999-08-23  Todd C. Miller  <Todd.Miller@courtesan.com>
19626
19627         * configure, configure.in:
19628         define _XOPEN_SOURCE to get at crypt() proto on some systems
19629         [1b3769b86fb9]
19630
19631 1999-08-22  Todd C. Miller  <Todd.Miller@courtesan.com>
19632
19633         * snprintf.c:
19634         fix comment
19635         [fc1264df00f7]
19636
19637         * tgetpass.c:
19638         don't need limits.h
19639         [f1631829af45]
19640
19641         * snprintf.c:
19642         kill bogus reference to vfprintf
19643         [a0b99b25d389]
19644
19645         * sample.sudoers, sudoers:
19646         better examples
19647         [b4d87ea64cc8]
19648
19649         * snprintf.c:
19650         Add some const in the K&R defs. This is safe since we define const
19651         away if the compiler doesn't grok it.
19652         [614d6e83d45e]
19653
19654         * aclocal.m4, configure:
19655         Better test for working long long support. Ultrix compiler supports
19656         basic long long but not all operations on them.
19657         [5da1508710ed]
19658
19659         * aclocal.m4, auth/secureware.c, config.h.in, configure, getspwuid.c,
19660         snprintf.c, sudo.c:
19661         Add check for LONG_IS_QUAD #undef MAXINT before including
19662         hpsecurity.h to silence an HP-UX warning Check for U?LONG_LONG_MAX
19663         in snprintf.c and use LONG_IS_QUAD
19664         [a1f7993367fc]
19665
19666 1999-08-21  Todd C. Miller  <Todd.Miller@courtesan.com>
19667
19668         * LICENSE, aclocal.m4, config.h.in, configure, configure.in,
19669         snprintf.c:
19670         UCB-derived snprintf + asprintf support. Supports quads if the
19671         compiler does. No floating point yet, perhaps later...
19672         [0caf05aba945]
19673
19674 1999-08-20  Todd C. Miller  <Todd.Miller@courtesan.com>
19675
19676         * auth/API, auth/sudo_auth.c, auth/sudo_auth.h, check.c, find_path.c,
19677         goodpath.c, logging.c, parse.c, sudo.c:
19678         Run most of the code as root, not the invoking user. It doesn't
19679         really gain us anything to run as the user since an attacker can
19680         just have an setuid(0) in their egg. Running as root solves
19681         potential problems wrt signalling.
19682         [408e530dda01]
19683
19684         * sudo.tab.c:
19685         regen
19686         [f8cfb37e37de]
19687
19688 1999-08-19  Todd C. Miller  <Todd.Miller@courtesan.com>
19689
19690         * logging.c, sudo.c:
19691         Don't wait for child to finish in log_error(), let the signal
19692         handler get it if we are still running, else let init reap it for
19693         us. The extra time it takes to wait lets the user know that mail is
19694         being sent.
19695
19696         Install SIGCHLD handler in main() and for POSIX signals, block
19697         everything
19698         *except* SIGCHLD.
19699         [d2b6ab0ef3be]
19700
19701         * INSTALL, config.h.in, configure, configure.in, logging.c, parse.c,
19702         parse.yacc, sudo.c, sudo.h:
19703         sudoers_lookup() now returns a bitmap instead of an int. This makes
19704         it possible to express things like "failed to validate because user
19705         not listed for this host". Some thigns that were previously
19706         VALIDATE_FOO are now FLAG_FOO. This may change later on.
19707
19708         Reorganized code in log_auth() and sudo.c to deal with above
19709         changes.
19710
19711         Safer versions of push/pushcp with in the do { ... } while (0) style
19712
19713         parse.yacc now saves info on the stack to allow parse.c to determine
19714         if a user was listed, but not for the host he/she tried to run on.
19715
19716         Added --with-mail-if-no-host option
19717         [63326cb01efc]
19718
19719 1999-08-17  Todd C. Miller  <Todd.Miller@courtesan.com>
19720
19721         * parse.yacc, sudo.h, sudo.tab.c, visudo.c, visudo.cat, visudo.html,
19722         visudo.man, visudo.pod:
19723         o NewArgv and NewArgc don't need to be externally visible. o If
19724         pedantic > 1, it is a parse error. o Add -s (strict) option to
19725         visudo which sets pedantic to 2.
19726         [5d7d81b55cd5]
19727
19728         * HISTORY, INSTALL:
19729         Just have sudo-bugs contact info in one place
19730         [e7f6588ea683]
19731
19732         * sudo.cat, sudo.html, sudo.man, sudo.pod:
19733         Add BUGS section
19734         [6607d96ea510]
19735
19736         * Makefile.in, configure, configure.in:
19737         Add testsudoers to default build target if --with-devel Don't clean
19738         generated parser files unless "distclean".
19739         [5827b769dc57]
19740
19741         * parse.yacc, sudo.tab.c:
19742         In pedantic mode we need to save *all* the aliases, not just those
19743         that match, or we get spurious warnings.
19744         [24f5b1f0e1de]
19745
19746         * TROUBLESHOOTING:
19747         reference samples.sylog.conf
19748         [11841668380a]
19749
19750 1999-08-14  Todd C. Miller  <Todd.Miller@courtesan.com>
19751
19752         * sample.syslog.conf:
19753         Sample entries for syslog.conf
19754         [0f7697d878a1]
19755
19756         * CHANGES:
19757         recent changes
19758         [8bca8810c6bd]
19759
19760         * auth/API, auth/afs.c, auth/aix_auth.c, auth/dce.c, auth/fwtk.c,
19761         auth/kerb4.c, auth/kerb5.c, auth/pam.c, auth/passwd.c,
19762         auth/rfc1938.c, auth/secureware.c, auth/securid.c, auth/sia.c,
19763         auth/sudo_auth.c, auth/sudo_auth.h:
19764         In struct sudo_auth, turn need_root and configured into flags and
19765         add a flag to specify an auth method is running alone (the only
19766         one). Pass auth methods their sudo_auth pointer, not the data
19767         pointer. This allows us to get at the flags and tell if we are the
19768         only auth method. That, in turn, allows the method to be able to
19769         decide what should/should not be a fatal error. Currently only
19770         rfc1938 uses it this way, which allows us to kill the OTP_ONLY
19771         define and te hackery that went with it. With access to the
19772         sudo_auth struct, methods can also get at a string holding their
19773         cannonical name (useful in error messages).
19774         [b7e320fc6511]
19775
19776         * INSTALL, Makefile.in, README, config.h.in, configure, configure.in,
19777         getspwuid.c, lex.yy.c, parse.lex, parse.yacc, sudo.tab.c,
19778         sudo.tab.h:
19779         o --with-otp deprecated, use --without-passwd instead o real
19780         dependencies in the Makefile o --with-devel option to enable yacc,
19781         lex, and -Wall o style -- "foo -> bar" becomes "foo->bar" o ALL goes
19782         back to being a token, not a string but don't leak memory o rename
19783         hsotspec -> host in parse.yacc
19784         [912c45226cb2]
19785
19786 1999-08-12  Todd C. Miller  <Todd.Miller@courtesan.com>
19787
19788         * BUGS, CHANGES:
19789         recent changes
19790         [801fa6e55687]
19791
19792         * auth/sudo_auth.c, configure, configure.in, interfaces.c, snprintf.c,
19793         sudo.c, sudo.h:
19794         o Digital UNIX needs to check for *snprintf() before -ldb is added
19795         to LIBS since -ldb includes a bogus snprintf(). o Add forward refs
19796         for struct mbuf and struct rtentry for Digital UNIX. o Reorder some
19797         functions in snprintf.c to fix -Wall o Add missing includes to fix
19798         more -Wall
19799         [8d207203e126]
19800
19801         * INSTALL, auth/sudo_auth.c, check.c, config.h.in, configure,
19802         configure.in, parse.yacc, sudo.tab.c, testsudoers.c, version.c,
19803         visudo.c:
19804         o Add a "pedentic" flag to the parser. This makes sudo warn in
19805         cases where an alias may be used before it is defined. Only turned
19806         on for visudo and testsudoers. o Add --disable-authentication option
19807         that makes sudo not require authentication by default. The PASSWD
19808         tag can be used to require authentication for an entry. We no
19809         longer overload --without-passwd.
19810         [f307e09adf98]
19811
19812         * lex.yy.c, parse.lex:
19813         Break 'WORD' regexp def into HOSTNAME and USERNAME. These days a
19814         username can contain just about anything so be very permissive. Also
19815         drop the unused \. punctuation.
19816         [06a50614ff89]
19817
19818 1999-08-09  Todd C. Miller  <Todd.Miller@courtesan.com>
19819
19820         * parse.yacc, sudo.tab.c:
19821         o add a 'val' element to aliasinfo struct and move -> parse.h o
19822         find_alias() now returns an aliasinfo * instead of boolean o
19823         add_alias() now takes a value parameter to store in the
19824         aliasinfo.val o The cmnd, hostspec, runasuser, and user rules now
19825         return: 1) positive match 0) negative match (due to '!')
19826         -1) no match This means setting $$ explicitly in all cases, which I
19827         should have done in the first place. It also means that we always
19828         store a value that is != -1 and when we see a '!' we can set
19829         *_matches to !rv if rv != -1. The upshot of all of this is that '!'
19830         now works the way it should in lists and some of the rules are more
19831         uniform and sensible.
19832         [ad8e73b5d581]
19833
19834         * Makefile.in:
19835         add parse.h dependency
19836         [4ccccd464d30]
19837
19838         * parse.h:
19839         kill unused *_matched macros
19840         [02cba6dcb732]
19841
19842         * parse.yacc:
19843         Allow a list of users as the first thing in a user spec, not just a
19844         single entry. This makes things more uniform, though it does allow
19845         you to write user specs that are hard to read.
19846         [3c4c91c508ca]
19847
19848         * sudo.tab.c:
19849         parse.yacc
19850         [feca81881bb6]
19851
19852         * configure:
19853         regen
19854         [6f247010bb3b]
19855
19856         * configure.in:
19857         fix check for crypt() in libufc
19858         [82770736f4b0]
19859
19860 1999-08-07  Todd C. Miller  <Todd.Miller@courtesan.com>
19861
19862         * README:
19863         sudo-users list now exists
19864         [4716d2bb0bbf]
19865
19866         * INSTALL, PORTING, README, TODO, TROUBLESHOOTING:
19867         Update to reality.
19868         [1eda2d57e42a]
19869
19870         * CHANGES, Makefile.in, TODO, TROUBLESHOOTING, check.c, compat.h,
19871         config.h.in, configure, configure.in, fileops.c, logging.c, sudo.h,
19872         version.c, visudo.c:
19873         o Move lock_file() and touch() into fileops.c so visudo can use them
19874         o Visudo now locks the sudoers temp file instead of bailing when the
19875         temp file already exists. This fixes the problem of stale temp
19876         files but it does *require* that you not try to put the temp file in
19877         a world-writable directory. This shoud not be an issue as the temp
19878         file should live in the same dir as sudoers. o Visudo now only
19879         installs the temp file as sudoers if it changed.
19880         [2517cd06c070]
19881
19882 1999-08-06  Todd C. Miller  <Todd.Miller@courtesan.com>
19883
19884         * logging.c:
19885         add fcntl locking
19886         [c304adeaf515]
19887
19888         * config.h.in, configure, configure.in, logging.c:
19889         Lock the log file.
19890         [d8652704fbdf]
19891
19892         * Makefile.in, TROUBLESHOOTING, parse.c, pathnames.h.in, sudo.c,
19893         visudo.c, visudo.cat, visudo.html, visudo.man, visudo.pod:
19894         o /etc/stmp -> /etc/sudoers.tmp since solaris uses stmp as shadow
19895         temp file o _PATH_SUDO_SUDOERS -> _PATH_SUDOERS and _PATH_SUDO_STMP
19896         -> _PATH_SUDOERS_TMP
19897         [68cad8975807]
19898
19899 1999-08-05  Todd C. Miller  <Todd.Miller@courtesan.com>
19900
19901         * INSTALL, check.c, config.h.in, configure, configure.in, version.c:
19902         o Kill *_MESSAGE and replace with NO_LECTURE o Add more things to
19903         root sudo -V config reporting
19904         [cdd2613a9dcf]
19905
19906         * configure, configure.in:
19907         aix_auth.o not authenticate.o
19908         [d972e35f6730]
19909
19910         * config.h.in:
19911         Add --with-goodpri and --with-badpri configure options to specify
19912         the syslog priority to use.
19913         [2595ae50ab86]
19914
19915         * INSTALL, configure, configure.in, logging.h:
19916         Add --with-goodpri and --with-badpri configure options to specify
19917         the syslog priority to use.
19918         [8276ee9b2b49]
19919
19920         * compat.h:
19921         kill crufty AIX stuff
19922         [a4f35ef9854e]
19923
19924         * Makefile.in:
19925         Sigh, some versions of make (like Solaris's) don't deal with $< like
19926         I would expect. Both GNU and BSD makes get this right but... So, we
19927         just expand $< inline at the cost of some ugliness.
19928         [b1b456f8801f]
19929
19930         * version.c:
19931         If the invoking user is root, sudo will now print configure info in
19932         -V mode. Currently just prints logging info, to be expanded later.
19933         [392f7ed99267]
19934
19935         * logging.c, logging.h, sudo.c, sudo.h:
19936         o new defines for syslog facility and priority o use new
19937         print_version() functino for -V mode
19938         [78abc5142985]
19939
19940         * check.c:
19941         Don't need version.c
19942         [db9a830ad893]
19943
19944         * aclocal.m4, config.h.in, configure, configure.in:
19945         Add check for syslog facilities and priorities tables in syslog.h
19946         [b86213e5fc5c]
19947
19948         * Makefile.in:
19949         o authenticate -> aix_auth o add version.c
19950         [44b6b9a8d0f5]
19951
19952         * auth/sudo_auth.c:
19953         Missed a prompt -> user_prompt conversion
19954         [e4c60b1f210c]
19955
19956 1999-08-04  Todd C. Miller  <Todd.Miller@courtesan.com>
19957
19958         * TODO:
19959         sudo should lock its logfile
19960         [6d2830b28b07]
19961
19962         * parse.yacc, sudo.tab.c:
19963         o Add '!' correctly when expanding Aliases. o Add shortcut macros
19964         for append() to make things more readable. o The separator in
19965         append() is now a string instead of a char. o In append(), only
19966         prepend the separator if the last char is not a '!'. This is a
19967         hack but it greatly simplifies '!' handling. o In -l mode, Runas
19968         lists and NOPASSWD/PASSWD tags are now inherited across entries in
19969         a list (matches current behavior). o Fix formatting in -l mode such
19970         that items in a list are separated by a space. Greatlt improves
19971         readability. o Space for name field in struct aliasinfo is now
19972         allocated dyanically instead of using a (big) buffer. o In
19973         add_alias(), only search the list once (lsearch instead of lfind +
19974         lsearch)
19975         [51f7e07addb9]
19976
19977         * lex.yy.c, sudo.tab.c, sudo.tab.h:
19978         regen
19979         [5c19bb05dc21]
19980
19981         * configure, configure.in:
19982         Solais pam doesn't require anye xtra setup
19983         [a25ba03d91d1]
19984
19985         * parse.yacc:
19986         o Simpler '!' support now that the lexer deals with multiple !'s for
19987         us. o In the case of opFOO, have FOO give a boolean return value and
19988         set foo_matches in opFOO, not FOO. o Treat 'ALL' as a string since
19989         it gets fill()'d in parse.lex--fixes a small memory leak. In the
19990         long run it may be better to just fix parse.lex and make ALL back
19991         into a token. However, having it be a string is useful since it
19992         can be easily passed back to the parent rule if we so desire.
19993         [b3c64b443018]
19994
19995         * parse.lex:
19996         o Remove some unnecessary backslashes o collapse multiple !'s by
19997         using !+ and checking if yyleng is even or odd. this allows us to
19998         simplify ! handling in parse.yacc
19999         [76330e8da8e3]
20000
20001         * sudo.c:
20002         -u flag was being ignored
20003         [e30283207585]
20004
20005 1999-08-01  Todd C. Miller  <Todd.Miller@courtesan.com>
20006
20007         * Makefile.in:
20008         correct fix
20009         [a0e2377dec8f]
20010
20011         * Makefile.in:
20012         work around pod2man stupididy
20013         [7c755640b67f]
20014
20015         * Makefile.in:
20016         correct dependencies for .cat
20017         [5ed7b0653b68]
20018
20019         * sudo.cat, sudo.man, visudo.cat, visudo.man:
20020         regen
20021         [b74510dd6a0a]
20022
20023         * sudo.pod, visudo.pod:
20024         Add copyright Update to reality
20025         [188e9b046c15]
20026
20027         * parse.c, sudo.c, sudo.h:
20028         rename validate() to the more descriptive sudoers_lookup()
20029         [7a1cb652f379]
20030
20031         * auth/aix_auth.c:
20032         use tgetpass
20033         [b8ba5daec40a]
20034
20035 1999-07-31  Todd C. Miller  <Todd.Miller@courtesan.com>
20036
20037         * CHANGES:
20038         updates
20039         [e61460cdf4a0]
20040
20041         * HISTORY, INSTALL, Makefile.in, README, RUNSON, TROUBLESHOOTING,
20042         configure, configure.in, sudo.c:
20043         Sudo, not CU Sudo
20044         [9061b3573c0c]
20045
20046         * LICENSE:
20047         add 4th term to license similar to term 5 in the apache license
20048         [92712e895afb]
20049
20050         * emul/search.h, emul/utime.h:
20051         add 4th term to license similar to term 5 in the apache license
20052         [4f93a8b9396e]
20053
20054         * auth/afs.c, auth/aix_auth.c, auth/dce.c, auth/fwtk.c, auth/kerb4.c,
20055         auth/kerb5.c, auth/pam.c, auth/passwd.c, auth/rfc1938.c,
20056         auth/secureware.c, auth/securid.c, auth/sia.c, auth/sudo_auth.c,
20057         auth/sudo_auth.h, insults.h, interfaces.c, interfaces.h, lex.yy.c,
20058         logging.c, logging.h, parse.c, parse.h, parse.lex, parse.yacc,
20059         pathnames.h.in, putenv.c, strerror.c, sudo.c, sudo.h, sudo.tab.c,
20060         sudo_setenv.c, testsudoers.c, tgetpass.c, utime.c, version.h,
20061         visudo.c:
20062         add 4th term to license similar to term 5 in the apache license
20063         [afae9f2bf9ec]
20064
20065         * ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h:
20066         add 4th term to license similar to term 5 in the apache license
20067         [c389d3fdafac]
20068
20069         * Makefile.in, alloc.c, check.c, compat.h, config.h.in, find_path.c,
20070         getspwuid.c, goodpath.c:
20071         add 4th term to license similar to term 5 in the apache license
20072         [969e63dbd38e]
20073
20074         * LICENSE, aclocal.m4, auth/rfc1938.c, check.c, configure.in,
20075         insults.h, logging.c, sudo.c, sudo.h:
20076         there was a 1995 release too
20077         [5963fd89457a]
20078
20079 1999-07-28  Todd C. Miller  <Todd.Miller@courtesan.com>
20080
20081         * CHANGES:
20082         updates
20083         [254b794f16ab]
20084
20085         * check.c:
20086         Use dirs instead of files for timestamp. This allows tty and non-
20087         tty schemes to coexist reasonably. Note, however, that when you
20088         update a tty ticket, the mtime on the user dir gets updated as well.
20089         [44bfac32f799]
20090
20091         * configure, configure.in:
20092         Fix getprpwnam() checking on SCO. Need to link with "-lprot -lx"
20093         when linking test program, not just -lprot. Also add check for
20094         getspnam(). The SCO docs indicate that /etc/shadow can be used but
20095         this may be a lie.
20096         [2ba21d36cc1e]
20097
20098 1999-07-24  Todd C. Miller  <Todd.Miller@courtesan.com>
20099
20100         * auth/API:
20101         first cut at auth API description
20102         [3d10df021eb8]
20103
20104 1999-07-22  Todd C. Miller  <Todd.Miller@courtesan.com>
20105
20106         * auth/fwtk.c, auth/kerb4.c, auth/kerb5.c, auth/pam.c, auth/rfc1938.c,
20107         auth/secureware.c, auth/securid.c, auth/sudo_auth.c,
20108         auth/sudo_auth.h:
20109         auth API change. There is now an init method that gets run before
20110         the main loop. This allows auth routines to differentiate between
20111         initialization that happens once vs. setup that needs to run each
20112         time through the loop.
20113         [76df1c0d3478]
20114
20115         * auth/kerb5.c, logging.c:
20116         use easprintf() and evasprintf()
20117         [fd97d96dc12f]
20118
20119         * alloc.c, sudo.h:
20120         add easprintf() and evasprintf(), error checking versions of
20121         asprintf() and vasprintf()
20122         [f54385de20b7]
20123
20124         * TODO:
20125         remove 2 items. One done, one won't do.
20126         [64513b47bc7a]
20127
20128         * lex.yy.c, sudo.tab.c:
20129         regen
20130         [4aa299de2752]
20131
20132         * configure, sudo.cat, sudo.html, sudo.man, sudoers.html, visudo.cat,
20133         visudo.html, visudo.man:
20134         regen
20135         [553c0d1209be]
20136
20137         * CHANGES:
20138         new changes
20139         [d7be00b7e36b]
20140
20141         * sudo.pod:
20142         o Document -K flag and update meaning of -k flag. o BSD-style
20143         copyright o Document clearing of BIND resolver environment variables
20144         o Clarify bit about shared libs o suggest rc files create /tmp/.odus
20145         if your OS gives away files
20146         [4a4092be1455]
20147
20148         * visudo.pod:
20149         BSD license
20150         [ad0bfd0a4630]
20151
20152         * version.h:
20153         BSD-style copyright
20154         [ecc6479325be]
20155
20156         * tgetpass.c:
20157         o BSD copyright o no need to block signals, we now do that in main()
20158         o cosmetic changes
20159         [61958beda7ab]
20160
20161         * testsudoers.c, visudo.c:
20162         o BSD-style copyright o Use "struct sudo_user" instead of old
20163         globals. o some cometic cleanup
20164         [88c0c6924082]
20165
20166         * sudo_setenv.c:
20167         BSD-style copyright
20168         [df20290129a0]
20169
20170         * sudo.h:
20171         o BSD copyright o logging and parser bits moved to their own .h
20172         files o new "struct sudo_user" to encapsulate many of the old
20173         globals.
20174         [50fc86bf25cb]
20175
20176         * sudo.c:
20177         o no longer contains sudo 1.1/1.2 code o BSD copyright o use new
20178         logging routines o simplified flow of control o BIND resolver
20179         additions to badenv_table
20180         [8c53f15bfcb0]
20181
20182         * strerror.c:
20183         BSD-style copyright
20184         [7c906c3a82ac]
20185
20186         * snprintf.c:
20187         Now compiles on more K&R compilers
20188         [07ab1d3231c7]
20189
20190         * putenv.c:
20191         BSD-style copyright, cosmetic changes
20192         [c42371295881]
20193
20194         * pathnames.h.in:
20195         BSD-style copyright
20196         [e5c34ebd4cf1]
20197
20198         * parse.c, parse.h, parse.lex, parse.yacc:
20199         BSD-style copyright. Move parser-specific defines and structs into
20200         parse.h + other cosmetic changes
20201         [d3088efb6228]
20202
20203         * logging.h:
20204         defines for logging routines
20205         [13147941c02d]
20206
20207         * find_path.c, getspwuid.c, goodpath.c, interfaces.c:
20208         BSD-style copyright, cosmetic changes
20209         [e8205e91a4fa]
20210
20211         * ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h, insults.h,
20212         interfaces.h:
20213         BSD-style copyright
20214         [b9499da7cdce]
20215
20216         * configure.in:
20217         o tgetpass.c is no longer optional o kill DCE_OBJS, add AUTH_OBJS o
20218         kill --disable-tgetpass o add --without-passwd o changes to fill in
20219         AUTH_OBJS for new auth api o check for strerror(), v?snprintf() and
20220         v?asprintf() o replace --with-AuthSRV with --with-fwtk
20221         [9a3f39b9c128]
20222
20223         * config.h.in:
20224         BSD-style copyright. Remove USE_GETPASS and HAVE_UTIME_NULL. Add
20225         HAVE_FWTK, HAVE_STRERROR, HAVE_SNPRINTF, HAVE_VSNPRINTF,
20226         HAVE_ASPRINTF, HAVE_VASPRINTF, WITHOUT_PASSWD and NO_PASSWD
20227         [9a09054db53a]
20228
20229         * compat.h:
20230         BSD-style copyright; Add S_IFLNK and MIN/MAX id they are missing.
20231         [25509c566975]
20232
20233         * alloc.c:
20234         BSD-style copyright
20235         [4967be892363]
20236
20237         * TROUBLESHOOTING:
20238         no more --with-getpass
20239         [afd5b670c196]
20240
20241         * TODO:
20242         Take out things I've done...
20243         [375420c8270e]
20244
20245         * README:
20246         Refer to LICENSE
20247         [c486c8db30f6]
20248
20249         * PORTING:
20250         --with-getpass no longer exists
20251         [db48202df1bb]
20252
20253         * Makefile.in:
20254         BSD-style copyright. Update to reflect reality wrt new files and
20255         new auth modules.
20256         [61a2ca7940fb]
20257
20258         * INSTALL:
20259         Remove --with-AuthSRV and --disable-tgetpass. Add --with-fwtk and
20260         --without-passwd.
20261         [64e8f9e1c05e]
20262
20263         * HISTORY:
20264         Update history a bit
20265         [df60c0a871b8]
20266
20267         * COPYING, LICENSE:
20268         Now distributed under a BSD-style license
20269         [d1a184ccabe1]
20270
20271         * auth/sudo_auth.c:
20272         o BSD-style copyright o Add support for NO_PASSWD/WITHOUT_PASSWD
20273         options. o skey/opie replaced by rfc1938 code o new struct sudo_user
20274         global
20275         [891b57060868]
20276
20277         * auth/pam.c, auth/sia.c:
20278         BSD-style copyright and use new log functions
20279         [65c44445ea84]
20280
20281         * auth/kerb5.c:
20282         o BSD-style copyright o Use new log functiongs o Use asprintf() and
20283         snprintf() where sensible.
20284         [1ff0feaacf95]
20285
20286         * check.c:
20287         Rewrote all the old sudo 1.1/1.2 code. Timestamp handling is now
20288         done more reasonably--better sanity checks and tty-based stamps are
20289         now done as files in a directory with the same name as the invoking
20290         user, eg. /var/run/sudo/millert/ttyp1. It is not currently possible
20291         to mix tty and non-tty based ticket schemes but this may change in
20292         the future (it requires sudo to use a directory instead of a file in
20293         the non-tty case). Also, ``sudo -k'' now sets the ticket back to
20294         the epoch and ``sudo -K'' really deletes the file. That way you
20295         don't get the lecture again just because you killed your ticket in
20296         .logout. BSD-style copyright now.
20297         [ec3460f85be8]
20298
20299         * logging.c:
20300         o rewritten logging routines. log_error() now takes printf-style
20301         varargs and log_auth() for the return value of validate(). o BSD-
20302         style copyright
20303         [438292025c4e]
20304
20305         * auth.c, check_sia.c, dce_pwent.c, secureware.c:
20306         superceded by new auth API
20307         [412060590da7]
20308
20309         * auth/kerb4.c:
20310         BSD-style copyright
20311         [cc4e800833c7]
20312
20313         * auth/fwtk.c:
20314         Use snprintf() where it makes sense and add a BSD-style copyright
20315         [1b7502388a74]
20316
20317         * auth/afs.c, auth/aix_auth.c, auth/dce.c, auth/passwd.c,
20318         auth/rfc1938.c, auth/secureware.c, auth/securid.c, auth/sudo_auth.h:
20319         BSD-style copyright
20320         [42583bedae5c]
20321
20322         * emul/utime.h, utime.c:
20323         BSD-style copyright
20324         [3985c90aba47]
20325
20326         * emul/search.h:
20327         this has been rewritten so use my BSD-style copyright
20328         [176df1b0de6f]
20329
20330 1999-07-15  Todd C. Miller  <Todd.Miller@courtesan.com>
20331
20332         * snprintf.c:
20333         include malloc.h if no stdlib.h
20334         [7b123f1d1d03]
20335
20336         * snprintf.c:
20337         KTH snprintf()/asprintf() for systems w/o them
20338         [3ca9aefb9d01]
20339
20340         * strerror.c:
20341         strerror() for systems w/o it
20342         [7f0bd8a1c1b4]
20343
20344 1999-07-12  Todd C. Miller  <Todd.Miller@courtesan.com>
20345
20346         * visudo.c:
20347         stylistic changes
20348         [6f99aceb7170]
20349
20350         * parse.c, parse.lex, parse.yacc:
20351         Add contribution info in the main comment
20352         [e50cec10acd6]
20353
20354 1999-07-11  Todd C. Miller  <Todd.Miller@courtesan.com>
20355
20356         * auth/pam.c:
20357         remove missed ref to PAM_nullpw
20358         [a43e59692cdb]
20359
20360         * auth/sudo_auth.h:
20361         pasto
20362         [891ff138ab89]
20363
20364         * auth/kerb5.c:
20365         more or less complete now--still untested
20366         [21036732faa0]
20367
20368         * auth/afs.c, auth/pam.c:
20369         don't use user_name macro, it will go away
20370         [def7cf727349]
20371
20372         * auth/opie.c, auth/rfc1938.c, auth/skey.c, auth/sudo_auth.h:
20373         combine skey/opie code into rfc1938.c
20374         [44d88ca93d3e]
20375
20376         * auth/dce.c, auth/sudo_auth.h:
20377         DCE authentication method; basically unchanged from dce_pwent.c
20378         [4d468473dd6f]
20379
20380         * auth/aix_auth.c, auth/sudo_auth.h:
20381         AIX authenticate() support. Could probably be much better
20382         [000013321a33]
20383
20384         * auth/sia.c:
20385         Fix an uninitialized variable and some cleanup. Now works (tested)
20386         [fd6ad88ff055]
20387
20388         * auth/sia.c, auth/sudo_auth.h:
20389         SIA support for digital unix
20390         [5335f3e70eab]
20391
20392         * auth/pam.c:
20393         don't use prompt global, it will go away
20394         [fadd22dd6ce4]
20395
20396         * auth/secureware.c:
20397         correct copyright years
20398         [6aa07c49f51b]
20399
20400         * auth/afs.c, auth/fwtk.c, auth/kerb4.c, auth/kerb5.c, auth/opie.c,
20401         auth/pam.c, auth/passwd.c, auth/secureware.c, auth/securid.c,
20402         auth/skey.c, auth/sudo_auth.c, auth/sudo_auth.h:
20403         New authentication API and methods
20404         [9debe9b59c79]
20405
20406 1999-07-08  Todd C. Miller  <Todd.Miller@courtesan.com>
20407
20408         * sudo.tab.c:
20409         regen
20410         [84578e82c1a6]
20411
20412         * parse.yacc:
20413         only save an entry if user_matches && host_matches, even if the
20414         stack is empty (fix for previous commit)
20415         [00984b078d8a]
20416
20417         * sudo.tab.c:
20418         regen
20419         [66acf160b4b7]
20420
20421         * parse.yacc:
20422         1) Always save an entry on the stack if it is empty. This fixes the
20423         -l and -v flags that were broken by earlier parser changes.
20424
20425         2) In a Runas list, don't negate FALSE -> TRUE since that would make
20426         !foo match any time the user specified a runas user (via -u) other
20427         than foo.
20428         [f322eb54b015]
20429
20430         * testsudoers.c:
20431         interfaces and num_interfaces are now auto, not extern
20432         [113add5c6518]
20433
20434 1999-07-07  Todd C. Miller  <Todd.Miller@courtesan.com>
20435
20436         * auth.c:
20437         use a static global to keep stae about empty passwords
20438         [bc02e30807d8]
20439
20440         * check_sia.c:
20441         make PASSWORD_NOT_CORRECT logging consistent with other modules
20442         [21962549d5fd]
20443
20444 1999-07-05  Todd C. Miller  <Todd.Miller@courtesan.com>
20445
20446         * auth.c:
20447         PAM prompt code was wrong, looks like we have to kludge it after
20448         all.
20449         [91f246155ead]
20450
20451         * auth.c:
20452         In the PAM code, when a user hits return at the first password
20453         prompt, exit without a warning just like the normal auth code
20454         [918f59bacdb7]
20455
20456         * configure, configure.in:
20457         kludge around cross-compiler false positives
20458         [5e5fc8356400]
20459
20460         * auth.c, check.c, check_sia.c, logging.c, sudo.h, tgetpass.c:
20461         New (correct) PAM code Tgetpass now takes an echo flag for use with
20462         PAM_PROMPT_ECHO_ON Block SIGINT and SIGTSTP during auth remove a
20463         useless umask setting Change error from BAD_ALLOCATION ->
20464         BAD_AUTH_INIT (for use with sia/PAM) Some cosmetic changes to auth.c
20465         for consistency
20466         [e71397f09dd8]
20467
20468         * sudo.c:
20469         Some -Wall and kill some trailing spaces
20470         [8229b43d5c4e]
20471
20472         * configure.in:
20473         define -D__EXTENSIONS__ for solaris so we get crypt() proto
20474         [7533e4436cab]
20475
20476 1999-06-22  Todd C. Miller  <Todd.Miller@courtesan.com>
20477
20478         * RUNSON:
20479         add Dynix 4.4.4
20480         [b69f773efbce]
20481
20482         * INSTALL, config.h.in, configure, configure.in:
20483         for kerberos V < version, fall back on old kerb4 auth code
20484         [d685ed3a1d8e]
20485
20486         * INSTALL:
20487         clarify some things
20488         [2f5ba2e8e53a]
20489
20490         * UPGRADE, sudoers.cat, sudoers.man, sudoers.pod:
20491         typos
20492         [8925a109c093]
20493
20494 1999-06-14  Todd C. Miller  <Todd.Miller@courtesan.com>
20495
20496         * sudo.c:
20497         mention why DONT_LEAK_PATH_INFO is not the default
20498         [0346260cb4ec]
20499
20500 1999-06-03  Todd C. Miller  <Todd.Miller@courtesan.com>
20501
20502         * tgetpass.c:
20503         Fix open(2) return value checking, was NULL for fopen, should be -1
20504         for open
20505         [355878bf6d8a]
20506
20507         * configure:
20508         regen
20509         [68bf82871862]
20510
20511         * configure.in:
20512         better wording for solaris pam notice
20513         [04e88c7a6c42]
20514
20515         * CHANGES:
20516         document recent changes
20517         [7c922c5622ef]
20518
20519         * TROUBLESHOOTING:
20520         Update shadow password section
20521         [e8448bae7d66]
20522
20523         * auth.c:
20524         move authentication code from check.c to auth.c
20525         [e9f6ecae2399]
20526
20527         * Makefile.in, check.c, sudo.h:
20528         move authentication code to auth.c
20529         [124cded85f46]
20530
20531 1999-05-17  Todd C. Miller  <Todd.Miller@courtesan.com>
20532
20533         * Makefile.in, check.c, check_sia.c, compat.h, find_path.c,
20534         getspwuid.c, goodpath.c, interfaces.c, interfaces.h, lex.yy.c,
20535         logging.c, parse.c, parse.lex, parse.yacc, secureware.c, sudo.c,
20536         sudo.h, sudo.tab.c, sudo_setenv.c, testsudoers.c, tgetpass.c,
20537         visudo.c:
20538         Move interface-related defines to interfaces.h so we don't have to
20539         include <netinet/in.h> everywhere.
20540         [e7599d8ea0bf]
20541
20542 1999-05-14  Todd C. Miller  <Todd.Miller@courtesan.com>
20543
20544         * CHANGES, INSTALL, TODO, check.c, compat.h, getspwuid.c, logging.c,
20545         parse.yacc, sudo.c, sudo.tab.c, tgetpass.c:
20546         o Replace _PASSWD_LEN braindeath with our own SUDO_MAX_PASS. It
20547         turns out the old DES crypt does the right thing with passwords
20548         longert than 8 characters. o Fix common typo (necesary ->
20549         necessary) o Update TODO list
20550         [ad75007a6f13]
20551
20552 1999-05-03  Todd C. Miller  <Todd.Miller@courtesan.com>
20553
20554         * sudo.c:
20555         set $LOGNAME when we set $USER
20556         [391596210fd7]
20557
20558 1999-04-27  Todd C. Miller  <Todd.Miller@courtesan.com>
20559
20560         * INSTALL:
20561         add comment about digital unix and interfaces.c warning with gcc
20562         [e20f815901cc]
20563
20564 1999-04-15  Todd C. Miller  <Todd.Miller@courtesan.com>
20565
20566         * sample.sudoers:
20567         use modern paths and give examples for some of the new parser
20568         features
20569         [e7b2e507c695]
20570
20571 1999-04-10  Todd C. Miller  <Todd.Miller@courtesan.com>
20572
20573         * parse.c:
20574         fix comment
20575         [5eb0d005a65f]
20576
20577         * alloc.c, check.c, check_sia.c, dce_pwent.c, find_path.c,
20578         getspwuid.c, goodpath.c, interfaces.c, lex.yy.c, logging.c, parse.c,
20579         parse.lex, parse.yacc, putenv.c, secureware.c, sudo.c, sudo.tab.c,
20580         sudo_setenv.c, testsudoers.c, tgetpass.c, utime.c, visudo.c:
20581         Function names should be flush with the start of the line so they
20582         can be found trivially in an editor and with grep
20583         [3c400abde574]
20584
20585         * find_path.c, interfaces.c, lex.yy.c, parse.c, parse.lex, parse.yacc,
20586         sudo.c, sudo.tab.c, testsudoers.c, tgetpass.c, visudo.c:
20587         free(3) is already void, no need to cast it
20588         [6981e1ebda0f]
20589
20590         * logging.c, sudo.c, sudo.h:
20591         catch case where cmnd_safe is not set (this should not be possible)
20592         [3e1e3038546c]
20593
20594         * CHANGES, logging.c, parse.c, parse.yacc, sudo.c, sudo.h, sudo.tab.c,
20595         testsudoers.c, visudo.c:
20596         Stash the "safe" path (ie: the one listed in sudoers) to the command
20597         instead of stashing the struct stat. Should be safer.
20598         [aa2883fcf57e]
20599
20600 1999-04-08  Todd C. Miller  <Todd.Miller@courtesan.com>
20601
20602         * INSTALL, Makefile.in, UPGRADE:
20603         notes on updating from an earlier release
20604         [df9fffa4ab2c]
20605
20606         * CHANGES:
20607         updated
20608         [574f5065d15a]
20609
20610 1999-04-07  Todd C. Miller  <Todd.Miller@courtesan.com>
20611
20612         * parse.yacc, sudo.tab.c, sudo.tab.h, sudoers.cat, sudoers.html,
20613         sudoers.man, sudoers.pod:
20614         You can now specifiy a host list instead of just a host or alias.
20615         Ie: user = host1,host2,ALIAS,!host3 my_command now works.
20616         [e3942bb78021]
20617
20618         * testsudoers.c:
20619         Quiet -Wall
20620         [a3edc8b08c3a]
20621
20622         * parse.yacc, sudo.tab.c:
20623         Move the push from the beginning of cmndspec to the end. This means
20624         we no longer have to do a push at the end of privilege, just reset
20625         some values.
20626         [8ea66e5860c6]
20627
20628         * sudoers.cat, sudoers.html, sudoers.man, sudoers.pod:
20629         runas-lists and NOPASSWD/PASSWD modifiers are now sticky and you can
20630         use "!" most everywhere
20631         [aadae4d1c9d5]
20632
20633 1999-04-06  Todd C. Miller  <Todd.Miller@courtesan.com>
20634
20635         * sudoers.pod:
20636         modernize paths and update su example based on sample.sudoers one
20637         [3f6a37e16c83]
20638
20639         * sample.sudoers:
20640         New runas semantics
20641         [756ee92865b7]
20642
20643         * CHANGES, Makefile.in, alloc.c, config.h.in, configure, configure.in,
20644         strdup.c, sudo.h:
20645         In estrdup(), do the malloc ourselves so we don't need to rely on
20646         the system strdup(3) which may or may not exist. There is now no
20647         need to provide strdup() for those w/o it. Also, the prototype for
20648         estrdup() was wrong, it returns char * and its param is const.
20649         [5f1f984da8e3]
20650
20651         * getcwd.c:
20652         $Sudo tag
20653         [e4188a35e68c]
20654
20655         * check.c:
20656         buf should be prompt; Michael Robokoff <mrobo@networkcs.com>
20657         [2aec87c86cde]
20658
20659         * CHANGES, TODO, parse.yacc, sudo.tab.c:
20660         It is now possible to use the '!' operator in a runas list as well
20661         as in a Cmnd_Alias, Host_Alias and User_Alias.
20662         [a4fdaabda990]
20663
20664         * logging.c, sudo.h:
20665         Kill GLOBAL_NO_SPW_ENT (not used) and crank GLOBAL_PROBLEM
20666         [73d0376785ae]
20667
20668         * sudo.h:
20669         Definitions of *_matched were wrong--user top, not top-2 as
20670         subscript.
20671         [5f8350a57362]
20672
20673         * logging.c, parse.c, parse.yacc, sudo.c, sudo.h, sudo.tab.c:
20674         Add VALIDATE_NOT_OK_NOPASS for when user is not allowed to run a
20675         command but the NOPASSWD flag was set. Make runasspec, runaslist,
20676         runasuser, and nopasswd typeless in parse.yacc Add support for '!'
20677         in the runas list Fix double printing of '%' and '+' for groups and
20678         netgroups respectively Add *_matched macros (no need for local stack
20679         variable). Should only be used directly after a pop (since top must
20680         be >= 2).
20681         [392b1400c4e6]
20682
20683         * aclocal.m4, configure.in:
20684         Add copyright, somewhat silly
20685         [55c2cdd82dca]
20686
20687 1999-04-05  Todd C. Miller  <Todd.Miller@courtesan.com>
20688
20689         * BUGS, INSTALL, Makefile.in, README, alloc.c, check.c, check_sia.c,
20690         compat.h, config.h.in, configure, configure.in, dce_pwent.c,
20691         emul/utime.h, find_path.c, getspwuid.c, goodpath.c, ins_2001.h,
20692         ins_classic.h, ins_csops.h, ins_goons.h, insults.h, interfaces.c,
20693         lex.yy.c, logging.c, parse.c, parse.lex, parse.yacc, pathnames.h.in,
20694         putenv.c, secureware.c, strdup.c, sudo.c, sudo.cat, sudo.h,
20695         sudo.man, sudo.tab.c, sudo_setenv.c, sudoers.cat, sudoers.man,
20696         testsudoers.c, tgetpass.c, utime.c, version.h, visudo.c, visudo.cat,
20697         visudo.man:
20698         Crank version to 1.6 and combine copyright statements
20699         [0e1c791658ae]
20700
20701         * sample.sudoers:
20702         Use ! not ^ to do negation
20703         [1480a0761730]
20704
20705         * lex.yy.c, sudo.tab.c:
20706         regen
20707         [89ca5a46684b]
20708
20709         * parse.lex, parse.yacc:
20710         Make runas and NOPASSWD tags persistent across entris in a command
20711         list. Add a PASSWD tag to reverse NOPASSWD. When you override a
20712         runas or *PASSWD tag the value given becomes the new default for the
20713         rest of the command list.
20714         [f1bbb4066542]
20715
20716 1999-04-02  Todd C. Miller  <Todd.Miller@courtesan.com>
20717
20718         * CHANGES, RUNSON:
20719         update for 1.5.9
20720         [a1ae9d4a7d54] [SUDO_1_5_9]
20721
20722         * visudo.c:
20723         Shift return value of system(3) by 8 to get real exit value and if
20724         it is not 1 or 0 print the retval along with the error message.
20725         [c1ff50d743fb]
20726
20727 1999-03-30  Todd C. Miller  <Todd.Miller@courtesan.com>
20728
20729         * Makefile.in:
20730         testsudoers needs LIBOBJS too
20731         [972571b4e4bf]
20732
20733         * parse.c, parse.yacc, sudo.tab.c:
20734         Fix another parser bug. For a sudoers entry like this: millert
20735         ALL=/bin/ls,(daemon) !/bin/ls sudo would not allow millert to run ls
20736         as root.
20737         [51968e1eb33d]
20738
20739         * CHANGES:
20740         new change
20741         [271c6110bb62]
20742
20743         * parse.yacc, sudo.tab.c:
20744         Save entries that match a ! command on the matching stack too
20745         [5afb5107116c]
20746
20747         * sudo.c:
20748         Make sudo's usage info better when mutually exclusive args are given
20749         and don't rely on argument order to detect this; nick@zeta.org.au
20750         [2422753c88fd]
20751
20752 1999-03-29  Todd C. Miller  <Todd.Miller@courtesan.com>
20753
20754         * CHANGES, Makefile.in, RUNSON:
20755         updates from CU
20756         [b37381e3dafb]
20757
20758         * Makefile.in:
20759         use gzip
20760         [94a64e52a166]
20761
20762         * parse.yacc, sudo.tab.c:
20763         Fix off by one error introduced in *alloc changes
20764         [95ede581153a]
20765
20766         * BUGS, CHANGES, INSTALL, Makefile.in, README, alloc.c, check.c,
20767         check_sia.c, compat.h, config.h.in, configure, configure.in,
20768         dce_pwent.c, emul/utime.h, find_path.c, getspwuid.c, goodpath.c,
20769         ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h, insults.h,
20770         interfaces.c, lex.yy.c, logging.c, parse.c, parse.lex, parse.yacc,
20771         pathnames.h.in, putenv.c, secureware.c, strdup.c, sudo.c, sudo.cat,
20772         sudo.h, sudo.man, sudo.tab.c, sudo_setenv.c, sudoers.cat,
20773         sudoers.man, testsudoers.c, tgetpass.c, utime.c, version.h,
20774         visudo.c, visudo.cat, visudo.html, visudo.man, visudo.pod:
20775         ++version
20776         [c6d88f024e37]
20777
20778         * Makefile.in, check.c, find_path.c, getspwuid.c, goodpath.c,
20779         interfaces.c, lex.yy.c, logging.c, parse.c, parse.lex, parse.yacc,
20780         putenv.c, secureware.c, strdup.c, sudo.c, sudo.h, sudo.tab.c,
20781         sudo_setenv.c, testsudoers.c, utime.c, visudo.c:
20782         Use emalloc/erealloc/estrdup
20783         [44221d97361a]
20784
20785         * alloc.c:
20786         error checking memory allocation routines
20787         [5f8c1e7bbc71]
20788
20789         * parse.yacc, sudo.tab.c:
20790         Still not right, this fixes it for real
20791         [ad553b6f5339]
20792
20793         * parse.yacc, sudo.tab.c:
20794         Fix for previous commit
20795         [4d6f989f9bf2]
20796
20797         * CHANGES, INSTALL, parse.yacc:
20798         Fix a parser bug that was exposed when mixing different runas specs
20799         and ! commands. For example: millert ALL=(daemon)
20800         /usr/bin/whoami,!/bin/ls would allow millert to run whoami as root
20801         as well as daemon when it should just allow daemon. The problem was
20802         that comma-separated commands in a list shared the same entry on the
20803         matching stack. Now they get their own entry iff there is a full
20804         match. It may be better to just make the runas spec persistent
20805         across all commands in a list like the user and host entries of the
20806         matching stack. However, since that is a fairly major change it
20807         should gets its own minor rev increase.
20808         [c4b939cdcc8e]
20809
20810 1999-03-28  Todd C. Miller  <Todd.Miller@courtesan.com>
20811
20812         * check.c, config.h.in:
20813         Simplify PAM code and fix a PAM-related warning on Linux
20814         [2468399523b6]
20815
20816 1999-03-26  Todd C. Miller  <Todd.Miller@courtesan.com>
20817
20818         * CHANGES:
20819         updates
20820         [29d4a997769c]
20821
20822         * sample.sudoers:
20823         better su entry
20824         [76d8285a72ba]
20825
20826         * configure:
20827         regen
20828         [b7450cc6975d]
20829
20830         * check.c, configure.in:
20831         new pam code that works on solaris, should work on linux too;
20832         aelberg@home.com
20833         [84c16c0ff259]
20834
20835 1999-03-19  Todd C. Miller  <Todd.Miller@courtesan.com>
20836
20837         * RUNSON:
20838         more entries
20839         [b6bef8660759]
20840
20841         * config.h.in:
20842         only include strings.h if there is no string.h
20843         [b66054a32b00]
20844
20845 1999-03-17  Todd C. Miller  <Todd.Miller@courtesan.com>
20846
20847         * config.guess:
20848         Sinix is now being called ReliantUNIX; bjjackso@us.oracle.com
20849         [c086d2fe63af]
20850
20851 1999-03-13  Todd C. Miller  <Todd.Miller@courtesan.com>
20852
20853         * sudo.c:
20854         shost must be set before log functions are called #ifdef HOST_IN_LOG
20855         [d49a7944358f]
20856
20857 1999-03-07  Todd C. Miller  <Todd.Miller@courtesan.com>
20858
20859         * CHANGES, lex.yy.c, parse.lex:
20860         Fix a bug wrt quoting characters in command args. Stop processing
20861         an arg when you hit a backslash so the quoted-character detection
20862         can catch it.
20863         [2281438d7f41]
20864
20865 1999-02-26  Todd C. Miller  <Todd.Miller@courtesan.com>
20866
20867         * interfaces.c:
20868         include sys/time.h; aparently AIX needs it. ppz@cdu.elektra.ru
20869         [31118a9e9916]
20870
20871 1999-02-24  Todd C. Miller  <Todd.Miller@courtesan.com>
20872
20873         * configure, configure.in:
20874         add missing case statement so --without-sendmail works
20875         [ca25614f7dd9]
20876
20877 1999-02-23  Todd C. Miller  <Todd.Miller@courtesan.com>
20878
20879         * CHANGES:
20880         more
20881         [4d70e44f7f93]
20882
20883 1999-02-22  Todd C. Miller  <Todd.Miller@courtesan.com>
20884
20885         * configure, configure.in:
20886         only search for -lsun in irix <= 4.x
20887         [e604238317b1]
20888
20889         * configure, configure.in:
20890         back out last configure.in change now that I've hacked autoconf to
20891         fix the real problem and add a missing newline
20892         [2dabf59a79b5]
20893
20894         * CHANGES:
20895         updated
20896         [bb35d526552f]
20897
20898         * getcwd.c:
20899         add def of dirfd() for those without it
20900         [95f0173d8441]
20901
20902         * configure, configure.in:
20903         When falling back to checking for socket() when linking with
20904         "-lsocket -lnsl" check for main() instead since autoconf has already
20905         cached the results of checking for socket() in -lsocket. This is
20906         really an autoconf bug as it should use the extra libs as part of
20907         the cache variable name.
20908         [a845f8b710ad]
20909
20910         * configure.in:
20911         typo
20912         [a7d62f62a478]
20913
20914 1999-02-21  Todd C. Miller  <Todd.Miller@courtesan.com>
20915
20916         * configure.in:
20917         fix occurrence of $with_timeout that should be
20918         $with_password_timeout; Michael.Neef@neuroinformatik.ruhr-uni-
20919         bochum.de
20920         [8c4da2cf73d1]
20921
20922 1999-02-17  Todd C. Miller  <Todd.Miller@courtesan.com>
20923
20924         * sudo.cat, sudo.html, sudo.man, sudo.pod:
20925         fix grammar; espie@openbsd.org
20926         [7031d9dfbc3e] [SUDO_1_5_8]
20927
20928 1999-02-11  Todd C. Miller  <Todd.Miller@courtesan.com>
20929
20930         * parse.yacc, sudo.c, testsudoers.c:
20931         add cast for strdup in places it does not have it
20932         [7ce4478d3b0f]
20933
20934 1999-02-09  Todd C. Miller  <Todd.Miller@courtesan.com>
20935
20936         * configure, configure.in:
20937         define for_BSD_TYPES irix
20938         [858337ff4af8]
20939
20940 1999-02-07  Todd C. Miller  <Todd.Miller@courtesan.com>
20941
20942         * Makefile.in, sudo.cat, sudo.html, sudo.man, sudo.pod:
20943         Make it clear that it is the user's password, not root's, that we
20944         want.
20945         [ae0f51b35ee4]
20946
20947         * check.c, sudo.h:
20948         If the user enters an empty password and really has no password,
20949         accept the empty password they entered. Perviously, they could
20950         enter anything
20951         *but* an empty password. Also, add GETPASS macro that calls either
20952         tgetpass() or getpass() depending on how sudo was configured.
20953         Problem noted by jdg@maths.qmw.ac.uk
20954         [2fde21ce94c1]
20955
20956 1999-02-03  Todd C. Miller  <Todd.Miller@courtesan.com>
20957
20958         * Makefile.in, check.c, check_sia.c, compat.h, config.h.in,
20959         dce_pwent.c, emul/utime.h, find_path.c, getspwuid.c, goodpath.c,
20960         ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h, insults.h,
20961         interfaces.c, logging.c, parse.c, parse.lex, parse.yacc,
20962         pathnames.h.in, putenv.c, secureware.c, strdup.c, sudo.c, sudo.h,
20963         sudo_setenv.c, testsudoers.c, tgetpass.c, utime.c, version.h,
20964         visudo.c:
20965         add explicate copyright
20966         [d3b4449834a5]
20967
20968         * CHANGES:
20969         mention -lsocket, -lnsl configure changes
20970         [9140af4ad8ae]
20971
20972 1999-02-02  Todd C. Miller  <Todd.Miller@courtesan.com>
20973
20974         * sudo.c:
20975         Don't clobber errno after calling check_sudoers().
20976         [59bd581b2654]
20977
20978 1999-02-01  Todd C. Miller  <Todd.Miller@courtesan.com>
20979
20980         * configure, configure.in:
20981         When linking with both -lsocket and -lnsl be sure to do so in that
20982         order. Also, when we can't find socket() or inet_addr() and have to
20983         try linking with both libs, issue a warning.
20984         [0ee547163067]
20985
20986         * sudo.cat, sudo.man, sudo.pod:
20987         clarify bad timestamp and fmt
20988         [70e42cf56c75]
20989
20990 1999-01-23  Todd C. Miller  <Todd.Miller@courtesan.com>
20991
20992         * INSTALL, RUNSON:
20993         be clear that pam is linux-only and add a RUNSON entry
20994         [7fdeab875e0d]
20995
20996 1999-01-22  Todd C. Miller  <Todd.Miller@courtesan.com>
20997
20998         * CHANGES, INSTALL, configure, configure.in:
20999         fix and correctly document --with-umask; problem noted by
21000         adap@adap.org
21001         [11cd0481d63a]
21002
21003 1999-01-20  Todd C. Miller  <Todd.Miller@courtesan.com>
21004
21005         * configure, configure.in:
21006         only use /usr/{man,catman}/local to store man pages if suer didn't
21007         override prefix or mandir
21008         [781ad2cbe9be]
21009
21010         * INSTALL, configure, configure.in:
21011         fix typo, make --with-SecurID take an arg
21012         [026a9b4014fc]
21013
21014 1999-01-19  Todd C. Miller  <Todd.Miller@courtesan.com>
21015
21016         * RUNSON:
21017         updates from users
21018         [2286982b31e6]
21019
21020         * CHANGES, INSTALL, check.c, configure, configure.in:
21021         FWTK 'authsrv' support from Kevin Kadow <kadow@MSG.NET>
21022         [23aa4e5c6b02]
21023
21024         * configure, configure.in:
21025         better fix for the problem of unresolved symbols in -lnsl or
21026         -lsocket
21027         [82fe70fc287f]
21028
21029         * configure, configure.in:
21030         when checking for functions in -lnsl and -lsocket link with both of
21031         them to avoid unresolved symbols on some weirdo systems
21032         [1734a591808e]
21033
21034 1999-01-18  Todd C. Miller  <Todd.Miller@courtesan.com>
21035
21036         * BUGS, CHANGES, RUNSON, TODO:
21037         old changes that didn't make it into RCS before the RCS->CVS switch
21038         [846eb2b8f9aa]
21039
21040 1999-01-17  Todd C. Miller  <Todd.Miller@courtesan.com>
21041
21042         * Makefile.in, check.c, check_sia.c, compat.h, config.h.in,
21043         configure.in, dce_pwent.c, emul/search.h, emul/utime.h, find_path.c,
21044         getspwuid.c, goodpath.c, ins_2001.h, ins_classic.h, ins_csops.h,
21045         ins_goons.h, insults.h, interfaces.c, lex.yy.c, logging.c,
21046         lsearch.c, parse.c, parse.lex, parse.yacc, pathnames.h.in, putenv.c,
21047         secureware.c, strdup.c, sudo.c, sudo.pod, sudo_setenv.c,
21048         sudoers.pod, testsudoers.c, tgetpass.c, utime.c, visudo.c,
21049         visudo.pod:
21050         add sudo tags
21051         [962f81eaa5ab]
21052
21053         * sudo.h:
21054         testing Sudo tag
21055         [e84cbc521129]
21056
21057         * version.h:
21058         testing Sudo tag
21059         [a8c3a3998b88]
21060
21061         * BUGS, INSTALL, Makefile.in, README, check.c, check_sia.c, compat.h,
21062         config.h.in, configure, configure.in, dce_pwent.c, emul/utime.h,
21063         find_path.c, getspwuid.c, goodpath.c, ins_2001.h, ins_classic.h,
21064         ins_csops.h, ins_goons.h, insults.h, interfaces.c, lex.yy.c,
21065         logging.c, parse.c, parse.lex, parse.yacc, pathnames.h.in, putenv.c,
21066         secureware.c, strdup.c, sudo.c, sudo.cat, sudo.h, sudo.man,
21067         sudo_setenv.c, sudoers.cat, sudoers.man, testsudoers.c, tgetpass.c,
21068         utime.c, version.h, visudo.c, visudo.cat, visudo.man:
21069         crank version and regen files
21070         [23eacf00a1a4]
21071
21072         * Makefile.in:
21073         kill rcs goop in update_version and fix now that version is a const
21074         [e6e50bd8d1e1]
21075
21076         * INSTALL, check.c, config.h.in, configure, configure.in, logging.c,
21077         sudo.c, sudo.h, sudo.pod:
21078         kerb5 support from fcusack@iconnet.net
21079         [8134027986e2]
21080
21081         * realpath.c, sudo_realpath.c:
21082         we no longer use realpath
21083         [0f5f64abc646]
21084
21085         * qualify.c:
21086         replaced by find_path.c
21087         [9e32a87e09c4]
21088
21089         * options.h:
21090         all options are now configure flags
21091         [ee6bd9610102]
21092
21093         * lex.yy.c:
21094         regen
21095         [bdbf8a18161f]
21096
21097         * getwd.c:
21098         superceded by getcwd.c
21099         [1e54ee0990b4]
21100
21101         * getpass.c:
21102         superceded by tgetpass.c
21103         [4e0d1edc30e3]
21104
21105         * SUPPORTED:
21106         superceded by RUNSON
21107         [854c5a21cb53]
21108
21109         * OPTIONS:
21110         No longer used now that we have configure options for everything.
21111         [9b1ae1c89259]
21112
21113         * configure:
21114         regen based on configure.in
21115         [3a4d73936973]
21116
21117         * sudo.cat, sudo.html, sudo.man, sudoers.cat, sudoers.html,
21118         sudoers.man, visudo.cat, visudo.html, visudo.man:
21119         regen based on sudo.pod, sudoers.pod, and visudo.pod
21120         [c267beb90778]
21121
21122 1998-12-11  Todd C. Miller  <Todd.Miller@courtesan.com>
21123
21124         * check.c:
21125         fix tty tickets in remove_timestamp (didn't use ':')
21126         [fd964a74a32b]
21127
21128 1998-12-07  Todd C. Miller  <Todd.Miller@courtesan.com>
21129
21130         * interfaces.c:
21131         close sock when we are done with it
21132         [95de0380f8a4]
21133
21134 1998-11-28  Todd C. Miller  <Todd.Miller@courtesan.com>
21135
21136         * parse.yacc:
21137         never say "error on line -1"
21138         [361db1491121]
21139
21140 1998-11-24  Todd C. Miller  <Todd.Miller@courtesan.com>
21141
21142         * configure.in:
21143         check for -lnsl before -lsocket
21144         [8e966d6bbcb5]
21145
21146         * configure.in:
21147         quote '[', ']' used in ranges correctly
21148         [fa4f9c6ff651]
21149
21150 1998-11-21  Todd C. Miller  <Todd.Miller@courtesan.com>
21151
21152         * config.h.in:
21153         add missing NO_ROOT_SUDO noted by drno@tsd.edu
21154         [c969f25d1667]
21155
21156 1998-11-20  Todd C. Miller  <Todd.Miller@courtesan.com>
21157
21158         * version.h:
21159         1.5.7
21160         [7a22de0bc148]
21161
21162         * INSTALL:
21163         more info for 1.5.7
21164         [30ad9e784799]
21165
21166         * README:
21167         update for 1.5.7
21168         [cd03a0a27cd2]
21169
21170         * parse.yacc:
21171         make increases of cm_list_size and ga_list_size be similar to
21172         increases of stacksize (ie: >= not > in initial compare).
21173         [6bd450a896c7]
21174
21175         * parse.yacc:
21176         when we get a syntax error, report it for the previous line since
21177         that's generally where the error occurred.
21178         [c4ac84058f0b]
21179
21180 1998-11-18  Todd C. Miller  <Todd.Miller@courtesan.com>
21181
21182         * config.h.in, configure.in, interfaces.c:
21183         add back check for sys/sockio.h but only use it if SIOCGIFCONF is
21184         not defined
21185         [d197f31fd1e4] [SUDO_1_5_7]
21186
21187         * config.h.in:
21188         define BSD_COMP for svr4
21189         [87ac1147ff79]
21190
21191         * check.c, check_sia.c, find_path.c, getcwd.c, getspwuid.c,
21192         goodpath.c, interfaces.c, logging.c, lsearch.c, parse.c, parse.lex,
21193         parse.yacc, putenv.c, secureware.c, strdup.c, sudo.c, sudo_setenv.c,
21194         testsudoers.c, tgetpass.c, utime.c, visudo.c:
21195         more -Wall
21196         [d98e2d32db2a]
21197
21198         * configure.in:
21199         kill check for sockio,h
21200         [4399779014c1]
21201
21202         * config.h.in:
21203         no more HAVE_SYS_SOCKIO_H
21204         [67484528e347]
21205
21206         * check.c, check_sia.c, find_path.c, getcwd.c, getspwuid.c,
21207         goodpath.c, interfaces.c, logging.c, lsearch.c, parse.c, parse.lex,
21208         parse.yacc, putenv.c, secureware.c, strdup.c, sudo.c, sudo_setenv.c,
21209         testsudoers.c, tgetpass.c, utime.c, visudo.c:
21210         -Wall
21211         [2b7e83976788]
21212
21213 1998-11-16  Todd C. Miller  <Todd.Miller@courtesan.com>
21214
21215         * sudo.c:
21216         add missing inform_user()
21217         [8689528c6d55]
21218
21219 1998-11-14  Todd C. Miller  <Todd.Miller@courtesan.com>
21220
21221         * find_path.c:
21222         return NOT_FOUND if given fully qualified path and it does not exist
21223         previously it would perror(ENOENT) which bypasses the option to not
21224         leak path info
21225         [ccbc3d0130ae]
21226
21227         * configure.in:
21228         for kerb5, check for -lkerb4, fall back on -lkrb for kerb, check for
21229         -ldes
21230         [c77d3b484ece]
21231
21232 1998-11-13  Todd C. Miller  <Todd.Miller@courtesan.com>
21233
21234         * INSTALL:
21235         tty tickets are user:tty now
21236         [a53a303a614d]
21237
21238         * check.c:
21239         when using tty tickets make it user:tty not user.tty as a username
21240         could have a '.' in it
21241         [3160b3f5c890]
21242
21243 1998-11-10  Todd C. Miller  <Todd.Miller@courtesan.com>
21244
21245         * sudo.c:
21246         add "ignoring foo found in ." for auth successful case
21247         [24257169e0bd]
21248
21249 1998-11-09  Todd C. Miller  <Todd.Miller@courtesan.com>
21250
21251         * sudo.c:
21252         add missing printf param
21253         [8c905124f777]
21254
21255 1998-11-08  Todd C. Miller  <Todd.Miller@courtesan.com>
21256
21257         * INSTALL, config.h.in, configure.in, find_path.c, sudo.c, sudo.h:
21258         go back to printing "command not found" unless --disable-path-info
21259         specified. Also, tell user when we ignore '.' in their path and it
21260         would have been used but for --with-ignore-dot.
21261         [066e118c11e4]
21262
21263         * check.c, sudo.c:
21264         Only one space after a colon, not two, in printf's
21265         [38452f4c8007]
21266
21267 1998-11-05  Todd C. Miller  <Todd.Miller@courtesan.com>
21268
21269         * sudo.pod:
21270         document setting $USER
21271         [80557fe6aede]
21272
21273         * check.c:
21274         fix bugs with prompt expansion
21275         [44c4fca5f009]
21276
21277         * sudo.c:
21278         set $USER for root too
21279         [4b525e1c6269]
21280
21281 1998-11-04  Todd C. Miller  <Todd.Miller@courtesan.com>
21282
21283         * getspwuid.c:
21284         typo
21285         [5107446f43e0]
21286
21287         * configure.in:
21288         HP-UX's iscomsec is in -lsec, not libc
21289         [03c9f700b795]
21290
21291         * configure.in:
21292         remove some entries in the OS case statement that did nothing
21293         [ea96e7e0f624]
21294
21295         * TROUBLESHOOTING:
21296         add "cd" section and flush out syslog section
21297         [5107f7363b78]
21298
21299         * Makefile.in:
21300         no more sudo-lex.yy.c
21301         [ed50826efbbc]
21302
21303         * check_sia.c:
21304         add custom prompt support
21305         [6a285cea10b7]
21306
21307         * testsudoers.c:
21308         kill perror("malloc") since we already have a good error messages
21309         pw_ent -> pw for brevity
21310         [eee31052921e]
21311
21312         * sudo.c:
21313         kill perror("malloc") since we already have a good error messages
21314         pw_ent -> pw for brevity set $USER if -u specified
21315         [9f3753461f8a]
21316
21317         * parse.yacc:
21318         kill perror("malloc") since we already have a good error messages
21319         [849459088ac3]
21320
21321         * parse.c:
21322         kill perror("malloc") since we already have a good error messages
21323         pw_ent -> pw for brevity when checking if %group matches, look up
21324         user in password file so that %groups works in a RunAs spec.
21325         [0489b4ecc59a]
21326
21327         * logging.c:
21328         kill perror("malloc") since we already have a good error messages
21329         [3191a18b3526]
21330
21331         * check.c, getspwuid.c, interfaces.c:
21332         kill perror("malloc") since we already have a good error messages
21333         pw_ent -> pw for brevity
21334         [7193fdb38cf9]
21335
21336 1998-11-03  Todd C. Miller  <Todd.Miller@courtesan.com>
21337
21338         * tgetpass.c:
21339         the prompt is expanded before tgetpass is called
21340         [0f408f508041]
21341
21342         * sudo.h:
21343         tgetpass now has the same args as getpass again
21344         [b6778cd9d79f]
21345
21346         * getspwuid.c:
21347         add iscomsec, issecure support
21348         [007be7ec7ae7]
21349
21350         * check.c:
21351         we now expand any %h or %u in the prompt before passing to tgetpass
21352         [f3db8c9ee387]
21353
21354         * configure.in:
21355         add check for syslog(3) in -lsocket, -lnsl, -linet
21356         [5a96f902ce00]
21357
21358         * config.h.in:
21359         add HAVE_ISCOMSEC and HAVE_ISSECURE
21360         [f640b0d4cf05]
21361
21362         * configure.in:
21363         add check for iscomsec in HP-UX
21364         [b28b249040f0]
21365
21366         * configure.in:
21367         check for issecure if we have getpwanam on SunOS some options are
21368         incompatible with DUNIX SIA check for dispcrypt on DUNIX
21369         [a49d05d9c913]
21370
21371 1998-10-25  Todd C. Miller  <Todd.Miller@courtesan.com>
21372
21373         * config.h.in:
21374         add HAVE_DISPCRYPT
21375         [7376d543d8d6]
21376
21377         * secureware.c:
21378         add back support for non-dispcrypt based checking for older DUNIX
21379         [977b98e936be]
21380
21381         * INSTALL:
21382         sia changes
21383         [c5387c06e30f]
21384
21385         * configure.in:
21386         SIA becomes the default on Digital UNIX now havbe --disable-sia to
21387         turn it off...
21388         [3b647558ea13]
21389
21390         * check.c:
21391         move local includes after system ones
21392         [b2abad4c4aef]
21393
21394 1998-10-24  Todd C. Miller  <Todd.Miller@courtesan.com>
21395
21396         * check.c, check_sia.c, sudo.h:
21397         add pass_warn() which prints out INCORRECT_PASSWORD or an insult to
21398         stderr
21399         [547cbf299661]
21400
21401         * check_sia.c:
21402         fix while loop in sia_attempt_auth() that checks the password. Only
21403         the first iteration was working.
21404         [1886fd1ac831]
21405
21406 1998-10-22  Todd C. Miller  <Todd.Miller@courtesan.com>
21407
21408         * aclocal.m4:
21409         don't trust UID_MAX or MAXUID
21410         [2aeddb1654d8]
21411
21412         * configure.in:
21413         fix two pastos
21414         [c18f0a10b75d]
21415
21416         * configure.in:
21417         fix typo
21418         [1eb3190ef12d]
21419
21420         * getspwuid.c, secureware.c:
21421         init crypt_type to INT_MAX since it is legal to be negative in DUNX
21422         5.0
21423         [cefbde04822d]
21424
21425         * configure.in:
21426         for secureware on dunix, use -lsecurity -ldb -laud -lm but check for
21427         -ldb since DUNX < 4.0 lacks it
21428         [e6b11d971068]
21429
21430 1998-10-21  Todd C. Miller  <Todd.Miller@courtesan.com>
21431
21432         * check.c, compat.h, config.h.in, configure.in, getspwuid.c,
21433         secureware.c, sudo.c, tgetpass.c:
21434         getprpwuid is broken in HP-UX 10.20 at least (it sleeps for 2
21435         minutes if the shadow files don't exist).
21436         [2f297d095004]
21437
21438 1998-10-20  Todd C. Miller  <Todd.Miller@courtesan.com>
21439
21440         * INSTALL:
21441         updated --with-editor blurb
21442         [77d8a3ea7328]
21443
21444         * TROUBLESHOOTING:
21445         tell how to put sudoers in a different dir
21446         [456cd20eb1d0]
21447
21448         * configure.in:
21449         add missing quotes around $with_editor
21450         [22881748ab1b]
21451
21452         * configure.in:
21453         typo in --with-editor bits
21454         [ab6964580681]
21455
21456         * INSTALL:
21457         I don't expect it to work on Solaris
21458         [1c2fceaaf56e]
21459
21460         * check.c:
21461         add back security/pam_misc.h
21462         [6ffd30033c1e]
21463
21464 1998-10-19  Todd C. Miller  <Todd.Miller@courtesan.com>
21465
21466         * INSTALL:
21467         remove dunix note since configure checks for this now
21468         [e9904512b8e8]
21469
21470         * configure.in:
21471         add check for broken dunix prot.h (4.0 < 4.0D is bad)
21472         [8a4c1e6aef3b]
21473
21474         * getspwuid.c, secureware.c, tgetpass.c:
21475         new dunix shadow code, use dispcrypt(3)
21476         [1b936bc7268c]
21477
21478         * config.h.in:
21479         add HAVE_INITPRIVS
21480         [4369f4c4f914]
21481
21482         * sudo.c:
21483         call initprivs() if we have it for getprpwuid later on
21484         [11cf5915d826]
21485
21486         * Makefile.in:
21487         clean pathnames.h too
21488         [5f1df3262613]
21489
21490         * configure.in:
21491         quote "Sorry, try again." with [] since it has a comma in it set
21492         LIBS when we add stuff to SUDO_LIBS set SECUREWARE when we find
21493         getprpwuid() so we can check for bigcrypt, set_auth_parameters, and
21494         initprivs later.
21495         [e226b0a3f250]
21496
21497         * INSTALL:
21498         update Digital UNIX note about acl.h
21499         [80132b71d73a]
21500
21501         * INSTALL:
21502         add --with-sia
21503         --without-root-sudo -> --disable-root-sudo some reordering
21504         [198386358818]
21505
21506         * secureware.c:
21507         add whitespace
21508         [4aadaf1a54b0]
21509
21510         * Makefile.in, check.c, config.h.in, configure.in, logging.c, sudo.h:
21511         add SIA support
21512         [fa3ddbb9cc51]
21513
21514         * check_sia.c:
21515         Initial revision
21516         [2968551d40e4]
21517
21518 1998-10-18  Todd C. Miller  <Todd.Miller@courtesan.com>
21519
21520         * configure.in:
21521         when checking for -lsocket, -lnsl, and -linet, check for the
21522         specific functions we need from them.
21523         [8d33e64362a3]
21524
21525         * config.h.in, sudo.h:
21526         move Syslog_* defs into sudo.h
21527         [03d1774f25c7]
21528
21529         * Makefile.in, sudo.h:
21530         added check_secureware
21531         [e46e3cbb9a97]
21532
21533         * configure.in:
21534         finished adding AC_MSG_CHECKING and AC_MSG_RESULT bits
21535         [dbefe1856503]
21536
21537         * insults.h:
21538         don't define CLASSIC_INSULTS and CSOPS_INSULTS if no other sets
21539         defined. configure now does that for us
21540         [e4520ea0581f]
21541
21542         * configure.in:
21543         move some --with options around change a bunch of echo's to
21544         AC_MSG_CHECKING, AC_MSG_RESULT pairs
21545         [ffdf6869fdd7]
21546
21547         * configure.in:
21548         change $with_foo-bar -> $with_foo_bar kill extra " that caused a
21549         syntax error add some echo verbage
21550         [3278c49bf74b]
21551
21552 1998-10-17  Todd C. Miller  <Todd.Miller@courtesan.com>
21553
21554         * check.c:
21555         moved SecureWare stuff into secureware.c
21556         [42d3d3ac35dc]
21557
21558         * secureware.c:
21559         Initial revision
21560         [aa7f72a249cf]
21561
21562         * INSTALL:
21563         update url to solaris gcc bins
21564         [36a3eb668777]
21565
21566         * INSTALL:
21567         change option formatter and flesh out someentries
21568         [6fbd1db4a8ad]
21569
21570         * TROUBLESHOOTING, sudo.pod, visudo.pod:
21571         environmental variable -> environment variable
21572         [6f14d708e32d]
21573
21574         * BUGS:
21575         everything is now done via configure
21576         [c217858f58ab]
21577
21578         * README:
21579         prev rev was 1.5.6
21580         [7b4177103c35]
21581
21582         * Makefile.in:
21583         passing SUDOERS_MODE, SUDOERS_UID, SUDOERS_GID correctly
21584         [31c6b0a5e0e2]
21585
21586         * config.h.in:
21587         SUDOERS_MODE, SUDOERS_UID, SUDOERS_GID now come from the Makefile
21588         [d406a1ef6d25]
21589
21590         * Makefile.in:
21591         merge OSDEFS and OPTIONS into DEFS get sudoers_uid, sudoers_gid,
21592         sudoers_mode from configure
21593         [1c509500655a]
21594
21595         * configure.in:
21596         SUDOERS_MODE, SUDOERS_UID, and SUDOERS_GID now get substituted into
21597         the Makefile, not config.h
21598         [d4482f1492fe]
21599
21600         * INSTALL:
21601         document all --with/--enable options
21602         [22d81b312d7f]
21603
21604 1998-10-15  Todd C. Miller  <Todd.Miller@courtesan.com>
21605
21606         * insults.h:
21607         options.h is no more
21608         [560946a33f7f]
21609
21610         * config.h.in:
21611         assimilated options.h
21612         [dd8ce74613c1]
21613
21614         * configure.in:
21615         moved options from options.h to configure
21616         [d39662f71b4e]
21617
21618         * check.c, find_path.c, getspwuid.c, goodpath.c, interfaces.c,
21619         logging.c, parse.c, parse.lex, parse.yacc, sudo.c, sudo.pod,
21620         sudo_setenv.c, visudo.c:
21621         no more options.h
21622         [43924bf0858d]
21623
21624         * INSTALL, Makefile.in, PORTING, TROUBLESHOOTING:
21625         remove references to options.h
21626         [ef3474295395]
21627
21628         * dce_pwent.c, interfaces.c, sudo.c:
21629         kill sys/time.h
21630         [4d833f0034e4]
21631
21632         * tgetpass.c:
21633         if select return < -1 still prompt for pw
21634         [e0009e5c93a2]
21635
21636         * options.h:
21637         convert LOGGING, LOGFAC, MAXLOGFILELEN, IGNORE_DOT_PATH into
21638         configure options
21639         [e60a1e546516]
21640
21641         * parse.c:
21642         FAST_MATCH is no longer an optino
21643         [c448dbb3464b]
21644
21645         * check.c:
21646         remove_timestamp() if timestamp is preposterous
21647         [70d9a86c6ecd]
21648
21649         * options.h:
21650         convert more options to --with/--enable
21651         [34646d9b09dc]
21652
21653         * INSTALL, aclocal.m4:
21654         logfile -> logpath
21655         [42de502bc637]
21656
21657         * configure.in:
21658         convert more options into --with and --enable
21659         [92d0898c9844]
21660
21661         * tgetpass.c:
21662         catch EINTR in select and restart
21663         [f045d2f234d7]
21664
21665         * logging.c:
21666         sys/errno -> errno
21667         [7f0c5beab6f2]
21668
21669 1998-09-24  Todd C. Miller  <Todd.Miller@courtesan.com>
21670
21671         * sudo.c:
21672         UMASK -> SUDO_UMASK.
21673         [48f308661514]
21674
21675         * check.c, logging.c:
21676         time.h, not sys/time.h
21677         [91de049c79e4]
21678
21679 1998-09-21  Todd C. Miller  <Todd.Miller@courtesan.com>
21680
21681         * logging.c:
21682         MAILER -> _PATH_SENDMAIL
21683         [df65d6896639]
21684
21685         * INSTALL, configure.in:
21686         no more --with-C2, now it is --disable-shadow
21687         [18bfcab3b9ab]
21688
21689         * aclocal.m4, check.c, compat.h, config.h.in, configure.in,
21690         getspwuid.c, sudo.c, tgetpass.c:
21691         new shadow password scheme. Always include shadow support if the
21692         platform supports it and the user did not disable it via configure
21693         [2135d93bb4a9]
21694
21695 1998-09-20  Todd C. Miller  <Todd.Miller@courtesan.com>
21696
21697         * configure.in:
21698         --with-getpass -> --{enable,disable}-tgetpass
21699         [451b33fdd4c7]
21700
21701         * Makefile.in:
21702         pathnames.h -> pathnames.h.in
21703         [b109022eca69]
21704
21705         * check.c:
21706         fix version string
21707         [761b25c314ea]
21708
21709         * check.c:
21710         move pam_conv to be static to auth function remove pam_misc.h
21711         (solaris doesn't have one)
21712         [a682e4da987a]
21713
21714         * aclocal.m4:
21715         _CONFIG_PATH_* -> _PATH_* or _PATH_SUDO_* kill SUDO_PROG_PWD
21716         [e6005d0599b5]
21717
21718         * configure.in:
21719         munge pathnames.h.in -> pathnames.h kill SUDO_PROG_PWD
21720         [24c0ac2155ef]
21721
21722         * pathnames.h.in:
21723         convert to pathnames.h.in
21724         [013bddf7f684]
21725
21726 1998-09-19  Todd C. Miller  <Todd.Miller@courtesan.com>
21727
21728         * configure.in:
21729         fix typo in sysv4 matching case /.
21730         [2994c4f88cf5]
21731
21732 1998-09-18  Todd C. Miller  <Todd.Miller@courtesan.com>
21733
21734         * check.c:
21735         pam stuff needs to run as root, not user, for shadow passwords
21736         [d94ff75de503]
21737
21738 1998-09-17  Todd C. Miller  <Todd.Miller@courtesan.com>
21739
21740         * BUGS, INSTALL, README, configure.in:
21741         updated version
21742         [775adc7de7ac]
21743
21744         * Makefile.in, check.c, compat.h, config.h.in, dce_pwent.c,
21745         emul/utime.h, find_path.c, getspwuid.c, goodpath.c, ins_2001.h,
21746         ins_classic.h, ins_csops.h, ins_goons.h, insults.h, interfaces.c,
21747         logging.c, options.h, parse.c, parse.lex, parse.yacc,
21748         pathnames.h.in, putenv.c, strdup.c, sudo.c, sudo.h, sudo_setenv.c,
21749         testsudoers.c, tgetpass.c, utime.c, visudo.c:
21750         updated version
21751         [5ca599fb6b93]
21752
21753         * check.c:
21754         user version.h for long message
21755         [47a52ac7e542]
21756
21757         * check.c:
21758         this is version 1.5.6
21759         [8451ac79eee2]
21760
21761 1998-09-16  Todd C. Miller  <Todd.Miller@courtesan.com>
21762
21763         * Makefile.in:
21764         remove errant backslash
21765         [0222a8a650ff]
21766
21767 1998-09-15  Todd C. Miller  <Todd.Miller@courtesan.com>
21768
21769         * options.h, parse.yacc, pathnames.h.in:
21770         fix version string
21771         [fdee73255d64] [SUDO_1_5_6]
21772
21773         * BUGS, CHANGES, TODO:
21774         updtaed for 1.5.6
21775         [752443bf7f26]
21776
21777         * RUNSON:
21778         updated for 1.5.6
21779         [0f878123fe6a]
21780
21781 1998-09-14  Todd C. Miller  <Todd.Miller@courtesan.com>
21782
21783         * interfaces.c:
21784         kill unused localhost_mask var copy if name to ifr_tmp after we zero
21785         it
21786         [8e89c364cef2]
21787
21788 1998-09-13  Todd C. Miller  <Todd.Miller@courtesan.com>
21789
21790         * INSTALL:
21791         Better description of new vs. old sudoers modes fix some typos
21792         better description of /usr/ucb/cc gotchas on slowaris
21793         [c00b2a6fc1e8]
21794
21795         * Makefile.in:
21796         add sample.pam
21797         [ec7f6cc19b00]
21798
21799         * sudo.c:
21800         set NewArgv[0] to user_shell, not basename(user_shell)
21801         [1e907cbc9f7b]
21802
21803 1998-09-12  Todd C. Miller  <Todd.Miller@courtesan.com>
21804
21805         * README:
21806         mention TROUBLESHOOTING more fix some typos
21807         [2c2e6907d4a4]
21808
21809         * configure.in:
21810         move --enable/--disable to be after --with
21811         [9b30097f76c1]
21812
21813         * INSTALL:
21814         document --enable/--disable
21815         [c522362e38a8]
21816
21817         * INSTALL:
21818         document --with-pam
21819         [7e38932c78ac]
21820
21821 1998-09-11  Todd C. Miller  <Todd.Miller@courtesan.com>
21822
21823         * configure.in:
21824         Add message for pam users
21825         [d224f277e3cd]
21826
21827         * sample.pam:
21828         Initial revision
21829         [3a84d7045f54]
21830
21831         * config.h.in:
21832         fix HAVE_PAM
21833         [2f0f303ebd88]
21834
21835         * check.c, config.h.in, configure.in:
21836         pam support, from Gary Calvin <GCalvin@kenwoodusa.com>
21837         [ea3e0a72d707]
21838
21839 1998-09-10  Todd C. Miller  <Todd.Miller@courtesan.com>
21840
21841         * config.h.in:
21842         add HOST_IN_LOG and WRAP_LOG
21843         [822c36eeb6a8]
21844
21845         * logging.c:
21846         add WRAP_LOG and HOST_IN_LOG
21847         [3cf6052bd27e]
21848
21849         * configure.in:
21850         add --enable-log-host and --enable-log-wrap
21851         [c968cc12b353]
21852
21853         * aclocal.m4:
21854         use AC_DEFINE_UNQUOTED for --with-logfile and --with-timedir
21855         [915fef7e11a1]
21856
21857 1998-09-09  Todd C. Miller  <Todd.Miller@courtesan.com>
21858
21859         * compat.h:
21860         add howmany macro
21861         [9107a057a7c8]
21862
21863         * tgetpass.c:
21864         include sys/param.h to get howmany macro
21865         [7e908b5e1f32]
21866
21867 1998-09-08  Todd C. Miller  <Todd.Miller@courtesan.com>
21868
21869         * OPTIONS, options.h, parse.yacc, sudo.c, testsudoers.c, visudo.c:
21870         add RUNAS_DEFAULT
21871         [1e76398ea3fd]
21872
21873 1998-09-07  Todd C. Miller  <Todd.Miller@courtesan.com>
21874
21875         * fnmatch.c:
21876         bring in stdio.h for NULL
21877         [69c016610cbb]
21878
21879         * aclocal.m4:
21880         allow /bin/{ksh,bach} and /usr/bin/{ksh,bash} as sh
21881         [15ab2972f8d0]
21882
21883         * sudo.c:
21884         use HAVE_SET_AUTH_PARAMETERS
21885         [8abfdc8c80f7]
21886
21887         * config.h.in:
21888         add HAVE_SET_AUTH_PARAMETERS
21889         [673a5ebd5539]
21890
21891         * configure.in:
21892         add *-*-hiuxmpp* add test for set_auth_parameters() if secureware
21893         [a401f5a7469a]
21894
21895         * config.sub:
21896         add support for HI-UX/MPP SR220001 02-03 0 SR2201
21897         [cb657b7acaae]
21898
21899         * interfaces.c:
21900         initialize previfname
21901         [26a1902f56dc]
21902
21903         * interfaces.c:
21904         Don't use SIOCGIFADDR, we don't need it Use SIOCGIFFLAGS if we have
21905         it check ifr_flags against IFF_UP and IFF_LOOPBACK instead of
21906         kludging it
21907         [fa5c890c313b]
21908
21909         * configure.in:
21910         typo
21911         [bff579fbe95c]
21912
21913         * Makefile.in:
21914         don't need special build line for sudo.tab.o
21915         [10c0a0a912e4]
21916
21917         * Makefile.in:
21918         don't clean sudo.tab.[ch]
21919         [c40d5968efbb]
21920
21921         * sudo.c:
21922         Sudo should prompt for a password before telling the user that a
21923         command could not be found.
21924         [d718c85a0047]
21925
21926         * BUGS:
21927         for 1.5.6
21928         [0cc1fe5b9129]
21929
21930         * INSTALL, README:
21931         no longer require yacc
21932         [d9096fc5b8b6]
21933
21934         * Makefile.in:
21935         typo
21936         [70feb1aefbd5]
21937
21938         * Makefile.in:
21939         y.tab -> sudo.tab include pre-yacc'd parse.yacc
21940         [cc802025fd44]
21941
21942         * parse.lex:
21943         include sudo.tab.h, not y.tab.h don't break out of command args if
21944         you get a '='
21945         [728ad26dbda5]
21946
21947         * insults.h:
21948         fix version ,
21949         [242bbce1b2d4]
21950
21951         * ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h:
21952         fix version
21953         [2bb9086fea1e]
21954
21955         * compat.h:
21956         fix version
21957         [7e634d498ce6]
21958
21959         * getcwd.c:
21960         getcwd(3) from OpenBSD for those without it.
21961         [6c68d0df8f6c]
21962
21963         * sudo.h:
21964         HAVE_GETWD -> HAVE_GETCWD
21965         [2ad1e64d60c0]
21966
21967         * configure.in:
21968         pretend sunos doesn't have getcwd(3) since it opens a pipe to
21969         getpwd!
21970         [677992ba5a6a]
21971
21972         * parse.c:
21973         use NAMLEN() macro
21974         [8f5685aa3165]
21975
21976         * fnmatch.c:
21977         remove duplicate include of string.h
21978         [6024f3051ac3]
21979
21980         * configure.in:
21981         call SUDO_TYPE_DEV_T and SUDO_TYPE_INO_T
21982         [3d82a9c22cc2]
21983
21984         * aclocal.m4:
21985         add SUDO_TYPE_DEV_T and SUDO_TYPE_INO_T
21986         [53fbc47282f9]
21987
21988         * config.h.in:
21989         add dev_t and ino_t
21990         [5929bb0c7e1a]
21991
21992 1998-07-28  Todd C. Miller  <Todd.Miller@courtesan.com>
21993
21994         * check.c:
21995         fix OTP_ONLY for opie
21996         [7edcfa78f2ec]
21997
21998 1998-06-24  Todd C. Miller  <Todd.Miller@courtesan.com>
21999
22000         * testsudoers.c, tgetpass.c:
22001         include stdlib.h for malloc proto
22002         [c9f4b99a2fe9]
22003
22004 1998-05-19  Todd C. Miller  <Todd.Miller@courtesan.com>
22005
22006         * Makefile.in:
22007         make update_version saner
22008         [d522f93ee04a]
22009
22010         * config.h.in:
22011         add HAVE_WAITPID, HAVE_WAIT3, and sudo_waitpid()
22012         [c9a2d21dc608]
22013
22014         * configure.in:
22015         check for waitpid and wait3 or no waitpid
22016         [1f18c3224184]
22017
22018         * logging.c:
22019         used waitpid or wait3 if we have 'em
22020         [391c3279ee65]
22021
22022 1998-05-02  Todd C. Miller  <Todd.Miller@courtesan.com>
22023
22024         * visudo.c:
22025         fix some fprintf args, ariel@oz.engr.sgi.com (Ariel Faigon)
22026         [fbf53b18178f]
22027
22028 1998-04-28  Todd C. Miller  <Todd.Miller@courtesan.com>
22029
22030         * configure.in:
22031         don't need to explicately mention -lsocket -lnsl for sequent
22032         [1898dc055352]
22033
22034 1998-04-25  Todd C. Miller  <Todd.Miller@courtesan.com>
22035
22036         * configure.in:
22037         dynix should not link with -linet
22038         [278a4b9cfe2a]
22039
22040 1998-04-10  Todd C. Miller  <Todd.Miller@courtesan.com>
22041
22042         * INSTALL:
22043         mention that HP-UX doesn't ship with yacc
22044         [bde5147198c0]
22045
22046 1998-04-07  Todd C. Miller  <Todd.Miller@courtesan.com>
22047
22048         * check.c:
22049         ignore kerberos if we can't get the local realm
22050         [1e311a091a27]
22051
22052 1998-04-06  Todd C. Miller  <Todd.Miller@courtesan.com>
22053
22054         * BUGS, INSTALL, README, configure.in:
22055         ++version
22056         [499ffc746018]
22057
22058         * version.h:
22059         ++
22060         [35ba1ee01bd3]
22061
22062         * Makefile.in, check.c, config.h.in, dce_pwent.c, emul/utime.h,
22063         find_path.c, getcwd.c, getspwuid.c, goodpath.c, interfaces.c,
22064         logging.c, parse.c, parse.lex, putenv.c, strdup.c, sudo.c, sudo.h,
22065         sudo_setenv.c, testsudoers.c, tgetpass.c, utime.c, visudo.c:
22066         updated version
22067         [b4990a513f31]
22068
22069         * check.c, sudo.h:
22070         fix version
22071         [5710795834e8]
22072
22073         * getcwd.c:
22074         don't use popen/pclose. Do it inline.
22075         [29e57b0646a4]
22076
22077         * lsearch.c:
22078         add rcsid
22079         [b2b55c39858d]
22080
22081         * sudo.c:
22082         typo
22083         [d381ac39ed0f]
22084
22085         * check.c, compat.h, ins_2001.h, ins_classic.h, ins_csops.h,
22086         ins_goons.h, insults.h, options.h, parse.yacc, pathnames.h.in,
22087         sudo.h:
22088         updated version
22089         [462d6e1a2d75]
22090
22091         * check.c, find_path.c, parse.c, sudo.c, testsudoers.c:
22092         MAX* + 1 -> MAX*
22093         [2c2eeb78d34f]
22094
22095         * Makefile.in:
22096         getwd.c -> getcwd.c
22097         [7d718c32fc02]
22098
22099         * config.h.in:
22100         kill HAVE_GETWD
22101         [6ad3d702343f]
22102
22103         * configure.in:
22104         getcwd, not getwd
22105         [33e5b9841f58]
22106
22107         * getcwd.c:
22108         use MAX* not MAX* + 1 always run pwd as using getwd() defeats the
22109         purpose
22110         [24e58d340161]
22111
22112 1998-03-31  Todd C. Miller  <Todd.Miller@courtesan.com>
22113
22114         * OPTIONS, options.h:
22115         add STUB_LOAD_INTERFACES
22116         [d747cb23ca83]
22117
22118         * Makefile.in, check.c, compat.h, config.h.in, dce_pwent.c,
22119         emul/utime.h, find_path.c, getspwuid.c, getwd.c, goodpath.c,
22120         ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h, insults.h,
22121         interfaces.c, logging.c, options.h, parse.c, parse.lex, parse.yacc,
22122         pathnames.h.in, putenv.c, strdup.c, sudo.c, sudo.h, sudo_setenv.c,
22123         testsudoers.c, tgetpass.c, utime.c, visudo.c:
22124         updated version
22125         [0798229312cc]
22126
22127         * configure.in:
22128         support *-ccur-sysv4 and fix two typos
22129         [24a823ad7cc9]
22130
22131 1998-03-28  Todd C. Miller  <Todd.Miller@courtesan.com>
22132
22133         * configure.in:
22134         don't echo about with_logfile and with_timedir
22135         [31e4a1e2d9ad]
22136
22137         * INSTALL:
22138         document --with-logfile and --with-timedir
22139         [674f811a40e0]
22140
22141         * aclocal.m4:
22142         support --with-logfile and --with-timedir
22143         [2fc36b35db12]
22144
22145         * configure.in:
22146         Add --with-logfile and --with-timedir
22147         [09045bf07e29]
22148
22149         * sudo.c:
22150         change size computation of NewArgv for UNICOS
22151         [b50df07da3a1]
22152
22153 1998-02-19  Todd C. Miller  <Todd.Miller@courtesan.com>
22154
22155         * configure.in:
22156         treate -*-sysv4* like *-*-svr4
22157         [471b7ef4dbf2]
22158
22159 1998-02-18  Todd C. Miller  <Todd.Miller@courtesan.com>
22160
22161         * configure.in:
22162         fix spacing for --with-authenticate help
22163         [8321cb37c410]
22164
22165         * Makefile.in, check.c, compat.h, config.h.in, dce_pwent.c,
22166         emul/utime.h, find_path.c, getspwuid.c, getwd.c, goodpath.c,
22167         ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h, insults.h,
22168         interfaces.c, logging.c, options.h, parse.c, parse.lex, parse.yacc,
22169         pathnames.h.in, putenv.c, strdup.c, sudo.c, sudo.h, sudo_setenv.c,
22170         testsudoers.c, tgetpass.c, utime.c, visudo.c:
22171         updated version
22172         [dc1ab97312eb]
22173
22174         * parse.yacc:
22175         fix off by one error in push macro
22176         [bece59c8c3a9]
22177
22178 1998-02-17  Todd C. Miller  <Todd.Miller@courtesan.com>
22179
22180         * configure.in:
22181         removed bogus alloca hack
22182         [a68dd720462d]
22183
22184         * check.c:
22185         added AIX 4.x authenticate() support
22186         [12985eb448a0]
22187
22188         * parse.yacc:
22189         include alloca.h if using bison and not gcc and it exists. fixes an
22190         alloca problem on hpux 10.x
22191         [e3b5c4f26072]
22192
22193         * INSTALL:
22194         mention --with-authenticate
22195         [78a1c96820e7]
22196
22197         * configure.in:
22198         added AIX authenticate() support
22199         [c983193ec252]
22200
22201         * config.h.in:
22202         add HAVE_AUTHENTICATE
22203         [7b0e5f5db5d9]
22204
22205         * interfaces.c:
22206         dynamically size ifconf buffer
22207         [10afb0e9b2f9]
22208
22209         * configure.in:
22210         quote '[' and ']'
22211         [8fc38a4defad]
22212
22213         * Makefile.in, check.c, compat.h, config.h.in, dce_pwent.c,
22214         emul/utime.h, find_path.c, getspwuid.c, getwd.c, goodpath.c,
22215         ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h, insults.h,
22216         logging.c, options.h, parse.c, parse.lex, parse.yacc,
22217         pathnames.h.in, putenv.c, strdup.c, sudo.c, sudo.h, sudo_setenv.c,
22218         testsudoers.c, tgetpass.c, utime.c, visudo.c:
22219         updated version
22220         [5f66de71ec61]
22221
22222         * visudo.pod:
22223         add ERRORS section
22224         [3df3edb73cf6]
22225
22226 1998-02-16  Todd C. Miller  <Todd.Miller@courtesan.com>
22227
22228         * TROUBLESHOOTING:
22229         add busy stmp file explanation
22230         [6c555d469b6f]
22231
22232 1998-02-15  Todd C. Miller  <Todd.Miller@courtesan.com>
22233
22234         * configure.in:
22235         the name of the cached var that signals whether or not you are cross
22236         compiling changed. It is now ac_cv_prog_cc_cross
22237         [123911c0658c]
22238
22239 1998-02-11  Todd C. Miller  <Todd.Miller@courtesan.com>
22240
22241         * INSTALL:
22242         mention glibc 2.07 is fixed wrt lsearch()\.
22243         [ded758524582]
22244
22245 1998-02-07  Todd C. Miller  <Todd.Miller@courtesan.com>
22246
22247         * sample.sudoers, sudoers.pod:
22248         better example of su but not root su
22249         [b3199610be21]
22250
22251 1998-02-06  Todd C. Miller  <Todd.Miller@courtesan.com>
22252
22253         * Makefile.in, check.c, compat.h, config.h.in, dce_pwent.c,
22254         emul/utime.h, find_path.c, getspwuid.c, getwd.c, goodpath.c,
22255         ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h, insults.h,
22256         interfaces.c, logging.c, options.h, parse.c, parse.lex, parse.yacc,
22257         pathnames.h.in, putenv.c, strdup.c, sudo.c, sudo.h, sudo_setenv.c,
22258         testsudoers.c, tgetpass.c, utime.c, visudo.c:
22259         updated version
22260         [46922b84e86b]
22261
22262         * Makefile.in:
22263         correct regexp for updating version
22264         [8032728b2a8a]
22265
22266         * tgetpass.c:
22267         remove bogus flush of stderr spew prompt before turning off echo.
22268         Seems to fix a weird problem where if sudo complained about a bogus
22269         stamp file the user would sometimes not have a chance to enter a
22270         password
22271         [7aa1493cc141]
22272
22273         * check.c:
22274         fix bogus flush of stderr
22275         [6d047871c5e8]
22276
22277         * sudo.c:
22278         close fd's <=2 not <=3 and move that chunk of code up
22279         [553e4faac195]
22280
22281         * configure.in:
22282         support hpux1[0-9] not just hpux10
22283         [5a34a000ff8a]
22284
22285 1998-01-30  Todd C. Miller  <Todd.Miller@courtesan.com>
22286
22287         * parse.c:
22288         set sudoers_fp to nil after closing
22289         [221a8b4bbf34]
22290
22291 1998-01-24  Todd C. Miller  <Todd.Miller@courtesan.com>
22292
22293         * config.guess, config.sub:
22294         updated from autoconf 2.12
22295         [6fc86a0fc61b]
22296
22297         * configure.in:
22298         add *-*-svr4 rule
22299         [38f0427f7c9d]
22300
22301 1998-01-23  Todd C. Miller  <Todd.Miller@courtesan.com>
22302
22303         * tgetpass.c:
22304         fix select usage for high fd's (dynamically allocate readfds)
22305         [c2d1f76e0321]
22306
22307         * check.c:
22308         kill extra whitespace
22309         [d784b6c9c514]
22310
22311         * sudo.c:
22312         do an initgroups() before running a command, unless the target user
22313         is root.
22314         [4ca561287480]
22315
22316 1998-01-22  Todd C. Miller  <Todd.Miller@courtesan.com>
22317
22318         * TROUBLESHOOTING:
22319         tell people to use tabs, not spaces, in syslog.conf
22320         [8ae90a205134]
22321
22322 1998-01-21  Todd C. Miller  <Todd.Miller@courtesan.com>
22323
22324         * Makefile.in, config.h.in, dce_pwent.c, emul/utime.h, getwd.c,
22325         parse.lex, putenv.c, strdup.c, testsudoers.c, utime.c:
22326         updated version
22327         [4d855ff5de26]
22328
22329         * check.c, find_path.c, getspwuid.c, goodpath.c, interfaces.c,
22330         logging.c, parse.c, sudo.c, sudo_setenv.c, tgetpass.c, visudo.c:
22331         updated version
22332         [8e007e178b33]
22333
22334         * compat.h, ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h,
22335         insults.h, options.h, parse.yacc, pathnames.h.in, sudo.h:
22336         updated version
22337         [9ddea5c8814d]
22338
22339         * Makefile.in:
22340         more tweaks to update_version
22341         [047698752855]
22342
22343         * Makefile.in:
22344         fixed up update_version rule
22345         [47b6fa34b77f]
22346
22347         * configure.in:
22348         ++version
22349         [c1ca664e30b7]
22350
22351         * Makefile.in:
22352         removed supe of check.c
22353         [8f340a05296a]
22354
22355         * INSTALL:
22356         ++version I missed
22357         [a298e6c17491]
22358
22359         * RUNSON:
22360         updated
22361         [a14f6057bc15]
22362
22363         * BUGS, INSTALL, Makefile.in, README, check.c, compat.h, config.h.in,
22364         dce_pwent.c, emul/utime.h, find_path.c, getspwuid.c, getwd.c,
22365         goodpath.c, ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h,
22366         insults.h, interfaces.c, logging.c, options.h, parse.c, parse.lex,
22367         parse.yacc, pathnames.h.in, putenv.c, strdup.c, sudo.c, sudo.h,
22368         sudo_setenv.c, testsudoers.c, tgetpass.c, utime.c, version.h,
22369         visudo.c:
22370         updated version
22371         [02231b1a3ab3]
22372
22373         * CHANGES:
22374         updated for 1.5.5
22375         [634e5fcaf40b]
22376
22377         * Makefile.in:
22378         add rules to update version stuff in files so I don't need to do it
22379         by hand
22380         [3620ad60485a]
22381
22382         * sudo.h:
22383         sudoers_fp is now extern
22384         [88c6e9b9ea84]
22385
22386         * sudo.c:
22387         in check_sudoers, cache the sudoers file handle in sudoers_fp so we
22388         don't have to open it again in the parse. This may help with weird
22389         solaris problems where EAGAIN sometime occurrs.
22390         [d3c26451ed1d]
22391
22392         * parse.c:
22393         sudoers file open is now done only in check_sudoers() so we just do
22394         a rewind() instead of an open. May help people on solaris who were
22395         getting EAGAIN.
22396         [c8b8c7722fa5]
22397
22398 1998-01-16  Todd C. Miller  <Todd.Miller@courtesan.com>
22399
22400         * INSTALL:
22401         mention that newer glibc is fixed
22402         [20f06f5d3ef3]
22403
22404 1998-01-13  Todd C. Miller  <Todd.Miller@courtesan.com>
22405
22406         * sudo.c:
22407         newer irix uses _RLDN32_* envariables for 32-bit binaries so ignore
22408         _RLD* instead of _RLD_*
22409         [1e22c588d602]
22410
22411         * parse.c:
22412         typo
22413         [d0b7cb85f08a]
22414
22415         * parse.c:
22416         fix that bug for real
22417         [5a6eeca6d04b]
22418
22419         * INSTALL:
22420         document Linux's libc6 brokenness.
22421         [0246c1aa64ee]
22422
22423         * parse.yacc:
22424         -Wall
22425         [d0e452fb1e2d]
22426
22427         * RUNSON:
22428         updated
22429         [4949a1bbd0a9] [SUDO_1_5_4]
22430
22431         * TROUBLESHOOTING:
22432         remind people to HUP syslogd
22433         [590962faa4f0]
22434
22435         * Makefile.in:
22436         add -O flag to tar
22437         [622d02de339d]
22438
22439         * RUNSON:
22440         updated
22441         [a72930d6e615]
22442
22443         * TODO:
22444         updated
22445         [4a51bd458390]
22446
22447         * sudo.pod:
22448         remove author's email addr. people should mail sudo-bugs
22449         [9b6bbdb3a6d9]
22450
22451         * INSTALL:
22452         fix version
22453         [246274c6c8af]
22454
22455         * README, check.c, compat.h, config.h.in, configure.in, dce_pwent.c,
22456         find_path.c, getspwuid.c, getwd.c, goodpath.c, ins_2001.h,
22457         ins_classic.h, ins_csops.h, ins_goons.h, insults.h, interfaces.c,
22458         logging.c, options.h, parse.c, parse.lex, parse.yacc,
22459         pathnames.h.in, putenv.c, strdup.c, sudo.c, sudo.h, sudo_setenv.c,
22460         testsudoers.c, tgetpass.c, utime.c, version.h, visudo.c:
22461         ++version
22462         [f532ff4ee766]
22463
22464         * RUNSON:
22465         updated
22466         [62d5c71358b5]
22467
22468         * INSTALL, Makefile.in:
22469         ++version
22470         [1a7c7628edfc]
22471
22472         * CHANGES:
22473         updated fort 1.5.4
22474         [7e4873508c99]
22475
22476         * check.c:
22477         exit(1) if user enters no passwd
22478         [f382c0e35e4e]
22479
22480         * BUGS:
22481         ++version
22482         [fab6a867ab67]
22483
22484         * parse.c:
22485         commands can start with ./* not just /* -- fixes a serious security
22486         hole.
22487         [244d2fe35ee3]
22488
22489 1997-12-21  Todd C. Miller  <Todd.Miller@courtesan.com>
22490
22491         * sudo.c:
22492         Don't set the tty variable to NULL when we lack a tty, leave it as
22493         "unknown".
22494         [193b26daba03]
22495
22496 1997-11-23  Todd C. Miller  <Todd.Miller@courtesan.com>
22497
22498         * sample.sudoers:
22499         fix usage of (username) in conjunction with , and !
22500         [7ae68607f68f]
22501
22502         * visudo.c:
22503         catch the case where the user is not in the passwd file
22504         [31650258deb0]
22505
22506         * tgetpass.c:
22507         use fileno(input) + 1 instead of getdtablesize() as the nfds arg to
22508         select(2)
22509         [60ab2d9a9ee8]
22510
22511         * sudo.c:
22512         define tty global to an initial value to avoid dumping core in
22513         logging functions when passwd file is unavailable.
22514         [77056c7bc908]
22515
22516         * sudo.c:
22517         do the set_perms(PERM_USER, sudo_mode) after we have gotten the
22518         passwd entry
22519         [1fdb8e579a5a]
22520
22521         * sudo.pod:
22522         talk about problem of ALL
22523         [1cd1905c9f6f]
22524
22525 1997-10-10  Todd C. Miller  <Todd.Miller@courtesan.com>
22526
22527         * README:
22528         new web location
22529         [d24dc26f6da5]
22530
22531         * INSTALL:
22532         fdesc bug is fixed in Open/Net BSD
22533         [7d4d81b08ac3]
22534
22535         * HISTORY:
22536         updates from Nieusma
22537         [3a43769a1b78]
22538
22539 1997-10-09  Todd C. Miller  <Todd.Miller@courtesan.com>
22540
22541         * dce_pwent.c:
22542         move compat.h after the system includes
22543         [5ea43a5968ac]
22544
22545 1997-08-06  Todd C. Miller  <Todd.Miller@courtesan.com>
22546
22547         * logging.c:
22548         save errno from being clobbered by wait(). From Theo
22549         [f2d1c48cd592]
22550
22551 1997-05-21  Todd C. Miller  <Todd.Miller@courtesan.com>
22552
22553         * compat.h:
22554         fix an occurence of setresuid -> setreuid (typo)
22555         [394de35c9b1c]
22556
22557 1997-03-19  Todd C. Miller  <Todd.Miller@courtesan.com>
22558
22559         * install-sh:
22560         check for path to strip
22561         [2b7ef824bd55]
22562
22563 1997-01-16  Todd C. Miller  <Todd.Miller@courtesan.com>
22564
22565         * logging.c:
22566         deal with maxfilelen < 0 case
22567         [f0af095178d7]
22568
22569         * OPTIONS:
22570         fixed descriptin
22571         [629f60bd4b5f]
22572
22573 1996-12-12  Todd C. Miller  <Todd.Miller@courtesan.com>
22574
22575         * sudo.c:
22576         correct error message if mode/owner wrong and not statable by owner
22577         but is statable by root.
22578         [cb631ce2e85e]
22579
22580 1996-11-23  Todd C. Miller  <Todd.Miller@courtesan.com>
22581
22582         * config.guess, config.sub:
22583         autoconf 2.11
22584         [f3cbe59e0756]
22585
22586 1996-11-16  Todd C. Miller  <Todd.Miller@courtesan.com>
22587
22588         * CHANGES, RUNSON, TODO:
22589         sudo 1.5.3.
22590         [2be3229b8626]
22591
22592 1996-11-14  Todd C. Miller  <Todd.Miller@courtesan.com>
22593
22594         * parse.yacc, sudo.h:
22595         command_alias -> generic_alias
22596         [c404ca8c510d] [SUDO_1_5_3]
22597
22598         * sample.sudoers:
22599         added Runas_Alias example and fixed syntax errors
22600         [c304053f4a8a]
22601
22602         * OPTIONS, options.h:
22603         updated MAILSUBJECT
22604         [18d1573fcd2a]
22605
22606         * logging.c:
22607         added %h expansion
22608         [a4bff9b284fd]
22609
22610         * INSTALL, Makefile.in, README, check.c, compat.h, config.h.in,
22611         configure.in, dce_pwent.c, find_path.c, getspwuid.c, getwd.c,
22612         goodpath.c, ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h,
22613         insults.h, interfaces.c, logging.c, options.h, parse.c, parse.lex,
22614         parse.yacc, pathnames.h.in, putenv.c, strdup.c, sudo.c, sudo.h,
22615         sudo_setenv.c, testsudoers.c, tgetpass.c, utime.c, version.h,
22616         visudo.c:
22617         ++version
22618         [211ff20f956f]
22619
22620         * BUGS, emul/utime.h:
22621         ++version
22622         [cde5376579e3]
22623
22624         * sudoers.pod:
22625         document Runas_Alias
22626         [b1a58f28fb2c]
22627
22628         * visudo.pod:
22629         q (uid) -> Q
22630         [d256649a0e6b]
22631
22632         * visudo.c:
22633         buffer oflow checking q (uit) -> Q if yyparse() fails drop into
22634         whatnow
22635         [1cb183d15626]
22636
22637         * parse.yacc:
22638         add size params to sprintf
22639         [9228f698921f]
22640
22641         * parse.lex:
22642         allow trailing space after '\\' but before '\n'
22643         [f51dbbf69fdf]
22644
22645         * find_path.c:
22646         off by one error in path size check
22647         [a6d75ccd7632]
22648
22649         * check.c:
22650         sprintf paranoia
22651         [3ffb12d198dd]
22652
22653 1996-11-12  Todd C. Miller  <Todd.Miller@courtesan.com>
22654
22655         * parse.yacc:
22656         fixed more_aliases
22657         [aab12f2a50af]
22658
22659         * visudo.c:
22660         now warns if killed by signal ./
22661         [310c186a0fd7]
22662
22663 1996-11-11  Todd C. Miller  <Todd.Miller@courtesan.com>
22664
22665         * parse.yacc:
22666         fix Runas_Alias stuff Alias's in runas list now get expanded (but it
22667         is gross)
22668         [45590b83120f]
22669
22670         * sudo.c:
22671         Can now deal with SUDOERS_UID == 0 and SUDOERS_MODE == 0400
22672         [d53e01c14c58]
22673
22674         * parse.yacc:
22675         add Runas_Alias support change FOO to FOO_ALIAS (ie: USER_ALIAS)
22676         [7a4a040aae2d]
22677
22678         * parse.lex:
22679         Add Runas_Alias and simplify a rule.
22680         [6f794a769a37]
22681
22682         * parse.yacc:
22683         always store User_Alias's since they can be used inside of a runas
22684         list. Sigh. Really need a Runas_Alias instead.
22685         [3bab058a873e]
22686
22687 1996-10-30  Todd C. Miller  <Todd.Miller@courtesan.com>
22688
22689         * visudo.c:
22690         deal with case where there is no sudoers file
22691         [fa38b3bb244d]
22692
22693 1996-10-12  Todd C. Miller  <Todd.Miller@courtesan.com>
22694
22695         * TROUBLESHOOTING:
22696         added one
22697         [e61346d06725]
22698
22699 1996-10-11  Todd C. Miller  <Todd.Miller@courtesan.com>
22700
22701         * HISTORY, testsudoers.c:
22702         developement -> development
22703         [4df55e293941]
22704
22705         * INSTALL:
22706         added a note
22707         [3845fb83dbc0]
22708
22709         * RUNSON:
22710         for 1.5.2
22711         [5489b7298942]
22712
22713         * CHANGES:
22714         updated
22715         [0741834929e6]
22716
22717 1996-10-10  Todd C. Miller  <Todd.Miller@courtesan.com>
22718
22719         * PORTING:
22720         removed seteuid() notes
22721         [1010a60f281d] [SUDO_1_5_2]
22722
22723 1996-10-09  Todd C. Miller  <Todd.Miller@courtesan.com>
22724
22725         * compat.h:
22726         better seteuid() emulatino
22727         [e807623b662c]
22728
22729         * configure.in:
22730         added check for seteuid
22731         [8cf9fabc6f4f]
22732
22733         * config.h.in:
22734         added HAVE_SETEUID
22735         [596db46aa828]
22736
22737 1996-10-08  Todd C. Miller  <Todd.Miller@courtesan.com>
22738
22739         * configure.in:
22740         first stab at sequent support
22741         [b85a7bfcac76]
22742
22743         * config.h.in:
22744         added HAVE_SYS_SELECT_H
22745         [93ecdd042463]
22746
22747         * compat.h:
22748         sequent -> _SEQUENT_
22749         [63a38b6da98c]
22750
22751         * compat.h:
22752         added seteuid() macro for DYNIX
22753         [695bd63c5ea6]
22754
22755         * tgetpass.c:
22756         _AIX -> HAVE_SYS_SELECT_H
22757         [b31221211bc2]
22758
22759 1996-10-07  Todd C. Miller  <Todd.Miller@courtesan.com>
22760
22761         * BUGS, INSTALL, Makefile.in, OPTIONS, README, config.h.in, logging.c,
22762         parse.c, parse.lex, parse.yacc, putenv.c, strdup.c, sudo_setenv.c,
22763         testsudoers.c, tgetpass.c, utime.c, visudo.c:
22764         ++version
22765         [8052992fd453]
22766
22767         * check.c, compat.h, dce_pwent.c, emul/utime.h, find_path.c,
22768         getspwuid.c, getwd.c, goodpath.c, ins_2001.h, ins_classic.h,
22769         ins_csops.h, ins_goons.h, insults.h, interfaces.c, options.h,
22770         pathnames.h.in, version.h:
22771         ++version
22772         [f7ad15e1598a]
22773
22774         * sudo.pod:
22775         added -H and SUDO_PS1
22776         [bb965241e30c]
22777
22778         * configure.in:
22779         use SUDO_FUNC_FNMATCH
22780         [6a8350d85fb2]
22781
22782         * aclocal.m4:
22783         added SUDO_FUNC_FNMATCH
22784         [45b32c91c4ba]
22785
22786         * sudo.c:
22787         added -H flag
22788         [11ebc6872fd6]
22789
22790         * sudo.h:
22791         added MODE_RESET_HOME /
22792         [67a7f8bcbbd6]
22793
22794 1996-10-05  Todd C. Miller  <Todd.Miller@courtesan.com>
22795
22796         * INSTALL:
22797         mention OPIE
22798         [5723515d5bbd]
22799
22800         * options.h:
22801         SKEY -> OTP
22802         [c1d268130bc4]
22803
22804         * configure.in:
22805         added opie support
22806         [123872b41b20]
22807
22808         * compat.h, config.h.in:
22809         added HAVE_OPIE
22810         [528c71afc1e5]
22811
22812         * check.c:
22813         added HAVE_OPIE and changed to *_OTP_*
22814         [4c62f5db872a]
22815
22816         * OPTIONS:
22817         SKEY -> OTP
22818         [bd858e5e9652]
22819
22820 1996-10-04  Todd C. Miller  <Todd.Miller@courtesan.com>
22821
22822         * check.c:
22823         moved fclose() in skey stuff.
22824         [11f7dc8431a6]
22825
22826 1996-10-03  Todd C. Miller  <Todd.Miller@courtesan.com>
22827
22828         * putenv.c:
22829         index -> strchr remove unnecesary stuff
22830         [af2d05238062]
22831
22832         * check.c:
22833         now call skeychallenge() to get challenge instead of making one up
22834         ourselves. this way, we get extra goodies in the prompt.
22835         [49b770d98d3a]
22836
22837 1996-09-10  Todd C. Miller  <Todd.Miller@courtesan.com>
22838
22839         * CHANGES:
22840         added one
22841         [3f5149357e2a] [SUDO_1_5_1]
22842
22843         * parse.lex:
22844         allow logins to start with a number (YUCK!)
22845         [7ed7ef324741]
22846
22847 1996-09-08  Todd C. Miller  <Todd.Miller@courtesan.com>
22848
22849         * TROUBLESHOOTING:
22850         added soalris 2.5 vs 2.4 note
22851         [16160a251aae]
22852
22853         * configure.in:
22854         DUNIX doesn't need -lnsl
22855         [be924cc322c3]
22856
22857         * CHANGES:
22858         *** empty log message ***
22859         [1b2937521981]
22860
22861         * check.c, compat.h, config.h.in, dce_pwent.c, find_path.c,
22862         getspwuid.c, getwd.c, goodpath.c, ins_2001.h, ins_classic.h,
22863         ins_csops.h, ins_goons.h, insults.h, interfaces.c, logging.c,
22864         options.h, parse.c, parse.lex, parse.yacc, pathnames.h.in, putenv.c,
22865         strdup.c, sudo.c, sudo.h, sudo_setenv.c, testsudoers.c, tgetpass.c,
22866         utime.c, version.h, visudo.c:
22867         courtesan
22868         [5f203589bbfe]
22869
22870         * PORTING, README, RUNSON:
22871         courtesan
22872         [d72517f4937e]
22873
22874         * INSTALL, Makefile.in, TROUBLESHOOTING:
22875         courtesan
22876         [5c007e3c7a71]
22877
22878         * visudo.pod:
22879         *** empty log message ***
22880         [37ebe85bd4e1]
22881
22882         * sudo.pod, visudo.pod:
22883         courtesan
22884         [37f02e2130ea]
22885
22886 1996-09-07  Todd C. Miller  <Todd.Miller@courtesan.com>
22887
22888         * HISTORY:
22889         added courtesan ./
22890         [b01435226276]
22891
22892 1996-09-06  Todd C. Miller  <Todd.Miller@courtesan.com>
22893
22894         * sudo.c:
22895         added $SUDO_PROMPT support
22896         [cb1fa72c093d]
22897
22898 1996-09-04  Todd C. Miller  <Todd.Miller@courtesan.com>
22899
22900         * check.c:
22901         print long skey challemged to stderr, not stdout
22902         [750fc775b3b2]
22903
22904 1996-09-01  Todd C. Miller  <Todd.Miller@courtesan.com>
22905
22906         * CHANGES:
22907         updated for 1.5.1
22908         [9b615f393057]
22909
22910         * emul/utime.h:
22911         ++version
22912         [a94de18deafb]
22913
22914 1996-08-31  Todd C. Miller  <Todd.Miller@courtesan.com>
22915
22916         * RUNSON:
22917         updated for 1.5.1
22918         [4092f20ab634]
22919
22920 1996-08-30  Todd C. Miller  <Todd.Miller@courtesan.com>
22921
22922         * check.c:
22923         use shost, not host for tgetpass
22924         [6061c49ff9be]
22925
22926         * sudo.pod:
22927         documented %u and %h
22928         [6d2922d29897]
22929
22930         * OPTIONS:
22931         documented %u and %h
22932         [1a71da13a864]
22933
22934         * configure.in:
22935         fixed typo
22936         [1230dec2b062]
22937
22938         * INSTALL, Makefile.in, README, check.c, compat.h, config.h.in,
22939         dce_pwent.c, find_path.c, getspwuid.c, getwd.c, goodpath.c,
22940         ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h, insults.h,
22941         interfaces.c, logging.c, options.h, parse.c, parse.lex, parse.yacc,
22942         pathnames.h.in, putenv.c, strdup.c, sudo.c, sudo.h, sudo_setenv.c,
22943         testsudoers.c, tgetpass.c, utime.c, version.h, visudo.c:
22944         ++version
22945         [65ce8eabf77a]
22946
22947         * BUGS:
22948         ++version
22949         [afecab53aab7]
22950
22951 1996-08-29  Todd C. Miller  <Todd.Miller@courtesan.com>
22952
22953         * Makefile.in, configure.in, version.h:
22954         ++version
22955         [fb3ff940d672]
22956
22957         * sudo.h:
22958         new tgetpass() params
22959         [9eccc5b0f8ae]
22960
22961         * check.c:
22962         pass use and host to tgetpass
22963         [c56d9d13c401]
22964
22965         * tgetpass.c:
22966         added %u and %h escapes
22967         [04ae775d3e5d]
22968
22969         * OPTIONS, check.c, options.h:
22970         added NO_MESSAGE
22971         [3927dad19057]
22972
22973         * configure.in:
22974         added cray (unicos) support
22975         [1122210c5fb1]
22976
22977 1996-08-27  Todd C. Miller  <Todd.Miller@courtesan.com>
22978
22979         * OPTIONS, options.h, sudo.c:
22980         added SHELL_SETS_HOME
22981         [0b26909b0929]
22982
22983 1996-08-25  Todd C. Miller  <Todd.Miller@courtesan.com>
22984
22985         * INSTALL:
22986         added note about "make install"
22987         [7e56ea76d4b4]
22988
22989         * parse.yacc:
22990         changed length/size params from int to size_t
22991         [5654e5ceb1b3]
22992
22993         * OPTIONS:
22994         now get CSOPS insults as well by default
22995         [297323d0179a]
22996
22997         * insults.h:
22998         use csops insults too by default
22999         [07fafc136169]
23000
23001         * INSTALL, Makefile.in, README, config.h.in, configure.in, version.h:
23002         version = 1.5
23003         [4b8772b11e3b]
23004
23005         * sudo.c:
23006         added runas_homedir
23007         [b0e0d4417a15]
23008
23009         * TODO:
23010         updated for 1.5
23011         [66259df825d5]
23012
23013         * RUNSON:
23014         updated for 1.5
23015         [e08bc9ebfe95]
23016
23017         * CHANGES:
23018         1.5 release
23019         [8c16942fea41]
23020
23021         * INSTALL:
23022         added "upgrading" notes
23023         [210d968964ff]
23024
23025 1996-08-22  Todd C. Miller  <Todd.Miller@courtesan.com>
23026
23027         * visudo.c:
23028         now do chmod and chown after edit of temp file and before rename
23029         [de174e34faa7] [SUDO_1_5_0]
23030
23031 1996-08-18  Todd C. Miller  <Todd.Miller@courtesan.com>
23032
23033         * Makefile.in:
23034         ++version added INSTALL.configure
23035         [c9e9214f52ae]
23036
23037         * configure.in, version.h:
23038         ++version
23039         [5985abed3eb2]
23040
23041         * TROUBLESHOOTING:
23042         *** empty log message ***
23043         [d65c540ec52e]
23044
23045         * parse.yacc:
23046         added missing cast
23047         [e7247319a7d5]
23048
23049         * sudo.c:
23050         sets $HOME to pw_dir of runas user
23051         [d3f7f4d05752]
23052
23053         * sudo.pod:
23054         document $HOME change
23055         [854454d458c4]
23056
23057 1996-08-17  Todd C. Miller  <Todd.Miller@courtesan.com>
23058
23059         * sudo.pod:
23060         fixed up some wording
23061         [b0c8582f2c97]
23062
23063         * check.c, dce_pwent.c, find_path.c, getspwuid.c, getwd.c, goodpath.c,
23064         interfaces.c, logging.c, parse.c, parse.lex, parse.yacc, putenv.c,
23065         strdup.c, sudo.c, sudo_setenv.c, testsudoers.c, tgetpass.c, utime.c,
23066         visudo.c:
23067         ++version
23068         [748be723fd8b]
23069
23070         * compat.h, ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h,
23071         insults.h, options.h, pathnames.h.in, sudo.h:
23072         ++version
23073         [acdf8b1b2a1b]
23074
23075         * emul/utime.h:
23076         ++version
23077         [b3f35298ab8d]
23078
23079         * sudo.h:
23080         name nad type changes
23081         [db24ab3da141]
23082
23083         * testsudoers.c:
23084         now works with new sudo
23085         [379346c42cc2]
23086
23087         * parse.yacc:
23088         fixed some XXX
23089         [f5fe4c990052]
23090
23091         * parse.yacc:
23092         some variable name changes + comment headers for functions.
23093         [3dc3bd9aa73d]
23094
23095         * tgetpass.c:
23096         added extra paren's to make compilers happy
23097         [9e4968a34d56]
23098
23099         * sudo.c:
23100         *** empty log message ***
23101         [70c924c1ed69]
23102
23103         * parse.c:
23104         now uses init_parser() if not in sudoers and tries "list" or
23105         "validate" scold but don't be nasty.
23106         [c0d8fb3f8c9e]
23107
23108         * TROUBLESHOOTING:
23109         now can use upper case login names
23110         [c772fffcefe5]
23111
23112         * visudo.c:
23113         now uses init_parser()
23114         [b9efae7243fd]
23115
23116         * INSTALL, README:
23117         updated
23118         [27dc8283fdc8]
23119
23120         * PORTING:
23121         added info about PASSWORD_TIMEOUT
23122         [980e15d892f8]
23123
23124         * INSTALL.configure:
23125         Initial revision
23126         [8292e89a08d3]
23127
23128         * BUGS:
23129         fixed a bug ,
23130         [c6e46f5624f9]
23131
23132         * parse.yacc:
23133         now dynamically allocates memory for the stacks -- no more
23134         overflows!
23135         [8615c35b6ad3]
23136
23137         * sudo.pod:
23138         -l now explands command aliases
23139         [39f45605935d]
23140
23141         * parse.yacc:
23142         hacks to expand command aliases for `sudo -l'
23143         [e4eb752608f9]
23144
23145         * sudo.c:
23146         remove $ENV and $BASH_ENV (dangerous in ksh, posix sh, and bash)
23147         [01327ca5084b]
23148
23149         * sudo.h:
23150         added struct command_alias
23151         [dd2f32764082]
23152
23153         * sudo.pod:
23154         fixed a bug
23155         [e708ff08d2eb]
23156
23157         * lsearch.c:
23158         in compar() key should be first arg
23159         [fc14c3fa62ee]
23160
23161 1996-08-15  Todd C. Miller  <Todd.Miller@courtesan.com>
23162
23163         * BUGS:
23164         fixed some bugs
23165         [639dfe425bd5]
23166
23167         * parse.yacc:
23168         can now deal with upcase HOST and USER names
23169         [c6aa7bcfb00d]
23170
23171         * sudo.c:
23172         don't yell too loudly at non-sudoers if they do "sudo -l"
23173         [4ef146128d89]
23174
23175         * sudo.pod:
23176         fixed thinko
23177         [830f2f0f22e7]
23178
23179         * parse.c:
23180         fix comment
23181         [d20ce9e17ddc]
23182
23183 1996-08-09  Todd C. Miller  <Todd.Miller@courtesan.com>
23184
23185         * parse.c, parse.yacc:
23186         added support for new `sudo -l' stuff
23187         [7dceaef3c733]
23188
23189         * sudo.c:
23190         now uses list_matches()
23191         [293364821b61]
23192
23193         * sudo.h:
23194         added struct sudo_match
23195         [b2684179d179]
23196
23197         * configure.in:
23198         now more -lgnumalloc
23199         [4f8ae42617d8]
23200
23201 1996-08-01  Todd C. Miller  <Todd.Miller@courtesan.com>
23202
23203         * install-sh:
23204         added more paths for chown and whoami
23205         [6e685a19426c]
23206
23207 1996-07-31  Todd C. Miller  <Todd.Miller@courtesan.com>
23208
23209         * check.c:
23210         typo
23211         [3adfa01c04bc]
23212
23213 1996-07-30  Todd C. Miller  <Todd.Miller@courtesan.com>
23214
23215         * aclocal.m4:
23216         fixed DUNIX check for shadow pw
23217         [c25324bcd27b]
23218
23219         * tgetpass.c:
23220         now only turn off echo if it is already on. this fixes a race when
23221         you use sudo in a pipelin
23222         [28388c2de21c]
23223
23224         * INSTALL:
23225         updated
23226         [b45ac9366b7e]
23227
23228         * configure.in:
23229         changed "test -z $foo && do_this" to if; then construct
23230         [2183c4426bca]
23231
23232 1996-07-29  Todd C. Miller  <Todd.Miller@courtesan.com>
23233
23234         * configure.in:
23235         added missing defines of SHADOW_TYPE
23236         [be89ea68a7f3]
23237
23238 1996-07-26  Todd C. Miller  <Todd.Miller@courtesan.com>
23239
23240         * check.c:
23241         protect AUTH_CRYPT_OLDCRYPT and AUTH_CRYPT_C1CRYPT since they are
23242         only in dunix 4.x
23243         [1e7c1c677263]
23244
23245         * getspwuid.c:
23246         added AUTH_CRYPT_C1CRYPT support
23247         [88d6b0058b20]
23248
23249         * parse.c:
23250         no longer return VALIDATE_NOT_OK if there was a runas that didn't
23251         match. Now we can have runas stuff on more than one line.
23252         [52b68920d7b7]
23253
23254         * getspwuid.c, sudo.c, tgetpass.c:
23255         use SHADOW_TYPE instead of HAVE_C2_SECURITY
23256         [cf401dfcbc06]
23257
23258         * configure.in:
23259         got rid of HAVE_C2_SECURITY SHADOW_TYPE is always defined to
23260         something
23261         [c7a233c4dd93]
23262
23263         * config.h.in:
23264         removed HAVE_C2_SECURITY added SPW_BSD
23265         [8314405e9754]
23266
23267         * compat.h:
23268         use SHADOW_TYPE instead of HAVE_C2_SECURITY
23269         [6f94870df17f]
23270
23271         * check.c:
23272         SHADOW_TYPE is always defined so just against its value
23273         [72c69a55d02f]
23274
23275         * aclocal.m4:
23276         added SUDO_CHECK_SHADOW_DUNIX
23277         [ef025ae9d496]
23278
23279 1996-07-25  Todd C. Miller  <Todd.Miller@courtesan.com>
23280
23281         * sudoers.pod:
23282         * -> ?* in one example added another instance of (runas) and one of
23283         NOPASSWD:
23284         [d74fe1dcbe7d]
23285
23286 1996-07-24  Todd C. Miller  <Todd.Miller@courtesan.com>
23287
23288         * configure.in:
23289         added back check for config.cache from other host type
23290         [0ba87871f585]
23291
23292         * parse.lex:
23293         removed an instance of \"
23294         [1e008d3709f6]
23295
23296         * sample.sudoers:
23297         added an example
23298         [dbfcf68ee330]
23299
23300         * sudoers.pod:
23301         updated wrt new wildcard matching
23302         [193fa44a475b]
23303
23304         * configure.in:
23305         new check for shadow passwords if we don't know anything
23306         [67465df7dc9a]
23307
23308         * aclocal.m4:
23309         new SUDO_CHECK_SHADOW_GENERIC
23310         [3563b16a41b8]
23311
23312         * configure.in:
23313         added back check for -lsocket (oops)
23314         [a80882ee1cb6]
23315
23316         * configure.in:
23317         better (working) check for shadow passwd type if we know to use C2.
23318         [3cdd2a59a641]
23319
23320         * configure.in:
23321         now uses AC_CANONICAL_HOST to figure out os type
23322         [80db7fe6e704]
23323
23324         * Makefile.in:
23325         added config.{guess,sub}
23326         [c6be7e3ca384]
23327
23328         * aclocal.m4:
23329         removed unused stuff to figure out os type
23330         [c9a0f3b57123]
23331
23332         * config.sub:
23333         added openbsd
23334         [bfc6bfec3668]
23335
23336         * config.sub:
23337         Initial revision
23338         [e6e06ce0d17d]
23339
23340         * config.guess:
23341         Initial revision
23342         [99dd06f79199]
23343
23344         * testsudoers.c:
23345         don't call fnmatch() with FNM_PATHNAME flag unless it can only be a
23346         pathname. need to check against sudoers_args even if user_args is
23347         nil
23348         [66e6cf77f5d6]
23349
23350         * parse.c:
23351         don't call fnmatch() with FNM_PATHNAME flag unless it can only be a
23352         pathname need to check against sudoers_args even if user_args is nil
23353         [74374df17311]
23354
23355 1996-07-23  Todd C. Miller  <Todd.Miller@courtesan.com>
23356
23357         * check.c:
23358         added support for AUTH_CRYPT_OLDCRYPT w/ DUNIX C2
23359         [cbb00261c415]
23360
23361         * testsudoers.c:
23362         now takes command line args and uses cmnd_args
23363         [f0c2fd35a527]
23364
23365         * parse.lex:
23366         fill_args was adding an extra leading space
23367         [692fc999b2e8]
23368
23369 1996-07-22  Todd C. Miller  <Todd.Miller@courtesan.com>
23370
23371         * visudo.c:
23372         fixed dummy command_matches()
23373         [93d9543db6e2]
23374
23375         * parse.yacc:
23376         fixed prototype
23377         [7b0addfbd429]
23378
23379         * sudo.h:
23380         added cmnd_args
23381         [8f47c4ae65ef]
23382
23383         * parse.yacc:
23384         now uses flat args string
23385         [016e65877da3]
23386
23387         * parse.c, parse.lex:
23388         now uses flat arg string
23389         [5b5f2e3f4c09]
23390
23391         * visudo.c:
23392         added cmnd_args def
23393         [876867134775]
23394
23395         * sudo.c:
23396         now sets cmnd_args global
23397         [e6fee70cb59b]
23398
23399         * logging.c:
23400         cmnd_args is now exported from sudo.[ch]
23401         [7a9cd36e356f]
23402
23403 1996-07-21  Todd C. Miller  <Todd.Miller@courtesan.com>
23404
23405         * parse.yacc:
23406         can't rely on cmnd_matches as much as I thought -- added some $$
23407         stuff back in to prevent namespace pollution problems.
23408         [3c45fedb5af3]
23409
23410         * parse.yacc:
23411         Simplified parse rules wrt runas and NOPASSWD (more consistent).
23412         [e6d838c8a4c7]
23413
23414 1996-07-20  Todd C. Miller  <Todd.Miller@courtesan.com>
23415
23416         * parse.lex:
23417         NOPASSWD may now have blanks before the ':' '(' only starts a
23418         'runas' if in the initial state to avoid collision with command args
23419         [c5c01172f499]
23420
23421         * configure.in:
23422         added checks for specific shadow passwd schemes
23423         [b7e3d1f7b84f]
23424
23425         * aclocal.m4:
23426         added routines to check for specific shadow passwd types
23427         [e5e1d19960a6]
23428
23429 1996-07-18  Todd C. Miller  <Todd.Miller@courtesan.com>
23430
23431         * configure.in:
23432         added support for ncr boxen
23433         [bea9dc5aae7f]
23434
23435         * aclocal.m4:
23436         added support for detecting ncr boxen
23437         [8653a158a924]
23438
23439 1996-07-16  Todd C. Miller  <Todd.Miller@courtesan.com>
23440
23441         * configure.in:
23442         added sinix support
23443         [5de2b2173ee1]
23444
23445 1996-07-14  Todd C. Miller  <Todd.Miller@courtesan.com>
23446
23447         * TROUBLESHOOTING:
23448         added info about "config.cache from other other" error.
23449         [845b10198e0b]
23450
23451         * aclocal.m4:
23452         now makes sure you don't have a config.cache file from another OS
23453         [4fe32571c021]
23454
23455         * configure.in:
23456         now sets $LIBS when needed to configure links with libs when doing
23457         tests hpux10 now uses SPW_SECUREWARE for C2 added check for
23458         bigcrypt(3) if SPW_SECUREWARE
23459         [2df6b8ca538f]
23460
23461         * getspwuid.c:
23462         fixed typo
23463         [fe1cb1d792d6]
23464
23465         * tgetpass.c:
23466         now include stuff for SPW_SECUREWARE to get AUTH_MAX_PASSWD_LENGTH
23467         [f71138372c07]
23468
23469         * getspwuid.c:
23470         no more SPW_HPUX10
23471         [cfdeb18bc16b]
23472
23473         * config.h.in:
23474         no more SPW_HPUX10 added HAVE_BIGCRYPT
23475         [00d296479a61]
23476
23477         * compat.h:
23478         now uses AUTH_MAX_PASSWD_LENGTH if SPW_SECUREWARE
23479         [6c6d9e680417]
23480
23481         * check.c:
23482         SPW_SECUREWARE now uses bigcrypt
23483         [be71fc66690f]
23484
23485 1996-07-13  Todd C. Miller  <Todd.Miller@courtesan.com>
23486
23487         * sample.sudoers:
23488         fixed 2 syntax errors
23489         [45eee19ef4ac]
23490
23491         * sudoers:
23492         root may now run ALL as ALL
23493         [1b54c6b9b212]
23494
23495 1996-07-12  Todd C. Miller  <Todd.Miller@courtesan.com>
23496
23497         * interfaces.c:
23498         fixed a typo/thinko that broke BSD's with sa_len
23499         [603438360126]
23500
23501 1996-07-08  Todd C. Miller  <Todd.Miller@courtesan.com>
23502
23503         * check.c, configure.in:
23504         updated AFS support
23505         [e572eb8d177a]
23506
23507         * TROUBLESHOOTING:
23508         added entry about /usr/ucb/cc
23509         [025b353aa9d3]
23510
23511         * INSTALL:
23512         prep no longer holds gcc binaries
23513         [8b0942958049]
23514
23515         * INSTALL:
23516         updated AFS note
23517         [7af6efd5abe4]
23518
23519         * Makefile.in:
23520         added @AFS_LIBS@
23521         [97b6fe6ad7d6]
23522
23523         * compat.h:
23524         AFS allows long passwords
23525         [5fb17122c302]
23526
23527         * testsudoers.c:
23528         fixed -u user support
23529         [b1a0c1648639]
23530
23531         * parse.c:
23532         sudo -v now groks VALIDATE_OK_NOPASS
23533         [74fc03fffe7e]
23534
23535         * parse.yacc:
23536         fixed no_passwd vs. runas_matched
23537         [549a9b791a6a]
23538
23539         * TROUBLESHOOTING:
23540         took out stuff about NFS-mounting since it is no longer an issue
23541         [d95ab7fbbc61]
23542
23543         * INSTALL:
23544         added --with-libraries > --with-libpath --with-incpath
23545         [d5d15a7a0f4c]
23546
23547         * parse.yacc:
23548         was setting runas_matches to -1 in wrong place
23549         [db2b1deb8d33]
23550
23551         * check.c:
23552         removed usersec.h which is not present in new AFS versions
23553         [618b016dd17f]
23554
23555         * tgetpass.c:
23556         now deals with timeout <= 0
23557         [ba53a1257255]
23558
23559         * OPTIONS:
23560         updated
23561         [75093bd8fdca]
23562
23563         * configure.in:
23564         BSD/OS >= 2.0 now uses shlicc instead of just gcc
23565         [ff6dbf7825c2]
23566
23567         * sudo.c:
23568         fixed backwards compatibility with sudo 1.4 sudoers mode for root
23569         readable/writable filesystems
23570         [2694ed627221]
23571
23572         * Makefile.in:
23573         now gives INSTALL -c flag
23574         [63db055a2fd1]
23575
23576         * parse.yacc:
23577         slightly simpler initialization of no_passwd and runas_matches
23578         [463a1b5fa323]
23579
23580         * testsudoers.c:
23581         added -u username support
23582         [38b072fcd6b3]
23583
23584         * configure.in:
23585         improved --with-libraries support
23586         [047dbc5f0af2]
23587
23588 1996-07-07  Todd C. Miller  <Todd.Miller@courtesan.com>
23589
23590         * configure.in:
23591         added --with-incpath, --with-libpath, --with-libraries
23592         [20f20d6c718c]
23593
23594         * parse.yacc:
23595         now initializes some fields that weren't getting set to -1 pretty
23596         gross -- need a rewrite.
23597         [021c160390c6]
23598
23599 1996-06-26  Todd C. Miller  <Todd.Miller@courtesan.com>
23600
23601         * alloca.c:
23602         removed emacs'isms
23603         [9d4ec2efe057]
23604
23605         * configure.in:
23606         no longer add -lPW to *_LIBS since we include alloca.c
23607         [a626d1bbea80]
23608
23609         * config.h.in:
23610         added HAVE_ALLOCA_H
23611         [15491e2a6cff]
23612
23613         * Makefile.in:
23614         added alloca.c
23615         [0400f25e1fe4]
23616
23617         * alloca.c:
23618         Initial revision
23619         [06d033aa4882]
23620
23621         * configure.in:
23622         ++version
23623         [f52c0fb98f90]
23624
23625 1996-06-25  Todd C. Miller  <Todd.Miller@courtesan.com>
23626
23627         * sudo.c:
23628         now set uid to 1 instead of nobody for PERM_SUDOERS since nobody is
23629         not always set to a valid uid.
23630         [c2669f77704d]
23631
23632         * OPTIONS:
23633         fixed entry for SUDO_MODE
23634         [d7272f6035b8]
23635
23636         * sudo.c:
23637         Fixed NFS-mounted sudoers file under solaris both uid *and* gid were
23638         being set to -2. Now beat NFS to the punch and set uid to "nobody"
23639         ourselves, preserving group 0 to read sudoers.
23640         [b1fbc5dd1e34]
23641
23642         * parse.c:
23643         moved set_perms(PERM_ROOT) to be before yyparse()
23644         [7619d8080735]
23645
23646         * logging.c:
23647         fixed a typo
23648         [318acc48cde0]
23649
23650         * configure.in:
23651         no longer need AC_PROG_INSTALL
23652         [de01b1336dc8]
23653
23654         * Makefile.in:
23655         always use install-sh to avoid install(1)'s that use get{pw,gr}nam
23656         [ea2351986406]
23657
23658         * INSTALL:
23659         make clean -> make distclean
23660         [704a98e8ba10]
23661
23662 1996-06-20  Todd C. Miller  <Todd.Miller@courtesan.com>
23663
23664         * parse.yacc:
23665         removed some unnecsary if's
23666         [f00db6508132]
23667
23668         * Makefile.in, version.h:
23669         ++version
23670         [bdb6740b24c8]
23671
23672         * parse.c, testsudoers.c:
23673         now includes netgroup.h
23674         [93f5a06352bc]
23675
23676         * interfaces.c:
23677         removed cats of ioctl to int since they didn't shut up -Wall
23678         [83e9f912cd7a]
23679
23680         * interfaces.c:
23681         explicately cast ioctl() to int since it it not always declared
23682         [2ff9294e469e]
23683
23684         * sudo.h:
23685         added declarations for yyparse() and yylex()
23686         [6071321ab771]
23687
23688         * parse.yacc:
23689         fixed an occurence of '==' -> '='
23690         [2c46d2e11d57]
23691
23692         * config.h.in, configure.in:
23693         added check for netgroup.h
23694         [73403050f4e3]
23695
23696         * sudo.c:
23697         fixed 2 compiler warnings
23698         [680929b0bd97]
23699
23700         * sudo.c:
23701         SHELL_IF_NO_ARGS caused core dump since NewArg[cv] weren't being
23702         initialized
23703         [18707ecd07c2]
23704
23705 1996-06-19  Todd C. Miller  <Todd.Miller@courtesan.com>
23706
23707         * sudo.pod:
23708         fixed a typo
23709         [e4b5c12aa130]
23710
23711 1996-06-17  Todd C. Miller  <Todd.Miller@courtesan.com>
23712
23713         * parse.yacc:
23714         fixed a formatting thingie
23715         [c79327b6f19b]
23716
23717         * parse.c, parse.yacc:
23718         fixed -u support with multiple user lists on a line
23719         [e4d1066adca2]
23720
23721         * configure.in:
23722         unixware needs -lgen
23723         [b5bf9bca63cc]
23724
23725         * README:
23726         updated ftp location
23727         [b25a033f7921]
23728
23729         * sudoers.pod:
23730         add net_addr/netmask support
23731         [674e83516d1e]
23732
23733         * sample.sudoers:
23734         added net_addr/mask example
23735         [774878e89b28]
23736
23737         * parse.c, parse.lex:
23738         added support for net_addr/netmask
23739         [e33de27325d8]
23740
23741 1996-06-16  Todd C. Miller  <Todd.Miller@courtesan.com>
23742
23743         * sudoers.pod:
23744         ^ -> !
23745         [1a084950d6ef]
23746
23747 1996-06-15  Todd C. Miller  <Todd.Miller@courtesan.com>
23748
23749         * RUNSON:
23750         updated for 1.4.3
23751         [c82019025d09]
23752
23753         * CHANGES:
23754         udpated for 1.4.3
23755         [ceaa81adb8f0]
23756
23757         * BUGS, TODO, TROUBLESHOOTING:
23758         updated
23759         [ff94fae4b853]
23760
23761         * sample.sudoers:
23762         updated with examples of new stuff
23763         [99d0b4cb4c9c]
23764
23765         * INSTALL, README:
23766         ++version
23767         [b763b80fe836]
23768
23769         * sudoers.pod:
23770         updated wrt -u and NOPASSWD
23771         [0b5b722ea0f4]
23772
23773         * sudo.pod:
23774         updated wrt -u and CAVEATS
23775         [71d5d53b5d18]
23776
23777 1996-06-09  Todd C. Miller  <Todd.Miller@courtesan.com>
23778
23779         * sudo.c:
23780         fixed usage()
23781         [114c7d09b550]
23782
23783         * parse.lex:
23784         now use :foo: character classes (makes no diff for generated lexer)
23785         [7b0aeb737a02]
23786
23787 1996-06-07  Todd C. Miller  <Todd.Miller@courtesan.com>
23788
23789         * check.c:
23790         fixed LONG_SKEY_PROMPT stuff
23791         [0efe78b4bdda]
23792
23793 1996-06-06  Todd C. Miller  <Todd.Miller@courtesan.com>
23794
23795         * visudo.c:
23796         fixed a comment
23797         [3d289017104b]
23798
23799         * lsearch.c:
23800         make more like NetBSD one -- now compiles w/o warnings
23801         [932206296a54]
23802
23803         * emul/search.h:
23804         fixed decls of lsearch()
23805         [c58cf4584c45]
23806
23807         * config.h.in, configure.in, getspwuid.c:
23808         added SPW_HPUX10
23809         [d74e5eaa5f17]
23810
23811         * check.c:
23812         hpux 10 uses bigcrypt() if C2
23813         [359eb63f4021]
23814
23815 1996-06-04  Todd C. Miller  <Todd.Miller@courtesan.com>
23816
23817         * parse.c:
23818         now always uses fnmatch to match args
23819         [a9d91f35256a]
23820
23821         * tgetpass.c:
23822         back to using stdio instead of raw i/o since that caused some
23823         problems
23824         [e7ce2bc92974]
23825
23826 1996-05-29  Todd C. Miller  <Todd.Miller@courtesan.com>
23827
23828         * sudo.c:
23829         now give usage warning if use -l,-v,-k with args
23830         [6b48180c4fea]
23831
23832 1996-05-28  Todd C. Miller  <Todd.Miller@courtesan.com>
23833
23834         * sudo.c:
23835         NewArgc is now set to 1 for -l, -v, -k
23836         [7497cb1416a8]
23837
23838         * sudo.c:
23839         now sets sudoers to correct group if mode is 0400
23840         [484c43d99718]
23841
23842         * install-sh:
23843         updated to version used by inn and bind
23844         [28683ad8725a]
23845
23846         * configure.in:
23847         now uses -lgnumalloc if it exists
23848         [3651ca4415a2]
23849
23850         * Makefile.in:
23851         "make install" now sets uid/gid and mode on sudoers if it exists
23852         [1f5216191ae9]
23853
23854         * sudo.c:
23855         rmeoved debugging statements
23856         [aeda278e2c26]
23857
23858         * parse.yacc:
23859         added a missing free()
23860         [592c9482a159]
23861
23862         * sudo.c:
23863         now uses user_gid instead of getegid (which was wrong anyway) to set
23864         SUDO_GID Now sets command line args in SUDO_COMMAND envariabled
23865         (logging.c depends on args being in the environment)
23866         [9f5328a3b942]
23867
23868         * logging.c:
23869         now uses SUDO_COMMAND envariable to get command args rather than
23870         building it up again.
23871         [7f8edc5bccb7]
23872
23873         * parse.c:
23874         now uses user_gid
23875         [4b9303ae45fe]
23876
23877         * sudo.c:
23878         fixed off by one error in allocation NewArgv
23879         [921ea1a4e7c6]
23880
23881         * parse.c:
23882         in sudoers, 'command ""' now means command with no args
23883         [a5273648ace2]
23884
23885         * configure.in:
23886         added check for fnmatch(3) and fnmatch.h
23887         [258916a7866f]
23888
23889         * config.h.in:
23890         added HAVE_FNMATCH
23891         [b9860d361e93]
23892
23893         * Makefile.in:
23894         replaced wildcat.* with fnmatch.*
23895         [03ad9ee21a1c]
23896
23897         * testsudoers.c:
23898         now uses fnmatch()
23899         [5a7f7de987a9]
23900
23901 1996-05-27  Todd C. Miller  <Todd.Miller@courtesan.com>
23902
23903         * parse.c:
23904         now uses fnmatch() instead of wildmat a trailing star (*) by itself
23905         now matches multiple args added support for wildcards in the
23906         pathname in sudoers
23907         [1f7fb950b868]
23908
23909 1996-05-25  Todd C. Miller  <Todd.Miller@courtesan.com>
23910
23911         * fnmatch.c:
23912         now includes compat.h and config.h
23913         [090206b95cf8]
23914
23915         * config.h.in:
23916         added HAVE_FNMATCH_H
23917         [90eb42150173]
23918
23919         * configure.in:
23920         now checks for alloca() (if needed by bison or dce) and links with
23921         -lPW if it contains alloca() and libv and compiler do not.
23922         [cfa2b3cef49a]
23923
23924         * emul/fnmatch.h, fnmatch.3, fnmatch.c:
23925         Initial revision
23926         [20b1f762a32a]
23927
23928 1996-04-29  Todd C. Miller  <Todd.Miller@courtesan.com>
23929
23930         * sudo.c:
23931         now fixes mode on sudoers if set to 0400 to aid in upgrade
23932         [d4bdfd521820]
23933
23934 1996-04-28  Todd C. Miller  <Todd.Miller@courtesan.com>
23935
23936         * Makefile.in:
23937         fixed pod2man usage
23938         [5adf2ec77b27]
23939
23940         * Makefile.in, configure.in, version.h:
23941         ++version
23942         [b4029de876d0]
23943
23944         * testsudoers.c, visudo.c:
23945         runas_user is now initialized to "root"
23946         [8537d97bff39]
23947
23948         * sudo.h:
23949         removed PERM_FULL_ROOT
23950         [241f8bbf647f]
23951
23952         * sudo.c:
23953         runas_user defaults to "root" so no more need to PERM_RUNAS
23954         [fc0c0dfc72ba]
23955
23956         * parse.c:
23957         will now only running commands as root if there was no runas list
23958         (or if root is in the runas list)
23959         [40c587666c81]
23960
23961         * logging.c:
23962         now logs "USER=%s"
23963         [b733504c87fd]
23964
23965         * parse.yacc:
23966         runas_matches is now set to false if we get a negative match
23967         [5495b150b300]
23968
23969         * parse.lex:
23970         make #uid work + some minor cleanup
23971         [07851bbce03a]
23972
23973         * sample.sudoers:
23974         added support for NOPASSWD and "runas" from garp@opustel.com /
23975         [7a9c67b51fa5]
23976
23977         * visudo.c:
23978         added support for "runas" from garp@opustel.com replaced
23979         SUDOERS_OWNER with SUDOERS_UID, SUDOERS_GID added support for
23980         SUDOERS_MODE
23981         [e714209b9885]
23982
23983         * testsudoers.c:
23984         added support for "runas" from garp@opustel.com
23985         [b837f856da10]
23986
23987         * sudo.h:
23988         added support for NO_PASSWD and runas from garp@opustel.com replaced
23989         SUDOERS_OWNER with SUDOERS_UID and SUDOERS_GID and added support
23990         fro SUDOERS_MODE
23991         [cea6f26679b7]
23992
23993         * sudo.c:
23994         added support for NO_PASSWD and runas from garp@opustel.com replaced
23995         SUDOERS_OWNER with SUDOERS_UID and SUDOERS_GID and added support fro
23996         SUDOERS_MODE
23997         [61b5434237c5]
23998
23999         * parse.yacc:
24000         added support for NO_PASSWD and runas from garp@opustel.com
24001         [72ebd3056f22]
24002
24003         * parse.c, parse.lex:
24004         added support for NO_PASSWD and runas from garp@opustel.com
24005         [fef6dbdd114d]
24006
24007         * logging.c:
24008         added support for SUDOERS_WRONG_MODE and "runas"
24009         [e794efc2b443]
24010
24011         * configure.in:
24012         added --with-CC only link with -lshadow on linux (with shadow pw) if
24013         libc lacks getspnam()
24014         [3ecf4ae21002]
24015
24016         * OPTIONS, options.h:
24017         removed NO_PASSWD since it is not possible to do this in the sudoers
24018         file itself. Replaced SUDOERS_OWNER with SUDOERS_UID and
24019         SUDOERS_GID. Added SUDOERS_MODE.
24020         [2eaa4891ef48]
24021
24022         * Makefile.in:
24023         now uses SUDOERS_UID and SUDOERS_GID
24024         [8d615f0fdb2a]
24025
24026 1996-04-27  Todd C. Miller  <Todd.Miller@courtesan.com>
24027
24028         * INSTALL:
24029         added --with-CC
24030         [a1b8286a81b8]
24031
24032 1996-04-06  Todd C. Miller  <Todd.Miller@courtesan.com>
24033
24034         * parse.lex:
24035         added double quote support
24036         [a5e4fc7e3a2b]
24037
24038         * sudoers.pod:
24039         documented double quoting
24040         [c6ea47969a44]
24041
24042 1996-04-05  Todd C. Miller  <Todd.Miller@courtesan.com>
24043
24044         * mkinstalldirs:
24045         Initial revision
24046         [dcb86d65ad8f]
24047
24048         * check.c:
24049         fixed some indentation
24050         [4d1c5ab8072b]
24051
24052         * Makefile.in:
24053         fixed a typo
24054         [0d27eebc7227]
24055
24056         * Makefile.in:
24057         added install-dirs .
24058         [f499b99b8be7]
24059
24060 1996-04-04  Todd C. Miller  <Todd.Miller@courtesan.com>
24061
24062         * dce_pwent.c:
24063         new version from "Jeff A. Earickson" <jaearick@colby.edu>
24064         [422481be5fbd]
24065
24066 1996-04-03  Todd C. Miller  <Todd.Miller@courtesan.com>
24067
24068         * configure.in:
24069         $CSOPS -> $with_csops (whoops, missed one)
24070         [b04c6948130e]
24071
24072         * BUGS:
24073         updated
24074         [c4d5713e227d]
24075
24076         * parse.lex:
24077         FQHOST now has same constraints as non-FQHOST
24078         [e1c3bf2381d1]
24079
24080         * INSTALL:
24081         added note about OS's w/ shadow passwords turned on by default
24082         [166257f43be4]
24083
24084 1996-04-02  Todd C. Miller  <Todd.Miller@courtesan.com>
24085
24086         * configure.in:
24087         fixed a typo
24088         [e5c3e2e9a359]
24089
24090         * configure.in:
24091         added support for --without-THING sanitized shadow pw situtation by
24092         adding support for
24093         --without-C2
24094         [65dc6bf64cce]
24095
24096         * tgetpass.c:
24097         fixed a typo wrt placement of an end paren
24098         [a8780f818231]
24099
24100         * check.c:
24101         was closing an fd that may not have been opened
24102         [760271c7bdc9]
24103
24104 1996-03-22  Todd C. Miller  <Todd.Miller@courtesan.com>
24105
24106         * OPTIONS, options.h, sudo.c:
24107         added NO_PASSWD
24108         [28ff1dc93d7a]
24109
24110 1996-03-20  Todd C. Miller  <Todd.Miller@courtesan.com>
24111
24112         * configure.in:
24113         now always use shadow pw on some arches
24114         [069161ccffda]
24115
24116 1996-03-19  Todd C. Miller  <Todd.Miller@courtesan.com>
24117
24118         * configure.in:
24119         added pyramid support
24120         [a0eb57a3a531]
24121
24122         * configure.in:
24123         no longer check for C2 if alternate passwd method is used no longer
24124         check for some libs twice
24125         [2d0c3c902b40]
24126
24127         * parse.yacc:
24128         moved fqdn stuff into parse.lex (FQHOST)
24129         [d9c9abd481d8]
24130
24131         * parse.lex:
24132         added FQHOST rules
24133         [4a1695acff6d]
24134
24135         * tgetpass.c:
24136         now define TCSASOFT in necesary
24137         [3fac2e21c9ab]
24138
24139         * tgetpass.c:
24140         now uses read/write instead of stdio string goop to avoid problems
24141         with select(2)
24142         [67fd174e518c]
24143
24144         * OPTIONS, find_path.c, options.h:
24145         -DNO_DOT_PATH -> -DIGNORE_DOT_PATH
24146         [d05ba5100d28]
24147
24148 1996-03-17  Todd C. Miller  <Todd.Miller@courtesan.com>
24149
24150         * INSTALL:
24151         added note about no shadow auto-detect if using alternate auth
24152         schemes
24153         [b425592232a3]
24154
24155         * configure.in:
24156         don't check for C2 if AFS or DCE (unless they said --with-C2)
24157         [61342962171a]
24158
24159         * testsudoers.c:
24160         now groks shost
24161         [85dda17303f6]
24162
24163         * OPTIONS, find_path.c, options.h:
24164         added NO_DOT_PATH
24165         [c261ca1fb196]
24166
24167 1996-03-16  Todd C. Miller  <Todd.Miller@courtesan.com>
24168
24169         * find_path.c:
24170         checkdot now works correctly
24171         [3bc4835bb3e9]
24172
24173 1996-03-12  Todd C. Miller  <Todd.Miller@courtesan.com>
24174
24175         * configure.in:
24176         can't have DCE and C2 passwords both...
24177         [fb9a8ab7ca66]
24178
24179 1996-03-11  Todd C. Miller  <Todd.Miller@courtesan.com>
24180
24181         * parse.yacc, sudo.c, sudo.h, visudo.c:
24182         now uses shost even if not FQDN
24183         [87f7498b3a1f]
24184
24185         * configure.in:
24186         now looks for skey in /usr/lib and doesn't require libskey to be in
24187         /usr/local/lib just because skey.h is (for my netbsd box :-)
24188         [ceb1763e37d2]
24189
24190         * aclocal.m4, config.h.in, pathnames.h.in:
24191         _SUDO_PATH_ -> _CONFIG_PATH_
24192         [84d97ad13d75]
24193
24194         * aclocal.m4, sudo.pod:
24195         /var/run/.odus -> /var/run/sudo
24196         [922da220b8f5]
24197
24198         * pathnames.h.in:
24199         now uses _SUDO_PATH_TIMEDIR
24200         [5ecab0155fdf]
24201
24202         * OPTIONS:
24203         udpated FQDN
24204         [361b6f7440c0]
24205
24206         * aclocal.m4, configure.in:
24207         added SUDO_TIMEDIR
24208         [368c95c8c950]
24209
24210         * config.h.in:
24211         added _SUDO_PATH_TIMEDIR
24212         [3879864d808c]
24213
24214         * sudo.pod:
24215         updated wrt /var/run/sudo
24216         [9e14f2a429d3]
24217
24218         * sudo.c, sudo.h:
24219         added support for shost if FQDN
24220         [51a3f51a09a1]
24221
24222         * parse.yacc, visudo.c:
24223         now uses shost if FQDN
24224         [d19da2e92b42]
24225
24226         * check.c:
24227         Now use skeylookup() instead off skeychallenge()
24228         [4c7438bb2ae0]
24229
24230 1996-02-28  Todd C. Miller  <Todd.Miller@courtesan.com>
24231
24232         * logging.c:
24233         mail_argv should not contain ALERTMAIL as it includes "-t"
24234         [67ffaaa8f843]
24235
24236 1996-02-22  Todd C. Miller  <Todd.Miller@courtesan.com>
24237
24238         * INSTALL, Makefile.in, README, configure.in, version.h:
24239         ++version
24240         [e08fd4a809fc]
24241
24242         * compat.h:
24243         added more _PASSWD_LEN stuff -- now uses PASS_MAX too
24244         [2f20c3153689]
24245
24246         * tgetpass.c:
24247         now includes limits.h moved _PASSWD_LEN -> compat.h
24248         [b1ca3cafdacc]
24249
24250 1996-02-06  Todd C. Miller  <Todd.Miller@courtesan.com>
24251
24252         * INSTALL, README:
24253         ++version
24254         [3eacf32803f5]
24255
24256         * Makefile.in:
24257         ++versoin
24258         [3b91c317630a]
24259
24260         * Makefile.in:
24261         fixed a typo
24262         [3661ac4a7803]
24263
24264         * configure.in:
24265         ++version
24266         [60e842973745]
24267
24268 1996-02-05  Todd C. Miller  <Todd.Miller@courtesan.com>
24269
24270         * RUNSON:
24271         updated
24272         [def2c3c24195]
24273
24274         * CHANGES:
24275         done for 1.4.1 (I hope)
24276         [2ab543769a40]
24277
24278         * sudoers.pod:
24279         added info on wildcards
24280         [ce3bd41bc063]
24281
24282         * sample.sudoers:
24283         added wildcard example
24284         [762feb0577bd]
24285
24286         * Makefile.in:
24287         now uses *.pod to build *.man and *.cat & *.html
24288         [3ec14962028b]
24289
24290         * configure.in:
24291         addedSUDO_PROG_BSHELL !ll
24292         [3c80b320bf16]
24293
24294         * visudo.pod:
24295         fixed up some formatting
24296         [12166c434526]
24297
24298         * sudoers.pod:
24299         redid section describing sample sudoers stuff
24300         [b8065cceec71]
24301
24302         * sudo.pod:
24303         fixed some formatting
24304         [aa9a681add0f]
24305
24306         * getspwuid.c:
24307         now treats "" as bourne shell
24308         [30194a72ad56]
24309
24310         * Makefile.in:
24311         TESTOBJS nwo includes wildmat.o
24312         [86cc6500f84d]
24313
24314         * testsudoers.c:
24315         now works with NewArg[cv]
24316         [2f72674ce942]
24317
24318         * sudo.c:
24319         removed an XXX (fixed it in getspwuid.c)
24320         [e791ee0d1a68]
24321
24322         * aclocal.m4:
24323         added check for bourne shell
24324         [a2fd51676b8a]
24325
24326         * pathnames.h.in:
24327         added _PATH_BSHELL
24328         [e7c10011d47b]
24329
24330         * config.h.in:
24331         added _SUDO_PATH_BSHELL
24332         [6a1182898de9]
24333
24334 1996-02-04  Todd C. Miller  <Todd.Miller@courtesan.com>
24335
24336         * visudo.c:
24337         unixware vi returns 256 instead of 0
24338         [234ffc7c6786]
24339
24340         * INSTALL:
24341         added Linux note
24342         [5f85efcd2b58]
24343
24344         * logging.c:
24345         fixed up some XXX's. file log format now looks a little more like
24346         real syslog(3) format.
24347         [6df55707bfc3]
24348
24349         * README, TROUBLESHOOTING:
24350         updated wrt lex/flex
24351         [eb787d69156b]
24352
24353         * Makefile.in:
24354         commented out rule to build lex.yy.c from parse.lex since we ship
24355         with a pre-flex'd parser
24356         [7507e2ce4a95]
24357
24358         * parse.c, parse.yacc, visudo.c:
24359         path_matches -> command_matches
24360         [0bd469424f86]
24361
24362         * logging.c:
24363         eliminated some strcat()'s
24364         [9878a79bc374]
24365
24366         * configure.in:
24367         no longer checks for lex/flex (now assumes flex)
24368         [a086ccc73798]
24369
24370         * configure.in:
24371         now checks for $kerb_dir_candidate/krb.h instead of just
24372         kerb_dir_candidate
24373         [9133bc3c5208]
24374
24375 1996-02-03  Todd C. Miller  <Todd.Miller@courtesan.com>
24376
24377         * parse.yacc:
24378         now use a 'hook' expression instead of an iffy one :-)
24379         [9560df01b8c0]
24380
24381 1996-02-02  Todd C. Miller  <Todd.Miller@courtesan.com>
24382
24383         * visudo.c:
24384         now works with new sudo arg stuff
24385         [310a0d43ddad]
24386
24387         * parse.yacc:
24388         fixed dereferencing deadbeef
24389         [474ef8a8006b]
24390
24391         * sudo.c:
24392         changed an occurrence of Argv to NewArgv
24393         [205b012b7691]
24394
24395         * parse.lex:
24396         took out support for quoted commands since there is no need...
24397         [5c5036d353b1]
24398
24399         * parse.c:
24400         fixed a typo in a for() loop
24401         [7e8d5283c43b]
24402
24403         * logging.c:
24404         protected against dereferencing rogue pointers
24405         [56debd517717]
24406
24407         * sudo.c:
24408         now uses NewArgv amd NewArgc so cmnd_aegs is no longer needed this
24409         also allows us to eliminate some kludges in parse_args() and
24410         eliminate superfluous code.
24411         [5122f66ad150]
24412
24413         * logging.c:
24414         no longer uses cmnd_args, now uses NewArgv instead.
24415         [abddd23cf068]
24416
24417         * sudo.h:
24418         added struct sudo_command, NewArgc, and NewArgv removed cmnd_args
24419         (no longer used)
24420         [78410984fb05]
24421
24422         * Makefile.in:
24423         added wildmat.c to SRCS & SUDOBJS
24424         [3800efb41794]
24425
24426         * parse.yacc:
24427         COMMAND is now a struct containing the path and args
24428         [5c32822c5b94]
24429
24430         * parse.lex:
24431         replaced append() with fill_cmnd() and fill_args. command args from
24432         a sudoers entry are now stored in an arrary for easy matching.
24433         [a981d7f4eb0d]
24434
24435         * parse.c:
24436         command line args from sudoers file are now in an array like ones
24437         passed in from the command line
24438         [1d9e37e84519]
24439
24440 1996-02-01  Todd C. Miller  <Todd.Miller@courtesan.com>
24441
24442         * parse.c:
24443         wildwat stuff now works
24444         [49d16488531f]
24445
24446 1996-01-29  Todd C. Miller  <Todd.Miller@courtesan.com>
24447
24448         * version.h:
24449         ++version
24450         [53e55463ef89]
24451
24452         * Makefile.in:
24453         ++version added wildmat.*
24454         [0508297a4711]
24455
24456 1996-01-28  Todd C. Miller  <Todd.Miller@courtesan.com>
24457
24458         * parse.lex:
24459         added support for quoted commands (w/ or w/o args)
24460         [b9a637155673]
24461
24462 1996-01-22  Todd C. Miller  <Todd.Miller@courtesan.com>
24463
24464         * sudo.pod, visudo.pod:
24465         cleaned up formatting
24466         [4591d4195437]
24467
24468         * sudo.pod, visudo.pod:
24469         Initial revision
24470         [7564a8242750]
24471
24472 1996-01-21  Todd C. Miller  <Todd.Miller@courtesan.com>
24473
24474         * sudoers.pod:
24475         looks reasonable, could be mroe readable
24476         [a5be2d19d9e0]
24477
24478         * sudoers.pod:
24479         Initial revision
24480         [957888be31a6]
24481
24482 1996-01-16  Todd C. Miller  <Todd.Miller@courtesan.com>
24483
24484         * RUNSON:
24485         updated
24486         [633743aa924b]
24487
24488         * OPTIONS:
24489         updated NO_ROOT_SUDO entry
24490         [f1c15b1dec9e]
24491
24492 1996-01-15  Todd C. Miller  <Todd.Miller@courtesan.com>
24493
24494         * RUNSON:
24495         *** empty log message ***
24496         [5b63de579ff7] [SUDO_1_4_0]
24497
24498         * sudo.c:
24499         fixed SECURE_PATH
24500         [6002889f606d]
24501
24502         * RUNSON:
24503         udpa`ted for 1.4
24504         [6014a8592815]
24505
24506         * configure.in:
24507         AIX aixcrypt.exp now uses $(srcdir)
24508         [b0d57674fef4]
24509
24510         * TROUBLESHOOTING:
24511         added entry for anal ansi compilers
24512         [4193cec1c6b1]
24513
24514 1996-01-14  Todd C. Miller  <Todd.Miller@courtesan.com>
24515
24516         * INSTALL:
24517         added info on libcrypt_i for SCO
24518         [575497d56698]
24519
24520         * TODO:
24521         *** empty log message ***
24522         [d0aaf67b9913]
24523
24524         * sample.sudoers:
24525         added comments
24526         [a7773f7eda8d]
24527
24528         * TODO:
24529         1.4 release
24530         [1dade29e9fd9]
24531
24532         * CHANGES:
24533         ++version
24534         [67241be40780]
24535
24536         * INSTALL, OPTIONS, README, config.h.in, configure.in:
24537         ++version
24538         [2e0a37897f68]
24539
24540         * BUGS:
24541         ++version and fixed ISC
24542         [78963f01a0e3]
24543
24544         * check.c, compat.h, dce_pwent.c, find_path.c, getspwuid.c, getwd.c,
24545         goodpath.c, ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h,
24546         insults.h, logging.c, options.h, pathnames.h.in, putenv.c, strdup.c,
24547         sudo.c, sudo.h, sudo_setenv.c, testsudoers.c, tgetpass.c, utime.c,
24548         visudo.c:
24549         ++version
24550         [b6227f29b3d9]
24551
24552         * interfaces.c:
24553         added STUB_LOAD_INTERFACES ++version
24554         [d8150a3fd577]
24555
24556         * Makefile.in, emul/utime.h, parse.c, parse.lex, parse.yacc,
24557         version.h:
24558         ++version
24559         [da9e90e69bdc]
24560
24561         * PORTING:
24562         added info about fd_set in tgetpass added info on interfaces.c
24563         [a39902febd17]
24564
24565 1996-01-11  Todd C. Miller  <Todd.Miller@courtesan.com>
24566
24567         * dce_pwent.c:
24568         added sudo header
24569         [fc0f2c48682e]
24570
24571         * tgetpass.c:
24572         fixed a typo
24573         [43d40b72ee8f]
24574
24575         * Makefile.in:
24576         tgetpass.o is now only linked in with sudo (not visudo)
24577         [7407c5ff11f8]
24578
24579 1996-01-09  Todd C. Miller  <Todd.Miller@courtesan.com>
24580
24581         * BUGS, INSTALL, Makefile.in, OPTIONS, README, config.h.in,
24582         configure.in:
24583         ++version
24584         [9b82ad805d6b]
24585
24586         * emul/utime.h:
24587         added copyright notice
24588         [4380f16cd075]
24589
24590         * check.c, compat.h, find_path.c, getspwuid.c, getwd.c, goodpath.c,
24591         ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h, insults.h,
24592         interfaces.c, logging.c, options.h, parse.c, parse.lex, parse.yacc,
24593         pathnames.h.in, putenv.c, strdup.c, sudo.c, sudo.h, sudo_setenv.c,
24594         testsudoers.c, tgetpass.c, utime.c, version.h, visudo.c:
24595         ++version
24596         [32717fdb5d05]
24597
24598         * tgetpass.c:
24599         minor cleanup and now includes sys/bsdtypes for svr4'ish boxen
24600         [326864428da2]
24601
24602         * configure.in:
24603         ISC now gets -lcrypt now check for sys/bsdtypes.h
24604         [e064799c054b]
24605
24606         * config.h.in:
24607         added check for sys/bsdtypes.h
24608         [9adb9533c363]
24609
24610 1996-01-07  Todd C. Miller  <Todd.Miller@courtesan.com>
24611
24612         * parse.yacc:
24613         removed debugging stuff (setting freed ptr to NULL)
24614         [02fe8eec63a0]
24615
24616         * TROUBLESHOOTING:
24617         added 2 entries
24618         [02884e2733e2]
24619
24620         * Makefile.in:
24621         added FAQ
24622         [074d8dfcf28d]
24623
24624         * TROUBLESHOOTING:
24625         added section on syslog
24626         [e6bc02a22b86]
24627
24628         * configure.in:
24629         added AC_ISC_POSIX for better ISC support
24630         [8436b3e12af2]
24631
24632         * config.h.in:
24633         fixed typo
24634         [f1b3922babf4]
24635
24636         * config.h.in:
24637         added define for _POSIX_SOURCE
24638         [ded6d92b34f9]
24639
24640 1996-01-04  Todd C. Miller  <Todd.Miller@courtesan.com>
24641
24642         * configure.in:
24643         fixed check for lsearch()
24644         [75baa5bc28a3]
24645
24646 1995-12-22  Todd C. Miller  <Todd.Miller@courtesan.com>
24647
24648         * interfaces.c:
24649         fixed for AIX now deal if num_interfaces == 0 (should not happen)
24650         [ae450e859227]
24651
24652 1995-12-20  Todd C. Miller  <Todd.Miller@courtesan.com>
24653
24654         * configure.in:
24655         now only define HAVE_LSEARCH if there is a corresponding search.h
24656         [8ce645c5d17f]
24657
24658         * interfaces.c:
24659         works on ISC again
24660         [ccac920d424c]
24661
24662 1995-12-18  Todd C. Miller  <Todd.Miller@courtesan.com>
24663
24664         * configure.in:
24665         now define HAVE_LSEARCH if we find lsearch() in libcompat
24666         [7343e4313a87]
24667
24668         * lsearch.c:
24669         char * -> const char *
24670         [1c0b11c2300a]
24671
24672         * configure.in:
24673         now looks in -lcompat for lsearch()
24674         [a1cc1d6fcd09]
24675
24676         * Makefile.in:
24677         remove sudo.core visudo.core for clan target
24678         [b523456a85df]
24679
24680         * aclocal.m4:
24681         added UID_MAX support in check for MAX_UID_T_LEN
24682         [7ab262b1173f]
24683
24684         * Makefile.in:
24685         fixed another occurence of sudo_getpwuid.*
24686         [fb5809c07da2]
24687
24688         * Makefile.in, getspwuid.c:
24689         sudo_getpwuid.c -> getspwuid.c
24690         [875f2ef808b4]
24691
24692         * configure.in:
24693         moved the "echo"
24694         [ad7b8f966076]
24695
24696         * BUGS, CHANGES, INSTALL, Makefile.in, OPTIONS, README, check.c,
24697         compat.h, config.h.in, configure.in, find_path.c, getspwuid.c,
24698         getwd.c, goodpath.c, ins_2001.h, ins_classic.h, ins_csops.h,
24699         ins_goons.h, insults.h, interfaces.c, logging.c, options.h, parse.c,
24700         parse.lex, parse.yacc, pathnames.h.in, putenv.c, strdup.c, sudo.c,
24701         sudo.h, sudo_setenv.c, testsudoers.c, tgetpass.c, utime.c,
24702         version.h, visudo.c:
24703         ++version
24704         [ee57c6410ffa]
24705
24706         * testsudoers.c:
24707         added group support
24708         [54d8097df8bd]
24709
24710         * sample.sudoers:
24711         added group entry
24712         [50994d31fd49]
24713
24714         * sudoers.man:
24715         documented group support
24716         [0a16707f8fed]
24717
24718         * parse.c, parse.lex, parse.yacc, visudo.c:
24719         added group support
24720         [427218c879c8]
24721
24722 1995-12-15  Todd C. Miller  <Todd.Miller@courtesan.com>
24723
24724         * check.c:
24725         tkfile was too short and overflowed the kerberos realm
24726         [53823a1ff5af]
24727
24728 1995-12-11  Todd C. Miller  <Todd.Miller@courtesan.com>
24729
24730         * sudo.c:
24731         now copy command args directly from Argv
24732         [77408278b6fd]
24733
24734         * sudo.c:
24735         replaced code to copy cmnd_args so that is does not use realloc
24736         since most realloc()'s really stink
24737         [b29a0ff73fb6]
24738
24739 1995-12-08  Todd C. Miller  <Todd.Miller@courtesan.com>
24740
24741         * configure.in:
24742         syslog() fixed in hpux 10.01
24743         [2648e6f0cdb0]
24744
24745 1995-12-06  Todd C. Miller  <Todd.Miller@courtesan.com>
24746
24747         * configure.in:
24748         AC_CHECK_LIB() now sets SUDO_LIBS (and VISUDO_LIBS if appropriate)
24749         [8f108b8d8711]
24750
24751         * configure.in:
24752         better error if cannot find skey incs or libs
24753         [5887662ee9d3]
24754
24755         * aclocal.m4:
24756         now use a temp file for determining max len of uid_t in string form.
24757         the old hacky way broke on netbsd
24758         [b68f470fa9f8]
24759
24760         * sudo.c:
24761         added set of parens and a space
24762         [8a3d4826d022]
24763
24764 1995-12-05  Todd C. Miller  <Todd.Miller@courtesan.com>
24765
24766         * dce_pwent.c:
24767         fixes from Jeff Earickson <jaearick@colby.edu> ,
24768         [bde0f0b756ec]
24769
24770         * check.c:
24771         modified a comment
24772         [e2a97f1afbbe]
24773
24774         * Makefile.in:
24775         fixed up testsudoers target
24776         [d39c4e7bb609]
24777
24778         * configure.in:
24779         DCE changes from Jeff Earickson <jaearick@colby.edu> LIBS ->
24780         SUDO_LIBS and VISUDO_LIBS LDFLAGS -> SUDO_FDFLAGS and VISUDO_LDFLAGS
24781         [da7a1c433828]
24782
24783         * Makefile.in:
24784         LIBS -> SUDO_LIBS , VISUDO_LIBS LDFLAGS -> SUDO_LDFLAGS,
24785         VISUDO_LDFLAGS
24786         [4b69503e8487]
24787
24788 1995-11-28  Todd C. Miller  <Todd.Miller@courtesan.com>
24789
24790         * configure.in:
24791         fix for C2 on hpux 10 now uses -linet if it exists
24792         [8d300112263d]
24793
24794         * check.c:
24795         LONG_SKEY_PROMPT is less of a klusge /
24796         [dcc144abaac3]
24797
24798         * configure.in:
24799         fixed typos w/ dce stuff
24800         [f7dfd6d4e149]
24801
24802         * Makefile.in:
24803         added dce_pwent.c
24804         [79047acdc516]
24805
24806 1995-11-26  Todd C. Miller  <Todd.Miller@courtesan.com>
24807
24808         * INSTALL:
24809         amended section on combining authentication mechanisms
24810         [dc5138c7c716]
24811
24812         * PORTING:
24813         minor updates for 1.3.6
24814         [fe80c13bd994]
24815
24816         * TROUBLESHOOTING:
24817         added 2 more entries
24818         [c7201439a0f5]
24819
24820         * BUGS:
24821         updated for 1.3.6
24822         [979b414d2a2d]
24823
24824         * README:
24825         overhauled
24826         [3af8b60eb594]
24827
24828         * INSTALL:
24829         rewrote for sudo 1.3.6
24830         [b16027b9c726]
24831
24832         * TROUBLESHOOTING:
24833         added 3 entries
24834         [934c9ee3f153]
24835
24836 1995-11-25  Todd C. Miller  <Todd.Miller@courtesan.com>
24837
24838         * find_path.c, getspwuid.c, sudo.c:
24839         added explict casts for strdup since many includes don't prototype
24840         it. gag me.
24841         [3e19a11f2fcc]
24842
24843         * sudo.h:
24844         removed prototype for sudo_getpwuid() since convex C compiler choked
24845         on it.
24846         [c3ea74ca67b0]
24847
24848         * sudo.c:
24849         added prototype for sudo_getpwuid()
24850         [4a8e3cdc2b98]
24851
24852         * lsearch.c:
24853         now compiles on strict ANSI compilers
24854         [3ce5d72d0b08]
24855
24856         * check.c:
24857         added LONG_SKEY_PROMPT support
24858         [48a18b8a2332]
24859
24860         * Makefile.in:
24861         added extra $'s for make to eat up, yum.
24862         [2995b214e12b]
24863
24864         * OPTIONS, options.h:
24865         added LONG_SKEY_PROMPT
24866         [f23ae799b5a4]
24867
24868 1995-11-24  Todd C. Miller  <Todd.Miller@courtesan.com>
24869
24870         * check.c:
24871         s/key support now works with normal s/key as well as logdaemon
24872         [d67573f523bf]
24873
24874         * OPTIONS, options.h:
24875         added SKEY_ONLY
24876         [bbf07654e0de]
24877
24878         * compat.h:
24879         set _PASSWD_LEN to 256 for any of KERB4, DCE, SKEY
24880         [205895b96a36]
24881
24882         * INSTALL:
24883         added DCE note added more AIX notes
24884         [6345403b3522]
24885
24886         * sudo.c:
24887         now include pthread.h for DCE support
24888         [6fe02865f679]
24889
24890         * check.c:
24891         dce_pwent() is ok after all .,
24892         [d26a8746a55d]
24893
24894         * logging.c:
24895         now uses SYSLOG() macro that equates to either syslog() or
24896         syslog_wrapper
24897         [42ac4cff8045]
24898
24899         * dce_pwent.c:
24900         minor formatting changes. renamed check() to somthing less generic
24901         [71859f217be1]
24902
24903         * check.c, logging.c, parse.yacc, sudo.c, sudo.h, testsudoers.c,
24904         visudo.c:
24905         now uses user_pw_ent and simple macros to get at the contents
24906         [f4cbf3e7145a]
24907
24908 1995-11-23  Todd C. Miller  <Todd.Miller@courtesan.com>
24909
24910         * check.c:
24911         simpler dec unix C2 support
24912         [86bc8f75250e]
24913
24914         * getspwuid.c:
24915         now sets crypt_type for DEC unix C2
24916         [99aeadd18266]
24917
24918 1995-11-21  Todd C. Miller  <Todd.Miller@courtesan.com>
24919
24920         * configure.in:
24921         added csops paths for skey
24922         [b8ca672e2117]
24923
24924         * getspwuid.c:
24925         now includes string.h for strdup() prototype
24926         [3605259c3620]
24927
24928         * getspwuid.c:
24929         fixed a few typos
24930         [46c97e4ea417]
24931
24932         * check.c:
24933         now includes skey.h
24934         [11e611ce1b61]
24935
24936         * getspwuid.c:
24937         fixed up comments
24938         [223dac56f0c8]
24939
24940         * check.c:
24941         moved a lot of the shadow passwd crap to sudo_getpwuid()
24942         [97d8887fb7d3]
24943
24944         * sudo.c:
24945         now uses sudo_pw_ent
24946         [d014dadbef48]
24947
24948         * testsudoers.c:
24949         now uses sudo_pw_ent
24950         [d92936ed7e34]
24951
24952         * visudo.c:
24953         now sets sudo_pw_ent
24954         [ff75cdfcf8b3]
24955
24956         * getspwuid.c:
24957         Initial revision
24958         [6deb6df9d7bc]
24959
24960         * tgetpass.c:
24961         moved dce stuff into compat.h
24962         [1124284396e7]
24963
24964         * logging.c, sudo.h:
24965         now uses sudo_pw_ent
24966         [404ff20a5067]
24967
24968         * Makefile.in:
24969         added sudo_getpwuid.c
24970         [6666d0644512]
24971
24972         * compat.h:
24973         added dce support
24974         [3c3b36a7ce0e]
24975
24976         * parse.yacc:
24977         now uses sudo_pw_ent
24978         [9f5e8d11bd68]
24979
24980 1995-11-20  Todd C. Miller  <Todd.Miller@courtesan.com>
24981
24982         * check.c:
24983         fixed exempt_group stuff for OS's that don't put base gid in group
24984         vector
24985         [003f153bd396]
24986
24987         * check.c:
24988         S/Key support now works with sunos4 shadow passwords
24989         [1eb64a5efff1]
24990
24991         * Makefile.in:
24992         fixed clean rule
24993         [5695a2c62816]
24994
24995         * config.h.in, configure.in:
24996         added DCE support
24997         [f53c766c1947]
24998
24999         * tgetpass.c:
25000         DCE & KERB support
25001         [904cf436506a]
25002
25003         * check.c:
25004         first stab at dce support
25005         [aea5ca07b1e3]
25006
25007         * dce_pwent.c:
25008         now smells like sudo
25009         [8b3d609b49cd]
25010
25011         * dce_pwent.c:
25012         Initial revision
25013         [b573555f2399]
25014
25015         * check.c:
25016         skey'd sudo now works w/ normal password as well
25017         [8d038f9f6e94]
25018
25019 1995-11-19  Todd C. Miller  <Todd.Miller@courtesan.com>
25020
25021         * Makefile.in, OPTIONS, check.c, compat.h, config.h.in, find_path.c,
25022         getwd.c, goodpath.c, ins_2001.h, ins_classic.h, ins_csops.h,
25023         ins_goons.h, insults.h, interfaces.c, logging.c, options.h, parse.c,
25024         parse.lex, parse.yacc, pathnames.h.in, putenv.c, strdup.c, sudo.c,
25025         sudo.h, sudo_setenv.c, testsudoers.c, tgetpass.c, utime.c,
25026         version.h, visudo.c:
25027         updated version number
25028         [ba7e346d7904]
25029
25030         * README:
25031         updated to reflect version change
25032         [1d15cf1d8cc8]
25033
25034         * configure.in:
25035         --with options now line up ++version
25036         [08ebf625fbca]
25037
25038         * sudo.h:
25039         removed unecesary S/Key stuff
25040         [68188cba90af]
25041
25042         * configure.in:
25043         fixed S/Key support
25044         [f6d9cbc36618]
25045
25046         * Makefile.in:
25047         -I stuff now goes in CPPFLAGS
25048         [7b8e53c5b046]
25049
25050         * check.c:
25051         fixed SKey support
25052         [52c1a5cf4435]
25053
25054         * README:
25055         updated version
25056         [bed6498a10bb]
25057
25058         * OPTIONS:
25059         fixed description of EXEMPTGROUP
25060         [cfeead55edc2]
25061
25062         * sudo.c:
25063         more people use _RLD_ than just alphas...
25064         [6a3c7090a6f6]
25065
25066         * Makefile.in:
25067         replaced $man_prefix with $mandir
25068         [dc4b36a550e2]
25069
25070         * configure.in:
25071         fixed a typo
25072         [a38a4acddcaf]
25073
25074         * Makefile.in:
25075         now use more GNU'ish dir names
25076         [c5498391a520]
25077
25078         * configure.in:
25079         now set *dir correctly (can override from command line)
25080         [523ff98fd438]
25081
25082         * sudo.c:
25083         now deal with situations where we getwd() fails
25084         [88a9e61dccbb]
25085
25086 1995-11-17  Todd C. Miller  <Todd.Miller@courtesan.com>
25087
25088         * Makefile.in:
25089         added etc_dir, bin_dir, sbin_dir
25090         [75fd08d92842]
25091
25092         * configure.in:
25093         added sbin_dir
25094         [3cb318c0d8d1]
25095
25096         * Makefile.in:
25097         now ship a flex-generated lex.yy.c
25098         [4d083ed70dce]
25099
25100         * Makefile.in:
25101         now sets _PATH_SUDO_SUDOERS, _PATH_SUDO_STMP, SUDOERS_OWNER
25102         [4d51dc9c3780]
25103
25104         * pathnames.h.in:
25105         _PATH_SUDO_SUDOERS & _PATH_SUDO_STMP are now overridden via Makefile
25106         [773fd163d52f]
25107
25108         * options.h:
25109         no more error for redefining SUDOERS_OWNER
25110         [4ba336644c6a]
25111
25112         * OPTIONS:
25113         expanded SUDOERS_OWNER section
25114         [12fae405759e]
25115
25116 1995-11-16  Todd C. Miller  <Todd.Miller@courtesan.com>
25117
25118         * visudo.c:
25119         now warn if chown(2) failed
25120         [d0d1db6e3a1f]
25121
25122         * logging.c:
25123         better default warning for NO_SUDOERS_FILE
25124         [5260b458ac64]
25125
25126         * sudo.c:
25127         added missing set_perms() no more cryptic message if the sudoers
25128         file is zero length, now just give a parse error
25129         [b81ea724838a]
25130
25131         * logging.c:
25132         better diagnostics if NO_SUDOERS_FILE
25133         [877e878663c5]
25134
25135         * sudo.c:
25136         check_sudoers() now catches sudoers files that are not readable (but
25137         are stat'able).
25138         [fea05663b3de]
25139
25140 1995-11-13  Todd C. Miller  <Todd.Miller@courtesan.com>
25141
25142         * configure.in:
25143         now add -D__STDC__ for convex cc (not gcc)
25144         [c80fc53ff51b]
25145
25146         * configure.in:
25147         MAN_PREFIX -> man_prefix now sets prefix and exec_prefix
25148         [fe238226a057]
25149
25150         * Makefile.in:
25151         now uses exec_prefix & prefix from configure
25152         [f62fca5f56bd]
25153
25154         * find_path.c, getwd.c, goodpath.c, interfaces.c, logging.c, parse.c,
25155         parse.lex, parse.yacc, sudo.c, sudo.h, sudo_setenv.c, tgetpass.c,
25156         utime.c, visudo.c:
25157         options.h is now <> instead of "" so shadow build trees can have a
25158         custom copy of options.h
25159         [e6782676099c]
25160
25161         * check.c:
25162         user_is_exempt() is no longer a hack, it now uses getgrnam()
25163         [287f8d5356f7]
25164
25165         * options.h:
25166         EXEMPTGROUP is now "sudo"
25167         [61487304dbe1]
25168
25169         * configure.in:
25170         MAN_POSTINSTALL now contains a leading space
25171         [eaad4ac34012]
25172
25173         * Makefile.in:
25174         removed leading tab if @MAN_POSTINSTALL@ not defined now removes
25175         testsudoers in clean:
25176         [e01711baceb8]
25177
25178         * tgetpass.c:
25179         includes pwd.h to get _PASSWD_LEN definition
25180         [8ec174f263f1]
25181
25182 1995-10-30  Todd C. Miller  <Todd.Miller@courtesan.com>
25183
25184         * sudo.c:
25185         unset the KRB_CONF envariable if using kerberos so we don't get
25186         spoofed into using a bogus server
25187         [2561a0274fca]
25188
25189 1995-09-29  Todd C. Miller  <Todd.Miller@courtesan.com>
25190
25191         * parse.yacc:
25192         now explicately initialize match[] tp be FALSE
25193         [0e45e5c47766]
25194
25195 1995-09-23  Todd C. Miller  <Todd.Miller@courtesan.com>
25196
25197         * sudo.c:
25198         removed unused variable now passes -Wall
25199         [3452508bc16d]
25200
25201         * parse.yacc:
25202         yyerror and dumpaliases are now void's now passes -Wall
25203         [2769dfb51993]
25204
25205         * parse.lex:
25206         added prototype for yyerror
25207         [1f3f0c1b4ab4]
25208
25209         * check.c, logging.c, parse.c:
25210         now passes -Wall
25211         [eab57e5e81d2]
25212
25213         * interfaces.c:
25214         rmeoved unused cruft now passes -Wall
25215         [7a47e1866f4b]
25216
25217         * Makefile.in:
25218         fixed headers that moved to emul dir
25219         [e680c1e5049b]
25220
25221         * logging.c:
25222         fixed deref of nil pointer if no args
25223         [973b9bea432f]
25224
25225 1995-09-15  Todd C. Miller  <Todd.Miller@courtesan.com>
25226
25227         * OPTIONS:
25228         added a caveat to FQDN section
25229         [dcf6e2a5fff4]
25230
25231 1995-09-13  Todd C. Miller  <Todd.Miller@courtesan.com>
25232
25233         * Makefile.in:
25234         more $srcdir support for install targets
25235         [f6eac78436dd]
25236
25237         * find_path.c, interfaces.c, parse.c, parse.lex, parse.yacc, putenv.c,
25238         strdup.c, sudo.c, sudo_setenv.c, testsudoers.c, visudo.c:
25239         don't include malloc.h if we include stdlib.h
25240         [fca2ff307cd8]
25241
25242         * parse.yacc:
25243         local search.h now lives in emul
25244         [51c458904424]
25245
25246         * check.c, utime.c:
25247         local utime.h now lives in emul dir
25248         [f92fc9e8c8de]
25249
25250         * lsearch.c:
25251         local search.h now lives in emul
25252         [579efc407439]
25253
25254         * Makefile.in:
25255         added support for building in other than the sourcedir
25256         [2ab53a43f7d4]
25257
25258 1995-09-10  Todd C. Miller  <Todd.Miller@courtesan.com>
25259
25260         * OPTIONS:
25261         annotated CSOPS_INSULTS option
25262         [9e57d45a0afa]
25263
25264         * TROUBLESHOOTING:
25265         updated shadow passwords blurb
25266         [39b785bc7253]
25267
25268         * sudo.c:
25269         if SHELL_IF_NO_ARGS is set, "sudo -- foo" now runs a shell and
25270         passes along foo as the arguments
25271         [a91077aa8fc5]
25272
25273 1995-09-09  Todd C. Miller  <Todd.Miller@courtesan.com>
25274
25275         * parse.lex:
25276         collapsed pathname and dir sections into one -- its now less
25277         expensive
25278         [89caa03bec25]
25279
25280         * parse.lex:
25281         fixed spacing quoting [,:\\=] now works correctly append() and
25282         fill() now take args to make the above work
25283         [09d023d9ef3a]
25284
25285         * sudo.c:
25286         fixed a typo that caused commands with no tty on fd 0 but a tty on
25287         fd 1 to erroneously have "none" as their tty
25288         [07d2c0e7977c]
25289
25290 1995-09-04  Todd C. Miller  <Todd.Miller@courtesan.com>
25291
25292         * check.c:
25293         timestampfile is now a global static removed decl of timestampfile
25294         in remove_timestamp since we can just use the global one
25295         [f0cbdc6aab1c]
25296
25297         * check.c:
25298         created touch() to update timestamps added USE_TTY_TICKETS support
25299         (bit of a kludge)
25300         [cee1dd0318f8]
25301
25302         * compat.h:
25303         added _S_IFDIR and S_ISDIR
25304         [b4a51cc9628e]
25305
25306         * OPTIONS, options.h:
25307         added USE_TTY_TICKETS
25308         [b4e22f81f25e]
25309
25310         * parse.yacc:
25311         removed const from casts for lsearch() & lfind() to placate irix 4.x
25312         C compiler
25313         [5003081f76ea]
25314
25315 1995-09-03  Todd C. Miller  <Todd.Miller@courtesan.com>
25316
25317         * sudo.c:
25318         now only strip '/dev/' off of a tty if it starts with '/dev/'
25319         [7f62bcd24039]
25320
25321         * pathnames.h.in:
25322         added _PATH_DEV
25323         [6375f44d1910]
25324
25325         * configure.in:
25326         AC_HAVE_HEADERS -> AC_CHECK_HEADERS now check for tcgetattr only if
25327         have termios.h
25328         [9c60391235fd]
25329
25330         * tgetpass.c:
25331         fixed incorrect #ifdef termio uses "unsigned short" not int for
25332         c_?flag
25333         [d032e6a29845]
25334
25335         * parse.lex, parse.yacc:
25336         fixed a spelling error
25337         [cad6a944c7b1]
25338
25339         * Makefile.in:
25340         fixed typo
25341         [204a65403e7c]
25342
25343 1995-09-02  Todd C. Miller  <Todd.Miller@courtesan.com>
25344
25345         * Makefile.in:
25346         fixed a comment
25347         [268f760e57ad]
25348
25349         * parse.yacc:
25350         added dotcat() to cat 2 strings w/ a dot effeciently now that we
25351         dynamically allocate strings they need to be free()'d
25352         [ec2e2152f415]
25353
25354         * parse.lex:
25355         dynamically allocates space for strings
25356         [d10ac3533d66]
25357
25358         * sudo.h:
25359         no more MAXCOMMANDLENGTH
25360         [e2e1219bff8a]
25361
25362         * sudo.h:
25363         added decl of tty
25364         [c8ae81303ee5]
25365
25366         * logging.c, sudo.c:
25367         moved tty stuff into sudo.c
25368         [e028abefeb07]
25369
25370 1995-09-01  Todd C. Miller  <Todd.Miller@courtesan.com>
25371
25372         * parse.c:
25373         fixed a logic bug. Was denying a command if user gave command line
25374         args but there were none in the sudoers file which is wrong.
25375         [7489a99b8e8a]
25376
25377         * sudo.h:
25378         MAXCOMMMANDLEN dropped down to 1K
25379         [38ef54ba290b]
25380
25381         * parse.lex:
25382         return foo; -> return(foo);
25383         [0e8be1b57001]
25384
25385         * parse.yacc:
25386         fixed netgr_matches() prototype
25387         [e69f15910464]
25388
25389         * parse.lex:
25390         added support for escaping "termination" characters
25391         [8bd4ef50f35c]
25392
25393         * parse.c:
25394         buf is now of size MAXPATHLEN+1 since it never holds command args
25395         [2ce4b763058c]
25396
25397         * sudo.c:
25398         fixed comments
25399         [0c74a3d2ebb0]
25400
25401         * goodpath.c:
25402         fixed negation problem (doh!)
25403         [782814e3a2d1]
25404
25405         * parse.yacc:
25406         fixed 2nd parameter to lfind()
25407         [63d7b1623c08]
25408
25409         * parse.lex:
25410         now do bounds checking in fill() and append()
25411         [54381b563251]
25412
25413         * sudo.c:
25414         include netdb.h as we should added a missing void cast added
25415         SHELL_IF_NO_ARGS support now use realloc() properly. would fail if
25416         realloc actually moved the string instead of shrinking it
25417         [897ccdec9c06]
25418
25419         * sample.sudoers:
25420         updated with examples of new features
25421         [9b3ed00e8aa6]
25422
25423         * goodpath.c:
25424         now set errno to EACCES if not a regular file or not executable
25425         [2d069548a5ea]
25426
25427         * find_path.c:
25428         if given a fully-qualified or relative path we now check it with
25429         sudo_goodpath() and error out with the appropriate error message if
25430         the file does not exist or is not executable
25431         [590f89dd8dec]
25432
25433         * emul/search.h, lsearch.c:
25434         now use correct args for lfind
25435         [fccdcdbf020e]
25436
25437         * logging.c:
25438         added a comment
25439         [fab9f49708ea]
25440
25441         * insults.h:
25442         added in CSOps insults
25443         [ad8eb1862adc]
25444
25445         * ins_csops.h:
25446         Initial revision
25447         [de5a475ec018]
25448
25449         * tgetpass.c:
25450         added RCS id
25451         [c3ffd550a482]
25452
25453         * sudo.h:
25454         increased MAXCOMMANDLENGTH to 8k HAVE_GETCWD -> HAVE_GETWD
25455         [aba25c90d08a]
25456
25457         * OPTIONS:
25458         added CLASSIC_INSULTS, CSOPS_INSULTS, SHELL_IF_NO_ARGS
25459         [e27bd62e9ccf]
25460
25461         * sudo.c:
25462         fixed -k load_interfaces() now gets called if FQDN is set
25463         -p now works with -s
25464         [07ca2a34bae8]
25465
25466         * parse.c:
25467         don't try to stat() "pseudo commands" like "validate"
25468         [75527045984b]
25469
25470         * options.h:
25471         added CLASSIC_INSULTS added CSOPS_INSULTS added SHELL_IF_NO_ARGS
25472         [07b157a0eafd]
25473
25474         * configure.in:
25475         added SecurID support added other insults to --with-csops
25476         [6c992ceb244c]
25477
25478         * config.h.in:
25479         added HAVE_SECURID
25480         [e734ff617fe8]
25481
25482         * Makefile.in:
25483         added clobber target added ins_csops.h now gets CFLAGS from
25484         configure
25485         [d1e29c7cec25]
25486
25487         * aclocal.m4:
25488         relaxed SUDO_FULL_VOID
25489         [fb4084f27406]
25490
25491         * visudo.c:
25492         function comment blocks are now in same style as rest of code
25493         [04a2931354c5]
25494
25495         * testsudoers.c:
25496         added support for command line args in /etc/sudoers
25497         [bfe4e1bcc655]
25498
25499         * sudoers.man:
25500         updated to have command args in the sudoers file
25501         [1cd34355e9ea]
25502
25503         * sudo.man:
25504         added -s and -- flags added SHELL to ENVIRONMENT VARIABLES section
25505         [930b48023b68]
25506
25507 1995-08-19  Todd C. Miller  <Todd.Miller@courtesan.com>
25508
25509         * parse.yacc:
25510         PATH renamed to COMMAND
25511         [4e109a6de3cd]
25512
25513         * parse.lex:
25514         it is now a parse error for directories to have args attached to
25515         them
25516         [2ab10a146b54]
25517
25518         * logging.c:
25519         now say command args if telling user to buzz off
25520         [933de26ded8b]
25521
25522         * sudo.c:
25523         -s no longer indicates end of args sped up loading on cmnd_args in
25524         load_cmnd()
25525         [eac99a4da862]
25526
25527         * parse.c:
25528         removed an unreachable statement
25529         [634302623c49]
25530
25531         * parse.lex:
25532         made more efficient by pulling out the terminators when in GOTCMND
25533         state and making them their own rule
25534         [80798f1e1166]
25535
25536 1995-08-14  Todd C. Miller  <Todd.Miller@courtesan.com>
25537
25538         * sudo.h:
25539         removed MAXLOGLEN since it is no longer used
25540         [102824196b71]
25541
25542         * parse.lex:
25543         now allows command args
25544         [d29dfa1e5254]
25545
25546         * parse.c:
25547         now groks command arguments
25548         [6c414cb7f105]
25549
25550         * logging.c:
25551         now sets tty correctly when piped input
25552         [de46a30c0406]
25553
25554         * sudo.c:
25555         fixed loading of cmnd_args (was including command name too)
25556         [15319a425ea6]
25557
25558         * logging.c:
25559         fixed a core dump due to incorrect if construct
25560         [582363c7d7fa]
25561
25562 1995-08-13  Todd C. Miller  <Todd.Miller@courtesan.com>
25563
25564         * configure.in:
25565         only add -lsun is irix < 5 don't look for -lnsl or -lsocket if irix
25566         [da591fe9b931]
25567
25568         * aclocal.m4:
25569         fixed check for ISC
25570         [52e59f2082a7]
25571
25572         * sudo.c:
25573         now sets cmnd_args used by log_error() and that will be used by the
25574         parse to check against command args
25575         [c6804389723b]
25576
25577         * sudo.h:
25578         added cmnd_args
25579         [4d00446b4a8d]
25580
25581         * logging.c:
25582         now dynamically allocate logline since we can guess at its size
25583         [4bed8c8446aa]
25584
25585 1995-08-05  Todd C. Miller  <Todd.Miller@courtesan.com>
25586
25587         * logging.c:
25588         cleaned up a bunch of unnecesary #ifdef's eliminated a buffer remove
25589         "register" since the compiler knows more than I do now do a
25590         "basename" of the tty
25591         [3b1bbf0b3da1]
25592
25593 1995-07-31  Todd C. Miller  <Todd.Miller@courtesan.com>
25594
25595         * configure.in:
25596         ++version
25597         [5ce552f9a5f1]
25598
25599         * sudo.h:
25600         added shell extern changed MODE_* to be bit masks to allow for
25601         several options together
25602         [06f9dc4f400c]
25603
25604         * sudo.c:
25605         added -s (shell) option made MODE_* masks so we can do bitwise & and
25606         | to see if multiple flags are set.
25607         [01f8143010ad]
25608
25609         * check.c:
25610         added securid support
25611         [909e078005fe]
25612
25613 1995-07-30  Todd C. Miller  <Todd.Miller@courtesan.com>
25614
25615         * logging.c:
25616         removed a bunch of unnecesary strncpy()'s and replaced with strcat()
25617         [644506b57d61]
25618
25619 1995-07-29  Todd C. Miller  <Todd.Miller@courtesan.com>
25620
25621         * Makefile.in, version.h:
25622         ++version
25623         [3cd6f1fbc3d9]
25624
25625 1995-07-27  Todd C. Miller  <Todd.Miller@courtesan.com>
25626
25627         * parse.yacc:
25628         fixed free() of an uninitialized pointer (yuck)
25629         [8c404ee502ee]
25630
25631         * testsudoers.c:
25632         added netgr_matches
25633         [e7c9fa2f774c]
25634
25635         * parse.c:
25636         cleaned up netgr_matches
25637         [8108f00b810e]
25638
25639 1995-07-26  Todd C. Miller  <Todd.Miller@courtesan.com>
25640
25641         * RUNSON:
25642         updated for 1.3.4
25643         [4741704310a1]
25644
25645 1995-07-25  Todd C. Miller  <Todd.Miller@courtesan.com>
25646
25647         * Makefile.in:
25648         now installs sudoers.man -- really should clean this up though.
25649         [455631d45a1d]
25650
25651         * Makefile.in:
25652         added sudoers.cat and sudoers.man
25653         [0bdedd6c7363]
25654
25655         * sudo.man:
25656         pulled out stuff on the sudoers file format into a separate man page
25657         [de215d999cb9]
25658
25659         * sudoers.man:
25660         Initial revision
25661         [f25eafbb7095]
25662
25663         * HISTORY:
25664         fixed up my email address
25665         [254fbf80be74]
25666
25667         * configure.in:
25668         added checks for innetgr and getdomainname
25669         [24a99cb7e97e]
25670
25671         * visudo.c:
25672         added dummy netgr_matches function
25673         [1841ff2c01da]
25674
25675         * parse.c:
25676         added netgr_matches
25677         [ec90db6a97b8]
25678
25679         * parse.lex, parse.yacc:
25680         added NETGROUP support
25681         [c9dd93e3bc4b]
25682
25683         * config.h.in:
25684         added HAVE_INNETGR & HAVE_GETDOMAINNAME
25685         [14abd494d875]
25686
25687 1995-07-24  Todd C. Miller  <Todd.Miller@courtesan.com>
25688
25689         * sudo.c:
25690         rewrote clean_env() that has rm_env() builtin
25691         [55cb43818a95]
25692
25693 1995-07-23  Todd C. Miller  <Todd.Miller@courtesan.com>
25694
25695         * check.c:
25696         now cast uid to long in sprintf
25697         [b549eea40aeb]
25698
25699         * OPTIONS:
25700         added _INSULTS suffix to HAL & GOONS end
25701         [ed620d0aad30]
25702
25703         * options.h:
25704         added _INSULTS suffix to HAL & GOONS
25705         [9f72e9b83afd]
25706
25707         * ins_2001.h, ins_classic.h, ins_goons.h, insults.h:
25708         converted to new scheme of insult "unions" end
25709         [2f6d2b412132]
25710
25711         * sudo.c:
25712         now uses MAX_UID_T_LEN
25713         [c1df79e0f389]
25714
25715         * configure.in:
25716         added SUDO_UID_T_LEN !l
25717         [195f0b9f5f84]
25718
25719         * config.h.in:
25720         added MAX_UID_T_LEN
25721         [73f42ae4f14d]
25722
25723         * check.c:
25724         now use MAX_UID_T_LEN
25725         [df9c063234cb]
25726
25727         * aclocal.m4:
25728         added check for max len of uid_t fixed sco vs. isc check
25729         [d558f36d2223]
25730
25731 1995-07-19  Todd C. Miller  <Todd.Miller@courtesan.com>
25732
25733         * configure.in:
25734         corrected version
25735         [828dd1571e86]
25736
25737         * configure.in:
25738         added sco support
25739         [af1e2f616638]
25740
25741         * aclocal.m4:
25742         hack to check for sco
25743         [549ab99a9a43]
25744
25745         * interfaces.c:
25746         removed #include <net/route.h> since it was hosing some OS's
25747         [ac78a7c04005]
25748
25749 1995-07-18  Todd C. Miller  <Todd.Miller@courtesan.com>
25750
25751         * find_path.c:
25752         fixed prreadlink() prototype
25753         [b380fe1f2b11]
25754
25755         * check.c:
25756         added parens in #if's
25757         [e96ade691b82]
25758
25759         * configure.in:
25760         added SPW_ prefix
25761         [a302683a1483]
25762
25763         * sudo.h:
25764         moved SPW_* to config.h.in
25765         [6b3be70e34cf]
25766
25767         * sudo.c:
25768         added a set of parens
25769         [8188d735d695]
25770
25771         * config.h.in:
25772         added SPW_*
25773         [5ead6371cf60]
25774
25775         * sudo.h:
25776         added SPW_* reordered error codes
25777         [dead25b4ed0a]
25778
25779         * check.c:
25780         moved SPW_* to sudo.h
25781         [ca51fb04caf4]
25782
25783 1995-07-17  Todd C. Miller  <Todd.Miller@courtesan.com>
25784
25785         * sudo.c:
25786         SPW_AUTH -> SPW_SECUREWARE
25787         [6b512b2bc5dc]
25788
25789         * logging.c:
25790         GLOBAL_NO_AUTH_ENT -> GLOBAL_NO_SPW_ENT
25791         [defdd0944e2f]
25792
25793         * configure.in:
25794         AUTH -> SECUREWARE
25795         [d1f8a17001dd]
25796
25797         * check.c:
25798         SPW_AUTH -> SPW_SECUREWARE
25799         [af0e8d8b89b2]
25800
25801         * check.c:
25802         now uses SHADOW_TYPE to make shadow pw support more readable and
25803         modular. It's a start...
25804         [8c2a59667014]
25805
25806         * configure.in:
25807         added autodetection of shadow passwords
25808         [85f81fa54b1b]
25809
25810         * sudo.c:
25811         now uses SHADOW_TYPE define
25812         [355e5dc09b07]
25813
25814         * config.h.in:
25815         added SHADOW_TYPE which replaces SUNOS4 & __svr4__ defines
25816         [c0c06e83e483]
25817
25818         * aclocal.m4:
25819         added SUDO_CHECK_SHADOW
25820         [464301301639]
25821
25822 1995-07-12  Todd C. Miller  <Todd.Miller@courtesan.com>
25823
25824         * configure.in:
25825         define SVR4 for ISC define BROKEN_SYSLOG for hpux took out test for
25826         memmove() since we dno longer use it...
25827         [8aefa87d7d31]
25828
25829         * CHANGES:
25830         updated
25831         [ce97b3fd7182]
25832
25833         * logging.c:
25834         added BROKEN_SYSLOG support
25835         [a45c3bca36f6]
25836
25837         * config.h.in:
25838         added BROKEN_SYSLOG
25839         [6f6abf0a6268]
25840
25841         * check.c:
25842         now only bitch it timestamp > time_now + 2 * timeout to allow for a
25843         machine udpating its time from a server
25844         [546bc8d35325]
25845
25846         * sudo.man:
25847         added 2 security notes updated Nieusma's email addr
25848         [616756c56977]
25849
25850         * lsearch.c:
25851         changed a memmove() to memcpy() since we don't have to worry about
25852         overlapping segments.
25853         [30baa478526b]
25854
25855 1995-07-11  Todd C. Miller  <Todd.Miller@courtesan.com>
25856
25857         * interfaces.c:
25858         cleanup up the loop when interfaces are groped in so that it is
25859         readable
25860         [1fa39446bd69]
25861
25862         * Makefile.in, version.h:
25863         ++version
25864         [b46bd2b1770f]
25865
25866 1995-07-09  Todd C. Miller  <Todd.Miller@courtesan.com>
25867
25868         * CHANGES:
25869         annotated 124-126
25870         [b82a2b3ec7ce]
25871
25872 1995-07-07  Todd C. Miller  <Todd.Miller@courtesan.com>
25873
25874         * check.c:
25875         fixed permissions check on /tmp/.odus
25876         [cc2431a65468]
25877
25878 1995-07-06  Todd C. Miller  <Todd.Miller@courtesan.com>
25879
25880         * check.c:
25881         fixed some comments
25882         [8896d09b4fda]
25883
25884         * check.c:
25885         now checks owner & mode of timedir also checks for bogus dates on
25886         timestamp file
25887         [a0fad5df5b0a]
25888
25889         * OPTIONS:
25890         updated TIMEOUT info
25891         [033cc22d9e04]
25892
25893         * logging.c, sudo.h:
25894         added BAD_STAMPDIR and BAD_STAMPFILE
25895         [31d9ce691101]
25896
25897         * compat.h:
25898         added definition of S_IRWXU
25899         [ff2dab091a9b]
25900
25901         * CHANGES:
25902         updated
25903         [a40df90284f1]
25904
25905 1995-07-03  Todd C. Miller  <Todd.Miller@courtesan.com>
25906
25907         * interfaces.c:
25908         added #ifdef to make it compile on strange arches
25909         [4a127f12afce]
25910
25911 1995-07-02  Todd C. Miller  <Todd.Miller@courtesan.com>
25912
25913         * aclocal.m4:
25914         fixed check for fulkl void impl.
25915         [b6f2a4a361d8]
25916
25917         * check.c:
25918         added mssing "static"
25919         [520552f2772b]
25920
25921         * insults.h:
25922         replaced #elif with #else #if constructs for ancient C compilers
25923         [39ab2d365b57]
25924
25925         * INSTALL:
25926         updated irix c2 & kerb5 info
25927         [ae79b99b4905]
25928
25929         * configure.in:
25930         added shadow pw support for irix
25931         [632469d9c528]
25932
25933 1995-07-01  Todd C. Miller  <Todd.Miller@courtesan.com>
25934
25935         * BUGS, TODO:
25936         updated
25937         [2a96bb18ac30]
25938
25939         * CHANGES:
25940         last changes for sudo 1.3.3
25941         [c1c0cd1034b8]
25942
25943         * configure.in:
25944         now calls SUDO_SOCK_SA_LEN
25945         [14ea78159d45]
25946
25947         * config.h.in:
25948         added HAVE_SA_LEN
25949         [cc2a346aa905]
25950
25951         * aclocal.m4:
25952         added SUDO_SOCK_SA_LEN
25953         [456a2025644a]
25954
25955         * interfaces.c:
25956         now works with ip implementations that use sa_len in sockaddr
25957         [90be6e028077]
25958
25959         * INSTALL:
25960         added note about buggy AIX compiler
25961         [c0f6d427e4e4]
25962
25963         * interfaces.c:
25964         now include sys/time.h for AIX
25965         [2510858ab38b]
25966
25967 1995-06-28  Todd C. Miller  <Todd.Miller@courtesan.com>
25968
25969         * Makefile.in:
25970         getcwd -> getwd
25971         [66085ebca98e]
25972
25973         * interfaces.c:
25974         now works for ISC and others. yay.
25975         [f336d4ffc927]
25976
25977 1995-06-26  Todd C. Miller  <Todd.Miller@courtesan.com>
25978
25979         * Makefile.in, version.h:
25980         version++
25981         [836cffc2078d]
25982
25983 1995-06-23  Todd C. Miller  <Todd.Miller@courtesan.com>
25984
25985         * aclocal.m4:
25986         fixed test for full void impl
25987         [fb004107e7b9]
25988
25989         * sudo.c:
25990         now check to see that st_dev is non-zero before assuming that we are
25991         being spoofed
25992         [1b0e1c30c506]
25993
25994 1995-06-20  Todd C. Miller  <Todd.Miller@courtesan.com>
25995
25996         * aclocal.m4, configure.in:
25997         SUDO_FUNC_UTIME_NULL -> AC_FUNC_UTIME_NULL
25998         [4953379bfb01]
25999
26000 1995-06-19  Todd C. Miller  <Todd.Miller@courtesan.com>
26001
26002         * aclocal.m4:
26003         fixed include file order for SUDO_FUNC_UTIME_POSIX
26004         [ff64ab7df44f]
26005
26006         * logging.c:
26007         added cast for ttyname()
26008         [444f05f56758]
26009
26010         * configure.in:
26011         fixed typo
26012         [de068e748431]
26013
26014         * check.c:
26015         now deal correctly with all known variation of utime() -- yippe
26016         [b778a4195a89]
26017
26018         * configure.in:
26019         added SUDO_FUNC_UTIME_POSIX
26020         [cf635f2269d6]
26021
26022         * aclocal.m4:
26023         added SUDO_FUNC_UTIME_NULL and SUDO_FUNC_UTIME_POSIX
26024         [d79593be4b73]
26025
26026         * config.h.in:
26027         added HAVE_UTIME_POSIX
26028         [c67b4ac0dca5]
26029
26030         * check.c:
26031         fixed a typo
26032         [b14df5680f59]
26033
26034         * check.c:
26035         no longer assume !HAVE_UTIME_NULL means old BSD utime()
26036         [0aeaf4b2f38b]
26037
26038         * check.c:
26039         fixed fascist C compiler warning
26040         [c61ddf2f1f93]
26041
26042         * interfaces.c:
26043         now set strioctl.ic_timout in STRSET() now initialize num_interfaces
26044         to 0 (just to be anal)
26045         [c54cc2ba0052]
26046
26047 1995-06-18  Todd C. Miller  <Todd.Miller@courtesan.com>
26048
26049         * sudo.h:
26050         increaed MAXLOGLEN by MAXPATHLEN to account for ttyname
26051         [74cf585a54fb]
26052
26053         * logging.c:
26054         added tty logging
26055         [e27d8dcfbd78]
26056
26057         * interfaces.c:
26058         reworked the ISC code
26059         [bcf57ce8ae69]
26060
26061         * Makefile.in, version.h:
26062         updated version
26063         [032941c9b94d]
26064
26065         * check.c:
26066         now expect old-style utime(3) if utime() can't take NULL as an arg
26067         [018dd4a73030]
26068
26069         * configure.in:
26070         added check for utime.h
26071         [0b76e8feb618]
26072
26073         * config.h.in:
26074         added HAVE_UTIME_H
26075         [62ee42feda46]
26076
26077         * Makefile.in:
26078         added CPPFLAGS STATIC_FLAGS -> LDFLAGS
26079         [fa3201d294e1]
26080
26081         * configure.in:
26082         now search for kerb libs and includes
26083         [cc332401e571]
26084
26085         * check.c:
26086         added support for utime(2)'s that can't take a NULL parameter
26087         [98797fedf69f]
26088
26089         * utime.c:
26090         moved HAVE_UTIME_NULL stuff to update_timestamp() where t belongs
26091         [6ce6d825fb44]
26092
26093         * configure.in:
26094         added utime(s) stuff
26095         [a2afb744403e]
26096
26097         * check.c:
26098         now use utime()
26099         [48902240a51e]
26100
26101         * config.h.in:
26102         added HAVE_UTIME and HAVE_UTIME_NULL
26103         [9a56ab65d4f4]
26104
26105 1995-06-17  Todd C. Miller  <Todd.Miller@courtesan.com>
26106
26107         * utime.c:
26108         now use HAVE_UTIME_NULL
26109         [e3944de09a92]
26110
26111         * emul/utime.h, utime.c:
26112         Initial revision
26113         [a2cbf2ef3427]
26114
26115         * check.c:
26116         need to setuid(0) to make kerb4 stuff work.
26117         [c6cfda4039d7]
26118
26119         * tgetpass.c:
26120         no more special case for kerberos
26121         [4a5c33145be9]
26122
26123         * config.h.in:
26124         took out setreuid and setresuid stuff added kerb5 stuff (use kerb4
26125         emulation)
26126         [a607ee43e650]
26127
26128         * compat.h:
26129         no longer need setreuid() emulation now set _PASSWD_LEN to 128 if
26130         kerberos
26131         [02fb274cc136]
26132
26133         * check.c:
26134         now use private ticket file for kerberos support to avoid trouncing
26135         on system one
26136         [28d8b6b812c7]
26137
26138 1995-06-15  Todd C. Miller  <Todd.Miller@courtesan.com>
26139
26140         * sudo.h:
26141         added SPOOF_ATTEMPT & cmnd_st
26142         [d3b42a1f4d0d]
26143
26144         * sudo.c:
26145         added anti-spoofing support
26146         [ab1e2aa44a57]
26147
26148         * parse.c:
26149         now use global cmnd_st
26150         [47018265a1a6]
26151
26152         * logging.c:
26153         added SPOOF_ATTEMPT suypport
26154         [7bbe9dd2a021]
26155
26156         * testsudoers.c, visudo.c:
26157         added void casts where appropriate
26158         [f191441ba333]
26159
26160         * parse.yacc:
26161         fixed up spacing and added void casts where appropriate
26162         [15d886fc809c]
26163
26164         * sudo.c:
26165         fixed problem with "-p prompt" but no args
26166         [6fc048261a3e]
26167
26168 1995-06-14  Todd C. Miller  <Todd.Miller@courtesan.com>
26169
26170         * sudo.man:
26171         added BUGS and annotated -l description
26172         [e5c506de2603]
26173
26174         * sudo.h:
26175         validate() now takes a flag
26176         [26627becc60a]
26177
26178         * sudo.c:
26179         validate() now takes a flag added -l
26180         [a4f7bb97fe54]
26181
26182         * parse.yacc:
26183         added support for -l
26184         [e7a9b10b0ad3]
26185
26186         * parse.c:
26187         validate() now takes a flag that says whether or not to check the
26188         command
26189         [9e1e67f4e281]
26190
26191 1995-06-08  Todd C. Miller  <Todd.Miller@courtesan.com>
26192
26193         * logging.c:
26194         now deals with Argv == 1
26195         [0acb637ab635]
26196
26197         * sudo.man:
26198         added -p option
26199         [e60382fc0561]
26200
26201         * sudo.c:
26202         added prompt support reworked parse_args()
26203         [2f605267ed4a]
26204
26205         * sudo.h:
26206         added prompt
26207         [5ab021bdb419]
26208
26209         * options.h:
26210         added PASSPROMPT
26211         [614727ff44a2]
26212
26213         * check.c:
26214         now use BUFSIZ as length of kerb password added kpass so pass is
26215         always a char * now use prompt global when asking for a password
26216         [76be09af784f]
26217
26218         * tgetpass.c:
26219         now use BUFSIZ as _PASSWD_LEN if using kerberos
26220         [1e907eed312b]
26221
26222         * OPTIONS:
26223         added PASSPROMPT
26224         [ddb2f405ce40]
26225
26226 1995-06-07  Todd C. Miller  <Todd.Miller@courtesan.com>
26227
26228         * configure.in:
26229         only look for -lufc or -lcrypt if crypt() not in libc
26230         [9717d315661f]
26231
26232         * check.c:
26233         don't exit on kerb error, just warn if k_errno == KDC_PR_UNKNOWN
26234         (unknown user) silently fail
26235         [2b48693d4ee9]
26236
26237         * INSTALL:
26238         added kerb4 note
26239         [986e393f740c]
26240
26241         * tgetpass.c:
26242         HAVE_KERBEROS -> HAVE_KERB4
26243         [e438bfb5e6aa]
26244
26245         * check.c:
26246         removed debugging printf
26247         [1cf9f5cbffa5]
26248
26249         * configure.in:
26250         KERBEROS -> KERB4 added checks for setreuid & setresuid
26251         [01e9945beb1e]
26252
26253         * config.h.in:
26254         HAVE_KERBEROS -> HAVE_KERB4 added HAVE_SETREUID and HAVE_SETRESUID
26255         [0e0bb5b8ac3e]
26256
26257         * compat.h:
26258         added deif of UID_NO_CHANGE & GID_NO_CHANGE added setreuid emulation
26259         with setresuid if applic
26260         [9dae24c47696]
26261
26262         * check.c:
26263         HAVE_KERBEROS -> HAVE_KERB4 now only do the stupid chown() hack if
26264         no setreuid() or a broken one
26265         [1fca642bdb8e]
26266
26267 1995-06-06  Todd C. Miller  <Todd.Miller@courtesan.com>
26268
26269         * configure.in:
26270         added kerberos support
26271         [da5639b9b8e7]
26272
26273         * config.h.in:
26274         added HAVE_KERBEROS
26275         [fcc5be550e65]
26276
26277         * tgetpass.c:
26278         added KERBEROS support (long passwords)
26279         [303ba6924dd2]
26280
26281         * check.c:
26282         added kerberos support
26283         [e40afe98fc1d]
26284
26285 1995-06-03  Todd C. Miller  <Todd.Miller@courtesan.com>
26286
26287         * sudo.h:
26288         added MODE_BACKGROUND
26289         [9b483c932016]
26290
26291         * sudo.man:
26292         escaped dashes added -b option
26293         [62e84f1a7714]
26294
26295         * sudo.c:
26296         added -b option
26297         [7e78aaefeb95]
26298
26299         * check.c:
26300         added crypt() for osf/1 3.x enhanced secuiry
26301         [e9aa5abdb7d5]
26302
26303         * configure.in:
26304         now check for -lcrypt
26305         [5cb9c67e9fa2]
26306
26307         * interfaces.c:
26308         added ENXIO like EADDRNOTAVAIL
26309         [74223bb1ba75]
26310
26311 1995-05-08  Todd C. Miller  <Todd.Miller@courtesan.com>
26312
26313         * configure.in:
26314         now emulate getwd(), not getcwd()
26315         [3e5439d9a5f4]
26316
26317         * sudo.c:
26318         getcwd() -> getwd()
26319         [6392a96a658e]
26320
26321         * getwd.c:
26322         getcwd -> getwd
26323         [1b0ab9bae11e]
26324
26325 1995-05-02  Todd C. Miller  <Todd.Miller@courtesan.com>
26326
26327         * ins_2001.h, ins_classic.h, ins_goons.h:
26328         Initial revision
26329         [86db60d8cf00]
26330
26331         * insults.h:
26332         broke out insults into separate include files
26333         [0a01993bd38a]
26334
26335         * OPTIONS, options.h:
26336         added GOONS
26337         [e283203c6515]
26338
26339         * Makefile.in:
26340         added ins_2001.h ins_classic.h ins_goons.h
26341         [2a39cd6a4cd2]
26342
26343         * Makefile.in, version.h:
26344         ++version
26345         [05ebf4f5e41a]
26346
26347         * visudo.c:
26348         moved signal handler setup to setup_signals()
26349         [3dd976c04540]
26350
26351         * sudo.h:
26352         added load_interfaces()
26353         [af2d473b09e2]
26354
26355         * sudo.c:
26356         moved load_interfaces to interfaces.c
26357         [5c8c138e5d4c]
26358
26359         * parse.yacc:
26360         added clearaliases
26361         [aeb4ff301daa]
26362
26363         * OPTIONS, options.h:
26364         added FAST_MATCH
26365         [f49ea3d1b525]
26366
26367         * parse.lex:
26368         now uses clearaliases variable
26369         [a2dda415bf61]
26370
26371         * interfaces.c:
26372         Initial revision
26373         [a1990e3f5c69]
26374
26375         * Makefile.in:
26376         added interfaces.[co]
26377         [1e8e5984de97]
26378
26379         * testsudoers.c:
26380         now uses ip addrs and netmasks via load_interfaces()
26381         [54b8f7a6835e]
26382
26383         * sudo.c:
26384         now remove IFS instead of setting to "sane" value
26385         [ce7eec9f115e]
26386
26387 1995-05-01  Todd C. Miller  <Todd.Miller@courtesan.com>
26388
26389         * parse.c:
26390         added FAST_MATCH
26391         [816d4f5fe81a]
26392
26393 1995-04-30  Todd C. Miller  <Todd.Miller@courtesan.com>
26394
26395         * Makefile.in:
26396         sudo_goodpath.c-> goodpath.c
26397         [a5072c4e1de2]
26398
26399         * sudo.c:
26400         added Andy's new ISC changes
26401         [caa6bbee358e]
26402
26403 1995-04-14  Todd C. Miller  <Todd.Miller@courtesan.com>
26404
26405         * OPTIONS:
26406         added a sentence to SECURE_PATH info
26407         [cad6e1569d15]
26408
26409         * BUGS:
26410         added one
26411         [4b35cf699a83]
26412
26413         * CHANGES:
26414         updated
26415         [5fded9dc62f0]
26416
26417         * RUNSON:
26418         updated
26419         [33cb993cfd39]
26420
26421 1995-04-13  Todd C. Miller  <Todd.Miller@courtesan.com>
26422
26423         * RUNSON:
26424         updated for beta3
26425         [a05dc6a91995]
26426
26427         * Makefile.in, version.h:
26428         ++version
26429         [54aaf3fadc75]
26430
26431         * aclocal.m4:
26432         sendmail is now looked for in \17/usr/ucblib
26433         [231ac1a4662f]
26434
26435         * sudo.c:
26436         fixed indentation
26437         [fb137400c8c2]
26438
26439         * aclocal.m4:
26440         fixed a typo
26441         [e03f1acc468b]
26442
26443         * sudo.c:
26444         updated ISC mods
26445         [070290d4754b]
26446
26447         * configure.in:
26448         added unixware case
26449         [e90250bae0d9]
26450
26451         * check.c:
26452         user_is_exempt is no longer hidden
26453         [1a341765b8af]
26454
26455         * RUNSON:
26456         updated
26457         [a9c4898b26dd]
26458
26459         * aclocal.m4:
26460         isc and riscos changes
26461         [98b5d86585d1]
26462
26463         * OPTIONS:
26464         added NOTE about new interaction of EXEMPTGROUP and SECURE_PATH
26465         [e1ecc464ce4b]
26466
26467         * Makefile.in:
26468         fixed a typo and added testsudoers stuff
26469         [435d60e163dc]
26470
26471         * testsudoers.c:
26472         Initial revision
26473         [6ce14a448662]
26474
26475 1995-04-12  Todd C. Miller  <Todd.Miller@courtesan.com>
26476
26477         * parse.yacc:
26478         applied fixed patch from Chris
26479         [cd6144203d13]
26480
26481 1995-04-11  Todd C. Miller  <Todd.Miller@courtesan.com>
26482
26483         * Makefile.in:
26484         fixed a typo
26485         [34f8a54ba041]
26486
26487         * parse.yacc:
26488         added a set of braces for bison
26489         [f0e43b938914]
26490
26491         * parse.yacc:
26492         merged in Chris' changes to dekludge the parser.
26493         [82d6e373ab1c]
26494
26495         * logging.c:
26496         send_mail() was calling find_path() which is wrong since find_path()
26497         stores cmnd in a static var. Anyhow, it doesn't make much sense
26498         since MAILER should always be fully qualified
26499         [6eae6a0b8098]
26500
26501 1995-04-10  Todd C. Miller  <Todd.Miller@courtesan.com>
26502
26503         * sample.sudoers:
26504         added User_Alias stuff
26505         [aaba8c8e918d]
26506
26507         * aclocal.m4:
26508         SUDO_NEXT now looks for /usr/lib/NextStep/software_version
26509         [52bd81f34b32]
26510
26511         * RUNSON:
26512         added DEC UNIX 3.0 w/ gcc
26513         [7daf570775b5]
26514
26515         * visudo.c:
26516         Exit was being used in places where exit should be used
26517         [6026a89c07ed]
26518
26519         * sudoers:
26520         added "User alias specification"
26521         [a487b6e234f8]
26522
26523         * parse.yacc:
26524         fixed probs caused by making nslots and naliases a size_t
26525         [0be919384f3f]
26526
26527         * RUNSON:
26528         added KSR, upped rev to 1.3.1b2
26529         [ce04ee6faadf]
26530
26531         * logging.c, parse.yacc:
26532         1024 -> BUFSIZ
26533         [cd6dda45fa11]
26534
26535         * parse.yacc:
26536         void * -> VOID * naliases and nslots are now size_t to appease
26537         lsearch on 64-bit machines
26538         [bf2f807c0dc1]
26539
26540 1995-04-09  Todd C. Miller  <Todd.Miller@courtesan.com>
26541
26542         * TODO:
26543         did a bunch of things and added a bunch :-)
26544         [42afd957b829]
26545
26546         * PORTING:
26547         updated
26548         [972f95c85776]
26549
26550         * visudo.man:
26551         closer to BSD manpage style
26552         [07ae88f50325]
26553
26554         * sudo.man:
26555         closer to standard BSD man format
26556         [372c28dcc135]
26557
26558         * compat.h, config.h.in, emul/search.h, insults.h, options.h,
26559         pathnames.h.in, sudo.h, version.h:
26560         added RCS id
26561         [c0ec90b81002]
26562
26563         * sudo.h:
26564         removed crufty #defines that are no longer used
26565         [35e2b4b477f0]
26566
26567         * BUGS:
26568         fixed a bug
26569         [5bb3e1bee85e]
26570
26571         * sudo.man:
26572         updated based on sudo changes
26573         [e65de1cae438]
26574
26575         * parse.yacc:
26576         now allow ALL keyword in User_Aliases now allow ALL keyword as well
26577         as a NAME or ALIAS
26578         [1fb31404dd0f]
26579
26580         * CHANGES:
26581         updated
26582         [b24018ac610b]
26583
26584         * sudo.c:
26585         now sets SUDO_COMMAND and SUDO_GID envariables.
26586         [e9d791557fb7]
26587
26588         * aclocal.m4:
26589         fixed bug with full void impl check
26590         [35715301023c]
26591
26592         * parse.yacc:
26593         fixed User_Alias supoprt
26594         [4c30dfbaaa07]
26595
26596         * parse.yacc:
26597         added stubs for User_Alias support
26598         [f4afbd247edf]
26599
26600         * sudo.c:
26601         now sets removes # bogus interfaces from num_interfaces
26602         [6f077fac9ab1]
26603
26604         * parse.lex:
26605         added User_Alias support
26606         [bc7997e5df85]
26607
26608 1995-04-08  Todd C. Miller  <Todd.Miller@courtesan.com>
26609
26610         * Makefile.in:
26611         removed extraneous TODO
26612         [bc87a3b14d6d]
26613
26614 1995-04-07  Todd C. Miller  <Todd.Miller@courtesan.com>
26615
26616         * visudo.c:
26617         ntwk_matches -> addr_matches
26618         [475044e288b8]
26619
26620         * parse.yacc:
26621         ntwk_matches -> addr_matches
26622         [dd1f4093fd2d]
26623
26624         * parse.c:
26625         ntwk_matches -> addr_matches now use inet_addr() not inet_network()
26626         (which expects octet boundaries) fixes for OSF (sizeof(int) !=
26627         sizeof(long))
26628         [acd2f556940f]
26629
26630         * sudo.c:
26631         took out debugging info
26632         [044023063eca]
26633
26634         * aclocal.m4:
26635         OS was being set to unknown before non-uname based host checks.
26636         This caused no checks to happen since $OS was not zero-length.
26637         [335a7267479d]
26638
26639         * sudo.c:
26640         fixed loading of interfaces struct still has debugging info in
26641         though
26642         [2d1a18998c1e]
26643
26644         * parse.c:
26645         fixed typo
26646         [175674a3a9fa]
26647
26648 1995-04-06  Todd C. Miller  <Todd.Miller@courtesan.com>
26649
26650         * Makefile.in:
26651         ++version
26652         [55d191b5daa3]
26653
26654         * version.h:
26655         ++
26656         [d7d1f115696a]
26657
26658         * visudo.c:
26659         removed extraneous extern decl of "top
26660         [50355621047d]
26661
26662         * visudo.c:
26663         now zeros "top"
26664         [4e683210345b]
26665
26666         * parse.yacc:
26667         removed parser_cleanup (no need for it now)
26668         [afa59f222b6c]
26669
26670         * parse.lex:
26671         now calls reset_aliases() directly
26672         [3a23cbd60fc0]
26673
26674 1995-04-04  Todd C. Miller  <Todd.Miller@courtesan.com>
26675
26676         * OPTIONS:
26677         added a sentence to SECURE_PATH description
26678         [c5bf75b85af0]
26679
26680         * parse.c:
26681         fixed my stupid bug where I used NAMLEN on something I wanted to
26682         just get the name from. argh.
26683         [111f460f6540]
26684
26685 1995-04-03  Todd C. Miller  <Todd.Miller@courtesan.com>
26686
26687         * lsearch.c:
26688         fixed argument order of memmove() that i hosed when converting from
26689         bcopy(). arghh.
26690         [2f5336045c8b]
26691
26692         * Makefile.in:
26693         finally fixed DISTFILES line
26694         [a1b419e73a63]
26695
26696         * Makefile.in:
26697         tabs -> spaces
26698         [280fb03e5764]
26699
26700         * Makefile.in:
26701         added missing files to DISTFILES
26702         [991fc1cd2263]
26703
26704         * Makefile.in:
26705         SUPPORTED -> RUNSON
26706         [7580e65b05fb]
26707
26708 1995-04-01  Todd C. Miller  <Todd.Miller@courtesan.com>
26709
26710         * TODO:
26711         updated
26712         [fe764a29c1cc]
26713
26714         * RUNSON:
26715         updated for pl5b1 release
26716         [aefc35bd2291]
26717
26718         * BUGS, TODO:
26719         updated
26720         [8f0ea249b687]
26721
26722         * check.c:
26723         fixed bug where if you hit return at first sudo prompt it would
26724         still log as a failure
26725         [24539c854692]
26726
26727         * CHANGES:
26728         updated
26729         [251cc7b3ede4]
26730
26731         * aclocal.m4:
26732         better test for bogus void * implementation
26733         [efe23180cb88]
26734
26735         * logging.c:
26736         added PASSWORDS_NOT_CORRECT
26737         [bd12c73f83f7]
26738
26739         * check.c:
26740         added PASSWORDS_NOT_CORRECT stuff]
26741         [90de391a979f]
26742
26743         * sudo.h:
26744         added PASSWORDS_NOT_CORRECT
26745         [727fbeb76fc5]
26746
26747         * tgetpass.c:
26748         moved pathnames.h
26749         [4f910e5a8df7]
26750
26751         * sudo.c:
26752         removed some unused vars and fixed up uid2str
26753         [70e92c7f9076]
26754
26755         * putenv.c:
26756         moved compat.h
26757         [b271091586f6]
26758
26759         * getcwd.c, getwd.c:
26760         added pathnames.h
26761         [6f25218f133f]
26762
26763 1995-03-31  Todd C. Miller  <Todd.Miller@courtesan.com>
26764
26765         * parse.yacc:
26766         fixed a typo I introduced in the last checkin :-(
26767         [62c3af75c4fe]
26768
26769         * parse.lex:
26770         can't have #ifdef's where N is defined so just do this the broken
26771         way for AIX
26772         [c5648a5594e4]
26773
26774         * parse.yacc:
26775         better hack from Chris (but still a hack)
26776         [6b6d8aed93f3]
26777
26778         * parse.lex:
26779         stupid hack for broken aix lex
26780         [efc3f9e5280e]
26781
26782         * tgetpass.c:
26783         now includes compat.h \ 6
26784         [401822173f77]
26785
26786         * visudo.c:
26787         now includes fcntl.h
26788         [63865c2f8ac6]
26789
26790         * compat.h:
26791         added FD_SET and FD_ZERO for 4.2BSD
26792         [00c5597c0bb0]
26793
26794         * parse.yacc:
26795         dirty hack to fix parser bug. i don't really like this but it works
26796         for now...
26797         [5b8bbdc81569]
26798
26799         * sudo.c:
26800         uid2str is now static like the prototype says
26801         [f2a97b5cb870]
26802
26803 1995-03-30  Todd C. Miller  <Todd.Miller@courtesan.com>
26804
26805         * CHANGES, SUPPORTED, TODO, TROUBLESHOOTING:
26806         updated
26807         [6f79c3e92716]
26808
26809         * RUNSON:
26810         Initial revision
26811         [12a09ef9e884]
26812
26813         * sudo.c:
26814         check_sudoers now returns an error code and sudo calls inform_user
26815         and log_error based on the return value.
26816         [340eca188d9a]
26817
26818         * logging.c, sudo.h:
26819         added entries for new errors
26820         [6050d8542e1f]
26821
26822         * parse.c:
26823         now set uid to that of SUDOERS_OWNER while parsing sudoers file
26824         [3683c42bc9b0]
26825
26826         * Makefile.in:
26827         took out testsudoers \ 6
26828         [65317d49db48]
26829
26830         * sudo.c:
26831         now explicately checks that it is setuid root
26832         [2fe1be60ef6a]
26833
26834         * sudo.c:
26835         If a user has no passwd entry sudo would segv (writing to a garbage
26836         pointer). Now allocate space before writing :-)
26837         [d08e7eb5e5ef]
26838
26839         * configure.in:
26840         reordered AC_CHECK_FUNCS
26841         [4c82e56c6f4f]
26842
26843         * config.h.in:
26844         fixed memset macro
26845         [77ede6b714ab]
26846
26847         * tgetpass.c, visudo.c:
26848         bzero -> memset
26849         [1a005bb322c8]
26850
26851         * logging.c:
26852         bzero -> memset when a parse error is logged the line number of the
26853         error is now logged too
26854         [a42d68047723]
26855
26856         * INSTALL:
26857         added Sunos to blurb about c2 security
26858         [af750a1d131e]
26859
26860         * configure.in:
26861         added a SUN4 define for C2 security
26862         [6ad5b23a3eb0]
26863
26864         * config.h.in:
26865         bcopy -> memmove bzero -> memset
26866         [5494460c8464]
26867
26868         * lsearch.c:
26869         bcopy -> memmove char * -> VOID *
26870         [a15f5c316e16]
26871
26872         * check.c:
26873         added support for sunos with C2 security
26874         [03fea5bb21e6]
26875
26876         * OPTIONS, options.h:
26877         reordered
26878         [1686265af3e1]
26879
26880         * pathnames.h.in:
26881         _PATH_SUDO_LOGFILE now set based on configure
26882         [5867b58e4a04]
26883
26884         * configure.in:
26885         added SUDO_LOGFILE and SUDO_TYPE_SIZE_T
26886         [1984d9fd1b5c]
26887
26888         * config.h.in:
26889         added _SUDO_PATH_LOGFILE
26890         [dd3eebe62580]
26891
26892         * aclocal.m4:
26893         added SUDO_LOGFILE to find where to put sudo.log added
26894         SUDO_CHECK_TYPE (just AC_CHECK_TYPE but checks unistd.h too) added
26895         SUDO_TYPE_SIZE_T (calls SUDO_CHECK_TYPE)
26896         [c589a515a99a]
26897
26898 1995-03-29  Todd C. Miller  <Todd.Miller@courtesan.com>
26899
26900         * TROUBLESHOOTING:
26901         Initial revision
26902         [f42f1baba3a8]
26903
26904         * sudo.c:
26905         now do set_perms(PERM_ROOT) before the getpwuid() in load_global()
26906         to work around a problem is trusted hpux shadow passwords. yuck.
26907         [ae1f13b54687]
26908
26909         * parse.yacc:
26910         backed out a change in malloc/realloc
26911         [ab868db0ad69]
26912
26913         * parse.yacc:
26914         now include stdlib.h
26915         [957eef0631eb]
26916
26917         * visudo.c:
26918         now do an freopen() of the stmp file so that yyin will always point
26919         to the same thing. This is important for flex since we are doing a
26920         YY_NEWFILE
26921         [44558922fd3e]
26922
26923         * parse.yacc:
26924         replaced yywrap() with parser_cleanup() since yywrap() needs to be
26925         in parse.lex to be able to use YY_NEW_FILE. sigh.
26926         [12dd09921074]
26927
26928         * parse.lex:
26929         now have a rule that matches anything that doesn't match an
26930         explicite rule. well, you know what i mean (. matches anything not
26931         yet matched). However, this means that there is input still queued
26932         up so we need to do a YY_NEW_FILE; in yywrap. So, yywrap has moved
26933         into parse.lex and it calls parser_cleanup() which is most of the
26934         old yywrap() sigh.
26935         [7f4042bc48d6]
26936
26937         * SUPPORTED:
26938         no longer used
26939         [8f220be4da94]
26940
26941         * getcwd.c, getwd.c:
26942         moved compat.h to be the last include file
26943         [9f3a65e2d485]
26944
26945         * parse.yacc:
26946         fixed type of aliascmp() args
26947         [1c27eb989bdf]
26948
26949         * find_path.c:
26950         NULL -> '\0'
26951         [5c8d8cf1692e]
26952
26953         * parse.yacc:
26954         added casts to lfind and lsearch args for irix
26955         [61027ddeecf8]
26956
26957         * Makefile.in:
26958         bsdinstall -> install-sh
26959         [61de6612c5a5]
26960
26961         * INSTALL:
26962         added info about make realclean
26963         [29c6324d727f]
26964
26965         * Makefile.in:
26966         updated VERSION added dependencies for visudo.cat
26967         [09077d7229d4]
26968
26969         * version.h:
26970         -> pl5b1
26971         [5d21c7ad1a41]
26972
26973         * sudo.c:
26974         took out -l
26975         [fc1478d81b38]
26976
26977         * Makefile.in:
26978         now there is a real visudo.man and visudo.cat
26979         [58aeac43a6dd]
26980
26981         * sudo.man:
26982         took out visudo stuff
26983         [4a6ac4393343]
26984
26985         * visudo.man:
26986         Initial revision
26987         [cba348843db8]
26988
26989         * parse.c, parse.lex, parse.yacc:
26990         updated copyright
26991         [ffa16b70944a]
26992
26993         * README:
26994         updated for pl5
26995         [a26e423e9e5f]
26996
26997         * sudo.man:
26998         updated Nieusma & Hieb email addresses
26999         [f0083e71989d]
27000
27001         * INSTALL:
27002         updated to include options.h and OPTIONS
27003         [ee59e2b76c94]
27004
27005         * CHANGES, TODO:
27006         updated
27007         [51e011ad5220]
27008
27009         * BUGS:
27010         eliminated bug #1 (yay)
27011         [e7e88515494e]
27012
27013         * configure.in:
27014         sunos no longer gets linked statically
27015         [2e5b3ff3108f]
27016
27017 1995-03-28  Todd C. Miller  <Todd.Miller@courtesan.com>
27018
27019         * parse.lex:
27020         prototype now uses __P()
27021         [68ecdcab4c70]
27022
27023         * parse.lex:
27024         make fill() non-ansi
27025         [d6509972260b]
27026
27027         * parse.c:
27028         made -v (validate) work
27029         [13c9d520638c]
27030
27031         * logging.c:
27032         now gives host
27033         [f04859cdba5a]
27034
27035         * find_path.c:
27036         don't check for execute/statable if fq or relative path given
27037         [4bbe851f3973]
27038
27039         * parse.c:
27040         added a cast
27041         [345c308f72f3]
27042
27043         * visudo.c:
27044         now include ctype.h for islower and tolower macros
27045         [582c0aa332d5]
27046
27047         * goodpath.c:
27048         moved _S_IFMT & _S_ISREG to compat.h
27049         [828e4ca4e7b4]
27050
27051         * sudo.c:
27052         moved a set of parens
27053         [5783474ecf37]
27054
27055         * strdup.c:
27056         now include compat.h
27057         [75e2036b94af]
27058
27059         * emul/search.h:
27060         void * -> VOID *
27061         [cedcfaf04161]
27062
27063         * parse.yacc:
27064         now cast malloc & realloc return vals added search for HAVE_LSEARCH
27065         now use strcmp if no strcasecmp available
27066         [d6a42bc3d4ae]
27067
27068         * lsearch.c:
27069         void * -> VOID *
27070         [886adc44f607]
27071
27072         * config.h.in:
27073         removed HAVE_FLEX added VOID added HAVE_DIRENT_H, HAVE_SYS_NDIR_H,
27074         HAVE_SYS_DIR_H, HAVE_NDIR_H added HAVE_LSEARCH
27075         [3b50d7fb4349]
27076
27077         * compat.h:
27078         added _S_IFMT, _S_IFREG, and S_ISREG
27079         [73d506c7d53c]
27080
27081         * aclocal.m4:
27082         took out SUDO_PROG_INSTALL 1.x to 2.x changes added echo and results
27083         to most SUDO_* macros
27084         [8442155f5936]
27085
27086         * Makefile.in:
27087         no more -I.
27088         [63462f195bd4]
27089
27090         * configure.in:
27091         various 1.x ro 2.x autoconf changes now check for strcasecmp now use
27092         AC_INSTALL_PROG instead of custom one added check for fully woorking
27093         void implementation
27094         [5ac6b6e6230f]
27095
27096         * Makefile.in:
27097         added lsearch & search.h visudo links into $(LIBOBJS)
27098         [bc119cda4598]
27099
27100         * aclocal.m4:
27101         partial 1.x to 2.x changes added SUDO_FULL_VOID
27102         [1194d01fa5c5]
27103
27104         * visudo.c:
27105         whatnow_help was prototyped to be static be was not declared as
27106         such
27107         [0f85489dd426]
27108
27109         * configure.in:
27110         autoconf 2.x changes took out HAVE_FLEX (no longer used) added check
27111         for dirent/dir/ndir.h
27112         [7408f3854948]
27113
27114         * parse.c:
27115         now use groovy gnu autoconf macro AC_HEADER_DIRENT
27116         [e465db9f5dfa]
27117
27118         * getcwd.c, getwd.c:
27119         MAXPATHLEN -> MAXPATHLEN+1
27120         [714d87424e21]
27121
27122         * emul/search.h, lsearch.c:
27123         Initial revision
27124         [55d79482c535]
27125
27126 1995-03-27  Todd C. Miller  <Todd.Miller@courtesan.com>
27127
27128         * parse.yacc:
27129         eliminated bison warnings
27130         [61ca0a96da22]
27131
27132         * parse.lex:
27133         added missing case
27134         [6be0f849747c]
27135
27136         * visudo.c:
27137         now iincludes signal.h
27138         [221e0fcc144f]
27139
27140         * parse.yacc:
27141         only clear data structures on a parse error
27142         [7b1c0f1a4527]
27143
27144         * visudo.c:
27145         whatnow() now gives help on invalid input
27146         [e5a4cd88c587]
27147
27148         * visudo.c:
27149         added a whatnow() function (sort of like mh)
27150         [932d9b145f1c]
27151
27152         * parse.yacc:
27153         kill_aliases -> reset_aliases yywrap() now cleans up by calling
27154         reset_aliases() and clearing top took reset stuff out of yyerror()
27155         since it doesn't beling there (and doesn't work anyway). errorlineno
27156         is now initially set to -1 so we can set it to the first error that
27157         occurrs (it was getting set to the last)
27158         [2f71f95a974c]
27159
27160         * parse.lex:
27161         added a void cast
27162         [18ae6042dce4]
27163
27164         * visudo.c:
27165         rewrote from scratch based on 4.3BSD vipw.c
27166         [2f6814f18576]
27167
27168 1995-03-26  Todd C. Miller  <Todd.Miller@courtesan.com>
27169
27170         * sudo.c, sudo.h:
27171         removed ocmnd
27172         [a31735f41ad4]
27173
27174         * sudo.h:
27175         no more sudo_realpath() and find_path() changed params
27176         [8e85c3b39159]
27177
27178         * sudo.c:
27179         find_path() changed since no more realpath()
27180         [b25366c7f2ee]
27181
27182         * parse.yacc:
27183         on error, errorlineno is set to the line where the error occurred
27184         added kill_aliases() to free the aliases struct now clean up in
27185         yyerror() so we can reparse cleanly
27186         [2342f578c27a]
27187
27188         * options.h, parse.c:
27189         no more USE_REALPATH
27190         [cfc59babeaff]
27191
27192         * logging.c:
27193         changed to use new find_path()
27194         [91c7a38e7751]
27195
27196         * find_path.c:
27197         removed all the realpath() stuff
27198         [cc21a43a8562]
27199
27200         * Makefile.in:
27201         sudo_realpath.c -> sudo_goodpath.c
27202         [03a9b1ddec2f]
27203
27204         * visudo.c:
27205         now works correctly with utk parser
27206         [08aa554a0ce8]
27207
27208         * goodpath.c:
27209         Initial revision
27210         [1ea607e1ffb2]
27211
27212         * sudo_realpath.c:
27213         eliminated a compiler warning
27214         [198bcccc55b6]
27215
27216         * sudo.c:
27217         elinated compiler warning
27218         [e2384f9a878b]
27219
27220         * sudo_realpath.c:
27221         added sudo_goodpath()
27222         [43878c4cc540]
27223
27224         * sudo.h:
27225         added prototype for sudo_goodpath
27226         [23e8627a2265]
27227
27228         * parse.c:
27229         added support for /sys/dir.h
27230         [eca897087741]
27231
27232         * options.h:
27233         USE_REALPATH turned off
27234         [620ac8b63d85]
27235
27236         * find_path.c:
27237         added calls to sudo_goodpath()
27238         [ad170904fbcd]
27239
27240         * configure.in:
27241         added check for dirent.h
27242         [7964a8c26855]
27243
27244         * config.h.in:
27245         added HAVE_DIRENT_H
27246         [1f785fec7e19]
27247
27248         * configure.in:
27249         added in linux shadow pass stuff \ 6
27250         [e585a5785f50]
27251
27252 1995-03-24  Todd C. Miller  <Todd.Miller@courtesan.com>
27253
27254         * visudo.c:
27255         added back host, user, cmnd, parse_error
27256         [0ec19f3d64f4]
27257
27258         * visudo.c:
27259         added in utk changes plus some minor cosmetic changes
27260         [c5c1921c8a58]
27261
27262         * sudo.c, sudo_realpath.c:
27263         added void casts for printf's
27264         [9c6ff11c0082]
27265
27266         * options.h:
27267         added a define of USE_REALPATH
27268         [db3711c9efc5]
27269
27270         * configure.in:
27271         there is no more visudoers/Makefile
27272         [36e1bc1f78d0]
27273
27274         * Makefile.in:
27275         added in utk changes (visudo is now built from the toplevel)
27276         [76203d4b345d]
27277
27278         * find_path.c:
27279         added (void) casts to printf's
27280         [dd5cb1e060ac]
27281
27282         * parse.c, parse.lex, parse.yacc, sudo.h, sudo_realpath.c:
27283         merged in utk changes
27284         [35563307fd8e]
27285
27286 1995-03-23  Todd C. Miller  <Todd.Miller@courtesan.com>
27287
27288         * find_path.c:
27289         now check to see that what we are trying to run is a file (or a link
27290         to a file, we do a stat(2) so there is no diff)
27291         [05889c4bcace]
27292
27293 1995-03-13  Todd C. Miller  <Todd.Miller@courtesan.com>
27294
27295         * CHANGES:
27296         updated
27297         [3e8047bb26fb]
27298
27299         * Makefile.in:
27300         aclocal.m4 -> acsite.m4 make realclean updated for new autoconf \ 6
27301         [0bdbaa7c4c7d]
27302
27303         * sudo.man:
27304         added myself as maintainer
27305         [77a9d75aab84]
27306
27307 1995-02-17  Todd C. Miller  <Todd.Miller@courtesan.com>
27308
27309         * sudo.c:
27310         changed setegid -> setgid
27311         [7f4788d73b6f]
27312
27313 1995-02-06  Todd C. Miller  <Todd.Miller@courtesan.com>
27314
27315         * configure.in:
27316         fixed the test for irix 5.x to skip bad libs
27317         [bfef896de013]
27318
27319         * aclocal.m4:
27320         now initialize OS and OSREV
27321         [cc302756e440]
27322
27323 1995-01-27  Todd C. Miller  <Todd.Miller@courtesan.com>
27324
27325         * configure.in:
27326         irix5 changes
27327         [ac985b23f5f2]
27328
27329         * configure.in:
27330         AC_WITH -> AC_ARG_WITH changes other misc changes for autoconf 2.1
27331         compatibility
27332         [0cf8c92a06d7]
27333
27334 1995-01-19  Todd C. Miller  <Todd.Miller@courtesan.com>
27335
27336         * visudo.c:
27337         use YY_NEW_FILE, not yyrestart since OSF flex doesn't do the righ
27338         thing wrt yyrestart (grrrr)
27339         [18e8eabfbb82]
27340
27341 1995-01-16  Todd C. Miller  <Todd.Miller@courtesan.com>
27342
27343         * Makefile.in:
27344         added visudoers/compat.h to DISTFILES
27345         [db23b574b034]
27346
27347         * configure.in:
27348         fixed an echo
27349         [7cbc0462b89d]
27350
27351         * sudo.c:
27352         added ocmnd declaration adjusted for find_path()'s new parameters
27353         [d929cd156474]
27354
27355         * sudo.h:
27356         added ocmnd extern adjusted find_path() prototype
27357         [e0004daf5d3c]
27358
27359         * parse.c:
27360         cmndcmp() now takes 3 arguments and checks against the qualified as
27361         well as the unqualified pathname. more code that should use
27362         cmndcmp() but did not, now does
27363         [6f70a8c17bee]
27364
27365         * options.h:
27366         added to a comment
27367         [7a78680426b2]
27368
27369         * logging.c:
27370         changed to use new find_path() parameter passing
27371         [840981d30db4]
27372
27373         * find_path.c:
27374         find_path() now takes 2 copyout parameters (one for the qualified
27375         pathname and one for the unqualified pathname). The third parameter
27376         may be NULL.
27377         [851503b005e9]
27378
27379         * configure.in:
27380         no longer munge pathnames.h
27381         [427d8796c5a9]
27382
27383         * pathnames.h.in:
27384         changed _PATH_* to use _SUDO_PATH_* (which are defined in config.h)
27385         as a result, pathnames.h does not need to be run through configure
27386         and the user can override the configured values easily.
27387         [2e378f2ebe88]
27388
27389         * config.h.in:
27390         added _SUDO_PATH_* entries
27391         [0857de7cebab]
27392
27393         * aclocal.m4:
27394         _PATH* -> _SUDO_PATH_*
27395         [7601193f56cc]
27396
27397         * Makefile.in:
27398         updated DISTFILES and HDRS .o's now depend on config.h
27399         [39d8601965cf]
27400
27401 1995-01-13  Todd C. Miller  <Todd.Miller@courtesan.com>
27402
27403         * compat.h:
27404         removed extraneous #endif
27405         [27d4c5f2ce7e]
27406
27407         * aclocal.m4:
27408         added SUDO_PROG_MV
27409         [76dda3bdd816]
27410
27411         * configure.in:
27412         added SUDO_PROG_MV added riscos and isc os types took out
27413         -DSHORT_MESSAGE from --with-csops since it is now the default
27414         [68c206ad976e]
27415
27416         * sudo.c:
27417         move the include of id.h to compat.h now includes options.h
27418         [45a1eaafb3a8]
27419
27420         * sudo.h:
27421         moved compatibility #defines to compat.h
27422         [0eee27057698]
27423
27424         * pathnames.h.in:
27425         added _PATH_MV
27426         [e830797ab320]
27427
27428         * config.h.in:
27429         move __P to compat.h
27430         [188e12e0ba93]
27431
27432         * getcwd.c, getwd.c, putenv.c:
27433         now includes compat.h
27434         [c72cb6d73981]
27435
27436         * compat.h:
27437         Initial revision
27438         [d4d2f359ae03]
27439
27440 1995-01-12  Todd C. Miller  <Todd.Miller@courtesan.com>
27441
27442         * sudo.h:
27443         pull user-configurable stuff out and put in options.h
27444         [ef929467b070]
27445
27446 1995-01-11  Todd C. Miller  <Todd.Miller@courtesan.com>
27447
27448         * parse.lex, parse.yacc, visudo.c:
27449         now includes options.h
27450         [e36d7c82add1]
27451
27452         * check.c, find_path.c, logging.c, parse.c, sudo_realpath.c,
27453         sudo_setenv.c:
27454         now includes options.h
27455         [f186ba03de07]
27456
27457         * Makefile.in:
27458         added visudoers/options.h
27459         [e5350c476494]
27460
27461         * OPTIONS, options.h:
27462         Initial revision
27463         [9b6b5001e318]
27464
27465         * Makefile.in:
27466         added OPTIONS and options.h
27467         [25448341e16a]
27468
27469         * logging.c:
27470         changed #ifdef's to use LOGGING and SLOG_SYSLOG/SLOG_FILE
27471         [5dd6385dd1d3]
27472
27473         * check.c, sudo.h:
27474         changed PASSWORD_TIMEOUT to minutes
27475         [0ec6aab98738]
27476
27477 1994-12-17  Todd C. Miller  <Todd.Miller@courtesan.com>
27478
27479         * visudo.c:
27480         now only do Editor +line_num if line_num != 0
27481         [b69f04b5e3c7]
27482
27483 1994-12-16  Todd C. Miller  <Todd.Miller@courtesan.com>
27484
27485         * visudo.c:
27486         now use mv if rename(2) fails
27487         [83210dca1bab]
27488
27489         * BUGS:
27490         added a visudo bug
27491         [d61a806f9aa7]
27492
27493         * check.c:
27494         expanded comment
27495         [641f2cba94cb]
27496
27497 1994-11-12  Todd C. Miller  <Todd.Miller@courtesan.com>
27498
27499         * check.c:
27500         fixed user_is_exempt to return 0 if EXEMPTGROUP is not set
27501         [7a11135039a8]
27502
27503 1994-11-10  Todd C. Miller  <Todd.Miller@courtesan.com>
27504
27505         * sudo.c:
27506         added mips & isc support
27507         [e258dc053119]
27508
27509         * parse.c:
27510         added support for non-root owned sudoers file
27511         [fea07e65a0fc]
27512
27513         * check.c:
27514         added exempt group support
27515         [928fb4bd9ad5]
27516
27517         * sudo.h:
27518         added set_perms() support added SUDOERS_OWNER so can have non-root
27519         own sudoers file added exempt group support added isc support
27520         [61c578d31fc1]
27521
27522         * visudo.c:
27523         now copy sudoers to temp file via read/write (not stdio) now chown
27524         new sudoers file to SUDOERS_OWNER
27525         [a5176c59df70]
27526
27527 1994-11-08  Todd C. Miller  <Todd.Miller@courtesan.com>
27528
27529         * configure.in:
27530         added skey support
27531         [35a8d2fabdb7]
27532
27533         * sudo_realpath.c:
27534         be_* -> setperms()
27535         [a1631d686e1c]
27536
27537         * sudo.h:
27538         fixed typo added set_perms support added skey support added
27539         seteuid()/setegid() emulation for AIX
27540         [c0c8d6771406]
27541
27542         * sudo.c:
27543         be_* -> setperms() now check to make sure sudoers file is owned by
27544         root nread/write by only root
27545         [13ab1e261f1a]
27546
27547         * logging.c, parse.c:
27548         be_* -> setperms()
27549         [21499d845c8f]
27550
27551         * check.c:
27552         be_* -> set_perms() added skey support
27553         [df51b56871c1]
27554
27555 1994-11-06  Todd C. Miller  <Todd.Miller@courtesan.com>
27556
27557         * Makefile.in:
27558         ++version
27559         [3c1abbe4e43c]
27560
27561         * version.h:
27562         ++
27563         [1d2f9b540a95]
27564
27565 1994-10-21  Todd C. Miller  <Todd.Miller@courtesan.com>
27566
27567         * sudo.c:
27568         now sets IFS
27569         [eabbb41b9f08]
27570
27571         * insults.h:
27572         fixed typo
27573         [c7997f19216e]
27574
27575 1994-10-15  Todd C. Miller  <Todd.Miller@courtesan.com>
27576
27577         * config.h.in:
27578         added HAVE_SKEY
27579         [da948ec4186b]
27580
27581 1994-10-04  Todd C. Miller  <Todd.Miller@courtesan.com>
27582
27583         * CHANGES:
27584         updated
27585         [f4b55ab007ea]
27586
27587         * Makefile.in:
27588         ++version
27589         [0489068b8c95]
27590
27591         * version.h:
27592         ++
27593         [d189faedf423]
27594
27595         * sudo.c:
27596         now bail if ARgv[1] > MAXPATHLEN
27597         [0cea8ecc9dc2]
27598
27599         * configure.in:
27600         added function check for tcgetattr(3)
27601         [e03289b22c2f]
27602
27603         * config.h.in:
27604         only define HAVE_TERMIOS_H if you have tcgetattr(3)
27605         [757eab83d1a2]
27606
27607         * config.h.in:
27608         added check for tcgetattr
27609         [c5ae92715930]
27610
27611 1994-09-26  Todd C. Miller  <Todd.Miller@courtesan.com>
27612
27613         * CHANGES:
27614         updated
27615         [cbc419883108]
27616
27617 1994-09-22  Todd C. Miller  <Todd.Miller@courtesan.com>
27618
27619         * parse.lex:
27620         now only include unistd.h for linux
27621         [e9adeab95ef0]
27622
27623 1994-09-21  Todd C. Miller  <Todd.Miller@courtesan.com>
27624
27625         * Makefile.in:
27626         added visudo.8 generation
27627         [d6a3f0f887f8]
27628
27629         * configure.in:
27630         added -Wl,-bI:./aixcrypt.exp to aix flags
27631         [72594a21edcf]
27632
27633 1994-09-20  Todd C. Miller  <Todd.Miller@courtesan.com>
27634
27635         * BUGS:
27636         added one
27637         [9993a349e096]
27638
27639         * CHANGES:
27640         updated
27641         [297b31ec4cdd]
27642
27643         * README:
27644         added mailing list info
27645         [10372f94a2b2]
27646
27647         * parse.yacc:
27648         now use sudolineno instead of yylineno fixed bison warnings
27649         [25a83e62057b]
27650
27651         * configure.in:
27652         now use -no_library_replacement for osf don't make a static binary
27653         for hpux >= 9.0
27654         [1fa7b892f1a3]
27655
27656         * tgetpass.c:
27657         added string.h/strings.h inclusion
27658         [71faa98fc0a1]
27659
27660         * config.h.in:
27661         added ssize_t def
27662         [406284bd1ac0]
27663
27664         * parse.lex:
27665         added inclusion of string.h/strings.h
27666         [6985b1df5d09]
27667
27668         * aclocal.m4:
27669         fixed uname | sed (needed to quote the '[')
27670         [4cd2d3415c1a]
27671
27672         * parse.lex:
27673         replaced yylineno with sudolineno fixed bison syntax errors
27674         [0bd31a5fab26]
27675
27676         * visudo.c:
27677         changed yylineno to sudolineno since yylineno cannot be counted
27678         upon.
27679         [38c30104d0ae]
27680
27681         * TODO:
27682         updated
27683         [5d4746f1a752]
27684
27685         * parse.c:
27686         added code to support command listings
27687         [030172e133fd]
27688
27689         * sudo.c:
27690         added code for -l flag
27691         [801dbbc82778]
27692
27693         * sudo.man:
27694         fixed typo added info for -l flag
27695         [8916ca945d65]
27696
27697         * configure.in:
27698         AC_SSIZE_T -> SUDO_SSIZE_T
27699         [c61f7f47013f]
27700
27701         * aclocal.m4:
27702         added SUDO_SSIZE_T
27703         [0ccdb77be84d]
27704
27705         * sudo.h:
27706         added MODE_LIST
27707         [9b2bd844c76c]
27708
27709         * configure.in:
27710         added AC_SSIZE_T
27711         [35cca208f9b5]
27712
27713         * find_path.c, sudo_realpath.c:
27714         readlink() is now declared as returning ssize~_t
27715         [0640a08d1407]
27716
27717         * configure.in:
27718         added -laud for OSF c2
27719         [b7539c905efc]
27720
27721 1994-09-02  Todd C. Miller  <Todd.Miller@courtesan.com>
27722
27723         * Makefile.in, visudo.c:
27724         changed sudo-bugs.cs.colorado.edu -> sudo-bugs@cs.colorado.edu
27725         [067fd9bcb5e1]
27726
27727         * config.h.in, parse.lex, parse.yacc, pathnames.h.in:
27728         changed sudo-bugs.cs.colorado.edu -> sudo-bugs@cs.colorado.edu
27729         [fc46e7c7110a]
27730
27731         * check.c, find_path.c, getcwd.c, getwd.c, insults.h, logging.c,
27732         parse.c, putenv.c, strdup.c, sudo.c, sudo.h, sudo_realpath.c,
27733         sudo_setenv.c, tgetpass.c, version.h:
27734         changed sudo-bugs.cs.colorado.edu -> sudo-bugs@cs.colorado.ed
27735         [d1d4fbc53a98]
27736
27737 1994-09-01  Todd C. Miller  <Todd.Miller@courtesan.com>
27738
27739         * Makefile.in:
27740         ++version
27741         [b7066d97633f]
27742
27743         * version.h:
27744         ++
27745         [65ec69d88110]
27746
27747         * logging.c:
27748         added host to alertmail messages
27749         [d973c19ce777]
27750
27751         * CHANGES, TODO:
27752         udpated
27753         [5a65eb16faeb]
27754
27755         * logging.c:
27756         fixed logging problem where mail would not say which user it was
27757         [35723edcc5d2]
27758
27759         * configure.in:
27760         added -laud for gcc if osf & c2
27761         [18f1e0ae5548]
27762
27763         * check.c:
27764         moved set_auth_parameters to sudo.c
27765         [d23112fe01db]
27766
27767         * sudo.c:
27768         added set_auth_parameters for osf
27769         [eb70f65214ac]
27770
27771         * configure.in:
27772         cleaned up -static stuff
27773         [01e9575f0422]
27774
27775         * Makefile.in:
27776         ++version
27777         [7ac3bff5c770]
27778
27779         * version.h:
27780         ++
27781         [10a4ff478469]
27782
27783         * sudo.c:
27784         changed setenv() to sudo_setenv()
27785         [40a78abb9946]
27786
27787         * check.c:
27788         fixed osf problem
27789         [3d69b118efb8]
27790
27791         * configure.in:
27792         added OSF C2 stuff
27793         [38cff3ad4093]
27794
27795         * CHANGES:
27796         updated
27797         [cd341dd0581a]
27798
27799         * check.c:
27800         added osf auth support & removed some extra spaces
27801         [a448cdd81514]
27802
27803         * INSTALL, SUPPORTED:
27804         added osf C2 stuff
27805         [f70484796146]
27806
27807 1994-08-31  Todd C. Miller  <Todd.Miller@courtesan.com>
27808
27809         * TODO:
27810         added 2 suggestions
27811         [695fbdbd86e6]
27812
27813         * Makefile.in:
27814         removed README.v1.3.1 and added VERSION stuff
27815         [f69403eb04c6]
27816
27817         * version.h:
27818         pl1
27819         [21580c0f8cb1]
27820
27821 1994-08-30  Todd C. Miller  <Todd.Miller@courtesan.com>
27822
27823         * version.h:
27824         1.3.1final
27825         [630114970298]
27826
27827         * Makefile.in:
27828         added HISTORY
27829         [901bff251614]
27830
27831         * sudo.man:
27832         mention HISTPRY file
27833         [86dbcfd4326e]
27834
27835         * sudo.c:
27836         use sizeof instead of a constant in 1 place
27837         [d819604c68ca]
27838
27839         * parse.yacc:
27840         added unistd.h
27841         [6f9500f9fe7e]
27842
27843         * parse.lex:
27844         added unistd.h
27845         [468b81a276eb]
27846
27847         * README:
27848         udpated
27849         [7e275618923a]
27850
27851         * HISTORY:
27852         Initial revision
27853         [5db1b0a3939b]
27854
27855 1994-08-17  Todd C. Miller  <Todd.Miller@courtesan.com>
27856
27857         * version.h:
27858         ++
27859         [7dfbb4a810bb] [SUDO_1_3_1]
27860
27861         * CHANGES:
27862         updated
27863         [7820ee610bf8]
27864
27865         * sudo_setenv.c:
27866         added unistd.h include
27867         [30cf2b654525]
27868
27869 1994-08-16  Todd C. Miller  <Todd.Miller@courtesan.com>
27870
27871         * sudo.c:
27872         added sys/time.h for AIX
27873         [199fc8caf3a3]
27874
27875 1994-08-15  Todd C. Miller  <Todd.Miller@courtesan.com>
27876
27877         * configure.in:
27878         added check for -lsocket and sys/sockio.h
27879         [f9abfbb31031]
27880
27881         * config.h.in:
27882         took out libshadow check and added in sys/sockio.h check
27883         [0c4b0393ac80]
27884
27885         * sudo.c:
27886         now include sockio.h instead of ioctl.h if it exists "sudo -" now
27887         gets a better error message
27888         [53041bea5483]
27889
27890         * sample.sudoers:
27891         now has a dir and subnet entry
27892         [56b820f65438]
27893
27894 1994-08-13  Todd C. Miller  <Todd.Miller@courtesan.com>
27895
27896         * sudo.c:
27897         removed if_ether.h
27898         [b4f64507493e]
27899
27900         * TODO:
27901         added an item
27902         [ea2a1bb6922a]
27903
27904         * sudo.man:
27905         added network and ip addresses to man page
27906         [01c85016511f]
27907
27908         * sudo.c:
27909         no error if can't get interfaces or netmask since networking may not
27910         be in the kernel.
27911         [50b8890e2134]
27912
27913         * parse.c:
27914         nwo check for interfaces == NULL
27915         [dc1b3eef0db2]
27916
27917         * parse.c:
27918         fixed a bug that caused directory specs in a Cmnd_Alias to fail if
27919         the last entry in the spec failed (ie: it was only looking at the
27920         last entry). CLeaned things up by adding the cmndcmp() function--all
27921         neat & tidy
27922         [007e93578e5e]
27923
27924         * CHANGES:
27925         added one
27926         [40e8a2cef497]
27927
27928 1994-08-12  Todd C. Miller  <Todd.Miller@courtesan.com>
27929
27930         * sudo.c:
27931         now do two passes to skip bogus interfaces (lo0, etc)
27932         [465e30aecaf7]
27933
27934         * parse.lex, parse.yacc, visudo.c:
27935         added include of netinet/in.h
27936         [11e3816ed362]
27937
27938         * logging.c, sudo_realpath.c, sudo_setenv.c:
27939         added ninclude of netinet/in.h
27940         [daccfa40fe1e]
27941
27942         * check.c, find_path.c, getcwd.c, getwd.c:
27943         added include of netinet/in.h
27944         [0222f95e06ad]
27945
27946         * version.h:
27947         ++
27948         [d6b0cfa35a38]
27949
27950         * sudo.h:
27951         added interfaces global
27952         [ba52fa8ad75e]
27953
27954         * parse.c:
27955         now uses new interfaces global
27956         [17473ad5ecba]
27957
27958         * sudo.c:
27959         now ip addresses are gleaned fw/o dns
27960         [8828bb2007e0]
27961
27962 1994-08-10  Todd C. Miller  <Todd.Miller@courtesan.com>
27963
27964         * sudo.c:
27965         added load_ip_addrs() to load the ip_addrs global var
27966         [60c825f04238]
27967
27968         * parse.c:
27969         added hostcmp() to compare hostnames, ip addrs, and network addrs
27970         [ab0e40e37537]
27971
27972         * sudo.h:
27973         added ip_addrs def added load_ip_addrs prototype
27974         [c41c565d0777]
27975
27976 1994-08-08  Todd C. Miller  <Todd.Miller@courtesan.com>
27977
27978         * CHANGES:
27979         updated
27980         [2a128dbe9bcb]
27981
27982         * Makefile.in:
27983         removed multiple entries in DISTFILES
27984         [2490f4f371e6]
27985
27986         * visudo.c:
27987         ansified the !STDC_HEADERS decls
27988         [646ba06d17ae]
27989
27990         * find_path.c, getcwd.c, getwd.c, putenv.c, strdup.c:
27991         don't do malloc decl if gnuc
27992         [f1bad1925f98]
27993
27994         * sudo.c:
27995         can't use getopt(3) since it munges args to the command to be run as
27996         root don't do malloc decl if gnuc
27997         [38e78f6da14e]
27998
27999         * find_path.c, getcwd.c, getwd.c, putenv.c, strdup.c, sudo.c,
28000         sudo_realpath.c, sudo_setenv.c:
28001         ansi-fied !STDC_HEADER function prottypes
28002         [51d8cad89976]
28003
28004         * getcwd.c, getwd.c:
28005         added missing paren
28006         [6a1fae70e27e]
28007
28008         * Makefile.in:
28009         added putenv.c to DISTFILES
28010         [a5e4523eabbb]
28011
28012         * sudo_setenv.c:
28013         added params to func decls when STDC_HEADERS is not defined now can
28014         count on putenv() being there
28015         [fd587796189b]
28016
28017         * sudo_realpath.c:
28018         took out errno decl since sudo.h does it for us fixed up a next cc
28019         warning added params to func decls when STDC_HEADERS is not defined
28020         [70fa5152ace6]
28021
28022         * sudo.h:
28023         took out environ extern added local declaratio of putenv() if local
28024         version is needed
28025         [a84bae6c020d]
28026
28027         * find_path.c, getcwd.c, getwd.c, strdup.c, sudo.c:
28028         added params to func decls when STDC_HEADERS is not defined
28029         [f406f0e47ac0]
28030
28031         * config.h.in:
28032         added memcpy check check to see that ansi vs bsd macros are ntot
28033         already defiend before defining (ie: avoid redefinition)
28034         [879ae026e19f]
28035
28036         * configure.in:
28037         removed fluff setenv check plus check w/ replace for putenv if also
28038         no setenv
28039         [e3c03814ad4b]
28040
28041         * putenv.c:
28042         Initial revision
28043         [3cff63e2dc1b]
28044
28045 1994-08-06  Todd C. Miller  <Todd.Miller@courtesan.com>
28046
28047         * sudo_setenv.c:
28048         Initial revision
28049         [4d637631fa6b]
28050
28051         * sudo.h:
28052         rm'd s realp[ath added sudo_realpath and sudo_setenv
28053         [07ba001ff57e]
28054
28055         * sudo.c:
28056         now use sudo_setenvc
28057         [fd81e04d5ef0]
28058
28059         * configure.in:
28060         added puteenv and setenv, removed realpath
28061         [27bfacfb513b]
28062
28063         * config.h.in:
28064         added putenv & setenv
28065         [515f14eaf6e4]
28066
28067         * Makefile.in:
28068         added sudo_setenv
28069         [217731a717c5]
28070
28071         * version.h:
28072         ++
28073         [eadb346d7129]
28074
28075 1994-08-05  Todd C. Miller  <Todd.Miller@courtesan.com>
28076
28077         * configure.in:
28078         added MAN_POSTINSTALL and /usr/share/catman for irix
28079         [2a9496c1bdba]
28080
28081         * Makefile.in:
28082         added MAN_POSTINSTALL
28083         [89b0d4695529]
28084
28085         * CHANGES:
28086         added
28087         [48c021ba8a70]
28088
28089         * sudo.man:
28090         added SUDO_* plus new options
28091         [c0759cff5683]
28092
28093         * CHANGES:
28094         added one
28095         [7d44a3922d56]
28096
28097         * configure.in:
28098         took out shadow lib
28099         [07cf3de18701]
28100
28101         * TODO:
28102         adde done
28103         [a27a578e8afe]
28104
28105         * visudo.c:
28106         now use yyrestart() if flex now reset yylineno to 0
28107         [77d67ce0b677]
28108
28109         * Makefile.in:
28110         support for installing a cat page instead of a man page if no nroff
28111         [44671c0fc0fa]
28112
28113         * configure.in:
28114         now defines HAVE_FLEX fixed up man stuff so that it looks for nroff
28115         to determine whether or not to install a cat or man page
28116         [0562d069c135]
28117
28118         * config.h.in:
28119         added HAVE_FLEX
28120         [c5490bae39d3]
28121
28122         * sudo.c:
28123         not set ret to MODE_RUN initially
28124         [88b4983c195b]
28125
28126         * find_path.c:
28127         made command (and therefor cmnd dynamically allocated)
28128         [95b82e32b6de]
28129
28130         * TODO:
28131         did #8
28132         [fb6f41308cdf]
28133
28134         * version.h:
28135         ++
28136         [14112ecab5ae]
28137
28138         * sudo_realpath.c:
28139         changed bufs from MAXPATHLEN to MAXPATHLEN+1
28140         [0ad4f34e55c0]
28141
28142         * sudo.h:
28143         added MODE_ removed validate_only and added remove_timestamp()
28144         [dd5f99c57728]
28145
28146         * sudo.c:
28147         usage() now takes an int (exit value) added parse_args() to parse
28148         command line arguments moved call to find_path() from load_globals
28149         to new function load_cmnd() removed validate_only global -- now use
28150         the concept of "modes" added -h and -k options
28151         [c3887090b28a]
28152
28153         * parse.c:
28154         no longer use global validate_only now checks for command called
28155         "validate" removed check for non-fully qualified commands since that
28156         is done by find_path
28157         [7d56fbd26369]
28158
28159         * find_path.c:
28160         changed MAXPATHLEN r to MAXPATHLEN+1
28161         [a86e8664d971]
28162
28163         * find_path.c:
28164         fixed off by one error with MAXPATHLEN and fixed a comment
28165         [58adcef8c981]
28166
28167         * check.c:
28168         check_timestamp no longer runs reminder(), it is implied in the
28169         return val added remove_timestamp()
28170         [42ab5a77066f]
28171
28172         * CHANGES:
28173         updated
28174         [8e69b31df024]
28175
28176 1994-08-04  Todd C. Miller  <Todd.Miller@courtesan.com>
28177
28178         * BUGS:
28179         fixed on
28180         [bc34f1ac4280]
28181
28182         * sudo_realpath.c:
28183         took out old_errno
28184         [a168d00a0768]
28185
28186         * CHANGES:
28187         updated
28188         [04ba80922df7]
28189
28190 1994-08-03  Todd C. Miller  <Todd.Miller@courtesan.com>
28191
28192         * logging.c:
28193         moved send_mail to after syslog
28194         [4d4188087834]
28195
28196         * sudo.c:
28197         now set SUDO_ envariables
28198         [e5963f1bd3bb]
28199
28200 1994-08-01  Todd C. Miller  <Todd.Miller@courtesan.com>
28201
28202         * version.h:
28203         ++
28204         [2a4534845d8c]
28205
28206         * sudo_realpath.c:
28207         now print error if chdir fails
28208         [0d75c8973d49]
28209
28210         * find_path.c:
28211         removed an XXX
28212         [e2077bcb35aa]
28213
28214 1994-07-26  Todd C. Miller  <Todd.Miller@courtesan.com>
28215
28216         * CHANGES:
28217         updated
28218         [e30a2b39b41a]
28219
28220         * configure.in:
28221         no more static binaries for aix
28222         [77a0beb6bd80]
28223
28224 1994-07-25  Todd C. Miller  <Todd.Miller@courtesan.com>
28225
28226         * INSTALL:
28227         fixed typo
28228         [ba5e0d391bc4]
28229
28230         * sudo_realpath.c:
28231         took out stuff not needed for sudo now does be_root/be_user itself
28232         now uses cwd global
28233         [4f6d4641d793]
28234
28235         * version.h:
28236         +=2
28237         [97da927b297c]
28238
28239         * logging.c, sudo.c:
28240         be_root/be_user is now down in sudo_realpath()
28241         [f331662fa50f]
28242
28243         * logging.c, sudo.h:
28244         now works with 4.2BSD syslog (blech)
28245         [98e39d89dd36]
28246
28247         * find_path.c:
28248         now use sudo_realpath()
28249         [ab436a8ebd02]
28250
28251         * config.h.in:
28252         took out realpth() stuff since we now use sudo_realpath()
28253         [8de5ef9f6044]
28254
28255         * configure.in:
28256         ultrix enhanced sec
28257         [815fb7fffcc0]
28258
28259         * SUPPORTED:
28260         added ultrix enhanced sec.
28261         [6466766c8062]
28262
28263         * INSTALL:
28264         updated
28265         [d681a634297a]
28266
28267         * check.c:
28268         ultrix enhanced security suport
28269         [f10c8decbcc2]
28270
28271         * Makefile.in:
28272         added sudo_realpath.c
28273         [6b9bcd3be022]
28274
28275         * CHANGES:
28276         updated
28277         [2fa8084c1b53]
28278
28279         * tgetpass.c:
28280         increased passwd len to 24 for c2 security
28281         [ec64838be62d]
28282
28283         * BUGS:
28284         updated BUGS
28285         [ca00d8fec2ce]
28286
28287 1994-07-15  Todd C. Miller  <Todd.Miller@courtesan.com>
28288
28289         * check.c:
28290         now use user global var
28291         [568769719013]
28292
28293         * configure.in:
28294         took out -ls
28295         [490a44180d5f]
28296
28297 1994-07-14  Todd C. Miller  <Todd.Miller@courtesan.com>
28298
28299         * configure.in:
28300         added AFS libs
28301         [4fb40c8c01ba]
28302
28303         * sudo.h:
28304         user is now a char * added epasswd
28305         [27a919fafdfb]
28306
28307         * sudo.c:
28308         added tzset() to load_globals added epasswd (encrypted password)
28309         global made user dynamically allocated
28310         [b99ef9bdbfce]
28311
28312         * configure.in:
28313         added tzset test
28314         [27592dd1214b]
28315
28316         * config.h.in:
28317         added HAVE_TZSET
28318         [b13f4213f3d0]
28319
28320         * check.c:
28321         cleaned up encrypted passwd grab somewhat
28322         [c8ba9a4db38a]
28323
28324         * configure.in:
28325         fixed AFS typo
28326         [2bfcbce237b6]
28327
28328         * INSTALL:
28329         added AFS not
28330         [80c67329393c]
28331
28332         * CHANGES:
28333         udpated
28334         [2f09ecdd5d31]
28335
28336         * logging.c:
28337         can now log to both syslog & a file
28338         [4d5c0932bc01]
28339
28340         * sudo.h:
28341         added BOTH_LOGS
28342         [623c539be824]
28343
28344         * CHANGES:
28345         updated
28346         [a1c7f5ef3616]
28347
28348         * configure.in:
28349         --with-AFS
28350         [28718d8f5daf]
28351
28352         * config.h.in:
28353         added HAVE_AFS
28354         [2e32bb4e63e4]
28355
28356         * check.c:
28357         added afs changes
28358         [fe4d0ff320a2]
28359
28360         * sudo.h:
28361         removed AFS stuff :-)
28362         [a40387e6fa27]
28363
28364         * tgetpass.c:
28365         include sys/select for AIX
28366         [f32c5a8f2c84]
28367
28368         * sudo.h:
28369         added AFS
28370         [da2ab3dd0348]
28371
28372         * version.h:
28373         ++
28374         [452d4dfe25af]
28375
28376 1994-07-07  Todd C. Miller  <Todd.Miller@courtesan.com>
28377
28378         * CHANGES, SUPPORTED:
28379         updated
28380         [e7dfe6f23a37]
28381
28382         * logging.c:
28383         can now have MAILER undefined
28384         [1d33b98b35e1]
28385
28386         * INSTALL:
28387         new sub-note about MAILER
28388         [d35c636a0574]
28389
28390         * sudo.man:
28391         added blurb about password timeout
28392         [70c2ee50de20]
28393
28394         * configure.in:
28395         convex c2 changes
28396         [367138a6232e]
28397
28398         * aclocal.m4:
28399         took out duplicate define of _CONVEX_SOURCE
28400         [647182138450]
28401
28402         * Makefile.in:
28403         added OSDEFS
28404         [7fdcd50602d1]
28405
28406         * config.h.in:
28407         added spaces
28408         [f2b8a05e48f3]
28409
28410         * tgetpass.c:
28411         added a goto if fgets fails
28412         [68a6586d9c45]
28413
28414         * sudo.h:
28415         use __hpux not hpux convex c2 stuff
28416         [5c377a8d5f34]
28417
28418         * sudo.c:
28419         use __hpux not hpux
28420         [9363bc0f9f9e]
28421
28422         * logging.c:
28423         convex c2 stuff
28424         [ea5630975ac4]
28425
28426         * config.h.in:
28427         define ansi-ish cpp os defines if non-ansi are defined for hpux &
28428         convex
28429         [664f53a5e786]
28430
28431         * INSTALL:
28432         updated to say we support sonvex C2
28433         [5f2f8b87013e]
28434
28435         * check.c:
28436         added convex c2 support
28437         [9a665d4918fa]
28438
28439 1994-07-01  Todd C. Miller  <Todd.Miller@courtesan.com>
28440
28441         * tgetpass.c:
28442         no more ioctl never returns NULL uses fgets() and select() to
28443         timeout
28444         [b333e6d63e97]
28445
28446 1994-06-29  Todd C. Miller  <Todd.Miller@courtesan.com>
28447
28448         * configure.in:
28449         things were testing -n "$GCC" instead of -z "$GCC"
28450         [059a9b15ede2]
28451
28452         * tgetpass.c:
28453         now works + uses fgets()
28454         [353d7ebcb7bb]
28455
28456 1994-06-28  Todd C. Miller  <Todd.Miller@courtesan.com>
28457
28458         * tgetpass.c:
28459         select doesn't seem to recognize a single '\n' as input waiting so
28460         we can;t use it, sigh.
28461         [f76e3218b835]
28462
28463 1994-06-26  Todd C. Miller  <Todd.Miller@courtesan.com>
28464
28465         * PORTING:
28466         updated tgetpass() blurb
28467         [95baac736b49]
28468
28469         * configure.in:
28470         added --with-getpass
28471         [42ac0bdf58ed]
28472
28473         * Makefile.in:
28474         added tgetpass stuff
28475         [e2b38c635663]
28476
28477         * tgetpass.c:
28478         now uses stdio
28479         [36af8ff66e35]
28480
28481         * version.h:
28482         ++
28483         [4e81c9db19bd]
28484
28485 1994-06-24  Todd C. Miller  <Todd.Miller@courtesan.com>
28486
28487         * PORTING:
28488         updated ,.
28489         [54f523770a05]
28490
28491         * config.h.in:
28492         added USE_GETPASS && HAVE_C2_SECURITY
28493         [86b355cb2953]
28494
28495         * configure.in:
28496         fixed a test aded --with-C2 and --with-tgetpass
28497         [abf6181588ef]
28498
28499         * check.c:
28500         added hpux C2 shit
28501         [20d4177ffa88]
28502
28503         * Makefile.in:
28504         took out tgetpass.*
28505         [cc82fd9984b4]
28506
28507         * INSTALL:
28508         added C2 blurb
28509         [1d2bfc35e4b6]
28510
28511 1994-06-13  Todd C. Miller  <Todd.Miller@courtesan.com>
28512
28513         * configure.in:
28514         no termio(s) for ultrix since it is broken
28515         [d3e82e835350]
28516
28517         * check.c:
28518         added a space (yeah, anal)
28519         [05e4b31ca68c]
28520
28521         * realpath.c, sudo_realpath.c:
28522         fixed it (duh, rtfm)
28523         [f13097cb8cb6]
28524
28525 1994-06-08  Todd C. Miller  <Todd.Miller@courtesan.com>
28526
28527         * config.h.in:
28528         took out bsd signal stuff for irix
28529         [e179cdafc97a]
28530
28531         * visudo.c:
28532         comments in #endif
28533         [e3a629190f5e]
28534
28535         * configure.in:
28536         don't define BSD signals for irix
28537         [3ce57bffb7f0]
28538
28539         * TODO:
28540         did some...
28541         [274241cd0f74]
28542
28543         * CHANGES:
28544         updated
28545         [8f29fc755faf]
28546
28547         * realpath.c, sudo_realpath.c:
28548         took out unneeded code by changing where a strings was terminated
28549         [b5564d62d30e]
28550
28551 1994-06-07  Todd C. Miller  <Todd.Miller@courtesan.com>
28552
28553         * realpath.c, sudo_realpath.c:
28554         fix bug where /dirname would return NULL
28555         [b85f470daf26]
28556
28557         * sudo.h:
28558         move __P to config.h
28559         [7763c0ff3f28]
28560
28561         * getcwd.c, getwd.c, realpath.c, sudo_realpath.c:
28562         added errno definition
28563         [4cc9d2d9782a]
28564
28565         * config.h.in:
28566         added __P
28567         [ca06f5aa58f3]
28568
28569         * config.h.in:
28570         added HAVE_FCHDIR
28571         [206d714641e0]
28572
28573         * strdup.c:
28574         now include stdio
28575         [0d8458da0e1d]
28576
28577         * realpath.c, sudo_realpath.c:
28578         now works if no fchdir
28579         [e035911b6722]
28580
28581         * visudo.c:
28582         define SA_RESETHAND to null if not defined
28583         [afec03e84342]
28584
28585         * configure.in:
28586         added check & replace
28587         [c1a65481441c]
28588
28589         * configure.in:
28590         took out -static for nextstep -- it doesn't work
28591         [fa1a1a611743]
28592
28593 1994-06-06  Todd C. Miller  <Todd.Miller@courtesan.com>
28594
28595         * logging.c:
28596         moved #endif to where it belongs
28597         [07d3a8972097]
28598
28599         * SUPPORTED:
28600         correction
28601         [0c1ecba3e5a3]
28602
28603         * configure.in:
28604         now checks for strdup realpath getcwd bzero
28605         [f029a1917515]
28606
28607         * config.h.in:
28608         emulate bzero
28609         [d792352e44a3]
28610
28611         * visudo.c:
28612         added posic signals
28613         [2ed0005f90fc]
28614
28615         * tgetpass.c:
28616         bzero cast
28617         [6d91b1a1526f]
28618
28619         * logging.c:
28620         added posix signals
28621         [67ede9c22a05]
28622
28623         * configure.in:
28624         removed BROKEN_GETPASS added new srcs toreplace missing functions
28625         [cf44274bb1c8]
28626
28627         * config.h.in:
28628         added posix signal stuff
28629         [a3c1c98fe8ef]
28630
28631         * Makefile.in:
28632         added new srcs
28633         [b6a079afee47]
28634
28635         * visudo.c:
28636         updated useag
28637         [589ed091c44f]
28638
28639         * tgetpass.c:
28640         now uses posix signals
28641         [30f74964074f]
28642
28643         * PORTING:
28644         updated sto reflect major changes
28645         [bcfc309e017b]
28646
28647         * CHANGES, TODO:
28648         updated
28649         [23aacbd54278]
28650
28651         * tgetpass.c:
28652         uses sysconf() if available
28653         [a27431c90bab]
28654
28655         * sudo.h:
28656         added PASSWORD_TIMEOUT + prototypes for new functions
28657         [d7473c2f77c4]
28658
28659         * realpath.c, sudo_realpath.c:
28660         for those w/o this in libc
28661         [1e47aa7a9d46]
28662
28663         * getcwd.c, getwd.c:
28664         Initial revision
28665         [c90dea57a84f]
28666
28667         * find_path.c:
28668         rewrote to use realpath(3) - nis now all my code
28669         [d2c3bb8fb37d]
28670
28671         * config.h.in:
28672         added HAVE_REALPATH
28673         [02c10352a8c7]
28674
28675         * check.c:
28676         now use tgetpass
28677         [b5c021fc179f]
28678
28679         * Makefile.in:
28680         added LIBOBJS use tgetpass.c
28681         [230a7b3eeaa3]
28682
28683 1994-06-05  Todd C. Miller  <Todd.Miller@courtesan.com>
28684
28685         * tgetpass.c:
28686         works now :-)
28687         [025e7a3875ba]
28688
28689         * tgetpass.c:
28690         Initial revision
28691         [3316ab33b230]
28692
28693         * pathnames.h.in:
28694         added /dev/tty
28695         [29242585e53f]
28696
28697 1994-06-04  Todd C. Miller  <Todd.Miller@courtesan.com>
28698
28699         * version.h:
28700         incremented
28701         [f2e54b48280f]
28702
28703         * sudo.c:
28704         always use getcwd
28705         [c6068e8a4029]
28706
28707         * config.h.in:
28708         added check for getwd
28709         [ab1e102ad673]
28710
28711         * configure.in:
28712         replace strdup & realpath & getcwd if missing
28713         [b0eb14f2a1c3]
28714
28715         * pathnames.h.in:
28716         added _PATH_PWD
28717         [309d2388f69a]
28718
28719         * aclocal.m4:
28720         added SUDO_PROG_PWD
28721         [e16e85deb96c]
28722
28723         * strdup.c:
28724         Initial revision
28725         [810efdc15007]
28726
28727         * realpath.c, sudo_realpath.c:
28728         Initial revision
28729         [d85eee438e09]
28730
28731 1994-06-03  Todd C. Miller  <Todd.Miller@courtesan.com>
28732
28733         * configure.in:
28734         quoted quare brackets
28735         [d0e7ca111d98]
28736
28737 1994-06-02  Todd C. Miller  <Todd.Miller@courtesan.com>
28738
28739         * sudo.c:
28740         no need to strdup() a constant
28741         [a8c44712df9a]
28742
28743         * CHANGES:
28744         updated
28745         [71364129cca0]
28746
28747         * sudo.man:
28748         added validate
28749         [0bb198095a26]
28750
28751         * sudo.c:
28752         added -v to usage
28753         [31ea71f11dbb]
28754
28755         * parse.c, sudo.c, sudo.h:
28756         added validate_only stuff
28757         [9bcd853d3c90]
28758
28759 1994-05-30  Todd C. Miller  <Todd.Miller@courtesan.com>
28760
28761         * configure.in:
28762         now finds sed
28763         [6374bb0d3f28]
28764
28765         * aclocal.m4:
28766         $OSREV is now an int
28767         [ace0666d66cf]
28768
28769 1994-05-29  Todd C. Miller  <Todd.Miller@courtesan.com>
28770
28771         * configure.in:
28772         added mtxinu to caser
28773         [73a776887b16]
28774
28775         * sudo.h:
28776         added EXEC macro
28777         [2e8eb28b710a]
28778
28779         * sudo.c:
28780         now use the EXEC nmacro now only do a gethostbyname() if FQDN is set
28781         [56afb4f658d5]
28782
28783         * logging.c:
28784         changed mail_argv[] def now use EXEC() macro
28785         [ddcabd28edb1]
28786
28787         * check.c:
28788         took out crypt() definition
28789         [0e657724cf5f]
28790
28791         * version.h:
28792         upped the version
28793         [62c5d66119fc]
28794
28795         * configure.in:
28796         always look for -lnsl
28797         [d7b594f0313b]
28798
28799         * aclocal.m4:
28800         added an echo
28801         [1caae3491dc5]
28802
28803         * sudo.h:
28804         SHORT_MESSAGE is now the default
28805         [cfce35c3119a]
28806
28807         * config.h.in:
28808         fixed typo
28809         [6499a564bf75]
28810
28811         * configure.in:
28812         added missing AC_DEFINE(SVR4) for solaris
28813         [feef0b17b94f]
28814
28815         * sudo.man:
28816         documented the -v flag
28817         [a6429f2bc2cf]
28818
28819         * SUPPORTED:
28820         updated
28821         [088886e79540]
28822
28823         * check.c:
28824         proto-ized crypt()
28825         [801e4ff5b121]
28826
28827         * config.h.in:
28828         added LIBSHADOW undef
28829         [8df588e9ee2b]
28830
28831         * configure.in:
28832         nwo set OS to be lowercase
28833         [561ebed833e4]
28834
28835 1994-05-28  Todd C. Miller  <Todd.Miller@courtesan.com>
28836
28837         * configure.in:
28838         now use SUDO_OSTYPE to set $OS
28839         [0e60aee23098]
28840
28841         * aclocal.m4:
28842         now use uname to determine os
28843         [99705e58d400]
28844
28845         * visudo.c:
28846         added prototypes & moved sig handler around
28847         [1f0bc8d23b51]
28848
28849         * sudo.h:
28850         added prototyppes
28851         [be3935a2b163]
28852
28853         * check.c, logging.c, sudo.c:
28854         added prototypes
28855         [2079b4605ab8]
28856
28857         * parse.c:
28858         added comment
28859         [a34d147d8399]
28860
28861         * config.h.in:
28862         nwo use _BSD_SIGNALS not _BSD_COMPAT
28863         [63663195f047]
28864
28865         * aixcrypt.exp:
28866         Initial revision
28867         [890aed08357e]
28868
28869         * Makefile.in:
28870         added aixcrypt.exp
28871         [1005a183105f]
28872
28873         * parse.lex, parse.yacc:
28874         moved config.h to top of includes
28875         [9569c49aa5f3]
28876
28877 1994-05-25  Todd C. Miller  <Todd.Miller@courtesan.com>
28878
28879         * find_path.c:
28880         now don't bitch if get EACCESS (treat like EPERM)
28881         [dbeffb638de4]
28882
28883         * visudo.c:
28884         added -v flag and usage()
28885         [4d44ed60ed75]
28886
28887         * version.h:
28888         fixed a typo
28889         [cf3f9347ae41]
28890
28891         * sudo.c:
28892         cast Argv to a const for exec added -v flag
28893         [d11b6efc0e45]
28894
28895         * logging.c:
28896         mail_argv is now a const
28897         [93bb5d90bb6f]
28898
28899         * configure.in:
28900         only set RETSIGTYPE if it is not set already
28901         [c97aac260b77]
28902
28903         * aclocal.m4:
28904         now defines & STDC_HEADERS for Irix
28905         [9c2b24ad1fc5]
28906
28907         * Makefile.in:
28908         added version.h
28909         [9f79e880229a]
28910
28911         * insults.h, sudo.h:
28912         prevent multiple inclusion
28913         [d68c8a9243ce]
28914
28915         * version.h:
28916         Initial revision
28917         [dbb39c5ef8d9]
28918
28919         * parse.lex, parse.yacc:
28920         now includes config.h
28921         [f117e036a56b]
28922
28923         * aclocal.m4:
28924         now talks about sunos 4.x
28925         [c9054aa92d4e]
28926
28927         * visudo.c:
28928         calls to Exit now pass an arg
28929         [a92104670551]
28930
28931 1994-05-24  Todd C. Miller  <Todd.Miller@courtesan.com>
28932
28933         * visudo.c:
28934         signal handler now takes an int argument
28935         [26f480c41523]
28936
28937         * CHANGES:
28938         updated
28939         [8c166a9d796b]
28940
28941         * sudo.c:
28942         ok, the getcwd() is now *really* done as the user
28943         [ab86cf85134a]
28944
28945         * configure.in:
28946         changed AIX STATIC_FLAGS
28947         [b9c0a3ba5663]
28948
28949         * aclocal.m4:
28950         solaris now defines SVR4
28951         [c3e20cac96f5]
28952
28953         * sudo.h:
28954         added cwd and fixed stupid core dump that makes no sense. sigh.
28955         [7a9755436dbb]
28956
28957         * sudo.c:
28958         moved getcwd stuff into load_globals
28959         [ec2bc90df1f3]
28960
28961         * parse.c:
28962         took out externs that are in suod.h
28963         [93c4b3f856d7]
28964
28965         * logging.c:
28966         moved cwd into load_globals
28967         [050de754d228]
28968
28969         * find_path.c:
28970         moved cwd stuff
28971         [22f3f3b4c34d]
28972
28973         * Makefile.in:
28974         fixed make distclean & realclean
28975         [c9964d89bcef]
28976
28977         * TODO:
28978         updated .,
28979         [e513581ef0e3]
28980
28981         * CHANGES:
28982         added solaris changes
28983         [505d930daf27]
28984
28985         * aclocal.m4:
28986         added solaris changes, need to rework
28987         [33f20fb16c49]
28988
28989         * configure.in:
28990         cleaned up for solaris
28991         [2fb8cfa05d0f]
28992
28993         * logging.c:
28994         reinstall reapchild signal handler for non-bsd signals
28995         [3d1dc545113d]
28996
28997         * sudo.h:
28998         took out getdtablesize() emulation for HP-UX (no longer needed)
28999         [1fc83d170f34]
29000
29001         * sudo.c:
29002         support for HAVE_SYSCONF
29003         [50ca2a7a224a]
29004
29005         * visudo.c:
29006         added <fcntl.h> for solaris & reorg'd the includes + minor prettying
29007         up /
29008         [0a570e826dd4]
29009
29010         * config.h.in:
29011         added HAVE_SYSCONF
29012         [2b9a9f3a4e94]
29013
29014 1994-05-16  Todd C. Miller  <Todd.Miller@courtesan.com>
29015
29016         * configure.in:
29017         now tells you what os you are running /.
29018         [06c6332a895b]
29019
29020         * aclocal.m4:
29021         took out extra ','
29022         [e8c75ce59f4a]
29023
29024 1994-05-14  Todd C. Miller  <Todd.Miller@courtesan.com>
29025
29026         * config.h.in:
29027         added _BSD_COMPAT
29028         [73c5099806c2]
29029
29030         * aclocal.m4:
29031         fixed for irix5
29032         [1047d1f6c0eb]
29033
29034         * CHANGES:
29035         updated
29036         [1bc4969fee96]
29037
29038         * sudo.c:
29039         uid seinitialized to -2
29040         [8d7812b1878b]
29041
29042 1994-04-28  Todd C. Miller  <Todd.Miller@courtesan.com>
29043
29044         * sudo.c:
29045         now removes LIBPATH for AIX
29046         [075392eb1dd9]
29047
29048 1994-03-13  Todd C. Miller  <Todd.Miller@courtesan.com>
29049
29050         * configure.in:
29051         now uses ufc if it finds it
29052         [ab6ce30a5958]
29053
29054 1994-03-12  Todd C. Miller  <Todd.Miller@courtesan.com>
29055
29056         * sudo.h:
29057         no longer define yyval & yylval since yacc does it
29058         [09d250aea50a]
29059
29060         * parse.lex:
29061         now defines yylval as extenr
29062         [8ec2b88952bc]
29063
29064         * configure.in:
29065         BROKEN_GETPASS is now an OPTION
29066         [3714f4bb8312]
29067
29068         * config.h.in:
29069         took out BROKEN_GETPASS
29070         [9c4f6aa50137]
29071
29072         * Makefile.in:
29073         took out big comment
29074         [4c13cff0e556]
29075
29076         * README:
29077         updated
29078         [b8b9902b620d]
29079
29080         * Makefile.in:
29081         took out README.beta
29082         [ed2cd861e82b]
29083
29084         * SUPPORTED:
29085         Initial revision
29086         [2fffc51e6606]
29087
29088         * INSTALL:
29089         now reference SUPPORTED .,
29090         [d112c30be1f2]
29091
29092         * config.h.in:
29093         now check for convex OR __convex__
29094         [a0e5701a3069]
29095
29096         * aclocal.m4:
29097         now check for convex or __convex__
29098         [5dae2bfbe3bc]
29099
29100         * Makefile.in:
29101         added dist target
29102         [400a54de57db]
29103
29104         * aclocal.m4:
29105         use __convex__
29106         [58a19470ed0b]
29107
29108         * find_path.c:
29109         now use _S_* stat stuff to be ansi-like
29110         [28cce560e048]
29111
29112         * INSTALL:
29113         updated for configure directions
29114         [a034ccc7c30a]
29115
29116         * Makefile.in:
29117         distclean now removes config.h and pathnames.h
29118         [300f2349b4ab]
29119
29120         * CHANGES:
29121         updated
29122         [646f7e9430c1]
29123
29124         * TODO:
29125         fixed typoe
29126         [70fd6361b2bc]
29127
29128         * visudo.c:
29129         updated version
29130         [cf13d87d789f]
29131
29132         * Makefile.in:
29133         updated version
29134         [8c5dacc27a7a]
29135
29136         * config.h.in, pathnames.h.in:
29137         added copyright header
29138         [747ce3d3d6b7]
29139
29140         * check.c, find_path.c, insults.h, logging.c, parse.c, parse.lex,
29141         parse.yacc, sudo.c, sudo.h:
29142         udpated version
29143         [4751c39bad18]
29144
29145         * visudo.c:
29146         udpated to use configure + pathnames.h
29147         [d45dff76a1cd]
29148
29149         * aclocal.m4:
29150         updated
29151         [f05a367a55be]
29152
29153         * Makefile.in, config.h.in, configure.in:
29154         updated
29155         [524778598879]
29156
29157         * sudo.h:
29158         now works with configure
29159         [83fc40e533f4]
29160
29161         * check.c, find_path.c, getpass.c, logging.c, parse.c, sudo.c:
29162         updated to work with configure + pathnames.h
29163         [cb67fa6ab52d]
29164
29165         * Makefile.in:
29166         added LEXLIB
29167         [f43cad4ab0a2]
29168
29169 1994-03-10  Todd C. Miller  <Todd.Miller@courtesan.com>
29170
29171         * COPYING:
29172         updated gnu general licence to versio 2
29173         [2b0b56112ddc]
29174
29175         * config.h.in, pathnames.h.in:
29176         Initial revision
29177         [4b586f39ec2d]
29178
29179         * sudo.h:
29180         changed to work with configure
29181         [13f3506ddf16]
29182
29183 1994-03-09  Todd C. Miller  <Todd.Miller@courtesan.com>
29184
29185         * Makefile.in, aclocal.m4, configure.in:
29186         Initial revision
29187         [a8636ae77371]
29188
29189         * visudo.c:
29190         now uses defines used by configure
29191         [de438d118993]
29192
29193 1994-03-01  Todd C. Miller  <Todd.Miller@courtesan.com>
29194
29195         * find_path.c:
29196         sudo won't bitch about EPERM now, for real
29197         [ce26d9ef7e3f]
29198
29199 1994-02-28  Todd C. Miller  <Todd.Miller@courtesan.com>
29200
29201         * logging.c:
29202         renamed exec_argv to eliminate a libc name clash with ksros
29203         [bcb4350d8411]
29204
29205         * CHANGES:
29206         corrected
29207         [dae68d422efd]
29208
29209         * logging.c, sudo.c, sudo.h:
29210         execve -> execv
29211         [40cc2c4bdb15]
29212
29213         * TODO:
29214         upated
29215         [9275a8b8fc45]
29216
29217         * PORTING:
29218         added 2 mroe items
29219         [6cbb5c56993c]
29220
29221         * CHANGES:
29222         updated
29223         [73f34f8e571a]
29224
29225         * sudo.h:
29226         added UMASK and mode_t declaration
29227         [7c2015e1d171]
29228
29229         * sudo.c:
29230         added UMASK
29231         [d37be7523680]
29232
29233         * logging.c:
29234         now opens log file with mode 077
29235         [0825cc3ee841]
29236
29237         * check.c:
29238         saved current umask ans restores it
29239         [659c1aaae8e8]
29240
29241         * sudo.h:
29242         added MAXLOGFILELEN
29243         [34331c7dee90]
29244
29245         * logging.c:
29246         split long log lines. FOr syslog, split into multiple entries, for
29247         a log file, indent the extra for readability
29248         [72c9e4cdba6e]
29249
29250 1994-02-27  Todd C. Miller  <Todd.Miller@courtesan.com>
29251
29252         * CHANGES:
29253         added changes
29254         [81196833673d]
29255
29256         * sudo.h:
29257         MAXLOGLEN & MAXSYSLOGLEN are now different (as they should be)
29258         [1aa69e903840]
29259
29260 1994-02-25  Todd C. Miller  <Todd.Miller@courtesan.com>
29261
29262         * TODO:
29263         added input from Brett M Hogden <hogden@rge.com>
29264         [80f01fc88ce9]
29265
29266 1994-02-16  Todd C. Miller  <Todd.Miller@courtesan.com>
29267
29268         * sudo.c:
29269         added rmenv() to remove stuff from environ. can now uses execvp()
29270         OR execve() becuase of this.
29271         [e7fc2535bd67]
29272
29273         * logging.c:
29274         now uses execvp() OR execve()
29275         [56391aa1f99d]
29276
29277         * sudo.h:
29278         added USE_EXECVE
29279         [f21f38050b95]
29280
29281         * sudo.h:
29282         added environ
29283         [6b805e23c6f6]
29284
29285         * find_path.c:
29286         now ignore EPERM
29287         [c8fd7117a1d7]
29288
29289         * sudo.h:
29290         moved some func decls out of sudo.h and into sudo.c as statics /.
29291         [5f555c267d27]
29292
29293         * CHANGES:
29294         updated
29295         [431f478af320]
29296
29297         * sudo.h:
29298         took out Envp
29299         [6f722be7793d]
29300
29301 1994-02-14  Todd C. Miller  <Todd.Miller@courtesan.com>
29302
29303         * BUGS:
29304         Initial revision
29305         [4a8ecf0da95c]
29306
29307 1994-02-10  Todd C. Miller  <Todd.Miller@courtesan.com>
29308
29309         * CHANGES:
29310         added SECURE_PATH
29311         [1c72cb222609]
29312
29313         * sudo.c, sudo.h:
29314         added SECURE_PATH
29315         [5bf5357a63c5]
29316
29317         * sudo.h:
29318         added SECURE_PATH
29319         [3976a74405ac]
29320
29321         * INSTALL:
29322         added sample.sudoers note
29323         [1b395d29aaeb]
29324
29325         * sudoers:
29326         Initial revision
29327         [485888d07477]
29328
29329 1994-02-09  Todd C. Miller  <Todd.Miller@courtesan.com>
29330
29331         * find_path.c:
29332         fixed typo
29333         [bfc3cc4d41ca]
29334
29335         * PORTING:
29336         took out SAVED_UID garbage
29337         [b7c2d3469661] [SUDO_1_3_0]
29338
29339         * INSTALL:
29340         mentioned HAL
29341         [253d6695df90]
29342
29343         * sudo.h:
29344         added HAL line
29345         [29ec1a4ac6de]
29346
29347         * insults.h:
29348         added HAL insults
29349         [7d7c96d77c74]
29350
29351         * TODO:
29352         updated
29353         [aa2ed9790586]
29354
29355         * logging.c:
29356         more verbose error if mailer not found
29357         [fca47fd00cb6]
29358
29359         * check.c:
29360         now do getpwent as root for soem shadow password systems (bsdi)
29361         [e0339e110d46]
29362
29363 1994-02-08  Todd C. Miller  <Todd.Miller@courtesan.com>
29364
29365         * sudo.h:
29366         took out SAVED_UID garbade
29367         [fcb0e81dcdb5]
29368
29369         * sudo.c:
29370         took out SAVED_UID garbage since it don't work
29371         [507e9513e9c2]
29372
29373 1994-02-06  Todd C. Miller  <Todd.Miller@courtesan.com>
29374
29375         * README:
29376         updated
29377         [d2b6b253dae5]
29378
29379         * insults.h:
29380         added a missing space :-)
29381         [8940ea991f87]
29382
29383         * sudo.c, sudo.h:
29384         took out multimax cruft
29385         [c2606b365181]
29386
29387         * INSTALL:
29388         minor update
29389         [05fb6ee73131]
29390
29391         * PORTING:
29392         finished
29393         [c4ac47c84dc5]
29394
29395         * sudo.c:
29396         fixed a typo + indentation
29397         [7eab40aae8fa]
29398
29399 1994-02-05  Todd C. Miller  <Todd.Miller@courtesan.com>
29400
29401         * sudo.h:
29402         took outumoved some defines to the config file ,. ,.
29403         [defff05beb52]
29404
29405         * PORTING:
29406         Initial revision
29407         [c803e9127959]
29408
29409         * TODO:
29410         did #6
29411         [c6fa1c946c31]
29412
29413         * sudo.h:
29414         added HAS_SAVED_UID
29415         [6a88a39c0a07]
29416
29417         * sudo.c:
29418         put back AIX cruft
29419         [a24d2507ddd4]
29420
29421 1994-02-03  Todd C. Miller  <Todd.Miller@courtesan.com>
29422
29423         * sudo.c:
29424         aix changes
29425         [1663915f754a]
29426
29427 1994-02-02  Todd C. Miller  <Todd.Miller@courtesan.com>
29428
29429         * CHANGES:
29430         updated
29431         [a8cc73747cae]
29432
29433         * check.c, logging.c, parse.c, sudo.c, sudo.h:
29434         now is only root when abs necesary
29435         [3c9d12c5cdfe]
29436
29437         * check.c:
29438         added missing %s\n
29439         [609320b72d89]
29440
29441 1994-01-31  Todd C. Miller  <Todd.Miller@courtesan.com>
29442
29443         * install-sh:
29444         Initial revision
29445         [b5bba140a175]
29446
29447         * TODO:
29448         updated
29449         [c9d2eba602af]
29450
29451         * CHANGES:
29452         updated
29453         [932f1fc3bb14]
29454
29455         * sudo.c:
29456         now removed _RLD_* for alphas
29457         [54a36e648158]
29458
29459         * INSTALL:
29460         updated for new config scheme
29461         [61c8ae800444]
29462
29463         * find_path.c:
29464         more verbose eror messages
29465         [b4fd123db42d]
29466
29467 1994-01-27  Todd C. Miller  <Todd.Miller@courtesan.com>
29468
29469         * TODO:
29470         now have solaris
29471         [371002fbf266]
29472
29473         * sudo.h:
29474         define __svr4__ for SOLARIS
29475         [0b5cf5ed936d]
29476
29477         * check.c:
29478         added svr4 junk for shadow pws for solaris 2.x
29479         [91ed58f21618]
29480
29481         * check.c, sudo.c:
29482         took out setuid(0) and setreuid(udi) garbage. Its not needed since
29483         we start out setuid with the correct perms.
29484         [07689e782b0b]
29485
29486         * check.c, sudo.c, sudo.h:
29487         now use setreuid()
29488         [7d64d685d78e]
29489
29490 1994-01-26  Todd C. Miller  <Todd.Miller@courtesan.com>
29491
29492         * sudo.man:
29493         revised AUTHORS secrtion & added ENV_EDITOR stuff to VARIABLES
29494         sectoin
29495         [b26967b1e19b]
29496
29497         * visudo.c:
29498         now uses ENV_EDITOR if you want to use the EDITOR envar
29499         [a4f8fcb9bd1d]
29500
29501         * sudo.h:
29502         now uses ENV_EDITOR if you want to use the EDITOR envar >> .
29503         [028cc55c4328]
29504
29505 1993-12-07  Todd C. Miller  <Todd.Miller@courtesan.com>
29506
29507         * INSTALL:
29508         rewrote most of this
29509         [a6750923f9c9]
29510
29511         * README:
29512         minor update + spell fix
29513         [a411717a7249]
29514
29515         * sudo.h:
29516         added all options that are in the Makefile
29517         [6db3b3b841b3]
29518
29519         * getpass.c:
29520         now use USE_TERMIO #define for sgi & hpux
29521         [b91f89ae6be1]
29522
29523         * TODO:
29524         todo: posix sigs
29525         [4548a56eb2ef]
29526
29527 1993-12-06  Todd C. Miller  <Todd.Miller@courtesan.com>
29528
29529         * check.c, find_path.c:
29530         always include strings.h
29531         [1fc20bda92c0]
29532
29533         * visudo.c:
29534         added STATICEDITOR
29535         [0596f820716e]
29536
29537         * sudo.h:
29538         sgi has vi in /usr/bin too
29539         [94203b62bfd9]
29540
29541         * sudo.man:
29542         added VISUAL
29543         [87c2844c4cac]
29544
29545 1993-12-03  Todd C. Miller  <Todd.Miller@courtesan.com>
29546
29547         * sudo.h:
29548         sue /usr/bin/vi on some systems
29549         [e3ad9190f35e]
29550
29551         * sudo.c:
29552         fixed warning (include strings.h)
29553         [0b896de4d8a0]
29554
29555         * sudo.man:
29556         added John_Rouillard@dl5000.bc.edu's changes (new features)
29557         [f41b4205a8cf]
29558
29559         * CHANGES:
29560         changes from John_Rouillard@dl5000.bc.edu
29561         [6bdef8e948d5]
29562
29563         * visudo.c:
29564         added EDITOR envar
29565         [5c4bf716de21]
29566
29567         * check.c, find_path.c, parse.c, sudo.c:
29568         added patches from John_Rouillard directory spec
29569         uses EDITOR
29570         [f62a435f8c41]
29571
29572 1993-12-02  Todd C. Miller  <Todd.Miller@courtesan.com>
29573
29574         * getpass.c:
29575         added flush for hpux
29576         [07cfdd6a7b55]
29577
29578 1993-11-30  Todd C. Miller  <Todd.Miller@courtesan.com>
29579
29580         * sudo.c:
29581         no longer assume malloc returns a char *
29582         [7480bd2756f3]
29583
29584         * sudo.c:
29585         alpha change to remove LD_-like thing fixed SHLIB_PATH stuff -- now
29586         gets removed correctly
29587         [8587166c6ac8]
29588
29589         * sudo.h:
29590         added STD_HEADERS macro
29591         [480f5a9a516c]
29592
29593         * sudo.c:
29594         now uses STD_HEADERS macor for ansi
29595         [c5018806fd59]
29596
29597         * find_path.c:
29598         now uses STD_HEADERS macro
29599         [ad821e0788ea]
29600
29601         * check.c:
29602         niceties for C compiler bitches -- no real change
29603         [0fc0b1a5fb64]
29604
29605 1993-11-29  Todd C. Miller  <Todd.Miller@courtesan.com>
29606
29607         * visudo.c:
29608         now doesn't fclose a file never opened.
29609         [ee888ec9427d]
29610
29611 1993-11-28  Todd C. Miller  <Todd.Miller@courtesan.com>
29612
29613         * sudo.man:
29614         added visudo line
29615         [698d51c66407]
29616
29617         * sudo.man:
29618         added error stuff added me in there...
29619         [d202fd34b906]
29620
29621         * CHANGES:
29622         noted insults
29623         [998a22c2230c]
29624
29625         * INSTALL:
29626         added blurb about reading stuff
29627         [e71db100798f]
29628
29629         * sudo.h:
29630         added insults
29631         [c110431cec56]
29632
29633         * insults.h:
29634         corrected somments and removed newlines
29635         [493706fd488c]
29636
29637         * check.c:
29638         now uses insults
29639         [6d23cf06a0ef]
29640
29641         * insults.h:
29642         Initial revision
29643         [83153c26b4a3]
29644
29645         * INSTALL:
29646         added dec syslog note
29647         [555437273237]
29648
29649         * sample.sudoers:
29650         added real stuff in there
29651         [53442a7fba78]
29652
29653         * TODO:
29654         added a todo
29655         [c630472bd4dc]
29656
29657         * TODO:
29658         added one
29659         [806464453284]
29660
29661 1993-11-27  Todd C. Miller  <Todd.Miller@courtesan.com>
29662
29663         * sample.sudoers:
29664         Initial revision
29665         [7db0a9f1ca8f]
29666
29667         * sudo.man:
29668         updated with changes
29669         [d9bf254c6c08]
29670
29671         * sudo.man:
29672         Initial revision
29673         [dd6f11174ac6]
29674
29675         * indent.pro:
29676         Initial revision
29677         [dbfbb494fad9]
29678
29679         * CHANGES, COPYING, INSTALL, README, TODO:
29680         Initial revision
29681         [6d98f489a079]
29682
29683         * visudo.c:
29684         updated version number and took out jeff's old addr since it is no
29685         good
29686         [ee47c24818cb]
29687
29688         * check.c, find_path.c, logging.c, parse.c, parse.lex, parse.yacc,
29689         sudo.c, sudo.h:
29690         updated version number and took out jeff's email (since it is
29691         invalid)
29692         [54616458a52e]
29693
29694 1993-10-28  Todd C. Miller  <Todd.Miller@courtesan.com>
29695
29696         * check.c:
29697         added fflush()
29698         [145c881f4fb4]
29699
29700 1993-10-23  Todd C. Miller  <Todd.Miller@courtesan.com>
29701
29702         * find_path.c:
29703         now return NULL instead pf\b\bof exiting for nopn\b\bn-fatal errors
29704         [8bc74f8cb1ae]
29705
29706 1993-10-21  Todd C. Miller  <Todd.Miller@courtesan.com>
29707
29708         * check.c:
29709         new banner
29710         [5387ab2af516]
29711
29712         * parse.lex:
29713         now sudo.h gets included first
29714         [2acb01c18e18]
29715
29716 1993-10-18  Todd C. Miller  <Todd.Miller@courtesan.com>
29717
29718         * parse.lex:
29719         now can use flex
29720         [164d3839adf0]
29721
29722         * sudo.h:
29723         linux patch
29724         [f1b6b1b1a2ca]
29725
29726         * sudo.c:
29727         hpux 9 fix, removes SHLIB_PATH linux patch
29728         [67611dc1737f]
29729
29730         * check.c:
29731         linux diff
29732         [c24536682397]
29733
29734 1993-10-15  Todd C. Miller  <Todd.Miller@courtesan.com>
29735
29736         * find_path.c:
29737         stat now ignores EINVAL
29738         [c7761a5dc642]
29739
29740 1993-10-06  Todd C. Miller  <Todd.Miller@courtesan.com>
29741
29742         * find_path.c, sudo.c:
29743         now declare strdup as extern
29744         [6b7d6f8784b5]
29745
29746 1993-10-04  Todd C. Miller  <Todd.Miller@courtesan.com>
29747
29748         * visudo.c:
29749         reformatted with indent + by hand
29750         [9d43084e4990]
29751
29752         * check.c, find_path.c, getpass.c, logging.c, parse.c, sudo.c, sudo.h:
29753         used indent to "fix" coding style
29754         [489ffacbdc70]
29755
29756         * find_path.c:
29757         now checks '.' or '.' or '' in PATH -- but does it LAST should maybe
29758         move the code that does this into the loop body. makes it messier
29759         tho. hmmm.
29760         [c4d22b48da9a]
29761
29762 1993-09-08  Todd C. Miller  <Todd.Miller@courtesan.com>
29763
29764         * find_path.c:
29765         redid the fix for non-executable files in an easier to read way plus
29766         some minor aethetic changes
29767         [84fe337f1426]
29768
29769         * find_path.c:
29770         fixed bug with non-executable tings of same name in path introduced
29771         by checkig errno after stat(2).
29772         [c2a812cfcbc1]
29773
29774 1993-09-05  Todd C. Miller  <Todd.Miller@courtesan.com>
29775
29776         * sudo.c:
29777         fixed off by one error
29778         [fabb7cee0041]
29779
29780         * find_path.c:
29781         now handles decending below '/' correctly
29782         [5d2ddfc0b220]
29783
29784         * sudo.c:
29785         now actually builds Envp instead of munging envp
29786         [bdc4b08f6898]
29787
29788 1993-09-04  Todd C. Miller  <Todd.Miller@courtesan.com>
29789
29790         * parse.yacc:
29791         now includes sys/param.h
29792         [efbb494ab4de]
29793
29794         * visudo.c:
29795         now includes sys/param.h
29796         [ad6c91d59958]
29797
29798         * sudo.h:
29799         fixed ifndef -> ifdef
29800         [7aebe822d863]
29801
29802         * qualify.c:
29803         make more like find_path.c
29804         [853b2dab2e03]
29805
29806         * find_path.c:
29807         rewritten by millert
29808         [c6a043cc11b3]
29809
29810         * sudo.h:
29811         fixed MAXCOMMANDLENGTH now uses USE_CWD and NEED_STRDUP added info
29812         about new defines in the comment
29813         [39ffefce3aec]
29814
29815         * logging.c:
29816         now uses USE_CWD
29817         [fa0f3b118bb3]
29818
29819         * sudo.h:
29820         added delc for clean_envp() and Envp
29821         [a12034e300c2]
29822
29823         * sudo.c:
29824         now rips LD_* env vars out of envp and passed sanitized Envp to exec
29825         [d201a218e056]
29826
29827         * logging.c:
29828         now uses execve()
29829         [f3e01032cd33]
29830
29831         * find_path.c:
29832         ENOTDIR is ok now too (in case part of the path is bogus)
29833         [b5cbbb201bb5]
29834
29835         * qualify.c:
29836         now works correctly (ttaltotal rewrite)
29837         [0c25d64a5c68]
29838
29839         * parse.lex:
29840         now includes sys/param.h didn't match trailing / -- fix from
29841         rouilj@cs.umb.edu
29842         [b6363ba110af]
29843
29844 1993-06-11  Todd C. Miller  <Todd.Miller@courtesan.com>
29845
29846         * sudo.c:
29847         moved around the #ifndef _AIX
29848         [7d4330950c20]
29849
29850         * check.c, logging.c, parse.c:
29851         Initial revision
29852         [c101e9572d7f]
29853
29854 1993-03-20  Todd C. Miller  <Todd.Miller@courtesan.com>
29855
29856         * qualify.c:
29857         Initial revision
29858         [5a5f21d0e0bf]
29859
29860 1993-03-13  Todd C. Miller  <Todd.Miller@courtesan.com>
29861
29862         * find_path.c:
29863         now works if you do sudo bin/test
29864         [07835120ce43]
29865
29866         * find_path.c:
29867         works
29868         [c3da8b5efa20]
29869
29870 1993-03-02  Todd C. Miller  <Todd.Miller@courtesan.com>
29871
29872         * sudo.h:
29873         Initial revision
29874         [28a1caa38b72]
29875
29876         * visudo.c:
29877         Initial revision
29878         [0e5cd7c3cdbe]
29879
29880         * parse.lex, parse.yacc:
29881         Initial revision
29882         [5f2d0cccb06b]
29883
29884 1993-02-16  Todd C. Miller  <Todd.Miller@courtesan.com>
29885
29886         * sudo.c:
29887         took out errno.h
29888         [7466431a2655]
29889
29890         * sudo.c:
29891         now spews error if exec fails and exits with -1
29892         [e5c41ea725c1]
29893
29894         * sudo.c:
29895         Initial revision
29896         [8aeabe39a0c2]
29897
29898         * find_path.c:
29899         now only execs files with (an) executable bit set.
29900         [0a451f9c0e58]
29901
29902         * find_path.c:
29903         Initial revision
29904         [02a534891a35]
29905
29906 1993-02-15  Todd C. Miller  <Todd.Miller@courtesan.com>
29907
29908         * getpass.c:
29909         added nice comment
29910         [ea8b2aaa9389]
29911
29912         * getpass.c:
29913         now works on sgi's
29914         [bf2b7c6d0960]
29915
29916         * getpass.c:
29917         Initial revision
29918         [9f4de251c1b5]
29919