Imported Upstream version 1.8.4p4
[debian/sudo] / ChangeLog
1 2012-03-12  Todd C. Miller  <Todd.Miller@courtesan.com>
2
3         * .hgtags:
4         Added tag SUDO_1_8_4p4 for changeset 11a942f61d47
5         [4a20e5e9af5d] [tip] <1.8>
6
7         * NEWS, configure, configure.in:
8         Update for sudo 1.8.4p4
9         [11a942f61d47] [SUDO_1_8_4p4] <1.8>
10
11         * plugins/sudoers/parse.c:
12         Fix bogus int -> bool conversion; tags can have a value of -1.
13         [85ec4ae84fcf] <1.8>
14
15         * sudo.pp:
16         Fix application of debian-specific sudoers mods when building
17         packages as non-root.
18         [e3e7f75d718c] <1.8>
19
20         * .hgtags:
21         Added tag SUDO_1_8_4p3 for changeset 3093c8558862
22         [b82d3b208a4d] <1.8>
23
24         * NEWS, configure, configure.in:
25         Update for sudo 1.8.4p3
26         [3093c8558862] [SUDO_1_8_4p3] <1.8>
27
28         * plugins/sudoers/env.c:
29         matches_env_check() returns int, not boolean
30         [110f954181e1] <1.8>
31
32         * src/ttyname.c:
33         Simply move the free of ki_proc outside the realloc() loop.
34         [18209f1ff9f7] <1.8>
35
36         * src/ttyname.c:
37         Bring back the erealloc() for the ENOMEM loop and just zero the
38         pointer after we free it.
39         [83a1c1ec6b03] <1.8>
40
41         * doc/visudo.cat, doc/visudo.man.in:
42         regen
43         [04ea41a8657c] <1.8>
44
45         * src/ttyname.c:
46         Don't try to erealloc() a potentially freed pointer; Mateusz Guzik
47         [cca8a33ed286] <1.8>
48
49 2012-03-09  Todd C. Miller  <Todd.Miller@courtesan.com>
50
51         * src/exec_pty.c, src/ttyname.c:
52         Fix format string warning on Solaris with gcc 3.4.3.
53         [45322f41e677] <1.8>
54
55         * src/Makefile.in:
56         Honor LDFLAGS when linking sesh; from Vita Cizek
57         [349b3c929637] <1.8>
58
59         * src/sesh.c:
60         Include alloc.h for estrdup() prototype; from Vita Cizek
61         [f5ed422a6553] <1.8>
62
63 2012-03-08  Todd C. Miller  <Todd.Miller@courtesan.com>
64
65         * INSTALL:
66         Fix editor goof.
67         [574f0b17a91f] <1.8>
68
69 2012-03-01  Todd C. Miller  <Todd.Miller@courtesan.com>
70
71         * configure, configure.in:
72         Add check for variadic macro support in cpp.
73         [1ce59ac2e4f9] <1.8>
74
75 2012-02-28  Todd C. Miller  <Todd.Miller@courtesan.com>
76
77         * doc/visudo.pod, plugins/sudoers/visudo.c:
78         Check the owner and mode in -c (check) mode unless the -f option is
79         specified. Previously, the owner and mode were checked on the main
80         sudoers file when the -s (strict) option was given, but this was not
81         documented.
82         [dff2805fc49e] <1.8>
83
84         * config.h.in, configure, configure.in, src/ttyname.c:
85         Prefer KERN_PROC2 over KERN_PROC. Fixes compilation on some
86         versions of OpenBSD versions that have KERN_PROC2 but not KERN_PROC.
87         [dceb6078cda5] <1.8>
88
89 2012-02-27  Todd C. Miller  <Todd.Miller@courtesan.com>
90
91         * .hgtags:
92         Added tag SUDO_1_8_4p2 for changeset db564e1c02cf
93         [52638c160a4b] <1.8>
94
95         * NEWS, configure, configure.in:
96         bump version to 1.8.4p2
97         [db564e1c02cf] [SUDO_1_8_4p2] <1.8>
98
99         * src/exec_pty.c:
100         Fix typo in safe_close() made while converting to debug framework
101         that prevented it from actually closing anything.
102         [833a8ce346d2] <1.8>
103
104         * common/Makefile.in, compat/Makefile.in, doc/Makefile.in,
105         include/Makefile.in:
106         We need sysconfdir in compat/Makfile to get the proper sudo.conf
107         path. Add standard prefix and foodir expansion in all Makefiles to
108         avoid this problem in the future.
109         [ce1caa89c24d] <1.8>
110
111 2012-02-24  Todd C. Miller  <Todd.Miller@courtesan.com>
112
113         * plugins/sudoers/ldap.c:
114         When adding gids to the LDAP filter, only add the primary gid once.
115         This is consistent with the space computation/allocation. From Eric
116         Lakin
117         [229db740f035] <1.8>
118
119         * doc/TROUBLESHOOTING:
120         Add entry for AIX enhanced RBAC config.
121         [24f1e176e398] <1.8>
122
123         * mkpkg:
124         Target Mac OS X 10.5 when building packages.
125         [7b296251013d] <1.8>
126
127 2012-02-21  Todd C. Miller  <Todd.Miller@courtesan.com>
128
129         * .hgtags:
130         Added tag SUDO_1_8_4p1 for changeset aeb6b9701150
131         [26bc7af7c304] <1.8>
132
133         * NEWS:
134         List 1.8.4p1
135         [aeb6b9701150] [SUDO_1_8_4p1] <1.8>
136
137         * configure, configure.in:
138         bump version to 1.8.4p1
139         [2c7edc0bf0b7] <1.8>
140
141         * Fix the description of noexec.
142         [b5baebe2f820] <1.8>
143
144         * The "op" parameter to set_default() must be int, not bool since it
145         is set to '+' or '-' for list add and subtract.
146         [b6bf0980fb08] <1.8>
147
148         * Make sure sudoers is writable before calling ed script.
149         [97e0078b19ae] <1.8>
150
151 2012-02-17  Todd C. Miller  <Todd.Miller@courtesan.com>
152
153         * .hgtags:
154         Added tag SUDO_1_8_4 for changeset 7b0b7dfc84c7
155         [18d646360da5] <1.8>
156
157         * Update contributors. Now includes translators and authors of compat
158         code.
159         [7b0b7dfc84c7] [SUDO_1_8_4] <1.8>
160
161 2012-02-16  Todd C. Miller  <Todd.Miller@courtesan.com>
162
163         * src/po/sudo.pot:
164         regen
165         [fda54a3b1cd1] <1.8>
166
167         * Build flat packages, not package bundles, on Mac OS X.
168         [2f6f0704a09e] <1.8>
169
170 2012-02-10  Todd C. Miller  <Todd.Miller@courtesan.com>
171
172         * Sync with translationproject.org
173         [77a0b5480ae5] <1.8>
174
175         * configure, configure.in:
176         Don't permanently add -D_FORTIFY_SOURCE=2 to CPPFLAGS
177         [6588fc4a55a1] <1.8>
178
179         * sudo.pp:
180         Move macos section to be with the other OS-specific sections.
181         [c3cc794fd586] <1.8>
182
183         * Add Mac OS X support, printing the latest chunk of the NEWS file and
184         the license text in the installer.
185         [905d8fab423f] <1.8>
186
187         * Add explicit file modes that match those used by "make install"
188         [7e1eb99baf92] <1.8>
189
190         * Sync with upstream for Mac OS X fixes.
191         [90cec33d1108] <1.8>
192
193         * Got back to using "install-sh -M" for files installed as non-
194         readable by owner. This fixes "make install" as non-root for
195         package building.
196         [9e1e87961712] <1.8>
197
198 2012-02-09  Todd C. Miller  <Todd.Miller@courtesan.com>
199
200         * Sync with translationproject.org
201         [0c835326e22c] <1.8>
202
203         * Makefile.in:
204         Use -m not -M for install-sh for everything except setuid. Install
205         locale .mo files mode 0444, not 0644. If timedir parent doesn't
206         exist, use default dir mode, not 0700.
207         [451576bb0772] <1.8>
208
209 2012-02-07  Todd C. Miller  <Todd.Miller@courtesan.com>
210
211         * Re-sync with upstream; no longer need a local patch.
212         [342d3dceba65] <1.8>
213
214         * Add support for building Mac OS X packages.
215         [e047b6fbba17] <1.8>
216
217         * Sync with upstream
218         [20cc2ff83ee3] <1.8>
219
220         * No longer need to define _PATH_SUDO_CONF here.
221         [7da6e017c6d0] <1.8>
222
223         * Fix noexec for Mac OS X.
224         [71b8ee9eea74] <1.8>
225
226 2012-02-06  Todd C. Miller  <Todd.Miller@courtesan.com>
227
228         * Move _PATH_SUDO_CONF override to common to match sudo_conf.c
229         [639fe46fc8c0] <1.8>
230
231         * plugins/sudoers/po/sudoers.pot, src/po/sudo.pot:
232         fix version in .pot files
233         [37dbb6f99fc9] <1.8>
234
235         * More complete fix for LDR_PRELOAD on AIX. The addition of
236         set_perm(PERM_ROOT) before calling the nss open functions (needed to
237         avoid a GNU TLS bug) also broke LDR_PRELOAD. Setting the effective
238         and then real uid to 0 for PERM_ROOT works around the issue.
239         [5d52d2565dca] <1.8>
240
241         * plugins/sudoers/po/sudoers.pot, src/po/sudo.pot:
242         regen
243         [98e788019e50] <1.8>
244
245         * Set real uid to root before calling sudo_edit() or run_command() so
246         that the monitor process is owned by root and not by the user.
247         Otherwise, on AIX at least, the monitor process shows up in ps as
248         belonging to the user (and can be killed by the user).
249         [de4d852fef96] <1.8>
250
251         * For PERM_ROOT when using setreuid(), only set the euid to 0 prior to
252         the call to setuid(0) if the current euid is non-zero. This
253         effectively restores the state of things prior to rev 7bfeb629fccb.
254         Fixes a problem on AIX where LDR_PRELOAD was not being honored for
255         the command being executed.
256         [be1222842fc1] <1.8>
257
258         * configure, configure.in:
259         Make a copy of the struct passwd in exec_setup() to make sure
260         nothing in the policy init modifies it.
261         [5cbbbfffd1dc] <1.8>
262
263 2012-02-05  Todd C. Miller  <Todd.Miller@courtesan.com>
264
265         * doc/sudo.cat, doc/sudo.man.in, doc/sudoers.cat, doc/sudoers.man.in:
266         regen
267         [b67fc8934d2e] <1.8>
268
269         * update copyright
270         [df51e0f417de] <1.8>
271
272         * g/c now-unused debug subsystems
273         [888961d378f3] <1.8>
274
275         * Enumerate the debug subsystems used by sudo and sudoers.
276         [5418d7dd8ef4] <1.8>
277
278 2012-02-03  Todd C. Miller  <Todd.Miller@courtesan.com>
279
280         * NEWS, doc/sudo.cat, doc/sudo.man.in:
281         Normally, sudo disables core dumps while it is running. This
282         behavior can now be modified at run time with a line in sudo.conf
283         like "Set disable_coredumps false"
284         [ad21e940c5c2] <1.8>
285
286         * NEWS:
287         Mention Spanish translation
288         [bef71da9a4c2] <1.8>
289
290         * Make sure we don't try to fall back to using the conversation
291         function for debugging in the main sudo process if we are unable to
292         open the debug file.
293         [1f0e6451c85c] <1.8>
294
295         * Add sudo Spanish translation from translationproject.org
296         [2f71e4ecc6f9] <1.8>
297
298         * Better debug subsystem usage
299         [b313903c1fe4] <1.8>
300
301         * Remove duplicate function prototypes
302         [60860ae4d303] <1.8>
303
304 2012-02-01  Todd C. Miller  <Todd.Miller@courtesan.com>
305
306         * configure, configure.in:
307         Error out if user specified --with-pam but we can't find the headers
308         or library. Also throw an error if the headers are present but the
309         library is not and vice versa.
310         [445de14974ff] <1.8>
311
312 2012-01-31  Todd C. Miller  <Todd.Miller@courtesan.com>
313
314         * Fix the sudoers permission check when the expected sudoers mode is
315         owner-writable.
316         [ee1104bb2142] <1.8>
317
318 2012-01-30  Todd C. Miller  <Todd.Miller@courtesan.com>
319
320         * configure, configure.in:
321         Verify that we can link executables built with -D_FORTIFY_SOURCE
322         before using it.
323         [4dee7e2b5795] <1.8>
324
325         * Fix potential off-by-one when making a copy of the environment for
326         LD_PRELOAD insertion. Fixes bug #534
327         [3ddcf9a4de63] <1.8>
328
329         * configure, configure.in:
330         Add rudimentary check for _FORTIFY_SOURCE support by checking for
331         __sprintf_chk, one of the functions used by gcc to support it.
332         [029db376a497] <1.8>
333
334         * configure, configure.in:
335         Use AC_HEADER_STDBOOL instead of checking for stdbool.h ourselves.
336         [201d1f3b4aa2] <1.8>
337
338 2012-01-29  Todd C. Miller  <Todd.Miller@courtesan.com>
339
340         * plugins/sudoers/po/sudoers.pot, src/po/sudo.pot:
341         regen
342         [3c0ebf67b333] <1.8>
343
344 2012-01-25  Todd C. Miller  <Todd.Miller@courtesan.com>
345
346         * The change in 4fe0f357d34b that caused to exit when the monitor dies
347         created a race condition between the monitor exiting and the status
348         being read. All we really want to do is make sure that select()
349         notifies us that there is a status change when the monitor dies
350         unexpectedly so shutdown the socketpair connected to the monitor for
351         writing when it dies. That way we can still read the status that is
352         pending on the socket and select() on Linux will tell us that the fd
353         is ready.
354         [16c1a3da35c6] <1.8>
355
356         * Refactor disable_execute() and my_execve() into exec_common.c for
357         use by sesh.c. This fixes NOEXEC when SELinux is used. Instead of
358         disabling exec in exec_setup(), disable it immediately before
359         executing the command. Adapted from a diff by Arno Schuring.
360         [d266fdb5d00e] <1.8>
361
362 2012-01-20  Todd C. Miller  <Todd.Miller@courtesan.com>
363
364         * configure, configure.in:
365         Add custom version of AC_CHECK_LIB that uses the extra libs in the
366         cache value name. With this we no longer need to rely on a modified
367         version of autoconf.
368         [f5293f1a5968] <1.8>
369
370 2012-01-19  Todd C. Miller  <Todd.Miller@courtesan.com>
371
372         * configure, configure.in:
373         Better handling of network functions that need -lsocket -lnsl
374         [91dcddb6ec61] <1.8>
375
376         * When setting up the execution environment, set groups before
377         gid/egid like sudo 1.7 did.
378         [97a921461313] <1.8>
379
380         * configure, configure.in:
381         Remove "WARNING: unable to find foo() trying -lsocket -lnsl"
382         [c1c174183607] <1.8>
383
384         * For "sudo -g" prepend the specified group ID to the beginning of the
385         groups list. This matches BSD convention where the effective gid is
386         the first entry in the group list. This is required on newer
387         FreeBSD where the effective gid is not tracked separately and thus
388         setgroups() changes the egid if this convention is not followed.
389         Fixes bug #532
390         [5050708c2579] <1.8>
391
392 2012-01-17  Todd C. Miller  <Todd.Miller@courtesan.com>
393
394         * configure, configure.in:
395         Fix sh warning; use "test" instead of "["
396         [417fbc1dc5e8] <1.8>
397
398         * When not logging I/O, use a signal handler that only forwards
399         SIGINT, SIGQUIT and SIGHUP when they are user-generated signals.
400         Fixes a race in the non-I/O logging path where the command may
401         receive two keyboard-generated signals; one from the kernel and one
402         from the sudo process.
403         [24137cae39af] <1.8>
404
405         * Back out change that put the command in its own pgrp when not
406         logging I/O. It causes problems with pipelines.
407         [9c906f88e28c] <1.8>
408
409         * configure, configure.in:
410         Only run compat regress tests on compat objects we actually build.
411         Fixes "make check" in the compat dir for systems that don't
412         implement character classes in fnmatch() or glob(). Bug #531
413         [c052875fa32e] <1.8>
414
415 2012-01-14  Todd C. Miller  <Todd.Miller@courtesan.com>
416
417         * Update po files from translationproject.org
418         [8e54824c7b71] <1.8>
419
420 2012-01-13  Todd C. Miller  <Todd.Miller@courtesan.com>
421
422         * Include parent directories in case they don't already exist. This
423         fixes a directory permissions problem with the AIX package when the
424         /usr/local directories don't already exist.
425         [83df6fcba859] <1.8>
426
427         * sync with git version
428         [0964a02ba83e] <1.8>
429
430         * regen dependencies
431         [342e3719dc9e] <1.8>
432
433         * Move tty name lookup code to its own file.
434         [9679de390de0] <1.8>
435
436 2012-01-12  Todd C. Miller  <Todd.Miller@courtesan.com>
437
438         * NEWS:
439         Update with latest sudo 1.8.4 changes.
440         [ef4e0a762766] <1.8>
441
442         * configure, configure.in:
443         Remove obsolete template for HAVE_TIMESPEC
444         [54a81b130d7e] <1.8>
445
446         * Add a check for devname() returning a fully-qualified pathname. None
447         of the devname() implementations do this today but you never know
448         when this might change.
449         [634654d38143] <1.8>
450
451 2012-01-11  Todd C. Miller  <Todd.Miller@courtesan.com>
452
453         * For "visudo -c" also list include files that were checked when
454         everything is OK.
455         [aa3be04c5d12] <1.8>
456
457         * The device name returned by devname() does not include the /dev/
458         prefix so we need to add it ourselves. Also add debug warning if
459         KERN_PROC sysctl fails or devname() can't resolve the tty device to
460         a name.
461         [5e90760f6c24] <1.8>
462
463         * The result of writev() is never checked so just cast to NULL.
464         [4a6820c77d7c] <1.8>
465
466         * Update Esperanto, Finnish, Polish and Ukrainian translations from
467         translationproject.org.
468         [3796fba03ff1] <1.8>
469
470 2012-01-10  Todd C. Miller  <Todd.Miller@courtesan.com>
471
472         * configure, configure.in:
473         Add support for determining tty via sysctl on other BSD variants.
474         [6e4b1ce7f45a] <1.8>
475
476         * configure, configure.in:
477         Only check for struct kinfo_proc.ki_tdev on systems that support
478         sysctl.
479         [33c700b439ff] <1.8>
480
481         * For FreeBSD, try the KERN_PROC_PID sysctl() first, falling back on
482         ttyname() of std{in,out,err}.
483         [30789189030b] <1.8>
484
485 2012-01-09  Todd C. Miller  <Todd.Miller@courtesan.com>
486
487         * configure, configure.in:
488         On newer FreeBSD we can get the parent's tty name via sysctl().
489         [d9449833859b] <1.8>
490
491         * Include locale.h
492         [98114209d1b5] <1.8>
493
494         * Silence a gcc warning.
495         [113934aaafa8] <1.8>
496
497         * Need to include gettext.h and sudo_debug.h; from John Hein
498         [3ec4bf7fcacf] <1.8>
499
500         * Initialize the debug framework from the I/O plugin too.
501         [ff525b1d9c4b] <1.8>
502
503         * Enable debugging via sudo.conf.
504         [2970ab524d25] <1.8>
505
506         * Use SUDO_DEBUG_ALIAS for alias checking functions.
507         [854fd74fe685] <1.8>
508
509         * configure, configure.in:
510         More complete test for getaddrinfo() that doesn't rely on the
511         network libraries already being added to LIBS.
512         [543af760a5d3] <1.8>
513
514 2012-01-06  Todd C. Miller  <Todd.Miller@courtesan.com>
515
516         * Add debug support.
517         [3b6aff4ee2bd] <1.8>
518
519         * configure, configure.in:
520         Need -lsocket -lnsl for getaddrinfo(3) on Solaris at least.
521         [f5b3fba6c83a] <1.8>
522
523         * Include errno.h and missing.h
524         [8a05166bb4d0] <1.8>
525
526         * doc/sudo.cat, doc/sudo.man.in, doc/sudo_plugin.cat,
527         doc/sudo_plugin.man.in, doc/sudoers.cat, doc/sudoers.ldap.cat,
528         doc/sudoers.ldap.man.in, doc/sudoers.man.in, doc/sudoreplay.cat,
529         doc/sudoreplay.man.in, doc/visudo.cat, doc/visudo.man.in:
530         regen
531         [f45ed34d9a97] <1.8>
532
533         * ignore doc/varsub
534         [51d0dfb2e274] <1.8>
535
536         * plugins/sudoers/po/sudoers.pot, src/po/sudo.pot:
537         regen pot files
538         [9ba13496954e] <1.8>
539
540         * configure.in:
541         Update copyright year.
542         [5219ae27b734] <1.8>
543
544         * NEWS:
545         Update for sudo 1.8.4
546         [75a6711efa76] <1.8>
547
548         * plugins/sudoers/po/sudoers.pot, src/po/sudo.pot:
549         regen pot files
550         [c8183dc16517] <1.8>
551
552         * Enable debugging via sudo.conf.
553         [63bee1548d5b] <1.8>
554
555         * Allow "visudo -c" to work when we only have read-only access to the
556         sudoers include files.
557         [c8a5e1f16e60] <1.8>
558
559         * Mention the CONTRIBUTORS file, not HISTORY in AUTHOR section. Add
560         HISTORY section in sudo that points to HISTORY file.
561         [8d845530d44f] <1.8>
562
563         * Document Debug setting in sudo.conf and debug_flags in plugin.
564         [da43e61209c0] <1.8>
565
566         * Do not include GLOB_MARK in the flags we pass to glob(3). Fixes a
567         bug where a pattern like "/usr/*" include /usr/bin/ in the results,
568         which would be incorrectly be interpreted as if the sudoers file had
569         specified a directory. From Vitezslav Cizek.
570         [5c71c962d1ad] <1.8>
571
572         * INSTALL, configure, configure.in:
573         Add --enable-kerb5-instance configure option to allow people using
574         Kerberos V authentication to use a custom instance. Adapted from a
575         diff by Michael E Burr.
576         [f432314f0a33] <1.8>
577
578         * Remove -D debug_level option.
579         [2754a61efbbe] <1.8>
580
581         * Update copyright year.
582         [3bd531625eeb] <1.8>
583
584 2012-01-04  Todd C. Miller  <Todd.Miller@courtesan.com>
585
586         * parse_error is now bool, not int
587         [0cbd5c12b3eb] <1.8>
588
589         * Print a more sensible error if yyparse() returns non-zero but
590         yyerror() was not called.
591         [325a9871ff32] <1.8>
592
593         * Replace y.tab.c with the correct filename in #line directives.
594         [3073f5823a41] <1.8>
595
596         * configure, configure.in:
597         Bump version to 1.8.4
598         [4fe77346a1d1] <1.8>
599
600         * When trying to determine the tty, fall back on /proc/ppid/fd/{0,1,2}
601         if the main process's fds 0-2 are not hooked up to a tty. Adapted
602         from a diff by Zdenek Behan.
603         [40863388db30] <1.8>
604
605         * When not logging I/O, put command in its own pgrp and make that the
606         controlling pgrp if the command is in the foreground. Fixes a race
607         in the non-I/O logging path where the command may receive two
608         keyboard-generated signals; one from the kernel and one from the
609         sudo process.
610         [9f6ed53a62d6] <1.8>
611
612         * Quiet a bogus gcc warning.
613         [423322e16e27] <1.8>
614
615         * Fix warnings related to sudo.conf accessors.
616         [67b769099eec] <1.8>
617
618         * Separate sudo.conf parsing from plugin loading and move the parse
619         functions into the common lib so that visudo, etc. can use them.
620         [916162ff2443] <1.8>
621
622         * Remove support for noexec_file in sudoers and the plugin API
623         [e8a6743911be] <1.8>
624
625         * Don't dump interfaces if there are none.
626         [5a0326c36a1b] <1.8>
627
628         * Add missing %s printf escape to the group_plugin, iolog_dir and
629         iolog_file descriptions.
630         [05e3018e336c] <1.8>
631
632         * Fix typo in visiblepw description; from Joel Pickett
633         [f3a99aaf938f] <1.8>
634
635         * configure, configure.in, plugins/sudoers/login_class.c:
636         When running a login shell with a login_class specified, use
637         LOGIN_SETENV instead of rolling our own login.conf setenv support
638         since FreeBSD's login.conf has more than just setenv capabilities.
639         This requires us to swap the plugin-provided envp for the global
640         environ before calling setusercontext() and then stash the resulting
641         environ pointer back into the command details, which is kind of a
642         hack.
643         [99c71b6f629a] <1.8>
644
645         * If srcdir is "." just use the basename of the yacc/lex file when
646         generating the C version. This matches the generated files
647         currently in the repo.
648         [abcc3703d2e4] <1.8>
649
650         * Clean up the DEVEL noise
651         [b22a09c484cf] <1.8>
652
653         * Handle different Unix domain socket (actually socketpair) semantics
654         in BSD vs. Linux. In BSD if one end of the socketpair goes away
655         select() returns the fd as readable and the read will fail with
656         ECONNRESET. This doesn't appear to happen on Linux so if we notice
657         that the monitor process has died when I/O logging is enabled,
658         behave like the command has exited. This means we log the wait
659         status of the monitor, not the command, but there is nothing else we
660         can do at that point. This should only be an issue if SIGKILL is
661         sent to the monitor process.
662         [4fe0f357d34b] <1.8>
663
664         * Catch common signals in the monitor process so they get passed to
665         the command. Fixes a problem when the entire login session is
666         killed when ssh is disconnected or the terminal window is closed.
667         Previously, the monitor would exit and plugin's close method would
668         not be called.
669         [e41b2d9fc2c2] <1.8>
670
671         * INSTALL, configure, configure.in:
672         Mention how to configure pam_hpsec on HP-UX to play nicely with
673         sudo.
674         [ee4c73cce11d] <1.8>
675
676         * Escape values in the search expression as per RFC 4515.
677         [a249b85caccc] <1.8>
678
679         * No need for install target to depend explicitly on install-dirs, the
680         install-foo targets all depend on it.
681         [5f40ec883621] <1.8>
682
683         * ignore src/sesh
684         [0227b029ee08] <1.8>
685
686         * configure, configure.in:
687         Add support for setenv entries in login.conf. We can't use
688         LOGIN_SETENV since the plugin sets up the envp the command is
689         executed with. Also regen the Makefile.in files while here. Fixes
690         bug #527
691         [67d30f44bf45] <1.8>
692
693         * configure, configure.in:
694         Add getaddrinfo() for those without it, written by Russ Allbery
695         [57dd9b565bb6] <1.8>
696
697         * Restore PACKAGE_TARNAME, it is used in docdir
698         [cf27a773d65e] <1.8>
699
700         * SunPro C Compiler also has a _Bool builtin. Also add stdbool.h to
701         the MANIFEST
702         [4fa4f6cef15e] <1.8>
703
704         * Remove duplicate return statements.
705         [f0f9000461c1] <1.8>
706
707         * emove inaccurate comment
708         [e3bf2cef6256] <1.8>
709
710         * Fetch the login class for the user we authenticate specifically when
711         using BSD authentication. That user may have a different login
712         class than what we will use to run the command. When setting the
713         login class for the command, use the target user's struct passwd,
714         not the invoking user's. Fixes bug 526
715         [e3094ce63bd7] <1.8>
716
717         * configure, configure.in:
718         Replace @DEV@ prefix with DEVEL variable so we can do "make DEVEL=1"
719         [453f562645a2] <1.8>
720
721         * Fix "make check" fallout from the sudo_conv changes in sudo_debug.
722         [1e2f0d298b06] <1.8>
723
724         * configure, configure.in:
725         Use stdbool.h instead of rolling our own TRUE/FALSE macros.
726         [2a5841db0c50] <1.8>
727
728         * configure, configure.in:
729         Add stdbool.h for systems without it.
730         [8ac0317f2ba0] <1.8>
731
732         * configure, configure.in:
733         No longer need SUDO_CHECK_TYPE and SUDO_TYPE_* now that the default
734         includes have unistd.h in them. Add check for socklen_t for
735         upcoming getaddrinfo compat.
736         [7c0ed30c075d] <1.8>
737
738         * configure, configure.in:
739         Use HAVE_STRUCT_TIMESPEC and HAVE_STRUCT_IN6_ADDR instead of
740         HAVE_TIMESPEC and HAVE_IN6_ADDR respectively.
741         [57a6a5bf69a2] <1.8>
742
743         * No longer need to include time.h here as missing.h does not use
744         time_t.
745         [029653d78ba2] <1.8>
746
747         * Fix mode on sudoers as needed when the -f option is not specified.
748         [c4aba4a1b23b] <1.8>
749
750         * Add Serbian translation for sudo from translationproject.org
751         [47a04d718e36] <1.8>
752
753         * No longer pass debug_file to plugin, plugins must now use
754         CONV_DEBUG_MSG
755         [c7ceddf724bf] <1.8>
756
757         * Build PIE executables for newer Debian and Ubuntu
758         [2e9162e59c2c] <1.8>
759
760         * Include time.h for ctime() prototype.
761         [5f27df493b93] <1.8>
762
763         * Do not close error pipe or debug fd via closefrom() as we need them
764         to report an exec error should one occur.
765         [9638f4e7fd14] <1.8>
766
767         * Document that a sudoUser may now be a group ID.
768         [42d725aa8b6d] <1.8>
769
770         * Add support for permitting access by group ID in addition to group
771         name.
772         [3506e5c7e41c] <1.8>
773
774         * Older Netscape LDAP SDKs don't prototype ldapssl_set_strength()
775         [4c973a863d0d] <1.8>
776
777         * Replace UCB fnmatch.c with a non-recursive version written by
778         William A. Rowe Jr.
779         [76666139f49d] <1.8>
780
781         * Fix typo, return_debug vs. debug_return
782         [810d9b2d2f9a] <1.8>
783
784         * Update Japanese sudoers translation from translationproject.org
785         [b051e2bc692e] <1.8>
786
787         * Make the env_reset descriptions consistent.
788         [3cf883ec8b33] <1.8>
789
790         * configure, configure.in:
791         Do multiple expansion when expanding paths to the noexec file, sesh
792         and the plugin directory. Adapted from a diff by Mike Frysinger
793         [68cdecdd8457] <1.8>
794
795         * regen
796         [ca37d8cb647b] <1.8>
797
798         * Add ignore file; from Mike Frysinger
799         [0bd0f92a2d40] <1.8>
800
801         * no longer save old Makefile.in to .old
802         [7dcf2a857c6b] <1.8>
803
804         * regen
805         [a029a2ad7256] <1.8>
806
807         * configure:
808         Update to libtool 2.4.2
809         [6590ddb6a23f] <1.8>
810
811         * Bump grammar version for #include and #includedir relative path
812         support.
813         [138a446a638e] <1.8>
814
815         * Add support for relative paths in #include and #includedir
816         [8bf56e39e1ad] <1.8>
817
818         * Fix install-plugin when shared objects are unsupported or disabled.
819         [952cf7867482] <1.8>
820
821         * Don't write to sbp if it is NULL
822         [0cc959722ab8] <1.8>
823
824         * Makefile.in:
825         If LINGUAS is set, only install matching .mo files
826         [5d83050eec1f] <1.8>
827
828         * Fix non-dynamic (no dlopen) sudo build.
829         [fd688ac640a0] <1.8>
830
831         * configure, configure.in:
832         Don't error out if the user specified --disable-shared
833         [4f811a8ee9e8] <1.8>
834
835         * Use SUDO_CONV_DEBUG_MSG in the plugin instead of writing directly to
836         the debug file.
837         [bc6124038170] <1.8>
838
839         * Make sudo_goodpath() return value bolean
840         [25bf43cdf7f0] <1.8>
841
842         * INSTALL, configure, configure.in, plugins/sudoers/auth/securid.c:
843         Remove obsolete securid auth method.
844         [a8a092f8bd83] <1.8>
845
846         * Prefix authentication functions with a "sudo_" prefix to avoid
847         namespace problems.
848         [049ea2995793] <1.8>
849
850         * INSTALL, configure, configure.in, plugins/sudoers/auth/kerb4.c:
851         Remove the old Kerberos IV support
852         [c59b0b39af66] <1.8>
853
854         * Don't print garbage at the end of the custom lecture.
855         [4f1fd9a1241a] <1.8>
856
857         * Add lexer tracing as debug@parser
858         [ebf43f87296a] <1.8>
859
860         * Add devdir before srcdir in include path and fix up dependecies
861         accordingly and add better devdir support to mkdep.pl. We also need
862         to #include <gram.h> not "gram.h" and <def_data.h> and not
863         "def_data.h" when generating the parser in a build dir.
864         [daeafaec094b] <1.8>
865
866         * Mark libexec files as optional. If we build without shared object
867         support, libexec is not used.
868         [194434733454] <1.8>
869
870         * Change Debug sudo.conf setting to take a program name as the first
871         argument. In the future, this will allow visudo and sudoreplay to
872         use their own Debug entries.
873         [92abedbd38c6] <1.8>
874
875         * fix sudo_debug_printf priority
876         [0815bedee086] <1.8>
877
878         * add missing debug_return_int
879         [37840a0d8fe4] <1.8>
880
881         * Fold SUDO_DEBUG_PROGERR and SUDO_DEBUG_SYSERR into SUDO_DEBUG_ERROR
882         [82f7deaff7ba] <1.8>
883
884         * Add missing word in HOME security note.
885         [87bd6a891eac] <1.8>
886
887         * Prevent "testsudoers -d username" from trying to malloc(0).
888         [d7acceacf6e8] <1.8>
889
890         * Tests for empty sudoers (should parse OK) and syntax errors within a
891         line (should report correct line number) both with and without the
892         trailing newline.
893         [cf44b45af86d] <1.8>
894
895         * Print line number when there is a parser error.
896         [34380cefcfdf] <1.8>
897
898         * Keep track of the last token returned. On error, if the last token
899         was COMMENT, decrement sudolineno since the error most likely
900         occurred on the preceding line. Previously we always uses
901         sudolineno-1 which will give the wrong line number for errors within
902         a line.
903         [02ce7cc40f4d] <1.8>
904
905         * NEWS:
906         update with sudo 1.8.3p1 info
907         [5f4cd440bf00] <1.8>
908
909         * Fix crash when "sudo -g group -i" is run. Fixes bug 521
910         [83ee9a90b107] <1.8>
911
912         * Make alias_remove_recursive() return TRUE/FALSE as its callers
913         expect and remove two unused arguments. Fixes bug 519.
914         [ec2cfa235c65] <1.8>
915
916         * Add regress test for bugzilla 519
917         [237b3698c8ae] <1.8>
918
919         * Disable warning/error wrapping in regress tests.
920         [630ac985bcfc] <1.8>
921
922         * Makefile.in:
923         Do compile-po as part of sync-po so that the .mo files get rebuild
924         automatically when we sync with translationproject.org
925         [f09f15a5c40e] <1.8>
926
927         * check_addr needs to link with the network libraries on Solaris
928         [04465307990f] <1.8>
929
930         * When matching a RunasAlias for a runas group, pass the alias in as
931         the group_list, not the user_list. From Daniel Kopecek.
932         [9c8f4b57b7cb] <1.8>
933
934         * We need to init the auth system regardless of whether we need a
935         password since we will be closing the PAM session in the monitor
936         process. Fixes a crash in the monitor on Solaris; bugzilla #518
937         [7e312caf74eb] <1.8>
938
939         * Get rid of done: label. If the child exits we still need to close
940         the pty, update utmp and restore the SELinux tty context.
941         [cda935f856e8] <1.8>
942
943         * Add debug_decl/debug_return (almost) everywhere. Remove old
944         sudo_debug() and convert users to sudo_debug_printf().
945         [a97d9dc61e3f] <1.8>
946
947         * Wrap error/errorx and warning/warningx functions with debug
948         statements. Disable wrapping for standalone sudoers programs as well
949         as memory allocation functions (to avoid infinite recursion).
950         [e942083dab8e] <1.8>
951
952         * README, configure, configure.in:
953         Add checks for __func__ and __FUNCTION__ and mention that we now
954         require a cpp that supports variadic macros.
955         [961dfb044b4e] <1.8>
956
957         * New debug framework for sudo and plugins using /etc/sudo.conf that
958         also supports function call tracing.
959         [94d9aa72df19] <1.8>
960
961 2011-10-21  Todd C. Miller  <Todd.Miller@courtesan.com>
962
963         * .hgtags:
964         Added tag SUDO_1_8_3 for changeset 82bec4d3a203
965         [6c953ef6f577] <1.8>
966
967         * Update Japanese sudoers translation from translationproject.org
968         [82bec4d3a203] [SUDO_1_8_3] <1.8>
969
970 2011-10-12  Todd C. Miller  <Todd.Miller@courtesan.com>
971
972         * configure, configure.in:
973         Override and ignore the --disable-static option. Sudo already runs
974         libtool with -tag=disable-static where applicable and we need non-
975         PIC objects to build the executables.
976         [dff177464029] <1.8>
977
978 2011-10-10  Todd C. Miller  <Todd.Miller@courtesan.com>
979
980         * NEWS:
981         Add sudoedit fix
982         [3238dc7e4fb2] <1.8>
983
984         * plugins/sudoers/po/sudoers.pot:
985         regen pot files
986         [7981d6cbf1ab] <1.8>
987
988         * Ignore set_logname (which is now the default) for sudoedit since we
989         want the LOGNAME, USER and USERNAME environment variables to refer
990         to the calling user since that is who the editor runs as. This
991         allows the editor to find the user's startup files. Fixes bugzilla
992         #515
993         [3b9486e5fddb] <1.8>
994
995         * Instead of trying to grow the buffer in make_grlist_item(), simply
996         increase the total length, free the old buffer and allocate a new
997         one. This is less error prone and saves us from having to adjust
998         all the pointers in the buffer. This code path is only taken when
999         there are groups longer than the length of the user field in struct
1000         utmp or utmpx, which should be quite rare.
1001         [cb7c5ac834b5] <1.8>
1002
1003         * Add Italian translation for sudo from translationproject.org
1004         [c7876fccbc38] <1.8>
1005
1006         * NEWS:
1007         Japanese translation for sudo and sudoers from
1008         translationproject.org
1009         [9945a3ef7ff7] <1.8>
1010
1011 2011-10-07  Todd C. Miller  <Todd.Miller@courtesan.com>
1012
1013         * sudoreplay depends on timestr.lo too; from Mike Frysinger
1014         [ad9ae493205f] <1.8>
1015
1016 2011-10-04  Todd C. Miller  <Todd.Miller@courtesan.com>
1017
1018         * plugins/sudoers/po/sudoers.pot:
1019         Regen sudoers pot file.
1020         [2c4d99361994] <1.8>
1021
1022         * NEWS:
1023         Update with latest sudo 1.8.3 news
1024         [4e7f59d339d4] <1.8>
1025
1026         * ldap_start_tls_s() on Debian (at least) sets the effective and saved
1027         uids to the same value as the real uid. This prevents sudo from
1028         setting the uid or gid later on. As a workaround, we now set perms
1029         to root during sudoers_policy_open().
1030         [eb4c4f15833a] <1.8>
1031
1032         * Better warning message on setuid() failure for the setreuid()
1033         version of set_perms().
1034         [308c72f601e4] <1.8>
1035
1036 2011-10-02  Todd C. Miller  <Todd.Miller@courtesan.com>
1037
1038         * NEWS:
1039         Combine new translations in NEWS item
1040         [0aa07471a5e6] <1.8>
1041
1042 2011-09-27  Todd C. Miller  <Todd.Miller@courtesan.com>
1043
1044         * Delref auth_pw at the end of check_user() instead of getting a ref
1045         twice.
1046         [1c882f2fb46c] <1.8>
1047
1048         * Make sudo_auth_{init,cleanup} return TRUE on success and check for
1049         sudo_auth_init() return value in check_user().
1050         [573bf35ecac9] <1.8>
1051
1052         * Do not return without restoring permissions.
1053         [2444a0b96469] <1.8>
1054
1055         * plugins/sudoers/po/sudoers.pot, src/po/sudo.pot:
1056         regen pot files
1057         [d286bce8dbb1] <1.8>
1058
1059         * NEWS:
1060         Update for latest release candidate
1061         [63d184ba6263] <1.8>
1062
1063         * plugins/sudoers/po/sudoers.pot, src/po/sudo.pot:
1064         regen pot files
1065         [ac3ec1315df7] <1.8>
1066
1067         * Modify the authentication API such that the init and cleanup
1068         functions are always called, regardless of whether or not we are
1069         going to verify a password. This is needed for proper PAM session
1070         support.
1071         [ea281ca46d94] <1.8>
1072
1073         * Add missing dependency for getspwgen other depends.
1074         [9c124272910d] <1.8>
1075
1076         * Fix a PAM_USER mismatch in session open/close. We update PAM_USER
1077         to the target user immediately before setting resource limits, which
1078         is after the monitor process has forked (so it has the old value).
1079         Also, if the user did not authenticate, there is no pamh in the
1080         monitor so we need to init pam here too. This means we end up
1081         calling pam_start() twice, which should be fixed, but at least the
1082         session is always properly closed now.
1083         [d0866ee5f190] <1.8>
1084
1085         * Add check for old being NULL in utmp_setid(); from Steven McDonald
1086         [30cc283ac2b4] <1.8>
1087
1088 2011-09-25  Todd C. Miller  <Todd.Miller@courtesan.com>
1089
1090         * If the invoking user cannot be resolved by uid fake the struct
1091         passwd and store it in the cache so we can delref it on exit.
1092         [19d44f44d45d] <1.8>
1093
1094 2011-09-24  Todd C. Miller  <Todd.Miller@courtesan.com>
1095
1096         * Don't error out if the group plugin cannot be loaded, just warn.
1097         [e91d9912c9a0] <1.8>
1098
1099 2011-09-23  Todd C. Miller  <Todd.Miller@courtesan.com>
1100
1101         * Quiet a false positive found by several static analysis tools. These
1102         tools don't know that log_error() does not return (it longjmps to
1103         error_jmp which returns to the sudo front-end).
1104         [3cc319e31ed6] <1.8>
1105
1106 2011-09-22  Todd C. Miller  <Todd.Miller@courtesan.com>
1107
1108         * Add Italian translation for sudo from translationproject.org Regen
1109         .mo files
1110         [c0b27f9d7e57] <1.8>
1111
1112         * .hgtags:
1113         Added tag SUDO_1_8_2 for changeset 3682e51af1d0
1114         [f0be566e9ea2] <1.8>
1115
1116 2011-09-21  Todd C. Miller  <Todd.Miller@courtesan.com>
1117
1118         * Update to current reality and add bit about ssh auth
1119         [48dcb86ce9be] <1.8>
1120
1121         * Make "verbose" static; fixes a namespace clash with
1122         pam_ssh_agent_auth (and it doesn't need to be extern these days).
1123         [b60fdd82de94] <1.8>
1124
1125         * configure, configure.in:
1126         FreeBSD has libutil.h not util.h
1127         [c03b121e0193] <1.8>
1128
1129         * configure, configure.in:
1130         Define _BSD_SOURCE on FreeBSD, OpenBSD and DragonflyBSD
1131         [002e3e0bb173] <1.8>
1132
1133         * Update po files from translationproject.org
1134         [2b36af902213] <1.8>
1135
1136 2011-09-16  Todd C. Miller  <Todd.Miller@courtesan.com>
1137
1138         * NEWS:
1139         Mention DEREF support
1140         [dfeb152f1686] <1.8>
1141
1142         * plugins/sudoers/po/sudoers.pot:
1143         sync pot files
1144         [1fba22e927a3] <1.8>
1145
1146         * doc/sudoers.ldap.cat, doc/sudoers.ldap.man.in:
1147         Add support for DEREF in ldap.conf.
1148         [fe1cf6ad0add] <1.8>
1149
1150         * Makefile.in:
1151         install target should depend on ChangeLog too, not just install-doc
1152         [f54e2ab633b8] <1.8>
1153
1154         * NEWS, configure.in, doc/sudoers.cat, doc/sudoers.man.in:
1155         Only iolog_file (not iolog_dir) supports mktemp-style suffixes.
1156         [44a25099594e] <1.8>
1157
1158         * configure.in, plugins/sudoers/po/sudoers.pot, src/po/sudo.pot:
1159         regen pot files
1160         [e14ee85cf49b] <1.8>
1161
1162         * configure, configure.in:
1163         Fix some square brackets in case statements that needed to be
1164         doubled up. While here, use $OSMAJOR when it makes sense.
1165         [853c6e5f994c] <1.8>
1166
1167         * Fix a crash in make_grlist_item() on 64-bit machines with strict
1168         alignment.
1169         [e877c89ae32f] <1.8>
1170
1171         * Remove list_options() function that is no longer used now that "sudo
1172         -L" is gone.
1173         [f31543c80b98] <1.8>
1174
1175         * configure, configure.in:
1176         Error message if user tries --with-CC
1177         [0ed7558b8924] <1.8>
1178
1179         * configure, configure.in:
1180         Check for -libmldap too when looking for ldap libs, which is the
1181         Tivoli Directory Server client library.
1182         [831e32d1453c] <1.8>
1183
1184         * plugins/sudoers/po/sudoers.pot, src/po/sudo.pot:
1185         regen pot files for 1.8.3
1186         [df2fb085cff2] <1.8>
1187
1188         * NEWS, configure, configure.in, doc/sudo.cat, doc/sudo.man.in,
1189         doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudoers.cat,
1190         doc/sudoers.ldap.cat, doc/sudoers.ldap.man.in, doc/sudoers.man.in,
1191         doc/sudoreplay.cat, doc/sudoreplay.man.in, doc/visudo.cat,
1192         doc/visudo.man.in:
1193         Update for version 1.8.3
1194         [38cf153add0a] <1.8>
1195
1196 2011-09-09  Todd C. Miller  <Todd.Miller@courtesan.com>
1197
1198         * Honor NOPASSWD tag for denied commands too.
1199         [f473c443ad54] <1.8>
1200
1201         * INSTALL, configure, configure.in:
1202         Remove --with-CC option; it doesn't work correctly now that we use
1203         libtool. Users can get the same effect by setting the CC
1204         environment variable when running configure.
1205         [4f04869d74fd] <1.8>
1206
1207 2011-08-31  Todd C. Miller  <Todd.Miller@courtesan.com>
1208
1209         * configure, configure.in:
1210         Assume all modern systems support fstat(2).
1211         [0422b19dced3] <1.8>
1212
1213 2011-08-30  Todd C. Miller  <Todd.Miller@courtesan.com>
1214
1215         * configure, configure.in:
1216         Add configure test for missing errno declaration and only declare it
1217         ourselves if it is missing.
1218         [6d26974f7e16] <1.8>
1219
1220         * Include errno.h before sudo.h to avoid conflicting with the system
1221         definition of errno.
1222         [8000bdc0968f] <1.8>
1223
1224 2011-08-29  Todd C. Miller  <Todd.Miller@courtesan.com>
1225
1226         * Only print individual check status when there is a failure.
1227         [bbdd669e7615] <1.8>
1228
1229         * Add calls to setprogname() for test programs.
1230         [c721f3466a3a] <1.8>
1231
1232         * configure, configure.in:
1233         Add -Wall and -Werror after all tests so they don't cause failures.
1234         [20d75ce40086] <1.8>
1235
1236         * Actually run check_addr in the check target
1237         [dcd96ef0dc57] <1.8>
1238
1239         * Split out address matching into its own file and add regression
1240         tests for it.
1241         [863f28589c24] <1.8>
1242
1243 2011-08-27  Todd C. Miller  <Todd.Miller@courtesan.com>
1244
1245         * Fix matching a network number with netmask when the network number
1246         is not the first address in the CIDR block.
1247         [719942c986e9] <1.8>
1248
1249 2011-08-26  Todd C. Miller  <Todd.Miller@courtesan.com>
1250
1251         * Don't assume all editors support the +linenumber command line
1252         argument, use a whitelist of known good editors.
1253         [d8d884af3b05] <1.8>
1254
1255 2011-08-23  Todd C. Miller  <Todd.Miller@courtesan.com>
1256
1257         * Silence compiler warnings on Solaris with gcc 3.4.3
1258         [8047cdb5d6a1] <1.8>
1259
1260         * Fix building on RHEL 3
1261         [6bb0464a7450] <1.8>
1262
1263         * INSTALL, configure, configure.in:
1264         Add --enable-werror configure option.
1265         [aa40fd459836] <1.8>
1266
1267         * setgroups() proto lives in grp.h on RHEL4, perhaps others.
1268         [92f98cbaebf0] <1.8>
1269
1270         * configure, configure.in:
1271         Use PAM by default on AIX 6 and higher.
1272         [7ef53d5ac819] <1.8>
1273
1274 2011-08-22  Todd C. Miller  <Todd.Miller@courtesan.com>
1275
1276         * Add new Esperanto translation from translationproject.org
1277         [109ed683b885] <1.8>
1278
1279 2011-08-19  Todd C. Miller  <Todd.Miller@courtesan.com>
1280
1281         * Quiet an innocuous valgrind warning.
1282         [fc453e49f9dd] <1.8>
1283
1284 2011-08-18  Todd C. Miller  <Todd.Miller@courtesan.com>
1285
1286         * Fix expansion of strftime() escapes in log_dir and add a regress
1287         test that exhibited the problem.
1288         [784e60d21f11] <1.8>
1289
1290         * plugins/sudoers/po/sudoers.pot, src/po/sudo.pot:
1291         Fix "make check" return value.
1292         [d3608efd8da6] <1.8>
1293
1294 2011-08-17  Todd C. Miller  <Todd.Miller@courtesan.com>
1295
1296         * plugins/sudoers/po/sudoers.pot:
1297         Regen pot files
1298         [3682e51af1d0] [SUDO_1_8_2] <1.8>
1299
1300         * Makefile.in:
1301         Fix logic inversion in pot file up to date check.
1302         [343dbbca9422] <1.8>
1303
1304         * doc/sudo.cat, doc/sudo.man.in, doc/sudoers.cat,
1305         doc/sudoers.ldap.cat, doc/sudoers.ldap.man.in, doc/sudoers.man.in,
1306         doc/visudo.cat, doc/visudo.man.in:
1307         regen docs
1308         [96234478bde2] <1.8>
1309
1310 2011-08-15  Todd C. Miller  <Todd.Miller@courtesan.com>
1311
1312         * configure, configure.in:
1313         Add caching for gettext() checks.
1314         [4039d21424c3] <1.8>
1315
1316         * configure, configure.in:
1317         Better handling of libintl header and library mismatch.
1318         [cc9faee8e486] <1.8>
1319
1320 2011-08-14  Todd C. Miller  <Todd.Miller@courtesan.com>
1321
1322         * NEWS:
1323         sync
1324         [73649a44d934] <1.8>
1325
1326 2011-08-13  Todd C. Miller  <Todd.Miller@courtesan.com>
1327
1328         * Also check sudoers gid if sudoers is group writable.
1329         [3d345347f6ac] <1.8>
1330
1331         * NEWS:
1332         Update for 1.8.2 final
1333         [441c22fea363] <1.8>
1334
1335 2011-08-12  Todd C. Miller  <Todd.Miller@courtesan.com>
1336
1337         * configure, configure.in:
1338         If dlopen is present but libtool doesn't find it, error out since it
1339         probably means that libtool doesn't support the system.
1340         [6fc7c0de4f6d] <1.8>
1341
1342         * configure args on the command line should override builtin defaults.
1343         Disable NLS for non-Linux/Solaris unless explicitly enabled.
1344         [0ef165f892c2] <1.8>
1345
1346         * Fix loop that calls authenticate(). If there was an error message
1347         from authenticate(), display it.
1348         [f0686011ff2e] <1.8>
1349
1350 2011-08-11  Todd C. Miller  <Todd.Miller@courtesan.com>
1351
1352         * configure, configure.in:
1353         Update to autoconf 2.68 and libtool 2.4
1354         [00df5f3647e1] <1.8>
1355
1356         * Fix typo; OPT should be OTP
1357         [31da1f989740] <1.8>
1358
1359         * Rename libsudoers convenience library to libparsesudoers to avoid
1360         libtool confusion.
1361         [e9ae9d611dd5] <1.8>
1362
1363 2011-08-10  Todd C. Miller  <Todd.Miller@courtesan.com>
1364
1365         * Add Danish sudoers translation from translationproject.org
1366         [fa9cd9758249] <1.8>
1367
1368         * Add dedicated callback function for runas_default sudoers setting
1369         that only sets runas_pw if no runas user or group was specified by
1370         the user.
1371         [3fb4b18525de] <1.8>
1372
1373 2011-08-09  Todd C. Miller  <Todd.Miller@courtesan.com>
1374
1375         * Update Finish, Polish, Russian and Ukrainian translations from
1376         translationproject.org.
1377         [0fcd8f6aff0a] <1.8>
1378
1379         * Makefile.in:
1380         Go back to using a callback for runas_default to keep runas_pw in
1381         sync. This is needed to make per-entry runas_default settings work
1382         with LDAP-based sudoers. Instead of declaring it a callback in
1383         def_data.in, sudo and testsudoers poke sudo_defs_table[] which is a
1384         bit naughty, but avoids requiring stub functions in visudo and the
1385         tests.
1386         [4e8e70832f06] <1.8>
1387
1388 2011-08-05  Todd C. Miller  <Todd.Miller@courtesan.com>
1389
1390         * plugins/sudoers/po/sudoers.pot, src/po/sudo.pot:
1391         Regen pot files
1392         [ca5c58c599a6] <1.8>
1393
1394         * Makefile.in:
1395         Add check for out of date message catalogs when doing "make dist".
1396         [36414e5c762b] <1.8>
1397
1398 2011-08-02  Todd C. Miller  <Todd.Miller@courtesan.com>
1399
1400         * configure, configure.in:
1401         Make sure compiler supports static-libgcc before using it.
1402         [6c98e8809291] <1.8>
1403
1404 2011-08-01  Todd C. Miller  <Todd.Miller@courtesan.com>
1405
1406         * Link libsudo_noexec.la with LDLDFLAGS for -static-libgcc
1407         [a0a3a3fa6470] <1.8>
1408
1409 2011-07-30  Todd C. Miller  <Todd.Miller@courtesan.com>
1410
1411         * Add new Russian sudo translation from translationproject.org and
1412         rebuild the other translation files.
1413         [e953d7d1ca6d] <1.8>
1414
1415 2011-07-29  Todd C. Miller  <Todd.Miller@courtesan.com>
1416
1417         * Update Finish and Polish translations from translationproject.org
1418         [17e408d73c85] <1.8>
1419
1420         * Go back to escaping the command args for "sudo -i" and "sudo -s"
1421         before calling the plugin. Otherwise, spaces in the command args
1422         are not treated properly. The sudoers plugin will unescape non-
1423         spaces to make matching easier.
1424         [f666191a4e80] <1.8>
1425
1426 2011-07-28  Todd C. Miller  <Todd.Miller@courtesan.com>
1427
1428         * Fix some potential problems found by the clang static analyzer, none
1429         serious.
1430         [c1ab4b940980] <1.8>
1431
1432         * Updated Ukranian and Chinese (simplified) po files from
1433         translationproject.org
1434         [792a66672715] <1.8>
1435
1436 2011-07-27  Todd C. Miller  <Todd.Miller@courtesan.com>
1437
1438         * Updated Polish translation from translationproject.org
1439         [5f434cc04482] <1.8>
1440
1441         * plugins/sudoers/po/sudoers.pot, src/po/sudo.pot:
1442         Rebuild pot files
1443         [639230dbd741] <1.8>
1444
1445         * Don't try to audit failure if the runas user does not exist. We
1446         don't have the user's command at this point so there is nothing to
1447         audit. Add a NULL check in audit_success() and audit_failure() just
1448         to be on the safe side.
1449         [2bfb96a32b00] <1.8>
1450
1451         * Add -g to CFLAG for PIE builds.
1452         [e4c94977ca4e] <1.8>
1453
1454 2011-07-25  Todd C. Miller  <Todd.Miller@courtesan.com>
1455
1456         * Remove fallback to per-group lookup when matching groups in sudoers.
1457         The sudo front-end will now use getgrouplist() to get the user's
1458         list of groups if getgroups() fails or returns zero groups so we
1459         always have a list of the user's groups. For systems with
1460         mbr_check_membership() which support more that NGROUPS_MAX groups
1461         (Mac OS X), skip the call to getgroups() and use getgrouplist() so
1462         we get all the groups.
1463         [168d6d4a386b] <1.8>
1464
1465 2011-07-22  Todd C. Miller  <Todd.Miller@courtesan.com>
1466
1467         * Fix setgroups() fallback code on EINVAL.
1468         [dd1310945ab3] <1.8>
1469
1470         * Fix two PERM_INITIAL cases that were still using user_gids.
1471         [d497d0d47a23] <1.8>
1472
1473         * Add Polish sudo message catalog
1474         [1a0aa3f9f179] <1.8>
1475
1476         * user_group is no longer used, remove it
1477         [379185a76094] <1.8>
1478
1479 2011-07-21  Todd C. Miller  <Todd.Miller@courtesan.com>
1480
1481         * Add Polish translation from translationproject.org
1482         [2e7cdfe4ef41] <1.8>
1483
1484         * Add a wrapper for setgroups() that trims off extra groups and
1485         retries if setgroups() fails. Also add some missing addrefs for
1486         PERM_USER and PERM_FULL_USER.
1487         [bacb4170a510] <1.8>
1488
1489         * configure, configure.in:
1490         Instead of keeping separate groups and gids arrays, create struct
1491         group_info and use it to store both, along with a count for each.
1492         Cache group info on a per-user basis using getgrouplist() to get the
1493         groups. We no longer need special to special case the user or list
1494         user for user_in_group() and thus no longer need to reset the groups
1495         list when listing another user.
1496         [f1d8962821a0] <1.8>
1497
1498         * Don't rely on NULL since we don't include a header for it.
1499         [ed46286f848b] <1.8>
1500
1501         * Fix typo
1502         [a38b8fbb0e70] <1.8>
1503
1504         * Do not shadow global sudo_mode with a local variable in set_cmnd()
1505         [8e462ebafea4] <1.8>
1506
1507 2011-07-17  Todd C. Miller  <Todd.Miller@courtesan.com>
1508
1509         * bash 2.x doesd not support the -l flag and exits with an error if it
1510         is specified so use --login instead. This causes an error with bash
1511         1.x (which uses -login instead) but this version is hopefully less
1512         used than 2.x.
1513         [73020a67b9d5] <1.8>
1514
1515         * Add Polish translation from translationproject.org
1516         [8cac0da9ffb1] <1.8>
1517
1518 2011-07-13  Todd C. Miller  <Todd.Miller@courtesan.com>
1519
1520         * Make error strings translatable.
1521         [d1ff594f27b5] <1.8>
1522
1523         * Only run configure with --with-pam-login for RHEL 5 and above.
1524         [2f1a0ff5230e] <1.8>
1525
1526         * Fix typo in summary
1527         [1e1d7dcae9ab] <1.8>
1528
1529 2011-07-11  Todd C. Miller  <Todd.Miller@courtesan.com>
1530
1531         * Add missing logwrap.c
1532         [abcd28c194d2] <1.8>
1533
1534         * Split out log file word wrap code into its own file and add unit
1535         tests. Fixes an off-by one in the word wrap when the log line
1536         length matches loglinelen.
1537         [0ae1c7aa9ef1] <1.8>
1538
1539 2011-07-05  Todd C. Miller  <Todd.Miller@courtesan.com>
1540
1541         * For SuSE, only use /usr/lib64 as libexec if generating 64-bit
1542         binaries.
1543         [4448fa1c639f] <1.8>
1544
1545         * Fix build error when --without-noexec configure option is used.
1546         [f6bfd748ae45] <1.8>
1547
1548         * configure, configure.in:
1549         Disable noexec for AIX < 5. LDR_PRELOAD is only available in AIX
1550         5.3 and above.
1551         [9d957ae1840d] <1.8>
1552
1553 2011-07-03  Todd C. Miller  <Todd.Miller@courtesan.com>
1554
1555         * NEWS, doc/UPGRADE:
1556         Document group lookup change and possible side effects.
1557         [fe4b2d2701b2] <1.8>
1558
1559 2011-07-01  Todd C. Miller  <Todd.Miller@courtesan.com>
1560
1561         * Resolve the list of gids passed in from the sudo frontend (the
1562         result of getgroups()) to names and store both the group names and
1563         ids in the sudo_user struct. When matching groups in the sudoers
1564         file, match based on the names in the groups list first and only do
1565         a gid-based match when we absolutely have to. By matching on the
1566         group name (as it is listed in sudoers) instead of id (which we
1567         would have to resolve) we save a lot of group lookups for sudoers
1568         files with a lot of groups in them.
1569         [c10d208bd7e5] <1.8>
1570
1571 2011-06-29  Todd C. Miller  <Todd.Miller@courtesan.com>
1572
1573         * NEWS:
1574         Update for 1.8.2rc5
1575         [f6a3aa2edf7a] <1.8>
1576
1577 2011-06-26  Todd C. Miller  <Todd.Miller@courtesan.com>
1578
1579         * Workaround for "sudo -i command" and newer versions of bash which
1580         don't go into login mode when -c is specified unless -l is too.
1581         [381e74d35006] <1.8>
1582
1583 2011-06-23  Todd C. Miller  <Todd.Miller@courtesan.com>
1584
1585         * Rewrite logfile word wrapping code to be more straight-forward and
1586         actually wrap at the correct place.
1587         [8a7862d6a82f] <1.8>
1588
1589 2011-06-22  Todd C. Miller  <Todd.Miller@courtesan.com>
1590
1591         * NEWS:
1592         Fix typo
1593         [2456ad2ad3e3] <1.8>
1594
1595         * NEWS:
1596         Mention use_pty bug fix
1597         [f4eab5193452] <1.8>
1598
1599         * Set use_pty=true in command details when use_pty is set in sudoers.
1600         From Ludwig Nussel
1601         [abaafc5793d9] <1.8>
1602
1603 2011-06-20  Todd C. Miller  <Todd.Miller@courtesan.com>
1604
1605         * Sync Chinese (simplified) PO files from translationproject.org
1606         [a4cf84dd9ddf] <1.8>
1607
1608 2011-06-18  Todd C. Miller  <Todd.Miller@courtesan.com>
1609
1610         * Add Danish translation from translationproject.org and add missing
1611         Basque mo files.
1612         [672b88adcc34] <1.8>
1613
1614         * Makefile.in, configure, configure.in:
1615         No longer need to specify LINGUAS in configure, "make install-nls"
1616         now just installs all the .mo files it finds.
1617         [c226a39ece48] <1.8>
1618
1619 2011-06-17  Todd C. Miller  <Todd.Miller@courtesan.com>
1620
1621         * Build CONTRIBUTORS from newly-added contributors.pod
1622         [b8871dd293ff] <1.8>
1623
1624         * Rework the wording in the leading paragraph
1625         [d8b081dedeb3] <1.8>
1626
1627 2011-06-16  Todd C. Miller  <Todd.Miller@courtesan.com>
1628
1629         * Add a CONTRIBUTORS file with the names of folks who have contributed
1630         code or patches to sudo since I started maintaining it (plus the
1631         original authors).
1632         [8b064e8996af] <1.8>
1633
1634 2011-06-13  Todd C. Miller  <Todd.Miller@courtesan.com>
1635
1636         * Preserve SHELL variable for "sudo -s". Otherwise we can end up with
1637         a situation where the SHELL variable and the actual shell being run
1638         do not match.
1639         [8f5bb61a8b76] <1.8>
1640
1641 2011-06-10  Todd C. Miller  <Todd.Miller@courtesan.com>
1642
1643         * configure, configure.in:
1644         Only enable Solaris project support when setproject() is present in
1645         libproject.
1646         [bf370ff3c194] <1.8>
1647
1648         * Explicitly set mode and owner of /etc/sudoers instead of relying on
1649         "cp -p" to work in the postinstall script. On AIX 6.1 at least the
1650         postinstall script runs before the final file permissions are set.
1651         [7a4a87405349] <1.8>
1652
1653         * Refer the user to the "Command Environment" section in description
1654         of sudo's -i option.
1655         [1a063eaf9670] <1.8>
1656
1657         * Fix typo
1658         [442c50370c44] <1.8>
1659
1660         * If there is no old dependency for an object file, use the MANIFEST
1661         to find its source.
1662         [d95c77ad283f] <1.8>
1663
1664         * Remove dependency for getgrouplist.lo as we don't ship that source
1665         file.
1666         [bbede77e6256] <1.8>
1667
1668         * Do not declare yyparse() static as the actual function generated by
1669         yacc is extern.
1670         [8e615bd15a4c] <1.8>
1671
1672         * Makefile.in:
1673         Remove locale files in "make uninstall"
1674         [9791be90d5ac] <1.8>
1675
1676 2011-06-06  Todd C. Miller  <Todd.Miller@courtesan.com>
1677
1678         * configure.in:
1679         Add Basque translation and sync Finish and Ukranian translations.
1680         [64af34789164] <1.8>
1681
1682         * NEWS:
1683         Update PAM change to reflect latest checkin.
1684         [657cddf2077a] <1.8>
1685
1686         * configure, configure.in:
1687         FreeBSD no longer needs the main sudo binary to link with -lpam now
1688         that plug-ins are loaded with RTLD_GLOBAL.
1689         [573a6f4b29af] <1.8>
1690
1691         * Load plugins with RTLD_GLOBAL instead of RTLD_LOCAL. This fixes
1692         problems with pam modules not having access to symbols provided by
1693         libpam on some platforms. Affects FreeBSD and SLES 10 at least.
1694         [4ec864fdba46] <1.8>
1695
1696         * Makefile.in:
1697         Move xgettext invocation out of update-po target into update-pot
1698         [421ac1a073ea] <1.8>
1699
1700 2011-06-04  Todd C. Miller  <Todd.Miller@courtesan.com>
1701
1702         * plugins/sudoers/po/sudoers.pot, src/po/sudo.pot:
1703         Regenerate .pot files for 1.8.2rc2
1704         [d2a891e3d3dd] <1.8>
1705
1706         * Makefile.in:
1707         Move nls targets to the top level Makefile so the paths in the pot
1708         file are saner
1709         [6c256cb77f78] <1.8>
1710
1711         * NEWS:
1712         Update 1.8.2 news
1713         [17bd04278b04] <1.8>
1714
1715         * Add compiled version of sudo Finish translation
1716         [ff9d20a02aa0] <1.8>
1717
1718         * Update MANIFEST with .po and .mo files Rebuild sudoers fi and uk .mo
1719         files
1720         [60c4f3b3829c] <1.8>
1721
1722         * configure, configure.in:
1723         Add Finish translation from translationproject.org
1724         [ade788a35521] <1.8>
1725
1726         * The group named by exempt_group should not have a % prefix.
1727         [1f74c691c1e1] <1.8>
1728
1729         * Fix typo; "Defaults group_plugin" not "Defaults sudo_plugin"
1730         [58d36c0e76f9] <1.8>
1731
1732         * Fix compressed io log corruption in background mode by using _exit()
1733         instead of exit() to avoid flushing buffers twice.
1734
1735         Improved background mode support. When not allocating a pty, the
1736         command is run in its own process group. This prevents write access
1737         to the tty. When running in a pty, stdin is not hooked up and we
1738         never read from /dev/tty, which results in similar behavior.
1739         [fe50d6a5c5b9] <1.8>
1740
1741 2011-05-31  Todd C. Miller  <Todd.Miller@courtesan.com>
1742
1743         * Clean up regress files Generate proper dependencies for regress objs
1744         in compat
1745         [264196584549] <1.8>
1746
1747         * Add missing dependency for check_fill.o.
1748         [c41f4e6ff078] <1.8>
1749
1750 2011-05-30  Todd C. Miller  <Todd.Miller@courtesan.com>
1751
1752         * INSTALL, configure, configure.in:
1753         Add support for --enable-nls[=location]
1754         [0ea8e7bd1739] <1.8>
1755
1756 2011-05-28  Todd C. Miller  <Todd.Miller@courtesan.com>
1757
1758         * Include gettext.h
1759         [fe8bab6403c6] <1.8>
1760
1761         * Quiet gcc warnings.
1762         [aa16d09710a7] <1.8>
1763
1764         * configure, configure.in:
1765         Don't install .mo files if gettext was not found.
1766         [c6b233e829aa] <1.8>
1767
1768 2011-05-27  Todd C. Miller  <Todd.Miller@courtesan.com>
1769
1770         * Always allocate a pty when running a command in the background but
1771         call setsid() after forking to make sure we don't end up with a
1772         controlling tty.
1773         [77c6b2923714] <1.8>
1774
1775         * Add missing space between command name and the first command line
1776         argument.
1777         [d0a36b9c0f38] <1.8>
1778
1779         * Quiet a compiler warning on some platforms.
1780         [654e76cf0574] <1.8>
1781
1782         * README file that directs people to translationproject.org
1783         [5545e9a5ae37] <1.8>
1784
1785         * Sync translations with TP
1786         [b054ce577022] <1.8>
1787
1788         * Makefile.in:
1789         Add 'sync-po' target to top-level Makefile to rsync the po files
1790         from translationproject.org.
1791         [87a5011b0410] <1.8>
1792
1793         * install nls files from install target
1794         [a3feba9ef323] <1.8>
1795
1796         * Makefile.in:
1797         Include .mo files in sudo binary packags.
1798         [bc3ee7e7fb44] <1.8>
1799
1800         * configure, configure.in:
1801         Add simplified chinese translation
1802         [c22e6842c766] <1.8>
1803
1804 2011-05-26  Todd C. Miller  <Todd.Miller@courtesan.com>
1805
1806         * configure, configure.in:
1807         Add ukranian translation
1808         [0bb9e6437f0f] <1.8>
1809
1810         * refer to siglist.c, not ./siglist.c since not all makes will treat
1811         foo and ./foo the same.
1812         [909051ff6061] <1.8>
1813
1814         * Set def_preserve_groups before searching for the command when the -P
1815         flag is specified.
1816         [08e9378f50e4] <1.8>
1817
1818         * Makefile.in:
1819         Add dependency for siglist.lo in compat. This is a generated file
1820         so "make depend" needs to depend on it.
1821         [e6c0daf36af0] <1.8>
1822
1823         * More dependency fixes.
1824         [7fed03624689] <1.8>
1825
1826         * Fix a few dependencies.
1827         [7cb86c721961] <1.8>
1828
1829         * Place compiled mo files in the src dir, not the build dir. When
1830         installing compiled mo files, display a status message.
1831         [b87aa18a9968] <1.8>
1832
1833 2011-05-25  Todd C. Miller  <Todd.Miller@courtesan.com>
1834
1835         * Tivoli Directory Server requires that seconds be present in a
1836         timestamp, even though RFC 4517 states that they are optional.
1837         [47ebf110ea7a] <1.8>
1838
1839         * Add missing bit of copyright
1840         [d05d28a91bc4] <1.8>
1841
1842         * Mention cycle detection warnings
1843         [ee8231aa1aed] <1.8>
1844
1845         * When checking aliases, also check the contents of the alias in case
1846         there are problems with an alias that is referenced inside another.
1847         Replace the self reference check with real alias cycle detection.
1848         [abcfe1bc95d8] <1.8>
1849
1850         * Set errno to ELOOP in alias_find() if there is a cycle. Set errno to
1851         ENOENT in alias_find() and alias_remove() if the entry could not be
1852         found.
1853         [e73d169f4e9b] <1.8>
1854
1855         * Increment alias_seqno before calls to alias_remove_recursive() to
1856         avoid false positives with the alias loop detection. Fixes spurious
1857         warnings about unused aliases when they are nested.
1858         [ac094820ef19] <1.8>
1859
1860         * add mkdep.pl
1861         [3721e9654ba6] <1.8>
1862
1863         * Add dependency on convenience libs to binaries
1864         [8a4db8226dfe] <1.8>
1865
1866         * Makefile.in:
1867         mkdep.pl only works when run from the src dir
1868         [2480427a0680] <1.8>
1869
1870         * Makefile.in:
1871         Auto-generate Makefile dependencies with a perl script.
1872         [ef5f56907d97] <1.8>
1873
1874 2011-05-23  Todd C. Miller  <Todd.Miller@courtesan.com>
1875
1876         * If the user specifies a runas group via sudo's -g option that
1877         matches the runas user's group in the passwd database and that group
1878         is not denied in the Runas_Spec, allow it. Thus, if user root's gid
1879         in /etc/passwd is 0, then "sudo -u root -g root id" is allow even if
1880         no groups are present in the Runas_Spec.
1881         [942e1e7c5090] <1.8>
1882
1883 2011-05-22  Todd C. Miller  <Todd.Miller@courtesan.com>
1884
1885         * NEWS:
1886         Mention what is new in 1.8.2 (for now)
1887         [d44b26eceee5] <1.8>
1888
1889         * Add dependencies on gettext.h
1890         [32c61c6af852] <1.8>
1891
1892         * Fix install-nls target with HP-UX sh when gettext is not present.
1893         [3441cece9638] <1.8>
1894
1895         * doc/sudo.cat, doc/sudo.man.in, doc/sudo_plugin.cat,
1896         doc/sudo_plugin.man.in, doc/sudoers.cat, doc/sudoers.ldap.cat,
1897         doc/sudoers.ldap.man.in, doc/sudoers.man.in, doc/sudoreplay.cat,
1898         doc/sudoreplay.man.in, doc/visudo.cat, doc/visudo.man.in:
1899         Regen for sudo 1.8.2
1900         [9ea124b542cc] <1.8>
1901
1902 2011-05-20  Todd C. Miller  <Todd.Miller@courtesan.com>
1903
1904         * plugins/sudoers/po/sudoers.pot, src/po/sudo.pot:
1905         regenerate .pot files for lbuf changes
1906         [a8a9cc62c3a5] <1.8>
1907
1908         * configure, configure.in:
1909         Add missing "checking" message for gettext when using the cache.
1910         [4136bc346576] <1.8>
1911
1912         * Add primitive format string support to the lbuf code to make
1913         translations simpler.
1914         [22fc74618d09] <1.8>
1915
1916         * configure, configure.in, plugins/sudoers/po/sudoers.pot,
1917         src/po/sudo.pot:
1918         Bump version to 1.8.2
1919         [999de1ac5b3e] <1.8>
1920
1921         * Add message catalog template files for sudo and the sudoers module.
1922         [6afad75e7afa] <1.8>
1923
1924         * configure.in:
1925         Add gettext.h convenience header. This is similar to but distinct
1926         from the one included with the gettext package.
1927         [5ae5a86e0d06] <1.8>
1928
1929         * configure, configure.in:
1930         Add checks for nroff -c and -Tascii flags
1931         [580c21905280] <1.8>
1932
1933         * configure, configure.in:
1934         Add check for HP bundled C Compiler (which cannot create shared
1935         libs)
1936         [34f616cbb0f3] <1.8>
1937
1938         * Fix C format warnings.
1939         [f20a43a817f0] <1.8>
1940
1941         * Add __printflike
1942         [76bf8a4bf075] <1.8>
1943
1944         * Translate help / usage strings.
1945         [16c5b7902d4c] <1.8>
1946
1947         * Set --msgid-bugs-address to the bugzilla url
1948         [3e3cfa7b4ceb] <1.8>
1949
1950         * INSTALL, Makefile.in, README, configure, configure.in:
1951         Add scaffolding to update .po files and install .mo files.
1952         [a51e60b35e47] <1.8>
1953
1954         * Minor warning/error cleanup
1955         [593144ac87ff] <1.8>
1956
1957         * configure.in:
1958         Emulate ngettext for the non-nls case
1959         [7cdf82de4dee] <1.8>
1960
1961         * Do not mark untranslatable strings for translation
1962         [088271ed02d0] <1.8>
1963
1964         * Use ROOT_UID not 0.
1965         [f901fa2fdaf2] <1.8>
1966
1967         * Minor warning/error message cleanup
1968         [b99c7ef46236] <1.8>
1969
1970         * cannot -> "unable to" in warning/error messages can't -> "unable to"
1971         in warning/error messages
1972         [5119140fabc7] <1.8>
1973
1974         * configure, configure.in:
1975         FreeBSD needs the main sudo executable to link with -lpam when
1976         loading dynaic pam modules for some reason.
1977         [738b6778a505] <1.8>
1978
1979         * We don't want to translate debugging messages.
1980         [357a575c2dfd] <1.8>
1981
1982         * configure, configure.in:
1983         Add calls to bindtextdomain() and textdomain() Currently there are
1984         two domains, one for the sudo front-end and one for the sudoers
1985         plugin and its associated utilities.
1986         [907f39439d80] <1.8>
1987
1988         * configure, configure.in:
1989         Fix caching of libc gettext check.
1990         [e229c21f412f] <1.8>
1991
1992         * Mark defaults descriptions for translation
1993         [65e03d1f8203] <1.8>
1994
1995         * NEWS:
1996         Update for sudo 1.8.1p2
1997         [89c31f2aa11e] <1.8>
1998
1999         * Quiet compiler warning when SELinux is enabled.
2000         [51b1d7c8aa86] <1.8>
2001
2002         * dd missing includes of libintl.h.
2003         [25662143d36d] <1.8>
2004
2005         * Fix gettext marker.
2006         [7618856ba5de] <1.8>
2007
2008         * Include libint.h where needed.
2009         [cc256b297b9d] <1.8>
2010
2011         * Prepare sudoers module messages for translation.
2012         [1b7f0bbaa55f] <1.8>
2013
2014         * Only check gid of sudoers file if it is group-readable.
2015         [f3cae943f35a] <1.8>
2016
2017         * For AIX, keep calling authenticate() until reenter reaches 0.
2018         [e412676bac73] <1.8>
2019
2020         * configure, configure.in:
2021         Cache the status of the initial gettext() check.
2022         [c32281768c0f] <1.8>
2023
2024         * INSTALL, configure, configure.in:
2025         Add --disable-nls flag and improve checks for gettext.
2026         [b39674c1e538] <1.8>
2027
2028         * configure, configure.in:
2029         When building with gcc on HP-UX, use -march=1.1 to produce portable
2030         binaries on a pa-risc2 host. Previously, the +Dportable option was
2031         used for the HP-UX C compiler but gcc always produced native
2032         binaries.
2033         [41351c23ad41] <1.8>
2034
2035         * Prepare sudo front end messages for translation.
2036         [7807d6f74dac] <1.8>
2037
2038         * configure, configure.in:
2039         Add initial scaffolding to support localization via gettext()
2040         [cdbbff7e6376] <1.8>
2041
2042 2011-05-19  Todd C. Miller  <Todd.Miller@courtesan.com>
2043
2044         * doc/license.pod:
2045         update copyright year
2046         [d681661f03cc] <1.8>
2047
2048         * INSTALL, README:
2049         No need to include version number at the top of these files.
2050         [7e11f673f773] <1.8>
2051
2052         * README:
2053         This is sudo 1.8.1 not 1.8.0
2054         [4d674f230d8a] <1.8>
2055
2056 2011-05-04  Todd C. Miller  <Todd.Miller@courtesan.com>
2057
2058         * Don't let the fnmatch/glob macros expand the function prototype.
2059         [d449e9a8f447] <1.8>
2060
2061 2011-05-03  Todd C. Miller  <Todd.Miller@courtesan.com>
2062
2063         * Resolve namespace collisions on HP-UX ia64 and possibly others by
2064         adding a rpl_ prefix to our fnmatch and glob replacements and
2065         #defining rpl_foo to foo in the header files.
2066         [d23889375b21] <1.8>
2067
2068 2011-04-29  Todd C. Miller  <Todd.Miller@courtesan.com>
2069
2070         * Split ALL, ROLE and TYPE into their own actions. Since you can only
2071         have #ifdefs inside of braces, ROLE and TYPE use a naughty goto in
2072         the non-SELinux case. This is safe because the actions are in one
2073         big switch() statement.
2074         [0bd9b7e37ab1] <1.8>
2075
2076         * Fix regexp for matching a CIDR-style IPv4 netmask. From Marc Espie.
2077         [8dec97b359e0] <1.8>
2078
2079         * askpass moved from sudoers to sudo.conf in sudo 1.8.0
2080         [1001d87d82ed] <1.8>
2081
2082         * Remove obsolete warning about runas_default and ordering. Move
2083         syslog facility and priority lists into the section where the
2084         relevant options are described.
2085         [1286b9624021] <1.8>
2086
2087 2011-04-26  Todd C. Miller  <Todd.Miller@courtesan.com>
2088
2089         * Fix SIA support; we no longer have access to the real argc and argv
2090         so allocate space for a fake one and use the argv passed to the
2091         plugin with "sudo" for argv[0].
2092         [7c11eeffb91c] <1.8>
2093
2094         * Remove useless realloc when trying to get the buffer size right.
2095         [58128e7f4e28] <1.8>
2096
2097         * Be explicit when setting euid to 0 before call to setreuid(0, 0)
2098         [95769a564ab8] <1.8>
2099
2100 2011-04-18  Todd C. Miller  <Todd.Miller@courtesan.com>
2101
2102         * NEWS:
2103         sudo 1.8.1p1 updates
2104         [de3d688b5bb1] <1.8>
2105
2106         * configure, configure.in:
2107         Need to do checks for krb5_verify_user, krb5_init_secure_context and
2108         krb5_get_init_creds_opt_alloc regardless of whether or
2109         notkrb5-config is present.
2110         [456c4a9cd5d6] <1.8>
2111
2112 2011-04-15  Todd C. Miller  <Todd.Miller@courtesan.com>
2113
2114         * Work around weird AIX saved uid semantics on setuid() and
2115         setreuid(). On AIX, setuid() will only set the saved uid if the euid
2116         is already 0.
2117         [5d0a69e9d181] <1.8>
2118
2119 2011-04-14  Todd C. Miller  <Todd.Miller@courtesan.com>
2120
2121         * update copyright year
2122         [fa8da6d55783] <1.8>
2123
2124         * Treat a missing includedir like an empty one and do not return an
2125         error.
2126         [5fd9fe004728] <1.8>
2127
2128 2011-04-12  Todd C. Miller  <Todd.Miller@courtesan.com>
2129
2130         * Fix ARCH setting in cross-compile Solaris packages.
2131         [8ce40940f6c9] <1.8>
2132
2133         * Fix aix version setting.
2134         [02a9e25d46ba] <1.8>
2135
2136         * Remove extraneous parens in LDAP filter when sudoers_search_filter
2137         is enabled that causes a search error. From Matthew Thomas.
2138         [b67be9b51ec6] <1.8>
2139
2140 2011-04-11  Todd C. Miller  <Todd.Miller@courtesan.com>
2141
2142         * Correct sizeof() to fix test failure.
2143         [a11b89fd13f9] <1.8>
2144
2145         * "install" target should depend on "install-dirs". Fixes "make -j"
2146         problem and closes bz #487. From Chris Coleman.
2147         [06ab0558f848] <1.8>
2148
2149 2011-04-09  Todd C. Miller  <Todd.Miller@courtesan.com>
2150
2151         * .hgtags:
2152         Added tag SUDO_1_8_1 for changeset 0ed6281995f0
2153         [543d41a163e9] <1.8>
2154
2155         * doc/sudo.cat, doc/sudo.man.in, doc/sudo_plugin.cat,
2156         doc/sudo_plugin.man.in, doc/sudoers.cat, doc/sudoers.ldap.cat,
2157         doc/sudoers.ldap.man.in, doc/sudoers.man.in, doc/sudoreplay.cat,
2158         doc/sudoreplay.man.in, doc/visudo.cat, doc/visudo.man.in:
2159         Regen man pages for 1.8.1
2160         [0ed6281995f0] [SUDO_1_8_1] <1.8>
2161
2162 2011-04-07  Todd C. Miller  <Todd.Miller@courtesan.com>
2163
2164         * Add HAVE_RFC1938_SKEYCHALLENGE
2165         [c0d7eb39799d] <1.8>
2166
2167 2011-04-06  Todd C. Miller  <Todd.Miller@courtesan.com>
2168
2169         * Mention plugin loading and libgcc changes
2170         [b74929cba37c] <1.8>
2171
2172         * Load plugins after parsing arguments and potentially printing the
2173         version. That way, an error loading or initializing a plugin
2174         doesn't break "sudo -h" or "sudo -V".
2175         [c1ecb5979cf0] <1.8>
2176
2177         * Makefile.in:
2178         When using a sub-shell to invoke the sub-make, exec make instead of
2179         running it inside the shell to avoid an extra process.
2180         [9439f016c993] <1.8>
2181
2182         * Stop testing unspecified behavior in fnmatch Make glob test more
2183         portable
2184         [87a91d76fbff] <1.8>
2185
2186         * No need to add current dir to include path and having it breaks the
2187         test programs that expect to get the system glob.h and fnmatch.h
2188         [3ae7f9e7b710] <1.8>
2189
2190         * configure, configure.in:
2191         Fix and document --with-plugindir; partially from Diego Elio Petteno
2192         [0220a0c2606f] <1.8>
2193
2194         * Fix fnmatch and glob tests to not use hard-coded flag values in the
2195         input file. Link test programs with libreplace so we get our
2196         replacement verions as needed.
2197         [66bab80241e0] <1.8>
2198
2199         * Makefile.in:
2200         If make in a subdir fails, fail the target in the upper level
2201         Makefile too. Adapted from a patch from Diego Elio Petteno
2202         [bc35b7813507] <1.8>
2203
2204         * configure, configure.in:
2205         Add check for NetBSD-style 4-argument skeychallenge() as Gentoo also
2206         has this. Adapted from a patch from Diego Elio Petteno
2207         [bb6228f484b9] <1.8>
2208
2209         * Make SUDOERS_LDFLAGS reference $(LDFLAGS) instead of using @LDFLAGS@
2210         directly.
2211         [47e6d5fadc6d] <1.8>
2212
2213         * configure, configure.in:
2214         Fix warnings when -without-skey, --without-opie, --without-kerb4,
2215         --without-kerb5 or --without-SecurID were specified.
2216         [1b75035dd129] <1.8>
2217
2218         * Add plugins/sudoers/sudoers_version.h
2219         [1d470c6033ca] <1.8>
2220
2221         * configure, configure.in:
2222         Back out the --with-libpath addition to SUDOERS_LDFLAGS since that
2223         now include LDFLAGS in the sudoers Makefile.in. Add missing settng
2224         of @LDFLAGS@ in plugin Makefile.in files.
2225         [dd237f43aa12] <1.8>
2226
2227 2011-04-05  Todd C. Miller  <Todd.Miller@courtesan.com>
2228
2229         * Mention %#gid support in User_List and Runas_List
2230         [37e259b9181b] <1.8>
2231
2232         * Keep track of sudoers grammar version and report it in the -V
2233         output.
2234         [0e0b891dd8a4] <1.8>
2235
2236         * Add multiple inclusion guard
2237         [ec6884f51ea8] <1.8>
2238
2239         * configure, configure.in:
2240         The --with-libpath option now adds to SUDOERS_LDFLAGS as well as
2241         LDFLAGS. Remove old -static hack for HP-UX < 9. Add LTLDFLAGS and
2242         set it to -Wc,-static-libgcc if not using GNU ld so we don't
2243         have a dependency on the shared libgcc in sudoers.so.
2244         [28d03f3eb0d2] <1.8>
2245
2246         * Fix typo; from Petr Uzel
2247         [d19b9bd92bd3] <1.8>
2248
2249 2011-04-01  Todd C. Miller  <Todd.Miller@courtesan.com>
2250
2251         * In dump-only mode, use "root" as the default username instead of
2252         "nobody" as the latter may not be available on all systems.
2253         [b304111616dd] <1.8>
2254
2255 2011-03-31  Todd C. Miller  <Todd.Miller@courtesan.com>
2256
2257         * Remove NewArgv/NewArgc, they are no longer needed.
2258         [c0a36a42a68c] <1.8>
2259
2260         * Fix setting of user_args
2261         [529e79ea95d1] <1.8>
2262
2263         * Add '!' token to lex tracing
2264         [aef295d428e7] <1.8>
2265
2266         * Use group bin in test, not wheel as most systems have the bin group
2267         but the same is no longer true of wheel.
2268         [350347f09c1a] <1.8>
2269
2270         * Avoid using pre or post increment in a parameter to a ctype(3)
2271         function as it might be a macro that causes the increment to happen
2272         more than once.
2273         [8a94ebdd53b8] <1.8>
2274
2275 2011-03-30  Todd C. Miller  <Todd.Miller@courtesan.com>
2276
2277         * Strip off the beta or release candidate version when building AIX
2278         packages.
2279         [00ad950764e2] <1.8>
2280
2281         * configure, configure.in:
2282         We need to include OSDEFS in CFLAGS when doing the utmp/utmpx
2283         structure checks for glibc which only has __e_termination visible
2284         when _GNU_SOURCE is *not* defined.
2285         [1d58420a4a4a] <1.8>
2286
2287         * getuserattr(user, ...) will fall back to the "default" entry
2288         automatically, there's no need to check "default" manually.
2289         [cefffa82967d] <1.8>
2290
2291         * Document parser changes.
2292         [5038238f60eb] <1.8>
2293
2294 2011-03-29  Todd C. Miller  <Todd.Miller@courtesan.com>
2295
2296         * Makefile.in:
2297         If there is an existing sudoers file, only install if it passes a
2298         syntax check.
2299         [b1e4c9c56fe0] <1.8>
2300
2301         * Add runasgroup support to testsudoers
2302         [30838590e9de] <1.8>
2303
2304         * For "make check", keep going even if a test fails.
2305         [d3a72f67227e] <1.8>
2306
2307         * More useful exit codes:
2308          * 0 - parsed OK and command matched.
2309          * 1 - parse error
2310          * 2 - command not matched
2311          * 3 - command denied
2312         [59301e0769cd] <1.8>
2313
2314         * Document %#gid, and %:#nonunix_gid syntax.
2315         [39ee15af58e9] <1.8>
2316
2317         * Add support to user_in_group() for treating group names that begin
2318         with a '#' as gids.
2319         [0eb19980cf5f] <1.8>
2320
2321         * configure, configure.in:
2322         Add explicit check for struct utmpx.ut_exit.e_termination and struct
2323         utmpx.ut_exit.__e_termination. HP-UX uses the latter. Only update
2324         ut_exit if we detect one or the other.
2325         [ab5b665fc04b] <1.8>
2326
2327 2011-03-28  Todd C. Miller  <Todd.Miller@courtesan.com>
2328
2329         * Add back missing #include of config.h
2330         [9c82bec81018] <1.8>
2331
2332         * Avoid a NULL deref on unrecognized escapes. Collapse %% -> % like
2333         strftime() does.
2334         [1ae630470f8a] <1.8>
2335
2336         * Quote first argument to AC_DEFUN(); from Elan Ruusamae
2337         [c467e9e3b399] <1.8>
2338
2339 2011-03-27  Todd C. Miller  <Todd.Miller@courtesan.com>
2340
2341         * add new sudoers tests
2342         [05f2a0924acc] <1.8>
2343
2344         * Add test for a newline in the middle of a string when no line
2345         continuation character is used.
2346         [24b79be5822b] <1.8>
2347
2348         * Use bitwise AND instead of modulus to check for length being odd. A
2349         newline in the middle of a string is an error unless a line
2350         continuation character is used.
2351         [65c468599688] <1.8>
2352
2353         * Move lexer globals initialization into init_lexer.
2354         [07a1171a1853] <1.8>
2355
2356         * Fix a potential crash when a non-regular file is present in an
2357         includedir. Fixes bz #452
2358         [5057cb9516e4] <1.8>
2359
2360         * On some Linux systems, "uname -p" contains detailed processor info
2361         so check "uname -m" first and then "uname -p" if needed. Recognize
2362         PLD Linux.
2363         [56226c84a060] <1.8>
2364
2365 2011-03-25  Todd C. Miller  <Todd.Miller@courtesan.com>
2366
2367         * Don't need all sudoers.h here.
2368         [43b6ae5999c5] <1.8>
2369
2370         * Print sudo version early, in case policy plugin init fails.
2371         [620f2d0ec4b1] <1.8>
2372
2373 2011-03-24  Todd C. Miller  <Todd.Miller@courtesan.com>
2374
2375         * Update to match change in input.
2376         [69540f84721d] <1.8>
2377
2378         * Make an empty group or netgroup a syntax error.
2379         [4b85bddc494e] <1.8>
2380
2381         * An empty group or netgroup should be a syntax error.
2382         [6ec796972eff] <1.8>
2383
2384         * Check that uids work in per-user and per-runas Defaults Check that
2385         uids and gids work in a Command_Spec
2386         [68cf62353420] <1.8>
2387
2388         * Test empty string in User_Alias and Command_Spec
2389         [017d487c31be] <1.8>
2390
2391         * Allow a group ID in the User_Spec.
2392         [37e0bf69c8d8] <1.8>
2393
2394         * Return an error for the empty string when a word is expected. Allow
2395         an ID for per-user or per-runas Defaults.
2396         [4c9020779582] <1.8>
2397
2398 2011-03-23  Todd C. Miller  <Todd.Miller@courtesan.com>
2399
2400         * Fix printing "User_Alias FOO = ALL"
2401         [97c9fd7caeb7] <1.8>
2402
2403 2011-03-22  Todd C. Miller  <Todd.Miller@courtesan.com>
2404
2405         * Better error message about invalid -C argument
2406         [2301e7a3835b] <1.8>
2407
2408         * fix typo
2409         [c5acde62a309] <1.8>
2410
2411         * Fix placement of equal size ('=') in user specification summary.
2412         [4d0ffef77ae4] <1.8>
2413
2414 2011-03-21  Todd C. Miller  <Todd.Miller@courtesan.com>
2415
2416         * update to match sudoers regress
2417         [0efb8dc9092a] <1.8>
2418
2419         * Restore ability to define TRACELEXER and have trace output go to
2420         stderr.
2421         [441c8b372217] <1.8>
2422
2423         * Restore old behavior of setting sawspace = TRUE for command line
2424         args when a line continuation character is hit to avoid causing
2425         problems for existing sudoers files.
2426         [963ded6ce070] <1.8>
2427
2428         * Add test for line continuation and aliases
2429         [5703d11a3c46] <1.8>
2430
2431         * Make test output line up nicely for parse vs. toke
2432         [15321ce2d7d9] <1.8>
2433
2434         * plugins/sudoers/regress/testsudoers/test1.ok,
2435         plugins/sudoers/regress/testsudoers/test2.out,
2436         plugins/sudoers/regress/testsudoers/test2.sh,
2437         plugins/sudoers/regress/testsudoers/test3.ok,
2438         plugins/sudoers/regress/testsudoers/test3.sh,
2439         plugins/sudoers/regress/visudo/test1.ok,
2440         plugins/sudoers/regress/visudo/test1.sh:
2441         Move parser tests to sudoers directory and test the tokenizer output
2442         too.
2443         [111c1ccda334] <1.8>
2444
2445         * If we match a rule anchored to the beginning of a line after parsing
2446         a line continuation character, return an ERROR token. It would be
2447         nicer to use REJECT instead but that substantially slows down the
2448         lexer.
2449         [67e54b14aa9d] <1.8>
2450
2451         * Move LEXTRACE macro to toke.h so we can use it in yyerror().
2452         [e6e04037deed] <1.8>
2453
2454         * Make lex tracing settable at run-time in testsudoers via the -t
2455         flag. Trace output goes to stderr. Will be used by regress tests
2456         to check lexer.
2457         [a973f43cc0c2] <1.8>
2458
2459         * Allow whitespace after the modifier in a Defaults entry. E.g.
2460         "Defaults: username set_home"
2461         [bf876c9fc5bb] <1.8>
2462
2463 2011-03-18  Todd C. Miller  <Todd.Miller@courtesan.com>
2464
2465         * Don't set CC when cross-compiling.
2466         [d3c33dcb02f2] <1.8>
2467
2468         * Credit Matthew Thomas for the sudoers_search_filter changes.
2469         [2209b80664af] <1.8>
2470
2471         * Add the .sym files to the MANIFEST
2472         [bb452b28a009] <1.8>
2473
2474         * Update for sudo 1.8.1 beta
2475         [700d42d80e00] <1.8>
2476
2477         * user_shell -> run_shell to avoid confusion with the user's SHELL
2478         variable.
2479         [451b96d5f97e] <1.8>
2480
2481         * Save the controlling tty process group before suspending in pty
2482         mode. Previously, we assumed that the child pgrp == child pid
2483         (which is usually, but not always, the case).
2484         [b0841d861191] <1.8>
2485
2486         * Add support for sudoers_search_filter setting in ldap.conf. This
2487         can be used to restrict the set of records returned by the LDAP
2488         query.
2489         [70c5f496e2b3] <1.8>
2490
2491 2011-03-17  Todd C. Miller  <Todd.Miller@courtesan.com>
2492
2493         * configure, configure.in:
2494         Remove the hack to disable -g in CFLAGS unless --with-devel
2495         [9459839f50ba] <1.8>
2496
2497         * The '@' character does not normally need to be quoted.
2498         [e66c4c64e514] <1.8>
2499
2500         * We normaly transition from GOTDEFS to STARTDEFS on whitespace, but
2501         if that whitespace is followed by a comma, we want to treat it as
2502         part of a list and not transition.
2503         [52ae2df9959d] <1.8>
2504
2505         * Add check for whitespace when a User_List is used for a per-user
2506         Defaults entry.
2507         [44a4db95be86] <1.8>
2508
2509         * Expand quoted name checks to cover recent fixes.
2510         [bd494b5c2bed] <1.8>
2511
2512         * Fix parsing of double-quoted names in Defaults and Aliases which was
2513         broken in 601d97ea8792.
2514         [dfdd58c3eb3b] <1.8>
2515
2516         * toke_util.c lives in $(srcdir) not $(devdir)
2517         [94f8f024782e] <1.8>
2518
2519 2011-03-16  Todd C. Miller  <Todd.Miller@courtesan.com>
2520
2521         * configure, configure.in:
2522         Update version to 1.8.1
2523         [531a7d520f18] <1.8>
2524
2525         * Document major changes in 1.8.1 and add upgrade notes.
2526         [116821646140] <1.8>
2527
2528         * Be careful not to deref user_stat if it is NULL. This cannot
2529         currently happen in sudo but might in other programs using the
2530         parser.
2531         [d72a9c7151c4] <1.8>
2532
2533         * configure will not add -O2 to CFLAGS if it is already defined to add
2534         -O2 to the CFLAGS we pass in when PIE is being used.
2535         [2c7fe82be93d] <1.8>
2536
2537         * Warn about the dangers of log_input and mention iolog_file and
2538         iolog_dir in the log_input and log_output descriptions.
2539         [edc6aa59aa45] <1.8>
2540
2541         * sync with git version
2542         [b121cf739c77] <1.8>
2543
2544         * It seems that h comes after i
2545         [99ad15015f05] <1.8>
2546
2547         * Move log_input and log_output to their proper, sorted, location.
2548         Document set_utmp and utmp_runas.
2549         [216ce8b0ae1a] <1.8>
2550
2551         * Save the controlling tty process group before suspending so we can
2552         restore it when we resume. Fixes job control problems on Linux
2553         caused by the previous attemp to fix resuming a shell when I/O
2554         logging not enabled.
2555         [dfe038f733be] <1.8>
2556
2557         * Fix printing of the remainder after a newline. Fixes "sudo -l"
2558         output corruption that could occur in some cases.
2559         [ab2f0a629e0d] <1.8>
2560
2561         * Add support for ut_exit
2562         [7039ec6a73fa] <1.8>
2563
2564         * Add support for controlling whether utmp is updated and which user
2565         is listed in the entry.
2566         [1b008ce71eab] <1.8>
2567
2568         * Fix typo; tupple vs. tuple
2569         [67bb5c67ae3d] <1.8>
2570
2571         * For legacy utmp, strip the /dev/ prefix before trying to determine
2572         slot since the ttys file does not include the /dev/ prefix.
2573         [8f597114381d] <1.8>
2574
2575         * Add check for _PATH_UTMP
2576         [fe7e2456f017] <1.8>
2577
2578         * Adapt check_iolog_path to sessid changes
2579         [3016201869b6] <1.8>
2580
2581         * Redo utmp handling. If no getutent()/getutxent() is available,
2582         assume a ttyslot-based utmp. If getttyent() is available, use that
2583         directly instead of ttyslot() so we don't have to do the stdin dup2
2584         dance.
2585         [817490c7c20e] <1.8>
2586
2587         * Move utmp handling into utmp.c
2588         [e4729d9259e9] <1.8>
2589
2590         * Update copyright years.
2591         [1065afc00233] <1.8>
2592
2593 2011-03-11  Todd C. Miller  <Todd.Miller@courtesan.com>
2594
2595         * Add "user_shell" boolean as a way to indicate to the plugin that the
2596         -s flag was given.
2597         [6e8bc49b7ea7] <1.8>
2598
2599         * Move sessid out of sudo_user.
2600         [00d67d5ba894] <1.8>
2601
2602         * Log the TSID even if it is not a simple session ID.
2603         [490cf0adae29] <1.8>
2604
2605         * Document noexec in sample.sudo.conf and add back noexec_file section
2606         in sudoers with a note that it is deprecated.
2607         [c7a2d8d0c563] <1.8>
2608
2609         * Fix running commands as non-root on systems where setreuid() changes
2610         the saved uid based on the effective uid we are changing to.
2611         [f3b27db56ba6] <1.8>
2612
2613 2011-03-10  Todd C. Miller  <Todd.Miller@courtesan.com>
2614
2615         * Move noexec path into sudo.conf now that sudo itself handles noexec.
2616         Currently can be configured in sudoers too but is now undocumented
2617         and will be removed in a future release.
2618         [9c5f64709994] <1.8>
2619
2620         * Document "Path noexec ..." in sudo.conf. No longer document
2621         noexec_file in sudoers, it will be removed in a future release.
2622         [959fa6b5217b] <1.8>
2623
2624         * Move noexec handling to sudo front-end where it is documented as
2625         being.
2626         [ef6cd4a40c61] <1.8>
2627
2628         * Add support for disabling exec via solaris privileges. Includes
2629         preparation for moving noexec support out of sudoers and into front
2630         end as documented.
2631         [d9c05ba9a24f] <1.8>
2632
2633         * Only export the symbols corresponding to the plugin structs.
2634         [cb07af1d9b39] <1.8>
2635
2636         * Install plugins manually instead of using libtool. This works
2637         around a problem on AIX where libtool will install a .a file
2638         containing the .so file instead of the .so file itself.
2639         [1ccf5af58c05] <1.8>
2640
2641         * Makefile.in:
2642         Move check into its own rule since some versions of make will run
2643         both targets as the default rule.
2644         [7159f37eb552] <1.8>
2645
2646         * Update to libtool 2.2.10
2647         [9e49773b32b7] <1.8>
2648
2649         * In handle_signals(), restart the read() on EINTR to make sure we
2650         keep up with the signal pipe. Don't return -1 on EAGAIN, it just
2651         means we have emptied the pipe.
2652         [dc2926097b2d] <1.8>
2653
2654         * Reorder functions to quiet a compiler warning.
2655         [5201367e5db4] <1.8>
2656
2657         * Use the Sun Studio C compiler on Solaris if possible
2658         [b8d43b423fb9] <1.8>
2659
2660 2011-03-08  Todd C. Miller  <Todd.Miller@courtesan.com>
2661
2662         * Fix default setting of osversion variable.
2663         [e12905851be5] <1.8>
2664
2665         * Make two login_class entris consistent.
2666         [0671d7b204be] <1.8>
2667
2668         * Add support for adding a utmp entry when allocating a new pty.
2669         Requires the BSD login(3) or SYSV/POSIX getutent()/getutxent().
2670         Currently only creates a new entry if the existing tty has a utmp
2671         entry.
2672         [40ff30099e79] <1.8>
2673
2674         * Avoid pulling in headers we don't need on Linux For getutx?id(),
2675         call setutx?ent() first and always call endutx?ent().
2676         [b86f7a13aae9] <1.8>
2677
2678         * Add some more libs to SUDOERS_LIBS instead of relying on them to be
2679         pulled in by SUDO_LIBS.
2680         [bcbd16ec56c6] <1.8>
2681
2682         * Fix return value of "sudo -l command" when command is not allowed,
2683         broken in [c7097ea22111]. The default return value is now TRUE and
2684         a bad: label is used when permission is denied. Also fixed missing
2685         permissions restoration on certain errors. On error()/errorx(), the
2686         password and group files are now closed before returning.
2687         [757c941a47b2] <1.8>
2688
2689 2011-03-07  Todd C. Miller  <Todd.Miller@courtesan.com>
2690
2691         * Fix passing of login class back to sudo front end.
2692         [5e649de6b7f5] <1.8>
2693
2694         * Add --osversion flag to specify OS instead of running "pp
2695         --probeonly"
2696         [8a03943ac5e8] <1.8>
2697
2698         * Fix expr usage w/ GNU expr
2699         [bdecfa1f54fc] <1.8>
2700
2701 2011-03-06  Todd C. Miller  <Todd.Miller@courtesan.com>
2702
2703         * Fix exit value for validate and list mode.
2704         [6f8b20199935] <1.8>
2705
2706         * Fix non-interactive mode with sudoers plugin.
2707         [cf5aca4fcbcf] <1.8>
2708
2709 2011-03-05  Todd C. Miller  <Todd.Miller@courtesan.com>
2710
2711         * sudoreplay can now find IDs other than %{seq} and display the
2712         session.
2713         [60396b417633] <1.8>
2714
2715         * Add support for replaying sessions when iolog_file is set to
2716         something other than %{seq}.
2717         [1cd2baa74d56] <1.8>
2718
2719 2011-03-04  Todd C. Miller  <Todd.Miller@courtesan.com>
2720
2721         * If we are killed by a signal, display the name of the signal that
2722         got us.
2723         [1b38c4d42282] <1.8>
2724
2725         * Move libs used for authentication from SUDO_LIBS to SUDOERS_LIBS
2726         where they belong.
2727         [78e97a921104] <1.8>
2728
2729         * Fix bug in skey/opie check that could cause a shell warning.
2730         [f20229a04f30] <1.8>
2731
2732         * No longer need sudo_getepw() stubs.
2733         [795631ac7db0] <1.8>
2734
2735 2011-03-03  Todd C. Miller  <Todd.Miller@courtesan.com>
2736
2737         * Fix exit value of "sudo -l command" in sudoers module.
2738         [4a05d6019b3d] <1.8>
2739
2740 2011-03-02  Todd C. Miller  <Todd.Miller@courtesan.com>
2741
2742         * Use fgets() not fgetln() for portability.
2743         [1f2050745096] <1.8>
2744
2745         * Don't use the beta or release candidate version as the rpm release.
2746         [a5b049477646] <1.8>
2747
2748 2011-02-25  Todd C. Miller  <Todd.Miller@courtesan.com>
2749
2750         * Makefile.in:
2751         Adjust ChangeLog rule now that 1.8 is branched
2752         [a994ac361e44] <1.8>
2753
2754         * .hgtags:
2755         Added tag SUDO_1_8_0 for changeset f6530d56f6ae
2756         [99a2b3801419] <1.8>
2757
2758 2011-02-25  Todd C. Miller  <Todd.Miller@courtesan.com>
2759
2760         * configure, configure.in:
2761         version 1.8.0
2762         [f6530d56f6ae] [SUDO_1_8_0]
2763
2764         * NEWS:
2765         update sudo 1.8 section
2766         [f2ee2cf95d18]
2767
2768 2011-02-23  Todd C. Miller  <Todd.Miller@courtesan.com>
2769
2770         * plugins/sudoers/regress/testsudoers/test2.sh:
2771         fix test description
2772         [cd5730fa9f09]
2773
2774         * plugins/sudoers/regress/testsudoers/test2.out,
2775         plugins/sudoers/regress/testsudoers/test2.sh,
2776         plugins/sudoers/regress/visudo/test2.out,
2777         plugins/sudoers/regress/visudo/test2.sh:
2778         convert test2 to use testsudoers
2779         [b5ec3f0b69f1]
2780
2781         * include/sudo_plugin.h, src/sudo_plugin_int.h:
2782         Move struct generic_plugin to sudo_plugin_int.h
2783         [6f7bc629329c]
2784
2785         * plugins/sudoers/gram.c, plugins/sudoers/gram.y,
2786         plugins/sudoers/parse.c, plugins/sudoers/parse.h,
2787         plugins/sudoers/set_perms.c, plugins/sudoers/sudoers.c,
2788         plugins/sudoers/sudoers.h:
2789         Allow sudoers file name, mode, uid and gid to be specified in the
2790         settings list. The sudo front end does not currently set these but
2791         may in the future.
2792         [22f38a0fda2a]
2793
2794 2011-02-21  Todd C. Miller  <Todd.Miller@courtesan.com>
2795
2796         * configure, configure.in, doc/sudo.cat, doc/sudo.man.in,
2797         doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudoers.cat,
2798         doc/sudoers.ldap.cat, doc/sudoers.ldap.man.in, doc/sudoers.man.in,
2799         doc/sudoreplay.cat, doc/sudoreplay.man.in, doc/visudo.cat,
2800         doc/visudo.man.in:
2801         1.8.0rc1
2802         [5d4588b9c057]
2803
2804         * doc/sudo.pod, doc/sudoreplay.pod, doc/visudo.pod,
2805         plugins/sudoers/sudoreplay.c, plugins/sudoers/visudo.c,
2806         src/parse_args.c, src/sudo.h:
2807         add help text to sudo, visudo and sudoreplay for the -h option
2808         [52e7378d8476]
2809
2810 2011-02-19  Todd C. Miller  <Todd.Miller@courtesan.com>
2811
2812         * compat/snprintf.c:
2813         avoid using "howmany" for a parameter name since it is a select-
2814         related macro
2815         [a14d565401a1]
2816
2817         * doc/sudoers.pod:
2818         mention group_plugin when describing nonunix_group
2819         [e0d1d0034b17]
2820
2821         * doc/sudo_plugin.pod:
2822         Add missing period at end of sentence
2823         [6744d7e9056d]
2824
2825         * Makefile.in, doc/Makefile.in, include/Makefile.in,
2826         plugins/sample/Makefile.in, plugins/sample_group/Makefile.in,
2827         plugins/sudoers/Makefile.in, src/Makefile.in:
2828         add localstatedir; closes bug 471
2829         [7aefcab85088]
2830
2831         * config.h.in, configure, configure.in, plugins/sudoers/sudoreplay.c,
2832         src/exec.c, src/exec_pty.c:
2833         The howmany macro lives in sys/sysmacros.h on SVR5 systems Closes
2834         Bug 470
2835         [927ed6740f32]
2836
2837         * configure.in:
2838         add missing AH_TEMPLATE for ENV_RESET
2839         [16300010c986]
2840
2841         * src/exec.c:
2842         SVR5 systems return non-zero for success on socketpair(), check for
2843         -1 instead. Closes Bug 469
2844         [4d276494bf8e]
2845
2846 2011-02-16  Todd C. Miller  <Todd.Miller@courtesan.com>
2847
2848         * configure, configure.in:
2849         1.8.0b5
2850         [d611cd5d73d3]
2851
2852         * doc/sudo.cat, doc/sudo.man.in, doc/sudo_plugin.cat,
2853         doc/sudo_plugin.man.in, doc/sudoers.cat, doc/sudoers.ldap.cat,
2854         doc/sudoers.ldap.man.in, doc/sudoers.man.in, doc/sudoreplay.cat,
2855         doc/sudoreplay.man.in, doc/visudo.cat, doc/visudo.man.in:
2856         regen
2857         [85e96eeaed82]
2858
2859         * doc/sudo.pod:
2860         Document that a sudo.conf file with no Pligin lines uses the default
2861         sudoers plugins.
2862         [88bd52da977f]
2863
2864         * src/load_plugins.c:
2865         If sudo.conf contains no Plugin lines, use the default sudoers
2866         policy and I/O plugins.
2867         [fd8f4cb811ab]
2868
2869 2011-02-14  Todd C. Miller  <Todd.Miller@courtesan.com>
2870
2871         * plugins/sudoers/sudo_nss.c:
2872         Avoid printing empty "Runas and Command-specific defaults for user"
2873         line.
2874         [2dd330fe4f8b]
2875
2876         * common/lbuf.c:
2877         Truncate the buffer at buf.len before printing in the non-wordwrap
2878         case.
2879         [901e9833f80d]
2880
2881         * common/lbuf.c:
2882         Remove extra newline when the tty width is very small or unavailable
2883         [245c05506c0e]
2884
2885 2011-02-11  Todd C. Miller  <Todd.Miller@courtesan.com>
2886
2887         * plugins/sudoers/alias.c:
2888         Remove unneeded variable.
2889         [2c086d30b796]
2890
2891 2011-02-09  Todd C. Miller  <Todd.Miller@courtesan.com>
2892
2893         * configure, configure.in:
2894         Prefer getutxid over getutid
2895         [3f3322e9c93e]
2896
2897         * plugins/sudoers/boottime.c:
2898         Include utmp.h / utmpx.h before missing.h as apparently including it
2899         afterwards causes a compilation problem on GNU Hurd.
2900         [a528029ae962]
2901
2902 2011-02-07  Todd C. Miller  <Todd.Miller@courtesan.com>
2903
2904         * plugins/sudoers/sudoreplay.c, plugins/sudoers/toke_util.c:
2905         #include "foo.h", not <foo.h> for local includes.
2906         [f65ec693998e]
2907
2908         * src/parse_args.c:
2909         remove bogus XXX
2910         [9136c17d53ce]
2911
2912         * compat/mksiglist.c:
2913         Fix typo
2914         [1a3bb7b455c9]
2915
2916         * compat/glob.c, plugins/sudoers/ldap.c, plugins/sudoers/logging.c,
2917         plugins/sudoers/match.c:
2918         return foo not return(foo)
2919         [5c9e0647359a]
2920
2921 2011-02-06  Todd C. Miller  <Todd.Miller@courtesan.com>
2922
2923         * src/exec.c:
2924         Remove duplicate FD_SET of signal_pipe[0]
2925         [3096527d2215]
2926
2927 2011-02-05  Todd C. Miller  <Todd.Miller@courtesan.com>
2928
2929         * compat/mksiglist.c:
2930         Use "missing.h" not <missing.h> in generated code.
2931         [d8e09cffbe09]
2932
2933 2011-02-04  Todd C. Miller  <Todd.Miller@courtesan.com>
2934
2935         * aclocal.m4, configure:
2936         fix --with-iologdir=no
2937         [a89699cb5f5f]
2938
2939         * aclocal.m4, configure:
2940         fix typo that broke --with-iologdir
2941         [91b54eb22403]
2942
2943 2011-02-03  Todd C. Miller  <Todd.Miller@courtesan.com>
2944
2945         * configure, configure.in, doc/sudo.cat, doc/sudo.man.in,
2946         doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudoers.cat,
2947         doc/sudoers.ldap.cat, doc/sudoers.ldap.man.in, doc/sudoers.man.in,
2948         doc/sudoreplay.cat, doc/sudoreplay.man.in, doc/visudo.cat,
2949         doc/visudo.man.in:
2950         Bump version to 1.8.0b4
2951         [e2b7f2cdc02e]
2952
2953         * NEWS:
2954         sync
2955         [decf5a0a8a33]
2956
2957         * doc/sudoers.cat, doc/sudoers.man.in, doc/sudoers.pod:
2958         Attempt to clarify how users and groups interact in Runas_Specs
2959         [e6fb3a2dbd77]
2960
2961         * plugins/sudoers/regress/visudo/test2.out,
2962         plugins/sudoers/regress/visudo/test2.sh:
2963         Add test for quoted group that contains escaped double quotes
2964         [44596c48c629]
2965
2966         * src/exec.c, src/exec_pty.c:
2967         Pass SIGUSR1/SIGUSR2 through to the child.
2968         [c3108a827b01]
2969
2970         * src/exec_pty.c, src/sudo_exec.h:
2971         Use special values SIGCONT_FG and SIGCONT_BG instead of SIGUSR1 and
2972         SIGUSR2 to indicate whether the child should be continued in the
2973         foreground or background.
2974         [35ca47cc6785]
2975
2976         * src/exec.c:
2977         Use pid_t not int and check the return value of kill()
2978         [36ae7d37d7f9]
2979
2980 2011-02-02  Todd C. Miller  <Todd.Miller@courtesan.com>
2981
2982         * src/exec_pty.c:
2983         Remove obsolete comment
2984         [baebef4919f6]
2985
2986         * src/exec.c:
2987         In non-pty mode before continuing the child, make it the foreground
2988         pgrp if possible. Fixes resuming a shell.
2989         [fef5b1d02ddb]
2990
2991         * src/exec_pty.c:
2992         If we get a signal other than SIGCHLD in the monitor, pass it
2993         directly to the child.
2994         [b3ecb28163a0]
2995
2996         * src/exec.c, src/exec_pty.c, src/sudo.h:
2997         Save signal state before changing handlers and restore before we
2998         execute the command.
2999         [faf7475dc4bf]
3000
3001 2011-02-01  Todd C. Miller  <Todd.Miller@courtesan.com>
3002
3003         * plugins/sudoers/iolog.c:
3004         Use a char array to map a number to a base36 digit.
3005         [257576c51f8b]
3006
3007         * doc/sudoers.ldap.cat, doc/sudoers.ldap.man.in, doc/sudoers.ldap.pod:
3008         Be clear about what versions of sudo support new LDAP attributes.
3009         Fix up some formatting of attribute names. Minor other tweaks.
3010         [39f65df71f65]
3011
3012 2011-01-31  Todd C. Miller  <Todd.Miller@courtesan.com>
3013
3014         * plugins/sudoers/toke.c, plugins/sudoers/toke.l:
3015         match quoted strings the same way whether in a Defaults line or as a
3016         user/group/netgroup name. Fixes escaped double quotes in quoted
3017         user/group/netgroup names.
3018         [601d97ea8792]
3019
3020         * plugins/sudoers/Makefile.in:
3021         'make check' depends on visudo and testsudoers
3022         [127c5a24df8f]
3023
3024         * plugins/sudoers/sudoers2ldif:
3025         Add sudoOrder attribute to each entry Parse LOG_{INPUT,OUTPUT} tags
3026         [9029163a58c3]
3027
3028 2011-01-30  Todd C. Miller  <Todd.Miller@courtesan.com>
3029
3030         * doc/UPGRADE:
3031         Mention LDAP attribute compatibility status.
3032         [2c3595aaec63]
3033
3034 2011-01-28  Todd C. Miller  <Todd.Miller@courtesan.com>
3035
3036         * README.LDAP:
3037         Mention phpQLAdmin
3038         [9304c9064fbe]
3039
3040         * INSTALL, NEWS, config.h.in, configure, configure.in,
3041         doc/sudoers.man.in, doc/sudoers.pod, plugins/sudoers/defaults.c:
3042         Add --disable-env-reset configure option.
3043         [8a753aa13a46]
3044
3045         * doc/sudoers.cat, doc/sudoers.man.in, doc/sudoers.pod:
3046         Document that sudoers_locale also affects logging and email.
3047         [998d6ac11277]
3048
3049         * NEWS, config.h.in, configure, configure.in,
3050         plugins/sudoers/logging.c:
3051         Do logging and email sending in the locale specified by the
3052         "sudoers_locale" setting ("C" by default). Email send by sudo
3053         includes MIME headers when the sudoers locale is not "C".
3054         [cb7e55408400]
3055
3056 2011-01-27  Todd C. Miller  <Todd.Miller@courtesan.com>
3057
3058         * plugins/sudoers/check.c:
3059         Fix indentation
3060         [65ae7e92b9e4]
3061
3062 2011-01-25  Todd C. Miller  <Todd.Miller@courtesan.com>
3063
3064         * NEWS, src/parse_args.c, src/sudo.c:
3065         Perform command escaping for "sudo -s" and "sudo -i" after
3066         validating sudoers so the sudoers entries don't need to have all the
3067         backslashes.
3068         [4e168c103f4b]
3069
3070 2011-01-24  Todd C. Miller  <Todd.Miller@courtesan.com>
3071
3072         * plugins/sudoers/logging.c:
3073         Prepend "list " to the command logged when "sudo -l command" is used
3074         to make it clear that the command was listed, not run.
3075         [f392a6056cd6]
3076
3077         * plugins/sudoers/parse.c:
3078         cosmetic change
3079         [7c0951dbc2dd]
3080
3081         * common/aix.c, common/alloc.c, common/fileops.c, common/fmt_string.c,
3082         common/list.c, common/term.c, compat/fnmatch.c, compat/getcwd.c,
3083         compat/glob.c, compat/isblank.c, compat/memrchr.c, compat/mktemp.c,
3084         compat/nanosleep.c, compat/regress/glob/globtest.c,
3085         compat/snprintf.c, compat/strlcat.c, compat/strlcpy.c,
3086         compat/strsignal.c, compat/utimes.c, plugins/sample/sample_plugin.c,
3087         plugins/sample_group/getgrent.c, plugins/sample_group/plugin_test.c,
3088         plugins/sudoers/alias.c, plugins/sudoers/auth/afs.c,
3089         plugins/sudoers/auth/aix_auth.c, plugins/sudoers/auth/bsdauth.c,
3090         plugins/sudoers/auth/dce.c, plugins/sudoers/auth/fwtk.c,
3091         plugins/sudoers/auth/kerb4.c, plugins/sudoers/auth/kerb5.c,
3092         plugins/sudoers/auth/pam.c, plugins/sudoers/auth/passwd.c,
3093         plugins/sudoers/auth/rfc1938.c, plugins/sudoers/auth/secureware.c,
3094         plugins/sudoers/auth/securid.c, plugins/sudoers/auth/securid5.c,
3095         plugins/sudoers/auth/sia.c, plugins/sudoers/bsm_audit.c,
3096         plugins/sudoers/check.c, plugins/sudoers/defaults.c,
3097         plugins/sudoers/find_path.c, plugins/sudoers/goodpath.c,
3098         plugins/sudoers/gram.c, plugins/sudoers/gram.y,
3099         plugins/sudoers/iolog.c, plugins/sudoers/ldap.c,
3100         plugins/sudoers/match.c, plugins/sudoers/mon_systrace.c,
3101         plugins/sudoers/parse.c, plugins/sudoers/pwutil.c,
3102         plugins/sudoers/redblack.c, plugins/sudoers/set_perms.c,
3103         plugins/sudoers/sudo_nss.c, plugins/sudoers/sudoers.c,
3104         plugins/sudoers/sudoreplay.c, plugins/sudoers/testsudoers.c,
3105         plugins/sudoers/timestr.c, plugins/sudoers/toke.c,
3106         plugins/sudoers/toke.l, plugins/sudoers/toke_util.c,
3107         plugins/sudoers/tsgetgrpw.c, plugins/sudoers/visudo.c,
3108         src/exec_pty.c, src/get_pty.c, src/load_plugins.c, src/parse_args.c,
3109         src/sudo_noexec.c, src/tgetpass.c:
3110         standardize on "return foo;" rather than "return(foo);" or "return
3111         (foo);"
3112         [32d76c5aaf8c]
3113
3114         * plugins/sudoers/sudoers.c:
3115         Do not reject sudoers file just because it is root-writable.
3116         [0febc579185b]
3117
3118 2011-01-21  Todd C. Miller  <Todd.Miller@courtesan.com>
3119
3120         * NEWS:
3121         sync
3122         [1ab03f8278ff]
3123
3124         * plugins/sudoers/sudo_nss.c:
3125         For "sudo -U user -l" if user is not authorized on the host, say so.
3126         [289afe6dd15c]
3127
3128         * plugins/sudoers/ldap.c:
3129         In sudo_ldap_lookup(), always do the initial sudoers check as the
3130         invoking user. If we are listing another user's privs we will do a
3131         separate lookup using list_pw later.
3132         [e52bc15de76d]
3133
3134 2011-01-20  Todd C. Miller  <Todd.Miller@courtesan.com>
3135
3136         * MANIFEST:
3137         add parser fill tests
3138         [4f65140d3515]
3139
3140         * compat/regress/glob/globtest.c, compat/regress/glob/globtest.in:
3141         Don't test features not supported by the bundled glob()
3142         [8ec7ace11949]
3143
3144         * Makefile.in, aclocal.m4, common/Makefile.in, common/term.c,
3145         compat/Makefile.in, configure.in, doc/LICENSE, doc/Makefile.in,
3146         doc/sudo_plugin.man.in, doc/sudo_plugin.pod,
3147         doc/sudoers.ldap.man.in, doc/sudoers.ldap.pod, doc/sudoers.man.in,
3148         doc/sudoers.pod, include/Makefile.in, plugins/sample/Makefile.in,
3149         plugins/sample_group/Makefile.in, plugins/sudoers/Makefile.in,
3150         plugins/sudoers/check.c, plugins/sudoers/defaults.c,
3151         plugins/sudoers/gram.c, plugins/sudoers/gram.y,
3152         plugins/sudoers/iolog.c, plugins/sudoers/iolog_path.c,
3153         plugins/sudoers/ldap.c, plugins/sudoers/match.c,
3154         plugins/sudoers/pwutil.c, plugins/sudoers/sudo_nss.c,
3155         plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h,
3156         plugins/sudoers/sudoreplay.c, plugins/sudoers/testsudoers.c,
3157         plugins/sudoers/toke.c, plugins/sudoers/toke.l,
3158         plugins/sudoers/toke_util.c, src/Makefile.in, zlib/Makefile.in:
3159         Update copyright year to 2011
3160         [ac1b45cb1809]
3161
3162         * plugins/sudoers/sudo_nss.c:
3163         When listing, use separate lbufs for the defaults and the privileges
3164         and only print something if the number of privileges is non-zero.
3165         Fixes extraneous Defaults output for "sudo -U unauthorized_user -l".
3166         [d0854d39f8ef]
3167
3168         * plugins/sudoers/ldap.c:
3169         Stash pointer to user group vector in LDAP handle and only reuse the
3170         query if it has not changed. We always allocate a new buffer when
3171         we reset the group vector so a simple pointer check is sufficient.
3172         [88861d4eba69]
3173
3174         * plugins/sudoers/sudo_nss.c:
3175         Check initgroups() return value.
3176         [3bdaf58408a7]
3177
3178         * plugins/sudoers/Makefile.in,
3179         plugins/sudoers/regress/parser/check_fill.c:
3180         Add tests for the fill functions in toke_util.c
3181         [bca587ab4956]
3182
3183 2011-01-19  Todd C. Miller  <Todd.Miller@courtesan.com>
3184
3185         * plugins/sudoers/regress/iolog_path/check_iolog_path.c:
3186         fix copyright year
3187         [e2038cdaf055]
3188
3189         * NEWS:
3190         sync
3191         [56ca5d5eaebe]
3192
3193 2011-01-18  Todd C. Miller  <Todd.Miller@courtesan.com>
3194
3195         * common/term.c:
3196         Clear, don't set, OPOST in c_oflag as was intended in 506ad5ae9b4e.
3197         [b91f266624ec]
3198
3199 2011-01-14  Todd C. Miller  <Todd.Miller@courtesan.com>
3200
3201         * mkpkg, sudo.pp:
3202         Add Requires line for audit-libs >= 1.4 for RHEL5+
3203         [6c02f976171b]
3204
3205         * pp:
3206         sync with git version
3207         [d301c32d5865]
3208
3209 2011-01-13  Todd C. Miller  <Todd.Miller@courtesan.com>
3210
3211         * doc/sudoers.cat, doc/sudoers.man.in, doc/sudoers.pod:
3212         fix typo
3213         [39353f92976f]
3214
3215 2011-01-12  Todd C. Miller  <Todd.Miller@courtesan.com>
3216
3217         * NEWS:
3218         Update for sudo 1.7.4p5
3219         [b444da76901f]
3220
3221         * doc/schema.OpenLDAP, doc/schema.iPlanet:
3222         Add sudoNotBefore and sudoNotAfter attributes as optional attributes
3223         to the sudoRole object class. From Andreas Mueller
3224         [dacfad7e7a95]
3225
3226 2011-01-11  Todd C. Miller  <Todd.Miller@courtesan.com>
3227
3228         * NEWS:
3229         Mention "sudo -g group" password check fix.
3230         [1eb8fb14e53b]
3231
3232         * plugins/sudoers/sudoers.c:
3233         Fix "sudo -g" support in the sudoers module.
3234         [07d1b0ce530e]
3235
3236         * plugins/sudoers/check.c:
3237         If the user is running sudo as himself but as a different group we
3238         need to prompt for a password.
3239         [caf1fcc9a117]
3240
3241 2011-01-10  Todd C. Miller  <Todd.Miller@courtesan.com>
3242
3243         * NEWS, config.h.in, configure, configure.in, doc/sudoers.ldap.cat,
3244         doc/sudoers.ldap.man.in, doc/sudoers.ldap.pod,
3245         plugins/sudoers/ldap.c:
3246         Add support for TIMEOUT in ldap.conf, mapping to the OpenLDAP
3247         LDAP_OPT_TIMEOUT. There is no corresponding option for mozilla-
3248         derived LDAP SDKs but we can pass the timeout parameter to
3249         ldap_search_ext_s() or ldap_search_st() when possible.
3250         [5537049991f7]
3251
3252         * doc/sudoers.ldap.cat, doc/sudoers.ldap.man.in:
3253         regen
3254         [5b361c3c4324]
3255
3256         * NEWS, doc/sudoers.ldap.pod, plugins/sudoers/ldap.c:
3257         Add NETWORK_TIMEOUT as an alias for BIND_TIMELIMIT for compatibility
3258         with OpenLDAP ldap.conf files.
3259         [e97843bd16fb]
3260
3261         * plugins/sudoers/pwutil.c:
3262         If user has no supplementary groups, fall back on checking the group
3263         file expliticly.
3264         [5223ad4eb690]
3265
3266 2011-01-08  Todd C. Miller  <Todd.Miller@courtesan.com>
3267
3268         * plugins/sudoers/toke.h, plugins/sudoers/toke_util.c:
3269         constify
3270         [6e132a4cca61]
3271
3272         * plugins/sudoers/toke.c, plugins/sudoers/toke.h,
3273         plugins/sudoers/toke.l:
3274         Move fill macro to toke.h
3275         [623d430798cf]
3276
3277         * MANIFEST, plugins/sudoers/Makefile.in, plugins/sudoers/toke.c,
3278         plugins/sudoers/toke.h, plugins/sudoers/toke.l,
3279         plugins/sudoers/toke_util.c:
3280         Split tokenizer utility functions out into toke_util.c
3281         [89a97bd51618]
3282
3283         * plugins/sudoers/gram.c, plugins/sudoers/gram.y,
3284         plugins/sudoers/toke.c, plugins/sudoers/toke.l:
3285         ANSIfy
3286         [ca0eba1dfaa9]
3287
3288 2011-01-07  Todd C. Miller  <Todd.Miller@courtesan.com>
3289
3290         * MANIFEST:
3291         sync
3292         [a43f94064bb3]
3293
3294         * plugins/sudoers/Makefile.in:
3295         Add visudo tests to check target
3296         [8c82fb4ed40f]
3297
3298         * compat/Makefile.in, compat/regress/fnmatch/fnm_test.c,
3299         compat/regress/fnmatch/fnm_test.in, compat/regress/glob/files,
3300         compat/regress/glob/globtest.c, compat/regress/glob/globtest.in:
3301         Add my regress tests for fnmatch() and glob() from OpenBSD.
3302         [6e8c1f211723]
3303
3304         * plugins/sudoers/regress/testsudoers/test1.sh,
3305         plugins/sudoers/regress/visudo/test1.ok,
3306         plugins/sudoers/regress/visudo/test1.sh:
3307         Add regress test for command tags using visudo -c
3308         [18b0ef207c0f]
3309
3310         * plugins/sudoers/Makefile.in,
3311         plugins/sudoers/regress/testsudoers/test1.ok,
3312         plugins/sudoers/regress/testsudoers/test1.sh:
3313         Add support for regress tests using testsudoers
3314         [1fa94bd2671b]
3315
3316         * plugins/sudoers/testsudoers.c:
3317         Need to set user_name explicitly due to internal changes made when
3318         converting sudoers to a plugin.
3319         [1fa54e86a364]
3320
3321 2011-01-06  Todd C. Miller  <Todd.Miller@courtesan.com>
3322
3323         * MANIFEST, Makefile.in, common/Makefile.in, compat/Makefile.in,
3324         doc/Makefile.in, include/Makefile.in, plugins/sample/Makefile.in,
3325         plugins/sample_group/Makefile.in, plugins/sudoers/Makefile.in,
3326         plugins/sudoers/regress/iolog_path/check_iolog_path.c,
3327         plugins/sudoers/regress/iolog_path/data, src/Makefile.in,
3328         zlib/Makefile.in:
3329         Add regression tests for iolog_path()
3330         [afa4b416e559]
3331
3332         * Makefile.in, common/Makefile.in, compat/Makefile.in,
3333         doc/Makefile.in, include/Makefile.in, plugins/sample/Makefile.in,
3334         plugins/sample_group/Makefile.in, plugins/sudoers/Makefile.in,
3335         src/Makefile.in, zlib/Makefile.in:
3336         Add support for "make Makefile" to regenerate Makefile from
3337         Makefile.in
3338         [98bd2dda3294]
3339
3340         * plugins/sudoers/iolog_path.c:
3341         Quiest a bogus compiler warning.
3342         [5ff932a7ad67]
3343
3344 2011-01-05  Todd C. Miller  <Todd.Miller@courtesan.com>
3345
3346         * plugins/sudoers/iolog_path.c:
3347         Protect call to setlocale() with HAVE_SETLOCALE
3348         [2c29ee3ccc81]
3349
3350 2011-01-04  Todd C. Miller  <Todd.Miller@courtesan.com>
3351
3352         * MANIFEST:
3353         mkstemps.c was renamed mktemp.c
3354         [ae299c3b1827]
3355
3356         * NEWS:
3357         Update from 1.7 branch
3358         [20817d79717b]
3359
3360         * Makefile.in:
3361         Use "mv -f" when regenerating ChangeLog
3362         [c163635206c6]
3363
3364         * plugins/sudoers/match.c:
3365         Fix NULL dereference with "sudo -g group" when the sudoers rule has
3366         no runas user or group listed. Fixes RedHat bug Bug 667103.
3367         [41a6a1243d9e]
3368
3369 2011-01-03  Todd C. Miller  <Todd.Miller@courtesan.com>
3370
3371         * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod:
3372         Correct the default sudo.conf example
3373         [4e791698cad1]
3374
3375 2010-12-31  Todd C. Miller  <Todd.Miller@courtesan.com>
3376
3377         * plugins/sudoers/iolog_path.c:
3378         Reset slashp if we allocate a new buffer for strftime()
3379         [e491daa4203b]
3380
3381         * plugins/sudoers/iolog_path.c, plugins/sudoers/sudoers.c,
3382         plugins/sudoers/sudoers.h:
3383         Add extra out parameter to expand_iolog_path() to allow the caller
3384         to split the path into dir and file components if needed.
3385         [88346bc5ae39]
3386
3387 2010-12-30  Todd C. Miller  <Todd.Miller@courtesan.com>
3388
3389         * plugins/sudoers/iolog.c:
3390         mkdir_iopath() returns size_t now that it uses strlcpy() and not
3391         snprintf()
3392         [3c4c64d265eb]
3393
3394         * plugins/sudoers/iolog.c, plugins/sudoers/iolog_path.c:
3395         Trim leading slashes from iolog_file and trailing slashes from
3396         iolog_dir
3397         [a803b51f8948]
3398
3399         * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod,
3400         plugins/sudoers/iolog.c, plugins/sudoers/iolog_path.c,
3401         plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h:
3402         Pass a single I/O log file name in command_details instead of
3403         separate dir + file parameters.
3404         [d672a3e46e80]
3405
3406         * plugins/sudoers/sudoreplay.c:
3407         change an error() to errorx()
3408         [8013dcfdd69d]
3409
3410         * plugins/sudoers/iolog.c:
3411         Add missing cwd line to I/O log info file that got dropped when
3412         iolog_deserialize_info() was added
3413         [7cf84f208423]
3414
3415 2010-12-29  Todd C. Miller  <Todd.Miller@courtesan.com>
3416
3417         * plugins/sudoers/iolog.c:
3418         Avoid relying on globals filled in by the sudoers policy module for
3419         the sudoers I/O log module. The I/O log open function now pulls the
3420         bits it needs out of user_info and command_info.
3421         [c02f6951b0cc]
3422
3423         * plugins/sudoers/iolog.c, plugins/sudoers/sudoers.c,
3424         plugins/sudoers/sudoers.h:
3425         If no iolog file is specified by the policy plugin, use io_nextid()
3426         to determine the next file in the sequence.
3427         [faa1130b1020]
3428
3429 2010-12-28  Todd C. Miller  <Todd.Miller@courtesan.com>
3430
3431         * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod:
3432         Document iolog_compress in command_info
3433         [58895c7d12f5]
3434
3435         * plugins/sudoers/iolog.c, plugins/sudoers/sudoers.c:
3436         Add support for the iolog_compress variable in command_info.
3437         [36f13a2fd1c1]
3438
3439         * plugins/sudoers/iolog.c, plugins/sudoers/sudoers.c:
3440         Add sigsetjmp() calls to all plugin entry points just to be safe.
3441         [3fa482355bc4]
3442
3443         * src/sudo.c, src/sudo.h:
3444         Don't need iolog variables in struct command_details, they are for
3445         the I/O log plugins to handle.
3446         [5111579ffd9d]
3447
3448 2010-12-27  Todd C. Miller  <Todd.Miller@courtesan.com>
3449
3450         * doc/sudoers.cat, doc/sudoers.man.in, doc/sudoers.pod:
3451         Document use of mkdtemp() for iolog path teplates
3452         [5db6101408a9]
3453
3454         * doc/sudo.cat, doc/sudo.man.in, doc/sudo_plugin.cat,
3455         doc/sudo_plugin.man.in, doc/sudoers.cat, doc/sudoers.ldap.cat,
3456         doc/sudoers.ldap.man.in, doc/sudoers.man.in, doc/sudoreplay.cat,
3457         doc/sudoreplay.man.in, doc/visudo.cat, doc/visudo.man.in:
3458         regen
3459         [1ee11fd6d4eb]
3460
3461         * doc/sudo_plugin.pod, doc/sudoers.pod:
3462         Document iolog_file and supported escape sequences for sudoers.
3463         Clarify that iolog_file can contain directories.
3464         [da611dedcbdb]
3465
3466         * compat/Makefile.in, configure, configure.in:
3467         Fix building of mkstemps/mkdtemp replacements.
3468         [793a5e303122]
3469
3470         * compat/mkstemps.c, compat/mktemp.c, config.h.in, configure,
3471         configure.in, include/missing.h:
3472         Provide mkdtemp() for systems without it.
3473         [b0527dfa965c]
3474
3475         * plugins/sudoers/iolog_path.c:
3476         Fix typo
3477         [277f6c514cba]
3478
3479         * plugins/sudoers/iolog.c:
3480         Only use mkdtemp() if the path ends in at least 6 Xs since otherwise
3481         glibc mkdtemp() returns EINVAL.
3482         [2e7323b05579]
3483
3484         * plugins/sudoers/Makefile.in, plugins/sudoers/def_data.c,
3485         plugins/sudoers/def_data.h, plugins/sudoers/def_data.in,
3486         plugins/sudoers/defaults.c, plugins/sudoers/iolog.c,
3487         plugins/sudoers/iolog_path.c, plugins/sudoers/plugin_error.c,
3488         plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h:
3489         Allow sudoers to specify the iolog file in addition to the iolog
3490         dir. Add escape sequence support to iolog file and dir: sequence
3491         number, user, group, runas_user, runas_group, hostname and
3492         command in addition to any escape sequence recognized by
3493         strftime(3).
3494         [75cd32ee0435]
3495
3496         * plugins/sudoers/iolog.c:
3497         Add missing sigsetjmp() call in I/O plugin open function. Fixes a
3498         crash when the I/O plugin calls error(), errorx() or log_error().
3499         [1a6718bd817d]
3500
3501 2010-12-21  Todd C. Miller  <Todd.Miller@courtesan.com>
3502
3503         * doc/sudo_plugin.pod, plugins/sudoers/iolog.c,
3504         plugins/sudoers/sudoers.c:
3505         Give the policy module fine-grained control over what the I/O plugin
3506         logs.
3507         [d29784fd2a66]
3508
3509         * common/term.c:
3510         Clear OPOST from c_oflag like we used to. Fixes screen-based
3511         editors such as vi.
3512         [506ad5ae9b4e]
3513
3514         * doc/sudoers.pod:
3515         Clarify umask option description. From Reuben Thomas.
3516         [1294ac84222b]
3517
3518 2010-12-20  Todd C. Miller  <Todd.Miller@courtesan.com>
3519
3520         * doc/sudoers.ldap.pod, plugins/sudoers/ldap.c:
3521         Pick last match in LDAP sudoers too
3522         [fbfd8e85703b]
3523
3524         * doc/sudo_plugin.pod:
3525         Document iolog_file, iolog_dir and use_pty
3526         [26120a59c20e]
3527
3528         * plugins/sample/sample_plugin.c, plugins/sudoers/iolog.c,
3529         plugins/sudoers/sudoers.c:
3530         Adapt plugins to version I/O logging ABI 1.1
3531         [880dd64bc1e8]
3532
3533         * src/exec.c, src/sudo.h:
3534         Add use_pty command_info flag for policies to indicate that a pty
3535         should be allocated even if no I/O logging is performed.
3536         [e7b167f8a6e5]
3537
3538         * src/sudo.c:
3539         Add remaining plugin convenience functions
3540         [ffeaf96da031]
3541
3542         * include/sudo_plugin.h, src/sudo.c, src/sudo.h,
3543         src/sudo_plugin_int.h:
3544         Change I/O log API to pass in command info to the I/O log open
3545         function. Add iolog_file and iolog_dir parameters to command info.
3546         This allows the policy plugin to specify the I/O log pathname. Add
3547         convenience functions for calling plugin functions that handle ABI
3548         backwards compatibility.
3549         [9b81dce76ce5]
3550
3551         * compat/dlopen.c:
3552         Remove useless cast
3553         [7cecce969739]
3554
3555 2010-12-17  Todd C. Miller  <Todd.Miller@courtesan.com>
3556
3557         * configure, configure.in:
3558         Bump version to 1.8.0b3
3559         [1dc9f040aae0]
3560
3561 2010-12-13  Todd C. Miller  <Todd.Miller@courtesan.com>
3562
3563         * configure.in:
3564         Remove extraneous newline
3565         [71c94551eea5]
3566
3567 2010-12-10  Todd C. Miller  <Todd.Miller@courtesan.com>
3568
3569         * doc/sudoers.pod, plugins/sudoers/def_data.c,
3570         plugins/sudoers/def_data.h, plugins/sudoers/def_data.in,
3571         plugins/sudoers/defaults.c, plugins/sudoers/iolog.c:
3572         Make I/O log dir configurable.
3573         [99b576667a38]
3574
3575         * aclocal.m4, configure, configure.in, doc/sudoers.pod:
3576         Rename io_logdir to iolog_dir
3577         [0731662acc8d]
3578
3579 2010-12-07  Todd C. Miller  <Todd.Miller@courtesan.com>
3580
3581         * pp:
3582         Add missing '*' that prevented the generic ELF case from matching.
3583         [be77ca26bfb2]
3584
3585         * pp:
3586         If file(1) can't identify the ELF binary type, try readelf(1).
3587         [38a18d32a9e3]
3588
3589 2010-11-30  Todd C. Miller  <Todd.Miller@courtesan.com>
3590
3591         * plugins/sudoers/auth/kerb4.c, plugins/sudoers/check.c,
3592         plugins/sudoers/env.c, plugins/sudoers/pwutil.c,
3593         plugins/sudoers/sudoers.c, src/sudo.c:
3594         Use %u to print uid/gid, not %lu and adjust casts to match.
3595         [03c43b8749cf]
3596
3597         * doc/sudoers.ldap.pod:
3598         Clarify ordering of entries and attributes.
3599         [924e2a6bb603]
3600
3601         * doc/sudoers.ldap.pod:
3602         Fix typo and editing goof.
3603         [79dc7ccd85a8]
3604
3605         * doc/schema.ActiveDirectory, doc/schema.OpenLDAP, doc/schema.iPlanet,
3606         doc/sudoers.ldap.pod:
3607         Merge in ordered LDAP entry support from Andreas Mueller.
3608         [ea5885989bad]
3609
3610         * plugins/sudoers/ldap.c:
3611         Make sure we don't dereference a NULL handle.
3612         [1a9f9ee15371]
3613
3614 2010-11-24  Todd C. Miller  <Todd.Miller@courtesan.com>
3615
3616         * pp:
3617         Add support for RHEL 6 file modes that include a trailing dot on
3618         files with an SELinux security context
3619         [dc09be959547]
3620
3621 2010-11-23  Todd C. Miller  <Todd.Miller@courtesan.com>
3622
3623         * src/sudo.c:
3624         exec_setup() does not need to setuid(0), the Ubuntu issue was in the
3625         sudoers module.
3626         [d6dd99fc6062]
3627
3628         * plugins/sudoers/sudoers.c:
3629         create_admin_success_flag() should use restore_perms() rather than
3630         set_perms() to restore the uid.
3631         [eba7a91c1f57]
3632
3633         * src/sudo.c:
3634         In exec_setup() call setuid(0) to make certain the subsequent uid
3635         and gid changes will succeed. Fixes a problem on Ubuntu.
3636         [c5d32abf0645]
3637
3638         * src/sudo_edit.c:
3639         Error out if we cannot change to root's uid so we catch the failure
3640         early.
3641         [7a2e7f8f2c80]
3642
3643 2010-11-22  Todd C. Miller  <Todd.Miller@courtesan.com>
3644
3645         * doc/sudoers.pod:
3646         fix typo; from Michael T Hunter
3647         [a574a9d0db5b]
3648
3649         * plugins/sudoers/match.c:
3650         In sudoedit mode, assume command line arguments are paths and pass
3651         FNM_PATHNAME to fnmatch().
3652         [ce0abff8ce9f]
3653
3654 2010-11-20  Todd C. Miller  <Todd.Miller@courtesan.com>
3655
3656         * configure, configure.in:
3657         Add workaround for an error in sys/types.h on HP-UX 11.23 when large
3658         file support is enabled. Defining _XOPEN_SOURCE_EXTENDED avoids the
3659         broken bits of the header file.
3660         [e337217f097a]
3661
3662         * aclocal.m4:
3663         Fix SUDO_MAILDIR usage of AC_LANG_PROGRAM
3664         [fbbcee28961f]
3665
3666         * sudo.pp:
3667         For Tru64, strip off beta version.
3668         [eeccd762df5e]
3669
3670         * MANIFEST, plugins/sudoers/testsudoers.c,
3671         plugins/sudoers/tsgetgrpw.c, plugins/sudoers/tsgetgrpw.h:
3672         Avoid conflicts with system definitions in grp.h and pwd.h
3673         [b219ffe1da09]
3674
3675         * zlib/gzguts.h:
3676         Include stdio.h after zlib.h, not before. We need the large file
3677         defines to come first.
3678         [21d6df39790f]
3679
3680 2010-11-19  Todd C. Miller  <Todd.Miller@courtesan.com>
3681
3682         * doc/sudoers.ldap.cat, doc/sudoers.ldap.man.in:
3683         regen
3684         [3ff8750d0aac]
3685
3686         * Makefile.in:
3687         Don't clean ChangeLog
3688         [ab0d30d289d4]
3689
3690         * plugins/sudoers/testsudoers.c, plugins/sudoers/visudo.c:
3691         Add prototype for cleanup()
3692         [75626fd3769a]
3693
3694 2010-11-18  Todd C. Miller  <Todd.Miller@courtesan.com>
3695
3696         * plugins/sudoers/group_plugin.c:
3697         Avoid deferencing group_plugin if it is NULL in
3698         group_plugin_query(). This should not happen.
3699         [4f2933c8da7e]
3700
3701         * plugins/sudoers/group_plugin.c:
3702         group plugin init function return TRUE when successful
3703         [198024477030]
3704
3705 2010-11-17  Todd C. Miller  <Todd.Miller@courtesan.com>
3706
3707         * plugins/sudoers/ldap.c:
3708         Enlarge the array of entry wrappers int blocks of 100 entries to
3709         save on allocation time. From Andreas Mueller
3710         [375c916bb03b]
3711
3712         * plugins/sudoers/ldap.c:
3713         Add back call to sudo_ldap_timefilter() in sudo_ldap_build_pass2()
3714         that was mistakenly dropped.
3715         [1555f5bc132d]
3716
3717 2010-11-16  Todd C. Miller  <Todd.Miller@courtesan.com>
3718
3719         * doc/TROUBLESHOOTING:
3720         Mention that sudo needs "ar" to build.
3721         [65582ace2d09]
3722
3723         * configure, configure.in:
3724         Fail with a more useful error if "ar" is not found.
3725         [d1cb83719c17]
3726
3727 2010-11-14  Todd C. Miller  <Todd.Miller@courtesan.com>
3728
3729         * plugins/sudoers/ldap.c:
3730         Merge in ordered LDAP entry support from Andreas Mueller and add
3731         local changes from the 1.7 branch.
3732         [bca29e461618]
3733
3734 2010-11-12  Todd C. Miller  <Todd.Miller@courtesan.com>
3735
3736         * doc/schema.ActiveDirectory, doc/schema.OpenLDAP, doc/schema.iPlanet,
3737         doc/sudoers.ldap.pod, plugins/sudoers/ldap.c:
3738         Add timed entry support from Andreas Mueller.
3739         [e18d1df46a8d]
3740
3741         * plugins/sudoers/group_plugin.c:
3742         Don't try to unload if group_plugin is NULL. Don't call dlclose() if
3743         group_handle is NULL
3744         [de2273da37d5]
3745
3746         * plugins/sudoers/sudoers.h:
3747         It is now plugin_cleanup(), not cleanup()
3748         [da62a4e1a78c]
3749
3750         * plugins/sudoers/logging.c, plugins/sudoers/sudoers.c:
3751         Call plugin_cleanup(), not cleanup()
3752         [e800ad8b33ad]
3753
3754 2010-11-11  Todd C. Miller  <Todd.Miller@courtesan.com>
3755
3756         * plugins/sudoers/ldap.c:
3757         Use efree() not free() and remove malloc.h include since we never
3758         directly call malloc() or free().
3759         [107fffd134bb]
3760
3761 2010-11-09  Todd C. Miller  <Todd.Miller@courtesan.com>
3762
3763         * sudo.pp:
3764         set PSTAMP for Solaris and move the backend-specific bits to their
3765         own %if [xxx] %endif blocks in %set.
3766         [a94ebe8920c1]
3767
3768         * pp:
3769         sync with git repo
3770         [75ff509696b4]
3771
3772         * configure, configure.in:
3773         Only substitute file zlib files when using the builtin zlib
3774         [6c8145b2deb4]
3775
3776         * common/Makefile.in, compat/Makefile.in, plugins/sample/Makefile.in,
3777         plugins/sample_group/Makefile.in, plugins/sudoers/Makefile.in,
3778         src/Makefile.in, zlib/Makefile.in:
3779         Give up on using VPATH to find sources as it is implemented
3780         inconsistenly in different versions of make.
3781         [60517c69aaee]
3782
3783         * plugins/sudoers/Makefile.in, plugins/sudoers/getdate.c,
3784         plugins/sudoers/gram.c, plugins/sudoers/toke.c:
3785         Include config.h before any other includes to make sure we get the
3786         right value for _FILE_OFFSET_BITS.
3787         [8fb007ca832e]
3788
3789         * MANIFEST:
3790         Add zlib
3791         [04a3e23dfaa9]
3792
3793         * zlib/Makefile.in:
3794         Add missing targets
3795         [40e45a177168]
3796
3797         * src/Makefile.in:
3798         g/c unused $(GENERATED)
3799         [c8758068c1bc]
3800
3801 2010-11-08  Todd C. Miller  <Todd.Miller@courtesan.com>
3802
3803         * plugins/sudoers/group_plugin.c:
3804         Zero out group_plugin on unload just to be safe.
3805         [0b10f4d101ca]
3806
3807         * plugins/sudoers/group_plugin.c:
3808         Unload group plugin if its init function fails.
3809         [6552cdac4b7c]
3810
3811         * src/sudo.c:
3812         Only chdir to cwd if it is different from the current cwd or there
3813         is a new root (chroot).
3814         [b8203e875e84]
3815
3816         * configure, configure.in, doc/sudo.cat, doc/sudo.man.in,
3817         doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudoers.ldap.cat,
3818         doc/sudoers.ldap.man.in, doc/visudo.cat, doc/visudo.man.in:
3819         Bump version to 1.8.0b2
3820         [6dadeb75a878]
3821
3822 2010-10-28  Todd C. Miller  <Todd.Miller@courtesan.com>
3823
3824         * INSTALL:
3825         Better --enable-zlib description
3826         [e0da54fa59a6]
3827
3828         * mkpkg:
3829         Use system zlib on Linux Let configure decide on Solaris For all
3830         others, use builtin zlib
3831         [3d52eddb523c]
3832
3833         * zlib/zconf.h.in:
3834         Add large file support.
3835         [bec01215270d]
3836
3837         * config.h.in:
3838         Add large file support.
3839         [244e95b034ec]
3840
3841         * Makefile.in, configure, configure.in, doc/LICENSE, doc/license.pod,
3842         zlib/Makefile.in, zlib/adler32.c, zlib/compress.c, zlib/crc32.c,
3843         zlib/crc32.h, zlib/deflate.c, zlib/deflate.h, zlib/gzclose.c,
3844         zlib/gzguts.h, zlib/gzlib.c, zlib/gzread.c, zlib/gzwrite.c,
3845         zlib/infback.c, zlib/inffast.c, zlib/inffast.h, zlib/inffixed.h,
3846         zlib/inflate.c, zlib/inflate.h, zlib/inftrees.c, zlib/inftrees.h,
3847         zlib/trees.c, zlib/trees.h, zlib/uncompr.c, zlib/zconf.h.in,
3848         zlib/zlib.h, zlib/zutil.c, zlib/zutil.h:
3849         Add local copy of zlib for systems that lack it.
3850         [7542ca465c5a]
3851
3852 2010-10-15  Todd C. Miller  <Todd.Miller@courtesan.com>
3853
3854         * src/exec.c:
3855         If perform_io() fails, kill the child before exiting so it doesn't
3856         complain about connection reset. We can get an I/O error if, for
3857         example, and we get EIO reading from stdin.
3858         [e59a05fa729f]
3859
3860 2010-10-12  Todd C. Miller  <Todd.Miller@courtesan.com>
3861
3862         * plugins/sudoers/sudoers.c, src/sudo.c:
3863         Fix complilation on systems with set_auth_parameters() Sprinkle
3864         volatile to quiet warnings from gcc 2.8.0
3865         [a34c2b924ba7]
3866
3867         * compat/dlfcn.h, compat/dlopen.c:
3868         Avoid potential namespace issues with dlopen() emulation.
3869         [aedfababd6ca]
3870
3871         * MANIFEST:
3872         sync
3873         [6afb97e6d308]
3874
3875         * plugins/sudoers/interfaces.c:
3876         Use INADDR_NONE instead of casting -1 to in_addr_t (which may not
3877         exist).
3878         [ddfca5af1a36]
3879
3880         * Makefile.in:
3881         Mark ChangeLog as PHONY Don't overwrite ChangeLog if we can't run hg
3882         [e9d04bfa4505]
3883
3884         * configure, configure.in:
3885         HP-UX 10.20 libc has an incompatible getline
3886         [2e7bc202e78d]
3887
3888         * plugins/sudoers/visudo.c:
3889         Quiet an HP-UX compiler warning.
3890         [55b9d587ac8c]
3891
3892         * configure, configure.in:
3893         Check for vi even with --with-editor specified; the sample plugin
3894         needs it.
3895         [94dfc3643f76]
3896
3897 2010-10-11  Todd C. Miller  <Todd.Miller@courtesan.com>
3898
3899         * compat/dlopen.c:
3900         Fix remaining syntax errors.
3901         [9d729b5b577e]
3902
3903         * src/Makefile.in:
3904         sudo binary depends on the libtool-generated libs
3905         [9e6148406adb]
3906
3907         * plugins/sudoers/group_plugin.c, src/load_plugins.c:
3908         Use HAVE_DLOPEN instead of HAVE_DLFCN_H when determining whether to
3909         include the local or system dlfcn.h
3910         [68cfe4c1089b]
3911
3912         * pp:
3913         Don't use run_as_superuser=false on HP-UX
3914         [532242370b09]
3915
3916         * src/net_ifs.c:
3917         Use memset() instead of zero_bytes() since we don't include
3918         sudoers.h
3919         [a187c18c2472]
3920
3921         * plugins/sudoers/interfaces.c:
3922         Fix pasto; AF_INET not AF_INET6
3923         [2d2e9d7dc6f9]
3924
3925         * compat/dlopen.c:
3926         Actually call shl_load()
3927         [ed8153b8a3cd]
3928
3929         * pp:
3930         Update from git repo. Debian: version numbers now compliant with
3931         policy section 5.6.12 HP-UX: minimal changes needed to work on HP-UX
3932         10.20
3933         [ecf2692bceeb]
3934
3935         * configure, configure.in:
3936         Fix dlopen() detection for systems where dlopen() is in a separate
3937         library.
3938         [fa6b175582b6]
3939
3940         * plugins/sudoers/auth/pam.c:
3941         If pam_acct_mgmt() returns PAM_AUTH_ERR print a (hopefully) more
3942         useful message and return AUTH_FATAL so sudo does not keep trying to
3943         validate the user.
3944         [1be8857e5291]
3945
3946         * src/preload.c:
3947         sudo_preload_table is an array
3948         [b7704e72a9da]
3949
3950         * compat/dlopen.c:
3951         Quiet a compiler warning and fix sudo_preload_table external
3952         definition.
3953         [8234987664cc]
3954
3955         * compat/dlfcn.h:
3956         Fix multiple inclusion guard in dlfcn.h and fix dlerror() prototype.
3957         [8bab6a4053cc]
3958
3959         * plugins/sudoers/group_plugin.c:
3960         Make this compile correctly when no dlopen is available.
3961         [57643879bd2b]
3962
3963 2010-10-07  Todd C. Miller  <Todd.Miller@courtesan.com>
3964
3965         * plugins/sudoers/check.c:
3966         Having a timestamp file defined is no longer indicative of tty
3967         tickets being enabled. Check def_tty_tickets directly.
3968         [efcc11ad157f]
3969
3970         * src/exec_pty.c, src/sudo.h, src/ttysize.c:
3971         Fix TCGETWINSZ compat.
3972         [da3a8b17cf7a]
3973
3974 2010-10-02  Todd C. Miller  <Todd.Miller@courtesan.com>
3975
3976         * src/exec_pty.c, src/ttysize.c:
3977         Prefer newer TIOCGWINSZ ioctl to old TIOCGSIZE
3978         [926492dd10a6]
3979
3980 2010-10-01  Todd C. Miller  <Todd.Miller@courtesan.com>
3981
3982         * plugins/sudoers/sudoers.c, src/sudo.c:
3983         Move set_project() from sudoers module into sudo proper.
3984         [beabafac03b4]
3985
3986         * configure, configure.in:
3987         Fix typo and regenerate
3988         [4a3caf4234f3]
3989
3990         * plugins/sudoers/ldap.c:
3991         When iterating over returned LDAP entries, keep looking at remaining
3992         matches even if we have a positive match. This catches negative
3993         matches that may exist in other entries and more closely match the
3994         sudoers file behavior.
3995         [f47db6e609b0]
3996
3997         * pp:
3998         Add support for multiple package instances on Solaris.
3999         [7f2a8b942545]
4000
4001         * src/exec.c:
4002         Add missing signal_pipe[0] to fdsr for the non-pty case.
4003         [79d01e11b19c]
4004
4005         * mkpkg:
4006         Add --with-project for Solaris
4007         [ffa4c2bb93f7]
4008
4009         * README:
4010         Need ar and ranlib too
4011         [5c2f679172ef]
4012
4013 2010-09-27  Todd C. Miller  <Todd.Miller@courtesan.com>
4014
4015         * plugins/sudoers/env.c:
4016         Preserve ODMDIR environment variable by default on AIX.
4017         [bd47cb1e804f]
4018
4019 2010-09-26  Todd C. Miller  <Todd.Miller@courtesan.com>
4020
4021         * Makefile.in, compat/Makefile.in, compat/dlfcn.h, compat/dlopen.c,
4022         config.h.in, configure, configure.in, plugins/sample/Makefile.in,
4023         plugins/sample_group/Makefile.in, plugins/sudoers/Makefile.in,
4024         plugins/sudoers/group_plugin.c, plugins/sudoers/plugin_error.c,
4025         plugins/sudoers/sudoers.c, src/Makefile.in, src/load_plugins.c,
4026         src/preload.c:
4027         Add dlopen() emulation for systems without it. For HP-UX 10, emulate
4028         using shl_load(). For others, link sudoers plugin statically and use
4029         a lookup table to emulate dlsym().
4030         [e92edfb3c642]
4031
4032 2010-09-24  Todd C. Miller  <Todd.Miller@courtesan.com>
4033
4034         * compat/fnmatch.c, compat/glob.c, compat/mksiglist.c,
4035         compat/nanosleep.c, compat/utimes.c:
4036         When including compat headers, use the compat dir as part of the
4037         path so we are sure to get the correct header.
4038         [6c2a45da6af5]
4039
4040 2010-09-21  Todd C. Miller  <Todd.Miller@courtesan.com>
4041
4042         * plugins/sudoers/linux_audit.c:
4043         Ignore ECONNREFUSED from audit_log_user_command() which will occur
4044         if auditd is not running.
4045         [d314fe4c8d03]
4046
4047 2010-09-17  Todd C. Miller  <Todd.Miller@courtesan.com>
4048
4049         * pp:
4050         Sync with git version
4051         [1c0357744222]
4052
4053 2010-09-16  Todd C. Miller  <Todd.Miller@courtesan.com>
4054
4055         * common/fileops.c, plugins/sudoers/defaults.c:
4056         Cast isblank argument to unsigned char.
4057         [c822dbb3ca54]
4058
4059 2010-09-14  Todd C. Miller  <Todd.Miller@courtesan.com>
4060
4061         * INSTALL, config.h.in, configure, configure.in, doc/sudoers.cat,
4062         doc/sudoers.man.in, doc/sudoers.pod, plugins/sudoers/defaults.c:
4063         Implement --with-umask-override configure flag.
4064         [863e3047df22]
4065
4066         * plugins/sudoers/env.c:
4067         Take MODE_LOGIN_SHELL into account when initially setting reset_home
4068         instead of special-casing it later.
4069         [5d6b16480fd6]
4070
4071         * plugins/sudoers/sudoers.c:
4072         In login mode, make a copy of the runas user's pw_shell for
4073         NewArgv[0] because 1) we modify it and 2) it will runas_pw gets
4074         freed before exec.
4075         [1d1ccb568dfa]
4076
4077         * plugins/sudoers/env.c:
4078         Reset HOME for "sudo -i" even if HOME was listed in env_keep.
4079         [c1c1c65a2d63]
4080
4081         * src/sudo.c:
4082         Use SIG_SETMASK when resetting signal mask instead of SIG_UNBLOCK.
4083         [7443454e5f88]
4084
4085         * src/sudo.c:
4086         Reset signal mask at sudo startup time; we need to be able to rely
4087         on normal signal delivery to control the child process.
4088         [95800163ff94]
4089
4090 2010-09-13  Todd C. Miller  <Todd.Miller@courtesan.com>
4091
4092         * install-sh:
4093         Use sed instead of expr to split a flag from its argument. Fixes a
4094         problem with expr interpreting its arguments as a flag when they
4095         start with a dash.
4096         [736065e14301]
4097
4098         * common/lbuf.c:
4099         Do not need sys/time.h after all
4100         [91f6f668ccda]
4101
4102         * common/lbuf.c:
4103         Include sys/time.h for utimes() and struct timeval. No longer need
4104         ioctl.h or termios.h
4105         [2d75273d3213]
4106
4107         * compat/snprintf.c:
4108         Quiet bogus compiler warnings.
4109         [fe252e1968f5]
4110
4111         * include/missing.h:
4112         Declare innetgr() for HP-UX which is missing a declaration. Declare
4113         domainname() for HP-UX and Solaris which are missing a declaration.
4114         [b37c50751138]
4115
4116         * plugins/sudoers/bsm_audit.c:
4117         Use __sun for consistency with the rest of the sources.
4118         [6b086b61ccb6]
4119
4120         * plugins/sudoers/group_plugin.c:
4121         Quiet a bogus compiler warning.
4122         [ebc069842c4a]
4123
4124         * plugins/sudoers/pwutil.c:
4125         Don't try to delref a NULL group.
4126         [f6ff0838be21]
4127
4128         * common/alloc.c, common/lbuf.c:
4129         Include memory.h on systems that need it.
4130         [4e676da81c6f]
4131
4132 2010-09-11  Todd C. Miller  <Todd.Miller@courtesan.com>
4133
4134         * src/exec.c:
4135         Quiet gcc warnings on glibc systems that use warn_unused_result for
4136         write(2).
4137         [0532da0b7cf7]
4138
4139         * doc/sudoers.cat, doc/sudoers.man.in, doc/sudoers.pod:
4140         sudo_plugin is in section 8; from Ted Percival
4141         [b4506a0de87e]
4142
4143         * plugins/sudoers/Makefile.in:
4144         testsudoers depends on libsudoers.la, not sudoreplay
4145         [cdb1cc3bf06a]
4146
4147 2010-09-10  Todd C. Miller  <Todd.Miller@courtesan.com>
4148
4149         * src/exec.c:
4150         Read as many signals on the signal pipe as we can before returning.
4151         [b181671da047]
4152
4153         * src/exec.c, src/exec_pty.c, src/sudo_exec.h:
4154         Instead of using a array to store received signals, open a pipe and
4155         have the signal handler write the signal number to one end and
4156         select() on the other end. This makes it possible to handle signals
4157         similar to I/O without race conditions.
4158         [ee84d65c16b6]
4159
4160 2010-09-09  Todd C. Miller  <Todd.Miller@courtesan.com>
4161
4162         * doc/visudo.pod, plugins/sudoers/visudo.c:
4163         Make "visudo -c -f -" check the standard input.
4164         [195a3d2a9a26]
4165
4166         * doc/sudoers.pod:
4167         set_home and always_set_home have an effect if HOME is present in
4168         the env_keep list.
4169         [159d0b9dc5c8]
4170
4171         * plugins/sudoers/env.c:
4172         Make -H flag work when HOME is listed in env_keep. Also makes
4173         "set_home" and "always_set_home" override override HOME in env_keep.
4174         [a3e5b966193f]
4175
4176 2010-09-08  Todd C. Miller  <Todd.Miller@courtesan.com>
4177
4178         * plugins/sudoers/Makefile.in, plugins/sudoers/interfaces.c,
4179         plugins/sudoers/interfaces.h, plugins/sudoers/match.c,
4180         plugins/sudoers/sudoers.c, plugins/sudoers/testsudoers.c,
4181         plugins/sudoers/visudo.c, src/net_ifs.c:
4182         Convert sudoers plugin to use interface list passed in settings.
4183         [87d9b5f4f586]
4184
4185         * doc/sudo_plugin.pod, src/Makefile.in, src/net_ifs.c,
4186         src/parse_args.c, src/sudo.h:
4187         Query local network interfaces in the main sudo driver and pass to
4188         the plugin as "network_addrs" in the settings list.
4189         [7f35bcfe77a7]
4190
4191         * plugins/sudoers/bsm_audit.c:
4192         Solaris BSM audit return EINVAL when auditing is not enabled,
4193         whereas OpenBSM returns ENOSYS.
4194         [411b980ec58b]
4195
4196 2010-09-07  Todd C. Miller  <Todd.Miller@courtesan.com>
4197
4198         * compat/fnmatch.c:
4199         missing.h should come before most local includes
4200         [53921a7b8b5b]
4201
4202         * plugins/sudoers/sudoreplay.c:
4203         missing.h should come before most local includes
4204         [e9abb0db1aac]
4205
4206         * plugins/sudoers/sudoers.h:
4207         Make local includes consistent; use double quotes for local includes
4208         except for generated ones where we use angle brackets.
4209         [09de4faa9547]
4210
4211         * plugins/sudoers/sudoers.c:
4212         Always fill in NewArgv for audit code.
4213         [7c3aca60519f]
4214
4215         * plugins/sudoers/toke.c, plugins/sudoers/toke.l:
4216         Add missing LOG_INPUT/LOG_OUTPUT support in the lexer.
4217         [007cf6560f92]
4218
4219         * common/alloc.c, common/atobool.c, common/fileops.c,
4220         common/fmt_string.c, common/lbuf.c, common/list.c, common/term.c,
4221         common/zero_bytes.c, compat/closefrom.c, compat/fnmatch.c,
4222         compat/getcwd.c, compat/getgrouplist.c, compat/getline.c,
4223         compat/getprogname.c, compat/glob.c, compat/isblank.c,
4224         compat/memrchr.c, compat/mksiglist.c, compat/mkstemps.c,
4225         compat/nanosleep.c, compat/setenv.c, compat/snprintf.c,
4226         compat/strlcat.c, compat/strlcpy.c, compat/strsignal.c,
4227         compat/unsetenv.c, compat/utimes.c, include/compat.h,
4228         plugins/sample/sample_plugin.c, plugins/sample_group/getgrent.c,
4229         plugins/sample_group/plugin_test.c,
4230         plugins/sample_group/sample_group.c, plugins/sudoers/audit.c,
4231         plugins/sudoers/auth/afs.c, plugins/sudoers/boottime.c,
4232         plugins/sudoers/getdate.c, plugins/sudoers/getdate.y,
4233         plugins/sudoers/linux_audit.c, plugins/sudoers/match.c,
4234         plugins/sudoers/plugin_error.c, plugins/sudoers/sudoreplay.c,
4235         plugins/sudoers/timestr.c, src/error.c, src/sesh.c, src/sudo.h,
4236         src/sudo_noexec.c, src/ttysize.c:
4237         Make local includes consistent; use double quotes for local includes
4238         except for generated ones where we use angle brackets. Also g/c
4239         unused compat.h.
4240         [e57070dc8f04]
4241
4242 2010-09-06  Todd C. Miller  <Todd.Miller@courtesan.com>
4243
4244         * plugins/sudoers/match.c:
4245         When matching the runas user and runas group (-u and -g command line
4246         options), keep track of runas group and runas user matches
4247         separately. Only return a positive match if we have a match for
4248         both runas user and runas group (if specified).
4249         [815219e04cc8]
4250
4251 2010-09-04  Todd C. Miller  <Todd.Miller@courtesan.com>
4252
4253         * doc/sudoers.ldap.pod, plugins/sudoers/ldap.c:
4254         Add support for multiple URI lines by joining the contents and
4255         passing the result to ldap_initialize.
4256         [a47cae3b72e8]
4257
4258         * plugins/sudoers/ldap.c, plugins/sudoers/parse.c:
4259         Do not return -1 on error from the display functions; the caller
4260         expects a return value >= 0.
4261         [101456a7dd00]
4262
4263         * plugins/sudoers/sudoers.c:
4264         Do not set both MODE_EDIT and MODE_RUN
4265         [8faa36694d54]
4266
4267 2010-09-03  Todd C. Miller  <Todd.Miller@courtesan.com>
4268
4269         * include/missing.h:
4270         Move includes to the top of the file.
4271         [a51436798e8c]
4272
4273 2010-08-30  Todd C. Miller  <Todd.Miller@courtesan.com>
4274
4275         * plugins/sudoers/Makefile.in:
4276         Add missing definition of timedir
4277         [458a749c2c5e]
4278
4279         * compat/fnmatch.c, compat/getprogname.c, compat/isblank.c,
4280         compat/mksiglist.c, compat/strsignal.c,
4281         plugins/sudoers/plugin_error.c, src/error.c, src/sudo_noexec.c:
4282         Add #include of sys/types.h for .c files that include missing.h to
4283         be sure that size_t and ssize_t are defined.
4284         [08e3132dbf4f]
4285
4286         * plugins/sudoers/Makefile.in:
4287         Install sudoers file from the build dir not hte src dir.
4288         [ca89e962dbf4]
4289
4290 2010-08-26  Todd C. Miller  <Todd.Miller@courtesan.com>
4291
4292         * plugins/sudoers/set_perms.c:
4293         If runas_pw changes, reset the stashed runas aux group vector.
4294         Otherwise, if runas_default is set in a per-command Defaults
4295         statement, the command runs with root's aux group vector (i.e. the
4296         one that was used when locating the command).
4297         [24f9107cedd2]
4298
4299         * plugins/sudoers/Makefile.in:
4300         Add target to generate sudoers file Remove generated sudoers file as
4301         part of distclean
4302         [fb7422e90f03]
4303
4304 2010-08-24  Todd C. Miller  <Todd.Miller@courtesan.com>
4305
4306         * src/exec.c:
4307         When not logging I/O install a handler for SIGCONT and deliver it to
4308         the command upon resume. Fixes bugzilla #431
4309         [495dce52a5aa]
4310
4311 2010-08-21  Todd C. Miller  <Todd.Miller@courtesan.com>
4312
4313         * plugins/sudoers/sudoers.h:
4314         g/c unused auth_pw extern definition
4315         [40eb7477ba17]
4316
4317         * plugins/sudoers/check.c, plugins/sudoers/sudoers.c:
4318         Move get_auth() into check.c where it is actually used.
4319         [e31db0ce3a61]
4320
4321 2010-08-20  Todd C. Miller  <Todd.Miller@courtesan.com>
4322
4323         * common/lbuf.c:
4324         Convert a remaining puts() and putchar() to use the output function.
4325         [d69e363a506b]
4326
4327         * plugins/sudoers/plugin_error.c:
4328         Plug memory leak
4329         [68895469ea8d]
4330
4331 2010-08-18  Todd C. Miller  <Todd.Miller@courtesan.com>
4332
4333         * plugins/sudoers/env.c:
4334         Set dupcheck to TRUE when setting new HOME value if !env_reset but
4335         always_set_home is true. Prevents a duplicate HOME in the
4336         environment (old value plus the new one) introduced in f421f8827340.
4337         [9ca19183794f]
4338
4339         * configure, configure.in, plugins/sudoers/sudoers,
4340         plugins/sudoers/sudoers.in:
4341         Substitute sysconfdir in the installed sudoers file to get the
4342         correct path for sudoers.d.
4343         [86072b6cd55d]
4344
4345 2010-08-17  Todd C. Miller  <Todd.Miller@courtesan.com>
4346
4347         * src/get_pty.c:
4348         Fix typo that prevented compilation on Irix; Friedrich Haubensak
4349         [b48be51b65fc]
4350
4351 2010-08-16  Todd C. Miller  <Todd.Miller@courtesan.com>
4352
4353         * MANIFEST, common/Makefile.in, common/aix.c, common/alloc.c,
4354         common/atobool.c, common/fileops.c, common/fmt_string.c,
4355         common/lbuf.c, common/list.c, common/term.c, common/zero_bytes.c,
4356         compat/Makefile.in, compat/closefrom.c, compat/fnmatch.c,
4357         compat/getcwd.c, compat/getgrouplist.c, compat/getline.c,
4358         compat/getprogname.c, compat/glob.c, compat/isblank.c,
4359         compat/memrchr.c, compat/mksiglist.c, compat/mkstemps.c,
4360         compat/nanosleep.c, compat/setenv.c, compat/snprintf.c,
4361         compat/strlcat.c, compat/strlcpy.c, compat/strsignal.c,
4362         compat/unsetenv.c, compat/utimes.c, include/compat.h,
4363         include/missing.h, plugins/sample/sample_plugin.c,
4364         plugins/sample_group/getgrent.c,
4365         plugins/sample_group/sample_group.c, plugins/sudoers/Makefile.in,
4366         plugins/sudoers/audit.c, plugins/sudoers/boottime.c,
4367         plugins/sudoers/getdate.c, plugins/sudoers/getdate.y,
4368         plugins/sudoers/linux_audit.c, plugins/sudoers/plugin_error.c,
4369         plugins/sudoers/sudoers.h, plugins/sudoers/sudoreplay.c,
4370         plugins/sudoers/timestr.c, src/Makefile.in, src/error.c, src/sesh.c,
4371         src/sudo.h, src/sudo_noexec.c, src/ttysize.c:
4372         Merge compat.h and missing.h into missing.h
4373         [572909ae9716]
4374
4375 2010-08-14  Todd C. Miller  <Todd.Miller@courtesan.com>
4376
4377         * plugins/sudoers/auth/pam.c:
4378         If the user hits ^C while a password is being read, error out before
4379         reading any further passwords in the pam conversation function.
4380         Otherwise, if multiple PAM auth methods are required, the user will
4381         have to hit ^C for each one.
4382         [23782631748c]
4383
4384 2010-08-12  Todd C. Miller  <Todd.Miller@courtesan.com>
4385
4386         * plugins/sudoers/check.c:
4387         Update comment
4388         [a5296cb3a20a]
4389
4390         * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod:
4391         Document sudo_conv_t function and sudo_printf_t return values.
4392         [745c0017814c]
4393
4394         * src/conversation.c:
4395         Make _sudo_printf return the number of characters printed on success
4396         like printf(3).
4397         [8eeefe8d7e77]
4398
4399 2010-08-10  Todd C. Miller  <Todd.Miller@courtesan.com>
4400
4401         * plugins/sudoers/sudoers.c:
4402         sudoers.h includes sudo_plugin.h for us
4403         [cabe68e07807]
4404
4405         * common/Makefile.in, common/gettime.c, compat/mkstemps.c,
4406         plugins/sudoers/sudoers.h, plugins/sudoers/visudo.c, src/sudo.h,
4407         src/sudo_edit.c:
4408         Use gettimeofday() directly instead of via the gettime() wrapper.
4409         [7490426c99ae]
4410
4411         * common/gettime.c, compat/snprintf.c, compat/strcasecmp.c,
4412         compat/strerror.c, config.h.in, configure, configure.in,
4413         include/compat.h, include/missing.h, plugins/sudoers/logging.c,
4414         plugins/sudoers/sudoers.c, plugins/sudoers/visudo.c, src/sudo.c:
4415         Remove some obsolete configure tests, ancient Unix systems are no
4416         longer supported.
4417         [2be6218c3a36]
4418
4419 2010-08-07  Todd C. Miller  <Todd.Miller@courtesan.com>
4420
4421         * sudo.pp:
4422         Set pp_kit_version and strip off patch level
4423         [aacfda1b676d]
4424
4425         * sudo.pp:
4426         Better handling of versions with a patchlevel. For rpm and deb, use
4427         the patchlevel+1 as the release. For AIX, use the patchlevel as the
4428         4th version number. For the rest, just leave the patchlevel in the
4429         version string.
4430         [638bd35f2346]
4431
4432 2010-08-06  Todd C. Miller  <Todd.Miller@courtesan.com>
4433
4434         * plugins/sudoers/auth/sudo_auth.c:
4435         For non-standalone auth methods, stop reading the password if the
4436         user enters ^C at the prompt.
4437         [82c2911bb264]
4438
4439         * configure, configure.in, plugins/sudoers/Makefile.in,
4440         plugins/sudoers/auth/passwd.c, plugins/sudoers/auth/secureware.c,
4441         plugins/sudoers/auth/sudo_auth.c, plugins/sudoers/auth/sudo_auth.h,
4442         plugins/sudoers/pwutil.c:
4443         No need to look up shadow password unless we are doing password-
4444         style authentication. This moves the shadow password lookup to the
4445         auth functions that need it.
4446         [ba9e3eba2b72]
4447
4448         * plugins/sudoers/sudoers.c:
4449         Retain final passwd/group refs until the policy close() function.
4450         Note that this doesn't get called in all cases so putting this in a
4451         cleanup function is probably better.
4452         [bbe214cb4119]
4453
4454         * plugins/sudoers/check.c:
4455         Fix mismerge
4456         [395115f89dd6]
4457
4458         * plugins/sudoers/check.c:
4459         When removing/resetting the timestamp file ignore the tty ticket
4460         contents.
4461         [b709f5667a0b]
4462
4463         * plugins/sudoers/sudoers.c:
4464         delref sudo_user.pw, runas_pw and runas_gr immediately before we
4465         return.
4466         [4d67d15dfd3b]
4467
4468 2010-08-04  Todd C. Miller  <Todd.Miller@courtesan.com>
4469
4470         * plugins/sudoers/check.c, plugins/sudoers/ldap.c,
4471         plugins/sudoers/match.c, plugins/sudoers/pwutil.c,
4472         plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h:
4473         Reference count cached passwd and group structs. The cache holds
4474         one reference itself and another is added by sudo_getgr{gid,nam} and
4475         sudo_getpw{uid,nam}. The final ref on the runas and user passwd and
4476         group structs are persistent for now.
4477         [e544685523c3]
4478
4479         * doc/UPGRADE:
4480         fix typo
4481         [e32f2d35e6c9]
4482
4483 2010-08-03  Todd C. Miller  <Todd.Miller@courtesan.com>
4484
4485         * plugins/sudoers/check.c:
4486         Do not produce a warning for "sudo -k" if the ticket file does not
4487         exist.
4488         [1598f6061b75]
4489
4490         * plugins/sudoers/pwutil.c:
4491         Instead of caching struct passwd and struct group in the red-black
4492         tree, store a struct cache_item which includes both the key and
4493         datum. This allows us to user the actual name that was looked up as
4494         the key instead of the contents of struct passwd or struct group.
4495         This matters because the name in the database may not match what we
4496         looked up, due either to case folding or truncation (historically at
4497         8 characters). Also mark the disabled calls to sudo_freepwcache()
4498         and sudo_freegrcache() as broken since we use cached data for things
4499         like set_perms() and the logging functions. Fixing this would
4500         require making a copy of the structs for user and runas or adding a
4501         reference count (better).
4502         [225d4a22f60e]
4503
4504         * plugins/sudoers/Makefile.in:
4505         Fix path to mkinstalldirs
4506         [b4968379b12d]
4507
4508         * plugins/sudoers/check.c, plugins/sudoers/logging.c,
4509         plugins/sudoers/sudoreplay.c, plugins/sudoers/visudo.c,
4510         src/exec_pty.c, src/get_pty.c, src/tgetpass.c:
4511         Quiet gcc warnings on glibc systems that use warn_unused_result for
4512         write(2) and others.
4513         [c99f138960e0]
4514
4515 2010-08-02  Todd C. Miller  <Todd.Miller@courtesan.com>
4516
4517         * plugins/sudoers/toke.c, plugins/sudoers/toke.l:
4518         Add %option noinput
4519         [72b9cd49b4f1]
4520
4521         * aclocal.m4, configure, configure.in:
4522         Add cross-compile defaults for remaining AC_TRY_RUN usage. Also add
4523         back getgroups() check since AC_FUNC_GETGROUPS defaults to "no" when
4524         cross-compiling.
4525         [e385c176d0ee]
4526
4527 2010-07-31  Todd C. Miller  <Todd.Miller@courtesan.com>
4528
4529         * aclocal.m4, compat/snprintf.c, config.h.in, configure, configure.in:
4530         Use AC_CHECK_MEMBER in SUDO_SOCK_SA_LEN Use AC_TYPE_LONG_LONG_INT
4531         and AC_CHECK_SIZEOF([long int]) instead of rolling our own.
4532         [cf3e60d9c440]
4533
4534 2010-07-29  Todd C. Miller  <Todd.Miller@courtesan.com>
4535
4536         * pp:
4537         Update to latest version
4538         [32f93be33961]
4539
4540 2010-07-28  Todd C. Miller  <Todd.Miller@courtesan.com>
4541
4542         * sudo.pp:
4543         Let pp determine pp_aix_version itself.
4544         [7cf0245d84ed]
4545
4546         * INSTALL, config.h.in, configure, configure.in, mkpkg,
4547         plugins/sudoers/sudoers.c:
4548         Add support for Ubuntu admin flag file and enable it when building
4549         Ubuntu packages.
4550         [00e27cff2dfb]
4551
4552         * plugins/sudoers/sudoers, sudo.pp:
4553         Add commented out SuSE-like targetpw settings
4554         [4605d47b7413]
4555
4556         * configure, configure.in:
4557         Only try to use +DAportable for non-GCC on hppa
4558         [75d0f284ccf7]
4559
4560         * configure, configure.in:
4561         Prevent configure from adding the -g flag unless in devel mode
4562         [b1fd3f8d45c0]
4563
4564 2010-07-27  Todd C. Miller  <Todd.Miller@courtesan.com>
4565
4566         * sudo.pp:
4567         Go back to sudo-flavor to match existing packages and only use an
4568         underscore for those that need it.
4569         [d737069d1e1c]
4570
4571         * sudo.pp:
4572         Use sudo_$flavor instead of sudo-$flavor since that causes the least
4573         amount of trouble for the various package managers.
4574         [71f547af35fc]
4575
4576         * mkpkg:
4577         Fix handling of the ldap flavor Remove destdir unless --debug was
4578         specified Make distclean before running configure if there is a
4579         Makefile present
4580         [6316f08de7d3]
4581
4582         * sudo.pp:
4583         Add back include file.
4584         [195627bf68b8]
4585
4586         * mkpkg:
4587         Pass extra args on to configure on HP-UX, if we don't have the HP C
4588         compiler, disable zlib to prevent gcc from finding it in
4589         /usr/local/lib.
4590         [473efa0e2bac]
4591
4592         * mkpkg:
4593         Use the HP ANSI C compiler on HP-UX if possible
4594         [fb249b6b175d]
4595
4596         * plugins/sudoers/sudoreplay.c:
4597         Some getline() implementations (FreeBSD 8.0) do not ignore the
4598         length pointer when the line pointer is NULL as they should.
4599         [2410a1a3543c]
4600
4601         * plugins/sudoers/sudoreplay.c:
4602         Don't need to check for *cp being non-zero, isdigit() will do that.
4603         [7df11ea8a487]
4604
4605         * plugins/sudoers/sudoreplay.c:
4606         Add setlocale() so the command line arguments that use floating
4607         point work in different locales. Since sudo now logs the timing
4608         data in the C locale we must Parse the seconds in the timing file
4609         manually instead of using strtod(). Furthermore, sudo 1.7.3 logged
4610         the number of seconds with the user's locale so if the decimal point
4611         is not '.' try using the locale-specific version.
4612         [4d385765f23b]
4613
4614         * src/exec.c:
4615         Do I/O logging in the C locale so the floating point numbers in the
4616         timing file are not locale-dependent.
4617         [5961cec044ec]
4618
4619         * plugins/sudoers/sudoreplay.c:
4620         Use errorx() not error() for thingsthat don't set errno.
4621         [0fe5e692af84]
4622
4623 2010-07-26  Todd C. Miller  <Todd.Miller@courtesan.com>
4624
4625         * pp:
4626         Better support for 1.2.3 style versions in Tru64 kits
4627         [997c549bb777]
4628
4629         * sudo.pp:
4630         Add Tru64 kit support
4631         [e273a954f981]
4632
4633         * pp:
4634         Remove apparently unnecessary use of sudo
4635         [be8840d85125]
4636
4637         * Makefile.in, plugins/sudoers/Makefile.in:
4638         Create timedir as part of install-dirs target.
4639         [c736bc2fb14f]
4640
4641         * src/exec_pty.c:
4642         Handle ENXIO from read/write which can occur when reading/writing a
4643         pty that has gone away.
4644         [fa2e8059879f]
4645
4646         * plugins/sudoers/pwutil.c:
4647         sudo_pwdup() was not expanding an empty pw_shell to _PATH_BSHELL
4648         [3a045475d5ee]
4649
4650         * mkpkg:
4651         platform is a pp flag not a variable
4652         [12eba39a47c1]
4653
4654         * Makefile.in, mkpkg, sudo.pp:
4655         Add simple arg parsing for mkpkg so we can set debug, flavor or
4656         platform.
4657         [ada839fe252d]
4658
4659         * pp:
4660         Make rpm backend work on AIX 5.x
4661         [549a76d11393]
4662
4663 2010-07-25  Todd C. Miller  <Todd.Miller@courtesan.com>
4664
4665         * plugins/sudoers/sudoers:
4666         Add commented out Defaults entry for log_output
4667         [7e67d7588900]
4668
4669 2010-07-23  Todd C. Miller  <Todd.Miller@courtesan.com>
4670
4671         * doc/Makefile.in:
4672         Remove sudo docdir completely
4673         [dce8e82878ef]
4674
4675         * doc/sample.sudo.conf:
4676         Add sample sudo.conf
4677         [aafdba3fc411]
4678
4679 2010-07-22  Todd C. Miller  <Todd.Miller@courtesan.com>
4680
4681         * plugins/sudoers/Makefile.in:
4682         Add PACKAGE_TARNAME for docdir
4683         [930c92b8f8f0]
4684
4685 2010-07-23  Todd C. Miller  <Todd.Miller@courtesan.com>
4686
4687         * src/Makefile.in:
4688         Pass install-sh -b~ here too.
4689         [c3f5eb446c38]
4690
4691         * plugins/sample/Makefile.in, plugins/sample_group/Makefile.in,
4692         plugins/sudoers/Makefile.in, src/Makefile.in:
4693         Install binary files with -b~ to make a backup. Fixes "text file
4694         busy" error on HP-UX during install.
4695         [81f306f54f8c]
4696
4697         * install-sh:
4698         "mv -f" on HP-UX doesn't unlink the destination first so add an
4699         explicit rm before moving the temporary into place.
4700         [fb719a79582d]
4701
4702         * configure, configure.in:
4703         Some more ${foo} -> $(foo) conversion for consistent Makefiles.
4704         [0aa098770074]
4705
4706         * doc/Makefile.in, plugins/sudoers/Makefile.in:
4707         Install sudoers2ldif in the doc dir
4708         [33ac3b53d7f5]
4709
4710 2010-07-22  Todd C. Miller  <Todd.Miller@courtesan.com>
4711
4712         * pathnames.h.in:
4713         Add missing include of maillock.h for Solaris
4714         [5a58883be23a]
4715
4716         * NEWS, configure, configure.in, doc/TROUBLESHOOTING, doc/UPGRADE,
4717         doc/sample.syslog.conf, doc/sudoers.cat:
4718         Change the default syslog facility from local2 to authpriv (or auth
4719         if the operating system doesn't support authpriv).
4720         [3b70ba514f49]
4721
4722         * Makefile.in, sudo.pp:
4723         Install sudoers as /etc/sudoers on RPM and debian systems where the
4724         package manager will not replace a user-modified configuration file.
4725         This fixes upgrades from the vendor sudo packages.
4726         [d886b6d60b5b]
4727
4728         * pp:
4729         RPM: use %config(noreplace) instead of %config for volatile This
4730         results in the new file being installed with a .rpmnew suffix
4731         instead of the file being replaced and the old one renamed with a
4732         .rpmsave suffix.
4733         [58be2119f8e8]
4734
4735 2010-07-21  Todd C. Miller  <Todd.Miller@courtesan.com>
4736
4737         * compat/mkstemps.c, plugins/sudoers/boottime.c:
4738         Include time.h for struct timeval
4739         [ddf8b04f0276]
4740
4741         * src/exec_pty.c:
4742         The return value of strsignal() may be const and should be treated
4743         as const regardless.
4744         [620074ae1e77]
4745
4746         * doc/sudoers.cat, doc/sudoers.man.in, doc/sudoers.pod:
4747         Mention that 127.0.0.1 will not match, nor will localhost unless
4748         that is the actual host name.
4749         [8b574122eb8f]
4750
4751         * MANIFEST, NEWS, README, WHATSNEW, doc/Makefile.in, doc/UPGRADE:
4752         Rename WHATSNEW -> NEWS
4753         [d1a2c8c47d89]
4754
4755         * pp:
4756         Updated pp with latest patches
4757         [98e16b9b8f62]
4758
4759         * WHATSNEW:
4760         Sync with 1.7.4
4761         [65ac4dafeef7]
4762
4763         * doc/UPGRADE, doc/sudoers.cat, doc/sudoers.man.in, doc/sudoers.pod,
4764         plugins/sudoers/sudoers:
4765         Add commented out line to add HOME to env_keep and add a warning to
4766         the note about the HOME change in UPGRADE.
4767         [0d6a775bb6c8]
4768
4769 2010-07-20  Todd C. Miller  <Todd.Miller@courtesan.com>
4770
4771         * plugins/sudoers/sudoreplay.c:
4772         Add LINE_MAX define for those without it.
4773         [446d9dbe7859]
4774
4775         * INSTALL, WHATSNEW, config.h.in, configure, configure.in,
4776         doc/UPGRADE, doc/sudoers.cat, doc/sudoers.man.in, doc/sudoers.pod,
4777         plugins/sudoers/defaults.c:
4778         The tty_tickets option is now on by default.
4779         [a01c48206d80]
4780
4781         * WHATSNEW:
4782         Mention that AIX authdb support has been fixed.
4783         [87bd7f4eba6a]
4784
4785         * common/aix.c:
4786         setauthdb() only sets the "old" registry if it was set by a previous
4787         call to setauthdb(). To restore the original value, passing NULL
4788         (or an empty string) to setauthdb() is sufficient.
4789         [470da190a254]
4790
4791 2010-07-19  Todd C. Miller  <Todd.Miller@courtesan.com>
4792
4793         * WHATSNEW, doc/UPGRADE, doc/sudo.cat, doc/sudo.man.in, doc/sudo.pod,
4794         doc/sudoers.cat, doc/sudoers.man.in, doc/sudoers.pod,
4795         plugins/sudoers/env.c:
4796         Reset HOME when env_reset is enabled unless it is in env_keep
4797         [f421f8827340]
4798
4799         * doc/sudoers.cat, doc/sudoers.man.in, doc/sudoers.pod:
4800         The default for set_logname has been "true" for some time now.
4801         [f489da5674c3]
4802
4803         * plugins/sudoers/boottime.c:
4804         Add missing include of time.h
4805         [624d7014932f]
4806
4807         * plugins/sudoers/logging.c:
4808         Fix check for dup2() return value.
4809         [140ea2d50d20]
4810
4811         * plugins/sudoers/env.c:
4812         Add PYTHONUSERBASE to initial_badenv_table
4813         [3149aae5b12c]
4814
4815         * plugins/sudoers/visudo.c:
4816         Treat an unknown defaults entry as a parse error.
4817         [b3ebad73efb2]
4818
4819         * plugins/sudoers/defaults.c, plugins/sudoers/sudoers.c:
4820         Check return value of setdefs() but don't stop setting defaults if
4821         we hit an unknown one.
4822         [945e752239ab]
4823
4824         * WHATSNEW, aclocal.m4, config.h.in, configure, configure.in,
4825         doc/sudo.cat, doc/sudo.man.in, doc/sudo.pod, doc/sudoers.cat,
4826         doc/sudoers.man.in, doc/sudoers.pod, pathnames.h.in,
4827         plugins/sudoers/env.c:
4828         If env_reset is enabled, set the MAIL environment variable based on
4829         the target user unless MAIL is explicitly preserved in sudoers.
4830         [a1b03e2e0e96]
4831
4832 2010-07-17  Todd C. Miller  <Todd.Miller@courtesan.com>
4833
4834         * pp:
4835         decode debian code names
4836         [8741280d9960]
4837
4838         * WHATSNEW:
4839         fix typo
4840         [a8a19451110b]
4841
4842 2010-07-16  Todd C. Miller  <Todd.Miller@courtesan.com>
4843
4844         * WHATSNEW:
4845         Merge with 1.7.4
4846         [9348fa7e15b8]
4847
4848         * src/sudo.c:
4849         Restore RLIMIT_NPROC after the uid switch if it appears that
4850         runas_setup() did not do it for us. Fixes a bash script problem on
4851         SuSE with RLIMIT_NPROC set to RLIM_INFINITY.
4852         [786fb272e5fd]
4853
4854 2010-07-15  Todd C. Miller  <Todd.Miller@courtesan.com>
4855
4856         * mkpkg, pp, sudo.pp:
4857         Restore the dot removal in the os version reported by polypkg. Adapt
4858         mkpkg and sudo.pp to the change.
4859         [dcafdd53b88f]
4860
4861 2010-07-16  Todd C. Miller  <Todd.Miller@courtesan.com>
4862
4863         * INSTALL:
4864         document --with-pam-login
4865         [ea93e4c6873c]
4866
4867         * doc/sudoers.cat, doc/sudoers.man.in, doc/sudoers.pod:
4868         The tag is NOSETENV, not UNSETENV. From Petr Uzel.
4869         [2ac90d8de36e]
4870
4871 2010-07-15  Todd C. Miller  <Todd.Miller@courtesan.com>
4872
4873         * sudo.pp:
4874         Include flavor in solaris package name
4875         [e605f6364c9f]
4876
4877         * mkpkg:
4878         Older shells don't support IFS= so set explictly to space, tab,
4879         newline.
4880         [7773960bc8a0]
4881
4882         * mkpkg:
4883         Use '=' not '==' in test
4884         [c99d42bc48e6]
4885
4886         * mkpkg:
4887         Fix typo that prevented debian from matching
4888         [84421078fcb7]
4889
4890         * mkpkg:
4891         Add missing prefix setting for debian
4892         [6466f23de4aa]
4893
4894         * sudo.pp:
4895         Use tab indents to reduce the chance of problem with <<- Fix the
4896         debian %set section, pp does not set pp_deb_distro Uncomment %sudo
4897         line in sudoers for debian Uncomment some env_keep lines for RHEL,
4898         SLES and debian to more closely match the vendor sudoers files.
4899         Add /etc/pam.d to %files Remove the /etc/sudo-ldap.conf symlink on
4900         debian for ldap flavor
4901         [c5b49feb1a0c]
4902
4903         * plugins/sudoers/sudoers:
4904         Add commented out env_keep entries, sample Aliases and a %sudo line
4905         for debian.
4906         [387719e52d0f]
4907
4908         * configure, configure.in:
4909         Move zlib check later on in the script to avoid a strange shell
4910         problem on SLES11.
4911         [1a3153bb1291]
4912
4913         * configure.in:
4914         Remove check for egrep; configure has its own
4915         [a3b9d98cb5d2]
4916
4917 2010-07-14  Todd C. Miller  <Todd.Miller@courtesan.com>
4918
4919         * mkpkg:
4920         Enable zlib for linux distros
4921         [8fa51a1405a4]
4922
4923         * mkpkg:
4924         Add ldap flavor to default build
4925         [97644f5a555f]
4926
4927         * mkpkg, sudo.pp:
4928         Simplify rpm linux distro settings
4929         [b9dcf10cdf20]
4930
4931         * aclocal.m4, configure, configure.in, doc/UPGRADE, doc/sudoers.cat:
4932         Move time stamp files from /var/run/sudo to /var/{db,lib,adm}/sudo.
4933         [2c549c1acde9]
4934
4935         * Makefile.in:
4936         Fix ChangeLog creation from build dir
4937         [3d0c7904f173]
4938
4939         * plugins/sudoers/sudoers.c:
4940         Handle getcwd() failure.
4941         [aef7bef87394]
4942
4943         * doc/Makefile.in, mkpkg, sudo.pp:
4944         Add ldap "flavor" for debian, controlled by the SUDO_FLAVOR
4945         environment variable.
4946         [be6ed611b7a8]
4947
4948         * sudo.pp:
4949         Create sudo group on debian
4950         [6ed6c032042e]
4951
4952         * mkpkg, sudo.pp:
4953         Add debian 4/5/6 and use the dot when doing version matches
4954         [6bcb664d1f4f]
4955
4956         * aclocal.m4, configure:
4957         Use a loop when searching for mv, sendmail and sh
4958         [d5e9369f8d13]
4959
4960         * doc/sudoers.cat, doc/sudoers.man.in, doc/sudoers.pod:
4961         Remove spurious "and"; from debian
4962         [a21e6f7c5b99]
4963
4964         * aclocal.m4, configure, configure.in, doc/sudoers.cat,
4965         doc/sudoers.man.in, doc/sudoers.pod, doc/visudo.cat,
4966         doc/visudo.man.in, doc/visudo.pod:
4967         Substitute the value of EDITOR into the sudoers and visudo manuals.
4968         [cd79e587dd7f]
4969
4970 2010-07-13  Todd C. Miller  <Todd.Miller@courtesan.com>
4971
4972         * mkpkg, pp, sudo.pp:
4973         Initial support for debian 4.0
4974         [ac6707915fa8]
4975
4976         * mkpkg:
4977         Some platforms need -fPIE instead of -fpie
4978         [fd6be19e5bc2]
4979
4980         * plugins/sudoers/auth/pam.c:
4981         Only set PAM_RHOST for Solaris, where it is needed to avoid a bug.
4982         On Linux it causes a DNS lookup via libaudit.
4983         [1e10105ade5b]
4984
4985         * MANIFEST:
4986         Update MANIFEST to match packaging changes
4987         [ef86ee557b5b]
4988
4989         * sudo.psf:
4990         We now use pp to generate HP-UX packages
4991         [f7aa8da7844e]
4992
4993         * INSTALL.binary, plugins/sudoers/Makefile.binary.in:
4994         Remove vestiges of old binary package bits.
4995         [afffd005452f]
4996
4997         * INSTALL, Makefile.in, common/Makefile.in, compat/Makefile.in,
4998         doc/Makefile.in, include/Makefile.in, plugins/sample/Makefile.in,
4999         plugins/sample_group/Makefile.in, plugins/sudoers/Makefile.in,
5000         src/Makefile.in:
5001         install-man -> install-doc
5002         [99b5fa05567c]
5003
5004         * Makefile.in, doc/Makefile.in, include/Makefile.in, mkpkg,
5005         plugins/sudoers/Makefile.in, pp, src/Makefile.in, sudo.pp:
5006         Use http://rc.quest.com/topics/polypkg/ for packaging
5007         [5ca8eb75b223]
5008
5009         * install-sh:
5010         Just ignore the -c option, it is the default Add support for -d
5011         option
5012         [a8b6b0a131e8]
5013
5014 2010-07-12  Todd C. Miller  <Todd.Miller@courtesan.com>
5015
5016         * pathnames.h.in, plugins/sudoers/env.c, plugins/sudoers/logging.c:
5017         Use _PATH_STDPATH instead of _PATH_DEFPATH
5018         [137fa911908e]
5019
5020         * plugins/sudoers/Makefile.in, src/Makefile.in:
5021         Do not strip binaries.
5022         [20166e287176]
5023
5024         * INSTALL, configure, configure.in:
5025         Add --insults=disabled configure option to allow people to build in
5026         insult support but have the insults disabled unless explicitly
5027         enabled in sudoers.
5028         [523b8c552e90]
5029
5030         * compat/mkstemps.c:
5031         Add prototype for gettime()
5032         [275eee40473b]
5033
5034         * config.h.in, configure, configure.in, plugins/sudoers/auth/pam.c,
5035         plugins/sudoers/env.c, plugins/sudoers/sudoers.c,
5036         plugins/sudoers/sudoers.h:
5037         Add support for a sudo-i pam.d file to be used for "sudo -i".
5038         Adapted from a RedHat patch.
5039         [06d34f16520b]
5040
5041 2010-07-09  Todd C. Miller  <Todd.Miller@courtesan.com>
5042
5043         * include/missing.h:
5044         Fix mkstemps() prototype
5045         [2421841e815b]
5046
5047         * MANIFEST, compat/Makefile.in, compat/mkstemp.c, compat/mkstemps.c,
5048         config.h.in, configure, configure.in, include/missing.h,
5049         src/sudo_edit.c:
5050         Use mkstemps() instead of mkstemp() in sudoedit. This allows
5051         sudoedit to preserve the file extension (if any) which may be used
5052         by the editor (like emacs) to choose the editing mode.
5053         [d33172d2c086]
5054
5055 2010-07-08  Todd C. Miller  <Todd.Miller@courtesan.com>
5056
5057         * doc/sudoers.ldap.cat, doc/sudoers.ldap.man.in, doc/sudoers.ldap.pod,
5058         plugins/sudoers/ldap.c:
5059         TLS_CACERT is now an alias for TLS_CACERTFILE. OpenLDAP uses
5060         TLS_CACERT, not TLS_CACERTFILE in its ldap.conf. Other LDAP client
5061         code, such as nss_ldap, uses TLS_CACERTFILE. Also document why you
5062         should avoid disabling TLS_CHECKPEER is possible.
5063         [196622436212]
5064
5065 2010-07-07  Todd C. Miller  <Todd.Miller@courtesan.com>
5066
5067         * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod:
5068         Make sudo_plugin format a bit more like a man page
5069         [048d596e32da]
5070
5071         * plugins/sudoers/toke.c, plugins/sudoers/toke.l:
5072         Add suport for negated user/host/command lists in a Defaults entry.
5073         E.g. Defaults:!baduser noexec
5074         [d41112cf0342]
5075
5076         * Makefile.in, common/Makefile.in, compat/Makefile.in,
5077         doc/Makefile.in, include/Makefile.in, plugins/sample/Makefile.in,
5078         plugins/sample_group/Makefile.in, plugins/sudoers/Makefile.in,
5079         src/Makefile.in:
5080         Add uninstall target
5081         [fea66ebf136a]
5082
5083         * common/Makefile.in, compat/Makefile.in:
5084         Remove unused AR, SED and RANLIB variables
5085         [2ff9928bfdb3]
5086
5087         * Makefile.in:
5088         Do not install sample plugins
5089         [5443b87bd1c3]
5090
5091 2010-07-06  Todd C. Miller  <Todd.Miller@courtesan.com>
5092
5093         * MANIFEST, aclocal.m4, compat/setenv.c, compat/unsetenv.c, configure,
5094         configure.in, plugins/sudoers/env.c:
5095         Now that sudoers is a dynamically loaded module we cannot override
5096         the libc environment functions because the symbols may already have
5097         been resolved via libc. Remove getenv/putenv/setenv/unsetenv
5098         replacements from sudoers and add replacements for setenv/unsetenv
5099         for systems that lack them.
5100         [3f2b43cb8851]
5101
5102         * configure, configure.in, plugins/sudoers/Makefile.in:
5103         Link testsudoers with -ldl when needed
5104         [f79606f9fcd7]
5105
5106         * plugins/sample_group/plugin_test.c:
5107         Remove unused time.h and add limits.h for PATH_MAX
5108         [3f5d0074d621]
5109
5110         * doc/sudoers.ldap.pod:
5111         Fix typo.
5112         [bc855fd57397]
5113
5114 2010-07-05  Todd C. Miller  <Todd.Miller@courtesan.com>
5115
5116         * plugins/sample_group/plugin_test.c:
5117         Do not depend on strlcpy/strlcat
5118         [6e7e2b5af051]
5119
5120         * plugins/sample_group/plugin_test.c:
5121         Standalone test driver for sudoers group plugin.
5122         [eb1235fc3b8e]
5123
5124 2010-07-02  Todd C. Miller  <Todd.Miller@courtesan.com>
5125
5126         * plugins/sudoers/group_plugin.c, src/load_plugins.c:
5127         Use RTLD_LAZY instead of RTLD_NOW; was using RTLD_NOW as a debugging
5128         aid.
5129         [2a34e616229b]
5130
5131         * plugins/sample_group/sample_group.c:
5132         Fix style nit in function declarations
5133         [ab87c7c76bf9]
5134
5135         * doc/sudoers.cat, doc/sudoers.man.in, doc/sudoers.pod:
5136         Document group_plugin syntax.
5137         [ed1faf72ddcb]
5138
5139         * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod:
5140         Document the sudoers group plugin.
5141         [f19a62dc8cfc]
5142
5143         * INSTALL, MANIFEST, Makefile.in, config.h.in, configure,
5144         configure.in, doc/LICENSE, doc/license.pod, include/sudo_plugin.h,
5145         plugins/sample_group/Makefile.in, plugins/sample_group/getgrent.c,
5146         plugins/sample_group/sample_group.c, plugins/sudoers/Makefile.in,
5147         plugins/sudoers/def_data.c, plugins/sudoers/def_data.h,
5148         plugins/sudoers/def_data.in, plugins/sudoers/group_plugin.c,
5149         plugins/sudoers/match.c, plugins/sudoers/nonunix.h,
5150         plugins/sudoers/set_perms.c, plugins/sudoers/sudoers.c,
5151         plugins/sudoers/sudoers.h, plugins/sudoers/testsudoers.c,
5152         plugins/sudoers/vasgroups.c, plugins/sudoers/visudo.c, src/sudo.c:
5153         Replace built-in non-unix group support with a sudoers group plugin.
5154         Include a sample plugin that can read Unix-format group files.
5155         [8fc58ce0b1a8]
5156
5157         * configure, configure.in, src/load_plugins.c:
5158         Add a trailing slash to _PATH_SUDO_PLUGIN_DIR to simplify usage.
5159         [5c491dddb8ef]
5160
5161 2010-07-01  Todd C. Miller  <Todd.Miller@courtesan.com>
5162
5163         * doc/sudo.cat, doc/sudo.man.in, doc/sudo.pod, doc/sudoers.cat,
5164         doc/sudoers.man.in, doc/sudoers.pod:
5165         Move sudoers-specific bits out of sudo(8) and into sudoers(5)
5166         [e8a5a5830cfe]
5167
5168         * aclocal.m4, configure, configure.in:
5169         Substitute @io_logdir@ for the sudoers I/O log directory.
5170         [21a75ca7b0ab]
5171
5172 2010-06-29  Todd C. Miller  <Todd.Miller@courtesan.com>
5173
5174         * MANIFEST, common/Makefile.in, common/aix.c, common/alloc.c,
5175         common/atobool.c, common/fileops.c, common/fmt_string.c,
5176         common/lbuf.c, common/term.c, compat/fnmatch.c, compat/getcwd.c,
5177         compat/getgrouplist.c, compat/getline.c, compat/glob.c,
5178         compat/snprintf.c, config.h.in, configure, configure.in,
5179         include/fileops.h, plugins/sample/sample_plugin.c,
5180         plugins/sudoers/alias.c, plugins/sudoers/auth/afs.c,
5181         plugins/sudoers/auth/aix_auth.c, plugins/sudoers/auth/bsdauth.c,
5182         plugins/sudoers/auth/dce.c, plugins/sudoers/auth/fwtk.c,
5183         plugins/sudoers/auth/kerb4.c, plugins/sudoers/auth/kerb5.c,
5184         plugins/sudoers/auth/pam.c, plugins/sudoers/auth/passwd.c,
5185         plugins/sudoers/auth/rfc1938.c, plugins/sudoers/auth/secureware.c,
5186         plugins/sudoers/auth/securid.c, plugins/sudoers/auth/securid5.c,
5187         plugins/sudoers/auth/sia.c, plugins/sudoers/auth/sudo_auth.c,
5188         plugins/sudoers/boottime.c, plugins/sudoers/check.c,
5189         plugins/sudoers/defaults.c, plugins/sudoers/env.c,
5190         plugins/sudoers/find_path.c, plugins/sudoers/getdate.c,
5191         plugins/sudoers/getdate.y, plugins/sudoers/getspwuid.c,
5192         plugins/sudoers/goodpath.c, plugins/sudoers/gram.c,
5193         plugins/sudoers/gram.y, plugins/sudoers/interfaces.c,
5194         plugins/sudoers/iolog.c, plugins/sudoers/ldap.c,
5195         plugins/sudoers/logging.c, plugins/sudoers/match.c,
5196         plugins/sudoers/parse.c, plugins/sudoers/pwutil.c,
5197         plugins/sudoers/set_perms.c, plugins/sudoers/sudo_nss.c,
5198         plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h,
5199         plugins/sudoers/sudoreplay.c, plugins/sudoers/testsudoers.c,
5200         plugins/sudoers/toke.c, plugins/sudoers/toke.l,
5201         plugins/sudoers/tsgetgrpw.c, plugins/sudoers/visudo.c,
5202         src/Makefile.in, src/aix.c, src/conversation.c, src/exec.c,
5203         src/exec_pty.c, src/get_pty.c, src/load_plugins.c, src/parse_args.c,
5204         src/sudo.c, src/sudo.h, src/sudo_edit.c, src/tgetpass.c:
5205         Set usrinfo for AIX Set adminstrative domain for the process when
5206         looking up user's password or group info and when preparing for
5207         execve(). Include strings.h even if string.h exists since they may
5208         define different things. Fixes warnings on AIX and others.
5209         [cf8b93e872c9]
5210
5211         * Makefile.in:
5212         Add a separate all target for AIX make which was using the entire
5213         LHS (not just the first entry) of the first target as the implicit
5214         target.
5215         [a45b980a01ef]
5216
5217         * plugins/sudoers/env.c:
5218         Do not rely on env.env_len when unsetting a variable, just use the
5219         NULL terminator.
5220         [ca6eb239c829]
5221
5222         * plugins/sudoers/env.c:
5223         In unsetenv() check for NULL or empty name as per POSIX 1003.1-2008
5224         [7046ba7caa4e]
5225
5226 2010-06-25  Todd C. Miller  <Todd.Miller@courtesan.com>
5227
5228         * plugins/sudoers/vasgroups.c:
5229         Use warningx() instead of log_error() since the latter is not
5230         available to visudo or testsudoers. This does mean that they don't
5231         end up in syslog.
5232         [152b7c50f426]
5233
5234         * plugins/sudoers/sudoers.c:
5235         Defer call to sudo_nonunix_groupcheck_cleanup() until after we have
5236         closed the sudoers sources. From Quest sudo.
5237         [c1cd573bab94]
5238
5239         * plugins/sudoers/pwutil.c:
5240         Ignore case when matching user/group names in the cache. From Quest
5241         sudo.
5242         [2aa4ecc7d7f5]
5243
5244 2010-06-24  Todd C. Miller  <Todd.Miller@courtesan.com>
5245
5246         * config.h.in, configure, configure.in, src/selinux.c:
5247         Add check for setkeycreatecon() when --with-selinux is specified.
5248         [affae247b4e0]
5249
5250         * configure, configure.in:
5251         Error out if libaudit.h is missing or ununable when --with-linux-
5252         audit was specified
5253         [d82e743fac04]
5254
5255         * doc/HISTORY, doc/history.pod:
5256         Add =head3 entries, mostly for the html version
5257         [ee93112d0308]
5258
5259 2010-06-22  Todd C. Miller  <Todd.Miller@courtesan.com>
5260
5261         * doc/HISTORY, doc/history.pod:
5262         Mention when LDAP was incorporate.
5263         [2923dc17f79c]
5264
5265 2010-06-21  Todd C. Miller  <Todd.Miller@courtesan.com>
5266
5267         * configure, configure.in:
5268         Define _LINUX_SOURCE_COMPAT on AIX for strsignal() prototype, it is
5269         not covered by _ALL_SOURCE.
5270         [c92fd69809d0]
5271
5272 2010-06-18  Todd C. Miller  <Todd.Miller@courtesan.com>
5273
5274         * plugins/sudoers/iolog.c:
5275         Add a cast to quiet a compiler warning.
5276         [a200e07ee1bc]
5277
5278         * plugins/sudoers/getdate.c, plugins/sudoers/getdate.y:
5279         Quiet a compiler warning.
5280         [c9acfc927cea]
5281
5282         * plugins/sudoers/defaults.c, plugins/sudoers/sudoers.c:
5283         Call set_fqdn() after sudoers has parsed instead of inline as a
5284         callback.
5285         [5f4e5d075f2d]
5286
5287         * WHATSNEW, plugins/sudoers/sudoers.c:
5288         Do not call set_fqdn() until sudoers parses (where is gets run as a
5289         callback).
5290         [09040fca6d40]
5291
5292         * WHATSNEW:
5293         mention the change in tty ticket behavior when there is no tty
5294         [575a1fd98f05]
5295
5296         * plugins/sudoers/check.c:
5297         Do not update tty ticket if there is no tty.
5298         [63f9c33ce6a7]
5299
5300         * doc/LICENSE, doc/license.pod:
5301         Update copyright year
5302         [0722ab5d404b]
5303
5304         * doc/Makefile.in:
5305         Do not rely on BSD make's $>
5306         [936a86398bd9]
5307
5308         * configure, configure.in:
5309         Set timedir to /var/db/sudo for darwin to match Apple sudo's
5310         location
5311         [d5b9b03096f1]
5312
5313 2010-06-16  Todd C. Miller  <Todd.Miller@courtesan.com>
5314
5315         * plugins/sudoers/sudoers.h:
5316         Add stub declarations for struct stat and struct timeval
5317         [f6d90551a4fd]
5318
5319         * MANIFEST:
5320         Remove compat/sigaction.c
5321         [d0ed6d9a770e]
5322
5323         * config.h.in, configure, configure.in, plugins/sudoers/defaults.c,
5324         plugins/sudoers/iolog.c, plugins/sudoers/sudoreplay.c:
5325         Check for zlib.h in addition to libz.
5326         [6e191b4a6065]
5327
5328         * MANIFEST, src/Makefile.in, src/exec.c, src/exec_pty.c, src/sudo.h,
5329         src/sudo_exec.h:
5330         Move functions and symbols shared between exec.c and exec_pty.c into
5331         sudo_exec.h.
5332         [14ae63403544]
5333
5334         * doc/Makefile.in:
5335         Comment out rules to build .man.in and .cat files unless --with-
5336         devel
5337         [3cf7e5606a85]
5338
5339         * doc/Makefile.in:
5340         Comment out rules to build .man.in and .cat files unless --with-
5341         devel
5342         [d30495b0e29e]
5343
5344         * src/parse_args.c:
5345         Quote any non-alphanumeric characters other than '_' or '-' when
5346         passing a command to be run via the shell for the -s and -i options.
5347         [d633f74fe2d9]
5348
5349         * doc/Makefile.in:
5350         Add back .man suffix
5351         [6e63b60a2739]
5352
5353         * INSTALL, MANIFEST, WHATSNEW, config.h.in, configure, configure.in,
5354         plugins/sudoers/Makefile.in, plugins/sudoers/audit.c,
5355         plugins/sudoers/bsm_audit.c, plugins/sudoers/linux_audit.c,
5356         plugins/sudoers/linux_audit.h, plugins/sudoers/logging.h,
5357         src/selinux.c:
5358         Add Linux audit support.
5359         [5a2f445e0bd4]
5360
5361 2010-06-15  Todd C. Miller  <Todd.Miller@courtesan.com>
5362
5363         * plugins/sudoers/iolog.c:
5364         Remove an XXX
5365         [a170cbe651d1]
5366
5367         * doc/sudoreplay.cat, doc/sudoreplay.man.in, doc/sudoreplay.pod,
5368         plugins/sudoers/sudoreplay.c:
5369         Add -f (filter) option to sudoreplay to allow certain streams to be
5370         replayed and others ignored.
5371         [62e51b432ea1]
5372
5373         * src/load_plugins.c, src/parse_args.c, src/sudo.c, src/sudo.h,
5374         src/tgetpass.c:
5375         Fix -A flag when askpass is specified in sudo.conf or if sudo
5376         doesn't need to read a password.
5377         [2e401e4a00e3]
5378
5379         * src/exec.c, src/exec_pty.c, src/parse_args.c, src/sudo.c,
5380         src/sudo.h, src/sudo_edit.c, src/tgetpass.c:
5381         Clean up some XXXs
5382         [689f0b002d3d]
5383
5384         * WHATSNEW, doc/sudoers.ldap.cat, doc/sudoers.ldap.man.in,
5385         doc/sudoers.ldap.pod, plugins/sudoers/ldap.c:
5386         Add support for multiple sudoers_base entries in ldap.conf. From
5387         Joachim Henke
5388         [e3e4a3c2bd5b]
5389
5390         * config.h.in, configure, configure.in, plugins/sudoers/logging.c,
5391         src/exec_pty.c:
5392         remove setsid check, we require a POSIX system
5393         [cc73cb9e22c0]
5394
5395         * plugins/sudoers/logging.c, src/exec_pty.c, src/selinux.c,
5396         src/sudo.c, src/tgetpass.c:
5397         Check for dup2() failure.
5398         [5d46d66794f5]
5399
5400         * config.h.in, configure, configure.in:
5401         Remove dup2() check, it is not optional.
5402         [5f1d56de4384]
5403
5404 2010-06-14  Todd C. Miller  <Todd.Miller@courtesan.com>
5405
5406         * WHATSNEW:
5407         sync with sudo 1.7.3
5408         [88e5c0bd6d59]
5409
5410         * INSTALL:
5411         SunOS does not ship with an ANSI compiler
5412         [f13c85c67069]
5413
5414         * INSTALL:
5415         Update OS specific notes. Delete some really ancient ones and move
5416         older ones to the end of the list.
5417         [59ce592c4c52]
5418
5419         * README:
5420         Sudo can be downloaded from the web site too Mention "OS dependent
5421         notes" section in INSTALL
5422         [191871538984]
5423
5424         * src/exec_pty.c, src/selinux.c:
5425         Call selinux_restore_tty() as part of cleanup() so it gets called
5426         from error()/errorx()
5427         [bb017da6b6da]
5428
5429         * MANIFEST, doc/PORTING:
5430         Remove obsolete porting guide
5431         [321e35591344]
5432
5433         * plugins/sudoers/interfaces.h, plugins/sudoers/match.c:
5434         Move union sudo_in_addr_un into interfaces.h
5435         [b2c8b19ee094]
5436
5437         * doc/Makefile.in:
5438         Remove useless circular dependencies
5439         [5682181b59cf]
5440
5441         * plugins/sudoers/auth/afs.c, plugins/sudoers/auth/aix_auth.c,
5442         plugins/sudoers/auth/bsdauth.c, plugins/sudoers/auth/dce.c,
5443         plugins/sudoers/auth/fwtk.c, plugins/sudoers/auth/kerb4.c,
5444         plugins/sudoers/auth/kerb5.c, plugins/sudoers/auth/pam.c,
5445         plugins/sudoers/auth/passwd.c, plugins/sudoers/auth/rfc1938.c,
5446         plugins/sudoers/auth/secureware.c, plugins/sudoers/auth/securid.c,
5447         plugins/sudoers/auth/securid5.c, plugins/sudoers/auth/sia.c:
5448         Convert to ANSI C function declarations
5449         [a4f76927d034]
5450
5451         * common/alloc.c, common/fileops.c, common/gettime.c, common/list.c,
5452         common/zero_bytes.c, compat/charclass.h, compat/closefrom.c,
5453         compat/fnmatch.c, compat/glob.c, compat/isblank.c, compat/memrchr.c,
5454         compat/mkstemp.c, compat/nanosleep.c, compat/snprintf.c,
5455         compat/strcasecmp.c, compat/strerror.c, compat/strlcat.c,
5456         compat/strlcpy.c, compat/timespec.h, compat/utime.h,
5457         compat/utimes.c, doc/HISTORY, doc/history.pod, doc/license.pod,
5458         include/alloc.h, include/error.h, include/lbuf.h, include/list.h,
5459         include/missing.h, pathnames.h.in, plugins/sudoers/alias.c,
5460         plugins/sudoers/audit.c, plugins/sudoers/auth/sudo_auth.h,
5461         plugins/sudoers/boottime.c, plugins/sudoers/bsm_audit.c,
5462         plugins/sudoers/bsm_audit.h, plugins/sudoers/defaults.c,
5463         plugins/sudoers/defaults.h, plugins/sudoers/find_path.c,
5464         plugins/sudoers/getspwuid.c, plugins/sudoers/goodpath.c,
5465         plugins/sudoers/gram.y, plugins/sudoers/interfaces.c,
5466         plugins/sudoers/interfaces.h, plugins/sudoers/logging.c,
5467         plugins/sudoers/logging.h, plugins/sudoers/match.c,
5468         plugins/sudoers/parse.h, plugins/sudoers/plugin_error.c,
5469         plugins/sudoers/pwutil.c, plugins/sudoers/redblack.c,
5470         plugins/sudoers/redblack.h, plugins/sudoers/sudo_nss.h,
5471         plugins/sudoers/sudoers.h, plugins/sudoers/sudoreplay.c,
5472         plugins/sudoers/testsudoers.c, plugins/sudoers/timestr.c,
5473         plugins/sudoers/toke.l, plugins/sudoers/visudo.c, src/aix.c,
5474         src/conversation.c, src/error.c, src/load_plugins.c,
5475         src/parse_args.c, src/sesh.c, src/sudo.h, src/sudo_noexec.c,
5476         src/sudo_plugin_int.h, src/sudo_usage.h.in, src/tgetpass.c:
5477         Update copyright year
5478         [26ac7991f7d8]
5479
5480         * doc/Makefile.in:
5481         Fix commented DEVDOCS when not in devel mode.
5482         [e0a97eaf3793]
5483
5484         * plugins/sudoers/match.c:
5485         Quiet a compiler warning.
5486         [b2a17ebd5d38]
5487
5488         * plugins/sudoers/getdate.c, plugins/sudoers/getdate.y:
5489         Quiet a compiler warning.
5490         [687843bc593d]
5491
5492         * plugins/sudoers/ldap.c, plugins/sudoers/sudoers.h:
5493         Make all functions in ldap.c static
5494         [b2111e89eeba]
5495
5496         * doc/schema.ActiveDirectory:
5497         Updates from Alain Roy to provide better examples for importing the
5498         schema and to fix problems caused by Windows validating attributes
5499         which have not yet been added before committing the changes.
5500         [69f4c5ccaf89]
5501
5502 2010-06-11  Todd C. Miller  <Todd.Miller@courtesan.com>
5503
5504         * configure, configure.in, doc/Makefile.in, doc/sudo.cat,
5505         doc/sudo.man.in, doc/sudo_plugin.cat, doc/sudo_plugin.man.in,
5506         doc/sudoers.cat, doc/sudoers.ldap.cat, doc/sudoers.ldap.man.in,
5507         doc/sudoers.man.in, doc/sudoreplay.cat, doc/sudoreplay.man.in,
5508         doc/visudo.cat, doc/visudo.man.in:
5509         Leave rules to build .man.in and .cat files uncommented but only
5510         make them part of the "all" rule in devel mode. Generate .cat files
5511         directly from .man.in instead of .man using default values in
5512         configure.in
5513         [c3054a44f6a5]
5514
5515         * configure, configure.in:
5516         Bump sudo version to 1.8.0b1
5517         [8f79c85135e1]
5518
5519         * configure, configure.in, src/sudo.c, src/sudo_usage.h.in:
5520         Print configure args with verbose version information.
5521         [1ce690660ed2]
5522
5523         * TODO, plugins/sudoers/visudo.c:
5524         Remove tfd from struct sudoersfile; it is not used. Add prev pointer
5525         to struct sudoersfile. Declare list of sudoersfile using TQ_DECLARE.
5526         Use tq_append to append sudoers entries to the tail queue.
5527         [1743f9a286e4]
5528
5529 2010-06-10  Todd C. Miller  <Todd.Miller@courtesan.com>
5530
5531         * WHATSNEW:
5532         Describe tty timestamp improvements
5533         [e214e863a313]
5534
5535         * plugins/sudoers/toke.c, plugins/sudoers/toke.l:
5536         A comment character may not be part of a command line argument
5537         unless it is quoted with a backslash. Fixes parsing of:
5538         testuser ALL=NOPASSWD: /usr/bin/wl #comment foo bar closes bz #441
5539         [ea2e990f85ed]
5540
5541         * doc/sudoers.pod:
5542         Make this read a little bit better when passwd_timeout is 0.
5543         [39d362757f31]
5544
5545         * doc/sudo.man.in, doc/sudo.man.pl, doc/sudo.pod:
5546         Attempt to handle a default password prompt timeout of zero more
5547         gracefully.
5548         [ea47d43acf5b]
5549
5550         * plugins/sudoers/toke.c, plugins/sudoers/toke.l:
5551         Do not override value of keepopen global, instead restore it to the
5552         value we pushed onto the stack when popping.
5553         [fe282e5a3402]
5554
5555         * plugins/sudoers/Makefile.in:
5556         Add dependency for utility programs on libreplace and libcommon
5557         [2339aba64928]
5558
5559         * compat/sigaction.c, config.h.in, configure.in, include/compat.h,
5560         plugins/sudoers/logging.c, plugins/sudoers/mon_systrace.c,
5561         src/exec.c, src/exec_pty.c, src/tgetpass.c:
5562         Remove sigaction emulation Use SA_INTERRUPT in sa_flags
5563         [7dd61f1bd8d2]
5564
5565         * MANIFEST, config.h.in, configure, configure.in, include/missing.h:
5566         We don't use getgrouplist() at the moment so there's no need to
5567         provide a compat version.
5568         [1597536fbada]
5569
5570         * TODO:
5571         sync with reality
5572         [9e1a874e7885]
5573
5574         * include/sudo_plugin.h, plugins/sudoers/auth/sudo_auth.c,
5575         src/conversation.c, src/sudo.h, src/tgetpass.c:
5576         Fix visiblepw sudoers option; the plugin API portion still needs
5577         documenting
5578         [60b6933ef5e0]
5579
5580         * src/sudo.c:
5581         Print sudo version as well.
5582         [987ed459b459]
5583
5584         * plugins/sudoers/iolog.c, plugins/sudoers/sudoers.c:
5585         Use sudo_printf for I/O log version Clarify policy plugin version
5586         string
5587         [5a58b7e8c80b]
5588
5589         * plugins/sudoers/getdate.c, plugins/sudoers/getdate.y,
5590         plugins/sudoers/ldap.c, plugins/sudoers/sudoreplay.c:
5591         Silence some compiler warnings
5592         [afb1eba90915]
5593
5594         * src/load_plugins.c, src/tgetpass.c:
5595         Store askpass path in a global instead of uses setenv() which many
5596         systems lack.
5597         [b440bcc0e660]
5598
5599 2010-06-09  Todd C. Miller  <Todd.Miller@courtesan.com>
5600
5601         * doc/sudo.cat, doc/sudo.man.in, doc/sudo.pod, doc/sudo_plugin.cat,
5602         doc/sudo_plugin.man.in, doc/sudo_plugin.pod,
5603         plugins/sudoers/check.c, plugins/sudoers/def_data.c,
5604         plugins/sudoers/def_data.h, plugins/sudoers/def_data.in,
5605         plugins/sudoers/defaults.c, plugins/sudoers/sudoers.c,
5606         plugins/sudoers/sudoers.h, src/load_plugins.c, src/parse_args.c,
5607         src/tgetpass.c:
5608         Move askpass path specification from sudoers to sudo.conf.
5609         [5507ab867c26]
5610
5611         * src/exec.c, src/exec_pty.c, src/sudo.c, src/sudo.h:
5612         Use a flag bit in struct command_details for selinux instead of a
5613         separate field.
5614         [c59ca4acded9]
5615
5616         * src/exec.c, src/exec_pty.c, src/sudo.c, src/sudo.h:
5617         Implement background mode. If I/O logging we use pipes instead of a
5618         pty.
5619         [c07a4b356cbd]
5620
5621         * compat/mksiglist.c, compat/strsignal.c, include/compat.h,
5622         src/exec.c, src/exec_pty.c, src/tgetpass.c:
5623         Move compat definition of NSIG to compat.h
5624         [ab0385467f25]
5625
5626         * doc/sudo.cat, doc/sudo.man.in, doc/sudo.pod, doc/sudo_plugin.cat,
5627         doc/sudo_plugin.man.in, doc/sudo_plugin.pod:
5628         Mention plugins in the sudo manual and add some missing path
5629         substitution in the sudo_plugin manual.
5630         [570f831f47a3]
5631
5632         * src/Makefile.in:
5633         Set _PATH_SUDO_CONF based on $(sysconfdir)
5634         [fde51869cf07]
5635
5636         * common/lbuf.c, common/term.c, config.h.in, configure, configure.in,
5637         src/exec.c, src/exec_pty.c, src/ttysize.c:
5638         Require POSIX termios to build sudo
5639         [9ec6b41f3f95]
5640
5641         * src/tgetpass.c:
5642         Ignore SIGPIPE for "sudo -S"
5643         [7ad27fde0c06]
5644
5645         * src/tgetpass.c:
5646         Fix uninitialized variable in TGP_ECHO case and print a newline if
5647         the user interrupted password input.
5648         [ce19204d8dd4]
5649
5650         * src/tgetpass.c:
5651         Make TGP_ECHO override TGP_MASK and don't try to restore the
5652         terminal if we didn't modify it.
5653         [a7e11abfe7e4]
5654
5655         * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod,
5656         include/sudo_plugin.h, plugins/sudoers/auth/sudo_auth.c,
5657         src/conversation.c, src/sudo.h, src/tgetpass.c:
5658         Add SUDO_CONV_PROMPT_MASK define which corresponds to the
5659         "pwfeedback" sudoers option. Do not disable echo if TGP_ECHO is
5660         set.
5661         [e0550590cabe]
5662
5663         * src/exec_pty.c:
5664         Use POSIX tcgetpgrp() instead of BSD TIOCGPGRP ioctl
5665         [762448182fe3]
5666
5667 2010-06-08  Todd C. Miller  <Todd.Miller@courtesan.com>
5668
5669         * src/exec.c, src/exec_pty.c, src/selinux.c, src/sudo.c, src/sudo.h:
5670         Add selinux_enabled flag into struct command_details and set it in
5671         command_info_to_details(). Return an error from selinux_setup()
5672         instead of exiting. Call selinux_setup() from exec_setup().
5673         [011bea23a5a0]
5674
5675 2010-06-09  Todd C. Miller  <Todd.Miller@courtesan.com>
5676
5677         * src/exec_pty.c:
5678         Remove commented out copy of old sudo_execve() function.
5679         [9c5e21380472]
5680
5681 2010-06-08  Todd C. Miller  <Todd.Miller@courtesan.com>
5682
5683         * plugins/sudoers/sudoers.c:
5684         Fix setting selinux type on command line.
5685         [814b20a0b3be]
5686
5687         * plugins/sudoers/iolog.c:
5688         In sudoers_io_close(), skip NULL io_fds[] elements.
5689         [4011ff7d4daf]
5690
5691         * include/compat.h:
5692         No longer need NGROUPS_MAX define
5693         [cae4c49d7077]
5694
5695         * compat/nanosleep.c, config.h.in, configure, configure.in,
5696         include/compat.h, plugins/sudoers/check.c, plugins/sudoers/iolog.c,
5697         plugins/sudoers/visudo.c, src/sudo_edit.c:
5698         Replace timerfoo macros with timevalfoo since the timer macros are
5699         known to be busted on some systems.
5700         [4f97d79f2d41]
5701
5702         * src/exec_pty.c:
5703         Remove duplicate call to selinux_setup().
5704         [82bd52764e21]
5705
5706         * plugins/sudoers/auth/pam.c:
5707         If pam_open_session() fails, pass its status to pam_end.
5708         [1d8de4cf8ff3]
5709
5710         * plugins/sudoers/toke.c, plugins/sudoers/toke.l:
5711         If a file in a #includedir has improper permissions or owner just
5712         skip it. This prevents packages that incorrectly install a file
5713         into /etc/sudoers.d from breaking sudo so easily. Syntax errors in
5714         #includedir files still result in a parse error (for now).
5715         [ade99a4549a4]
5716
5717         * WHATSNEW, doc/sudoers.cat, doc/sudoers.man.in, doc/sudoers.pod,
5718         plugins/sudoers/def_data.c, plugins/sudoers/def_data.h,
5719         plugins/sudoers/def_data.in, plugins/sudoers/iolog.c:
5720         Add use_pty sudoers option to force use of a pty even when not
5721         logging I/O.
5722         [b280a8972a79]
5723
5724         * plugins/sudoers/env.c, plugins/sudoers/sudoers.h:
5725         Make env_init() void as it never fails.
5726         [d3890e55daa7]
5727
5728         * plugins/sudoers/env.c:
5729         No longer use _NSGetEnviron so don't need crt_externs.h
5730         [9b4e0e139881]
5731
5732         * plugins/sudoers/env.c:
5733         Remove unused VNULL define
5734         [a42cacb263e3]
5735
5736 2010-06-07  Todd C. Miller  <Todd.Miller@courtesan.com>
5737
5738         * plugins/sudoers/iolog.c:
5739         Add #define for maximum session id
5740         [9e18c17a28c2]
5741
5742         * MANIFEST, src/Makefile.in, src/exec.c, src/exec_pty.c, src/sudo.h:
5743         Split exec.c into exec.c and exec_pty.c
5744         [d52376327332]
5745
5746         * MANIFEST:
5747         Sync with source file moves.
5748         [4a62c6c9e846]
5749
5750         * src/Makefile.in, src/get_pty.c, src/pty.c:
5751         Rename pty.c -> get_pty.c
5752         [5696a12bd29b]
5753
5754 2010-06-06  Todd C. Miller  <Todd.Miller@courtesan.com>
5755
5756         * plugins/sudoers/iolog.c:
5757         Only use I/O input log file if def_log_input is set and output file
5758         if def_log_output is set.
5759         [d866992f1681]
5760
5761 2010-06-04  Todd C. Miller  <Todd.Miller@courtesan.com>
5762
5763         * compat/strsignal.c:
5764         Update copyright year
5765         [a96f2593fd4e]
5766
5767         * src/pty.c:
5768         uid -> ttyuid
5769         [c3454d74ebcb]
5770
5771         * plugins/sudoers/sudoers.c:
5772         For sudoedit, make a local copy of editor string si become part of
5773         argv. If no editor environment variable, split def_editor on ':'
5774         since it may be a colon-delimited path.
5775         [2ee298506a6e]
5776
5777         * src/sudo_edit.c:
5778         Remove unneeded endpwent()/endgrent()
5779         [623f6743d101]
5780
5781         * doc/Makefile.in:
5782         Use value of nroff from configure
5783         [b2ce649125ab]
5784
5785         * src/exec.c:
5786         Add missing const to I/O log action function
5787         [d764a3955e04]
5788
5789         * plugins/sudoers/check.c:
5790         Update copyright year and fix whitespace
5791         [e648c35b16be]
5792
5793         * configure, configure.in:
5794         Fix typo
5795         [8e0bdfc47da4]
5796
5797         * plugins/sudoers/iolog.c:
5798         Remove redundant tty signal blocking in log function.
5799         [f17f575dabd4]
5800
5801 2010-06-03  Todd C. Miller  <Todd.Miller@courtesan.com>
5802
5803         * plugins/sudoers/iolog.c:
5804         Place static keyword where it belongs
5805         [b01aec7c86b4]
5806
5807         * plugins/sudoers/logging.c:
5808         Always use a printf format string for send_mail()
5809         [13b1ada644c9]
5810
5811         * common/atobool.c, plugins/sudoers/ldap.c:
5812         Extend atobool() so we can use it in the LDAP code.
5813         [73f8e6807044]
5814
5815         * doc/sudo.cat, doc/sudo.man.in, doc/sudo.pod:
5816         Sudo now stashes tty ctime for tty_tickets on Solaris too.
5817         [e82df13ad3fd]
5818
5819         * plugins/sudoers/boottime.c:
5820         Fix dummy version of get_boottime()
5821         [01d69c06013b]
5822
5823 2010-06-02  Todd C. Miller  <Todd.Miller@courtesan.com>
5824
5825         * plugins/sudoers/check.c:
5826         Enable tty_is_devpts() support for Solaris with the "devices"
5827         filesystem.
5828         [237c6b25fa84]
5829
5830         * src/exec.c:
5831         Unbreak the non-io logging case.
5832         [4822b9f709fb]
5833
5834         * src/conversation.c, src/sudo.c, src/sudo_plugin_int.h:
5835         Fix symbol name conflict with sudo_printf.
5836         [0d44eab0a8f6]
5837
5838         * plugins/sudoers/auth/pam.c:
5839         Fix OpenPAM detection for newer versions.
5840         [1b2abed232d8]
5841
5842         * plugins/sudoers/vasgroups.c:
5843         Sync with Quest sudo git repo
5844         [f1d98b3cba02]
5845
5846         * aclocal.m4, configure, configure.in:
5847         HP-UX ld uses +b instead or -R or -rpath Fix typo in libvas check
5848         Add missing template for ENV_DEBUG Adapted from Quest sudo
5849         [695dbd7b28f4]
5850
5851         * README.LDAP:
5852         Fix typos; from Quest Sudo
5853         [4eba9da33b8e]
5854
5855 2010-06-01  Todd C. Miller  <Todd.Miller@courtesan.com>
5856
5857         * plugins/sudoers/Makefile.in:
5858         Add back -I$(top_srcdir); we need it for including compat/foo.h
5859         since we cannot rely on "foo.h" being found relative to the source
5860         file when the cwd is different.
5861         [bbf24695f325]
5862
5863         * src/exec.c:
5864         Fix a bug where we could treat EAGAIN as a permanent error. Also set
5865         cstat if perform_io() returns an error.
5866         [200475c4326f]
5867
5868         * common/alloc.c, plugins/sudoers/boottime.c,
5869         plugins/sudoers/sudoers.c:
5870         Add casts to quiet compiler warnings.
5871         [85eb1c336697]
5872
5873         * plugins/sudoers/sudoreplay.c, plugins/sudoers/testsudoers.c,
5874         plugins/sudoers/visudo.c:
5875         Fix typo in ternary operator usage.
5876         [6492ac1450e2]
5877
5878 2010-05-30  Todd C. Miller  <Todd.Miller@courtesan.com>
5879
5880         * INSTALL, configure, configure.in:
5881         Add --enable-warnings and fix typo in SUDO_IO_LOGDIR
5882         [92121d693b30]
5883
5884         * doc/sudoers.cat, doc/sudoers.man.in, doc/sudoers.pod,
5885         doc/sudoreplay.cat, doc/sudoreplay.man.in, doc/sudoreplay.pod:
5886         Update docs to match sudoers I/O logging changes
5887         [18d651989e49]
5888
5889         * INSTALL, WHATSNEW, aclocal.m4, configure, configure.in,
5890         pathnames.h.in, plugins/sudoers/def_data.c,
5891         plugins/sudoers/def_data.h, plugins/sudoers/def_data.in,
5892         plugins/sudoers/defaults.c, plugins/sudoers/gram.c,
5893         plugins/sudoers/gram.h, plugins/sudoers/gram.y,
5894         plugins/sudoers/iolog.c, plugins/sudoers/parse.c,
5895         plugins/sudoers/parse.h, plugins/sudoers/sudoers.c,
5896         plugins/sudoers/sudoreplay.c:
5897         Break sudoers transcript feature up into log_input and log_output.
5898         [db3c1248d2ad]
5899
5900         * plugins/sudoers/sudoreplay.c, plugins/sudoers/testsudoers.c,
5901         plugins/sudoers/visudo.c:
5902         Use setprogname() as needed.
5903         [6beee63a4553]
5904
5905         * plugins/sudoers/iolog.c, plugins/sudoers/sudoreplay.c:
5906         Adapt sudoreplay to iolog changes.
5907         [581f52c05f0f]
5908
5909 2010-05-29  Todd C. Miller  <Todd.Miller@courtesan.com>
5910
5911         * plugins/sudoers/iolog.c:
5912         Log all input and output into separate files and store a number on
5913         each timing file line to indicate which file the data is in.
5914         [fb460c5273dd]
5915
5916         * plugins/sudoers/iolog.c, plugins/sudoers/sudoers.c,
5917         plugins/sudoers/sudoers.h:
5918         Make sudoers_io functions static to iolog.c
5919         [b2df3cc3eecb]
5920
5921 2010-05-28  Todd C. Miller  <Todd.Miller@courtesan.com>
5922
5923         * doc/sudo.cat, doc/sudo.man.in, doc/sudo.pod, src/parse_args.c,
5924         src/sudo_usage.h.in:
5925         Completely remove the -L flag from the sudo front end.
5926         [3d220030b720]
5927
5928         * plugins/sudoers/sudoreplay.c:
5929         Fix EAGAIN handling when writing to stdout.
5930         [4766d77cea49]
5931
5932         * plugins/sudoers/sudoers.c:
5933         Eliminate unused variables
5934         [83bd711e79c4]
5935
5936         * plugins/sudoers/sudoers.c, src/exec.c, src/sudo.c:
5937         Re-enable cleanup functions in sudoers plugin and sudo driver for
5938         error()/errorx().
5939         [43093f937dd8]
5940
5941         * plugins/sudoers/auth/sudo_auth.c, plugins/sudoers/defaults.c,
5942         plugins/sudoers/interfaces.c, plugins/sudoers/iolog.c,
5943         plugins/sudoers/parse.c, plugins/sudoers/sudoers.c,
5944         plugins/sudoers/testsudoers.c, plugins/sudoers/visudo.c:
5945         Use sudo_printf to display verbose version information.
5946         [435cc9f8d4a2]
5947
5948         * common/Makefile.in, compat/Makefile.in, plugins/sample/Makefile.in,
5949         plugins/sudoers/Makefile.in, src/Makefile.in:
5950         Minor Makefile cleanup: fix a typo, change the removal order in the
5951         clean targets, and remove a superfluous include path for the sudoers
5952         plugin.
5953         [6e3b2d6b4437]
5954
5955         * plugins/sudoers/env.c:
5956         Handle duplicate variables in the environment. For unsetenv(), keep
5957         looking even after remove the first instance. For sudo_putenv(),
5958         check for and remove dupes after we replace an existing value.
5959         [c1bbb88d0435]
5960
5961 2010-05-27  Todd C. Miller  <Todd.Miller@courtesan.com>
5962
5963         * plugins/sudoers/Makefile.in:
5964         Use explicit path to source file instead of $< for files that live
5965         in devdir and top_srcdir.
5966         [358ab7f6cc64]
5967
5968         * plugins/sudoers/Makefile.in:
5969         Add explicit rules to compile gram.c and toke.c for HP-UX Pevent
5970         ending LIBSUDOERS_OBJS with a backslash
5971         [481a5c96d47e]
5972
5973         * plugins/sudoers/Makefile.in, src/Makefile.in:
5974         Link libcommon before libreplace since libcommon may use functions
5975         only present in libreplace.
5976         [1847c496ff5b]
5977
5978         * common/Makefile.in:
5979         Move code common to sudo and the sudoers plugin to a convenience
5980         library, libcommon. Removes the need to make links in the sudoers
5981         plugin dir and reduces re-compilation of duplicate object files.
5982         [4c8986352937]
5983
5984         * Makefile.in, common/alloc.c, common/atobool.c, common/fileops.c,
5985         common/fmt_string.c, common/gettime.c, common/lbuf.c, common/list.c,
5986         common/term.c, common/zero_bytes.c, configure, configure.in,
5987         plugins/sample/Makefile.in, plugins/sudoers/Makefile.in,
5988         src/Makefile.in, src/alloc.c, src/atobool.c, src/fileops.c,
5989         src/fmt_string.c, src/gettime.c, src/lbuf.c, src/list.c, src/term.c,
5990         src/zero_bytes.c:
5991         Move code common to sudo and the sudoers plugin to a convenience
5992         library, libcommon. Removes the need to make links in the sudoers
5993         plugin dir and reduces re-compilation of duplicate object files.
5994         [1d1d98bd55b9]
5995
5996         * src/exec.c, src/sudo.c, src/sudo.h:
5997         Rename script_execve to sudo_execve and rename script_foo in exec.c
5998         [a35ec80de96a]
5999
6000         * MANIFEST, src/Makefile.in, src/exec.c, src/script.c:
6001         rename script.c exec.c and fix up the MANIFEST file
6002         [36bc3bff9578]
6003
6004         * src/script.c, src/sudo.c, src/sudo.h:
6005         Rename script_setup() to pty_setup() and call from script_execve()
6006         directly.
6007         [899b0fb2a14d]
6008
6009         * configure, configure.in:
6010         bump version to 1.8.0a2
6011         [0b1c1ca9d4e5]
6012
6013         * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod:
6014         Document init_session
6015         [b5324785a406]
6016
6017         * plugins/sudoers/auth/API, plugins/sudoers/auth/sudo_auth.c,
6018         plugins/sudoers/auth/sudo_auth.h:
6019         Clean up the sudoers auth API a bit and update the docs.
6020         [c40fd4cb6e68]
6021
6022         * include/sudo_plugin.h, plugins/sudoers/auth/pam.c,
6023         plugins/sudoers/auth/sudo_auth.c, plugins/sudoers/sudoers.c,
6024         plugins/sudoers/sudoers.h, src/script.c, src/sudo.c:
6025         Add init_session function to struct policy_plugin that gets called
6026         before the uid/gid/etc changes. A struct passwd pointer is passed
6027         in,which may be NULL if the user does not exist in the passwd
6028         database.The sudoers module uses init_session to open the pam
6029         session as needed.
6030         [d71723320ee8]
6031
6032 2010-05-26  Todd C. Miller  <Todd.Miller@courtesan.com>
6033
6034         * plugins/sudoers/auth/pam.c, plugins/sudoers/auth/sudo_auth.c,
6035         plugins/sudoers/auth/sudo_auth.h, plugins/sudoers/set_perms.c,
6036         plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h:
6037         Add open/close session to sudo auth, only used by PAM. This allows
6038         us to open (and close) the PAM session from sudoers.
6039         [2665e2920d0d]
6040
6041         * plugins/sudoers/Makefile.in:
6042         Add explicit rule to build getdate.o for HP-UX make.
6043         [7f049e989956]
6044
6045         * plugins/sudoers/Makefile.in:
6046         Back out most of change 45e406ebdea2. Create dummy .l.c and .y.c
6047         rules as an alternate way to prevent HP-UX make (and others) from
6048         trying to rebuild the parser in non-dev mode.
6049         [f84badad98c5]
6050
6051         * plugins/sudoers/sudoers.c:
6052         Re-enable PATH_MAX check for command
6053         [40d8a50da136]
6054
6055         * Makefile.in:
6056         For distclean, clean the main directory last since the subdirs need
6057         to be able to run libtool to clean things.
6058         [8949a9861634]
6059
6060         * compat/Makefile.in:
6061         Fix generation of mksiglist.h
6062         [b7cdc9b36650]
6063
6064         * src/script.c:
6065         Now that we defer sending cstat until the end of script_child() we
6066         cannot reuse cstat when reading command status from parent.
6067         [25c882643466]
6068
6069 2010-05-25  Todd C. Miller  <Todd.Miller@courtesan.com>
6070
6071         * configure, configure.in, doc/sudo.man.in, doc/sudo.man.pl,
6072         doc/sudoers.cat, doc/sudoers.ldap.cat, doc/sudoers.ldap.man.in,
6073         doc/sudoers.man.in, doc/sudoers.man.pl, doc/sudoreplay.cat,
6074         doc/sudoreplay.man.in, doc/visudo.cat, doc/visudo.man.in:
6075         Use numeric registers to handle conditionals instead of trying to do
6076         it all with text processing.
6077         [478079c3fd4b]
6078
6079         * doc/sudoers.pod:
6080         Document per-command SELinux settings
6081         [13840d566805]
6082
6083         * plugins/sudoers/sudoers.c:
6084         Repair "sudo -l -U username"
6085         [10a0dcdf2ddf]
6086
6087         * plugins/sudoers/sudoers.c:
6088         Set selinux role and type in command details.
6089         [8ae6d35a126d]
6090
6091         * src/script.c, src/selinux.c, src/sudo.h:
6092         Rework SELinux support.
6093         [83279cc94bf2]
6094
6095 2010-05-24  Todd C. Miller  <Todd.Miller@courtesan.com>
6096
6097         * src/script.c, src/selinux.c, src/sudo.h:
6098         Make SELinux support compile again. Needs more work to be complete.
6099         [3d3addebcf82]
6100
6101         * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod,
6102         plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h,
6103         src/parse_args.c, src/script.c, src/selinux.c, src/sudo.c,
6104         src/sudo.h:
6105         Bring back closefrom settings.
6106         [b1c6257d4bbb]
6107
6108         * plugins/sudoers/iolog.c, plugins/sudoers/sudoers.c,
6109         plugins/sudoers/sudoers.h:
6110         If running a command or sudoedit in transcript mode, call
6111         io_nextid() before log_allowed() so the session id is logged.
6112         [c42f3ae40150]
6113
6114         * configure, configure.in:
6115         Use mandoc(1) if nroff(1) is not present.
6116         [daad4bbd04af]
6117
6118         * doc/Makefile.in:
6119         Use the --file argument to config.status instead of setting
6120         CONFIG_FILES in the environment.
6121         [c89411a8bf70]
6122
6123         * plugins/sudoers/Makefile.in:
6124         We cannot conditionally update gram.h or the dependency ordering
6125         gets messed up in devel mode.
6126         [c938953231d9]
6127
6128 2010-05-21  Todd C. Miller  <Todd.Miller@courtesan.com>
6129
6130         * Makefile.in, compat/Makefile.in, configure, configure.in,
6131         doc/Makefile.in, include/Makefile.in, plugins/sample/Makefile.in,
6132         plugins/sudoers/Makefile.in, src/Makefile.in:
6133         Substitute @SHELL@ into Makefiles
6134         [36aa6a095335]
6135
6136         * config.sub:
6137         Fix typo
6138         [16d294d26b58]
6139
6140         * config.guess, config.sub, configure, configure.in:
6141         Update to autoconf 2.65
6142         [4fa6ea8caea3]
6143
6144         * Makefile.in:
6145         Fix libtool target (space vs. tabs)
6146         [755cf3892618]
6147
6148         * config.h.in, plugins/sudoers/logging.h, plugins/sudoers/visudo.c:
6149         Remove use of RETSIGTYPE; all modern systems have signal handlers
6150         that return void.
6151         [42b4e3aee668]
6152
6153         * Makefile.in, aclocal.m4, acsite.m4, configure, configure.in,
6154         ltmain.sh, m4/libtool.m4, m4/ltoptions.m4, m4/ltsugar.m4,
6155         m4/ltversion.m4, m4/lt~obsolete.m4, plugins/sample/Makefile.in,
6156         plugins/sudoers/Makefile.in, src/Makefile.in:
6157         Update to libtool-2.2.6b. I haven't made any local modifications
6158         this time, which should be OK since we install sudo_noexec.so by
6159         hand now.
6160         [6f79ced593bb]
6161
6162         * compat/Makefile.in, plugins/sample/Makefile.in,
6163         plugins/sudoers/Makefile.in, src/Makefile.in:
6164         Use libtool to clean objects
6165         [1581057d6472]
6166
6167         * include/Makefile.in:
6168         Install sudo_plugin.h as part of "make install" and make other
6169         install targets callable from the top-level Makefile
6170         [aaaeb027d774]
6171
6172         * configure, configure.in:
6173         regen with autoupdate to eliminate AC_TRY_LINK
6174         [5d5541c230f5]
6175
6176         * Makefile.in, compat/Makefile.in, configure, configure.in,
6177         doc/Makefile.in, plugins/sample/Makefile.in,
6178         plugins/sudoers/Makefile.in, src/Makefile.in:
6179         Install sudo_plugin.h as part of "make install" and make other
6180         install targets callable from the top-level Makefile
6181         [b258b8401b1c]
6182
6183         * plugins/sample/sample_plugin.c:
6184         The sample plugin doesn't support being run with no args so return a
6185         usage error in this case.
6186         [473b3cf965be]
6187
6188         * plugins/sudoers/iolog.c:
6189         Set close on exec flag for descriptors used for I/O logging so they
6190         are not present in the command being run.
6191         [2c7e8708df76]
6192
6193         * plugins/sudoers/tsgetgrpw.c:
6194         Set close on exec flag in private versions of setpwent() and
6195         setgrent().
6196         [64fef78cb833]
6197
6198         * src/script.c:
6199         Close the I/O pipes aftering dup2()ing them to std{in,out,err}.
6200         Fixes extra fds being present in the command when it is part of a
6201         pipeline.
6202         [060451617713]
6203
6204         * plugins/sudoers/sudoers.c:
6205         Set user_tty to "unknown" if there is no tty, like sudo 1.7 does (it
6206         is used when logging). Note that user_ttypath will still be NULL if
6207         there is no tty.
6208         [31b69a6ecda7]
6209
6210         * src/script.c, src/sudo.h:
6211         Cosmetic changes: add comments, remove orphaned prototype and
6212         make a global static.
6213         [f7851af0143e]
6214
6215 2010-05-20  Todd C. Miller  <Todd.Miller@courtesan.com>
6216
6217         * src/script.c:
6218         Move check for maxfd == -1 to flush_output where it belongs.
6219         [b826a95b4491]
6220
6221         * src/script.c:
6222         Break out of select loop if all the fds we want to select on are -1.
6223         [f5b387024238]
6224
6225         * src/sudo.c:
6226         Avoid possible malloc(0) if plugin returns an empty groups list.
6227         [9765a8fe5ce7]
6228
6229         * src/sudo.c:
6230         Add debugging info when calling plugin close function
6231         [95a273c7ff66]
6232
6233         * src/script.c:
6234         Avoid closing stdin/stdout/stderr when we are piping output.
6235         [330e76423caf]
6236
6237         * src/script.c:
6238         When execve() of the command fails, it is possible to receive
6239         SIGCHLD before we've read the error status from the pipe. Re-order
6240         things such that we send the final status at the very end and prefer
6241         error status over wait status.
6242         [b0dcf825244f]
6243
6244 2010-05-19  Todd C. Miller  <Todd.Miller@courtesan.com>
6245
6246         * plugins/sudoers/auth/sudo_auth.c:
6247         Fix compilation for non PAM/BSD auth/AIX auth
6248         [e382b39d2e4f]
6249
6250 2010-05-18  Todd C. Miller  <Todd.Miller@courtesan.com>
6251
6252         * src/script.c:
6253         Additional checks to make sure we don't close /dev/tty by mistake.
6254         When flushing, sleep in select as long as we have buffers that need
6255         to be written out.
6256         [8139cbd3dd54]
6257
6258         * src/script.c:
6259         Now that we can use pipes for stdin/stdout/stderr there is no longer
6260         a need to error out when there is no tty. We just need to make sure
6261         we don't try to use the tty fd if it is -1.
6262         [666621635d26]
6263
6264 2010-05-17  Todd C. Miller  <Todd.Miller@courtesan.com>
6265
6266         * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod,
6267         include/sudo_plugin.h, plugins/sample/sample_plugin.c,
6268         plugins/sudoers/iolog.c, plugins/sudoers/sudoers.h, src/sudo.c:
6269         Add argc and argv to I/O logger open function.
6270         [0d7faa007d27]
6271
6272         * doc/sudo_plugin.man.in, doc/sudo_plugin.pod, include/sudo_plugin.h,
6273         plugins/sample/sample_plugin.c, plugins/sudoers/sudoers.c,
6274         src/parse_args.c, src/sudo.c, src/sudo_edit.c:
6275         Remove check_sudoedit function pointer in struct sudo_policy.
6276         Instead, sudo will set sudoedit=true in the settings array. The
6277         plugin should check for this and modify argv_out as appropriate in
6278         check_policy.
6279         [c0328e3276b8]
6280
6281 2010-05-16  Todd C. Miller  <Todd.Miller@courtesan.com>
6282
6283         * plugins/sample/sample_plugin.c, src/sudo.c, src/sudo.h,
6284         src/sudo_edit.c:
6285         If plugin sets "sudoedit=true" in the command info, enable sudoedit
6286         mode even if not invoked as sudoedit. This allows a plugin to
6287         enable sudoedit when the user runs an editor.
6288         [96d67b99e42e]
6289
6290 2010-05-15  Todd C. Miller  <Todd.Miller@courtesan.com>
6291
6292         * plugins/sudoers/Makefile.in:
6293         gram.h must not depend on gram.y if we want to avoid unnecessary
6294         rebuilding of targets dependent on gram.h when gram.y changes.
6295         [9db4b767fdca]
6296
6297         * plugins/sample/sample_plugin.c:
6298         Refactor common bits of check_policy and check_edit
6299         [ac4d366a04cf]
6300
6301         * plugins/sample/sample_plugin.c:
6302         Add sudoedit support
6303         [a1a6cc4c0cef]
6304
6305 2010-05-14  Todd C. Miller  <Todd.Miller@courtesan.com>
6306
6307         * plugins/sudoers/Makefile.in:
6308         Rely more on VPATH; fixes a dependency issue with the parser.
6309         [45e406ebdea2]
6310
6311         * include/compat.h:
6312         Fix typo introduced in last commit
6313         [3ccb0f853d11]
6314
6315         * include/compat.h:
6316         Emulate seteuid using setreuid() or setresuid() as needed. There are
6317         still a few places that call seteuid() directly.
6318         [36e8efa3a99d]
6319
6320         * src/parse_args.c, src/sudo_edit.c:
6321         Attempt to fix building on systems that only have setuid.
6322         [8e9ba4083318]
6323
6324         * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod:
6325         Clarify sudoedit a tad.
6326         [d39dfaa14ade]
6327
6328 2010-05-13  Todd C. Miller  <Todd.Miller@courtesan.com>
6329
6330         * src/sudo_edit.c:
6331         Fix compilation on HP-UX
6332         [f6e47843d139]
6333
6334         * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod:
6335         Document sudoedit
6336         [4cbf5196d993]
6337
6338         * plugins/sudoers/sudoers.c, src/sudo.c, src/sudo.h, src/sudo_edit.c:
6339         Change how we handle the sudoedit argv. We now require that there
6340         be a "--" in argv to separate the editor and any command line
6341         arguments from the files to be edited.
6342         [20623d549a3c]
6343
6344         * include/sudo_plugin.h, plugins/sample/sample_plugin.c,
6345         plugins/sudoers/Makefile.in, plugins/sudoers/gettime.c,
6346         plugins/sudoers/set_perms.c, plugins/sudoers/sudoers.c,
6347         src/Makefile.in, src/gettime.c, src/parse_args.c, src/sudo.c,
6348         src/sudo.h, src/sudo_edit.c:
6349         Work in progress support for sudoedit. The actual interface used by
6350         the plugin for sudoedit is likely to change.
6351         [c31262a31997]
6352
6353         * plugins/sudoers/find_path.c, plugins/sudoers/sudoers.c,
6354         plugins/sudoers/sudoers.h, plugins/sudoers/visudo.c:
6355         Make find_path() a little more generic by not checking def_foo
6356         variables inside it. Instead, pass in ignore_dot as a function
6357         argument.
6358         [9c23101a094d]
6359
6360         * plugins/sudoers/env.c:
6361         Add version of getenv(3) that uses our own environ pointer.
6362         [0e3783e63534]
6363
6364 2010-05-12  Todd C. Miller  <Todd.Miller@courtesan.com>
6365
6366         * src/script.c:
6367         Avoid a potential race condition if SIGCHLD is received immediately
6368         before we call select().
6369         [99adc5ea7f0a]
6370
6371         * plugins/sudoers/sudoers.c:
6372         Call env_init() before we open the sudoers sources as those may call
6373         our setenv() replacement.
6374         [5f82601f5ab0]
6375
6376         * plugins/sudoers/env.c:
6377         Initialize env_len in env_init()
6378         [7ae02b3029b5]
6379
6380 2010-05-11  Todd C. Miller  <Todd.Miller@courtesan.com>
6381
6382         * doc/sudo.cat, doc/sudo.man.in, doc/sudo.pod:
6383         Document time stamp shortcomings under SECURITY NOTES Use "time
6384         stamp" instead of timestamp.
6385         [2b86120815b2]
6386
6387         * doc/Makefile.in:
6388         Make sed substitution of mansectsu and mansectform global.
6389         [94588632dba0]
6390
6391         * plugins/sudoers/check.c:
6392         If the tty lives on a devpts filesystem, stash the ctime in the tty
6393         ticket file, as it is not updated when the tty is written to. This
6394         helps us determine when a tty has been reused without the user
6395         authenticating again with sudo.
6396         [0e62a31bceb0]
6397
6398         * src/tgetpass.c:
6399         Fix pasto in mulitple signal fix and use _NSIG not NSIG since that
6400         is what our compat checks set.
6401         [df50f0a040c9]
6402
6403         * configure, configure.in:
6404         Add check for whether sudo need to link with -ldl to get dlopen().
6405         This is a bit of a hack that will get reworked when libtool is
6406         updated.
6407         [63bdcf579533]
6408
6409         * plugins/sudoers/check.c:
6410         Fix timestamp removal with -k/-K
6411         [6b4639fef973]
6412
6413         * plugins/sudoers/Makefile.in:
6414         audit.c is now private to the sudoers plugin
6415         [1974f342ae0b]
6416
6417         * configure, configure.in:
6418         Link with -lpthread on HP-UX since a plugin may be linked with
6419         -lpthread and dlopen() will fail if the shared object has a
6420         dependency on -lpthread but the main program is not linked with it.
6421         [d42139391263]
6422
6423         * config.h.in, configure, configure.in, plugins/sudoers/set_perms.c:
6424         Add separate test for getresuid() since HP-UX has setresuid() but no
6425         getresuid().
6426         [910fe727a374]
6427
6428         * doc/Makefile.in:
6429         Remove errant backslash
6430         [dd5464257c69]
6431
6432         * src/script.c:
6433         Fix SIGPIPE handling. Now that we use may use pipes for
6434         stdin/stdout we need to pass any SIGPIPE we receive to the running
6435         command.
6436         [3f6b1991f4fd]
6437
6438         * src/script.c:
6439         Also start the command in the background if stdin is not a tty.
6440         [d93bc33a3740]
6441
6442 2010-05-10  Todd C. Miller  <Todd.Miller@courtesan.com>
6443
6444         * plugins/sudoers/sudoreplay.c, src/script.c, src/sudo.h, src/term.c:
6445         No need to use pseudo-cbreak mode now that we use pipes when stdout
6446         is not a tty. Instead, check whether stdin is a tty and if not,
6447         delay setting the tty to raw mode until the command tries to access
6448         it itself (and receives SIGTTIN or SIGTTOU).
6449         [e68315cf8c6b]
6450
6451         * src/tgetpass.c:
6452         Use an array for signals received instead of a single variable so we
6453         don't lose any when there are multiple different signals.
6454         [2ac726dac864]
6455
6456         * src/tgetpass.c:
6457         Do signal setup after turning off echo, not before. If we are using
6458         a tty but are not the foreground pgrp this will generate SIGTTOU so
6459         we want the default action to be taken (suspend process).
6460         [bebb6209c795]
6461
6462 2010-05-07  Todd C. Miller  <Todd.Miller@courtesan.com>
6463
6464         * src/script.c:
6465         Flush the iobufs on suspend or child exit using the same logic as
6466         the main event loop.
6467         [c627feee1035]
6468
6469         * src/script.c:
6470         Free memory after we are done with it.
6471         [8db9b611b45a]
6472
6473 2010-05-06  Todd C. Miller  <Todd.Miller@courtesan.com>
6474
6475         * doc/HISTORY:
6476         Quest now sponsors Sudo development
6477         [6cc490083bc7]
6478
6479 2010-05-05  Todd C. Miller  <Todd.Miller@courtesan.com>
6480
6481         * doc/Makefile.in:
6482         Install sudo_plugin man page.
6483         [c253729790b2]
6484
6485         * src/script.c:
6486         Go back to reseting io_buffer offset and length (and now also the
6487         EOF handling) in the loop we do the FD_SET, not after we drain the
6488         buffer after write() since we don't know what order reads and writes
6489         will occur in.
6490         [5f38bfa8497f]
6491
6492         * MANIFEST:
6493         audit files moved to sudoers plugin directory
6494         [b1ead182428e]
6495
6496         * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod:
6497         Document plugin_printf and new logging functions.
6498         [fe9430b60ab5]
6499
6500         * src/script.c:
6501         Add support for logging stdin when it is not a tty. There is still a
6502         bug where "cat | sudo cat" has problems because both cat and sudo
6503         are trying to read from the tty.
6504         [04c9c59fcfba]
6505
6506         * include/sudo_plugin.h, plugins/sample/sample_plugin.c,
6507         plugins/sudoers/sudoers.c, src/script.c:
6508         Add separate I/O logging functions for tty in/out and
6509         stdin/stdout/stderr. NOTE: stdin logging does not currently work and
6510         is disabled for now.
6511         [a36dfd4ca935]
6512
6513 2010-05-04  Todd C. Miller  <Todd.Miller@courtesan.com>
6514
6515         * include/sudo_plugin.h, plugins/sample/sample_plugin.c,
6516         plugins/sudoers/iolog.c, plugins/sudoers/ldap.c,
6517         plugins/sudoers/logging.c, plugins/sudoers/plugin_error.c,
6518         plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h,
6519         src/conversation.c, src/sudo.c, src/sudo_plugin_int.h:
6520         Add pointer to a printf like function to plugin open functon. This
6521         can be used instead of the conversation function to display info and
6522         error messages.
6523         [98734eea8ef1]
6524
6525         * Makefile.in:
6526         Stop if make in a subdir fails
6527         [228bb3ad2dbc]
6528
6529         * src/script.c:
6530         Only set user's tty to blocking mode when doing the final flush.
6531         Flush pipes as well as pty master when the process is done.
6532         [20ff67218666]
6533
6534 2010-05-03  Todd C. Miller  <Todd.Miller@courtesan.com>
6535
6536         * plugins/sudoers/ldap.c:
6537         Use print_error() when displaying ldap config info in debugging
6538         mode.
6539         [d142e0cacb22]
6540
6541         * compat/Makefile.in, compat/strdup.c, compat/strndup.c:
6542         No longer need strdup() or strndup() replacements.
6543         [df53697174ec]
6544
6545         * plugins/sudoers/logging.c, plugins/sudoers/plugin_error.c,
6546         plugins/sudoers/sudoers.h:
6547         Add print_error() function that uses the conversation function to
6548         print a variable number of error strings and use it in log_error().
6549         [b1fa2861b575]
6550
6551         * src/script.c, src/sudo.h, src/term.c:
6552         Do not need the opost flag to term_copy() now that we use pipes for
6553         stdout/stderr when they are not a tty.
6554         [f42811f70a19]
6555
6556         * src/script.c:
6557         Use pipes to the sudo process if stdout or stderr is not a tty.
6558         Still needs some polishing and a decision as to whether it is
6559         desirable to add additonal entry points for logging
6560         stdout/stderr/stdin when they are not ttys. That would allow a
6561         replay program to keep things separate and to know whether the
6562         terminal needs to be in raw mode at replay time.
6563         [1a945e0ab2da]
6564
6565 2010-04-30  Todd C. Miller  <Todd.Miller@courtesan.com>
6566
6567         * plugins/sudoers/Makefile.in, plugins/sudoers/audit.c,
6568         plugins/sudoers/bsm_audit.c, plugins/sudoers/bsm_audit.h,
6569         src/audit.c, src/bsm_audit.c, src/bsm_audit.h:
6570         Move audit sources into the sudoers plugin dir; the driver does not
6571         use them.
6572         [50ec36422cd0]
6573
6574         * compat/getline.c, compat/mksiglist.c, compat/nanosleep.c,
6575         compat/strdup.c, compat/strndup.c, plugins/sample/sample_plugin.c,
6576         plugins/sudoers/boottime.c, plugins/sudoers/getdate.c,
6577         plugins/sudoers/match.c, plugins/sudoers/sudoreplay.c,
6578         plugins/sudoers/timestr.c, plugins/sudoers/vasgroups.c, src/alloc.c,
6579         src/atobool.c, src/audit.c, src/lbuf.c, src/list.c, src/sesh.c,
6580         src/term.c, src/ttysize.c:
6581         Use angle brackets when including headers that can only be found
6582         when an -I flag is specified. The files in the compat dir could get
6583         away with double quotes here but I've converted all the source files
6584         to use angle brackets for consistency.
6585         [9e30a8fc6d4b]
6586
6587         * plugins/sudoers/Makefile.in:
6588         Add missing -I$(top_srcdir) to CPPFLAGS so includes in the compat
6589         dir can be found when building outside the source tree.
6590         [1150934b79dd]
6591
6592         * plugins/sudoers/Makefile.in:
6593         Clean up links in distclean
6594         [78595028be8b]
6595
6596         * plugins/sudoers/Makefile.in:
6597         Hack around VPATH semantic differences by symlinking files we need
6598         from ../../src into the current directory and build those. A better
6599         fix would be to either make a .a or .la file with those files in it
6600         or simply use a single, flat, Makefile instead of per-subdirs
6601         Makefiles.
6602         [892c332d3f05]
6603
6604         * plugins/sudoers/Makefile.in, src/Makefile.in, src/fmt_string.c:
6605         fmt_string is used by the sudoers plugin too so do not include
6606         sudo.h (which is not really needed here anyway)
6607         [231c35e3941f]
6608
6609         * compat/Makefile.in, plugins/sample/Makefile.in,
6610         plugins/sudoers/Makefile.in, src/Makefile.in:
6611         Fix building with non-BSD versions of make such as GNU make.
6612         Requires VPATH support, which should be in any non-neolithic make.
6613         [dc174f135919]
6614
6615         * configure, configure.in, plugins/sudoers/Makefile.in,
6616         plugins/sudoers/auth/sudo_auth.c, plugins/sudoers/sudoers.c,
6617         src/Makefile.in:
6618         Re-enable bsm audit. Currently auditing is done within the sudoers
6619         plugin itself. If possible, this should really be done in the main
6620         driver but we don't presently have the needed data to do that. This
6621         will be re-evaluated when Linux audit support is added.
6622         [1d05a3236bfe]
6623
6624         * compat/Makefile.in, plugins/sample/Makefile.in,
6625         plugins/sudoers/Makefile.in, src/Makefile.in:
6626         Remove extraneous $srcdir and use more .c.lo and .c.o rules instead
6627         of explicit rules in the dependency.
6628         [88f80efd25f0]
6629
6630         * plugins/sudoers/visudo.c:
6631         Fix mismerge; alias_remove_recursive() now returns int
6632         [6257a4849641]
6633
6634 2010-04-29  Todd C. Miller  <Todd.Miller@courtesan.com>
6635
6636         * plugins/sudoers/visudo.c:
6637         Fix a crash when checking a sudoers file that has aliases that
6638         reference themselves. Based on a diff from David Wood.
6639         [545d194484a7]
6640
6641         * src/script.c:
6642         Print signal info after restoring the tty mode, not before.
6643         [a68618e67435]
6644
6645         * src/script.c:
6646         Defer call to alarm() until after we fork the child. Pass correct
6647         pid to terminate_child() If the command exits due to signal, set
6648         alive to false like we do when it exits normally. Add missing
6649         check for errpipe[0] != -1 before using it in FD_ISSET
6650         [22f0a1549391]
6651
6652 2010-04-28  Todd C. Miller  <Todd.Miller@courtesan.com>
6653
6654         * plugins/sudoers/boottime.c:
6655         Use 1/0 instead of TRUE/FALSE so we don't need sudoers.h
6656         [0e627170c6e8]
6657
6658 2010-04-27  Todd C. Miller  <Todd.Miller@courtesan.com>
6659
6660         * src/Makefile.in:
6661         Simplify dependencies by using .c.o and .c.lo rules.
6662         [6abcaef5d1ac]
6663
6664         * configure, configure.in, plugins/sudoers/Makefile.in,
6665         src/Makefile.in:
6666         Substitute in @PROGS@ into src/Makefile to add sesh
6667         [cc46d3b6208f]
6668
6669 2010-04-26  Todd C. Miller  <Todd.Miller@courtesan.com>
6670
6671         * plugins/sudoers/sudoers.c:
6672         Add back calls to log_denial() if sudoers does not allow the
6673         command.
6674         [9783316207f0]
6675
6676         * plugins/sudoers/sudoers.c:
6677         Pass in correct pwflag for list and validate.
6678         [973dd56d4b81]
6679
6680         * plugins/sudoers/env.c:
6681         Add missing check for NULL in validate_env_vars
6682         [1d6eb6957824]
6683
6684         * src/Makefile.in:
6685         Add sudo_noexec.la to "all" target, otherwise it only gets built at
6686         install time.
6687         [644a9694d2ef]
6688
6689         * plugins/sudoers/sudoers.c:
6690         Only set sudo_user.env_vars if the env_add list is empty.
6691         [fccdf6f0e0e2]
6692
6693         * plugins/sudoers/sudoers.c:
6694         Set sudo_user.env_vars so that environment variables specified on
6695         the command line get logged correctly.
6696         [9b51012c491e]
6697
6698         * plugins/sudoers/env.c, plugins/sudoers/logging.c,
6699         plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h:
6700         Re-enable environment files and setting environment variables on the
6701         command line.
6702         [5662d5645dbd]
6703
6704 2010-04-24  Todd C. Miller  <Todd.Miller@courtesan.com>
6705
6706         * plugins/sudoers/check.c:
6707         Fix typo in last commit (ifndef vs ifdef) Make sure we pass ctime()
6708         a pointer to time_t as tv_sec in struct timeval may be long.
6709         [4de0c46e788e]
6710
6711         * plugins/sudoers/check.c:
6712         Don't stash ctime in on-disk tty ticket info for now; on many
6713         (most?) systems the ctime is updated when the tty is written to.
6714         Once I have a better idea of what systems do not update ctime on
6715         ttys (and have a way to test for this) the ctime stash will be
6716         conditionally re-enabled.
6717         [a90eeec0f648]
6718
6719 2010-04-23  Todd C. Miller  <Todd.Miller@courtesan.com>
6720
6721         * MANIFEST, Makefile.in:
6722         Add back "dist" target, this time using a MANIFEST file
6723         [29277c05499f]
6724
6725         * Makefile.in:
6726         Remove Makefile in distclean target
6727         [83d695f4f450]
6728
6729         * Makefile.in, src/Makefile.in:
6730         Update clean and cleandir targets
6731         [ad7b2afeb9c1]
6732
6733         * include/fileops.h, plugins/sudoers/sudoers.h, src/fileops.c,
6734         src/sudo.h:
6735         Move fileops.c defines and prototypes to filesops.h
6736         [4545e9b6892d]
6737
6738         * plugins/sudoers/check.c:
6739         Lock the tty timestamp when writing. We shouldn't have to lock when
6740         reading since the file is updated via a single write system call.
6741         [0c7276f02696]
6742
6743 2010-04-22  Todd C. Miller  <Todd.Miller@courtesan.com>
6744
6745         * plugins/sudoers/alias.c, plugins/sudoers/check.c,
6746         plugins/sudoers/defaults.c, plugins/sudoers/find_path.c,
6747         plugins/sudoers/getspwuid.c, plugins/sudoers/gettime.c,
6748         plugins/sudoers/goodpath.c, plugins/sudoers/interfaces.c,
6749         plugins/sudoers/iolog.c, plugins/sudoers/ldap.c,
6750         plugins/sudoers/logging.c, plugins/sudoers/match.c,
6751         plugins/sudoers/nonunix.h, plugins/sudoers/parse.c,
6752         plugins/sudoers/pwutil.c, plugins/sudoers/redblack.c,
6753         plugins/sudoers/sudo_nss.c, plugins/sudoers/sudoers.c,
6754         plugins/sudoers/sudoreplay.c, plugins/sudoers/testsudoers.c,
6755         plugins/sudoers/timestr.c, plugins/sudoers/tsgetgrpw.c,
6756         plugins/sudoers/vasgroups.c, plugins/sudoers/visudo.c:
6757         Convert to ANSI C function declarations
6758         [9c45def57cf7]
6759
6760         * plugins/sudoers/sudoers.h:
6761         Remove extraneous bits and classify by source file.
6762         [e8ea9f109ebb]
6763
6764         * include/compat.h:
6765         Add timercmp macro for systems without it
6766         [d3bf87b1d08e]
6767
6768         * plugins/sudoers/boottime.c, plugins/sudoers/check.c,
6769         plugins/sudoers/sudoers.h:
6770         get_boottime() now fills in a timeval struct
6771         [3573c3f44e11]
6772
6773         * plugins/sudoers/check.c:
6774         Store info from stat(2)ing the tty in the tty ticket when tty
6775         tickets are in use. On most systems, this closes the loophole
6776         whereby a user can log out of a tty, log back in and still have the
6777         timestamp be valid.
6778         [53380f9f5242]
6779
6780         * config.h.in, configure.in:
6781         Add timespec2timeval and use it when getting ctime/mtime
6782         [4cb7f7caec2c]
6783
6784 2010-04-20  Todd C. Miller  <Todd.Miller@courtesan.com>
6785
6786         * plugins/sudoers/auth/sudo_auth.c, plugins/sudoers/set_perms.c,
6787         plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h,
6788         plugins/sudoers/testsudoers.c:
6789         Convert perm setting to push/pop model; still needs some work Use
6790         the stashed runas groups instead of using getgrouplist() Reset perms
6791         to the initial value on error
6792         [09c072ebde8b]
6793
6794         * config.h.in, configure.in:
6795         fix ctim_get and mtim_get macros
6796         [58773dc1e360]
6797
6798         * config.h.in, configure, configure.in, include/compat.h,
6799         plugins/sudoers/check.c, plugins/sudoers/gettime.c,
6800         plugins/sudoers/sudoers.h, plugins/sudoers/visudo.c, src/fileops.c:
6801         Use timeval directly instead of converting to timespec when dealing
6802         with file times and time of day.
6803         [a0ce1ae00a67]
6804
6805         * plugins/sudoers/Makefile.in:
6806         Don't like sudoreplay with libsudoers.la due to a yacc symbol
6807         conflict.
6808         [f1a59cc63a15]
6809
6810 2010-04-18  Todd C. Miller  <Todd.Miller@courtesan.com>
6811
6812         * configure, configure.in:
6813         Darwin >= 9.x has real setreuid(2)
6814         [7ec942a64275]
6815
6816 2010-04-17  Todd C. Miller  <Todd.Miller@courtesan.com>
6817
6818         * plugins/sudoers/env.c, plugins/sudoers/sudoers.h:
6819         Ansify env.c
6820         [f58551bad10a]
6821
6822         * plugins/sudoers/env.c, plugins/sudoers/sudoers.c,
6823         plugins/sudoers/sudoers.h:
6824         Remove remaining references to the environ pointer.
6825         [96faa530816a]
6826
6827 2010-04-16  Todd C. Miller  <Todd.Miller@courtesan.com>
6828
6829         * config.h.in, configure, configure.in, plugins/sudoers/env.c:
6830         Don't change the environ directly in the sudoers plugin
6831         [6db48ed3f7e0]
6832
6833 2010-04-15  Todd C. Miller  <Todd.Miller@courtesan.com>
6834
6835         * plugins/sudoers/sudoers.c:
6836         Fix typo
6837         [4aa452b07f8f]
6838
6839         * plugins/sudoers/alias.c:
6840         Fix use after free in error message when a duplicate alias exists.
6841         [ce1d2812ee34]
6842
6843 2010-04-14  Todd C. Miller  <Todd.Miller@courtesan.com>
6844
6845         * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod,
6846         src/parse_args.c:
6847         Add a "noninteractive" boolean to the settings passed in to the
6848         plugin's open function that is set when the user specifies the -n
6849         flag.
6850         [68f8d9d6d4d0]
6851
6852         * config.h.in, configure, configure.in, plugins/sudoers/env.c:
6853         Add workaround for the lack of the environ pointer on Mac OS X in
6854         dlopen()ed modules. Use of environ in the sudoers plugin should
6855         ultimately be removed but this will do for the moment.
6856         [80c61647434f]
6857
6858         * plugins/sudoers/visudo.c:
6859         Set errorfile to the sudoers path if we set parse_error manually.
6860         This prevents a NULL dereference in printf() when checking a sudoers
6861         file in strict mode when alias errors are present.
6862         [45e249ca99f7]
6863
6864         * plugins/sudoers/sudoers.c:
6865         Main sudo no longer print "unable to execute" on exec failure so do
6866         it here.
6867         [50aaf62b43b5]
6868
6869 2010-04-13  Todd C. Miller  <Todd.Miller@courtesan.com>
6870
6871         * src/script.c:
6872         Use a pipe to pass back errno to the parent if execve() fails. If we
6873         get an error in script_child(), kill the command and exit.
6874         [dc3bf870f91b]
6875
6876         * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod,
6877         src/parse_args.c, src/sudo.c:
6878         Handle plugin's open function returning -2 (usage error).
6879         [aadf900c1de8]
6880
6881         * src/script.c:
6882         If execve() fails, leave it to the plugin to print an error string.
6883         [e25748f2d5b9]
6884
6885         * src/script.c:
6886         If execve fails in logging mode, pass the errno directly to the
6887         grandparent on the backchannel and exit. The immediate parent will
6888         get SIGCHLD and try to report that status but its parent will no
6889         longer be listening. It would probably be cleaner to pass this over
6890         a pipe in script_child().
6891         [cb122acc81a8]
6892
6893         * plugins/sudoers/sudoers.c:
6894         Don't override rval with results of check_user() unless it failed.
6895         [46fb7e87ac7d]
6896
6897 2010-04-12  Todd C. Miller  <Todd.Miller@courtesan.com>
6898
6899         * doc/sudoers.cat, doc/sudoers.man.in, doc/sudoers.pod:
6900         Fix typo
6901         [ccd0b693f3da]
6902
6903         * src/parse_args.c:
6904         NULL-terminate env_add
6905         [2c534368a0c3]
6906
6907 2010-04-11  Todd C. Miller  <Todd.Miller@courtesan.com>
6908
6909         * src/sudo.c:
6910         Call the I/O log open function before the I/O version function.
6911         [e88bf898990b]
6912
6913         * plugins/sudoers/iolog.c:
6914         Remove io_conv and just use sudo_conv
6915         [a280052468eb]
6916
6917         * plugins/sudoers/set_perms.c:
6918         Fix set/restore perms for systems w/o setresuid
6919         [4160517f6666]
6920
6921 2010-04-10  Todd C. Miller  <Todd.Miller@courtesan.com>
6922
6923         * plugins/sudoers/check.c, plugins/sudoers/logging.c,
6924         plugins/sudoers/parse.c, plugins/sudoers/set_perms.c,
6925         plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h:
6926         Primitive set/restore permissions. Will be replaced by a push/pop
6927         model.
6928         [aae102290866]
6929
6930         * src/script.c:
6931         Only need to take action on SIGCHLD in parent if no I/O logger. If
6932         there is an I/O logger we will receive ECONNRESET or EPIPE when we
6933         try to read from the socketpair.
6934         [e1e4560401f6]
6935
6936 2010-04-09  Todd C. Miller  <Todd.Miller@courtesan.com>
6937
6938         * compat/memrchr.c, doc/sudoers.cat, doc/sudoers.man.in,
6939         doc/sudoers.pod, plugins/sudoers/find_path.c:
6940         Merge fb4d571495fa from the 1.7 branch to trunk.
6941         [c8fb424ad4d2]
6942
6943 2010-04-08  Todd C. Miller  <Todd.Miller@courtesan.com>
6944
6945         * src/script.c:
6946         Don't set SA_RESTART when registering SIGALRM handler. Do set
6947         SA_RESTART when registering SIGWINCH handler.
6948         [173472b76525]
6949
6950         * doc/Makefile.in:
6951         Add dev targets for *.man.in and *.cat that don't specfify the
6952         $(srcdir) prefix.
6953         [b62f425da2e4]
6954
6955         * src/script.c:
6956         If log_input or log_output returns false, terminate the command.
6957         [074f4c0c34a0]
6958
6959         * src/script.c:
6960         Better signal handling. Instead of using a single variable to store
6961         the received signal, use an array so we can't lose a signal when
6962         multiple are sent. Fix process termination by SIGALRM in non-I/O
6963         logger mode. Fix relaying terminal signals to the child in non-I/O
6964         logger mode.
6965         [7a4723aca99d]
6966
6967         * src/script.c:
6968         Fix a race between when we get the child pid in the parent and when
6969         the child process exits. The problem exhibited as a hang after a
6970         short-lived process, e.g. "sudo id" when no IO logger was enabled.
6971         [80bcc0aca70b]
6972
6973 2010-04-07  Todd C. Miller  <Todd.Miller@courtesan.com>
6974
6975         * doc/sudoers.cat, doc/sudoers.man.in, doc/sudoers.pod:
6976         Add a note about the security implications of the fast_glob option.
6977         [c37a92ab7c93]
6978
6979 2010-04-06  Todd C. Miller  <Todd.Miller@courtesan.com>
6980
6981         * config.h.in, configure, configure.in:
6982         Fix up some AC_DEFINE descriptions and regen config.h.in
6983         [f4655adc0db3]
6984
6985 2010-04-05  Todd C. Miller  <Todd.Miller@courtesan.com>
6986
6987         * include/missing.h:
6988         No longer check for strdup or strndup for LIBOBJ replacement.
6989         [fdc764ee8109]
6990
6991         * src/script.c:
6992         Avoid installing signal handlers that are io-logger specific. Fixes
6993         job control when no io logger is enabled.
6994         [0853dd0906d4]
6995
6996         * doc/Makefile.in:
6997         Only regen man pages from pod when configured with --with-devel
6998         [ab1995f8103d]
6999
7000 2010-04-04  Todd C. Miller  <Todd.Miller@courtesan.com>
7001
7002         * Makefile, Makefile.in, configure, configure.in:
7003         Top-level Makefile.in. Nothing is currently substituted but this is
7004         needed for separate build dirs.
7005         [e80873cbd201]
7006
7007         * compat/Makefile.in, doc/Makefile.in, plugins/sample/Makefile.in,
7008         plugins/sudoers/Makefile.in, src/Makefile.in:
7009         Fix out-of-tree builds
7010         [59a35bef07b8]
7011
7012         * Merge
7013         [386b848047e9]
7014
7015         * doc/Makefile.in:
7016         We always install sudoreplay in 1.8
7017         [ce52ba6617c9]
7018
7019 2010-04-03  Todd C. Miller  <Todd.Miller@courtesan.com>
7020
7021         * compat/siglist.in:
7022         SIGPOLL is sometimes the same as SIGIO (like on HP-UX)
7023         [6d69e1b05faf]
7024
7025 2010-04-02  Todd C. Miller  <Todd.Miller@courtesan.com>
7026
7027         * configure, configure.in:
7028         No need to provide strdup() or strndup(), sudo uses estrdup() and
7029         estrndup()
7030         [57ec23b72958]
7031
7032 2010-04-04  Todd C. Miller  <Todd.Miller@courtesan.com>
7033
7034         * plugins/sudoers/iolog.c, plugins/sudoers/sudoers.c:
7035         Free str after using it in the version method. Use sudo_conv, not
7036         io_conv since we don't have the IO conversation function pointer in
7037         the I/O version method anymore now that io_open is delayed.
7038         [f2ed132adeb0]
7039
7040 2010-04-02  Todd C. Miller  <Todd.Miller@courtesan.com>
7041
7042         * compat/Makefile.in, compat/mksiglist.c, compat/mksiglist.h,
7043         compat/siglist.in:
7044         Add license to mksiglist.c and note that the bits from pdksh are
7045         public domain
7046         [d8121a2467e8]
7047
7048         * compat/Makefile.in:
7049         Fix LIBOBJDIR vs. srcdir wrt the siglist bits
7050         [164160148421]
7051
7052         * plugins/sudoers/Makefile.in:
7053         Add sudoreplay testsudoers and visudo to clean target
7054         [138a17e51c0c]
7055
7056         * compat/Makefile.in, compat/mksiglist.c, compat/mksiglist.h,
7057         compat/siglist.in, compat/strsignal.c, configure, configure.in,
7058         include/missing.h, src/script.c:
7059         Create our own sys_siglist for systems without it for use by
7060         strsignal()
7061         [2e5da011ebc3]
7062
7063         * compat/Makefile.in:
7064         Remove duplicate $(LIBOBJDIR)
7065         [adf9abc9432f]
7066
7067 2010-04-01  Todd C. Miller  <Todd.Miller@courtesan.com>
7068
7069         * plugins/sudoers/sudoers.c, src/sudo.c, src/sudo_edit.c:
7070         Main sudo should not block signals; the plugin should do this in
7071         check_policy.
7072         [3f3736a7c5ed]
7073
7074 2010-03-31  Todd C. Miller  <Todd.Miller@courtesan.com>
7075
7076         * src/script.c:
7077         Fix a sizeof(ptr) vs. sizeof(*ptr)
7078         [aa1bcf5afcce]
7079
7080         * src/script.c:
7081         Unlike most operating systems, HP-UX select() is not interrupted by
7082         SIGCHLD when the signal is registered with SA_RESTART. If we clear
7083         SA_RESTART when calling sigaction() for SIGCHLD we get the expected
7084         behavior and the code in the select() loops already handles EINTR
7085         correctly.
7086         [9eba0115e35a]
7087
7088         * compat/getprogname.c:
7089         progname should be const
7090         [130228f062b7]
7091
7092         * plugins/sudoers/Makefile.in:
7093         Move --tag=disable-static to when we link sudoers.la, not when we
7094         install.
7095         [ceb5e6c3b78b]
7096
7097         * src/load_plugins.c:
7098         Load the sudoers I/O plugin by default too now that it is hooked up.
7099         [ea38befd0742]
7100
7101 2010-03-30  Todd C. Miller  <Todd.Miller@courtesan.com>
7102
7103         * src/pty.c:
7104         It looks like AIX doesn't need to push STREAMS modules for ptys.
7105         [22da618ba0a1]
7106
7107 2010-03-28  Todd C. Miller  <Todd.Miller@courtesan.com>
7108
7109         * src/parse_args.c, src/sudo.c:
7110         Delay calling the I/O plugin open function until the policy plugin
7111         returns success.
7112         [f3297c325b48]
7113
7114 2010-03-27  Todd C. Miller  <Todd.Miller@courtesan.com>
7115
7116         * plugins/sudoers/Makefile.in, plugins/sudoers/iolog.c,
7117         plugins/sudoers/set_perms.c, plugins/sudoers/sudoers.c,
7118         plugins/sudoers/sudoers.h:
7119         Add back io logging (transcript) support. Currently, the open
7120         function runs too early and it is not possible to use the io module
7121         independently of the policy module.
7122         [9bd932f66226]
7123
7124         * plugins/sudoers/set_perms.c:
7125         Comment out dead code; will be removed when set_perms is rewritten.
7126         [af7a995284f8]
7127
7128 2010-03-23  Todd C. Miller  <Todd.Miller@courtesan.com>
7129
7130         * plugins/sudoers/sudoers.c:
7131         Fix off by one error when allocating user_groups.
7132         [6281fcf9c3bb]
7133
7134 2010-03-22  Todd C. Miller  <Todd.Miller@courtesan.com>
7135
7136         * configure, configure.in, plugins/sudoers/Makefile.in:
7137         Add REPLAY_LIBS for sudoreplay and add -lrt to it on Solaris.
7138         [fbce3e9eda3a]
7139
7140         * plugins/sudoers/sudoers.c:
7141         Fix typo in preserve groups case
7142         [1fd72024fb5a]
7143
7144         * plugins/sudoers/sudoers.c:
7145         In command_info it is "runas_groups" not "groups".
7146         [5c64dce4f285]
7147
7148         * src/sudo.c:
7149         Fix iteration over runas_groups list.
7150         [b3c45a0cd643]
7151
7152         * configure, configure.in, plugins/sudoers/env.c,
7153         plugins/sudoers/match.c, src/script.c:
7154         Merge 5177a284b9ff 549f8f7c2463 88f3181692fe from 1.7 branch.
7155         [a8108a0776c2]
7156
7157         * compat/getgrouplist.c:
7158         getgrouplist(3) for those without it
7159         [4ab4d21e3b16]
7160
7161         * plugins/sudoers/sudoers.c:
7162         Set preserve_groups or groups list in command_info
7163         [1266119ad654]
7164
7165         * src/sudo.c:
7166         Fix setting of groups list
7167         [e75315e40bd4]
7168
7169         * config.h.in, configure, configure.in, include/compat.h,
7170         include/missing.h:
7171         Add checks for getgrset and getgrouplist and use replacement
7172         getgrouplist if the system doesn't support it.
7173         [a62b8ba50863]
7174
7175         * src/parse_args.c:
7176         Pass in preserve_groups when the -P flag is specified as per the
7177         design
7178         [7420c5d15474]
7179
7180         * plugins/sudoers/sudoers.c:
7181         Check preserve_groups and ignore_ticket args with atobool instead of
7182         assuming they are true if present.
7183         [71c905702697]
7184
7185 2010-03-21  Todd C. Miller  <Todd.Miller@courtesan.com>
7186
7187         * plugins/sudoers/Makefile.in, plugins/sudoers/error.c,
7188         plugins/sudoers/plugin_error.c:
7189         Rename plugin-specific error.c to plugin_error.c Wire up visudo,
7190         sudoreplay and testsudoers in the build
7191         [9d581d5fa4d4]
7192
7193         * src/Makefile.in, src/term.c:
7194         term.c does not needto include sudo.h
7195         [f6683cdcd2dd]
7196
7197         * TODO, doc/sudo_plugin.cat, doc/sudo_plugin.man.in,
7198         doc/sudo_plugin.pod:
7199         Document the -2 return in the check_policy section too
7200         [e9cb4c34bbcf]
7201
7202         * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod,
7203         plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h,
7204         src/parse_args.c, src/sudo.c, src/sudo.h:
7205         Fix the -s and -i flags and add support for the "implied_shell"
7206         option. If the user does not specify a command, sudo will now pass
7207         in the path to the user's shell and set impied_shell=true. The
7208         plugin can them either check the command normally or return -2 to
7209         cause sudo to print a usage message and exit.
7210         [bf889c38f229]
7211
7212 2010-03-19  Todd C. Miller  <Todd.Miller@courtesan.com>
7213
7214         * config.h.in, configure, configure.in, src/load_plugins.c:
7215         Bring back SUDOERS_PLUGIN but add .dylib -> .so conversion for
7216         Darwin where libraries end in .dylib but modules end in .so
7217         [2c56aaa38e21]
7218
7219         * plugins/sudoers/parse.c:
7220         Better prefix determination now that we can't rely on len==0 to tell
7221         the beginning on an entry.
7222         [622bf18179e9]
7223
7224         * plugins/sudoers/ldap.c:
7225         display_bound_defaults() stub should return 0, not 1 since it is a
7226         count, not a boolean.
7227         [0327a6c3d55d]
7228
7229         * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod:
7230         Document progname in settings
7231         [42031d56a2e3]
7232
7233         * compat/getprogname.c, include/compat.h,
7234         plugins/sample/sample_plugin.c, plugins/sudoers/sudoers.c,
7235         src/parse_args.c, src/sudo.c:
7236         Rewrite compat/getprogname.c and add setprogname(). The progname is
7237         now passed to the plugin via the settings array.
7238         [25d8663e6006]
7239
7240         * configure, configure.in, plugins/sudoers/Makefile.in:
7241         Fix --with-ldap
7242         [b64b633f426d]
7243
7244         * plugins/sudoers/sudo_nss.c:
7245         Add missing whitespace for Runas and Command-specific defaults
7246         [65f4ddf5545e]
7247
7248         * plugins/sudoers/ldap.c, plugins/sudoers/parse.c,
7249         plugins/sudoers/sudo_nss.c:
7250         Use embedded newlines in lbuf instead of multiple calls to
7251         lbuf_print.
7252         [eed3af9cc3e1]
7253
7254         * src/lbuf.c:
7255         Add support for embedded newlines.
7256         [e11f79b18deb]
7257
7258 2010-03-18  Todd C. Miller  <Todd.Miller@courtesan.com>
7259
7260         * compat/getprogname.c:
7261         If system doesn't support getprogname or __programe and we are
7262         building a shared object don't bother with Argc/Argv, just return
7263         "sudo"
7264         [aebde9062be7]
7265
7266         * config.h.in, configure, configure.in, src/load_plugins.c:
7267         Hard-code sudoers.so instead of using SUDOERS_PLUGIN since libtool
7268         appears to always install a shared object with the .so suffix.
7269         [f9bbd0c0e9d3]
7270
7271         * compat/Makefile.in, configure, configure.in,
7272         plugins/sample/Makefile.in, plugins/sudoers/Makefile.in,
7273         src/Makefile.in:
7274         Play more nicely with libtool and let it build libreplace (was
7275         libmissing) for us.
7276         [a4c6ebb2495c]
7277
7278         * include/missing.h:
7279         Include stdarg.h for va_list rather than requiring all consumers of
7280         missing.h to include stdarg.h themselves.
7281         [37382df948de]
7282
7283         * include/lbuf.h, plugins/sudoers/auth/sudo_auth.c,
7284         plugins/sudoers/check.c, plugins/sudoers/sudo_nss.c,
7285         plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h, src/lbuf.c,
7286         src/parse_args.c:
7287         Pass in output function to lbuf_init() instead of writing to stdout.
7288         A side effect is that the usage info can now go to stderr as it
7289         should.
7290         [6d261261a072]
7291
7292 2010-03-17  Todd C. Miller  <Todd.Miller@courtesan.com>
7293
7294         * include/lbuf.h, plugins/sudoers/sudo_nss.c,
7295         plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h, src/lbuf.c,
7296         src/parse_args.c, src/sudo.c:
7297         Use number of tty columns that is passed in user_info instead of
7298         getting it directly in the lbuf code.
7299         [8a16635c2638]
7300
7301         * plugins/sudoers/alias.c, plugins/sudoers/auth/dce.c,
7302         plugins/sudoers/auth/kerb5.c, plugins/sudoers/auth/pam.c,
7303         plugins/sudoers/auth/sia.c, plugins/sudoers/auth/sudo_auth.h,
7304         plugins/sudoers/check.c, plugins/sudoers/defaults.c,
7305         plugins/sudoers/defaults.h, plugins/sudoers/env.c,
7306         plugins/sudoers/getdate.c, plugins/sudoers/getdate.y,
7307         plugins/sudoers/gram.c, plugins/sudoers/gram.y,
7308         plugins/sudoers/interfaces.h, plugins/sudoers/logging.c,
7309         plugins/sudoers/logging.h, plugins/sudoers/match.c,
7310         plugins/sudoers/mon_systrace.h, plugins/sudoers/parse.c,
7311         plugins/sudoers/parse.h, plugins/sudoers/pwutil.c,
7312         plugins/sudoers/redblack.c, plugins/sudoers/redblack.h,
7313         plugins/sudoers/set_perms.c, plugins/sudoers/sudo_nss.h,
7314         plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h,
7315         plugins/sudoers/sudoreplay.c, plugins/sudoers/testsudoers.c,
7316         plugins/sudoers/timestr.c, plugins/sudoers/toke.c,
7317         plugins/sudoers/toke.l, plugins/sudoers/tsgetgrpw.c,
7318         plugins/sudoers/visudo.c:
7319         Kill __P in sudoers
7320         [63601e6cb171]
7321
7322         * config.h.in, configure, configure.in, src/load_plugins.c:
7323         Set the sudoers plugin name in configure so we get the extension
7324         right.
7325         [edad89924cd1]
7326
7327         * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod:
7328         Document lines/cols in user_info
7329         [a808872394f3]
7330
7331         * src/Makefile.in, src/sudo.c, src/sudo.h, src/ttysize.c:
7332         Add tty size to user info
7333         [23f3d27e77a7]
7334
7335         * src/script.c:
7336         Use TIOCGSIZE/TIOCSSIZE instead of TIOCGWINSZ/TIOCSWINSZ
7337         [a2208dd09051]
7338
7339 2010-03-16  Todd C. Miller  <Todd.Miller@courtesan.com>
7340
7341         * plugins/sudoers/sudoers.c:
7342         Kill dead code Add missing sigsetjmp in sudo_policy_invalidate Error
7343         out if we fail to lookup the user's name that is passed in
7344         [e4e3728ed482]
7345
7346         * plugins/sudoers/error.c:
7347         Pass the error value back via siglongjmp.
7348         [667b8ad575ce]
7349
7350         * plugins/sudoers/check.c:
7351         Use conversation function for lecture.
7352         [1ab4719f509b]
7353
7354         * plugins/sudoers/check.c:
7355         Don't update ticket file if verify_user returns FALSE.
7356         [2bbc46a39a2b]
7357
7358 2010-03-15  Todd C. Miller  <Todd.Miller@courtesan.com>
7359
7360         * plugins/sudoers/sudoers.c, src/sudo.c:
7361         Wire up invalidate and validate methods for sudoers
7362         [c0630c7bca47]
7363
7364         * plugins/sudoers/check.c, plugins/sudoers/sudoers.c,
7365         plugins/sudoers/sudoers.h:
7366         Add support for -k flag with a command.
7367         [edad239b098b]
7368
7369         * src/parse_args.c:
7370         Allow -k to be specified with a command.
7371         [43a45add9974]
7372
7373         * plugins/sudoers/sudoers.c:
7374         Wire up policy_list
7375         [27cc35699eca]
7376
7377         * plugins/sudoers/error.c:
7378         Add newline at the end of message and space after the colon in
7379         warning message
7380         [5a591aa8e744]
7381
7382         * plugins/sudoers/auth/sudo_auth.c:
7383         Add missing newline after pass password warning
7384         [337dba3870a7]
7385
7386         * plugins/sudoers/sudoers.c:
7387         Set user_groups and user_ngroups based on user_info
7388         [61bee85128c8]
7389
7390         * plugins/sudoers/error.c:
7391         Make this compile
7392         [7041c441e1c8]
7393
7394         * plugins/sudoers/error.c, plugins/sudoers/sudoers.c:
7395         Make _warning in error.c use the conversation function and remove
7396         commented out warning/warningx in sudoers.c.
7397         [7c9b09024b63]
7398
7399         * plugins/sudoers/logging.c:
7400         Use siglongjmp() in log_error for fatal errors
7401         [b50e26f1c73f]
7402
7403         * plugins/sample/Makefile.in, plugins/sudoers/Makefile.in:
7404         Quiet a libtool warning
7405         [b2331fb006bc]
7406
7407         * Makefile:
7408         Build sudoers plugin
7409         [5cdf06e66978]
7410
7411         * plugins/sudoers/gram.c, plugins/sudoers/gram.y:
7412         Use warningx in yyerror() so the conversation function gets used
7413         when built as part of sudoers.
7414         [85f964215eef]
7415
7416 2010-03-14  Todd C. Miller  <Todd.Miller@courtesan.com>
7417
7418         * plugins/sudoers/auth/pam.c:
7419         Rename sudo_conv to conversation to avoid a namespace conflict.
7420         [1ad359d36be9]
7421
7422         * plugins/sudoers/Makefile.in, plugins/sudoers/alias.c,
7423         plugins/sudoers/auth/afs.c, plugins/sudoers/auth/aix_auth.c,
7424         plugins/sudoers/auth/bsdauth.c, plugins/sudoers/auth/dce.c,
7425         plugins/sudoers/auth/fwtk.c, plugins/sudoers/auth/kerb4.c,
7426         plugins/sudoers/auth/kerb5.c, plugins/sudoers/auth/pam.c,
7427         plugins/sudoers/auth/passwd.c, plugins/sudoers/auth/rfc1938.c,
7428         plugins/sudoers/auth/secureware.c, plugins/sudoers/auth/securid.c,
7429         plugins/sudoers/auth/securid5.c, plugins/sudoers/auth/sia.c,
7430         plugins/sudoers/auth/sudo_auth.c, plugins/sudoers/auth/sudo_auth.h,
7431         plugins/sudoers/check.c, plugins/sudoers/defaults.c,
7432         plugins/sudoers/env.c, plugins/sudoers/error.c,
7433         plugins/sudoers/find_path.c, plugins/sudoers/getspwuid.c,
7434         plugins/sudoers/goodpath.c, plugins/sudoers/gram.c,
7435         plugins/sudoers/gram.y, plugins/sudoers/interfaces.c,
7436         plugins/sudoers/ldap.c, plugins/sudoers/logging.c,
7437         plugins/sudoers/match.c, plugins/sudoers/mon_systrace.c,
7438         plugins/sudoers/parse.c, plugins/sudoers/pwutil.c,
7439         plugins/sudoers/redblack.c, plugins/sudoers/set_perms.c,
7440         plugins/sudoers/sudo_nss.c, plugins/sudoers/sudoers.c,
7441         plugins/sudoers/sudoers.h, plugins/sudoers/testsudoers.c,
7442         plugins/sudoers/toke.c, plugins/sudoers/tsgetgrpw.c,
7443         plugins/sudoers/vasgroups.c, plugins/sudoers/visudo.c:
7444         Initial bits of sudoers plugin; still needs work.
7445         [af2a2c59a952]
7446
7447         * config.h.in:
7448         Add HAVE_STRDUP and HAVE_STRNDUP
7449         [50a3c0dd510f]
7450
7451         * compat/Makefile.in, configure, configure.in:
7452         Build libmissing in two flavors (one PIC one non-PIC) and link with
7453         the appropriate one.
7454         [b62f411a4c18]
7455
7456         * Makefile, compat/fnmatch.c, compat/glob.c, compat/nanosleep.c,
7457         compat/utimes.c, plugins/sample/Makefile.in, src/Makefile.in:
7458         Build libmissing in two flavors (one PIC one non-PIC) and link with
7459         the appropriate one.
7460         [e1e04972b5fe]
7461
7462 2010-03-13  Todd C. Miller  <Todd.Miller@courtesan.com>
7463
7464         * include/missing.h:
7465         Add strdup and strndup and fix strsignal
7466         [c159babe2896]
7467
7468 2010-03-12  Todd C. Miller  <Todd.Miller@courtesan.com>
7469
7470         * compat/strdup.c, compat/strndup.c, configure, configure.in,
7471         plugins/sample/Makefile.in, src/Makefile.in:
7472         Add strdup and strndup to compat
7473         [25c9fd399a4d]
7474
7475         * plugins/sample/sample_plugin.c:
7476         Need to include compat.h before missing.h
7477         [c94f7aad380f]
7478
7479         * compat/strsignal.c:
7480         Must check HAVE_DECL_SYS_SIGLIST == 1 (not just if defined) since if
7481         it doesn't exist configure will set it to 0.
7482         [384580566389]
7483
7484         * compat/glob.c:
7485         Fix botched ANSI C coversion of globexp2()
7486         [4a344b8cbe49]
7487
7488         * configure, configure.in:
7489         Remove redundant getgroups check
7490         [0b16ec210c81]
7491
7492         * configure, configure.in, src/lbuf.c, src/script.c, src/term.c:
7493         Require either termios or termio, no more sgtty.
7494         [9b2fa2f17a1c]
7495
7496         * compat/strsignal.c, config.h.in, configure, configure.in:
7497         Change the sys_siglist check to use AC_CHECK_DECLS and also check
7498         for _sys_siglist and__sys_siglist
7499         [2e078fed2408]
7500
7501 2010-03-11  Todd C. Miller  <Todd.Miller@courtesan.com>
7502
7503         * configure, configure.in, src/Makefile.in:
7504         Change SUDO_LDFLAGS to SUDOERS_LDFLAGS and add SUDOERS_OBJS. We now
7505         use SUDO_OBJS for the main driver as part of OBJS.
7506         [9ae4a80a5ade]
7507
7508         * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod:
7509         Mention in the conversation function section that a newline is not
7510         implicit.
7511         [04a233b6c491]
7512
7513         * include/compat.h:
7514         Add definition of WCOREDUMP for systems without it. This is known
7515         to work on AIX and SunOS 4, but may be incorrect on other systems
7516         that lack WCOREDUMP.
7517         [c85b3ce6b77d]
7518
7519 2010-03-09  Todd C. Miller  <Todd.Miller@courtesan.com>
7520
7521         * plugins/sample/sample_plugin.c, src/conversation.c:
7522         conversation function no longer puts a newline at the end of info or
7523         error messages.
7524         [c534cae1ac4a]
7525
7526 2010-03-07  Todd C. Miller  <Todd.Miller@courtesan.com>
7527
7528         * src/script.c:
7529         Use parent process group id instead of parent process id when
7530         checking foreground status and suspending parent. Fixes an issue
7531         when running commands under /usr/bin/time and others.
7532         [564f528c3bb7]
7533
7534 2010-03-06  Todd C. Miller  <Todd.Miller@courtesan.com>
7535
7536         * aclocal.m4:
7537         transcript option is now --with not --enable
7538         [0646fac4cf93]
7539
7540         * plugins/sample/sample_plugin.c:
7541         Add support to -u and -g flags Check fmt_string retval Add timeout
7542         for debugging purposes
7543         [cfefa4fa60b5]
7544
7545         * src/script.c, src/sudo.c:
7546         Wire up SIGALRM handler Set close on exec flag for child side of the
7547         socketpair Fix signal handling when not doing I/O logging
7548         [379581ec7272]
7549
7550         * src/sudo.c:
7551         g/c unused SIGCHLD handler
7552         [0afa03912dce]
7553
7554         * src/fmt_string.c, src/parse_args.c, src/sudo.c:
7555         Don't use emalloc() in fmt_string(); we want to be able to use it
7556         from a plugin.
7557         [ade64d368147]
7558
7559         * include/list.h:
7560         tq_remove not list_remove
7561         [0e0e1fd5c31c]
7562
7563         * configure, configure.in:
7564         AUTH_OBJS should contain .lo files not .o files.
7565         [c64c82c9d5a2]
7566
7567 2010-03-05  Todd C. Miller  <Todd.Miller@courtesan.com>
7568
7569         * src/parse_args.c:
7570         Simplify conversion of command line args to name=value pairs.
7571         [75ab127c6a94]
7572
7573         * plugins/sample/sample_plugin.c:
7574         Handle NULL reply from conversation function
7575         [6ce09b6cb204]
7576
7577         * compat/getline.c:
7578         Don't depend on emalloc/erealloc
7579         [73df09e2109f]
7580
7581         * plugins/sample/Makefile.in:
7582         Use $(OBJS) instead of sample_plugin.lo
7583         [2d995db9aa99]
7584
7585         * plugins/sample/sample_plugin.c:
7586         runas_user is in settings not user_info
7587         [7ee12068bc57]
7588
7589         * src/parse_args.c:
7590         Fix a mismatch between sudo_settings and settings_pairs that causes
7591         some settings to get the wrong values.
7592         [b1bc6d81a65f]
7593
7594 2010-03-04  Todd C. Miller  <Todd.Miller@courtesan.com>
7595
7596         * src/Makefile.in, src/aix.c, src/alloc.c, src/atobool.c, src/error.c,
7597         src/fileops.c, src/lbuf.c, src/list.c, src/pty.c, src/sesh.c,
7598         src/sudo.c, src/sudo_edit.c, src/term.c, src/zero_bytes.c:
7599         Convert to ANSI C
7600         [d03b6e4a3b75]
7601
7602         * src/load_plugins.c:
7603         Fix strlcpy() return value check.
7604         [7cd66999a374]
7605
7606         * INSTALL, configure, configure.in:
7607         No longer need to substitute in script.o and pty.o; I/O logging
7608         support is always built.
7609         [45250024c5dc]
7610
7611 2010-02-28  Todd C. Miller  <Todd.Miller@courtesan.com>
7612
7613         * src/script.c:
7614         Add fallback to /bin/sh when execve() fails with ENOEXEC.
7615         [7684a15a1352]
7616
7617         * include/alloc.h, src/alloc.c:
7618         Add estrndup()
7619         [47621c83bed9]
7620
7621 2010-02-27  Todd C. Miller  <Todd.Miller@courtesan.com>
7622
7623         * src/script.c, src/sudo.c:
7624         Refactor script_execve() a bit so that it can be used in non-script
7625         mode. Needs more cleanup.
7626         [f09e022d547c]
7627
7628         * src/sudo.c:
7629         Ignore empty entries in command_info list
7630         [1eea9a8de21c]
7631
7632         * include/list.h, src/list.c:
7633         Add tq_remove
7634         [40908a617cb2]
7635
7636         * src/conversation.c:
7637         Pass timeout to tgetpass()
7638         [9e66c918b771]
7639
7640         * Makefile:
7641         Add ChangeLog target
7642         [da4a39150838]
7643
7644         * README, WHATSNEW:
7645         Bump version and update things slightly for sudo 1.8.0
7646         [4b73cc45e2d4]
7647
7648         * configure, configure.in:
7649         Sudo now requires an ANSI/ISO C compiler
7650         [1e51f72e6964]
7651
7652         * src/alloc.c, src/audit.c, src/error.c, src/lbuf.c,
7653         src/sudo_noexec.c:
7654         Convert to ANSI C
7655         [5cbd315dbde8]
7656
7657         * include/alloc.h, include/compat.h, include/error.h, include/lbuf.h,
7658         include/list.h, include/missing.h:
7659         Convert to ANSI C
7660         [3f5016ff64f4]
7661
7662         * compat/charclass.h, compat/closefrom.c, compat/fnmatch.c,
7663         compat/fnmatch.h, compat/getcwd.c, compat/getline.c,
7664         compat/getprogname.c, compat/glob.c, compat/glob.h,
7665         compat/isblank.c, compat/memrchr.c, compat/mkstemp.c,
7666         compat/nanosleep.c, compat/sigaction.c, compat/snprintf.c,
7667         compat/strcasecmp.c, compat/strerror.c, compat/strlcat.c,
7668         compat/strlcpy.c, compat/strsignal.c, compat/utime.h,
7669         compat/utimes.c:
7670         Convert to ANSI C
7671         [0d635c85461c]
7672
7673 2010-02-24  Todd C. Miller  <Todd.Miller@courtesan.com>
7674
7675         * src/sudo.c, src/tgetpass.c:
7676         Make user_details extern so tgetpass can get at the uid and gid. Set
7677         uid/gid to user before executing askpass program. Check environment
7678         for SUDO_ASKPASS and use that if set. TODO: a way for the policy to
7679         set the askpass program itself
7680         [d33606396176]
7681
7682         * src/sudo.c:
7683         No longer need sudo_usage.h in sudo.c
7684         [063e2946c382]
7685
7686         * doc/sudo.cat, doc/sudo.man.in, doc/sudo.pod, doc/sudo_plugin.man.in,
7687         doc/sudo_plugin.pod, src/Makefile.in, src/parse_args.c,
7688         src/sudo_usage.h.in:
7689         Document -D level command line flag which maps to the debug_level
7690         setting.
7691         [61f1e2ab3ac1]
7692
7693         * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod:
7694         Document debug_level in plugin doc. Still need to document the -D
7695         flag in sudo itself.
7696         [8c62daea3e9b]
7697
7698 2010-02-21  Todd C. Miller  <Todd.Miller@courtesan.com>
7699
7700         * plugins/sample/sample_plugin.c:
7701         include missing,h for vasprintf
7702         [92503de49b39]
7703
7704         * doc/Makefile.in, doc/plugin.pod, doc/sudo_plugin.cat,
7705         doc/sudo_plugin.man.in, doc/sudo_plugin.pod:
7706         Rename plugin.pod -> sudo_plugin.pod and wire into Makefile
7707         [14cfb4775238]
7708
7709         * plugins/sample/sample_plugin.c:
7710         Need to include limits.h
7711         [bda7f74343d2]
7712
7713         * compat/glob.c:
7714         No more sudo_getpw*
7715         [232e52907634]
7716
7717         * plugins/sample/Makefile.in, src/Makefile.in:
7718         Add missing compat bits
7719         [4843dd000e08]
7720
7721         * compat/closefrom.c, compat/mkstemp.c, plugins/sample/Makefile.in:
7722         compat files should not include sudo.h wire up compat in sample
7723         plugin
7724         [a175b8185e0f]
7725
7726         * Makefile, configure, configure.in, doc/Makefile.in, src/Makefile.in:
7727         Fix up compat dependencies. Fix distclean target in doc/Makefile.in
7728         [57e49bc20857]
7729
7730         * configure, configure.in:
7731         Fix typo
7732         [333655e3d5fe]
7733
7734         * plugins/sample/sample_plugin.c:
7735         Log input and output to temp files for proof of concept.
7736         [ae1dfc34f7d6]
7737
7738         * Makefile, configure, configure.in, doc/Makefile.in:
7739         Add doc Makefile.in and wire it up
7740         [6a310443c87d]
7741
7742         * src/script.c:
7743         Handle SIGSTOP in addition to SIGTSTP. Fixes a problem with
7744         suspending a shell with the "suspend" builtint.
7745         [3d65f182819a]
7746
7747         * src/script.c:
7748         In child, handle parent side of the pipe going away.
7749         [a29c14d78cd9]
7750
7751         * src/script.c:
7752         No longer need to check for explicit death of the child (process #2)
7753         since if it dies we will get EPIPE from the socketpair. Fix a
7754         sizeof() that was causing a spurious error. Convert SCRIPT_DEBUG to
7755         sudo_debug.
7756         [24c55dd4ff60]
7757
7758         * src/sudo.c:
7759         Make sudo_debug do a single vfprintf() which will result in a single
7760         write call on most systems. Avoids problems with interleaved debug
7761         printf from different processes. Also remove an extraneous error
7762         case since recv() can't return a short read and add some more XXX.
7763         [b37a8533ef1e]
7764
7765 2010-02-20  Todd C. Miller  <Todd.Miller@courtesan.com>
7766
7767         * src/script.c:
7768         Fix uninitialized variable.
7769         [e012a0a30890]
7770
7771         * src/Makefile.in:
7772         Fix sudo install target
7773         [1417fa4b4ab9]
7774
7775         * src/parse_args.c, src/sudo.c, src/sudo.h:
7776         Wire up debug_level
7777         [144fab289c73]
7778
7779         * src/Makefile.in:
7780         Fix dependencies
7781         [5170940af2ce]
7782
7783         * configure, configure.in:
7784         Fix setting of plugin dir
7785         [144eda170a72]
7786
7787         * Makefile:
7788         add clean targets
7789         [d53f6f6f5c3a]
7790
7791         * src/atobool.c:
7792         Add missing source for sudo front end
7793         [42487de9c489]
7794
7795         * plugins/sample/Makefile.in, plugins/sample/sample_plugin.c:
7796         Sample plugin demonstrating the sudo plugin API
7797         [f1fd62d7644f]
7798
7799         * Makefile, configure, configure.in, install-sh, pathnames.h.in,
7800         plugins/sudoers/install-sh, src/Makefile.in, src/conversation.c,
7801         src/fileops.c, src/fmt_string.c, src/load_plugins.c,
7802         src/parse_args.c, src/pty.c, src/script.c, src/sudo.c, src/sudo.h,
7803         src/sudo_plugin_int.h, src/sudo_usage.h.in, src/tgetpass.c,
7804         sudo_usage.h.in:
7805         Modular sudo front-end which loads policy and I/O plugins that do
7806         most the actual work. Currently relies on dynamic loading using
7807         dlopen(). See doc/plugin.pod for the plugin API.
7808         [924f6eb2fbba]
7809
7810         * doc/plugin.pod, include/sudo_plugin.h:
7811         Sudo plugin API
7812         [374ccbbd24ae]
7813
7814         * compat/fnmatch.c, compat/glob.c, compat/nanosleep.c,
7815         compat/utimes.c, plugins/sudoers/check.c, plugins/sudoers/gettime.c,
7816         plugins/sudoers/match.c, plugins/sudoers/sudoreplay.c,
7817         plugins/sudoers/testsudoers.c, plugins/sudoers/visudo.c,
7818         src/fileops.c, src/sudo_edit.c:
7819         Replace emul/include.h with compat/include.h to match new source
7820         tree layout.
7821         [7eccd10449a1]
7822
7823         * src/lbuf.c:
7824         Include missing.h for memrchr() proto
7825         [03abd63a8a33]
7826
7827         * HISTORY, LICENSE, Makefile.binary.in, Makefile.in, PORTING,
7828         TROUBLESHOOTING, UPGRADE, aix.c, aixcrypt.exp, alias.c, alloc.c,
7829         alloc.h, audit.c, auth/API, auth/afs.c, auth/aix_auth.c,
7830         auth/bsdauth.c, auth/dce.c, auth/fwtk.c, auth/kerb4.c, auth/kerb5.c,
7831         auth/pam.c, auth/passwd.c, auth/rfc1938.c, auth/secureware.c,
7832         auth/securid.c, auth/securid5.c, auth/sia.c, auth/sudo_auth.c,
7833         auth/sudo_auth.h, boottime.c, bsm_audit.c, bsm_audit.h, check.c,
7834         closefrom.c, compat.h, compat/charclass.h, compat/closefrom.c,
7835         compat/fnmatch.c, compat/fnmatch.h, compat/getcwd.c,
7836         compat/getline.c, compat/getprogname.c, compat/glob.c,
7837         compat/glob.h, compat/isblank.c, compat/memrchr.c, compat/mkstemp.c,
7838         compat/nanosleep.c, compat/sigaction.c, compat/snprintf.c,
7839         compat/strcasecmp.c, compat/strerror.c, compat/strlcat.c,
7840         compat/strlcpy.c, compat/strsignal.c, compat/timespec.h,
7841         compat/utime.h, compat/utimes.c, def_data.c, def_data.h,
7842         def_data.in, defaults.c, defaults.h, doc/HISTORY, doc/LICENSE,
7843         doc/PORTING, doc/TROUBLESHOOTING, doc/UPGRADE, doc/history.pod,
7844         doc/license.pod, doc/sample.pam, doc/sample.sudoers,
7845         doc/sample.syslog.conf, doc/schema.ActiveDirectory,
7846         doc/schema.OpenLDAP, doc/schema.iPlanet, doc/sudo.cat,
7847         doc/sudo.man.in, doc/sudo.man.pl, doc/sudo.pod, doc/sudoers.cat,
7848         doc/sudoers.ldap.cat, doc/sudoers.ldap.man.in, doc/sudoers.ldap.pod,
7849         doc/sudoers.man.in, doc/sudoers.man.pl, doc/sudoers.pod,
7850         doc/sudoreplay.cat, doc/sudoreplay.man.in, doc/sudoreplay.pod,
7851         doc/visudo.cat, doc/visudo.man.in, doc/visudo.pod, emul/charclass.h,
7852         emul/fnmatch.h, emul/glob.h, emul/timespec.h, emul/utime.h, env.c,
7853         error.c, error.h, fileops.c, find_path.c, fnmatch.c, getcwd.c,
7854         getdate.c, getdate.y, getline.c, getprogname.c, getspwuid.c,
7855         gettime.c, glob.c, goodpath.c, gram.c, gram.h, gram.y, history.pod,
7856         include/alloc.h, include/compat.h, include/error.h, include/lbuf.h,
7857         include/list.h, include/missing.h, ins_2001.h, ins_classic.h,
7858         ins_csops.h, ins_goons.h, install-sh, insults.h, interfaces.c,
7859         interfaces.h, isblank.c, lbuf.c, lbuf.h, ldap.c, license.pod,
7860         list.c, list.h, logging.c, logging.h, match.c, memrchr.c, missing.h,
7861         mkdefaults, mkstemp.c, mon_systrace.c, mon_systrace.h, nanosleep.c,
7862         nonunix.h, parse.c, parse.h, plugins/sudoers/Makefile.binary.in,
7863         plugins/sudoers/Makefile.in, plugins/sudoers/aixcrypt.exp,
7864         plugins/sudoers/alias.c, plugins/sudoers/auth/API,
7865         plugins/sudoers/auth/afs.c, plugins/sudoers/auth/aix_auth.c,
7866         plugins/sudoers/auth/bsdauth.c, plugins/sudoers/auth/dce.c,
7867         plugins/sudoers/auth/fwtk.c, plugins/sudoers/auth/kerb4.c,
7868         plugins/sudoers/auth/kerb5.c, plugins/sudoers/auth/pam.c,
7869         plugins/sudoers/auth/passwd.c, plugins/sudoers/auth/rfc1938.c,
7870         plugins/sudoers/auth/secureware.c, plugins/sudoers/auth/securid.c,
7871         plugins/sudoers/auth/securid5.c, plugins/sudoers/auth/sia.c,
7872         plugins/sudoers/auth/sudo_auth.c, plugins/sudoers/auth/sudo_auth.h,
7873         plugins/sudoers/boottime.c, plugins/sudoers/check.c,
7874         plugins/sudoers/def_data.c, plugins/sudoers/def_data.h,
7875         plugins/sudoers/def_data.in, plugins/sudoers/defaults.c,
7876         plugins/sudoers/defaults.h, plugins/sudoers/env.c,
7877         plugins/sudoers/find_path.c, plugins/sudoers/getdate.c,
7878         plugins/sudoers/getdate.y, plugins/sudoers/getspwuid.c,
7879         plugins/sudoers/gettime.c, plugins/sudoers/goodpath.c,
7880         plugins/sudoers/gram.c, plugins/sudoers/gram.h,
7881         plugins/sudoers/gram.y, plugins/sudoers/ins_2001.h,
7882         plugins/sudoers/ins_classic.h, plugins/sudoers/ins_csops.h,
7883         plugins/sudoers/ins_goons.h, plugins/sudoers/install-sh,
7884         plugins/sudoers/insults.h, plugins/sudoers/interfaces.c,
7885         plugins/sudoers/interfaces.h, plugins/sudoers/ldap.c,
7886         plugins/sudoers/logging.c, plugins/sudoers/logging.h,
7887         plugins/sudoers/match.c, plugins/sudoers/mkdefaults,
7888         plugins/sudoers/mon_systrace.c, plugins/sudoers/mon_systrace.h,
7889         plugins/sudoers/nonunix.h, plugins/sudoers/parse.c,
7890         plugins/sudoers/parse.h, plugins/sudoers/pwutil.c,
7891         plugins/sudoers/redblack.c, plugins/sudoers/redblack.h,
7892         plugins/sudoers/set_perms.c, plugins/sudoers/sudo_nss.c,
7893         plugins/sudoers/sudo_nss.h, plugins/sudoers/sudoers,
7894         plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h,
7895         plugins/sudoers/sudoers2ldif, plugins/sudoers/sudoreplay.c,
7896         plugins/sudoers/testsudoers.c, plugins/sudoers/timestr.c,
7897         plugins/sudoers/toke.c, plugins/sudoers/toke.l,
7898         plugins/sudoers/tsgetgrpw.c, plugins/sudoers/vasgroups.c,
7899         plugins/sudoers/visudo.c, pty.c, pwutil.c, redblack.c, redblack.h,
7900         sample.pam, sample.sudoers, sample.syslog.conf,
7901         schema.ActiveDirectory, schema.OpenLDAP, schema.iPlanet, script.c,
7902         selinux.c, sesh.c, set_perms.c, sigaction.c, snprintf.c, src/aix.c,
7903         src/alloc.c, src/audit.c, src/bsm_audit.c, src/bsm_audit.h,
7904         src/error.c, src/fileops.c, src/lbuf.c, src/list.c, src/pty.c,
7905         src/script.c, src/selinux.c, src/sesh.c, src/sudo_edit.c,
7906         src/sudo_noexec.c, src/term.c, src/tgetpass.c, src/zero_bytes.c,
7907         strcasecmp.c, strerror.c, strlcat.c, strlcpy.c, strsignal.c, sudo.c,
7908         sudo.cat, sudo.h, sudo.man.in, sudo.man.pl, sudo.pod, sudo_edit.c,
7909         sudo_noexec.c, sudo_nss.c, sudo_nss.h, sudoers, sudoers.cat,
7910         sudoers.ldap.cat, sudoers.ldap.man.in, sudoers.ldap.pod,
7911         sudoers.man.in, sudoers.man.pl, sudoers.pod, sudoers2ldif,
7912         sudoreplay.c, sudoreplay.cat, sudoreplay.man.in, sudoreplay.pod,
7913         term.c, testsudoers.c, tgetpass.c, timestr.c, toke.c, toke.l,
7914         tsgetgrpw.c, utimes.c, vasgroups.c, visudo.c, visudo.cat,
7915         visudo.man.in, visudo.pod, zero_bytes.c:
7916         Rework source layout in preparation for modular sudo.
7917         [7fc1978c6ad5]
7918
7919 2010-02-13  Todd C. Miller  <Todd.Miller@courtesan.com>
7920
7921         * Avoid a duplicate fclose() of the sudoers file.
7922         [5dba851088c1]
7923
7924         * Fix size arg when realloc()ing include stack. From Daniel Kopecek
7925         [0a2935061e33]
7926
7927         * Use setrlimit64(), if available, instead of setrlimit() when setting
7928         AIX resource limits since rlim_t is 32bits.
7929         [353db89bac61]
7930
7931         * Fix use after free when sending error messages. From Timo Juhani
7932         Lindfors
7933         [e50dbd902382]
7934
7935         * ChangeLog, Makefile.in:
7936         Generate the ChangeLog as part of "make dist" instead of having it
7937         in the repo.
7938         [251b70964673]
7939
7940 2010-01-17  Todd C. Miller  <Todd.Miller@courtesan.com>
7941
7942         * Makefile.binary.in, Makefile.in, aix.c, alias.c, alloc.c, alloc.h,
7943         auth/afs.c, auth/aix_auth.c, auth/bsdauth.c, auth/dce.c,
7944         auth/fwtk.c, auth/kerb4.c, auth/kerb5.c, auth/pam.c, auth/passwd.c,
7945         auth/rfc1938.c, auth/secureware.c, auth/securid.c, auth/securid5.c,
7946         auth/sia.c, auth/sudo_auth.c, auth/sudo_auth.h, check.c,
7947         closefrom.c, compat.h, configure.in, defaults.c, defaults.h,
7948         emul/charclass.h, emul/timespec.h, env.c, error.c, error.h,
7949         fileops.c, find_path.c, getcwd.c, getprogname.c, getspwuid.c,
7950         gettime.c, goodpath.c, gram.c, gram.y, ins_2001.h, ins_classic.h,
7951         ins_csops.h, ins_goons.h, insults.h, interfaces.c, interfaces.h,
7952         isblank.c, lbuf.c, lbuf.h, ldap.c, list.c, list.h, logging.c,
7953         logging.h, match.c, memrchr.c, missing.h, mkinstalldirs, mkstemp.c,
7954         mon_systrace.c, nanosleep.c, parse.c, parse.h, pathnames.h.in,
7955         pty.c, pwutil.c, redblack.c, redblack.h, sample.pam, sample.sudoers,
7956         sample.syslog.conf, script.c, selinux.c, sesh.c, set_perms.c,
7957         sigaction.c, snprintf.c, strcasecmp.c, strerror.c, strlcat.c,
7958         strlcpy.c, strsignal.c, sudo.c, sudo.h, sudo.man.in, sudo.pod,
7959         sudo_edit.c, sudo_noexec.c, sudo_nss.c, sudo_nss.h, sudo_usage.h.in,
7960         sudoers.ldap.man.in, sudoers.ldap.pod, sudoers.man.in, sudoers.pod,
7961         sudoers2ldif, sudoreplay.c, sudoreplay.man.in, sudoreplay.pod,
7962         term.c, testsudoers.c, tgetpass.c, timestr.c, toke.c, toke.l,
7963         utimes.c, visudo.c, visudo.man.in, visudo.pod, zero_bytes.c:
7964         Remove CVS $Sudo$ tags.
7965         [de683a8b31f5]
7966
7967 2010-01-18  convert-repo  <convert-repo>
7968
7969         * .hgtags:
7970         update tags
7971         [9b7aa44ae436]
7972
7973 2009-12-26  Todd C. Miller  <Todd.Miller@courtesan.com>
7974
7975         * sudo_usage.h.in:
7976         make this match sudoers SYNOPSIS
7977         [c74ba66944c2]
7978
7979         * lbuf.c, parse.c:
7980         Print a newline between Runas and Command-specific defaults in sudo
7981         -l.
7982         [b5bdfcc9ce4b]
7983
7984         * term.c:
7985         Use SET and CLR macros in term_raw
7986         [50ca42609d6c]
7987
7988         * sudoreplay.c:
7989         Set stdin to non-blocking mode early instead of in check_input. Use
7990         term_raw instead of term_cbreak since the data we get has already
7991         been expanded via OPOST.
7992         [51c47e803d62]
7993
7994 2009-12-23  Todd C. Miller  <Todd.Miller@courtesan.com>
7995
7996         * script.c, term.c:
7997         Enable/disable all postprocessing instead of just nl->crnl
7998         processing since things like tab expansion matter too. However, if
7999         stdout is a tty leave postprocessing on in the pty since we run into
8000         problems doing it only on the real stdout with .e.g nvi.
8001         [62666e309673]
8002
8003 2009-12-19  Todd C. Miller  <Todd.Miller@courtesan.com>
8004
8005         * check.c:
8006         If tty_tickets is enabled and there is no tty, prompt for a
8007         password. Do not lecture user for "sudo -k command" if user has a
8008         timestamp.
8009         [5880200c5f6b]
8010
8011         * INSTALL:
8012         Document missing options: --with-efence and --with-bsm-audit
8013         [d83afcdf9ff3]
8014
8015         * sudo.cat, sudo.man.in, sudo.pod, sudoers.cat, sudoers.ldap.cat,
8016         sudoers.ldap.man.in, sudoers.ldap.pod, sudoers.man.in, sudoers.pod,
8017         sudoreplay.cat, sudoreplay.man.in, sudoreplay.pod, visudo.cat,
8018         visudo.man.in, visudo.pod:
8019         username -> user name groupname -> group name hostname -> host name
8020         [10c85646f45d]
8021
8022         * INSTALL, README.LDAP, sudoers.pod:
8023         filename -> file name like the rest of the docs
8024         [1ef8ab5a9018]
8025
8026 2009-12-17  Todd C. Miller  <Todd.Miller@courtesan.com>
8027
8028         * parse.c:
8029         Fix printing of entries with multiple host entries on a single line.
8030         [226ceaf91d8d]
8031
8032 2009-12-14  Todd C. Miller  <Todd.Miller@courtesan.com>
8033
8034         * sudoers.pod:
8035         Mention that targetpw affects the timestamp file name.
8036         [a26e22e4f72e]
8037
8038         * def_data.c, def_data.h, def_data.in, defaults.c, script.c,
8039         sudoers.pod:
8040         Add compress_transcript option.
8041         [6e94f8cb9dfb]
8042
8043 2009-12-13  Todd C. Miller  <Todd.Miller@courtesan.com>
8044
8045         * configure, configure.in:
8046         bump to 1.7.3b2
8047         [906d7e347d15]
8048
8049         * pwutil.c, set_perms.c, sudo.c, sudo_nss.c:
8050         Better split of membership vs. traditional group check in
8051         user_in_group(). Allow user_ngroups to be < 0 if getgroups() fails.
8052         [6ebc55d4716b]
8053
8054 2009-12-12  Todd C. Miller  <Todd.Miller@courtesan.com>
8055
8056         * pwutil.c:
8057         Fix pasto and add default return value.
8058         [7973b5e4599c]
8059
8060         * check.c, match.c, pwutil.c, sudo.h:
8061         refactor group member checking into user_in_group()
8062         [48ca8c2eddf8]
8063
8064         * check.c, config.h.in, configure, configure.in, match.c, sudo.c,
8065         sudo.h:
8066         Add support for mbr_check_membership() as present in darwin.
8067         [5501aed02b9f]
8068
8069 2009-12-10  Todd C. Miller  <Todd.Miller@courtesan.com>
8070
8071         * match.c:
8072         Rename label to be accurate
8073         [3af17dd960f7]
8074
8075         * Makefile.in, boottime.c, check.c, config.h.in, configure,
8076         configure.in, sudo.h:
8077         Treat timestamp files from before we booted as old. Idea from and
8078         Apple patch.
8079         [5c96e484c05a]
8080
8081 2009-12-09  Todd C. Miller  <Todd.Miller@courtesan.com>
8082
8083         * sudo.c, sudo.pod, sudo_usage.h.in:
8084         Allow the -u flag to be used in conjunction with the -v flag as per
8085         older versions of sudo.
8086         [591e9fc13c1a]
8087
8088         * logging.c:
8089         fix typo in last commit
8090         [4fd0c692dcf0]
8091
8092 2009-12-08  Todd C. Miller  <Todd.Miller@courtesan.com>
8093
8094         * logging.c:
8095         Convert fmt_first and fmt_confd into macros.
8096         [32e870158b29]
8097
8098         * sudoers.pod:
8099         timeouts can be floats now
8100         [89de639a9679]
8101
8102         * WHATSNEW, def_data.c, def_data.h, def_data.in, defaults.c,
8103         defaults.h, mkdefaults:
8104         Add support for floating point timeout values (e.g. 2.5 minutes).
8105         [210ffa291733]
8106
8107 2009-12-07  Todd C. Miller  <Todd.Miller@courtesan.com>
8108
8109         * sudo.pod:
8110         The -L flag will be removed in sudo 1.7.4
8111         [ffd026084333]
8112
8113 2009-12-06  Todd C. Miller  <Todd.Miller@courtesan.com>
8114
8115         * sudoreplay.c:
8116         Fix a bug due to order of operators.
8117         [938d34464283]
8118
8119 2009-11-23  Todd C. Miller  <Todd.Miller@courtesan.com>
8120
8121         * match.c:
8122         cmnd_matches() already deals with negation so _cmndlist_matches()
8123         does not need to do so itself. Fixes a bug with negated entries in
8124         a Cmnd_List.
8125         [71c845f6ce73]
8126
8127 2009-11-22  Todd C. Miller  <Todd.Miller@courtesan.com>
8128
8129         * sudo.c:
8130         Don't exit() from open_sudoers, just return NULL for all errors.
8131         [8cfa832f972a]
8132
8133         * script.c:
8134         Can't rely on the shell sending us SIGCONT when transitioning from
8135         backgroup to foreground process.
8136         [3c6c5b6cb4b3]
8137
8138         * toke.c, toke.l:
8139         Add missing extern def for parse_error
8140         [45b7b59d03b7]
8141
8142 2009-11-21  Todd C. Miller  <Todd.Miller@courtesan.com>
8143
8144         * toke.c, toke.l:
8145         Avoid a parse error when #includedir doesn't find any files. Closes
8146         bug #375
8147         [1ce1b850e9e6]
8148
8149         * Makefile.in:
8150         Include sudo.man.pl and sudoers.man.pl in the distribution tarball.
8151         [6a22e32da108]
8152
8153 2009-11-15  Todd C. Miller  <Todd.Miller@courtesan.com>
8154
8155         * script.c:
8156         Start command out in foreground mode if stdout is a tty. Works
8157         around issues with some curses-based programs that don't handle
8158         tcsetattr getting interrupted by a signal. Still allows us to avoid
8159         hogging the tty if the command is part of a pipeline.
8160         [1c32f2b94769]
8161
8162         * script.c, sudo.c, sudo.h, sudoreplay.c, term.c, tgetpass.c:
8163         Use a socketpair to pass signals from parent to child. Child will
8164         now pass command status change info back via the socketpair. This
8165         allows the parent to distinguish between signals it has been sent
8166         directly and signals the command has received. It also means the
8167         parent can once again print the signal notifications to the tty so
8168         all writes to the pty master occur in the parent. The command is
8169         now always started in background mode with tty signals handled by
8170         the parent.
8171         [c6790b82986d]
8172
8173 2009-11-04  Todd C. Miller  <Todd.Miller@courtesan.com>
8174
8175         * configure, configure.in:
8176         Fix a few typos in the descriptions; from Jeff Makey Only do the
8177         check for krb5_get_init_creds_opt_free() taking two arguments if we
8178         find krb5_get_init_creds_opt_alloc(). Otherwise we will get a false
8179         positive when using our own krb5_get_init_creds_opt_free which takes
8180         only a single argument.
8181         [845a9ff6f93d]
8182
8183 2009-11-03  Todd C. Miller  <Todd.Miller@courtesan.com>
8184
8185         * configure, configure.in:
8186         Remove a spurious comma in the kerb5 bits.
8187         [3433eab083db]
8188
8189         * auth/kerb5.c:
8190         Call krb5_get_init_creds_opt_init() in our emulated
8191         krb5_get_init_creds_opt_alloc() for MIT kerberos.
8192         [7ffb40bf43e9]
8193
8194 2009-11-01  Todd C. Miller  <Todd.Miller@courtesan.com>
8195
8196         * config.h.in:
8197         Add HAVE_ZLIB
8198         [9297bde61ecc]
8199
8200         * script.c:
8201         Need to ignore SIGTT{IN,OU} in child when running the command in the
8202         background. Also some minor cleanup.
8203         [dc208d982319]
8204
8205 2009-10-31  Todd C. Miller  <Todd.Miller@courtesan.com>
8206
8207         * script.c:
8208         Instead of calling sigsuspend when waiting for SIGUSR[12] from
8209         parent, install the signal handlers w/o SA_RESTART and let them
8210         interrupt waitpid().
8211         [759c7d18203b]
8212
8213         * script.c:
8214         Pass along SIGHUP and SIGTERM from parent to child.
8215         [035b0e254568]
8216
8217         * script.c:
8218         Close unused bits of script_fds in processes that don't need them.
8219         Restore default SIGCONT handler in child.
8220         [e037378ab0c1]
8221
8222         * script.c:
8223         Update foreground/background status in SIGCONT handler in parent
8224         process.
8225         [3f7f91333264]
8226
8227 2009-10-25  Todd C. Miller  <Todd.Miller@courtesan.com>
8228
8229         * script.c:
8230         Defer setting terminal into raw mode until just before we fork() and
8231         only do it if sudo is the foreground process. If we get SIGTT{IN,OU}
8232         and sudo is already in the foreground be sure to set raw mode before
8233         continuing the child.
8234         [1102ef40832c]
8235
8236 2009-10-24  Todd C. Miller  <Todd.Miller@courtesan.com>
8237
8238         * script.c:
8239         Fix handling of SIGTTOU/SIGTTIN in program being run. We now only
8240         give the command the controlling tty if the main sudo process is the
8241         foreground process.
8242         [cf3a91cb5682]
8243
8244         * script.c:
8245         Don't bother with sudo_waitpid() here for now.
8246         [9086de480c2d]
8247
8248         * script.c:
8249         fix non-zlib case
8250         [a258bff0f9a6]
8251
8252 2009-10-23  Todd C. Miller  <Todd.Miller@courtesan.com>
8253
8254         * script.c:
8255         Remove non-wroking code that crept into rev 1.55
8256         [2802dd55cff5]
8257
8258 2009-10-22  Todd C. Miller  <Todd.Miller@courtesan.com>
8259
8260         * INSTALL, configure, configure.in, script.c, sudoreplay.c:
8261         First pass at zlib support for transcript data files
8262         [5d10260807da]
8263
8264         * Makefile.in:
8265         remove vestiges of ZLDFLAGS
8266         [1fa0caf1c0fb]
8267
8268         * script.c:
8269         Add missing variable declaration for when TIOCSCTTY is not defined.
8270         Need to include sys/termio.h for TIOCSCTTY on some systems.
8271         [ee7f41ac2709]
8272
8273         * script.c:
8274         when resuming command, send SIGCONT to its pgrp not just pid
8275         [5cd63c1d565b]
8276
8277         * selinux.c:
8278         remove unused variable
8279         [df67df4be228]
8280
8281         * script.c:
8282         include selinux.h for is_selinux_enabled() proto
8283         [85ebaa880cc1]
8284
8285         * script.c:
8286         Don't use log_error() in the child process.
8287         [def65fe2a433]
8288
8289         * script.c:
8290         Do I/O in parent instead of child since the parent can have both
8291         /dev/tty as well as the pty fds open. The child just sets things up
8292         and waits for its grandchild and writes the signal description to
8293         the pty master if the command was killed by a signal.
8294         [95e473208982]
8295
8296 2009-10-18  Todd C. Miller  <Todd.Miller@courtesan.com>
8297
8298         * missing.h, sudo.h:
8299         Move two struct forward declarations from sudo.h to missing.h
8300         [90ad28294a8c]
8301
8302         * script.c:
8303         Make comment at the top of script_exec() match reality.
8304         [c5042d27dbe0]
8305
8306         * sudo.c:
8307         if neither stdin nor stdout is a tty, check stderr
8308         [c532ff20c8d8]
8309
8310         * Makefile.in:
8311         Add back dependecy of gram.h on gram.y
8312         [c58382b7fcca]
8313
8314         * script.c:
8315         Make transcript mode work as long as we can figure out our tty, even
8316         if it is not stdin. We'd like to use /dev/tty but that won't be
8317         valid after the setsid().
8318         [7b8bba8d99e7]
8319
8320 2009-10-17  Todd C. Miller  <Todd.Miller@courtesan.com>
8321
8322         * config.h.in, configure, configure.in, pty.c:
8323         Add support for IRIX-style dynamic ptys
8324         [bedc9bac44c1]
8325
8326         * Makefile.in, alloc.h, getline.c, sudo.h, sudoreplay.c:
8327         Move alloc.c protos into alloc.h
8328         [b6a90649617d]
8329
8330         * missing.h:
8331         Move prototypes for missing libc functions to missing.h
8332         [dda9ae1ccaf8]
8333
8334         * Makefile.in, sudo.h, sudoreplay.c:
8335         Move prototypes for missing libc functions to missing.h
8336         [7483166b577b]
8337
8338 2009-10-16  Todd C. Miller  <Todd.Miller@courtesan.com>
8339
8340         * config.h.in, configure, configure.in:
8341         Disable transcript support if no tcsetpgrp until we support older
8342         BSD-style job control.
8343         [27ac1d8163df]
8344
8345         * configure, configure.in, pty.c, script.c:
8346         Break out pty code into pty.c
8347         [e85509b25d41]
8348
8349         * compat.h, config.h.in, configure, configure.in:
8350         add killpg macro if no killpg function
8351         [3a125f4a51f0]
8352
8353         * config.h.in, configure, configure.in, script.c:
8354         Push ptem and ldterm for STERAMS-based systems when allocating a
8355         pty.
8356         [36bb39b30ff2]
8357
8358 2009-10-15  Todd C. Miller  <Todd.Miller@courtesan.com>
8359
8360         * script.c:
8361         Sprinkle some more O_NOCTTY and call grantpt() before unlockpt()
8362         [d94bd5c9bf4e]
8363
8364         * script.c:
8365         Call tcgetpgrp() in the parent, not the child and have the child
8366         spin until it is granted. Fixes a race on darwin.
8367         [6e8d435339ce]
8368
8369         * script.c:
8370         Only use TIOCNOTTY in the non-setsid case. If no TIOCSCTTY, just
8371         reopen slave.
8372         [0bdc63c019ca]
8373
8374 2009-10-14  Todd C. Miller  <Todd.Miller@courtesan.com>
8375
8376         * script.c:
8377         In script mode, if the command is killed by a signal, print the
8378         signal description as well as a core dump notification like the
8379         shell does.
8380         [9df61738df07]
8381
8382         * Makefile.in, config.h.in, configure, configure.in, strsignal.c,
8383         sudo.h:
8384         Add check for strsignal() and a simple implementation if it is not
8385         there but sys_siglist is
8386         [61421a188ef4]
8387
8388         * script.c:
8389         Add missing WUNTRACED and store the signal that stopped the
8390         grandchild in suspended, not signo.
8391         [df65042b200e]
8392
8393         * script.c:
8394         g/c unused code
8395         [40d8cb5c9203]
8396
8397         * script.c:
8398         Associate the grandchild's pgrp with the tty instead of the child's
8399         and just get suspend notifications via SIGCHLD instead of directly.
8400         This fixes a hang with programs that try to set terminal attributes
8401         and is more consistent with how the shell handles things.
8402         [6865abff7e94]
8403
8404 2009-10-12  Todd C. Miller  <Todd.Miller@courtesan.com>
8405
8406         * script.c:
8407         Move setpgid() of child into the parent side of the fork() where it
8408         belongs.
8409         [3defa782777c]
8410
8411 2009-10-11  Todd C. Miller  <Todd.Miller@courtesan.com>
8412
8413         * script.c:
8414         fix typo
8415         [b6a612b3622c]
8416
8417         * script.c:
8418         Run command in its own pgrp (like the shell does) for easier
8419         signalling. No need to relay SIGINT or SIGQUIT to parent, just send
8420         to grandchild. Don't want grandchild stopped events in the child
8421         (only termination). Flush output after suspending grandchild before
8422         signalling parent.
8423         [db556bf2176f]
8424
8425         * script.c:
8426         Back out revision 1.34; the problem lies elsewhere.
8427         [85f590a03275]
8428
8429         * script.c:
8430         Don't set stdout to blocking mode when flushing remaining output.
8431         It can cause us to hang when trying to exit. Need to investigate
8432         why.
8433         [6f803a3e33ca]
8434
8435         * script.c:
8436         Handle SIGTTOU and remove some debugging.
8437         [52d17279053e]
8438
8439         * term.c:
8440         Back out revision 1.10 as the signal that interrupts us may be
8441         SIGTTOU or SIGTTIN which the caller must handle.
8442         [7e2fa9107975]
8443
8444         * script.c:
8445         Apparently we need to send SIGSTOP to the command as well as ourself
8446         when we get SIGTSTP, the kernel doesn't automatically stop the
8447         process for us.
8448         [1a936e9309c4]
8449
8450         * script.c:
8451         Use an extra process to act as the glue bewteen the sessions
8452         associated with the user's controlling tty (what the shell uses) and
8453         the tty that sudo is using to do its logging. Basically, this means
8454         that if we get, e.g. SIGTSTP from the process sudo is running, we
8455         relay the signal to the parent so it's shell can do the job control.
8456         [6dd296988060]
8457
8458         * term.c:
8459         Handle getting/setting terminal attributes when the fd is in non-
8460         blocking mode.
8461         [ae5ae535ea7b]
8462
8463 2009-10-07  Todd C. Miller  <Todd.Miller@courtesan.com>
8464
8465         * sudoreplay.c, sudoreplay.cat, sudoreplay.man.in, sudoreplay.pod:
8466         Add support for pausing and changing the speed in interactive mode.
8467         [72a2063780a7]
8468
8469         * script.c:
8470         Already define O_NOCTTY in compat.h, don't need it here
8471         [b5d80ed3e5ce]
8472
8473 2009-10-06  Todd C. Miller  <Todd.Miller@courtesan.com>
8474
8475         * sudoreplay.c:
8476         Add missing protos
8477         [c4cb4e7f4d8a]
8478
8479 2009-09-30  Todd C. Miller  <Todd.Miller@courtesan.com>
8480
8481         * sudo_edit.c:
8482         Always update the stashed mtime of the temp file instead of using
8483         what we have for the original because the time resolution of the
8484         filesystem the temporary is on may not match that of the filesystem
8485         that holds the original. Should fix bz #371 found by Philippe Levan.
8486         [c86ca4bec60c]
8487
8488         * sudoreplay.c:
8489         Use cbreak mode instead of raw mode and add signal handlers to
8490         restore the tty on interrupt.
8491         [84dd283da41c]
8492
8493         * script.c, sudo.h, term.c:
8494         Retain NL to NLCR conversion on the real tty and skip it on the pty
8495         we allocate. That way, if stdout is not a pty there are no extra
8496         carriage returns.
8497         [32e4f570414e]
8498
8499         * script.c:
8500         Fix log_output(); just pass in a string and a length.
8501         [ca980cc0a3fb]
8502
8503 2009-09-28  Todd C. Miller  <Todd.Miller@courtesan.com>
8504
8505         * script.c:
8506         do not use errno when complaining out lack of a tty
8507         [8f9b8c55ab8e]
8508
8509 2009-09-27  Todd C. Miller  <Todd.Miller@courtesan.com>
8510
8511         * Makefile.in, sudoreplay.c, term.c:
8512         Instead of messing with line endings, just set terminal to raw mode
8513         in sudoreplay.
8514         [90943fa87acb]
8515
8516         * term.c:
8517         When copying the terminal attributes to the pty, be sure not to set
8518         ONLCR. This prevents extra carriage returns from ending up in the
8519         script output file.
8520         [e6b5475ac2aa]
8521
8522         * script.c:
8523         Convert a do {} while into a while
8524         [e461310d2c77]
8525
8526         * Makefile.in:
8527         Use if then instead of test && when installing binaries that may not
8528         exist.
8529         [ad4f9490d971]
8530
8531         * script.c:
8532         Add O_NOCTTY when opening a tty device. Explicitly disconnect from
8533         old tty before associatng with new one.
8534         [0e0ca634b80c]
8535
8536         * script.c, selinux.c, sudo.c, sudo.h:
8537         First cut at refactoring some of the selinux code so it can be used
8538         in conjunction with sudo's transcript support.
8539         [779b0d8f9d29]
8540
8541 2009-09-26  Todd C. Miller  <Todd.Miller@courtesan.com>
8542
8543         * aclocal.m4, configure, configure.in:
8544         Fix default case of transcript_enabled being unset.
8545         [f8aa96186e6b]
8546
8547         * script.c, sudoreplay.c:
8548         Use _PATH_SUDO_TRANSCRIPT instead of _PATH_SUDO_SESSDIR
8549         [2844a7a851fa]
8550
8551         * INSTALL, Makefile.in, aclocal.m4, configure, configure.in, sudo.c:
8552         Hook up --disable-transcript and --enable-transcript=DIR
8553         [b3fa7e6b2480]
8554
8555 2009-09-25  Todd C. Miller  <Todd.Miller@courtesan.com>
8556
8557         * aclocal.m4, configure, configure.in, pathnames.h.in:
8558         _PATH_SUDO_SESSDIR -> _PATH_SUDO_TRANSCRIPT Add --enable-
8559         transcript=DIR option to specify the directory
8560         [b0bb76d43cda]
8561
8562         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in:
8563         regen
8564         [c7a8a0a9027c]
8565
8566         * configure, configure.in, sudoers.man.pl, sudoers.pod:
8567         Substitute in default value for secure_path
8568         [c8f9ac6dbf93]
8569
8570         * sudo.pod:
8571         Mention that the password must be followed by a newline with the -S
8572         option.
8573         [2fc589a3ee7e]
8574
8575 2009-09-20  Todd C. Miller  <Todd.Miller@courtesan.com>
8576
8577         * script.c:
8578         Go back to dropping out of the select() loop when the process dies;
8579         Linux ptys apparently don't behave the same as BSD in regards to
8580         select(). No need to flush remaining output to the transcript, only
8581         to stdout. Add back code to check the master pty for additional data
8582         when we exit the main select loop.
8583         [abed9a9cbc6b]
8584
8585 2009-09-19  Todd C. Miller  <Todd.Miller@courtesan.com>
8586
8587         * Makefile.in:
8588         Add getline.o to COMMON_OBJS
8589         [04ef7643cbc2]
8590
8591         * Makefile.in:
8592         sudoreplay depends on libsudo.a
8593         [142bd0472631]
8594
8595         * Makefile.in:
8596         More pwutil.o into COMMON_OBJS
8597         [4a016b933629]
8598
8599         * pwutil.c, testsudoers.c, tsgetgrpw.c:
8600         Remove my_* redirection in pwutil.c for testsudoers and just use the
8601         normal libc get{pw,gr}* names.
8602         [9b76d637d86b]
8603
8604         * sudoreplay.cat, sudoreplay.man.in, sudoreplay.pod:
8605         More time and date examples
8606         [c6ee0175ec56]
8607
8608         * Makefile.in, configure, configure.in, nanosleep.c, sudoreplay.c:
8609         Move nanosleep() emulation into its own file Check librt.a for
8610         nanosleep if we don't find it in libc
8611         [4da0cc26aad7]
8612
8613         * Makefile.in, configure, configure.in:
8614         Build libsudo with the common bits and link things against that.
8615         [2b53bc0b081a]
8616
8617         * script.c:
8618         Fix final flush.
8619         [6da287d833da]
8620
8621         * script.c:
8622         Keep reading from the pty master -> log file until read returns <=
8623         0. Do our best to write everything to stdout when flushing any
8624         remaining bits.
8625         [2a45d4ae280c]
8626
8627         * sudoreplay.c:
8628         Use unbuffered I/O when writing to stdout and make sure we write the
8629         entire buffer.
8630         [f39ef9844a47]
8631
8632 2009-09-18  Todd C. Miller  <Todd.Miller@courtesan.com>
8633
8634         * sudoreplay.c:
8635         Only use max_wait if it is non-zero
8636         [f6c10604d2e8]
8637
8638         * getdate.c, getdate.y, getline.c:
8639         Need compat.h here
8640         [5d6722e225a0]
8641
8642         * sudoreplay.c:
8643         Fix nanosleep emulation
8644         [34e5e5d72a76]
8645
8646         * script.c:
8647         Fix comment after #endif
8648         [bd1347718b25]
8649
8650         * sudoreplay.c:
8651         Add protos for missing libc bits
8652         [644f496427a2]
8653
8654         * configure, configure.in:
8655         add missing line continuation char
8656         [db13c0d402cd]
8657
8658         * config.h.in, configure, configure.in, getline.c:
8659         Implement getline() in terms of fgetln() if we have it.
8660         [3ab786eaadc5]
8661
8662         * sudoreplay.c:
8663         Print year when formatting log line
8664         [90be669e3443]
8665
8666         * sudoreplay.pod:
8667         Document cwd, attempt to document time/date formats.
8668         [6290fb9b65c6]
8669
8670         * sudoreplay.c:
8671         Fix getline return value check.
8672         [d696d6657261]
8673
8674         * Makefile.in, config.h.in, configure, configure.in, getline.c,
8675         sudoreplay.c:
8676         Use getline() if the system has it, else use provide our own for
8677         sudoreplay.
8678         [afca1d6fbe5e]
8679
8680         * script.c:
8681         Refactor code to update output and timing files.
8682         [361491332b1a]
8683
8684 2009-09-17  Todd C. Miller  <Todd.Miller@courtesan.com>
8685
8686         * sudoreplay.c:
8687         Make sudo_getln() behave more like glibc getline.
8688         [40c9f2ea29e6]
8689
8690         * script.c:
8691         When flushing remaining output, also update timing file.
8692         [5a9a5a627549]
8693
8694         * sudoreplay.c:
8695         Use get_timestr() and make the -l output look like the regular sudo
8696         log.
8697         [452ba9d436c9]
8698
8699         * logging.c, sudo.h, timestr.c:
8700         Make get_timestr() take a time_t so we can use it properly in
8701         sudoreplay.
8702         [82e67cc53c9c]
8703
8704         * script.c:
8705         Create session dir earlier now that we update the seq number early.
8706         [797fe8d6dc61]
8707
8708 2009-09-16  Todd C. Miller  <Todd.Miller@courtesan.com>
8709
8710         * sudoreplay.c:
8711         Use fromdate and todate as the keywords instead of from and to; the
8712         short forms will still be accepted.
8713         [d14d9b116df4]
8714
8715         * sudoreplay.c:
8716         Fix reading long liensin sudo_getln()
8717         [58dadd74118c]
8718
8719         * script.c, sudoreplay.c:
8720         Log the cwd in the script log file. Add sudo_getln() to read
8721         arbitrarily long lines.
8722         [faceb802ab8f]
8723
8724         * Makefile.in, logging.c, sudo.h, timestr.c:
8725         Move get_timestr() into its own source file so sudoreplay can use
8726         it.
8727         [99b054bfa20a]
8728
8729 2009-09-15  Todd C. Miller  <Todd.Miller@courtesan.com>
8730
8731         * sudoreplay.c:
8732         Add to and from perdicates (date ranges); needs documentation
8733         [1d629174dcf4]
8734
8735 2009-09-14  Todd C. Miller  <Todd.Miller@courtesan.com>
8736
8737         * Makefile.in, getdate.c, getdate.y:
8738         Fix warning and add generated getdate.c
8739         [b877a86b5a03]
8740
8741         * Makefile.in, getdate.y:
8742         Add getdate.y to be used for sudoreplay date parsing.
8743         [b8e26fbb7a40]
8744
8745 2009-09-13  Todd C. Miller  <Todd.Miller@courtesan.com>
8746
8747         * sudoreplay.c:
8748         Check more than just the first character of a predicate
8749         [4fe53728adb1]
8750
8751         * sudoreplay.cat, sudoreplay.man.in, sudoreplay.pod:
8752         Add examples, sort predicates
8753         [70f8075cbccc]
8754
8755         * Makefile.in, sudoreplay.c, sudoreplay.cat, sudoreplay.man.in,
8756         sudoreplay.pod:
8757         Implement search expressions in sudoreplay similar in concept to
8758         what find or tcpdump uses. TODO: date ranges
8759         [f7ce4fb4cf3a]
8760
8761 2009-09-07  Todd C. Miller  <Todd.Miller@courtesan.com>
8762
8763         * script.c:
8764         Remove vhangup as it was hanging up the wrong tty. Should really
8765         vhangup in the child after it as set its tty.
8766         [2eed9df73010]
8767
8768         * sudoers.pod:
8769         Fix cut at documenting transcript support.
8770         [e6c533a5568a]
8771
8772         * logging.c:
8773         ID= -> TSID= for transcript ID
8774         [1bf755a35333]
8775
8776 2009-09-06  Todd C. Miller  <Todd.Miller@courtesan.com>
8777
8778         * sudoers.pod:
8779         Move fast_glob description to where it belongs in sorted order
8780         [5901cfb0d25f]
8781
8782         * def_data.c, def_data.h, def_data.in, gram.c, gram.h, gram.y,
8783         parse.c, parse.h, sudo.c:
8784         Rename script -> transcript
8785         [e06cf823122c]
8786
8787 2009-09-03  Todd C. Miller  <Todd.Miller@courtesan.com>
8788
8789         * compat.h:
8790         Add timeradd and timersub for those without them
8791         [929f8aa06c2b]
8792
8793         * script.c:
8794         Sanity check sessid before using it.
8795         [aa8ca5211d43]
8796
8797         * sudo.c:
8798         Only set the session id if we are running a command or editing a
8799         file.
8800         [7205d717c098]
8801
8802         * script.c:
8803         Actually. qsort is fine since most versions fal back to a cheaper
8804         sort when the number of elements to sort is small (like in our
8805         case).
8806         [d11c7cd352fe]
8807
8808         * config.h.in, configure, configure.in, script.c:
8809         Check for dup2 and use dup instead if we don't have it.
8810         [98bd89830f8a]
8811
8812         * script.c, sudo.c, sudo.h:
8813         Move the code to dup2 the script fds to low numbered descriptors
8814         into script_duplow() and fix the fd sorting.
8815         [9453fdc5fba6]
8816
8817         * script.c, sudo.c, sudo.h:
8818         Move script_setup() back to immediately before we drop privs and
8819         call the new script_nextid() in its place, which will set
8820         sudo_user.sessid for the logging functions.
8821         [8434d0c8ff08]
8822
8823 2009-09-01  Todd C. Miller  <Todd.Miller@courtesan.com>
8824
8825         * Makefile.in:
8826         Install sudoreplay
8827         [6acf2cdb4d3f]
8828
8829         * sudoreplay.c:
8830         remove unused variable
8831         [2316360bb992]
8832
8833 2009-08-30  Todd C. Miller  <Todd.Miller@courtesan.com>
8834
8835         * logging.c, script.c, sudo.c, sudo.h:
8836         Log the session ID, if there is one. Currently logs ID=XXXXXX,
8837         perhaps should be SESSIONID or SESSID.
8838         [53976905b0a6]
8839
8840         * Makefile.in, configure, configure.in, sudoreplay.cat,
8841         sudoreplay.man.in, sudoreplay.pod:
8842         Add sudoreplay docs
8843         [da4f14f0e64c]
8844
8845         * sudoreplay.c:
8846         add -V (version) flag
8847         [b5e743639ee3]
8848
8849         * sudoreplay.c:
8850         Hook up max_wait.
8851         [2ec5697a92ba]
8852
8853         * script.c, sudoreplay.c:
8854         Use base36 number for the ID and store script files with paths like
8855         /var/log/sudo-session/00/00/00{,.tim,.scr}. This gives us 36^6
8856         (2,176,782,336) unique IDs.
8857         [6aab019d07aa]
8858
8859 2009-08-23  Todd C. Miller  <Todd.Miller@courtesan.com>
8860
8861         * config.h.in, configure.in:
8862         Add check for regcomp
8863         [44c3ebd7ff34]
8864
8865         * sudoreplay.c:
8866         Add support for selecting by pattern and tty when listing.
8867         [66189f840c52]
8868
8869 2009-08-17  Todd C. Miller  <Todd.Miller@courtesan.com>
8870
8871         * sudoreplay.c:
8872         The beginnings of a list mode.
8873         [8d0150b4a52c]
8874
8875 2009-08-16  Todd C. Miller  <Todd.Miller@courtesan.com>
8876
8877         * Makefile.in:
8878         fix pasto
8879         [616b4640b8a8]
8880
8881         * Makefile.in, config.h.in, configure.in:
8882         Add scaffolding for building sudoreplay
8883         [a32958505dbe]
8884
8885         * sudoreplay.c:
8886         include error.h first arg to nanotime is const
8887         [fe5a7bb31bc5]
8888
8889         * sudoreplay.c:
8890         Initial cut at sudoreplay; replay a sudo session.
8891         [f149fba372bd]
8892
8893 2009-08-08  Todd C. Miller  <Todd.Miller@courtesan.com>
8894
8895         * script.c:
8896         Fix wait() usage and use correct wait status.
8897         [f4745ed7ad05]
8898
8899         * sudo.c, sudo.h, tgetpass.c:
8900         Add protos for term_* to sudo.h
8901         [14fe1abd7e7b]
8902
8903         * script.c:
8904         Fix detection of the child process exiting. Since the child is in
8905         its own session we should only ever get SIGCHLD for that process but
8906         better safe than sorry.
8907         [7edfdadd8505]
8908
8909         * config.h.in:
8910         Add UNIX98 pty support.
8911         [82f4b53a0e8f]
8912
8913         * configure, configure.in, script.c:
8914         Add UNIX98 pty support.
8915         [795b8bb0a3a1]
8916
8917 2009-08-07  Todd C. Miller  <Todd.Miller@courtesan.com>
8918
8919         * term.c:
8920         For raw mode, don't bother clearing BRKINT or PARMRK and clear IUCLC
8921         if it is defined.
8922         [40f8b83baf69]
8923
8924         * auth/pam.c:
8925         Set PAM_RUSER and PAM_RHOST early so they can be used during
8926         authentication. Based on a patch from Jamie Beverly.
8927         [3d567b453a6a]
8928
8929         * match.c:
8930         Close dir before returning if strlcpy() reports overflow. From
8931         Martynas Venckus.
8932         [6a82f96473e5]
8933
8934         * config.h.in, configure, configure.in, script.c:
8935         On Linux, the openpty proto libes in pty.h
8936         [98643a018d1c]
8937
8938         * script.c:
8939         Call vhangup on exit if the system has it Use setpgrp() if no
8940         setsid()
8941         [3a9e13149829]
8942
8943 2009-08-06  Todd C. Miller  <Todd.Miller@courtesan.com>
8944
8945         * config.h.in, configure, configure.in:
8946         Add checks for revoke and vhangup if we don't have openpty
8947         [fcb04572e994]
8948
8949         * script.c:
8950         Session logging guts that got forgotten in the previous commit.
8951         [c2af08a63ea9]
8952
8953         * Makefile.in, aclocal.m4, compat.h, config.h.in, configure,
8954         configure.in, def_data.c, def_data.h, def_data.in, gram.c, gram.h,
8955         gram.y, parse.c, parse.h, pathnames.h.in, sudo.c, sudo.h, term.c,
8956         tgetpass.c:
8957         First cut at session logging for sudo. Still need to write
8958         get_pty() for Unix 98 and old-style BSD ptys. Also needs
8959         documentation and general cleanup.
8960         [77e3f5e25738]
8961
8962 2009-08-05  Todd C. Miller  <Todd.Miller@courtesan.com>
8963
8964         * sudo.c, sudo_edit.c:
8965         Fix a bug introduced with def_closefrom. The value of def_closefrom
8966         already includes the +1.
8967         [7291c136300d]
8968
8969 2009-07-29  Todd C. Miller  <Todd.Miller@courtesan.com>
8970
8971         * Makefile.in:
8972         Generate sudo distributions with pax in ustar mode. No longer need
8973         to use a temp file or have the source dir name match the version.
8974         [9778177a8272]
8975
8976 2009-07-18  Todd C. Miller  <Todd.Miller@courtesan.com>
8977
8978         * toke.c, toke.l:
8979         Fix expansion of %h in #include names. Fixes bugzilla 363
8980         [6e346879ba24]
8981
8982 2009-07-12  Todd C. Miller  <Todd.Miller@courtesan.com>
8983
8984         * mkdefaults:
8985         If no arg assume def_data.in
8986         [c1dd28c0e675]
8987
8988         * README, WHATSNEW:
8989         Update for 1.7.2
8990         [f5ad45f69f05] [SUDO_1_7_2]
8991
8992         * ChangeLog:
8993         sync
8994         [6283549396ff]
8995
8996 2009-06-30  Todd C. Miller  <Todd.Miller@courtesan.com>
8997
8998         * sudoers.cat, sudoers.man.in, sudoers.pod:
8999         Add missing single quotes around a colon in Runas_Spec definition.
9000         From Elias Benali.
9001         [ccc6ee4fca83]
9002
9003 2009-06-29  Todd C. Miller  <Todd.Miller@courtesan.com>
9004
9005         * sudo.man.in, sudoers.man.in:
9006         regen
9007         [546e75304ebf]
9008
9009         * redblack.c:
9010         In rbrepair, re-color the root or the first non-block node we find
9011         to be black. Re-coloring the root is probably not needed but won't
9012         hurt.
9013         [34d01ebe241b]
9014
9015         * sudo.cat, sudoers.cat:
9016         regen
9017         [bebf5a39f54f]
9018
9019 2009-06-26  Todd C. Miller  <Todd.Miller@courtesan.com>
9020
9021         * redblack.c:
9022         When repairing the tree, don't touch the root node.
9023         [9841f0d5d789]
9024
9025 2009-06-25  Todd C. Miller  <Todd.Miller@courtesan.com>
9026
9027         * set_perms.c:
9028         Protect call to setegid in runas_setup with #ifdef HAVE_SETEUID.
9029         Reported by Josef Schmid.
9030         [ed044b1eb879]
9031
9032 2009-06-23  Todd C. Miller  <Todd.Miller@courtesan.com>
9033
9034         * sudoers.pod:
9035         Document that we accept env_pam-style environment files
9036         [e3b545456352]
9037
9038         * env.c:
9039         Adapt to accept pam_env-style /etc/environment which allows shell-
9040         style lines such as: export EDITOR="/usr/bin/vi"
9041         [752eb75bf007]
9042
9043         * sudoers.pod:
9044         Make it clear that env_delete only works when !env_reset. From Lo??c
9045         Minier
9046         [3bd3f8e351ba]
9047
9048 2009-06-15  Todd C. Miller  <Todd.Miller@courtesan.com>
9049
9050         * sudo.pod, sudoers.pod:
9051         Add non-unix group bits, adapted from Quest
9052         [8ce427de8dea]
9053
9054         * Makefile.in:
9055         build the .cat page in the current working dir, not the src dir
9056         [00e87a307674]
9057
9058         * env.c:
9059         Return EINVAL in setenv() if var is NULL or the empty string to
9060         match glibc behavior.
9061         [23fd7c247142]
9062
9063 2009-06-13  Todd C. Miller  <Todd.Miller@courtesan.com>
9064
9065         * configure, configure.in:
9066         Use AS_HELP_STRING for AC_ARG_WITH and AC_ARG_ENABLE
9067         [fedd4a3e2a85]
9068
9069 2009-06-11  Todd C. Miller  <Todd.Miller@courtesan.com>
9070
9071         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.ldap.cat,
9072         sudoers.ldap.man.in, sudoers.man.in, visudo.cat, visudo.man.in:
9073         regen
9074         [7b9f461a40b3]
9075
9076 2009-06-09  Todd C. Miller  <Todd.Miller@courtesan.com>
9077
9078         * INSTALL:
9079         Document --with-libvas and --with-libvas-rpath
9080         [a071e6d96c89]
9081
9082 2009-05-29  Todd C. Miller  <Todd.Miller@courtesan.com>
9083
9084         * ldap.c, sudoers.ldap.pod:
9085         For netscape-derived LDAP SDKs the cert and key paths may be a
9086         directory or a file. However, version 5.0 of the SDK only seems to
9087         support using a directory. If ldapssl_clientauth_init fails and the
9088         cert or key paths look like they could be files, strip off the last
9089         path element and try again.
9090         [ac4e49d83043]
9091
9092         * Makefile.in:
9093         Add non-Unix group .o to COMMON_OBJS and substitute in path to flex.
9094         [4547cc1a335f]
9095
9096 2009-05-27  Todd C. Miller  <Todd.Miller@courtesan.com>
9097
9098         * configure, configure.in, match.c, sudo.c, vasgroups.c:
9099         Update non-Unix group support from Quest, as reworked by me.
9100         [1abafce29dc6]
9101
9102         * toke.c:
9103         regen
9104         [01bfca9148b7]
9105
9106         * toke.l:
9107         Add support for escaped hex chars in names, e.g. \x20 for space.
9108         [3c7be8e58a39]
9109
9110 2009-05-25  Todd C. Miller  <Todd.Miller@courtesan.com>
9111
9112         * LICENSE, Makefile.in, aclocal.m4, alias.c, auth/aix_auth.c,
9113         auth/pam.c, auth/sudo_auth.c, auth/sudo_auth.h, check.c, env.c,
9114         fileops.c, glob.c, gram.y, interfaces.c, lbuf.c, ldap.c, logging.c,
9115         logging.h, match.c, parse.c, parse.h, pathnames.h.in, pwutil.c,
9116         set_perms.c, sudo.c, sudo.h, sudo.pod, sudo_nss.c, sudo_nss.h,
9117         sudo_usage.h.in, sudoers.ldap.pod, sudoers.pod, testsudoers.c,
9118         tgetpass.c, toke.l, visudo.c:
9119         Update copyright years.
9120         [e615f676c764]
9121
9122 2009-05-24  Todd C. Miller  <Todd.Miller@courtesan.com>
9123
9124         * interfaces.c, lbuf.c:
9125         Minor fixes for Minix-3
9126         [898c510d23f9]
9127
9128 2009-05-22  Todd C. Miller  <Todd.Miller@courtesan.com>
9129
9130         * set_perms.c:
9131         Handle getgroups() returning 0. Also add missing check for
9132         HAVE_GETGROUPS.
9133         [d73b958f9ffd]
9134
9135 2009-05-19  Todd C. Miller  <Todd.Miller@courtesan.com>
9136
9137         * Makefile.in, config.h.in, configure, configure.in, sudo.c,
9138         version.h, visudo.c:
9139         Replace version.h with PACKAGE_VERSION set via AC_INIT in configure.
9140         [5050579a264d]
9141
9142 2009-05-18  Todd C. Miller  <Todd.Miller@courtesan.com>
9143
9144         * set_perms.c:
9145         Remove group setting code in setusercontext case, we will do it
9146         ourselves later on in runas_setup. Set the gid after
9147         initgroups/setgroups is called, since on Mac OS X it seems to change
9148         the egid.
9149         [09dc21d8b42d]
9150
9151 2009-05-17  Todd C. Miller  <Todd.Miller@courtesan.com>
9152
9153         * LICENSE, Makefile.in, config.h.in, match.c, nonunix.h, sudo.c,
9154         vasgroups.c:
9155         Initial bits of non-unix group support using Quest Authentication
9156         Services
9157         [1eecab0ff27e]
9158
9159         * toke.c, toke.l:
9160         Accept %:foo as a non-Unix group
9161         [4c4b5dd899a6]
9162
9163         * toke.c, toke.l:
9164         Allow user/group to be double quoted in the case of non-Unix groups
9165         which contain spaces.
9166         [47a3d568b7e8]
9167
9168 2009-05-11  Todd C. Miller  <Todd.Miller@courtesan.com>
9169
9170         * match.c:
9171         Don't allow the user to specify the default runas user if their
9172         sudoers entry only allows them to run as a group.
9173         [4d726177227c]
9174
9175 2009-05-10  Todd C. Miller  <Todd.Miller@courtesan.com>
9176
9177         * sudo.c:
9178         Must call audit_success before we change uids.
9179         [04a9e6ce6e55]
9180
9181         * logging.c, set_perms.c, sudo.h, testsudoers.c:
9182         Add option for set_perm to not exit on failure and use this in the
9183         logging routines.
9184         [833dce7b7f42]
9185
9186         * parse.c:
9187         In -l mode, if the user is only allowed to run as a group, display
9188         the user's name, not root's before the allowed group.
9189         [ef92ff99d265]
9190
9191         * sudo.c:
9192         Fix -g mode, broken by rev 1.503 which had the side effect of
9193         setting the runas user to root unilaterally.
9194         [50a2f7df4385]
9195
9196 2009-05-08  Todd C. Miller  <Todd.Miller@courtesan.com>
9197
9198         * fileops.c:
9199         When unlocking a file with fcntl, use F_SETLK, not F_SETLKW.
9200         [30fbe832dcf3]
9201
9202         * pwutil.c:
9203         Only cache by the method we fetched for pwd and grp lookups.
9204         Previously we cached both by namd and id but this can cause problems
9205         for entries that share the same id. Also add more info in the error
9206         message in case the insert fails (which should now be impossible).
9207         [ef95a4f0bab5]
9208
9209 2009-04-30  Todd C. Miller  <Todd.Miller@courtesan.com>
9210
9211         * sudoers.pod:
9212         Add a clarification from Nick Sieger
9213         [1eadad329561]
9214
9215 2009-04-25  Todd C. Miller  <Todd.Miller@courtesan.com>
9216
9217         * env.c:
9218         Inline the setting of the environment string.
9219         [9515d11c6295]
9220
9221 2009-04-24  Todd C. Miller  <Todd.Miller@courtesan.com>
9222
9223         * env.c:
9224         setenv(3) in Linux treats a NUL value as the empty string setenv(3)
9225         in BSD doesn't return an error if the name has '=' in it, it just
9226         treats the '=' as end of string.
9227         [941260bf94d2]
9228
9229 2009-04-22  Todd C. Miller  <Todd.Miller@courtesan.com>
9230
9231         * toke.c, toke.l:
9232         Not all systems have d_namlen
9233         [e377b18d8e2d]
9234
9235 2009-04-20  Todd C. Miller  <Todd.Miller@courtesan.com>
9236
9237         * sudoers.pod:
9238         Fix up some pod2html issues.
9239         [823a1f10ab60]
9240
9241 2009-04-19  Todd C. Miller  <Todd.Miller@courtesan.com>
9242
9243         * interfaces.c:
9244         Check for NULL ifa_addr and ifa_netmask. Adapted from a diff from
9245         Quest Software.
9246         [73de36653131]
9247
9248         * sudoers.pod:
9249         Ignore files ending in '~' in sudo.d (emacs backup files)
9250         [7871fad702db]
9251
9252         * toke.c, toke.l:
9253         Ignore files ending in '~' in sudo.d (emacs backup files)
9254         [53fded2a469f]
9255
9256 2009-04-18  Todd C. Miller  <Todd.Miller@courtesan.com>
9257
9258         * sudoers.cat, sudoers.man.in, sudoers.pod, toke.c, toke.l:
9259         For #includedir, ignore any file containing a dot
9260         [a7daa1bce6c2]
9261
9262         * Makefile.in, version.h:
9263         Bump version
9264         [ef60f14ffc44]
9265
9266         * gram.c, gram.y, parse.c, parse.h, sudo.c, sudo.h, sudoers.cat,
9267         sudoers.man.in, sudoers.pod, testsudoers.c, toke.c, toke.l,
9268         visudo.c:
9269         Implement #includedir directive. Files in an includedir are not
9270         edited by visudo unless they contain a syntax error.
9271         [3923d85a6c79]
9272
9273         * ChangeLog:
9274         sync
9275         [8741ed61a78b] [SUDO_1_7_1]
9276
9277         * WHATSNEW:
9278         Forgot umask_override
9279         [7c86a21a5504]
9280
9281         * ChangeLog, TODO:
9282         sync
9283         [57339ca6bccf]
9284
9285 2009-04-16  Todd C. Miller  <Todd.Miller@courtesan.com>
9286
9287         * visudo.c:
9288         Rewind stream if we fdopen sudoers since it may not be at the
9289         beginning. Set the keepopen flag on already-open files too so the
9290         lexer doesn't close them out from under us.
9291         [61292d819aff]
9292
9293         * visudo.c:
9294         Print the proper file name when there is a parse error in an include
9295         file.
9296         [b0e85d4aedde]
9297
9298 2009-04-11  Todd C. Miller  <Todd.Miller@courtesan.com>
9299
9300         * WHATSNEW:
9301         Sync
9302         [997e5d485ea3]
9303
9304 2009-04-10  Todd C. Miller  <Todd.Miller@courtesan.com>
9305
9306         * configure, configure.in:
9307         Fix a warning when --without-ldap is specified.
9308         [d91fd9481b30]
9309
9310 2009-04-05  Todd C. Miller  <Todd.Miller@courtesan.com>
9311
9312         * alias.c, parse.h, visudo.c:
9313         Store aliases that we remove during check_aliases in a freelist and
9314         free them at the end so we don't leak memory.
9315         [805e2272f6a3]
9316
9317 2009-03-28  Todd C. Miller  <Todd.Miller@courtesan.com>
9318
9319         * visudo.c:
9320         Check aliases in -c mode too.
9321         [9199e188d9f2]
9322
9323         * alias.c, parse.h, visudo.c:
9324         Make alias_remove return the alias struct instead of freeing it
9325         directly. Fixes a use after free in alias_remove_recursive, the only
9326         consumer.
9327         [a04b61804800]
9328
9329         * alias.c, match.c, parse.c, parse.h, visudo.c:
9330         Rename find_alias -> alias_find for consistency.
9331         [48b0a82924f3]
9332
9333 2009-03-27  Todd C. Miller  <Todd.Miller@courtesan.com>
9334
9335         * visudo.c:
9336         When checking for unused aliases, recurse if the alias points to
9337         another alias.
9338         [2d4d1a7f3a41]
9339
9340 2009-03-16  Todd C. Miller  <Todd.Miller@courtesan.com>
9341
9342         * ldap.c:
9343         Back out rev 1.105 for now. Real ldapux_client.conf support will be
9344         done later after some refactoring.
9345         [8ad72e69b277]
9346
9347 2009-03-14  Todd C. Miller  <Todd.Miller@courtesan.com>
9348
9349         * ldap.c:
9350         Treat ldap_hostport the same as "host" for ldapux.
9351         [3281dcc66da8]
9352
9353         * configure, configure.in:
9354         Only check for ldap_sasl_interactive_bind_s if we can find sasl.h.
9355         Fixes compilation with ldapux.
9356         [ca1ed585ef0e]
9357
9358 2009-03-12  Todd C. Miller  <Todd.Miller@courtesan.com>
9359
9360         * fileops.c:
9361         fix char subscript
9362         [41e51f080d00]
9363
9364 2009-03-11  Todd C. Miller  <Todd.Miller@courtesan.com>
9365
9366         * Makefile.in:
9367         remove errant carriage returns
9368         [e9e258a31c7b]
9369
9370         * audit.c, env.c:
9371         fix K&R compilation
9372         [d182e8920f13]
9373
9374         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.ldap.cat,
9375         sudoers.ldap.man.in, sudoers.man.in, visudo.cat, visudo.man.in:
9376         regen
9377         [791a5cbf04e5]
9378
9379 2009-03-10  Todd C. Miller  <Todd.Miller@courtesan.com>
9380
9381         * config.h.in:
9382         Add missing HAVE_BSM_AUDIT
9383         [49ad1bb96f04]
9384
9385         * WHATSNEW:
9386         Add 1.7.1 features
9387         [f107f1604c61]
9388
9389         * INSTALL:
9390         Mention --with-netsvc
9391         [d1e90d147795]
9392
9393         * sudoers.ldap.pod:
9394         Document netsvc.conf support
9395         [e78f8abce6af]
9396
9397         * configure, configure.in, pathnames.h.in, sudo.c, sudo_nss.c,
9398         sudo_nss.h:
9399         Add support for AIX netsvc.conf (like nsswitch.conf).
9400         [1df56a84dee5]
9401
9402 2009-03-08  Todd C. Miller  <Todd.Miller@courtesan.com>
9403
9404         * config.h.in, configure, configure.in, env.c:
9405         Add --enable-env-debug flag to enable environment sanity checks.
9406         [128cdd8832e7]
9407
9408         * sudoers.ldap.pod, sudoers.pod:
9409         Work around some pod2html issue.
9410         [e733b9609bd2]
9411
9412 2009-03-07  Todd C. Miller  <Todd.Miller@courtesan.com>
9413
9414         * env.c:
9415         Only sync environ for putenv, setenv, and unsetenv. We need to make
9416         sure that sudo_putenv and sudo_setenv only modify env.envp, not
9417         environ.
9418         [be3ac732243c]
9419
9420 2009-03-02  Todd C. Miller  <Todd.Miller@courtesan.com>
9421
9422         * env.c:
9423         Really fix UNSETENV_VOID
9424         [08ab7e882507]
9425
9426         * env.c:
9427         Fix unsetenv when UNSETENV_VOID
9428         [d3038b3f2f15]
9429
9430         * aclocal.m4, configure:
9431         Fix SUDO_FUNC_PUTENV_CONST
9432         [de35569c572b]
9433
9434         * ldap.c:
9435         tivoli-based ldap does not have ldapssl_err2string
9436         [c63fd90d5e99]
9437
9438         * configure:
9439         regen
9440         [f38f1ee828ad]
9441
9442 2009-03-01  Todd C. Miller  <Todd.Miller@courtesan.com>
9443
9444         * config.h.in, configure, configure.in, ldap.c:
9445         Add support for Tivoli-based LDAP start TLS as seen in AIX.
9446         Untested.
9447         [8f8771829f85]
9448
9449         * env.c:
9450         Add sanity checks for setenv/unsetenv
9451         [adbd1d95856b]
9452
9453         * Makefile.in:
9454         Include bsm_audit.h in the tarball
9455         [4a4aa02b2c32]
9456
9457         * Makefile.in, version.h:
9458         bump version for sudo 1.7.1
9459         [362c71d21595]
9460
9461         * aclocal.m4, auth/aix_auth.c, config.h.in, configure, configure.in,
9462         env.c, ldap.c, sudo.h:
9463         Replace sudo_setenv/sudo_unsetenv with calls to setenv/unsetenv and
9464         provide our own setenv/unsetenv/putenv that operates on own env
9465         pointer. Make sync_env() inline in setenv/unsetenv/putenv functions.
9466         [276edcd23032]
9467
9468 2009-02-25  Todd C. Miller  <Todd.Miller@courtesan.com>
9469
9470         * sudo.c:
9471         Make "sudoedit -h" work as expected
9472         [2bcbbb45d389]
9473
9474         * auth/pam.c:
9475         Make sure def_prompt is always defined. This is a workaround for
9476         pam configs that prompt for a password in the session but don't have
9477         an auth line. A better fix is to expand the sudo prompt earlier and
9478         set def_prompt to that when initializing.
9479         [ee073c04aec3]
9480
9481         * sudo.pod:
9482         Mention that the helper for -A may be graphical.
9483         [b64a940c4082]
9484
9485         * TROUBLESHOOTING:
9486         Document what happens if there is no tty.
9487         [313d58a856a5]
9488
9489         * sudo.c:
9490         cosmetic changes
9491         [894f5e3b0c3e]
9492
9493         * term.c:
9494         Fix term_restore
9495         [6c6315ff14bc]
9496
9497         * sudo.c:
9498         Fix "sudo -k" with no other args
9499         [59e94dc419c6]
9500
9501 2009-02-24  Todd C. Miller  <Todd.Miller@courtesan.com>
9502
9503         * check.c, sudo.c, sudo.pod, sudo_usage.h.in:
9504         Allow the -k flag to be specified in conjunction with a command or
9505         another option that may require authentication.
9506         [5960ff20355d]
9507
9508 2009-02-23  Todd C. Miller  <Todd.Miller@courtesan.com>
9509
9510         * configure, configure.in:
9511         Remove unneeded AC_CANONICAL_TARGET; from Diego E. 'Flameeyes'
9512         [e86ab69c4a57]
9513
9514         * Makefile.in:
9515         Parallel make fix. From Diego E. 'Flameeyes'
9516         [1289d7ee27db]
9517
9518 2009-02-21  Todd C. Miller  <Todd.Miller@courtesan.com>
9519
9520         * def_data.c, def_data.h, def_data.in, sudo.c, sudoers.pod:
9521         Implement umask_override
9522         [8b87a3f7c5aa]
9523
9524         * toke.c:
9525         regen
9526         [79d7ca9ac873]
9527
9528         * sudoers.pod, toke.l, visudo.c:
9529         Implement %h escape in sudoers include filenames.
9530         [a7f288dd64f0]
9531
9532         * audit.c:
9533         Need to include compat.h
9534         [c0dc07ce2f70]
9535
9536         * Makefile.in, audit.c, bsm_audit.c, bsm_audit.h, logging.h, sudo.c:
9537         Make audit_success and audit_failure generic functions in
9538         preparation for integrating linux audit support.
9539         [7df020a8fd6f]
9540
9541         * term.c:
9542         remove duplicate include
9543         [1dfcd01a7e46]
9544
9545 2009-02-20  Todd C. Miller  <Todd.Miller@courtesan.com>
9546
9547         * bsm_audit.c:
9548         Add missing include
9549         [fb56e08c37ee]
9550
9551         * sudo.c:
9552         May need to update the runas user after parsing command-based
9553         defaults.
9554         [246f130d7802]
9555
9556 2009-02-18  Todd C. Miller  <Todd.Miller@courtesan.com>
9557
9558         * glob.c:
9559         Add missing pair of braces introduced with character class support.
9560         [0e2afa2e03e9]
9561
9562 2009-02-15  Todd C. Miller  <Todd.Miller@courtesan.com>
9563
9564         * def_data.c, def_data.h, def_data.in, sudoers.pod, tgetpass.c:
9565         Rename pwstars to pwfeedback
9566         [a9f85a57ebac]
9567
9568 2009-02-11  Todd C. Miller  <Todd.Miller@courtesan.com>
9569
9570         * bsm_audit.c, bsm_audit.h:
9571         Add const to make MacOS happy.
9572         [4274432d6627]
9573
9574         * Makefile.in, auth/sudo_auth.c, bsm_audit.c, bsm_audit.h, configure,
9575         configure.in, sudo.c:
9576         Add bsm audit support from Christian S.J. Peron
9577         [bef61cd8693d]
9578
9579         * term.c:
9580         This is new code, no DARPA notice.
9581         [ec6ad09b9c23]
9582
9583 2009-02-10  Todd C. Miller  <Todd.Miller@courtesan.com>
9584
9585         * def_data.c, def_data.h, def_data.in, match.c, sudoers.pod:
9586         Rename simple_glob -> fast_glob
9587         [68d9ed803cc1]
9588
9589         * match.c:
9590         g/c unused var
9591         [693fa0464eb6]
9592
9593         * def_data.c, def_data.h, def_data.in, match.c, sudoers.pod:
9594         Add simple_glob option to use fnmatch() instead of glob(). This is
9595         useful when you need to specify patterns that reference network file
9596         systems.
9597         [77ba634f6949]
9598
9599         * tgetpass.c:
9600         add term_* proto
9601         [520f5149d073]
9602
9603         * sudoers.pod:
9604         mention glob()
9605         [ddaab8e03c52]
9606
9607 2009-02-09  Todd C. Miller  <Todd.Miller@courtesan.com>
9608
9609         * tgetpass.c:
9610         Delete any pwstars we wrote after the user hits return. That way
9611         there is no record on screen as to the user's password length.
9612         [fae25cda762b]
9613
9614 2009-02-08  Todd C. Miller  <Todd.Miller@courtesan.com>
9615
9616         * term.c:
9617         Move terminal setting bits from tgetpass.c to term.c
9618         [03d43325ee99]
9619
9620         * Makefile.in, def_data.c, def_data.h, def_data.in, sudoers.pod,
9621         tgetpass.c:
9622         Add pwstars sudoers option that causes sudo to print a star every
9623         time the user presses a key.
9624         [7aab417e184d]
9625
9626 2009-02-03  Todd C. Miller  <Todd.Miller@courtesan.com>
9627
9628         * Makefile.in:
9629         Fix up F<> brokenness for visudo.man.in and sudoers.ldap.man.in.
9630         [64f70e879816]
9631
9632 2009-01-27  Todd C. Miller  <Todd.Miller@courtesan.com>
9633
9634         * ldap.c:
9635         For ldap_search_ext_s() the sizelimit param should be 0, not -1, to
9636         indicate no limit. From Mark Janssen.
9637         [e2c5732d54f5]
9638
9639 2009-01-17  Todd C. Miller  <Todd.Miller@courtesan.com>
9640
9641         * toke.c, toke.l:
9642         Comments that begin with #- should not be parsed as uids.
9643         [a72a50f12f41]
9644
9645 2009-01-09  Todd C. Miller  <Todd.Miller@courtesan.com>
9646
9647         * sudo.c:
9648         Do not try to set the close on exec flag if we didn't actually open
9649         sudoers.
9650         [ece3ca256904]
9651
9652 2008-12-19  Todd C. Miller  <Todd.Miller@courtesan.com>
9653
9654         * ChangeLog:
9655         regen
9656         [e11f0e4c1bdd] [SUDO_1_7_0]
9657
9658 2008-12-14  Todd C. Miller  <Todd.Miller@courtesan.com>
9659
9660         * TODO:
9661         sync
9662         [5b8954462bb3]
9663
9664 2008-12-09  Todd C. Miller  <Todd.Miller@courtesan.com>
9665
9666         * auth/pam.c:
9667         Return PAM_AUTH_ERR instead of PAM_CONV_ERR if user enters ^C at the
9668         password prompt.
9669         [8563601cb3de]
9670
9671         * configure, configure.in:
9672         Don't try to build sudo_noexec.so on HP-UX with the bundled compiler
9673         as it cannot generate shared objects.
9674         [6d4262ef9669]
9675
9676         * emul/charclass.h, glob.c, lbuf.c, tgetpass.c:
9677         K&R compilation fixes
9678         [77921678d17c]
9679
9680         * parse.c:
9681         Use tq_foreach_fwd when checking pseudo-commands to make it clear
9682         that we are not short-circuiting on last match. When pwcheck is
9683         'all', initialize nopass to TRUE and override it with the first non-
9684         TRUE entry.
9685         [96b209f4778f]
9686
9687 2008-12-08  Todd C. Miller  <Todd.Miller@courtesan.com>
9688
9689         * parse.c:
9690         Do not short circuit pseudo commands when we get a match since,
9691         depending on the settings, we may need to examine all commands for
9692         tags.
9693         [fdbaf89d6f35]
9694
9695 2008-12-03  Todd C. Miller  <Todd.Miller@courtesan.com>
9696
9697         * sudoers.cat, sudoers.man.in:
9698         regen
9699         [1ecce7c1b841]
9700
9701         * sudoers.pod:
9702         hostnames may also contain wildcards
9703         [82b76695601c]
9704
9705         * Makefile.in:
9706         remove stamp-* files and linux core files in clean target
9707         [22003f091467]
9708
9709 2008-12-02  Todd C. Miller  <Todd.Miller@courtesan.com>
9710
9711         * auth/sudo_auth.h, config.h.in, configure, configure.in:
9712         Use HAVE_SIA_SES_INIT instead of HAVE_SIA for Digital UNIX
9713         [6905bede8410]
9714
9715 2008-11-26  Todd C. Miller  <Todd.Miller@courtesan.com>
9716
9717         * configure, configure.in:
9718         correctly enable SIA on Digital UNIX
9719         [a51881d13995]
9720
9721         * TODO:
9722         checkpoint
9723         [af0fe8d94d42]
9724
9725         * ChangeLog:
9726         sync
9727         [831f623cf99c]
9728
9729 2008-11-25  Todd C. Miller  <Todd.Miller@courtesan.com>
9730
9731         * check.c, sudo.h, tgetpass.c:
9732         Even if neither stdin nor stdout are ttys we may still have /dev/tty
9733         available to us.
9734         [20f306ba883b]
9735
9736 2008-11-24  Todd C. Miller  <Todd.Miller@courtesan.com>
9737
9738         * sudoers.cat, sudoers.man.in:
9739         regen
9740         [76d97c4c318f]
9741
9742         * sudoers.pod:
9743         fix typos; Markus Lude
9744         [bff8bc1e2066]
9745
9746         * ChangeLog:
9747         sync
9748         [f108552531cd]
9749
9750         * toke.c:
9751         regen
9752         [de828413c67e]
9753
9754         * toke.l:
9755         Fix matching of a line that only consists of a comment char
9756         [09c953d8d5ca]
9757
9758 2008-11-22  Todd C. Miller  <Todd.Miller@courtesan.com>
9759
9760         * auth/pam.c:
9761         MacOS pam will retry conversation function if it fails so just treat
9762         ^C as an empty password.
9763         [d056058930bc]
9764
9765         * visudo.c:
9766         When checking for alias use, also check defaults bindings.
9767         [2647f82c7dbd]
9768
9769         * redblack.c:
9770         unused var
9771         [b7ff71c17c18]
9772
9773         * redblack.c:
9774         Replace my rbdelete with Emin's version (which actually works ;-)
9775         [21b133dd0c72]
9776
9777 2008-11-19  Todd C. Miller  <Todd.Miller@courtesan.com>
9778
9779         * testsudoers.c:
9780         malloc debugging
9781         [0fb446fa3279]
9782
9783         * visudo.c:
9784         malloc options in devel mode for visudo too
9785         [98d06c6afeef]
9786
9787 2008-11-18  Todd C. Miller  <Todd.Miller@courtesan.com>
9788
9789         * sudo.c:
9790         fix compilation on non-C99; from Theo
9791         [7c304e16c536]
9792
9793         * visudo.c:
9794         fix check_aliases
9795         [83f30a3b1765]
9796
9797         * alias.c:
9798         when destroying an alias, free the correct data pointer
9799         [6e1a8bd86c01]
9800
9801         * auth/sudo_auth.h:
9802         add proto for aixauth_cleanup; from Dale King
9803         [eba94ffc8f63]
9804
9805 2008-11-15  Todd C. Miller  <Todd.Miller@courtesan.com>
9806
9807         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in, visudo.cat,
9808         visudo.man.in:
9809         regen
9810         [409fa57fff83]
9811
9812         * sudo.pod, sudoers.pod, visudo.pod:
9813         standardize on the term 'option' for command line options (not flag)
9814         [228caefc2e36]
9815
9816 2008-11-14  Todd C. Miller  <Todd.Miller@courtesan.com>
9817
9818         * INSTALL:
9819         Add note on configuring HP-UX pam
9820         [f7674a581baf]
9821
9822 2008-11-11  Todd C. Miller  <Todd.Miller@courtesan.com>
9823
9824         * check.c, sudo.c:
9825         Move tty checks into check_user() so we only do them if we actually
9826         need a password.
9827         [7d997d7106d6]
9828
9829         * sudo.c:
9830         Don't error out if no tty or askpass unless we actually need to
9831         authenticate.
9832         [9f23b83ed66c]
9833
9834 2008-11-10  Todd C. Miller  <Todd.Miller@courtesan.com>
9835
9836         * ChangeLog:
9837         regen
9838         [23f9aef32da6]
9839
9840         * pathnames.h.in, sudo.c:
9841         s/overriden/overridden/; from Tobias Stoeckmann
9842         [9f7459a8fac5]
9843
9844 2008-11-09  Todd C. Miller  <Todd.Miller@courtesan.com>
9845
9846         * WHATSNEW, visudo.c:
9847         check sudoers owner and mode in strict mode
9848         [a3468c5ac1c4]
9849
9850         * gram.c, toke.c:
9851         regen
9852         [7d6b515a5443]
9853
9854         * sudo.man.in, sudoers.man.in, visudo.man.in:
9855         Update copyright years.
9856         [52d340cb8cba]
9857
9858         * LICENSE, alias.c, alloc.c, auth/afs.c, auth/aix_auth.c,
9859         auth/bsdauth.c, auth/fwtk.c, auth/kerb4.c, auth/kerb5.c, auth/pam.c,
9860         auth/securid.c, auth/securid5.c, auth/sia.c, auth/sudo_auth.h,
9861         closefrom.c, compat.h, defaults.c, defaults.h, env.c, fileops.c,
9862         gettime.c, gram.y, ins_csops.h, insults.h, interfaces.c,
9863         interfaces.h, lbuf.c, license.pod, list.c, logging.c, logging.h,
9864         parse.c, parse.h, pwutil.c, redblack.c, redblack.h, snprintf.c,
9865         sudo.c, sudo.pod, sudo_edit.c, sudo_nss.h, sudoers.pod,
9866         testsudoers.c, toke.l, tsgetgrpw.c, utimes.c, version.h, visudo.c,
9867         visudo.pod, zero_bytes.c:
9868         Update copyright years.
9869         [b4e6bf2beafa]
9870
9871         * emul/charclass.h, fnmatch.c, glob.c:
9872         add my copyright
9873         [28681385014a]
9874
9875 2008-11-08  Todd C. Miller  <Todd.Miller@courtesan.com>
9876
9877         * toke.c, toke.l:
9878         The loop in fill_cmnd() was going one byte too far past the end,
9879         resulting in a NUL being written immediately after the buffer end.
9880         [a5a49d603cd7]
9881
9882         * UPGRADE, WHATSNEW:
9883         add sections on tgetpass changes
9884         [2e6929b6a102]
9885
9886         * tgetpass.c:
9887         Treat EOF w/o newline as an error.
9888         [aa02b1db9240]
9889
9890 2008-11-07  Todd C. Miller  <Todd.Miller@courtesan.com>
9891
9892         * parse.c:
9893         Fix "sudo -v" when NOPASSWD is set.
9894         [f4914711ea80]
9895
9896         * auth/bsdauth.c, auth/fwtk.c, auth/pam.c, auth/sudo_auth.c,
9897         auth/sudo_auth.h:
9898         No longer treat an empty password at the prompt as special. To quit
9899         out of sudo you now need to hit ^C at the password prompt.
9900         [980f760ad419]
9901
9902         * sudoers.cat, sudoers.man.in:
9903         regen
9904         [6ca21a2cd869]
9905
9906         * def_data.c, def_data.h, def_data.in, sudo.c, sudoers.pod:
9907         Sudo will now refuse to run if no tty is present unless the new
9908         visiblepw sudoers flag is set.
9909         [0cc56943252e]
9910
9911 2008-11-06  Todd C. Miller  <Todd.Miller@courtesan.com>
9912
9913         * aix.c:
9914         just use RLIM_INFINITY for RLIM_SAVED_MAX if RLIM_SAVED_MAX not
9915         defined
9916         [24fc6f712d5c]
9917
9918         * aix.c:
9919         fix fallback value for RLIM_SAVED_MAX
9920         [e09e04e1af89]
9921
9922         * auth/aix_auth.c, auth/sudo_auth.h:
9923         Move clearing of AUTHSTATE into aixauth_cleanup.
9924         [e14ae7bd259c]
9925
9926         * auth/aix_auth.c, env.c:
9927         Unset AUTHSTATE after calling authenticate() as it may not be
9928         correct for the user we are running the command as.
9929         [d14f68f1b0ab]
9930
9931         * isblank.c:
9932         Add isblank() function for systems without it. Needed for POSIX
9933         character class matching in fnmatch.c and glob.c.
9934         [16cba30b283f]
9935
9936 2008-11-05  Todd C. Miller  <Todd.Miller@courtesan.com>
9937
9938         * TROUBLESHOOTING:
9939         expound on sudo and cd
9940         [8e0fa9033637]
9941
9942 2008-11-04  Todd C. Miller  <Todd.Miller@courtesan.com>
9943
9944         * ChangeLog:
9945         regen
9946         [40cf320a10fc]
9947
9948         * sudoers.cat, sudoers.man.in:
9949         regen
9950         [7cac761ae2c6]
9951
9952         * sudoers.pod:
9953         mention defauts parse order
9954         [4e2ce86d1394]
9955
9956 2008-11-03  Todd C. Miller  <Todd.Miller@courtesan.com>
9957
9958         * Makefile.in, aclocal.m4, compat.h, configure:
9959         Add isblank() function for systems without it. Needed for POSIX
9960         character class matching in fnmatch.c and glob.c.
9961         [a1ab55da8424]
9962
9963         * Makefile.in:
9964         add emul/charclass.h to HDRS
9965         [7e8a019dcaa4]
9966
9967 2008-11-02  Todd C. Miller  <Todd.Miller@courtesan.com>
9968
9969         * TODO:
9970         checkpoint
9971         [afeb9bc1baed]
9972
9973         * defaults.c, parse.c, testsudoers.c, visudo.c:
9974         Move update_defaults into defaults.c and call it properly from
9975         visudo and testsudoers.
9976         [f4dbb369461f]
9977
9978         * defaults.c, interfaces.c, pwutil.c, sudo.c, sudo_edit.c, tgetpass.c,
9979         tsgetgrpw.c:
9980         use zero_bytes() instead of memset() for consistency
9981         [4cee0465f4a8]
9982
9983         * logging.c, mon_systrace.c, parse.c, sudo.c, sudo_edit.c, tgetpass.c,
9984         visudo.c:
9985         Zero out sigaction_t before use in case it has non-standard entries.
9986         [120092225459]
9987
9988         * match.c:
9989         quiet gcc
9990         [098a1df49b23]
9991
9992         * match.c:
9993         Short circuit glob() checks if basename(pattern) !=
9994         basename(command). Refactor code that checks for a command in a
9995         directory and use it in the glob case if the resolved pattern ends
9996         in a '/'.
9997         [3c46fd317acb]
9998
9999 2008-11-01  Todd C. Miller  <Todd.Miller@courtesan.com>
10000
10001         * defaults.h, parse.c, sudo.c, testsudoers.c, visudo.c:
10002         Defer setting runas defaults until after runaspw/gr is setup.
10003         [12e75ee49c0c]
10004
10005 2008-10-29  Todd C. Miller  <Todd.Miller@courtesan.com>
10006
10007         * match.c, sudo.c, testsudoers.c:
10008         Use MAXHOSTNAMELEN+1 when allocating host/domain name since some
10009         systems do not include space for the NUL in the size. Also manually
10010         NUL-terminate buffer from gethostname() since POSIX is wishy-washy
10011         on this.
10012         [7266ab3296a3]
10013
10014 2008-10-26  Todd C. Miller  <Todd.Miller@courtesan.com>
10015
10016         * sudo.c, sudoers.pod:
10017         When setting the umask, use the union of the user's umask and the
10018         default value set in sudoers so that we never lower the user's umask
10019         when running a command.
10020         [4e804b004e38]
10021
10022         * sudo.c:
10023         Don't try to read from a zero-length sudoers file. Remove the bogus
10024         Solaris work-around for EAGAIN. Since we now use fgetc() it should
10025         not be a problem.
10026         [bb8e5f68d944]
10027
10028 2008-10-25  Todd C. Miller  <Todd.Miller@courtesan.com>
10029
10030         * parse.c:
10031         In update_defaults() check the return value of user*_matches against
10032         ALLOW so we don't inadvertantly match on UNSPEC.
10033         [4e422fa1527e]
10034
10035 2008-10-24  Todd C. Miller  <Todd.Miller@courtesan.com>
10036
10037         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.ldap.cat,
10038         sudoers.ldap.man.in, sudoers.man.in, visudo.cat, visudo.man.in:
10039         regen man pages; no more hyphenation
10040         [15de4fe2fe01]
10041
10042         * sudo.c:
10043         Don't error out on a zero-length sudoers file. With the advent of
10044         #include the user could create a situation where sudo is unusable.
10045         [6eb461319fa5]
10046
10047 2008-10-23  Todd C. Miller  <Todd.Miller@courtesan.com>
10048
10049         * auth/kerb5.c, config.h.in, configure, configure.in:
10050         Newer heimdal has 2-argument krb5_get_init_creds_opt_free() like MIT
10051         krb5. Really old heimdal has no krb5_get_init_creds_opt_alloc() at
10052         all. Add configure tests to handle all the cases.
10053         [4b554a98470d]
10054
10055 2008-10-08  Todd C. Miller  <Todd.Miller@courtesan.com>
10056
10057         * sudo.pod:
10058         resort ENVIRONMENT
10059         [f4f20f40653e]
10060
10061         * sudoers.pod:
10062         document sudoers_locale
10063         [0bffd2dbe806]
10064
10065         * sudo.pod, sudo_edit.c:
10066         add SUDO_EDITOR variable that sudoedit uses in preference to VISUAL
10067         or EDITOR
10068         [0ef8cb248cee]
10069
10070         * toke.c, toke.l:
10071         In fill_cmnd(), collapse any escaped sudo-specific characters.
10072         Allows character classes to be used in pathnames.
10073         [5685244c8e44]
10074
10075 2008-10-03  Todd C. Miller  <Todd.Miller@courtesan.com>
10076
10077         * lbuf.c:
10078         fix typo in non-C89 function declaration
10079         [99a7113b3a05]
10080
10081         * sudoers.pod:
10082         Mention POSIX characters classes now that out fnmatch() and glob()
10083         support them.
10084         [9c916f1230c3]
10085
10086         * sample.sudoers, sudoers.pod:
10087         Replace [A-z] (which won't match in UTF8) with [A-Za-z] which is
10088         locale agnostic.
10089         [a60a62bec244]
10090
10091         * parse.h:
10092         use __signed char if we are going to assign a negative value since
10093         on Power, char is unsigned by default
10094         [2877b319df17]
10095
10096         * config.h.in, configure, configure.in:
10097         Add tests for __signed char and signed char.
10098         [5eb874fdf1d4]
10099
10100         * aix.c:
10101         Fix AIX limit setting. getuserattr() returns values in disk blocks
10102         rather than bytes. The default hard stack size in newer AIX is
10103         RLIM_SAVED_MAX. From Dale King.
10104         [3db67415ecc3]
10105
10106 2008-09-26  Todd C. Miller  <Todd.Miller@courtesan.com>
10107
10108         * emul/charclass.h, fnmatch.c, glob.c:
10109         Add character class support to included glob(3) and fnmatch(3).
10110         [6b5b4ad77899]
10111
10112 2008-09-16  Todd C. Miller  <Todd.Miller@courtesan.com>
10113
10114         * emul/fnmatch.h:
10115         Remove UCB advertising clause and some compatibility defines.
10116         [2ade7bee74e1]
10117
10118 2008-09-14  Todd C. Miller  <Todd.Miller@courtesan.com>
10119
10120         * sudo_edit.c:
10121         Check EDITOR/VISUAL to make sure sudoedit is not re-invoking itself
10122         or sudo. This allows one to set EDITOR to sudoedit without getting
10123         into an infinite loop of sudoedit running itself until the path gets
10124         too big.
10125         [aa49ab68f82d]
10126
10127         * def_data.c, def_data.h, def_data.in, defaults.c, sudo.c:
10128         Add sudoers_locale Defaults option to override the default sudoers
10129         locale of "C".
10130         [0639886a35bf]
10131
10132 2008-09-13  Todd C. Miller  <Todd.Miller@courtesan.com>
10133
10134         * sudo.c:
10135         Set locale to system default except for during sudoers parse.
10136         [016dd2736728]
10137
10138 2008-09-12  Todd C. Miller  <Todd.Miller@courtesan.com>
10139
10140         * match.c:
10141         Redo change in 1.34 to use pointer arithmetic.
10142         [f9e7b63bb450]
10143
10144 2008-09-11  Todd C. Miller  <Todd.Miller@courtesan.com>
10145
10146         * match.c:
10147         Fix a dereference (read) of a freed pointer. Reported by Patrick
10148         Williams.
10149         [69877b633753]
10150
10151 2008-08-23  Todd C. Miller  <Todd.Miller@courtesan.com>
10152
10153         * sudo.c:
10154         Set locale to "C" to avoid interpretation issues with character
10155         ranges in sudoers. May want to make the locale a sudoers option in
10156         the future.
10157         [098a95de1746]
10158
10159 2008-08-20  Todd C. Miller  <Todd.Miller@courtesan.com>
10160
10161         * config.h.in:
10162         we no longer use setproctitle
10163         [c7f20fb747ea]
10164
10165         * sudo.h:
10166         remove #if 1
10167         [a368ee6816c6]
10168
10169         * LICENSE, mkstemp.c:
10170         Use my replacement mkstemp() from the mktemp package.
10171         [d07c2beb0f9e]
10172
10173 2008-07-12  Todd C. Miller  <Todd.Miller@courtesan.com>
10174
10175         * gram.c:
10176         regen with yacc skeleton bug fixed
10177         [24784571cbb8]
10178
10179         * sudoers.pod:
10180         Remove duplicate "as root". From Martin Toft.
10181         [97241acfee5e]
10182
10183 2008-07-02  Todd C. Miller  <Todd.Miller@courtesan.com>
10184
10185         * pwutil.c, sudo.c, sudo.h, testsudoers.c:
10186         Flesh out the fake passwd entry used for running commands as a uid
10187         not listed in the passwd database. Fixes an issue with some PAM
10188         modules.
10189         [a6648227f3f2]
10190
10191 2008-07-01  Todd C. Miller  <Todd.Miller@courtesan.com>
10192
10193         * sudo.c:
10194         Error out in -i mode if the user has no shell. This can happen when
10195         running commands as a uid with no password entry.
10196         [0c174bef36ff]
10197
10198 2008-06-26  Todd C. Miller  <Todd.Miller@courtesan.com>
10199
10200         * toke.c, toke.l:
10201         Better fix for line continuation inside double quotes. Now accepts
10202         whitespace between the backslash and the newline like the main
10203         lexer.
10204         [64efcdf86d31]
10205
10206 2008-06-25  Todd C. Miller  <Todd.Miller@courtesan.com>
10207
10208         * toke.c, toke.l:
10209         Fix line continuation in strings. It was only being honored if
10210         preceded by whitespace.
10211         [96c21271a3e4]
10212
10213 2008-06-22  Todd C. Miller  <Todd.Miller@courtesan.com>
10214
10215         * config.h.in, configure, configure.in, logging.c:
10216         Replace the double fork with a fork + daemonize.
10217         [328505441e67]
10218
10219 2008-06-21  Todd C. Miller  <Todd.Miller@courtesan.com>
10220
10221         * env.c, sudo.c:
10222         The -i flag should imply env_reset. This got broken in sudo 1.6.9.
10223         [3caedfeaec87]
10224
10225         * logging.c, sudo.c, sudo_edit.c, visudo.c:
10226         Change how the mailer is waited for. Instead of having a SIGCHLD
10227         handler, use the double fork trick to orphan the child that opens
10228         the pipe to sendmail. Fixes a problem running su on some Linux
10229         distros.
10230         [b59ce60a393d]
10231
10232 2008-06-20  Todd C. Miller  <Todd.Miller@courtesan.com>
10233
10234         * configure, configure.in:
10235         Fix configure test for dirfd() on Linux where DIR is opaque.
10236         [b8f729cdfecc]
10237
10238 2008-06-17  Todd C. Miller  <Todd.Miller@courtesan.com>
10239
10240         * tgetpass.c:
10241         Get rid of the QNX TCSAFLUSH -> TCSADRAIN hack. If QNX still has
10242         this problem we'll need to revisit this again.
10243         [c17fee8ad530]
10244
10245 2008-06-11  Todd C. Miller  <Todd.Miller@courtesan.com>
10246
10247         * logging.c:
10248         Ignore SIGPIPE instead of blocking it when piping to the mailer. If
10249         we only block the signal it may be delivered later when we unblock.
10250         Also, there is no need to block SIGCHLD since we no longer do the
10251         double fork. The normal SIGCHLD handler is sufficient.
10252         [e94a49e992e5]
10253
10254 2008-06-08  Todd C. Miller  <Todd.Miller@courtesan.com>
10255
10256         * configure, configure.in:
10257         Add description for NO_PAM_SESSION, from a redhat patch.
10258         [b9e4c939ec09]
10259
10260 2008-06-06  Todd C. Miller  <Todd.Miller@courtesan.com>
10261
10262         * sudo.cat, sudo.man.in, sudo.pod:
10263         Fix typos in -i usage
10264         [2d7ce5de0235]
10265
10266 2008-05-18  Todd C. Miller  <Todd.Miller@courtesan.com>
10267
10268         * configure, configure.in:
10269         Redo the test for dgettext() in a way that hopefully will work
10270         around the libintl_dgettext() undefined problem.
10271         [d27beb0cf85e]
10272
10273 2008-05-11  Todd C. Miller  <Todd.Miller@courtesan.com>
10274
10275         * schema.ActiveDirectory:
10276         change filename in comment
10277         [733da4ee9ac5]
10278
10279 2008-05-10  Todd C. Miller  <Todd.Miller@courtesan.com>
10280
10281         * Makefile.in, README.LDAP, sudoers.ldap.cat, sudoers.ldap.man.in,
10282         sudoers.ldap.pod:
10283         Reference schema.ActiveDirectory
10284         [d6aec537800e]
10285
10286 2008-05-09  Todd C. Miller  <Todd.Miller@courtesan.com>
10287
10288         * schema.OpenLDAP, schema.iPlanet:
10289         Mark sudoRunAs as deprecated.
10290         [00c50df807af]
10291
10292         * schema.ActiveDirectory:
10293         add sudoRunAsUser and sudoRunAsGroup
10294         [19bcce6f72fb]
10295
10296         * schema.ActiveDirectory:
10297         Active Directory schema by Chantal Paradis and Eric Paquet
10298         [06a09c92c6a5]
10299
10300 2008-05-08  Todd C. Miller  <Todd.Miller@courtesan.com>
10301
10302         * parse.c:
10303         remove an XXX that was fixed
10304         [b88038062fa2]
10305
10306         * ChangeLog:
10307         sync
10308         [8fc27c17270e]
10309
10310         * parse.c:
10311         Initialize tags to UNSPEC instead of def_* in "sudo -l" mode. This
10312         fixes a problem where the tag value printed was influenced by
10313         defaults set in the first pass through the parser.
10314         [588ccd630367]
10315
10316 2008-05-04  Todd C. Miller  <Todd.Miller@courtesan.com>
10317
10318         * Makefile.in, sudo.psf:
10319         No point in packaging the TODO file
10320         [9590248fffe1]
10321
10322         * ChangeLog:
10323         sync
10324         [152acf4c6813]
10325
10326 2008-05-03  Todd C. Miller  <Todd.Miller@courtesan.com>
10327
10328         * WHATSNEW, def_data.c, def_data.h, def_data.in, env.c, sudo.c,
10329         sudo.h, sudoers.cat, sudoers.man.in, sudoers.pod:
10330         Add env_file Defaults option that is similar to /etc/environment on
10331         some systems.
10332         [1daf53d51e18]
10333
10334 2008-05-02  Todd C. Miller  <Todd.Miller@courtesan.com>
10335
10336         * Makefile.in, README, TODO, WHATSNEW, sudo.cat, sudo.man.in,
10337         sudoers.cat, sudoers.ldap.cat, sudoers.ldap.man.in, sudoers.man.in,
10338         version.h, visudo.cat, visudo.man.in:
10339         change version to 1.7.0
10340         [d41d126b9bd8]
10341
10342         * UPGRADE:
10343         initial valgrind pass done
10344         [c59c3876d8ca]
10345
10346 2008-04-23  Todd C. Miller  <Todd.Miller@courtesan.com>
10347
10348         * ldap.c:
10349         Fix typo/think in sudo_ldap_read_secret() when storing the secret.
10350         [830d246c09b0]
10351
10352 2008-04-11  Todd C. Miller  <Todd.Miller@courtesan.com>
10353
10354         * ldap.c:
10355         define LDAPS_PORT if the system headers do not
10356         [247b12325701]
10357
10358 2008-04-10  Todd C. Miller  <Todd.Miller@courtesan.com>
10359
10360         * gram.c, gram.y:
10361         Fix another memory leak in init_parser().
10362         [7bba47deba11]
10363
10364         * configure, configure.in:
10365         There was a missing space before the ldap libs in SUDO_LIBS for some
10366         configurations.
10367         [7524cfc93759]
10368
10369         * alias.c, gram.c, gram.y, toke.c, toke.l:
10370         Clean up some memory leaks pointed out by valgrind.
10371         [a965866ece1a]
10372
10373 2008-04-07  Todd C. Miller  <Todd.Miller@courtesan.com>
10374
10375         * sudo.c:
10376         fix "sudo -s" broken by mode/flags breakout
10377         [acffe984d408]
10378
10379         * configure, configure.in:
10380         remove duplicate check for dgettext
10381         [58145529133c]
10382
10383 2008-04-05  Todd C. Miller  <Todd.Miller@courtesan.com>
10384
10385         * aix.c:
10386         Fall back to default stanza if no user-specific limit is found.
10387         [7b8cb29123ee]
10388
10389 2008-04-02  Todd C. Miller  <Todd.Miller@courtesan.com>
10390
10391         * snprintf.c:
10392         include stdint.h if present
10393         [f0ec38529306]
10394
10395         * snprintf.c:
10396         Use LLONG_MAX, not the old QUAD_MAX
10397         [01041ce508fb]
10398
10399 2008-04-01  Todd C. Miller  <Todd.Miller@courtesan.com>
10400
10401         * sudoers.ldap.pod:
10402         fix cut and pasto
10403         [34240fdef5ab]
10404
10405 2008-03-31  Todd C. Miller  <Todd.Miller@courtesan.com>
10406
10407         * pwutil.c:
10408         Add #ifdef PURITY
10409         [ce1b571ad526]
10410
10411 2008-03-30  Todd C. Miller  <Todd.Miller@courtesan.com>
10412
10413         * auth/bsdauth.c:
10414         remove useless cast
10415         [494f8a862e1d]
10416
10417 2008-03-27  Todd C. Miller  <Todd.Miller@courtesan.com>
10418
10419         * ChangeLog:
10420         sync
10421         [f5c97ffaabcc]
10422
10423         * TODO:
10424         sync
10425         [96ff1c44c182]
10426
10427         * sudo.h:
10428         Split MODE_* defines into primary and flags.
10429         [c02ee3027cb9]
10430
10431 2008-03-26  Todd C. Miller  <Todd.Miller@courtesan.com>
10432
10433         * aix.c:
10434         It turns out the logic for getting AIX limits is more convoluted
10435         than I realized and differs depending on whether the soft and/or
10436         hard limits are defined.
10437         [cf8d3f85d395]
10438
10439 2008-03-23  Todd C. Miller  <Todd.Miller@courtesan.com>
10440
10441         * Makefile.in, configure, configure.in:
10442         Back out AIX-specific change to set the sudo_noexec path to the .a
10443         file, we do really want to use the .so file. Since libtool doesn't
10444         do that correctly, just install the .so file ourselves in the
10445         Makefile.
10446         [05c6f33177d9]
10447
10448         * install-sh:
10449         If the file given to install is a path, only use the basename of the
10450         file when building the destination path.
10451         [695ba4e429ce]
10452
10453 2008-03-18  Todd C. Miller  <Todd.Miller@courtesan.com>
10454
10455         * sudo.c:
10456         parse_args() cleanup: Sort command line options in the getopt()
10457         switch The -U option requires a parameter Normalize a few ISSET
10458         calls Split mode into mode and flags and retire the now-obsolete
10459         excl variable
10460         [0d156835f861]
10461
10462         * WHATSNEW, check.c, sudo.c, sudo.cat, sudo.h, sudo.man.in, sudo.pod,
10463         sudo_usage.h.in:
10464         Add -n (non-interactive) flag.
10465         [e3e50400d32d]
10466
10467         * sudo.c:
10468         Move version printing, etc. into a separate function.
10469         [18c91b476e2c]
10470
10471         * sudo.c:
10472         Don't try to cleanup nsswitch if it has not been initialized.
10473         [aeb1ca1b399d]
10474
10475 2008-03-17  Todd C. Miller  <Todd.Miller@courtesan.com>
10476
10477         * logging.c:
10478         Block SIGPIPE in send_mail() so sudo is not killed by a problem
10479         executing the mailer.
10480         [f130e7924cca]
10481
10482 2008-03-14  Todd C. Miller  <Todd.Miller@courtesan.com>
10483
10484         * configure, configure.in:
10485         AIX shared libs end in .a, not .so.
10486         [a5deb07020d8]
10487
10488 2008-03-13  Todd C. Miller  <Todd.Miller@courtesan.com>
10489
10490         * env.c:
10491         Preserve HOME by default too. Matches documentation and previous
10492         behavior.
10493         [c16f17f1047c]
10494
10495 2008-03-12  Todd C. Miller  <Todd.Miller@courtesan.com>
10496
10497         * sudo.c:
10498         Use getopt() to parse the command line. We need to be able to
10499         intersperse env variables and options yet still honor "--"" which
10500         complicates things slightly.
10501         [60f271ce5c16]
10502
10503 2008-03-06  Todd C. Miller  <Todd.Miller@courtesan.com>
10504
10505         * ChangeLog:
10506         sync
10507         [685e67964eda]
10508
10509         * acsite.m4, configure, ltmain.sh:
10510         update to libtool-1.5.26
10511         [4c9a8c3d3b40]
10512
10513         * config.guess, config.sub:
10514         update from libtool-1.5.26 distribution
10515         [c6641aef2527]
10516
10517         * aix.c, sudo.h:
10518         attempt to fix compilation errors on AIX
10519         [edb13e5b2184]
10520
10521         * Makefile.in:
10522         fix typo in last commit
10523         [25ba7f7ceae4]
10524
10525         * Makefile.in:
10526         Add WHATSNEW file to the distribution
10527         [213f4115de8f]
10528
10529         * visudo.c:
10530         use warningx instead of fprintf(stderr, ...)
10531         [a3494b8ccb19]
10532
10533         * list.c:
10534         add DEBUG to list2tq
10535         [115d24a3000c]
10536
10537         * ChangeLog, TODO:
10538         sync
10539         [60e6f4d1fac0]
10540
10541         * WHATSNEW:
10542         mention mailfrom
10543         [e2498f9e18d6]
10544
10545         * Makefile.in, aix.c, config.h.in, configure, configure.in,
10546         set_perms.c, sudo.h:
10547         Add aix_setlimits() to set resource limits on AIX using a
10548         combination of getuserattr() and setrlimit(). Currently untested.
10549         [9b1441fd89ca]
10550
10551 2008-03-05  Todd C. Miller  <Todd.Miller@courtesan.com>
10552
10553         * def_data.c, def_data.h, def_data.in, logging.c, sudoers.cat,
10554         sudoers.man.in, sudoers.pod:
10555         Add mailfrom Defaults option that sets the value of the From: field
10556         in the warning/error mail. If unset the login name of the invoking
10557         user is used.
10558         [029b9f05d3d9]
10559
10560         * defaults.c:
10561         store a copy of _PATH_SUDO_ASKPASS in def_askpass that is freeable
10562         [a90e407d5e00]
10563
10564         * gram.c, gram.y:
10565         When adding a default, only call list2tq() once to do the list to tq
10566         conversion. It is not legal to call list2tq multiple times on the
10567         same list since list2tq consumes and modifies the list argument.
10568         [fbc25d245c4a]
10569
10570         * sudoers.ldap.cat, sudoers.ldap.man.in, sudoers.ldap.pod:
10571         comment out XXXs for now
10572         [595a1d43309d]
10573
10574         * WHATSNEW:
10575         mention askpass
10576         [b993e0837c22]
10577
10578 2008-03-04  Todd C. Miller  <Todd.Miller@courtesan.com>
10579
10580         * sudo.c:
10581         Error out if both -A and -S are specified Error out if -A is
10582         specified but no askpass is configured
10583         [24f1df2638f6]
10584
10585         * configure, configure.in:
10586         we are not going to ship a sudo-specific askpass
10587         [61949e7a3943]
10588
10589 2008-03-03  Todd C. Miller  <Todd.Miller@courtesan.com>
10590
10591         * sudo.h:
10592         fix definition of TGP_ASKPASS
10593         [0447c57ba4c3]
10594
10595         * def_data.c, def_data.in:
10596         make askpass boolean-capable
10597         [e0885893a325]
10598
10599         * INSTALL:
10600         document --with-askpass
10601         [c76e15ba97cf]
10602
10603         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.ldap.cat,
10604         sudoers.man.in, visudo.cat:
10605         regen
10606         [8d16242980b7]
10607
10608 2008-03-02  Todd C. Miller  <Todd.Miller@courtesan.com>
10609
10610         * sudo.pod, sudo_usage.h.in, sudoers.pod:
10611         document -A and askpass
10612         [02c07505a78c]
10613
10614         * auth/sudo_auth.c, check.c, configure, configure.in, def_data.c,
10615         def_data.h, def_data.in, defaults.c, pathnames.h.in, sudo.c, sudo.h,
10616         sudo_usage.h.in, tgetpass.c:
10617         Add support for running a helper program to read the password when
10618         no tty is present (or when specified with the -A flag). TODO: docs.
10619         [05780f5f71fd]
10620
10621         * def_data.c, def_data.in:
10622         add missing printf format to SELinux role and type strings
10623         [2b32774715e7]
10624
10625 2008-02-27  Todd C. Miller  <Todd.Miller@courtesan.com>
10626
10627         * INSTALL, configure, configure.in:
10628         Disable use of gss_krb5_ccache_name() by default and add
10629         --enable-gss-krb5-ccache-name configure option to enable it. It
10630         seems that gss_krb5_ccache_name() doesn't work properly with some
10631         combinations of Heimdal and OpenLDAP.
10632         [f61ebd3b19bd]
10633
10634 2008-02-22  Todd C. Miller  <Todd.Miller@courtesan.com>
10635
10636         * selinux.c:
10637         Ignore setexeccon() failing in permissive mode. Also add a call to
10638         setkeycreatecon() (though this is probably insufficient). From Dan
10639         Walsh.
10640         [52564fc1c069]
10641
10642         * auth/pam.c:
10643         Only set std_prompt for the PAM_PROMPT_* cases. The conversation
10644         function may be called for non-password reading purposes so we must
10645         be careful not to use def_prompt in cases where it may not be set.
10646         [29d88ca575ba]
10647
10648 2008-02-20  Todd C. Miller  <Todd.Miller@courtesan.com>
10649
10650         * selinux.c:
10651         Don't free the new tty context, we need to keep it around when we
10652         restore the tty context after the command completes
10653         [5b4bd39b6ea8]
10654
10655 2008-02-19  Todd C. Miller  <Todd.Miller@courtesan.com>
10656
10657         * selinux.c:
10658         s/newrole/sudo/
10659         [21b8a96ff8df]
10660
10661         * sudo.man.pl, sudo.pod:
10662         Only put login_cap(3) in SEE ALSO section if we have login.conf
10663         support
10664         [05250ddff2c0]
10665
10666 2008-02-18  Todd C. Miller  <Todd.Miller@courtesan.com>
10667
10668         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.ldap.cat,
10669         sudoers.ldap.man.in, sudoers.man.in, visudo.cat, visudo.man.in:
10670         regen
10671         [301e5c5ccdbe]
10672
10673         * sudoers.pod:
10674         Substitute in comment characters for lines partaining to login.conf,
10675         BSD auth and SELinux and only enable them if pertinent.
10676         [c1c98fa163ce]
10677
10678         * sudoers.man.pl:
10679         Substitute in comment characters for lines partaining to login.conf,
10680         BSD auth and SELinux and only enable them if pertinent.
10681         [6c88f30b878a]
10682
10683         * sudo.pod:
10684         Substitute in comment characters for lines partaining to login.conf,
10685         BSD auth and SELinux and only enable them if pertinent.
10686         [acdbdfd24e1d]
10687
10688         * sudo.man.pl:
10689         Substitute in comment characters for lines partaining to login.conf,
10690         BSD auth and SELinux and only enable them if pertinent.
10691         [0c56d4750ac3]
10692
10693         * Makefile.in, configure, configure.in:
10694         Substitute in comment characters for lines partaining to login.conf,
10695         BSD auth and SELinux and only enable them if pertinent.
10696         [9a02bd6a6658]
10697
10698         * Makefile.in, sudo.pod, sudoers.ldap.pod, sudoers.pod, visudo.pod:
10699         Remove the =cut on the first line (above the copyright notice) to
10700         quiet pod2man. Also remove the hackery in the FILES section and
10701         just deal with the fact that there will a newline between each
10702         pathname.
10703         [2ac1ab191835]
10704
10705 2008-02-17  Todd C. Miller  <Todd.Miller@courtesan.com>
10706
10707         * Makefile.in:
10708         run sudo.man.pl when generating sudo.man.in
10709         [859727369168]
10710
10711         * configure, configure.in, sudo.man.pl:
10712         comment out SELinux manual bits unless --with-selinux was specified
10713         [97ff4212b649]
10714
10715         * sudoers.pod:
10716         document role and type defaults for SELinux
10717         [870f303366b3]
10718
10719         * sudo.c, sudo.cat, sudo.man.in, sudo.pod, sudo_usage.h.in:
10720         Document "sudo -ll" and make "sudo -l -l" be equivalent.
10721         [3ce6dc429ea3]
10722
10723 2008-02-15  Todd C. Miller  <Todd.Miller@courtesan.com>
10724
10725         * configure, configure.in:
10726         Treat k*bsd*-gnu like Linux, not BSD. Fixes compilation problems on
10727         Debian GNU/kFreeBSD.
10728         [c4efa567a328]
10729
10730 2008-02-13  Todd C. Miller  <Todd.Miller@courtesan.com>
10731
10732         * auth/kerb5.c:
10733         Avoid Heimdal'isms introduced in the rev 1.32 rewrite of
10734         verify_krb_v5_tgt()
10735         [f80538e5a6fa]
10736
10737         * logging.c, logging.h, sudo.c:
10738         Remove dependence on VALIDATE_NOT_OK in logging functions. Split
10739         log_auth() into log_allowed() and log_denial() Replace mail_auth()
10740         with should_mail() and a call to send_mail()
10741         [58aac9997557]
10742
10743 2008-02-10  Todd C. Miller  <Todd.Miller@courtesan.com>
10744
10745         * ldap.c:
10746         Add debugging so we can tell if the krb5 ccache is accessible
10747         [c679322527bb]
10748
10749         * INSTALL:
10750         mention --with-selinux
10751         [9efbe0b52194]
10752
10753 2008-02-09  Todd C. Miller  <Todd.Miller@courtesan.com>
10754
10755         * configure:
10756         regen
10757         [467a834f867c]
10758
10759         * selinux.c:
10760         add Sudo tag
10761         [d004ee669bed]
10762
10763         * sudo.c, sudo.cat, sudo.h, sudo.man.in, sudo.pod, sudo_usage.h.in,
10764         sudoers.ldap.cat, sudoers.ldap.man.in, sudoers.ldap.pod,
10765         testsudoers.c, toke.c, toke.l:
10766         Add support for SELinux RBAC. Sudoers entries may specify a role
10767         and type. There are also role and type defaults that may be used.
10768         To make sure a transition occurs, when using RBAC commands are
10769         executed via the new sesh binary. Based on initial changes from Dan
10770         Walsh.
10771         [1d4abfe2c004]
10772
10773         * sesh.c:
10774         Add support for SELinux RBAC. Sudoers entries may specify a role
10775         and type. There are also role and type defaults that may be used.
10776         To make sure a transition occurs, when using RBAC commands are
10777         executed via the new sesh binary. Based on initial changes from Dan
10778         Walsh.
10779         [1e3b395ce049]
10780
10781         * Makefile.in, config.h.in, configure.in, def_data.c, def_data.h,
10782         def_data.in, gram.c, gram.h, gram.y, ldap.c, parse.c, parse.h,
10783         pathnames.h.in, selinux.c:
10784         Add support for SELinux RBAC. Sudoers entries may specify a role
10785         and type. There are also role and type defaults that may be used.
10786         To make sure a transition occurs, when using RBAC commands are
10787         executed via the new sesh binary. Based on initial changes from Dan
10788         Walsh.
10789         [6b421948286e]
10790
10791 2008-02-08  Todd C. Miller  <Todd.Miller@courtesan.com>
10792
10793         * lbuf.c, ldap.c, parse.c, sudo.c, sudo.h, sudo_nss.c:
10794         Add long list (sudo -ll) support for printing verbose LDAP and
10795         sudoers file entries. Still need to update manual.
10796         [2875be37935c]
10797
10798 2008-02-03  Todd C. Miller  <Todd.Miller@courtesan.com>
10799
10800         * ldap.c, parse.c, sudo.h, sudo_nss.c, sudo_nss.h:
10801         Unify the -l output for file and ldap based sudoers and use lbufs
10802         for both. The ldap output does not currently include options that
10803         cannot be represented as tags. This will be remedied in a long list
10804         output mode to come.
10805         [b2e429456596]
10806
10807 2008-01-27  Todd C. Miller  <Todd.Miller@courtesan.com>
10808
10809         * set_perms.c:
10810         Use a specific error message for errno == EAGAIN when setuid() et al
10811         fails. On Linux systems setuid() will fail with errno set to EAGAIN
10812         if changing to the new uid would result in a resource limit
10813         violation.
10814         [08d0aecd9f03]
10815
10816         * sudo.c:
10817         Unlimit nproc on Linux systems where calling the setuid() family of
10818         syscalls causes the nroc resource limit to be checked. The limits
10819         will be reset by pam_limits.so when PAM is used. In the non-PAM
10820         case the nproc limit will remain unlimited but there doesn't seem to
10821         be a way around that other than having sudo parse
10822         /etc/security/limits.conf directly.
10823         [df024b415a8d]
10824
10825         * env.c, sudo.c, sudo.pod:
10826         Only read /etc/environment on Linux and AIX
10827         [90669e2aefdb]
10828
10829 2008-01-23  Todd C. Miller  <Todd.Miller@courtesan.com>
10830
10831         * configure, configure.in:
10832         Use SUDO_DEFINE_UNQUOTED instead of AC_DEFINE_UNQUOTED to prevent
10833         ldap.conf and ldap.secret paths from going into config.h. Avoid
10834         single quotes in variable expansion when using SUDO_DEFINE_UNQUOTED
10835         since in some versions of bash they will end up literally in the
10836         resulting define.
10837         [25390f3ef10a]
10838
10839 2008-01-21  Todd C. Miller  <Todd.Miller@courtesan.com>
10840
10841         * README.LDAP:
10842         mention --with-nsswitch=no
10843         [c509df927263]
10844
10845         * configure, configure.in:
10846         ldap_ssl.h depends on ldap.h being included first
10847         [d96d90e9b21f]
10848
10849         * config.h.in, configure, configure.in, ldap.c:
10850         Include ldap_ssl.h if we can find it. Needed for the
10851         ldapssl_set_strength defines on HP-UX at least.
10852         [9e530470948a]
10853
10854         * sudoers.ldap.pod:
10855         sync
10856         [b9d101f4673a]
10857
10858         * TODO:
10859         sync
10860         [2ce951b2ecd0]
10861
10862         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.ldap.cat,
10863         sudoers.ldap.man.in, sudoers.man.in, visudo.cat, visudo.man.in:
10864         regen
10865         [b61d793987e0]
10866
10867         * Makefile.in:
10868         Use 78n line length when formatting cat pages.
10869         [761bee9d5759]
10870
10871         * README.LDAP:
10872         Remove redundant info that is now in sudoers.ldap.pod
10873         [01828dcce59e]
10874
10875 2008-01-20  Todd C. Miller  <Todd.Miller@courtesan.com>
10876
10877         * sudoers.ldap.cat, sudoers.ldap.man.in, sudoers.ldap.pod:
10878         Reorganize the first section a bit. Substitute the proper path for
10879         /etc/sudoers.
10880         [11ae165e065d]
10881
10882         * sudoers.ldap.cat, sudoers.ldap.man.in, sudoers.ldap.pod:
10883         Substitute values for ldap.conf, ldap.secret and nsswitch.conf Move
10884         schema into EXAMPLES
10885         [ab6509d1dde7]
10886
10887         * configure, configure.in:
10888         Substitute values for ldap.conf, ldap.secret and nsswitch.conf into
10889         sudoers.ldap.man.
10890         [6e689972f465]
10891
10892         * configure, configure.in:
10893         substitute for sudoers.ldap.man
10894         [5a4a25766dee]
10895
10896         * Makefile.in:
10897         Fix cut & pasto introduced when adding sudoers.ldap man page.
10898         [a7b069af8894]
10899
10900         * sudoers.ldap.cat, sudoers.ldap.man.in, sudoers.ldap.pod:
10901         Fill in some of the missing pieces. Still needs some reorganization
10902         and editing.
10903         [5e7331722166]
10904
10905 2008-01-19  Todd C. Miller  <Todd.Miller@courtesan.com>
10906
10907         * Makefile.in, sudoers.ldap.cat, sudoers.ldap.man.in,
10908         sudoers.ldap.pod:
10909         Beginnings of a sudoers.ldap man page. Currently, much of the
10910         information is adapted from README.LDAP.
10911         [aad28c8a922d]
10912
10913 2008-01-18  Todd C. Miller  <Todd.Miller@courtesan.com>
10914
10915         * pwutil.c:
10916         When copying gr_mem we must guarantee that the storage space for
10917         gr_mem is properly aligned. The simplest way to do this is to
10918         simply store gr_mem directly after struct group. This is not a
10919         problem for gr_passwd or gr_name as they are simple strings.
10920         [af58fc76f1ed]
10921
10922         * ldap.c:
10923         Fix a typo/thinko in one of the calls to
10924         sudo_ldap_check_user_netgroup(). From Marco van Wieringen.
10925         [70b2eb8097f5]
10926
10927 2008-01-17  Todd C. Miller  <Todd.Miller@courtesan.com>
10928
10929         * config.h.in, configure, configure.in, ldap.c:
10930         include <mps/ldap_ssl.h> in ldap.c if available
10931         [34346206ef16]
10932
10933 2008-01-16  Todd C. Miller  <Todd.Miller@courtesan.com>
10934
10935         * gram.c, gram.y:
10936         Make sure we define SIZE_MAX for yacc's skeleton.c
10937         [d8a45c7a3c42]
10938
10939         * tgetpass.c:
10940         Use TCSAFLUSH when restoring terminal settings (and echo) to
10941         guarantee that any pending output is discarded
10942         [549a184479e5]
10943
10944 2008-01-15  Todd C. Miller  <Todd.Miller@courtesan.com>
10945
10946         * sudoers:
10947         no longer need to specify SETENV when user has sudo ALL
10948         [3051b41f8032]
10949
10950         * testsudoers.c:
10951         sync user_args size calculation with sudo.c Add -g group option,
10952         renaming old -g to -G Add set_runasgr() and set_runaspw() and use
10953         them
10954         [0850325180f0]
10955
10956         * sudo.c, sudo.h:
10957         Make set_runaspw static void
10958         [5d44d7a340ce]
10959
10960         * testsudoers.c, visudo.c:
10961         g/c set_runaspw stub
10962         [79ebb5e2cc38]
10963
10964         * configure, configure.in:
10965         Don't add -llber twice.
10966         [4356d302eef4]
10967
10968 2008-01-14  Todd C. Miller  <Todd.Miller@courtesan.com>
10969
10970         * ldap.c:
10971         fix typo
10972         [249cecc557e9]
10973
10974 2008-01-13  Todd C. Miller  <Todd.Miller@courtesan.com>
10975
10976         * gram.c:
10977         regen
10978         [2f94ea375b67]
10979
10980         * configure, configure.in:
10981         Fix check that determines whether -llber is required.
10982         [6afa99523379]
10983
10984         * README.LDAP, config.h.in, configure, configure.in, ldap.c:
10985         For netscape-based LDAP, use ldapssl_set_strength() to implement the
10986         checkpeer ldap.conf option.
10987         [16ae24d73795]
10988
10989         * auth/kerb5.c:
10990         Delay krb5_cc_initialize() until we actually need to use the cred
10991         cache, which is what krb5_verify_user() does. Better cleanup on
10992         failure.
10993         [d12e5f1695b8]
10994
10995 2008-01-12  Todd C. Miller  <Todd.Miller@courtesan.com>
10996
10997         * auth/kerb5.c:
10998         Rewrite verify_krb_v5_tgt() based on what heimdal's
10999         krb5_verify_user() does.
11000         [05b5815f86c9]
11001
11002 2008-01-09  Todd C. Miller  <Todd.Miller@courtesan.com>
11003
11004         * gram.c:
11005         The U suffix on constants is an ANSI feature
11006         [c6dfce3167f1]
11007
11008         * configure, configure.in:
11009         Add check for ber_set_option() in -llber
11010         [43d0c0566074]
11011
11012 2008-01-07  Todd C. Miller  <Todd.Miller@courtesan.com>
11013
11014         * README.LDAP:
11015         default if no nsswitch.conf is files only
11016         [c13001d9c998]
11017
11018 2008-01-06  Todd C. Miller  <Todd.Miller@courtesan.com>
11019
11020         * README.LDAP:
11021         don't tell people to mail aaron about LDAP stuff
11022         [8165ec1ef0c6]
11023
11024         * README.LDAP:
11025         timelimit and bind_timelimit
11026         [44f74cbed167]
11027
11028         * ChangeLog:
11029         sync
11030         [aba1a0ab02bd]
11031
11032         * ldap.c:
11033         Move ldap.secret reading into a separate function.
11034         [1948acc9f7a4]
11035
11036         * check.c:
11037         user_runas -> runas_pw
11038         [334490fc2bae]
11039
11040 2008-01-05  Todd C. Miller  <Todd.Miller@courtesan.com>
11041
11042         * TODO:
11043         sync
11044         [c7b165cc47c6]
11045
11046         * check.c, sudo.pod, sudoers.pod:
11047         Add and document the %p escape in the password prompt. Based on a
11048         patch from Patrick Schoenfeld.
11049         [3972d4f31ffa]
11050
11051         * ldap.c:
11052         Check strlcpy() return values.
11053         [9b42f3ae8ff1]
11054
11055         * ldap.c:
11056         refactor ldap binding code into sudo_ldap_bind_s()
11057         [cb0c66a4d955]
11058
11059         * README.LDAP:
11060         Make it clear that host and uri can take multiple parameters. URI is
11061         now supported for more than just openldap nsswitch.conf does't
11062         accept "compat"
11063         [f610dea656d6]
11064
11065         * sudo.c:
11066         comment cleanup and update (c) year
11067         [6cd69c810ca5]
11068
11069         * parse.c, sudo_nss.c:
11070         Move display_privs() and display_cmnd() from parse.c to sudo_nss.c.
11071         This should make it possible to build an LDAP-only sudo binary.
11072         [61c3f27066a0]
11073
11074         * ldap.c, parse.c, sudo.c, sudo.h, sudo_nss.h:
11075         Improve chaining of multiple sudoers sources by passing in the
11076         previous return value to the next in the chain
11077         [2c0b722b1b2d]
11078
11079         * gram.y:
11080         Free up parser data structures in sudo_file_close().
11081         [2251531d4519]
11082
11083         * gram.c, parse.c:
11084         Free up parser data structures in sudo_file_close().
11085         [8371f130f401]
11086
11087         * ldap.c:
11088         Parse uri ourself if no ldap_initialize() is present Use
11089         ldap_create() instead of deprecated ldap_init() Use
11090         ldap_sasl_bind_s() instead of deprecated ldap_simple_bind_s()
11091         [85d3825b1953]
11092
11093         * config.h.in, configure, configure.in:
11094         Add check for ldap_sasl_bind_s() Remove -DLDAP_DEPRECATED from
11095         CFLAGS
11096         [240524512bc5]
11097
11098 2008-01-04  Todd C. Miller  <Todd.Miller@courtesan.com>
11099
11100         * config.h.in, configure, configure.in:
11101         add check for ldap_create
11102         [3089badd73b8]
11103
11104 2008-01-03  Todd C. Miller  <Todd.Miller@courtesan.com>
11105
11106         * config.h.in, configure, configure.in, ldap.c:
11107         Add sudo_ldap_get_first_rdn() to return the first rdn of an entry's
11108         dn using the mechanism appropriate for the LDAP SDK in use. Use
11109         ldap_unbind_ext_s() instead of deprecated ldap_unbind_s(). Emulate
11110         ldap_unbind_ext_s() and ldap_search_ext_s() for SDK's without them.
11111         [6deeca3d00cc]
11112
11113         * lbuf.c:
11114         include unistd.h
11115         [8419ed0bae7f]
11116
11117         * config.h.in, configure.in:
11118         fix typo in mtim_getnsec
11119         [2d5f21230a60]
11120
11121 2008-01-02  Todd C. Miller  <Todd.Miller@courtesan.com>
11122
11123         * config.h.in, configure, configure.in:
11124         add check for st__tim in struct stat as used by SCO
11125         [587060ea2a89]
11126
11127         * ldap.c:
11128         use ldap_search_ext_s instead of deprecated ldap_search_s
11129         [5fc44fe3b44c]
11130
11131         * Makefile.in, TODO, sudo.cat, sudo.man.in:
11132         add sudo_nss.h to HDRS
11133         [86f01a70ff29]
11134
11135         * ldap.c:
11136         Replace deprecated ldap_explode_dn() with calls to ldap_str2dn() and
11137         ldap_rdn2str().
11138         [aa217002cfae]
11139
11140 2008-01-01  Todd C. Miller  <Todd.Miller@courtesan.com>
11141
11142         * ldap.c:
11143         Use ldap_get_values_len()/ldap_value_free_len() instead of the
11144         deprecated ldap_get_values()/ldap_value_free().
11145         [e22dceb85e57]
11146
11147         * ChangeLog:
11148         sync
11149         [adad27b36107]
11150
11151         * TODO:
11152         sync
11153         [c449eb47e0ef]
11154
11155         * gettime.c, sudo.c:
11156         Remove some already fixed XXXs
11157         [532788d0e6da]
11158
11159         * ldap.c:
11160         Same return value as non-existent sudoers if LDAP was unable to
11161         connect.
11162         [5819810e8e4e]
11163
11164         * sudo.pod:
11165         mention /etc/environment
11166         [ea8e6102f853]
11167
11168         * README.LDAP, UPGRADE, WHATSNEW:
11169         Update to reflect recent developments.
11170         [ed1fb026fe77]
11171
11172         * sudo.c:
11173         Print nsswitch.conf, ldap.conf and ldap.secret paths in -V output.
11174         [55b68a58260d]
11175
11176         * ldap.c:
11177         When building up a query don't list groups in the aux group vector
11178         that are the same as the passwd file group. On most systems the
11179         first gid in the group vector is the same as the passwd entry gid.
11180         [4bb51e297e0d]
11181
11182         * env.c, ldap.c:
11183         Define LDAPNOINIT before calling ldap_init(), etc. to disable user
11184         ldaprc and system defaults that could affect how LDAP works.
11185         [ce5036440db2]
11186
11187         * INSTALL, configure, configure.in, pathnames.h.in, sudo.c,
11188         sudo_nss.c, sudo_nss.h:
11189         Rename read_nss -> sudo_read_nss Add --with-nsswitch to allow users
11190         to specify nsswitch.conf path or disable it. If --with-nsswitch=no
11191         but --with-ldap, order is LDAP, then sudoers. Fix --with-ldap-conf-
11192         file and --with-ldap-secret-file
11193         [ea5d7704381f]
11194
11195         * parse.c:
11196         Honor def_ignore_local_sudoers
11197         [f38e1121fae1]
11198
11199 2007-12-31  Todd C. Miller  <Todd.Miller@courtesan.com>
11200
11201         * ldap.c:
11202         no longer need to check def_ignore_local_sudoers here
11203         [fce2a72f96fb]
11204
11205         * parse.c:
11206         Refactor group vector resetting into a function and also call it
11207         from display_cmnd. Stop after the first sucessful match in
11208         display_cmnd. Print a newline between each display_privs method.
11209         [981b37b5adff]
11210
11211         * parse.c:
11212         fix double free introduced in rev 1.218
11213         [c574b02d8747]
11214
11215         * ldap.c:
11216         belt and suspenders; zero out result after freeing it
11217         [7732988d4620]
11218
11219         * env.c, fileops.c, ldap.c, sudo.h, sudo_nss.c:
11220         Refactor line reading into a separate function, sudo_parseln(),
11221         which removes comments, leading/trailing whitespace and newlines.
11222         May want to rethink the use of sudo_parseln() for /etc/ldap.secret
11223         [61d9068f0645]
11224
11225         * parse.c, sudo.c:
11226         Make the inability to read the sudoers file a non-fatal error if
11227         there are other sudoers sources available. sudoers_file_lookup now
11228         returns "not OK" if sudoers was not present
11229         [643babf597a8]
11230
11231         * ldap.c:
11232         make it clear that the global options are from LDAP
11233         [9ff950349463]
11234
11235         * logging.c:
11236         allocate proper amount of space for error string
11237         [8bebb7d46d19]
11238
11239         * sudo_nss.c, sudo_nss.h:
11240         actual sudo nss code
11241         [5bd7d52d7738]
11242
11243         * ldap.c, parse.c, sudo.c, sudo.h:
11244         nss-ify display_privs and display_cmnd.
11245         [cccfdd3253f2]
11246
11247         * defaults.c, parse.c, testsudoers.c, visudo.c:
11248         move update_defaults() to parse.c
11249         [ace144b958a9]
11250
11251         * Makefile.in, ldap.c, list.c, parse.c, parse.h, sudo.c, sudo.h:
11252         Use nsswitch to hide some sudoers vs. ldap implementation details
11253         and reduce the number of #ifdef LDAP TODO: fix display routines and
11254         error handling
11255         [6225edde89a6]
11256
11257 2007-12-28  Todd C. Miller  <Todd.Miller@courtesan.com>
11258
11259         * Makefile.in, README.LDAP, ldap.c, pathnames.h.in, sudo.c, sudo.h:
11260         First cut at nsswitch.conf support. Further reorganizaton and
11261         related changes are forthcoming.
11262         [717f59d0790b]
11263
11264 2007-12-21  Todd C. Miller  <Todd.Miller@courtesan.com>
11265
11266         * env.c, pathnames.h.in, sudo.c, sudo.h:
11267         Add support for reading and /etc/environment file. Still needs to
11268         be documented and should probably only applies to OSes that have it
11269         (AIX and Linux, maybe others).
11270         [15d3edae27e4]
11271
11272         * ldap.c:
11273         include limits.h
11274         [e19875ef0f82]
11275
11276 2007-12-20  Todd C. Miller  <Todd.Miller@courtesan.com>
11277
11278         * WHATSNEW:
11279         reword LDAP SASL
11280         [7ec3c4ec31b5]
11281
11282 2007-12-19  Todd C. Miller  <Todd.Miller@courtesan.com>
11283
11284         * TODO:
11285         sync
11286         [87c5a7aea7bf]
11287
11288         * README.LDAP:
11289         Add an example sudoRole, clarify netscape vs. openldap a bit more
11290         [6f96c0ca8107]
11291
11292         * README.LDAP:
11293         Be clear on what is OpenLDAP vs. Netscape-derived
11294         [a33c8314dec5]
11295
11296         * config.h.in, configure, configure.in, ldap.c:
11297         Use ldapssl_init() for ldaps support instead of trying to do it
11298         manually with ldap_init() + ldapssl_install_routines(). Use tls_cert
11299         and tls_key for cert7.db and key3.db respectively. Don't print
11300         debugging info for options that are not set. Add warning if
11301         start_tls specified when not supported.
11302         [abb62dc7e4a3]
11303
11304         * ldap.c:
11305         fix compilation on solaris
11306         [03d449684e80]
11307
11308         * Makefile.in:
11309         add missing .h and .c files for missing lib objs
11310         [8b37825bdfc7]
11311
11312 2007-12-18  Todd C. Miller  <Todd.Miller@courtesan.com>
11313
11314         * ldap.c:
11315         fix LDAP_OPT_NETWORK_TIMEOUT setting
11316         [226eba89c0ad]
11317
11318         * ldap.c:
11319         fix compilation on Solaris
11320         [917d47639eb6]
11321
11322 2007-12-17  Todd C. Miller  <Todd.Miller@courtesan.com>
11323
11324         * configure, configure.in:
11325         fix typo
11326         [009d5c81b225]
11327
11328         * README.LDAP:
11329         try to clear up which variables are for OpenLDAP and which are for
11330         netscape-derived SDKs
11331         [f8d9823ee73c]
11332
11333         * config.h.in, configure, configure.in, ldap.c:
11334         Add support for "ssl on" in both netscape and openldap flavors. Only
11335         the OpenLDAP flavor has been tested.
11336         [952745829ec5]
11337
11338         * logging.c, sudo.c, sudo.h:
11339         Call cleanup() before exit in log_error() instead of calling
11340         sudo_ldap_close() directly. ldap_conn can now be static to sudo.c
11341         [da02d1b67a2c]
11342
11343         * sudo.c:
11344         ld -> ldap_conn
11345         [01afa6d927cc]
11346
11347 2007-12-16  Todd C. Miller  <Todd.Miller@courtesan.com>
11348
11349         * logging.c, sudo.c, sudo.h:
11350         Better ldap cleanup.
11351         [25b9abe2d617]
11352
11353         * ldap.c:
11354         Distinguish between LDAP conf settings that are connection-specific
11355         (which take an ld pointer) and those that are default settings
11356         (which do not).
11357         [d48dc6c9c3b4]
11358
11359 2007-12-14  Todd C. Miller  <Todd.Miller@courtesan.com>
11360
11361         * ldap.c:
11362         Improved warnings on error.
11363         [c8dce7b4feb4]
11364
11365         * ldap.c:
11366         Make ldap config table driven and set the config *after* we open the
11367         connection.
11368         [d9698b5a2681]
11369
11370 2007-12-13  Todd C. Miller  <Todd.Miller@courtesan.com>
11371
11372         * ldap.c:
11373         fix LDAP_OPT_X_CONNECT_TIMEOUT compat define
11374         [598c6df06660]
11375
11376         * configure, configure.in:
11377         some operating systems need to link with -lkrb5support when using
11378         krb5
11379         [8896365dde9e]
11380
11381 2007-12-10  Todd C. Miller  <Todd.Miller@courtesan.com>
11382
11383         * WHATSNEW:
11384         minor update
11385         [acfeeb7f4886]
11386
11387         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in:
11388         regen
11389         [a3c6699674f9]
11390
11391 2007-12-08  Todd C. Miller  <Todd.Miller@courtesan.com>
11392
11393         * ChangeLog, TODO:
11394         sync
11395         [138e99b925ee]
11396
11397         * ldap.c, schema.OpenLDAP, schema.iPlanet, sudoers2ldif:
11398         add -g support for LDAP
11399         [8fc27dbe9287]
11400
11401 2007-12-03  Todd C. Miller  <Todd.Miller@courtesan.com>
11402
11403         * WHATSNEW, sudo.c, sudo.pod, sudo_usage.h.in:
11404         The -i and -s flags can now take an optional command.
11405         [6afec104ee77]
11406
11407 2007-12-02  Todd C. Miller  <Todd.Miller@courtesan.com>
11408
11409         * auth/pam.c, def_data.c, def_data.h, def_data.in, sudo.c, sudo.pod,
11410         sudoers.pod:
11411         Add passprompt_override flag to sudoers that will cause the prompt
11412         to be overridden in all cases. This flag is also set when the user
11413         specifies the -p flag.
11414         [e4c5402131a6]
11415
11416         * sudo.c:
11417         Move setting of login class until after sudoers has been parsed. Set
11418         NewArgv[0] for -i after runas_pw has been set.
11419         [62a48c8c56fa]
11420
11421         * configure, configure.in:
11422         Move the dgettext check.
11423         [5fd8a4712d1c]
11424
11425 2007-12-01  Todd C. Miller  <Todd.Miller@courtesan.com>
11426
11427         * auth/pam.c, config.h.in, configure, configure.in:
11428         Add basic support for looking up the string "Password: " in the PAM
11429         localized text db. This allows us to determine whether the PAM
11430         prompt is the default "Password: " one even if it has been
11431         localized.
11432
11433         TODO: concatenate non-std PAM prompts and user-specified sudo
11434         prompts.
11435         [81c25a415d41]
11436
11437 2007-11-27  Todd C. Miller  <Todd.Miller@courtesan.com>
11438
11439         * Makefile.in, config.h.in, configure, configure.in, parse.c,
11440         set_perms.c, sudo.c, sudo.h:
11441         Use AC_FUNC_GETGROUPS instead of a home-grown attempt that was
11442         insufficient.
11443         [1cce6ec1a91e]
11444
11445         * acsite.m4, configure, interfaces.c, memrchr.c:
11446         Fix typos; Martynas Venckus
11447         [be1233cca11a]
11448
11449 2007-11-26  Todd C. Miller  <Todd.Miller@courtesan.com>
11450
11451         * set_perms.c:
11452         Don't assume runas_pw is set; it may not be in the -g case.
11453         [aa11bd2193ac]
11454
11455 2007-11-25  Todd C. Miller  <Todd.Miller@courtesan.com>
11456
11457         * logging.c, set_perms.c:
11458         Set aux group vector for PERM_RUNAS and restore group vector for
11459         PERM_ROOT if we previously changed it. Stash the runas group vector
11460         so we don't have to call initgroups more than once. Also add no-op
11461         check to check_perms.
11462         [53837fc755f7]
11463
11464 2007-11-21  Todd C. Miller  <Todd.Miller@courtesan.com>
11465
11466         * WHATSNEW, check.c, def_data.in, defaults.c, gram.c, gram.h, gram.y,
11467         ldap.c, logging.c, match.c, mon_systrace.c, parse.c, parse.h,
11468         pwutil.c, set_perms.c, sudo.c, sudo.cat, sudo.h, sudo.man.in,
11469         sudo.pod, sudo_usage.h.in, sudoers.cat, sudoers.man.in, sudoers.pod,
11470         testsudoers.c, visudo.c, visudo.cat, visudo.man.in:
11471         Add support for runas groups. This allows the user to run a command
11472         with a different effective group. If the -g option is specified
11473         without -u the command will be run as the current user (only the
11474         group will change). the -g and -u options may be used together.
11475         TODO: implement runas group for ldap improve runas group
11476         documentation add testsudoers support
11477         [9019309df6d0]
11478
11479         * configure, configure.in:
11480         fix setting of mandir
11481         [2c60f269399f]
11482
11483         * sudo.pod, sudoers.pod:
11484         document that ALL implies SETENV
11485         [bcc8e5b703b9]
11486
11487         * ldap.c:
11488         s/setenv_ok/setenv_implied/g
11489         [f005df2c2eea]
11490
11491         * ldap.c:
11492         hostname_matches() returns TRUE on match in sudo 1.7.
11493         [c3d4377b6e8b]
11494
11495         * ldap.c:
11496         use strcmp, not strcasecmp when comparing ALL
11497         [e486024574a1]
11498
11499         * ldap.c:
11500         Make sudo ALL imply setenv. Note that unlike with file-based
11501         sudoers this does affect all the commands in the sudoRole.
11502         [bc12f54321d1]
11503
11504         * gram.c, gram.y, parse.c, parse.h:
11505         sudo "ALL" now implies the SETENV tag but, unlike an explicit tag,
11506         it is not passed on to other commands in the list.
11507         [026e2cb40680]
11508
11509         * visudo.c:
11510         Add missing sudo_setpwent() and sudo_setgrent() calls. Also use
11511         sudo_getpwuid() instead of getpwuid().
11512         [86f30a8fbd49]
11513
11514 2007-11-15  Todd C. Miller  <Todd.Miller@courtesan.com>
11515
11516         * sudoers:
11517         Expand on the dangers of not using visudo to edit sudoers.
11518         [e434e8057d02]
11519
11520 2007-11-08  Todd C. Miller  <Todd.Miller@courtesan.com>
11521
11522         * parse.c:
11523         Don't quote *?[]! on output since the lexer does not strip off the
11524         backslash when reading those in.
11525         [561da4a13afa]
11526
11527 2007-11-07  Todd C. Miller  <Todd.Miller@courtesan.com>
11528
11529         * glob.c:
11530         expand "u_foo" types to "unsigned foo" to avoid compatibility
11531         issues.
11532         [b0d7c64d78c3]
11533
11534 2007-11-04  Todd C. Miller  <Todd.Miller@courtesan.com>
11535
11536         * logging.c:
11537         Refactor log line generation in to new_logline().
11538         [6a9b9730615d]
11539
11540 2007-10-25  Todd C. Miller  <Todd.Miller@courtesan.com>
11541
11542         * TROUBLESHOOTING:
11543         fix typo
11544         [9e19d4f86e47]
11545
11546 2007-10-24  Todd C. Miller  <Todd.Miller@courtesan.com>
11547
11548         * config.h.in, configure, configure.in, interfaces.c, interfaces.h,
11549         match.c:
11550         Add configure check for struct in6_addr instead of relying on
11551         AF_INET6 since some systems define AF_INET6 but do not include IPv6
11552         support.
11553         [e24082c416bd]
11554
11555 2007-10-21  Todd C. Miller  <Todd.Miller@courtesan.com>
11556
11557         * configure, configure.in:
11558         Fix block to add -lutil for FreeBSD and NetBSD when logincap is in
11559         use.
11560         [76a9df4a63be]
11561
11562 2007-10-20  Todd C. Miller  <Todd.Miller@courtesan.com>
11563
11564         * configure, configure.in:
11565         POSIX states that struct timespec be declared in time.h so check
11566         there regardless of the value of TIME_WITH_SYS_TIME.
11567         [e42c55ec9daf]
11568
11569 2007-10-17  Todd C. Miller  <Todd.Miller@courtesan.com>
11570
11571         * tgetpass.c:
11572         Instead of defining a macro to call the appropriate method for
11573         turning on/off echo, just define tc[gs]etattr() and the related
11574         defines that use the correct terminal ioctls if needed. Also go back
11575         to using TCSAFLUSH instead of TCSADRAIN on all but QNX.
11576         [5dfb2379d995]
11577
11578 2007-10-09  Todd C. Miller  <Todd.Miller@courtesan.com>
11579
11580         * Makefile.in:
11581         g/c @ALLOCA@
11582         [e6946c2e3820]
11583
11584         * configure:
11585         regen
11586         [9bac7159a138]
11587
11588         * INSTALL, auth/pam.c, config.h.in, configure.in:
11589         Add --disable-pam-session configure option to disable calling
11590         pam_{open,close}_session. May work around bugs in some PAM
11591         implementations.
11592         [273d0fdb4a9d]
11593
11594 2007-10-08  Todd C. Miller  <Todd.Miller@courtesan.com>
11595
11596         * tgetpass.c:
11597         quiet gcc warnings
11598         [325565c5a579]
11599
11600         * tgetpass.c:
11601         Avoid printing the prompt if we are already backgrounded. E.g. if
11602         the user runs "sudo foo &" from the shell. In this case, the call
11603         to tcsetattr() will cause SIGTTOU to be delivered.
11604         [db2139a8d8b8]
11605
11606 2007-09-15  Todd C. Miller  <Todd.Miller@courtesan.com>
11607
11608         * def_data.c, def_data.h, def_data.in:
11609         Reorder things such that the definition of env_reset come right
11610         before the env variable lists.
11611         [e0d8e22a581a]
11612
11613         * parse.h:
11614         Shrink type and seqno in struct alias from int to u_short
11615         [9425263dd565]
11616
11617         * alias.c, match.c, parse.c, parse.h:
11618         Add a sequence number in the aliases for loop detection. If we find
11619         an alias with the seqno already set to the current (global) value we
11620         know we've visited it before so ignore it.
11621         [301a0548ffff]
11622
11623 2007-09-13  Todd C. Miller  <Todd.Miller@courtesan.com>
11624
11625         * TODO, auth/pam.c, sudo.c, sudo.h:
11626         PAM wants the full tty path so add user_ttypath which holds the full
11627         path to the tty or is NULL if no tty was present.
11628         [c7c1dd4b36c8]
11629
11630         * auth/pam.c:
11631         Set PAM_RHOST to work around a bug in Solaris 7 and lower that
11632         results in a segv.
11633         [3a8865b3a357]
11634
11635 2007-09-11  Todd C. Miller  <Todd.Miller@courtesan.com>
11636
11637         * gram.c:
11638         regen
11639         [5647be127950]
11640
11641         * alias.c, defaults.c, gram.y, list.c, list.h, match.c, parse.c,
11642         parse.h, testsudoers.c, visudo.c:
11643         rename lh_ -> tq_
11644         [8f500c542c4a]
11645
11646 2007-09-10  Todd C. Miller  <Todd.Miller@courtesan.com>
11647
11648         * alloc.c:
11649         remove some useless casts
11650         [409a448b23f5]
11651
11652         * alloc.c:
11653         pull in inttypes.h for SIZE_MAX; we avoid stdint.h since inttypes.h
11654         predates the final C99 spec and the standard specifies that it shall
11655         include stdint.h anyway
11656         [ae478fdef61a]
11657
11658 2007-09-06  Todd C. Miller  <Todd.Miller@courtesan.com>
11659
11660         * Makefile.in, alloca.c, configure.in:
11661         Since we ship with a pre-generated parser there is no need to ship a
11662         bogus alloca implementation.
11663         [3f611a7cc0e5]
11664
11665         * configure:
11666         regen
11667         [771eccf5269c]
11668
11669         * configure.in:
11670         remove initial setting of CHECKSIA, we require that it be unset if
11671         not used
11672         [a2e91adc5aa2]
11673
11674         * Makefile.in:
11675         add list.c to SRCS
11676         [7db0e56cf5b9]
11677
11678         * configure:
11679         regen
11680         [3716ec30172e]
11681
11682         * configure.in:
11683         only do SIA checks on Digital Unix
11684         [6a96e1af2597]
11685
11686 2007-09-05  Todd C. Miller  <Todd.Miller@courtesan.com>
11687
11688         * sudoers.cat, sudoers.man.in:
11689         regen
11690         [ac1dc29de72b]
11691
11692         * ChangeLog, TODO:
11693         sync
11694         [781effce0a2d]
11695
11696         * auth/kerb5.c:
11697         Remove call to krb5_cc_register() as it is not needed for modern
11698         kerb5.
11699         [351b8b764f16]
11700
11701         * configure:
11702         regen
11703         [ac21dbcc9c2c]
11704
11705         * aclocal.m4, configure.in:
11706         New method for setting the default authentication type and avoiding
11707         conflicts in auth types.
11708         [5fb15be11f78]
11709
11710         * match.c, parse.c, testsudoers.c:
11711         Each entry in a cmndlist now has an associated runaslist so no need
11712         to keep track of the most recent non-NULL one.
11713         [582e015786b0]
11714
11715 2007-09-04  Todd C. Miller  <Todd.Miller@courtesan.com>
11716
11717         * ldap.c:
11718         back out partial ldaps support mistakenly committed
11719         [357703e94b2d]
11720
11721         * ldap.c:
11722         Add support for unix groups and netgroups in sudoRunas
11723         [2f04eb91c6d0]
11724
11725 2007-09-03  Todd C. Miller  <Todd.Miller@courtesan.com>
11726
11727         * sudo_edit.c:
11728         Fix sudoedit of a non-existent file. From Tilo Stritzky.
11729         [a5488a03bddd]
11730
11731 2007-09-02  Todd C. Miller  <Todd.Miller@courtesan.com>
11732
11733         * configure:
11734         regen
11735         [541177376ee1]
11736
11737         * INSTALL:
11738         update --passprompt escape info
11739         [6d57db4cd538]
11740
11741         * configure.in:
11742         remove now-bogus comment and update copyright date
11743         [6a4af45fa331]
11744
11745         * configure.in:
11746         Fix up use of with_passwd
11747         [7c79d8640f77]
11748
11749         * acsite.m4, config.guess, config.sub, configure.in, ltmain.sh:
11750         Update to autoconf-2.61 andf libtool-1.5.24
11751         [045259b0b439]
11752
11753         * Makefile.in:
11754         "cmp -s" not just cmp Add @datarootdir@ to quiet autoconf-2.61
11755         [f5b6a7afb817]
11756
11757 2007-09-01  Todd C. Miller  <Todd.Miller@courtesan.com>
11758
11759         * gram.c:
11760         regen
11761         [b5b78e71d2cb]
11762
11763         * gram.y:
11764         move tags and runaslist propagation to be earlier
11765         [94f7805f4489]
11766
11767         * visudo.c:
11768         If -f flag given use the permissions of the original file as a
11769         template
11770         [9303d22bddb0]
11771
11772         * gram.y:
11773         prevent a double free() when re-initing the parser
11774         [5b3907c4de5a]
11775
11776 2007-08-31  Todd C. Miller  <Todd.Miller@courtesan.com>
11777
11778         * configure:
11779         regen
11780         [49a90b19a17d]
11781
11782         * aclocal.m4, alias.c, alloc.c, auth/API, auth/afs.c, auth/bsdauth.c,
11783         auth/kerb4.c, auth/kerb5.c, auth/pam.c, auth/securid.c,
11784         auth/securid5.c, auth/sia.c, auth/sudo_auth.h, config.h.in,
11785         configure.in, env.c, ldap.c, list.c, list.h, memrchr.c, parse.c,
11786         parse.h, pwutil.c, redblack.c, redblack.h, snprintf.c, sudo.c,
11787         sudo.h, testsudoers.c, visudo.c, zero_bytes.c:
11788         Remove support for compilers that don't support void *
11789         [35e1d01ae197]
11790
11791         * gram.c:
11792         regen
11793         [70ce412a458a]
11794
11795         * Makefile.in, alias.c, defaults.c, gram.y, list.c, list.h, match.c,
11796         parse.c, parse.h, testsudoers.c, visudo.c:
11797         Move list manipulation macros to list.h and create C versions of the
11798         more complex ones in list.c. The names have been down-cased so they
11799         appear more like normal functions.
11800         [9cea0e281148]
11801
11802         * Makefile.in:
11803         Fix cmp command when regenerating parser. Make gram.o the first
11804         dependency for all programs so gram.h will be generated before
11805         anything that needs it.
11806         [429ea065abf1]
11807
11808         * gram.y, parse.h:
11809         Convert NEW_DEFAULT anf NEW_MEMBER into static functions.
11810         [2f3433833589]
11811
11812         * match.c, parse.c, testsudoers.c:
11813         Use LH_FOREACH_REV when checking permission and short-circuit on the
11814         first non-UNSPEC hit we get for the command. This means that
11815         instead of cycling through the all the parsed sudoers entries we
11816         start at the end and work backwards and quit after the first
11817         positive or negative match.
11818         [881474532f3e]
11819
11820         * gram.c:
11821         regen
11822         [9152a19d4188]
11823
11824         * defaults.c, gram.y, parse.c, parse.h, testsudoers.c, visudo.c:
11825         Change list head macros to take a pointer, not a struct.
11826         [054f1dcce4cc]
11827
11828         * gram.c:
11829         regen
11830         [be154aae6235]
11831
11832         * gram.y:
11833         Propagate the runasspec from one command to the next in a cmndspec.
11834         [4957b1cb03a3]
11835
11836 2007-08-30  Todd C. Miller  <Todd.Miller@courtesan.com>
11837
11838         * match.c:
11839         Replace has_meta() with a macro that calls strpbrk().
11840         [a2e58846a542]
11841
11842         * regen
11843         [5a932a5c9451]
11844
11845         * alias.c, defaults.c, gram.y, match.c, parse.c, parse.h,
11846         testsudoers.c, visudo.c:
11847         Use a list head struct when storing the semi-circular lists and
11848         convert to tail queues in the process. This will allow us to
11849         reverse foreach loops more easily and it makes it clearer which
11850         functions expect a list as opposed to a single member.
11851
11852         Add macros for manipulating lists. Some of these should become
11853         functions.
11854
11855         When freeing up a list, just pop off the last item in the queue
11856         instead of going from head to tail. This is simpler since we don't
11857         have to stash a pointer to the next member, we always just use the
11858         last one in the queue until the queue is empty.
11859
11860         Rename match functions that take a list to have list in the name.
11861         Break cmnd_matches() into cmnd_matches() and cmndlist_matches.
11862         [7c37b271607a]
11863
11864         * parse.c:
11865         Fix pasto, append "!" not negated (which is an int) for sudo -l
11866         output.
11867         [93a444c3997f]
11868
11869         * Makefile.in:
11870         Remove the dependency of gram .h on gram.y, the .c dependency is
11871         enough. Only move y.tab.h to gram.h if it is different; avoids
11872         needless rebuilding.
11873         [67bf4ea2a2e5]
11874
11875 2007-08-27  Todd C. Miller  <Todd.Miller@courtesan.com>
11876
11877         * sudoers.pod:
11878         Defaults lines may be associated with lists of users, hosts,
11879         commands and runas users, not just single entries.
11880         [795effacb6be]
11881
11882 2007-08-26  Todd C. Miller  <Todd.Miller@courtesan.com>
11883
11884         * Makefile.in:
11885         Revert the "cmp" portion of the last diff, it doesn't make sense.
11886         [26f34bf4e2e3]
11887
11888         * Makefile.in:
11889         Remove *.lo for clean: When generating the parser, only move the
11890         generated files into place if they differ from the existing ones.
11891         [84673fea371b]
11892
11893 2007-08-25  Todd C. Miller  <Todd.Miller@courtesan.com>
11894
11895         * toke.c, toke.l:
11896         Replace IPV6 regexp with a much simpler (readable) one and add an
11897         extra check when it matches to make sure we have a valid address.
11898         [592e9f690556]
11899
11900         * match.c:
11901         Fix thinko introduced when merging IPV6 support.
11902         [da38cd5eb8c7]
11903
11904 2007-08-24  Todd C. Miller  <Todd.Miller@courtesan.com>
11905
11906         * HISTORY, LICENSE:
11907         regen
11908         [0d7b27b90634]
11909
11910         * license.pod:
11911         add 2007
11912         [510e5048ae1a]
11913
11914         * UPGRADE:
11915         mention #uid vs. comment pitfall
11916         [4d2861898bcc]
11917
11918         * acsite.m4:
11919         Merge in a patch from the libtool cvs that fixes a problem with the
11920         latest autoconf. From Stepan Kasal.
11921         [0c279ae7df3e]
11922
11923         * parse.h:
11924         Back out he XOR swap trick, it is slower than a temp variable on
11925         modern CPUs.
11926         [91c4b024e317]
11927
11928         * gram.c:
11929         regen
11930         [cb6d4106fb74]
11931
11932         * gram.y, parse.h:
11933         Convert the tail queue to a semi-circle queue and use the XOR swap
11934         trick to swap the prev pointers during append.
11935         [8bf4d9fbee58]
11936
11937 2007-08-23  Todd C. Miller  <Todd.Miller@courtesan.com>
11938
11939         * parse.h:
11940         remove useless statement
11941         [421ec1dd73e6]
11942
11943         * toke.c, toke.l:
11944         Refactor #include parsing into a separate function and return
11945         unparsed chars (such as newline or comment) back to the lexer.
11946         [64166917aa3d]
11947
11948 2007-08-22  Todd C. Miller  <Todd.Miller@courtesan.com>
11949
11950         * WHATSNEW:
11951         mention better uid support
11952         [56f510e7f2ec]
11953
11954         * sudoers.pod:
11955         Users may now consist of a uid.
11956         [5fd31b2c55ed]
11957
11958         * gram.c, gram.h, toke.c:
11959         regen
11960         [599e58af6dc1]
11961
11962         * parse.c:
11963         Use lbuf_append_quoted() for sudo -l output to quote characters that
11964         would require quoting in sudoers.
11965         [3132d05c990a]
11966
11967         * lbuf.c, lbuf.h:
11968         Add lbuf_append_quoted() which takes a set of characters which
11969         should be quoted with a backslash when displayed.
11970         [ab09bebb1d65]
11971
11972         * toke.l:
11973         Require that the first character after a comment not be a digit or a
11974         dash. This allows us to remove the GOTRUNAS state and treat
11975         uid/gids similar to other words. It also means that we can now
11976         specify uids in User_Lists and a User_Spec may now contain a uid.
11977         [461fe01f8392]
11978
11979         * gram.y, toke.l:
11980         Replace RUNAS token with '(' and ')' tokens to make the runas
11981         portion of the grammar more natural.
11982         [e0c383b4684d]
11983
11984         * BUGS:
11985         The BUGS file is history
11986         [4d9a809585c7]
11987
11988         * Makefile.in, README:
11989         The BUGS file is history
11990         [d9500e261172]
11991
11992 2007-08-21  Todd C. Miller  <Todd.Miller@courtesan.com>
11993
11994         * toke.c, toke.l:
11995         Allow comments after a RunasAlias as long as the character after the
11996         pound sign isn't a digit or a dash.
11997         [d7f3bd94eeda]
11998
11999         * WHATSNEW:
12000         Glob support was back-ported to 1.6.9
12001         [d1d5cfd46228]
12002
12003 2007-08-20  Todd C. Miller  <Todd.Miller@courtesan.com>
12004
12005         * Makefile.in:
12006         remove sudo_usage.h in distclean
12007         [df05ce9c4127]
12008
12009         * parse.c:
12010         If a Defaults value contains a blank, double-quote the string.
12011         [9057a910daad]
12012
12013         * toke.c, toke.l:
12014         Properly deal with Defaults double-quoted strings that span multiple
12015         lines using the line continuation char. Previously, the entire
12016         thing, including the continuation char, newline, and spaces was
12017         stored as-is.
12018         [4a4e8eacefe6]
12019
12020         * sudo.c:
12021         Be consistent when using single quotes and backticks.
12022         [d010b83a0fa1]
12023
12024 2007-08-19  Todd C. Miller  <Todd.Miller@courtesan.com>
12025
12026         * Makefile.in, configure, configure.in, lbuf.c, lbuf.h, parse.c,
12027         sudo.c, sudo_usage.h.in:
12028         Add new linebuf code to do appends of dynamically allocated strings
12029         and word-wrapped output. Currently used for sudo's usage() and sudo
12030         -l output. Sudo usage strings are now in sudo_usage.h which is
12031         generated at configure time.
12032         [4dfd0ee8d961]
12033
12034 2007-08-18  Todd C. Miller  <Todd.Miller@courtesan.com>
12035
12036         * parse.c, sudo.c, sudo.h:
12037         Fix line wrapping in usage() and use the actual tty width instead of
12038         assuming 80.
12039         [700eab37c5a6]
12040
12041 2007-08-17  Todd C. Miller  <Todd.Miller@courtesan.com>
12042
12043         * history.pod:
12044         some more info
12045         [8140112a8ae1]
12046
12047         * history.pod:
12048         Mentioned Chris Jepeway's parser and also the new one that is in
12049         sudo 1.7.
12050         [2132d00f0597]
12051
12052 2007-08-16  Todd C. Miller  <Todd.Miller@courtesan.com>
12053
12054         * sudo.pod, visudo.pod:
12055         For the options list, add flag args where appropriate and increase
12056         the indent level so there is room for them.
12057         [2b60fb572e12]
12058
12059 2007-08-15  Todd C. Miller  <Todd.Miller@courtesan.com>
12060
12061         * parse.c:
12062         Fix some spacing in "sudo -l" and add a comment about some bogosity
12063         in the line wrapping.
12064         [b59b056f5ee2]
12065
12066         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in, visudo.cat,
12067         visudo.man.in:
12068         regen
12069         [5fb719f18ebc]
12070
12071         * INSTALL, Makefile.in, WHATSNEW, config.h.in, configure.in,
12072         def_data.c, def_data.h, def_data.in, gram.c, gram.h, gram.y,
12073         parse.c, parse.h, pathnames.h.in, sudo.c, sudo.h, sudoers.pod,
12074         testsudoers.c, toke.c, toke.l:
12075         Remove monitor support until there is a versino of systrace that
12076         uses a lookaside buffer (or we have a better mechanism to use).
12077         [61ff76878e4a]
12078
12079         * config.h.in, configure, configure.in, sudo.c:
12080         use getaddrinfo() instead of gethostbyname() if it is available
12081         [cc33c136aa6a]
12082
12083 2007-08-14  Todd C. Miller  <Todd.Miller@courtesan.com>
12084
12085         * parse.c, sudo.c:
12086         Deal with OSes where sizeof(gid_t) < sizeof(int).
12087         [130a89cbdfba]
12088
12089         * interfaces.c:
12090         repair non-getifaddrs() code after ipv6 integration
12091         [7ae7a89e2236]
12092
12093         * sudo.c:
12094         If we can open sudoers but fail to read the first byte, close the
12095         file stream before trying again.
12096         [6f31272fae7b]
12097
12098 2007-08-13  Todd C. Miller  <Todd.Miller@courtesan.com>
12099
12100         * toke.c:
12101         regen
12102         [4d7afe0aa6fa]
12103
12104         * gram.y, interfaces.c, interfaces.h, match.c, sudoers.pod, toke.l:
12105         Add IPv6 support; adapted from patches by YOSHIFUJI Hideaki
12106         [4e6ff2965a42]
12107
12108         * sudo.pod, sudoers.pod, visudo.pod:
12109         Add some missing markup Update copyright
12110         [7e6d3c686b5e]
12111
12112 2007-08-12  Todd C. Miller  <Todd.Miller@courtesan.com>
12113
12114         * configure, configure.in:
12115         fix sudo_noexec extension which got broken in the libtool update
12116         [3a5b447df861]
12117
12118 2007-08-10  Todd C. Miller  <Todd.Miller@courtesan.com>
12119
12120         * Makefile.in:
12121         explicitly specify -Tascii to nroff
12122         [45c8da4cbefe]
12123
12124 2007-08-08  Todd C. Miller  <Todd.Miller@courtesan.com>
12125
12126         * logging.c:
12127         remove an ANSI-ism that crept in
12128         [29086f87b2ca]
12129
12130 2007-08-07  Todd C. Miller  <Todd.Miller@courtesan.com>
12131
12132         * sudo.pod:
12133         Adjust list indents Prevent -- from being turned into an em dash Use
12134         a list for the environment instead of a literal paragraph
12135         [c3abcd8f76f4]
12136
12137         * visudo.pod:
12138         Use a list for the environment instead of an indented literal
12139         paragraph.
12140         [0ffcfcb7349f]
12141
12142         * sudoers.pod:
12143         Adjust list indentation
12144         [615c89e3123a]
12145
12146         * license.pod:
12147         add =head3
12148         [8b2e0d38c0bd]
12149
12150 2007-08-06  Todd C. Miller  <Todd.Miller@courtesan.com>
12151
12152         * sudo.pod:
12153         mention that when specifying a uid for the -u option the shell may
12154         require that the # be escaped
12155         [3e3a17bff150]
12156
12157 2007-08-02  Todd C. Miller  <Todd.Miller@courtesan.com>
12158
12159         * match.c:
12160         Fix off by one in group matching.
12161         [b529602b7fba]
12162
12163 2007-07-31  Todd C. Miller  <Todd.Miller@courtesan.com>
12164
12165         * env.c:
12166         Fix typo: PYTHONINSPEC should be PYTHONINSPECT. From David Krause.
12167         [ffbf8907c6e7]
12168
12169 2007-07-30  Todd C. Miller  <Todd.Miller@courtesan.com>
12170
12171         * configure, configure.in:
12172         Add missing define of HAVE_GSS_KRB5_CCACHE_NAME for the
12173         -lgssapi_krb5 case.
12174         [2b85a89c2252]
12175
12176         * aclocal.m4, configure, configure.in:
12177         Fix link tests such that new gcc doesn't optimize away the test.
12178         [83484ec95cba]
12179
12180 2007-07-29  Todd C. Miller  <Todd.Miller@courtesan.com>
12181
12182         * sudo.pod, sudoers.pod, visudo.pod:
12183         add missing over/back
12184         [251a12c89b91]
12185
12186         * sudo.pod, sudoers.pod, visudo.pod:
12187         Change FILES section to use =item
12188         [60b9efc3a0b2]
12189
12190         * env.c:
12191         Add back allocation of the env struct in rebuild_env but save a copy
12192         of the old pointer and free it before returning.
12193         [1100cd4fa997]
12194
12195         * env.c:
12196         Don't init the private environment in rebuild_env() since it may
12197         have already been done implicitly sudo_setenv/sudo_unsetenv.
12198
12199         Multiply length by sizeof(char *) in memcpy/memmove when copying the
12200         environment so we copy the full thing.
12201
12202         Add missing set of parens so we deref the right pointer in
12203         sudo_unsetenv when searching for a matching variable.
12204         [9086a8f756b1]
12205
12206 2007-07-26  Todd C. Miller  <Todd.Miller@courtesan.com>
12207
12208         * sudo.pod, sudoers.pod, visudo.pod:
12209         Use file markup for paths in the FILES section
12210         [940d99f731f2]
12211
12212         * sudo.pod, sudoers.pod, visudo.pod:
12213         Don't capitalize sudo/visudo
12214         [f067a455d44b]
12215
12216         * sudoers.pod:
12217         Sort sudoers options; based on a diff from Igor Sobrado.
12218         [a9b9befe85ac]
12219
12220 2007-07-25  Todd C. Miller  <Todd.Miller@courtesan.com>
12221
12222         * sudo.pod, sudoers.pod, visudo.pod:
12223         Use 8 and 5 instead of @mansectsu@ and @mansectform@ since the
12224         latter confuses pod2man. The Makefile rules for the .man.in file
12225         will add @mansectsu@ and @mansectform@ back in after pod2man is done
12226         anyway.
12227         [b50ea0db727c]
12228
12229 2007-07-22  Todd C. Miller  <Todd.Miller@courtesan.com>
12230
12231         * LICENSE, Makefile.in, license.pod:
12232         Move license info to pod format
12233         [25bdd82e592b]
12234
12235         * configure, configure.in, sudoers.pod:
12236         Substitute value of path_info into sudoers man page.
12237         [9ba661a82798]
12238
12239         * WHATSNEW:
12240         remove features that were back-ported to 1.6.9
12241         [e76d756cbe65]
12242
12243         * sudo.c, sudo.pod, visudo.c, visudo.pod:
12244         Sort SYNOPSIS and sync usage. From Igor Sobrado.
12245         [4970386c9e54]
12246
12247         * env.c:
12248         Only need sudo_setenv/sudo_unsetenv if we are going to use
12249         ldap_sasl_interactive_bind_s() but don't have
12250         gss_krb5_ccache_name().
12251         [f1a73d8b35c5]
12252
12253         * ChangeLog:
12254         rebuild without branch info
12255         [5d5a33494677]
12256
12257         * Makefile.in:
12258         Add ChangeLog target
12259         [a702034fdd89]
12260
12261         * auth/pam.c:
12262         Run cleanup code if the user hits ^C at the password prompt.
12263         [9cf87768e921]
12264
12265         * auth/pam.c:
12266         Some versions of pam_lastlog have a bug that will cause a crash if
12267         PAM_TTY is not set so if there is no tty, set PAM_TTY to the empty
12268         string.
12269         [5b63f6c88866]
12270
12271 2007-07-20  Todd C. Miller  <Todd.Miller@courtesan.com>
12272
12273         * Makefile.in:
12274         ChageLog not Changelog
12275         [1243d8473ceb]
12276
12277         * ChangeLog:
12278         sync
12279         [d887df98c6b0]
12280
12281         * Makefile.in:
12282         CHANGE -> Changelog
12283         [917738df30dd]
12284
12285         * TODO:
12286         sync
12287         [cd382f7d1948]
12288
12289 2007-07-19  Todd C. Miller  <Todd.Miller@courtesan.com>
12290
12291         * config.h.in, configure, configure.in, ldap.c:
12292         Add configure hooks for gss_krb5_ccache_name() and the gssapi
12293         headers.
12294         [139606209991]
12295
12296 2007-07-18  Todd C. Miller  <Todd.Miller@courtesan.com>
12297
12298         * env.c, sudo.c:
12299         rebuild_env() and insert_env_vars() no longer return environment
12300         pointer, they set environ directly.
12301
12302         No longer need to pass around an envp pointer since we just operate
12303         on environ now.
12304
12305         Add dosync argument to insert_env() that indicates whether it should
12306         reset environ when realloc()ing env.envp.
12307
12308         Use an initial size of 128 for the environment.
12309         [4735fd5fddb8]
12310
12311         * env.c:
12312         Split sudo_setenv() into an external version and a version only for
12313         use by rebuild_env().
12314         [fda7d655adb1]
12315
12316 2007-07-16  Todd C. Miller  <Todd.Miller@courtesan.com>
12317
12318         * ldap.c:
12319         Add support for using gss_krb5_ccache_name() instead of setting
12320         KRB5CCNAME. Also use sudo_unsetenv() in the non-
12321         gss_krb5_ccache_name() case if there was no KRB5CCNAME in the
12322         original environment. TODO: configure setup for
12323         gss_krb5_ccache_name()
12324         [fcafa5a49caf]
12325
12326         * README.LDAP:
12327         add krb5_ccname
12328         [fceb8f883886]
12329
12330         * README.LDAP, ldap.c:
12331         Add support for sasl_secprops in ldap.conf
12332         [1f06f4bf7347]
12333
12334         * env.c, sudo.h:
12335         Add sudo_unsetenv() and refactor private env syncing code into
12336         sync_env().
12337         [045ecb3fd22b]
12338
12339         * README.LDAP, ldap.c:
12340         The ldap.conf variable is sasl_auth_id not sasl_authid.
12341         [a5f98491311b]
12342
12343 2007-07-15  Todd C. Miller  <Todd.Miller@courtesan.com>
12344
12345         * ldap.c, sudo.c, sudo.h:
12346         Add support for krb5_ccname in ldap.conf. If specified, it will
12347         override the default value of KRB5CCNAME in the environment for the
12348         duration of the call to ldap_sasl_interactive_bind_s().
12349         [b08a10c3045b]
12350
12351         * env.c, sudo.h:
12352         Remove format_env() Add sudo_setenv() to replace most format_env() +
12353         insert_env() combinations. insert_env() no longer takes a struct
12354         environment *
12355         [131da52f43f3]
12356
12357         * ldap.c:
12358         Fix use_sasl vs. rootuse_sasl logic.
12359         [0c0417b6918c]
12360
12361         * README.LDAP, config.h.in, configure, configure.in, ldap.c:
12362         Add support for SASL auth when connecting to an LDAP server. Adapted
12363         from a diff by Tom McLaughlin.
12364         [a6285f1356ea]
12365
12366 2007-07-14  Todd C. Miller  <Todd.Miller@courtesan.com>
12367
12368         * configure, configure.in:
12369         Only enable AIX or BSD auth if no other exclusive auth method has
12370         been chosen. Allows people to e.g., use PAM on AIX without adding
12371         --without-aixauth. A better solution is needed to deal with default
12372         authentication since if a non-exclusive method is chosen we will
12373         still get an error.
12374         [83f7afdc0ec3]
12375
12376 2007-07-11  Todd C. Miller  <Todd.Miller@courtesan.com>
12377
12378         * HISTORY, Makefile.in, history.pod:
12379         Generate HISTORY from history.pod (which is also used for web pages)
12380         [60bcd5164931]
12381
12382 2007-07-09  Todd C. Miller  <Todd.Miller@courtesan.com>
12383
12384         * sudo.man.in, sudoers.man.in:
12385         regen
12386         [63956a366191]
12387
12388         * sudo.pod:
12389         Better explanation of environment handling in the sudo man page.
12390         [6c247742f7ee]
12391
12392         * env.c, sudo.c:
12393         Defer setting user-specified env vars until after authentication.
12394         [4750b79323ee]
12395
12396         * env.c:
12397         honor def_default_path for PATH set on the command line
12398         [6db31d9b6d65]
12399
12400         * env.c, sudo.c, sudo.pod, sudoers.pod:
12401         Allow user to set environment variables on the command line as long
12402         as they are allowed by env_keep and env_check. Ie: apply the same
12403         restrictions as normal environment variables. TODO: deal with
12404         secure_path
12405         [26c0da3840cf]
12406
12407 2007-07-08  Todd C. Miller  <Todd.Miller@courtesan.com>
12408
12409         * sudo.c, sudo_edit.c:
12410         Call rebuild_env() in call cases. Pass original envp to sudo_edit().
12411         Don't allow -E or env var setting in sudoedit mode. More accurate
12412         usage() when called as sudoedit.
12413         [a4af20658361]
12414
12415         * ldap.c:
12416         warn -> warning
12417         [d87d1192b048]
12418
12419         * sudo.pod:
12420         add -c option to sudoedit synopsis
12421         [15b596a7e2db]
12422
12423         * TODO:
12424         udpate to reality
12425         [e2f8fde89db1]
12426
12427         * parse.c:
12428         Use ALLOW/DENY instead of TRUE/FALSE when dealing with the return
12429         value from {user,host,runas,cmnd}_matches(). Rename *matches
12430         variables -> *match. Purely cosmetic.
12431         [e54a44c00a88]
12432
12433         * parse.c:
12434         Move setting of FLAG_NO_CHECK into the if(pwflag) block. No change
12435         in behavior.
12436         [c6272b4f2127]
12437
12438         * sudoers:
12439         add SETENV tag
12440         [3a3066bb6788]
12441
12442 2007-07-06  Todd C. Miller  <Todd.Miller@courtesan.com>
12443
12444         * parse.c:
12445         Make pwcheck local to the pwflag block. Use pwcheck even if user
12446         didn't match since Defaults options may still apply.
12447         [45da9efbbafd]
12448
12449         * check.c, sudo.c:
12450         Do not update timestamp if user not validated by sudoers.
12451         [a4a9d4364827]
12452
12453         * set_perms.c:
12454         for PERM_RUNAS, set the egid to the runas user's gid and restore to
12455         the user's original in PERM_ROOT
12456         [1514bfb32847]
12457
12458         * logging.c, mon_systrace.c, set_perms.c, sudo.h:
12459         PERM_FULL_ROOT is now no different than PERM_ROOT so remove
12460         PERM_FULL_ROOT
12461         [b9d047a3178c]
12462
12463         * check.c:
12464         don't check timestamp mtime if we are just going to remove it
12465         [5d2470bc6cbd]
12466
12467         * sudoers.pod:
12468         Move sudoers defaults parameters into their own section.
12469         [54701fbc0ff3]
12470
12471         * testsudoers.c:
12472         Reduce a level of indent by a few placed continue statements.
12473         [5d5a9838c8ef]
12474
12475         * parse.c:
12476         Make matching but negated commands/hosts/runas entries override a
12477         previous match as expected. Also reduce some levels of indent by a
12478         few placed continue statements.
12479         [dd59fa4b91a1]
12480
12481 2007-07-05  Todd C. Miller  <Todd.Miller@courtesan.com>
12482
12483         * parse.c:
12484         Print default runas in "sudo -l" if sudoers don't specify one.
12485         [07d408c400bd]
12486
12487         * match.c:
12488         Less hacky way of testing whether the domain was set.
12489         [a537059776e5]
12490
12491 2007-07-04  Todd C. Miller  <Todd.Miller@courtesan.com>
12492
12493         * INSTALL:
12494         Mention pam-devel and openldap-devel for Linux
12495         [9e708c54ecc3]
12496
12497 2007-07-03  Todd C. Miller  <Todd.Miller@courtesan.com>
12498
12499         * README.LDAP:
12500         or vs. are
12501         [abe8c0f3a410]
12502
12503 2007-07-01  Todd C. Miller  <Todd.Miller@courtesan.com>
12504
12505         * sudo.c:
12506         fix typo in Solaris project support
12507         [2ffeb2d80959]
12508
12509         * HISTORY:
12510         update
12511         [df162b36f120]
12512
12513         * sudo.c:
12514         Make -- on the command line match the manual page. The implied shell
12515         case has been simplified as a result.
12516         [cd217a1f6694]
12517
12518 2007-06-28  Todd C. Miller  <Todd.Miller@courtesan.com>
12519
12520         * sudoers2ldif:
12521         add simplistic support for sudoRunas; note that if a sudoers entry
12522         contains multiple Runas users, all will apply to the sudoRole
12523         [65b11421f5c8]
12524
12525         * sudoers2ldif:
12526         honor SETENV and NOSETENV tags
12527         [2c0d5ba7a09b]
12528
12529 2007-06-24  Todd C. Miller  <Todd.Miller@courtesan.com>
12530
12531         * mon_systrace.c:
12532         Redo setting of user_args. We now build up a private copy of argv
12533         first and then replace the NULs?with spaces.
12534         [ccbba72ea112]
12535
12536         * mon_systrace.c:
12537         getcwd() returns NULL on failure, not 0 on success
12538         [88cd9e66e530]
12539
12540         * mon_systrace.c:
12541         allow chunksiz to reach 1 before erroring out
12542         [619d68f14964]
12543
12544         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in, visudo.cat,
12545         visudo.man.in:
12546         regen
12547         [8db512d3caf0]
12548
12549 2007-06-23  Todd C. Miller  <Todd.Miller@courtesan.com>
12550
12551         * def_data.c, def_data.h, def_data.in, env.c, gram.c, gram.h, gram.y,
12552         logging.c, parse.c, parse.h, sudo.c, sudo.h, sudo.pod, sudoers.pod,
12553         toke.c, toke.l:
12554         Add support for setting environment variables on the command line.
12555         This is only allowed if the setenv sudoers options is enabled or if
12556         the command is prefixed with the SETENV tag.
12557         [5744caebd969]
12558
12559         * README.LDAP:
12560         replace Aaron's email address with the sudo-workers list
12561         [2ffce5f9afc0]
12562
12563         * configure:
12564         regen
12565         [8013dff82c0c]
12566
12567 2007-06-22  Todd C. Miller  <Todd.Miller@courtesan.com>
12568
12569         * schema.OpenLDAP, schema.iPlanet:
12570         Break schema out into separate files.
12571         [15e598e4c60b]
12572
12573         * Makefile.in, README.LDAP:
12574         Break schema out into separate files.
12575         [1a53966ca1fa]
12576
12577 2007-06-21  Todd C. Miller  <Todd.Miller@courtesan.com>
12578
12579         * auth/aix_auth.c:
12580         free message if set by authenticate()
12581         [849c220c1236]
12582
12583         * match.c:
12584         deal with NULL gr_mem
12585         [49e4d74f0bbe]
12586
12587 2007-06-20  Todd C. Miller  <Todd.Miller@courtesan.com>
12588
12589         * config.h.in:
12590         regen
12591         [fead999ad3e9]
12592
12593         * configure.in:
12594         add template for HAVE_PROJECT_H
12595         [e6c42c2eaad1]
12596
12597         * closefrom.c:
12598         include fcntl.h
12599         [54d98b382f03]
12600
12601 2007-06-19  Todd C. Miller  <Todd.Miller@courtesan.com>
12602
12603         * INSTALL:
12604         mention --with-project
12605         [d3ea3baad7c5]
12606
12607         * config.h.in, configure.in, sudo.c:
12608         Add Solaris 10 "project" support. From Michael Brantley.
12609         [f14f3c8c6554]
12610
12611         * sudoers.pod:
12612         fix typo
12613         [50db81a19787]
12614
12615         * configure:
12616         regen
12617         [ea71afd3e564]
12618
12619         * configure.in:
12620         Fix preservation of LDFLAGS in the LDAP case.
12621         [40a3a47e8059]
12622
12623         * memrchr.c:
12624         Remove dependecy on NULL
12625         [c957ae5e1733]
12626
12627         * configure:
12628         regen
12629         [4955ce0c6912]
12630
12631         * aclocal.m4, configure.in:
12632         Can't use the regular autoconf fnmatch() check since we need
12633         FNM_CASEFOLD so go back to our custom one.
12634         [f10d76237486]
12635
12636         * env.c:
12637         Fix preserving of variables in env_keep.
12638         [d040049d6b84]
12639
12640         * env.c:
12641         add XAUTHORIZATION
12642         [0d589a5fe015]
12643
12644         * UPGRADE:
12645         expand upon env resetting and mention that it began in 1.6.9 not
12646         1.7.
12647         [dba251655c76]
12648
12649         * sudoers.pod:
12650         Update descriptions of env_keep and env_check to match current
12651         reality.
12652         [dba77357954b]
12653
12654 2007-06-18  Todd C. Miller  <Todd.Miller@courtesan.com>
12655
12656         * env.c:
12657         Add LINGUAS to initial_checkenv_table. Add COLORS, HOSTNAME,
12658         LS_COLORS, MAIL, PS1, PS2, XAUTHORITY to intial_keepenv_table.
12659         [eec4632bd190]
12660
12661         * env.c, logging.c:
12662         Treat USERNAME environemnt variable like LOGNAME/USER
12663         [09f52dcfd70c]
12664
12665         * env.c:
12666         Don't need to populate keepenv table with the contents of the
12667         checkenv table.
12668         [527a14afd973]
12669
12670         * sudo.c:
12671         Don't force sudo into the C locale.
12672         [8a5bd301ef96]
12673
12674         * env.c:
12675         Make env_check apply when env_reset it true. Environment variables
12676         are passed through unless they contain '/' or '%'. There is no need
12677         to have a variable in both env_check and env_keep.
12678         [840c802721e4]
12679
12680 2007-06-16  Todd C. Miller  <Todd.Miller@courtesan.com>
12681
12682         * visudo.c:
12683         Remove an duplicate lock_file() call and add a comment.
12684         [5af9dcdf0eb6]
12685
12686         * UPGRADE:
12687         Add sudo 1.6.9 upgrade note.
12688         [1585149f2914]
12689
12690 2007-06-14  Todd C. Miller  <Todd.Miller@courtesan.com>
12691
12692         * interfaces.c:
12693         Solaris will return EINVAL if the buffer used in SIOCGIFCONF is too
12694         small. From Klaus Wagner.
12695         [d6899fc44f77]
12696
12697         * logging.c, sudo.h:
12698         Redo the long syslog line splitting based on a patch from Eygene
12699         Ryabinkin. Include memrchr() for systems without it.
12700         [66a50e8d553a]
12701
12702         * memrchr.c:
12703         Redo the long syslog line splitting based on a patch from Eygene
12704         Ryabinkin. Include memrchr() for systems without it.
12705         [2f6702b7d41b]
12706
12707         * Makefile.in, config.h.in, configure, configure.in:
12708         Redo the long syslog line splitting based on a patch from Eygene
12709         Ryabinkin. Include memrchr() for systems without it.
12710         [407a46190921]
12711
12712         * configure.in:
12713         Since we need to be able to convert timespec to timeval for utimes()
12714         the last 3 digits in the tv_nsec are not significant. This makes the
12715         sudoedit file date comparison work again.
12716         [9d0258849fa9]
12717
12718 2007-06-13  Todd C. Miller  <Todd.Miller@courtesan.com>
12719
12720         * aclocal.m4, configure, configure.in:
12721         Add SUDO_ADD_AUTH macro to deal with adding things to AUTH_OBJS.
12722         This deals with exclusive authentication methods in a simple way.
12723         [7d70072c0f35]
12724
12725 2007-06-12  Todd C. Miller  <Todd.Miller@courtesan.com>
12726
12727         * LICENSE:
12728         mkstemp.c is BSD code too.
12729         [29e236d98162]
12730
12731         * sudo.pod, sudoers.pod, visudo.pod:
12732         No commercial support for now.
12733         [7c76b3e192dd]
12734
12735 2007-06-11  Todd C. Miller  <Todd.Miller@courtesan.com>
12736
12737         * sudo.c:
12738         cleanenv() is no more.
12739         [518080514408]
12740
12741 2007-06-10  Todd C. Miller  <Todd.Miller@courtesan.com>
12742
12743         * ChangeLog:
12744         Display branch info in Changelog
12745         [44e3b27427c7]
12746
12747         * utimes.c:
12748         Include config.h early so we have it for TIME_WITH_SYS_TIME
12749         [4bf1a00d0703]
12750
12751         * ChangeLog:
12752         Fix Changelog generation and update.
12753         [6e960dbcbece]
12754
12755 2007-06-09  Todd C. Miller  <Todd.Miller@courtesan.com>
12756
12757         * closefrom.c:
12758         Use /proc/self/fd instead of /proc/$$/fd
12759
12760         Move old-style fd closing into closefrom_fallback() and call that if
12761         /proc/self/fd doesn't exist or the F_CLOSEM fcntl() fails
12762         [faa7e4810758]
12763
12764         * auth/kerb5.c, config.h.in, configure.in:
12765         o use krb5_verify_user() if available instead of doing it by hand o
12766         use krb5_init_secure_context() if we have it o pass an encryption
12767         type of 0 to krb5_kt_read_service_key() instead of
12768         ENCTYPE_DES_CBC_MD5 to let kerberos choose.
12769         [df7acf72bd7c]
12770
12771         * env.c:
12772         Check TERM and COLORTERM for '%' and '/' characters. From Debian.
12773         [f92d05197e40]
12774
12775         * configure.in:
12776         Fix closefrom() substitution in the Makefile
12777         [b642b13fcc5c]
12778
12779         * TROUBLESHOOTING:
12780         Mention alternate sudo pronunciation.
12781         [7c71dc73409f]
12782
12783 2007-06-07  Todd C. Miller  <Todd.Miller@courtesan.com>
12784
12785         * env.c:
12786         Remove KRB5_KTNAME from environment. Allow COLORTERM.
12787         [70f35a79f780]
12788
12789         * auth/kerb5.c:
12790         If we cannot get a valid service key using the default keytab it is
12791         a fatal error. Fixes a bug where sudo could be tricked into
12792         allowing access when it should not by a fake KDC. From Thor Lancelot
12793         Simon.
12794         [a3ae6a47cb23]
12795
12796 2007-05-12  Todd C. Miller  <Todd.Miller@courtesan.com>
12797
12798         * aclocal.m4, configure, configure.in:
12799         Update long long checks to use AC_CHECK_TYPES and to cache values.
12800         [047318eaaeb2]
12801
12802         * aclocal.m4, configure.in:
12803         Use AC_FUNC_FNMATCH instead of a homebrew fnmatch checker. We can't
12804         use AC_REPLACE_FNMATCH since that assumes replacing with GNU
12805         fnmatch.
12806         [80513a1003ea]
12807
12808 2007-05-11  Todd C. Miller  <Todd.Miller@courtesan.com>
12809
12810         * configure, configure.in:
12811         Add closefrom() to LIB_OBJS not SUDO_OBJS if it is missing since we
12812         need it for visudo now too.
12813         [50837c7c2b5e]
12814
12815 2007-04-24  Todd C. Miller  <Todd.Miller@courtesan.com>
12816
12817         * sudoers.pod:
12818         Attempt to clarify the bit talking about network numbers w/o
12819         netmasks.
12820         [211e68c1d034]
12821
12822         * sudo.pod:
12823         Clarify timestamp dir ownership sentence.
12824         [9178f132c7f7]
12825
12826 2007-04-20  Todd C. Miller  <Todd.Miller@courtesan.com>
12827
12828         * auth/pam.c:
12829         Linux PAM now defines __LINUX_PAM__, not __LIBPAM_VERSION. From
12830         Dmitry V. Levin.
12831         [81fce91667bc]
12832
12833 2007-04-16  Todd C. Miller  <Todd.Miller@courtesan.com>
12834
12835         * sudo.c:
12836         -i is also one of the mutually exclusive options to list it in the
12837         warning message. Noted by Chris Pepper.
12838         [7da73fb248e9]
12839
12840 2007-04-12  Todd C. Miller  <Todd.Miller@courtesan.com>
12841
12842         * visudo.pod:
12843         The sudoers variable is env_editor, not enveditor. From Jean-
12844         Francois Saucier.
12845         [2a86ec09a6db]
12846
12847 2007-03-29  Todd C. Miller  <Todd.Miller@courtesan.com>
12848
12849         * redblack.c:
12850         I tracked down the original author so credit him and include his
12851         license info.
12852         [3733553a1bba]
12853
12854 2007-02-06  Todd C. Miller  <Todd.Miller@courtesan.com>
12855
12856         * sudo.cat, sudo.man.in, sudo.pod, sudoers.cat, sudoers.man.in,
12857         sudoers.pod:
12858         Fix typos; from Jason McIntyre.
12859         [1ee4ce2512f2]
12860
12861         * logging.c:
12862         Restore signal mask before calling reapchild(). Fixes a possible
12863         race condition that could prevent sudo from properly waiting for the
12864         child.
12865         [9ee4192385dc]
12866
12867 2007-01-31  Todd C. Miller  <Todd.Miller@courtesan.com>
12868
12869         * pwutil.c:
12870         Don't declare pw_free() if we are not going to use it.
12871         [adb79a4289ca]
12872
12873         * env.c:
12874         Add NOEXEC support for AIX 5.3 which supports LDR_PRELOAD and
12875         LDR_PRELOAD64. The 64-bit version is not currently supported.
12876         Remove zero_env() prototype as it no longer exists.
12877         [b4fe65027fb6]
12878
12879 2006-12-11  Todd C. Miller  <Todd.Miller@courtesan.com>
12880
12881         * logging.c:
12882         Add "Auto-Submitted: auto-generated" line to sudo mail for rfc 3834.
12883         [78002ad90f7b]
12884
12885 2006-09-29  Todd C. Miller  <Todd.Miller@courtesan.com>
12886
12887         * auth/pam.c:
12888         If the user enters ^C at the password prompt, abort instead of
12889         trying to authenticate with an empty password (which causes an
12890         annoying delay).
12891         [da3f27b747c7]
12892
12893 2006-08-17  Todd C. Miller  <Todd.Miller@courtesan.com>
12894
12895         * closefrom.c, config.h.in, configure, configure.in:
12896         Add fcntl F_CLOSEM support to closefrom(); adapted from a diff by
12897         Darren Tucker.
12898         [0331b7780759]
12899
12900         * pwutil.c:
12901         pw_free() is only used by sudo_freepwcache() so ifdef it out too.
12902         [0014c0d9eeba]
12903
12904 2006-08-04  Todd C. Miller  <Todd.Miller@courtesan.com>
12905
12906         * config.guess, config.sub:
12907         Update to latest versions from cvs.savannah.gnu.org
12908         [aa0143101c20]
12909
12910 2006-07-31  Todd C. Miller  <Todd.Miller@courtesan.com>
12911
12912         * pwutil.c, sudo_edit.c:
12913         Move password/group cache cleaning out of sudo_end{pw,grp}ent() so
12914         we can close the passwd/group files early.
12915         [559074bd7eb7]
12916
12917         * config.h.in, configure, configure.in, set_perms.c:
12918         Add seteuid() flavor of set_perms() for systems without setreuid()
12919         or setresuid() that have a working seteuid(). Tested on Darwin.
12920         [508d8da99189]
12921
12922 2006-07-30  Todd C. Miller  <Todd.Miller@courtesan.com>
12923
12924         * mon_systrace.c:
12925         systrace_read() returns ssize_t
12926         [9f97d1d1a59d]
12927
12928         * configure, configure.in:
12929         Fix typo, -lldap vs. -ldap; from Tim Knox.
12930         [a8cc43c3bb2a]
12931
12932 2006-07-28  Todd C. Miller  <Todd.Miller@courtesan.com>
12933
12934         * HISTORY:
12935         Fix typo; Matt Ackeret
12936         [86964ee3dfbd]
12937
12938 2006-07-17  Todd C. Miller  <Todd.Miller@courtesan.com>
12939
12940         * sudo.c:
12941         Print sudoers path in -V mode for root.
12942         [dc43f2d75bd9]
12943
12944 2006-06-15  Todd C. Miller  <Todd.Miller@courtesan.com>
12945
12946         * ldap.c:
12947         Do a sub tree search instead of a base search (one level in the tree
12948         only) for sudo right objects. This allows system administrators to
12949         categorize the rights in a tree to make them easier to manage.
12950         [6d2d9abf996e]
12951
12952 2005-12-28  Todd C. Miller  <Todd.Miller@courtesan.com>
12953
12954         * sudo.pod:
12955         fix typo
12956         [1473413bcbda]
12957
12958 2005-12-04  Todd C. Miller  <Todd.Miller@courtesan.com>
12959
12960         * ldap.c:
12961         Convert GET_OPT and GET_OPTI to use just 2 args. Add timelimit and
12962         bind_timelimit support; adapted from gentoo.
12963         [afc816093026]
12964
12965 2005-11-23  Todd C. Miller  <Todd.Miller@courtesan.com>
12966
12967         * ldap.c:
12968         Support comments that start in the middle of a line
12969         [c25df6ee3db8]
12970
12971         * configure, configure.in:
12972         Define LDAP_DEPRECATED until we start using ldap_get_values_len()
12973         [ee249bfe230a]
12974
12975 2005-11-18  Todd C. Miller  <Todd.Miller@courtesan.com>
12976
12977         * closefrom.c:
12978         Silence gcc -Wsign-compare; djm@openbsd.org
12979         [28769ce6418d]
12980
12981         * error.c, sudo.c, sudo.h, testsudoers.c, visudo.c:
12982         cleanup() now takes an int as an arg so it can be used as a signal
12983         handler too.
12984         [2bb0df34d09c]
12985
12986         * sudo.c:
12987         Make a copy of the shell field in the passwd struct for NewArgv to
12988         avoid a use after free situation after sudo_endpwent() is called.
12989         [5dcc9ffd362e]
12990
12991 2005-11-17  Todd C. Miller  <Todd.Miller@courtesan.com>
12992
12993         * config.h.in, configure, configure.in:
12994         Add mkstemp() for those poor souls without it.
12995         [5fdd02e863e0]
12996
12997         * mkstemp.c:
12998         Add mkstemp() for those poor souls without it.
12999         [c99401207860]
13000
13001         * Makefile.in:
13002         Add mkstemp() for those poor souls without it.
13003         [9c1cf2678f24]
13004
13005 2005-11-15  Todd C. Miller  <Todd.Miller@courtesan.com>
13006
13007         * env.c:
13008         Add PERL5DB to list of environment variables to remove.
13009         [7375c27ecf75]
13010
13011 2005-11-13  Todd C. Miller  <Todd.Miller@courtesan.com>
13012
13013         * mon_systrace.c, mon_systrace.h:
13014         Instead of calling the check function twice with a state cookie use
13015         separate check/log functions.
13016
13017         Check more ioctl() calls for failure.
13018
13019         systrace_{read,write} now return the number of bytes read/written or
13020         -1 on error.
13021         [3dc8946d90e9]
13022
13023         * env.c:
13024         Add more environment variables to remove; from gentoo linux Add some
13025         comments about what bad env variables go to what (more to do)
13026         [6918110a6b82]
13027
13028 2005-11-11  Todd C. Miller  <Todd.Miller@courtesan.com>
13029
13030         * sudo.c, sudo_edit.c:
13031         Move sudo_end{gr,pw}ent() until just before the exec since they free
13032         up our cached copy of the passwd structs, including sudo_user and
13033         sudo_runas. Fixes a use-after-free bug.
13034         [54de3778bad0]
13035
13036         * visudo.c:
13037         Close all fd's before executing editor.
13038         [4fcc05e1bec8]
13039
13040         * sudo.c:
13041         Enable malloc debugging on OpenBSD when SUDO_DEVEL is set.
13042         [ef0e8ffa5c9f]
13043
13044         * check.c:
13045         Fix fd leak when lecture file option is enabled. From Jerry Brown
13046         [ce97f9207cd8]
13047
13048 2005-11-07  Todd C. Miller  <Todd.Miller@courtesan.com>
13049
13050         * env.c:
13051         Add PERLLIB, PERL5LIB and PERL5OPT to the default list of
13052         environment variables to remove. From Charles Morris
13053         [c96e1367d1c1]
13054
13055 2005-11-01  Todd C. Miller  <Todd.Miller@courtesan.com>
13056
13057         * env.c:
13058         add JAVA_TOOL_OPTIONS to initial_badenv_table for java 5
13059         [72a6a1571226]
13060
13061 2005-10-28  Todd C. Miller  <Todd.Miller@courtesan.com>
13062
13063         * env.c:
13064         add PS4 and SHELLOPTS to initial_badenv_table for bash
13065         [89dfb3f318f3]
13066
13067 2005-08-15  Todd C. Miller  <Todd.Miller@courtesan.com>
13068
13069         * sudoers.pod:
13070         Fix typo; Toby Peterson
13071         [b7a3222b23f4]
13072
13073 2005-08-02  Todd C. Miller  <Todd.Miller@courtesan.com>
13074
13075         * tsgetgrpw.c:
13076         Make return buffers static so they don't get clobbered
13077         [13323a39b9f5]
13078
13079 2005-07-28  Todd C. Miller  <Todd.Miller@courtesan.com>
13080
13081         * auth/securid5.c:
13082         Fix securid5 authentication, was not checking for ACM_OK. Also add
13083         default cases for the two switch()es. Problem noted by ccon at
13084         worldbank
13085         [14091e418333]
13086
13087 2005-06-27  Todd C. Miller  <Todd.Miller@courtesan.com>
13088
13089         * ldap.c:
13090         Remove ncat() in favor of just counting bytes and pre-allocating
13091         what is needed.
13092         [25b8712adb61]
13093
13094 2005-06-26  Todd C. Miller  <Todd.Miller@courtesan.com>
13095
13096         * ldap.c:
13097         Fix up some comments Add missing fclose() for the rootbinddn case
13098         [ae95c8a89711]
13099
13100         * ldap.c:
13101         align struct ldap_config
13102         [35d0d64c76f8]
13103
13104         * ldap.c:
13105         use LINE_MAX for max conf file line size
13106         [da116cb8853d]
13107
13108         * pathnames.h.in:
13109         add _PATH_LDAP_SECRET
13110         [128b04ecfab7]
13111
13112         * README.LDAP:
13113         Mention rootbinddn Give example ou=SUDOers container
13114         [852edc69bd1c]
13115
13116 2005-06-25  Todd C. Miller  <Todd.Miller@courtesan.com>
13117
13118         * INSTALL, configure, configure.in, ldap.c:
13119         Support rootbinddn in ldap.conf
13120         [1615c91522a1]
13121
13122         * env.c, sudo.pod, sudoers.pod:
13123         Preserve DISPLAY environment variable by default.
13124         [05f503d5f438]
13125
13126         * acsite.m4, configure:
13127         set need_lib_prefix=no for all cases; this is safe for LD_PRELOAD
13128         [18a04dea8d05]
13129
13130         * acsite.m4, configure:
13131         set need_version=no for all cases; this is safe for LD_PRELOAD
13132         [b542560e1a73]
13133
13134         * aclocal.m4:
13135         typo
13136         [c040df0fcd5a]
13137
13138         * configure, configure.in:
13139         Add dragonfly
13140         [f13794618636]
13141
13142         * auth/pam.c:
13143         Fix call to pam_end() when pam_open_session() fails.
13144         [0be47cdfdef1]
13145
13146         * configure:
13147         regen
13148         [7f5c13b4b800]
13149
13150         * acsite.m4:
13151         rebuild acsite.m4 from libtool 1.9f libtool.m4 ltoptions.m4
13152         ltsugar.m4 ltversion.m4
13153         [a7ba9fd1a2ab]
13154
13155         * config.guess, config.sub, ltmain.sh:
13156         merge in local changes: config.guess: o better openbsd support
13157         config.sub: o hiuxmpp support ltmain.sh o remove requirement that
13158         libs must begin with "lib" o don't print a bunch of crap about
13159         library installs o don't run ldconfig
13160         [f4149f2c720f]
13161
13162         * config.guess, config.sub, ltmain.sh:
13163         libtool 1.9f
13164         [82a534e7121f]
13165
13166         * configure.in:
13167         Update with autoupdate and make minor changes for libtool 1.9f
13168         [11b5ae5c1428]
13169
13170 2005-06-23  Todd C. Miller  <Todd.Miller@courtesan.com>
13171
13172         * parse.c:
13173         don't call sudo_ldap_display_cmnd if ldap not setup
13174         [8bcf6c094ffe]
13175
13176         * sudo_edit.c, visudo.c:
13177         Move declatation of struct timespec to its own include files for
13178         systems without it since it needs time_t defined.
13179         [b95c333299a0]
13180
13181         * gettime.c:
13182         Move declatation of struct timespec to its own include files for
13183         systems without it since it needs time_t defined.
13184         [021b4569cc0c]
13185
13186         * fileops.c:
13187         Move declatation of struct timespec to its own include files for
13188         systems without it since it needs time_t defined.
13189         [dd8573b2ee7d]
13190
13191         * emul/timespec.h:
13192         Move declatation of struct timespec to its own include files for
13193         systems without it since it needs time_t defined.
13194         [f95137771564]
13195
13196         * check.c, compat.h:
13197         Move declatation of struct timespec to its own include files for
13198         systems without it since it needs time_t defined.
13199         [2ef2ace8fe85]
13200
13201         * ldap.c:
13202         Don't set safe_cmnd for the "sudo ALL" case.
13203         [ad7fa9e07da0]
13204
13205 2005-05-27  Todd C. Miller  <Todd.Miller@courtesan.com>
13206
13207         * auth/pam.c:
13208         Call pam_open_session() and pam_close_session() to give pam_limits a
13209         chance to run. Idea from Karel Zak.
13210         [fed46d471350]
13211
13212 2005-04-24  Todd C. Miller  <Todd.Miller@courtesan.com>
13213
13214         * check.c, sudo.c:
13215         Add explicit cast from mode_t -> u_int in printf to silence warnings
13216         on Solaris
13217         [17bb961fe22d]
13218
13219         * parse.c:
13220         include grp.h to silence a warning on Solaris
13221         [14386fbab640]
13222
13223 2005-04-23  Todd C. Miller  <Todd.Miller@courtesan.com>
13224
13225         * parse.c:
13226         Fix printing of += and -= defaults.
13227         [a667604c56cd]
13228
13229 2005-04-17  Todd C. Miller  <Todd.Miller@courtesan.com>
13230
13231         * mon_systrace.c:
13232         Sanity check number of syscall args with argsize. Not really needed
13233         but a little paranoia never hurts.
13234         [6bb455a2c2d6]
13235
13236         * mon_systrace.c, mon_systrace.h:
13237         Don't do pointer arithmetic on void * Use int, not size_t/ssize_t
13238         for systrace lengths (since it uses int)
13239         [3cafccffcffd]
13240
13241 2005-04-16  Todd C. Miller  <Todd.Miller@courtesan.com>
13242
13243         * mon_systrace.c:
13244         Add some memsets for paranoia Fix namespace collsion w/ error Check
13245         rval of decode_args() and update_env() Remove improper setting of
13246         validated variable
13247         [3d385158354d]
13248
13249 2005-04-12  Todd C. Miller  <Todd.Miller@courtesan.com>
13250
13251         * parse.c, sudo.c, sudo.h:
13252         In -l mode, only check local sudoers file if def_ignore_sudoers is
13253         not set and call LDAP versions from display_privs() and
13254         display_cmnd() instead of directly from main(). Because of this we
13255         need to defer closing the ldap connection until after -l processing
13256         has ocurred and we must pass in the ldap pointer to display_privs()
13257         and display_cmnd().
13258         [1dfc2e8c9f2b]
13259
13260         * ldap.c:
13261         Reorganize LDAP code to better match normal sudoers parsing.
13262         Instead of storing strings for later printing in -l mode we do
13263         another query since the authenticating user and the user being
13264         listed may not be the same (the new -U flag). Also add support for
13265         "sudo -l command".
13266
13267         There is still a fair bit if duplicated code that can probably be
13268         refactored.
13269         [e9568f19bde5]
13270
13271 2005-04-11  Todd C. Miller  <Todd.Miller@courtesan.com>
13272
13273         * ldap.c:
13274         Replace pass variable with do_netgr for better readability.
13275         [1bba841b6e79]
13276
13277         * ldap.c:
13278         use DPRINTF macro
13279         [02b159b66bb5]
13280
13281         * ldap.c:
13282         estrdup, not strdup
13283         [22cdee7973c1]
13284
13285 2005-04-10  Todd C. Miller  <Todd.Miller@courtesan.com>
13286
13287         * parse.c:
13288         Add macro to test if the tag changed to improve readability.
13289         [4e11b4819556]
13290
13291         * parse.c:
13292         Avoid printing defaults header if there are no defaults to print...
13293         [41a28627df03]
13294
13295         * glob.c:
13296         Fix a warning on systems without strlcpy().
13297         [6814e0f0e4f4]
13298
13299         * pwutil.c:
13300         Use macros where possible for sudo_grdup() like sudo_pwdup().
13301         [30f201ff35cd]
13302
13303 2005-04-08  Todd C. Miller  <Todd.Miller@courtesan.com>
13304
13305         * utimes.c:
13306         It is possible for tv_usec to hold >= 1000000 usecs so add in
13307         tv_usec / 1000000.
13308         [794ac4d53a65]
13309
13310 2005-03-30  Todd C. Miller  <Todd.Miller@courtesan.com>
13311
13312         * auth/kerb5.c:
13313         The component in krb5_principal_get_comp_string() should be 1, not 0
13314         for Heimdal. From Alex Plotnick.
13315         [fefa351c5044]
13316
13317 2005-03-29  Todd C. Miller  <Todd.Miller@courtesan.com>
13318
13319         * alias.c, alloc.c, check.c, defaults.c, find_path.c, gram.c, gram.y,
13320         interfaces.c, ldap.c, logging.c, match.c, mon_systrace.c, pwutil.c,
13321         redblack.c, sudo.c, sudo.h, toke.c, toke.l, visudo.c:
13322         Add efree() for consistency with emalloc() et al. Allows us to rely
13323         on C89 behavior (free(NULL) is valid) even on K&R.
13324         [7876bb80d87c]
13325
13326         * parse.c, sudo.c:
13327         Move initgroups() for -U option into display_privs() so group
13328         matching in sudoers works correctly.
13329         [b074428ad2ca]
13330
13331 2005-03-27  Todd C. Miller  <Todd.Miller@courtesan.com>
13332
13333         * ldap.c:
13334         Removed duplicate call to ldap_unbind_s introduced along with
13335         sudo_ldap_close.
13336         [19acc1c20f7c]
13337
13338         * parse.c:
13339         Add missing space in Defaults printing
13340         [95d2935bf6d4]
13341
13342 2005-03-25  Todd C. Miller  <Todd.Miller@courtesan.com>
13343
13344         * pwutil.c:
13345         Sync sudo_pwdup with OpenBSD changes: use macros for size computaton
13346         and string copies.
13347         [6b6b241495e5]
13348
13349 2005-03-19  Todd C. Miller  <Todd.Miller@courtesan.com>
13350
13351         * pwutil.c:
13352         Zero old pw_passwd before replacing with version from shadow file.
13353         [3251b349dfe1]
13354
13355         * configure, configure.in:
13356         Only attempt shadow password detection if PAM is not being used Add
13357         shadow_* variables to make shadow password detection more generic.
13358         [d498a3423ac9]
13359
13360         * configure.in:
13361         Use OSDEFS for os-specific -D_FOO_BAR stuff rather than CPPFLAGS
13362         [04d55bbd5e35]
13363
13364 2005-03-13  Todd C. Miller  <Todd.Miller@courtesan.com>
13365
13366         * sudoers.pod:
13367         use a non-breaking space to avoid a double space after e.g.
13368         [11cdb54bdf7b]
13369
13370         * sudo.pod:
13371         commna, not colon after e.g.
13372         [8d5875ff72e0]
13373
13374 2005-03-12  Todd C. Miller  <Todd.Miller@courtesan.com>
13375
13376         * sudo_noexec.c:
13377         Add __ variants of the exec functions. GNU libc at least uses
13378         __execve() internally.
13379         [d1880473d790]
13380
13381         * indent.pro:
13382         Match reality a bit more.
13383         [633e3fa875a7]
13384
13385         * pwutil.c:
13386         Missed piece from rev. 1.6, fix sudo_getpwnam() too.
13387         [128f7b21c2ee]
13388
13389         * pwutil.c:
13390         Store shadow password after making a local copy of struct passwd in
13391         case normal and shadow routines use the same internal buffer in
13392         libc.
13393         [f806052a6ffc]
13394
13395 2005-03-11  Todd C. Miller  <Todd.Miller@courtesan.com>
13396
13397         * alloc.c, logging.c:
13398         Make varargs usage consistent with the rest of the code.
13399         [3d45affc9851]
13400
13401 2005-03-10  Todd C. Miller  <Todd.Miller@courtesan.com>
13402
13403         * sudo_noexec.c:
13404         Wrap more of the exec family since on Linux the others do not appear
13405         to go through the normal execve() path.
13406         [8167769b4e19]
13407
13408         * visudo.c:
13409         make print_unused static like proto says
13410         [ecf10e1bae55]
13411
13412         * glob.c:
13413         silence a warning on K&R systems
13414         [2e00425f1a5c]
13415
13416         * alias.c, error.c:
13417         make this build in K&R land
13418         [156f65f8525a]
13419
13420         * parse.c:
13421         make this build in K&R land
13422         [6fc9276889cb]
13423
13424 2005-03-08  Todd C. Miller  <Todd.Miller@courtesan.com>
13425
13426         * toke.c:
13427         regen
13428         [3b349748cd21]
13429
13430 2005-03-06  Todd C. Miller  <Todd.Miller@courtesan.com>
13431
13432         * ldap.c:
13433         return(foo) not return foo optimize _atobool() slightly
13434         [11d09d154ed5]
13435
13436         * ldap.c:
13437         Use TRUE/FALSE
13438         [53999320d98f]
13439
13440         * ldap.c:
13441         Reformat to match the rest of sudo's code.
13442         [1bd0f2afa0e7]
13443
13444         * sudo.pod:
13445         I am the primary author
13446         [5d311ecd85c6]
13447
13448 2005-02-23  Todd C. Miller  <Todd.Miller@courtesan.com>
13449
13450         * Makefile.in, README, RUNSON:
13451         The RUNSON file is toast--it confused too many people and really
13452         isn't needed in a configure-oriented world.
13453         [96a6ef7bbc08]
13454
13455         * INSTALL:
13456         alternate -> alternative
13457         [b65015c5d0a2]
13458
13459         * tgetpass.c:
13460         Use TCSADRAIN instead of TCSAFLUSH since some OSes have issues with
13461         TCSAFLUSH.
13462         [c66b4763ffdc]
13463
13464         * toke.l:
13465         Allow leading blanks before Defaults and Foo_Alias definitions
13466         [2add513d9277]
13467
13468         * Makefile.in:
13469         fix rules to build toke.o and gram.o in devel mode
13470         [96cbb414ebd3]
13471
13472 2005-02-20  Todd C. Miller  <Todd.Miller@courtesan.com>
13473
13474         * sudoers.pod:
13475         env_keep overrides set_logname
13476         [401877193a15]
13477
13478         * env.c:
13479         Fix disabling set_logname and make env_keep override set_logname.
13480         [0906e7a5ed93]
13481
13482         * compat.h, config.h.in, configure, configure.in:
13483         No longer need memmove()
13484         [43bdb6efe3f2]
13485
13486         * env.c, sudo.c:
13487         Just clean the environment once. This assumes that any further
13488         setenv/putenv will be able to handle the fact that we replaced
13489         environ with our own malloc'd copy but all the implementations I've
13490         checked do.
13491         [11658fe92ba2]
13492
13493 2005-02-16  Todd C. Miller  <Todd.Miller@courtesan.com>
13494
13495         * env.c, sudo.c:
13496         In -i mode, base the value of insert_env()'s dupcheck flag on
13497         DID_FOO flags. Move checks for $HOME resetting into rebuild_env()
13498         [8365b0bd0c71]
13499
13500 2005-02-13  Todd C. Miller  <Todd.Miller@courtesan.com>
13501
13502         * env.c, sudo.c:
13503         Move setting of user_path, user_shell, user_prompt and prev_user
13504         into init_vars() since user_shell at least is needed there.
13505         [37e22dce66e9]
13506
13507 2005-02-12  Todd C. Miller  <Todd.Miller@courtesan.com>
13508
13509         * Makefile.in:
13510         fix devel builds
13511         [9fbb15ef164c]
13512
13513         * sudo.c:
13514         Fix some printf format mismatches on error.
13515         [ffc1c3f11740]
13516
13517         * check.c:
13518         Fix some printf format mismatches on error.
13519         [7b3b508adf50]
13520
13521         * configure, gram.c, toke.c:
13522         regen
13523         [aa76f9d8b02a]
13524
13525         * Makefile.in, aclocal.m4, alias.c, alloc.c, auth/afs.c,
13526         auth/aix_auth.c, auth/bsdauth.c, auth/dce.c, auth/fwtk.c,
13527         auth/kerb4.c, auth/kerb5.c, auth/pam.c, auth/passwd.c,
13528         auth/rfc1938.c, auth/secureware.c, auth/securid.c, auth/securid5.c,
13529         auth/sia.c, auth/sudo_auth.c, auth/sudo_auth.h, check.c,
13530         closefrom.c, compat.h, configure.in, defaults.c, defaults.h,
13531         emul/utime.h, env.c, error.c, fileops.c, find_path.c, getprogname.c,
13532         getspwuid.c, gettime.c, goodpath.c, gram.y, interfaces.c,
13533         interfaces.h, ldap.c, logging.c, logging.h, match.c, mon_systrace.c,
13534         parse.c, redblack.c, redblack.h, set_perms.c, sigaction.c,
13535         snprintf.c, strcasecmp.c, strerror.c, strlcat.c, strlcpy.c, sudo.c,
13536         sudo.h, sudo.pod, sudo_edit.c, sudo_noexec.c, sudoers.pod,
13537         testsudoers.c, tgetpass.c, toke.l, utimes.c, version.h, visudo.c,
13538         visudo.pod, zero_bytes.c:
13539         Update copyright years.
13540         [0610c3654739]
13541
13542         * Makefile.binary.in:
13543         Update copyright years.
13544         [d78ffc9f2e2b]
13545
13546         * LICENSE:
13547         Update copyright years.
13548         [f60473bca4b1]
13549
13550         * BUGS, INSTALL, INSTALL.binary, Makefile.in, README, configure.in:
13551         version 1.7
13552         [aa977a544ca1]
13553
13554         * WHATSNEW:
13555         What's new in sudo 1.7, based on the 1.7 CHANGES entries.
13556         [ecfcf7269c14]
13557
13558 2005-02-11  Todd C. Miller  <Todd.Miller@courtesan.com>
13559
13560         * compat.h, logging.h, sudo.h:
13561         Add __printflike and use it with gcc to warn about printf-like
13562         format mismatches
13563         [b192ad4a0548]
13564
13565 2005-02-10  Todd C. Miller  <Todd.Miller@courtesan.com>
13566
13567         * CHANGES, ChangeLog:
13568         Replaced CHANGES file with ChangeLog generated from cvs logs
13569         [d9ace9dab98f]
13570
13571         * set_perms.c:
13572         Use warning/error instead of perror/fatal.
13573         [e33259df7738]
13574
13575         * config.guess:
13576         Update OpenBSD section
13577         [9d2c23de6801]
13578
13579         * UPGRADE:
13580         Add upgrading noted for 1.7
13581         [1fb6b6d6df07]
13582
13583         * env.c, sudo.c, sudoers.pod:
13584         Instead of zeroing out the environment, just prune out entries based
13585         on the env_delete and env_check lists. Base building up the new
13586         environment on the current environment and the variables we removed
13587         initially.
13588         [fc192df8fd15]
13589
13590         * config.h.in, configure, configure.in, sudo.c:
13591         Set locale to "C" if locales are supported, just to be safe.
13592         [91fbaa98f02e]
13593
13594         * toke.c, toke.l:
13595         Cast?argument to ctype functions to unsigned char.
13596         [e096b4d65796]
13597
13598 2005-02-08  Todd C. Miller  <Todd.Miller@courtesan.com>
13599
13600         * env.c:
13601         correct value for DID_USER
13602         [b5b05d36ec15]
13603
13604         * error.c, fnmatch.c, getcwd.c, glob.c, snprintf.c:
13605         #include <compat.h> not "compat.h"
13606         [7a0ad9a0ccd7]
13607
13608         * defaults.c:
13609         Reset the environment by default.
13610         [4ecc6423e0f0]
13611
13612         * sudo.c:
13613         Alloc an extra slot in NewArgv. Removes the need to malloc an new
13614         vector if execve() fails.
13615         [83dfb6f584a7]
13616
13617 2005-02-07  Todd C. Miller  <Todd.Miller@courtesan.com>
13618
13619         * INSTALL, config.h.in, configure, configure.in, sudo.c:
13620         Use execve(2) and wrap the command in sh if we get ENOEXEC.
13621         [c0c6af4e2a21]
13622
13623 2005-02-06  Todd C. Miller  <Todd.Miller@courtesan.com>
13624
13625         * sudo_noexec.c:
13626         Only include time.h on systems that lack struct timespec which gets
13627         defind in compat.h (using time_t).
13628         [e373e518b4cb]
13629
13630         * sudo_noexec.c:
13631         Include time.h for time_t in compat.h for systems w/o struct
13632         timespec.
13633         [a34b5637e458]
13634
13635         * compat.h, config.h.in, configure, configure.in:
13636         use bcopy on systems w/o memmove
13637         [f835eafd78c6]
13638
13639         * compat.h:
13640         __attribute__((__unused__)) doesn't work in gcc 2.7.2.1 so limit its
13641         use to gcc >= 2.8.
13642         [1cb9a4e58566]
13643
13644         * Makefile.in:
13645         Add explicit rule to build sudo_noexec.lo
13646         [df1dfcf8dd77]
13647
13648 2005-02-05  Todd C. Miller  <Todd.Miller@courtesan.com>
13649
13650         * INSTALL.configure, Makefile.in:
13651         No longer depend on VPATH; pointed out a bunch of missed
13652         dependencies.
13653         [601a45d4af6b]
13654
13655         * TROUBLESHOOTING:
13656         Help for PAM when account section is missing
13657         [9b8221256756]
13658
13659         * auth/pam.c:
13660         Give user a clue when there is a missing "account" section in the
13661         PAM config.
13662         [2529625c0495]
13663
13664         * auth/pam.c:
13665         Better error handling.
13666         [518c9bda23d8]
13667
13668         * config.h.in, configure, configure.in:
13669         Move _FOO_SOURCE to CPPFLAGS so it takes effect as early as
13670         possible. Silences a warning about isblank() on linux.
13671         [19c94d7ecdc8]
13672
13673         * auth/pam.c:
13674         Fix typo (missing comma) that caused an incorrect number of args to
13675         be passed to log_error().
13676         [0099dfec560f]
13677
13678 2005-02-01  Todd C. Miller  <Todd.Miller@courtesan.com>
13679
13680         * pwutil.c:
13681         Don't try to destroy a tree we didn't create.
13682         [d43c4fe03aa4]
13683
13684 2005-01-27  Todd C. Miller  <Todd.Miller@courtesan.com>
13685
13686         * alias.c, alloc.c, auth/afs.c, auth/aix_auth.c, auth/bsdauth.c,
13687         auth/dce.c, auth/fwtk.c, auth/kerb4.c, auth/kerb5.c, auth/pam.c,
13688         auth/passwd.c, auth/rfc1938.c, auth/secureware.c, auth/securid.c,
13689         auth/securid5.c, auth/sia.c, auth/sudo_auth.c, check.c, closefrom.c,
13690         compat.h, defaults.c, env.c, error.c, fileops.c, find_path.c,
13691         fnmatch.c, getcwd.c, getprogname.c, getspwuid.c, gettime.c,
13692         goodpath.c, gram.c, gram.y, interfaces.c, ldap.c, logging.c,
13693         match.c, mon_systrace.c, parse.c, pwutil.c, set_perms.c,
13694         sigaction.c, snprintf.c, strcasecmp.c, strerror.c, strlcat.c,
13695         strlcpy.c, sudo.c, sudo_edit.c, sudo_noexec.c, testsudoers.c,
13696         tgetpass.c, toke.c, toke.l, utimes.c, visudo.c, zero_bytes.c:
13697         Add __unused to rcsids
13698         [ad6b4ac45705]
13699
13700 2005-01-21  Todd C. Miller  <Todd.Miller@courtesan.com>
13701
13702         * configure, configure.in:
13703         Fix error message when mixing invalid auth types
13704         [68069b3ff5bc]
13705
13706         * INSTALL:
13707         PAM, AIX auth, BSD auth and login_cap are now on by default if the
13708         OS supports them.
13709         [4e44e9098cf0]
13710
13711         * auth/sudo_auth.h, config.h.in:
13712         s/HAVE_AUTHENTICATE/HAVE_AIXAUTH/g
13713         [2d569b43b23e]
13714
13715         * configure.in:
13716         Better checking for conflicting authentication methods Display the
13717         authentication methods used at the end of configure Rename --with-
13718         authenticate -> --with-aixauth Use --with-aixauth, --with-bsdauth,
13719         --with-pam, --with-logincap by default on systems that support them
13720         unless disabled. Add OSMAJOR variable that replaces old OSREV; now
13721         OSREV has full version number
13722         [a21115b6fe9f]
13723
13724 2005-01-18  Todd C. Miller  <Todd.Miller@courtesan.com>
13725
13726         * def_data.c, def_data.in, sudo.c, sudoers.pod:
13727         s/-O/-C/
13728         [ee73f1b81923]
13729
13730 2005-01-14  Todd C. Miller  <Todd.Miller@courtesan.com>
13731
13732         * configure.in:
13733         Replace: test -n "$FOO" || FOO="bar"
13734
13735         With: : ${FOO='bar'}
13736         [37552d9054fc]
13737
13738 2005-01-09  Todd C. Miller  <Todd.Miller@courtesan.com>
13739
13740         * pwutil.c, testsudoers.c, tsgetgrpw.c:
13741         Use function pointers to only call private passwd/group routines
13742         when using a nonstandard passwd/group file.
13743         [215908681dfb]
13744
13745 2005-01-06  Todd C. Miller  <Todd.Miller@courtesan.com>
13746
13747         * CHANGES:
13748         sync
13749         [2e55c03f5790]
13750
13751         * tsgetgrpw.c:
13752         Can't use strtok() since it doesn't handle empty fields so add
13753         getpwent()/getgrent() functions and call those.
13754         [bdaa5b0db70e]
13755
13756 2005-01-05  Todd C. Miller  <Todd.Miller@courtesan.com>
13757
13758         * Makefile.in:
13759         Fix dummied out toke.c and gram.c dependencies.
13760         [4b909c8b2ebe]
13761
13762         * Makefile.in:
13763         Rename PARSESRCS -> GENERATED since it is only used in the clean
13764         target Add devdir variable and use it to specify the path to parser
13765         sources
13766         [f27b3f41ca23]
13767
13768         * configure:
13769         regen
13770         [22c6435dbd46]
13771
13772         * configure.in:
13773         Add a devdir variables that defaults to $(srcdir) and is set to . if
13774         --devel was specified. Allows for proper dependecies building the
13775         parser.
13776         [a36d694c6d21]
13777
13778         * testsudoers.c:
13779         Add support for custom passwd/group files.
13780         [296549ff4b87]
13781
13782         * Makefile.in:
13783         Build private copy of pwutil.o for testsudoers with MYPW defined so
13784         it uses our own passwd/group routines.
13785         [bafa54ec78ca]
13786
13787         * visudo.c:
13788         Remove sudo_*{pw,gr}* stubs and add sudo_setspent/sudo_endspent
13789         stubs instead. We can now just use the caching sudo_*{pw,gr}*
13790         functions in pwutil.c Add comment about wanting to call
13791         sudo_endpwent/sudo_endgrent in cleanup()
13792         [7e59d6b5510d]
13793
13794         * tsgetgrpw.c:
13795         Remove caching; we will just use what is in pwutil.c Use global
13796         buffers for passwd/group structs Rename functions from sudo_* to
13797         my_*
13798         [8c1e068f574c]
13799
13800         * logging.c, sudo.c:
13801         g/c pwcache_init/pwcache_destroy
13802         [60a24909b947]
13803
13804         * sudo.h:
13805         Undo last commit and add sudo_setspent and sudo_endspent instead.
13806         [bac80db08296]
13807
13808         * getspwuid.c, pwutil.c:
13809         Move all but the shadow stuff from getspwuid.c to pwutil.c and
13810         pwcache_get and pwcache_put as they are no longer needed. Also add
13811         preprocessor magic to use private versions of the passwd and group
13812         routines if MYPW is defined (for use by testsudoers).
13813         [a16b8678a426]
13814
13815         * tsgetgrpw.c:
13816         zero out struct passwd/group before filling it in so if there are
13817         fields we don't handle they end up as 0.
13818         [274cb6a93301]
13819
13820         * logging.c, sudo.c, sudo.h, testsudoers.c, visudo.c:
13821         Adapt to pwutil.c
13822         [43ebd04c8b82]
13823
13824         * Makefile.in:
13825         Add tsgetgrpw.c and pwutil.c Rename the *OBJ variables for better
13826         readability.
13827         [7f88c6061e2d]
13828
13829         * tsgetgrpw.c:
13830         Passwd and group lookup routines for testsudoers that support
13831         alternate passwd and group files.
13832         [d7803101d34e]
13833
13834         * getspwuid.c, pwutil.c:
13835         Split off pw/gr cache and dup code into its own file. This allows
13836         visudo and testsudoers to use the pw/gr cache too.
13837         [ef333d3ffedf]
13838
13839 2005-01-02  Todd C. Miller  <Todd.Miller@courtesan.com>
13840
13841         * parse.c:
13842         Print Defaults info in "sudo -l" output and wrap lines based on the
13843         terminal width.
13844         [e559eae4250e]
13845
13846 2005-01-01  Todd C. Miller  <Todd.Miller@courtesan.com>
13847
13848         * match.c, testsudoers.c, visudo.c:
13849         Only check group vector in usergr_matches() if we are matching the
13850         invoking or list user. Always check the group members, even if
13851         there was a group vector.
13852         [d0c7ceb2a041]
13853
13854 2004-12-17  Todd C. Miller  <Todd.Miller@courtesan.com>
13855
13856         * LICENSE, Makefile.in, fnmatch.3:
13857         No longer bundle fnmatch.3
13858         [72db4a4ff4e1]
13859
13860         * CHANGES, TODO:
13861         checkpoint
13862         [e92781bfd99c]
13863
13864 2004-12-16  Todd C. Miller  <Todd.Miller@courtesan.com>
13865
13866         * sudo.c:
13867         sort usage
13868         [15e3b876ec2c]
13869
13870         * sudo.pod:
13871         Sort command line options
13872         [c1fa56584bc4]
13873
13874         * def_data.c, def_data.h, def_data.in, defaults.c, logging.c, sudo.c,
13875         sudo.pod, sudoers.pod:
13876         Add closefrom sudoers option to start closing at a point other than
13877         3. Add closefrom_override sudoers option and -C sudo flag to allow
13878         the user to specify a different closefrom starting point.
13879         [370652b099d1]
13880
13881         * pathnames.h.in:
13882         Add _PATH_DEVNULL for those without it.
13883         [0c4c3e0ceb8b]
13884
13885         * LICENSE:
13886         no more UCB strcasecmp
13887         [397a6298e07f]
13888
13889         * strcasecmp.c:
13890         replace BSD licensed one with version derived from pdksh
13891         [d7cfda8c57a2]
13892
13893 2004-12-10  Todd C. Miller  <Todd.Miller@courtesan.com>
13894
13895         * sudo.c:
13896         Fix last commit.
13897         [7afb9a180532]
13898
13899         * sudo.c:
13900         Make sure stdin, stdout and stderr are open and dup them to
13901         /dev/null if not.
13902         [590f387068bd]
13903
13904 2004-12-03  Todd C. Miller  <Todd.Miller@courtesan.com>
13905
13906         * ldap.c, mon_systrace.c, sudo.c, sudo.h:
13907         add sudo_ldap_close
13908         [4273a36765a7]
13909
13910         * fileops.c, gettime.c, sudo.c, sudo_edit.c, utimes.c, visudo.c:
13911         Use TIME_WITH_SYS_TIME
13912         [c32b59bf15fb]
13913
13914         * config.h.in, configure, configure.in:
13915         Add TIME_WITH_SYS_TIME_H
13916         [57cb146f451d]
13917
13918 2004-12-02  Todd C. Miller  <Todd.Miller@courtesan.com>
13919
13920         * env.c:
13921         Add missing braces to avoid DYLD_FORCE_FLAT_NAMESPACE being set
13922         unconditionally on darwin. From Toby Peterson.
13923         [d69959681c87]
13924
13925         * getspwuid.c:
13926         Check rbinsert() return value. In the case of faked up entries
13927         there is usually a negative response cached that we need to
13928         overwrite.
13929
13930         In pwfree() don't try to zero out a NULL pw_passwd pointer.
13931         [00b32d1a48c1]
13932
13933         * mon_systrace.c:
13934         Use the double fork trick to avoid the monitor process being waited
13935         for by the main program run through sudo.
13936         [e0ce556712ff]
13937
13938 2004-11-29  Todd C. Miller  <Todd.Miller@courtesan.com>
13939
13940         * sudo.c:
13941         Call initgroups() in -U mode so group matches work normally.
13942         [2235bea15283]
13943
13944         * def_data.h, mkdefaults:
13945         Don't print a trailing comma for the last entry in enum def_tupple
13946         [c43a96bb31df]
13947
13948 2004-11-28  Todd C. Miller  <Todd.Miller@courtesan.com>
13949
13950         * sudoers.cat, sudoers.man.in, sudoers.pod:
13951         Mention values when lecture, listpw and verifypw are used in boolean
13952         context.
13953         [a0b5c0abaccf]
13954
13955         * def_data.c, def_data.in:
13956         verifypw when used in a boolean TRUE context should be "all", not
13957         "any".
13958         [2eb076ddd5e2]
13959
13960 2004-11-26  Todd C. Miller  <Todd.Miller@courtesan.com>
13961
13962         * def_data.in, defaults.c:
13963         Allow tuples that can be used as booleans to be used as boolean
13964         TRUE. In this case the 2nd possible value of the tuple is used for
13965         TRUE.
13966         [bd99aa77e88b]
13967
13968 2004-11-25  Todd C. Miller  <Todd.Miller@courtesan.com>
13969
13970         * configure, configure.in:
13971         Correct the test for 2-parameter timespecsub
13972         [d41c9cb26b97]
13973
13974         * sudo.h:
13975         Add strub struct definitions for passwd, timeval and timespec
13976         [c4ce5c43d8c5]
13977
13978         * config.h.in, configure, configure.in, sudo_edit.c, visudo.c:
13979         Add check for 2-argument form of timespecsub (FreeBSD and BSD/OS)
13980         and fix a typo in the gettimeofday check.
13981         [8ac9893057ce]
13982
13983 2004-11-24  Todd C. Miller  <Todd.Miller@courtesan.com>
13984
13985         * match.c, testsudoers.c:
13986         Deal with user_stat being NULL as it is for visudo and testsudoers.
13987         [3605a6ff64d0]
13988
13989         * parse.c, sudo.c, sudo.cat, sudo.h, sudo.man.in, sudo.pod:
13990         Add -U option to use in conjunction with -l instead of -u. Add
13991         support for "sudo -l command" to test a specific command.
13992         [99638789d415]
13993
13994         * gram.c, gram.y, sudo.c:
13995         Set safe_cmnd after sudoers_lookup() if it has not been set.
13996         Previously it was set by sudo "ALL" in the parser but at that point
13997         the fully-qualified pathname has not yet been found.
13998         [ac30d98f8225]
13999
14000 2004-11-23  Todd C. Miller  <Todd.Miller@courtesan.com>
14001
14002         * parse.c, testsudoers.c:
14003         Correctly handle multiple privileges per userspec and runas
14004         inheritence.
14005         [a98a965181af]
14006
14007 2004-11-21  Todd C. Miller  <Todd.Miller@courtesan.com>
14008
14009         * defaults.c:
14010         Zero out sd_un for each entry in sudo_defs_table in init_defaults.
14011         [031d3cd4a848]
14012
14013 2004-11-19  Todd C. Miller  <Todd.Miller@courtesan.com>
14014
14015         * toke.c, toke.l:
14016         make per-command defaults work with sudoedit
14017         [e56fe33db916]
14018
14019         * ldap.c, parse.c, sudo.c, sudo.h:
14020         Remove the FLAG_NOPASS, FLAG_NOEXEC and FLAG_MONITOR flags.
14021         Instead, we just set the approriate defaults variable.
14022         [756eeecc1d86]
14023
14024         * sample.sudoers, sudoers.cat, sudoers.man.in, sudoers.pod:
14025         Document per-command Defaults.
14026         [92a0f84b91c1]
14027
14028         * defaults.c, defaults.h, gram.c, gram.h, gram.y, mon_systrace.c,
14029         sudo.c, testsudoers.c, toke.c, toke.l, visudo.c:
14030         Add support for command-specific Defaults entries. E.g.
14031         Defaults!/usr/bin/vi noexec
14032         [be3d52bf01cf]
14033
14034         * defaults.c, match.c, parse.c, parse.h, testsudoers.c:
14035         Change an occurence of user_matches() -> runas_matches() missed
14036         previously runas_matches(), host_matches() and cmnd_matches() only
14037         really need to pass in a list of members. user_matches() still
14038         needs to pass in a passwd struct because of "sudo -l"
14039         [833b22fc6fa0]
14040
14041         * parse.c:
14042         Check def_authenticate, def_noexec and def_monitor when setting
14043         return flags. XXX May be better to just set the defaults directly
14044         and get rid of those flags.
14045         [b6db22b59d69]
14046
14047         * alias.c, alloc.c, auth/afs.c, auth/aix_auth.c, auth/bsdauth.c,
14048         auth/dce.c, auth/fwtk.c, auth/kerb4.c, auth/kerb5.c, auth/pam.c,
14049         auth/passwd.c, auth/rfc1938.c, auth/secureware.c, auth/securid.c,
14050         auth/securid5.c, auth/sia.c, auth/sudo_auth.c, check.c, closefrom.c,
14051         defaults.c, env.c, error.c, fileops.c, find_path.c, fnmatch.c,
14052         getcwd.c, getprogname.c, getspwuid.c, gettime.c, glob.c, goodpath.c,
14053         gram.c, gram.y, interfaces.c, ldap.c, logging.c, match.c,
14054         mon_systrace.c, parse.c, redblack.c, set_perms.c, snprintf.c,
14055         strcasecmp.c, strerror.c, strlcat.c, strlcpy.c, sudo.c, sudo_edit.c,
14056         sudo_noexec.c, testsudoers.c, tgetpass.c, toke.c, toke.l, utimes.c,
14057         visudo.c, zero_bytes.c:
14058         Use: #include <config.h> Not: #include "config.h" That way we get
14059         the correct config.h when build dir != src dir
14060         [97e5670a442b]
14061
14062         * Makefile.in:
14063         Back out part of rev 1.263; fix -I order
14064         [197ea01cad5d]
14065
14066         * toke.c, toke.l:
14067         More robust parsing if #include; could be much better still.
14068         [31bc3cd8f045]
14069
14070         * sudo_edit.c, visudo.c:
14071         Make arg splitting in visudo and sudoedit consistent.
14072         [7bc74485f246]
14073
14074         * Makefile.in, alias.c, gram.c, gram.y, parse.h:
14075         Split alias routines out into their own file.
14076         [d90f633cf9ae]
14077
14078         * error.h:
14079         __attribute__ is already defined in compat.h
14080         [676ed3fe9203]
14081
14082         * visudo.c:
14083         quit() should not be __noreturn__ as it is non-void on some
14084         platforms.
14085         [e528c2b6ba10]
14086
14087         * auth/fwtk.c, auth/rfc1938.c, auth/securid.c, auth/securid5.c:
14088         Add local error/warning functions like err/warn but that call an
14089         additional cleanup routine in the error case. This means we no
14090         longer need to compile a special version of alloc.o for visudo.
14091         [e78e8aae882e]
14092
14093         * parse.h:
14094         Clarify comments about the data structures
14095         [ae894e266701]
14096
14097 2004-11-18  Todd C. Miller  <Todd.Miller@courtesan.com>
14098
14099         * visudo.c:
14100         Add support for VISUAL and EDITOR containing command line args. If
14101         env_editor is not set any args in VISUAL and EDITOR are ignored.
14102         Arguments are also now supported in def_editor.
14103         [ff7303b8e298]
14104
14105 2004-11-17  Todd C. Miller  <Todd.Miller@courtesan.com>
14106
14107         * parse.h:
14108         alias_matches() is no more
14109         [b59825e28084]
14110
14111         * CHANGES, TODO:
14112         sync
14113         [2b8f5f63c1de]
14114
14115         * Makefile.in:
14116         When regenerating the parser, don't replace gram.h unless it has
14117         changed.
14118         [819949668018]
14119
14120         * Makefile.in:
14121         remove Makefile.binary for distclean
14122         [351eec8d00b2]
14123
14124         * env.c:
14125         Preserve KRB5CCNAME in zero_env() and add a paranoia check to make
14126         sure we can't overflow new_env.
14127         [3284d17b9c6d]
14128
14129         * sudo_edit.c:
14130         paranoia when stripping trailing slashes from tempdir.
14131         [012f1aa2b81f]
14132
14133         * sudo.c:
14134         Set user_ngroups to 0 if getgroups() returns an error.
14135         [c46d43e9449a]
14136
14137 2004-11-16  Todd C. Miller  <Todd.Miller@courtesan.com>
14138
14139         * config.h.in, configure, configure.in, sudo.c:
14140         Add configure check for getgroups()
14141         [5d8a214e2cef]
14142
14143         * ldap.c:
14144         Use supplementary group vector in struct sudo_user.
14145         [3d0c463c034d]
14146
14147         * match.c:
14148         Only do string comparisons on the group members if there is no
14149         supplemental group list.
14150         [be1c8362f7ef]
14151
14152         * CHANGES, TODO:
14153         sync
14154         [db188bc5b975]
14155
14156         * sudo_edit.c:
14157         On Digital UNIX _PATH_VAR_TMP doesn't end with a trailing slash so
14158         chop off any trailing slashes we see and add an explicit one.
14159         [e1b477dafee1]
14160
14161         * match.c:
14162         remove bogus XXX comment
14163         [8aecb8a28d40]
14164
14165         * match.c:
14166         Get rid of alias_matches and correctly fall through to the non-alias
14167         cases when there is no alias with the specified name.
14168         [2cd555246f09]
14169
14170         * getspwuid.c:
14171         Cache non-existent passwd/group entries too.
14172         [8de9a467d271]
14173
14174         * gram.c:
14175         regen
14176         [9ece18c58f36]
14177
14178         * getspwuid.c:
14179         fix typo
14180         [9a7ae371eac1]
14181
14182         * check.c, getspwuid.c, glob.c, ldap.c, logging.c, match.c,
14183         mon_systrace.h, sudo.c, sudo.h, testsudoers.c, visudo.c:
14184         Implement group caching and use the passwd and group caches
14185         throughout.
14186         [f1d8c5015169]
14187
14188 2004-11-15  Todd C. Miller  <Todd.Miller@courtesan.com>
14189
14190         * match.c:
14191         Properly negate the return value of alias_matches() when
14192         appropriate.
14193         [ce59c4ce77ad]
14194
14195         * match.c:
14196         Make hostname_matches() return TRUE for a match, else FALSE like the
14197         caller expects.
14198         [1dc03902d3a2]
14199
14200         * Makefile.in:
14201         Add missing dependencies on gram.h
14202         [4f94bbb1d50c]
14203
14204         * match.c:
14205         Use runas_matches in alias_matches() now that we have it.
14206         [284d22e91178]
14207
14208         * parse.c, parse.h:
14209         Expand aliases in "sudo -l" mode
14210         [f67a38b79c44]
14211
14212         * gram.y, match.c:
14213         Use ALIAS for the member type when storing an alias instead of
14214         HOSTALIAS/RUNASALIAS/CMNDALIAS/USERALIAS since match.c relies on the
14215         more generic type. Expand runas_matches instead of calling
14216         user_matches() inside of it since user_matches() looks up
14217         USERALIASes, not RUNASALIASes.
14218         [52004d75232b]
14219
14220         * CHANGES, getspwuid.c:
14221         Paranoia; zero out pw_passwd before freeing passwd entry.
14222         [bd1b22638f00]
14223
14224         * LICENSE, Makefile.in, alloc.c, check.c, config.h.in, configure,
14225         configure.in, defaults.c, emul/err.h, env.c, err.c, error.c,
14226         error.h, find_path.c, interfaces.c, logging.c, mon_systrace.c,
14227         sudo.c, sudo.h, sudo_edit.c, testsudoers.c, visudo.c:
14228         Add local error/warning functions like err/warn but that call an
14229         additional cleanup routine in the error case. This means we no
14230         longer need to compile a special version of alloc.o for visudo.
14231         [25000b676cfe]
14232
14233         * match.c:
14234         Use userpw_matches() to compare usernames, not strcmp(), since the
14235         latter checks for "#uid".
14236         [fcbe4b859f66]
14237
14238         * getspwuid.c, mon_systrace.c, mon_systrace.h, sudo.c:
14239         Cache passwd db entries in 2 reb-black trees; one indexed by uid,
14240         the other by user name. The data returned from the cache should be
14241         considered read-only and is destroyed by sudo_endpwent().
14242         [ee2418ff3f86]
14243
14244         * match.c:
14245         add cast to uid_t
14246         [eb6415302d84]
14247
14248         * gram.y:
14249         missing free in alias_destroy
14250         [572ecb680ad8]
14251
14252         * redblack.c:
14253         Can't use rbapply() for rbdestroy since the destructor is passed a
14254         data pointer, not a node pointer.
14255         [11ce713830c0]
14256
14257         * getspwuid.c, logging.c, sudo.c, sudo.h:
14258         Create and use private versions of setpwent() and endpwent() that
14259         set/end the shadow password file too.
14260         [616bc76d23bf]
14261
14262         * gram.c, gram.h, gram.y, match.c, parse.h, testsudoers.c, visudo.c:
14263         Store aliases in a red-black tree.
14264         [ce017d540416]
14265
14266         * Makefile.in, redblack.c, redblack.h:
14267         red-black tree implementation
14268         [cd5586e8f48b]
14269
14270         * visudo.c:
14271         Edit all sudoers file if there were unused or undefined aliases and
14272         we are in strict mode.
14273         [b6d5f5bb7262]
14274
14275 2004-11-12  Todd C. Miller  <Todd.Miller@courtesan.com>
14276
14277         * CHANGES, def_data.c, def_data.h, def_data.in, defaults.c, env.c,
14278         find_path.c, sudoers.cat, sudoers.man.in, sudoers.pod, visudo.c:
14279         Bring back the "secure_path" Defaults option now that Defaults take
14280         effect before the path is searched.
14281         [2e52c0e27606]
14282
14283 2004-11-11  Todd C. Miller  <Todd.Miller@courtesan.com>
14284
14285         * logging.c, parse.c:
14286         A user can always list their own entries, even with -u. Better error
14287         message when failing to list another user's entries.
14288         [e2e24deb0071]
14289
14290         * parse.c, sudo.c, sudo.h:
14291         The syntax to list another user's entries is now "-u otheruser -l".
14292         Only root or users with sudo "ALL" may list other user's entries.
14293         [3c0657e8f5fe]
14294
14295         * sudo.cat, sudo.man.in, sudo.pod:
14296         Update env variable info in SECURITY NOTES
14297         [299716071024]
14298
14299         * env.c:
14300         strip CDPATH too
14301         [9b97643b26f9]
14302
14303         * env.c:
14304         strip exported bash functions from the environment.
14305         [9e5090c8284f]
14306
14307 2004-10-27  Todd C. Miller  <Todd.Miller@courtesan.com>
14308
14309         * sudo.c:
14310         Only reset sudo_user.pw based on SUDO_USER environment variables for
14311         real commands and sudoedit. This avoids a confusing message when a
14312         user tries "sudo -l" or "sudo -v" and is denied.
14313         [3ea6d0053274]
14314
14315         * gram.c, gram.y, parse.h:
14316         Extend LIST_APPEND to deal with appending lists too
14317         [d963e42f622f]
14318
14319 2004-10-26  Todd C. Miller  <Todd.Miller@courtesan.com>
14320
14321         * logging.c:
14322         Convert some bitwise AND to ISSET
14323         [130dc40d268e]
14324
14325         * lex.yy.c, toke.c:
14326         toke.c replaces lex.yy.c
14327         [048858df79e7]
14328
14329         * CHANGES, TODO:
14330         sync
14331         [d19e7abf251c]
14332
14333         * BUGS:
14334         new parser fixes most of the outstanding bugs
14335         [0891f66e3758]
14336
14337         * configure:
14338         regen
14339         [1a3358cc7283]
14340
14341         * visudo.c:
14342         Rework for the new parser. Now checks for unused aliases in sudoers.
14343         [ad462ede3094]
14344
14345         * testsudoers.c:
14346         Rewrite for the new parser. Now supports a -d flag (dump) and adds
14347         a -h flag (host). It now defaults to the local hostname unless
14348         otherwise specified.
14349         [1b69685cc601]
14350
14351         * sudo.h:
14352         Add new prototypes. Remove NOMATCH/UNSPEC (now in parse.h)
14353         [2e4fb3abfef0]
14354
14355         * sudo.c:
14356         Update for new parse. We now call find_path() *after* we have
14357         updated the global defaults based on sudoers. Also adds support for
14358         listing other user's privs if you are root.
14359         [cf3db9fc3024]
14360
14361         * mon_systrace.c:
14362         Working LDAP support; also remove a now-unneeded rewind().
14363         [649ecf1baf6b]
14364
14365         * logging.c, logging.h:
14366         Add NO_STDERR flag.
14367         [6cb935af94e0]
14368
14369         * ldap.c:
14370         Split sudo_ldap_check() into three pieces: sudo_ldap_open(),
14371         udo_ldap_update_defaults() and sudo_ldap_check(). This allows us to
14372         connecto to LDAP, apply the default options, find the command in the
14373         user's path, and then check whether the user is allowed to run it.
14374         The important thing here is that the default runas user may be
14375         specified as a default option and that needs to be set before we
14376         search for the command.
14377         [fc0426abc6f1]
14378
14379         * ldap.c:
14380         Add casts to unsigned char for isspace() to quiet a gcc warning.
14381         [e5358e3df439]
14382
14383         * defaults.h:
14384         Add prototype for update_defaults()
14385         [564dac3db74e]
14386
14387         * defaults.c:
14388         Don't warn about line numbers now that we operate on a set of data
14389         structures (or LDAP) and not a file.
14390         [bcd9ffb9b67c]
14391
14392         * config.h.in:
14393         No long use lsearch()
14394         [9d048c587319]
14395
14396         * Makefile.in:
14397         Update for new and changed file names.
14398         [6f424a7c4515]
14399
14400         * LICENSE:
14401         no more BSD lsearch.c
14402         [463a96d89026]
14403
14404         * match.c:
14405         foo_matches() routines now live in match.c Added user_matches(),
14406         runas_matches(), host_matches(), cmnd_matches() and alias_matches()
14407         that operate on the parsed sudoers file.
14408         [b14da8a0567e]
14409
14410         * parse.lex, toke.l:
14411         Move parse.lex -> toke.l Rename buffer_frob() -> switch_buffer()
14412         WORD no longer needs to exclude '@' kill yywrap()
14413         [a922294eb7b7]
14414
14415         * gram.c, gram.h, gram.y, parse.c, parse.h, parse.yacc, sudo.tab.c,
14416         sudo.tab.h:
14417         Rewritten parser that converts sudoers into a set of data
14418         structures. This eliminates ordering issues and makes it possible to
14419         apply sudoers Defaults entries before searching for the command.
14420         [30d2ec4d203c]
14421
14422         * configure.in, emul/search.h, lsearch.c:
14423         We won't be using lsearch() any longer.
14424         [29c4d54bfac0]
14425
14426         * ldap.c:
14427         sudo should not send mail if someone who runs 'sudo -l' has no
14428         entry.
14429         [6fc27a69fd9c]
14430
14431         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in, visudo.cat,
14432         visudo.man.in:
14433         regen
14434         [8166347917f3]
14435
14436         * visudo.pod:
14437         Update warnings to match new visudo
14438         [004c0766798f]
14439
14440         * sudoers.pod:
14441         The new parser doesn't have the old ordering constraints.
14442         [ffd43bd08661]
14443
14444         * sudo.pod:
14445         Document that -l now takes an optional username argument
14446         [278f9557de8b]
14447
14448 2004-10-25  Todd C. Miller  <Todd.Miller@courtesan.com>
14449
14450         * RUNSON:
14451         AIX 5.2.0.0 works
14452         [523acd29d858]
14453
14454         * ldap.c:
14455         If LDAP_OPT_SUCCESS is not defined, use LDAP_SUCCESS instead. Fixes
14456         a compilation problem with Solaris 9's native LDAP.
14457
14458         Set FLAG_MONITOR when needed.
14459         [35824ade672d]
14460
14461 2004-10-23  Todd C. Miller  <Todd.Miller@courtesan.com>
14462
14463         * mon_systrace.c:
14464         Call sudo_goodpath() *after* changing the cwd to match the traced
14465         process. Fixes relative paths.
14466         [12ee111d0ad7]
14467
14468 2004-10-21  Todd C. Miller  <Todd.Miller@courtesan.com>
14469
14470         * testsudoers.c:
14471         Kill set_perms() stub--it is no longer needed.
14472         [116ed702935d]
14473
14474 2004-10-13  Todd C. Miller  <Todd.Miller@courtesan.com>
14475
14476         * sudoers.cat, sudoers.man.in, sudoers.pod:
14477         stay_setuid now requires set_reuid() or setresuid()
14478         [8511f67e25d5]
14479
14480         * INSTALL, PORTING, TROUBLESHOOTING, config.h.in, configure,
14481         configure.in, set_perms.c, sudo.c, sudo.h:
14482         Kill use of POSIX saved uids; they aren't worth bothering with.
14483         [b3b1f19f18c1]
14484
14485 2004-10-07  Todd C. Miller  <Todd.Miller@courtesan.com>
14486
14487         * glob.c:
14488         remove call to issetugid()
14489         [63f2e492c08f]
14490
14491         * sudoers.cat, sudoers.man.in, sudoers.pod:
14492         Remove warning about wildcards. Now that we use glob() the bug is
14493         fixed.
14494         [b15729d32266]
14495
14496         * parse.c:
14497         Use glob(3) instead of fnmatch(3) for matching pathnames and stat
14498         each result that matches the basename of the user's command. This
14499         makes "cd /usr/bin ; sudo ./blah" work when sudoers allows
14500         /usr/bin/blah. Fixes bug #143.
14501         [e31eb6310340]
14502
14503         * config.h.in, configure, configure.in:
14504         Define HAVE_EXTENDED_GLOB for extended glob (GLOB_TILDE and
14505         GLOB_BRACE)
14506         [677ed6661e17]
14507
14508         * config.h.in, configure, configure.in:
14509         Check for a glob() that supports GLOB_BRACE and GLOB_TILDE
14510         [aaa2329dd266]
14511
14512         * LICENSE:
14513         reference glob
14514         [bedc9a923423]
14515
14516         * glob.c:
14517         4.4BSD glob(3) with fixes from OpenBSD and some unneeded extensions
14518         removed.
14519         [81799451473c]
14520
14521         * emul/glob.h:
14522         4.4BSD glob(3) with fixes from OpenBSD and some unneeded extensions
14523         removed.
14524         [0335cf31fb1e]
14525
14526 2004-10-05  Todd C. Miller  <Todd.Miller@courtesan.com>
14527
14528         * mon_systrace.c:
14529         Just return if STRIOCINJECT or STRIOCREPLACE fail. It probably
14530         means we are out of space in the stack gap...
14531         [5b02b702021e]
14532
14533         * CHANGES:
14534         sync
14535         [be3826273e56]
14536
14537         * mon_systrace.c:
14538         Take a stab at ldap sudoers support here.
14539         [9d023695b0de]
14540
14541         * mon_systrace.c, mon_systrace.h:
14542         Detach from tracee on SIGHUP, SIGINT and SIGTERM. Now "sudo reboot"
14543         doesn't cause reboot to inadvertanly kill itself.
14544         [d4aab2365610]
14545
14546         * mon_systrace.c:
14547         put "monitor" in the proctitle, not "systrace"
14548         [9a9025767d86]
14549
14550         * mon_systrace.c:
14551         When modifying the environment, don't replace envp when we can get
14552         away with just rewriting pointers in the traced process.
14553         [c03622f7a2e2]
14554
14555         * mon_systrace.c, mon_systrace.h:
14556         Add environment updating via STRIOCINJECT (if available).
14557         [037291016870]
14558
14559         * sudoers.cat, sudoers.man.in:
14560         regen
14561         [869acc511046]
14562
14563 2004-10-04  Todd C. Miller  <Todd.Miller@courtesan.com>
14564
14565         * lex.yy.c:
14566         regen
14567         [4e61a9bd3c97]
14568
14569         * parse.lex:
14570         Fix bug introduced in unput() removal; want yyless(0) not yyless(1)
14571         [b70d7bd6e147]
14572
14573         * mon_systrace.c:
14574         Include file is now mon_systrace.h
14575         [ead4e36d92ae]
14576
14577         * Makefile.in, configure, configure.in, def_data.c, def_data.h,
14578         def_data.in, lex.yy.c, parse.c, parse.h, parse.lex, parse.yacc,
14579         sudo.c, sudo.h, sudo.tab.c, sudo.tab.h, sudoers.pod:
14580         No longer call it tracing, it is now "monitoring" which should be
14581         more a obvious name to non-hackers.
14582         [aa811ded0789]
14583
14584 2004-10-01  Todd C. Miller  <Todd.Miller@courtesan.com>
14585
14586         * mon_systrace.c, mon_systrace.h:
14587         Fix some XXX
14588         [a271072dacc6]
14589
14590         * mon_systrace.c, mon_systrace.h:
14591         No need to include syscall.h, use 1024 as the max # of entries (the
14592         max that systrace(4) allows).
14593
14594         Only need to use SYSTR_POLICY_ASSIGN once
14595
14596         Change check_syscall() -> find_handler() and have it return the
14597         handler instead of just running it. We need this since handler now
14598         have two parts: one part that generates and answer and another that
14599         gets called after the answer is accepted (to do logging).
14600
14601         Add some missing check_exec for emul execv
14602         [a89d243f0525]
14603
14604         * sample.pam, sample.sudoers, sample.syslog.conf, sudoers:
14605         Add $Sudo$ tags.
14606         [6f3fedb0daba]
14607
14608         * config.h.in:
14609         Add missing HAVE_LINUX_SYSTRACE_H
14610         [ff75ab7bfc53]
14611
14612         * Makefile.in:
14613         add trace_systrace.o dependency
14614         [88a408668ab2]
14615
14616 2004-09-30  Todd C. Miller  <Todd.Miller@courtesan.com>
14617
14618         * configure, configure.in:
14619         Also look for systrace.h in /usr/include/linux
14620         [98b98b436cf3]
14621
14622         * mon_systrace.c, mon_systrace.h:
14623         Move all struct defs and prototypes into trace_systrace.h and mark
14624         all but systace_attach() static.
14625         [85511253b570]
14626
14627         * mon_systrace.c, mon_systrace.h:
14628         Add support for tracing emulations. At the moment, all emulations
14629         are compiled in. It might make sense to #ifdef them in the future,
14630         though this impeeds readability.
14631         [87bb50abf277]
14632
14633         * Makefile.in, configure, configure.in:
14634         rename systrace.c -> trace_systrace.c
14635         [31cfa4407d93]
14636
14637         * parse.yacc, sudo.tab.c:
14638         Allow this to build with a K&R compiler again
14639         [32876af5bb98]
14640
14641         * TODO:
14642         sync
14643         [46865bd70f7c]
14644
14645         * compat.h, sudo.c, visudo.c:
14646         Use __attribute__((__noreturn__))
14647         [65bbad71fe89]
14648
14649         * visudo.c:
14650         Exit() takes a negative value to indicate it was not called via
14651         signal.
14652         [b93032ed7b60]
14653
14654         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in, visudo.cat,
14655         visudo.man.in:
14656         regen
14657         [45bcf4661558]
14658
14659         * Makefile.in, visudo.c:
14660         Define Err() and Errx() that are like err() and errx() but call
14661         Exit() instead of exit(). Build private copy of alloc.o for visudo
14662         that calls Err() and Errx().
14663         [c6d02bf42edd]
14664
14665 2004-09-29  Todd C. Miller  <Todd.Miller@courtesan.com>
14666
14667         * lex.yy.c, sudo.tab.c:
14668         regen
14669         [39de7e7c59da]
14670
14671         * CHANGES:
14672         sync
14673         [ba481d9ed1aa]
14674
14675         * visudo.c:
14676         Overhaul visudo for editing multiple files: o visudo has been
14677         broken out into functions (more work needed here) o each file is
14678         now edited before sudoers is re-parsed o if a #include line is
14679         added that file will be edited too
14680
14681         TODO: o cleanup temp files when exiting via err() or errx() o
14682         continue breaking things out into separate functions
14683         [80c35cf534eb]
14684
14685         * parse.lex, sudo.c, sudo.h, testsudoers.c, visudo.c:
14686         Add keepopen arg to open_sudoers that open_sudoers can use to
14687         indicate to the caller that the fd should not be closed when it is
14688         done with it. To be used by visudo to keep locked fds from being
14689         closed prematurely (and thus losing the lock).
14690         [f330fe632470]
14691
14692         * parse.yacc, sudo.c:
14693         Add errorfile global that contains the name of the file that caused
14694         the error.
14695         [98079c7a37ed]
14696
14697         * parse.lex:
14698         return COMMENT to yacc grammar for a #include line
14699         [2024a8de4fa8]
14700
14701         * parse.lex:
14702         Remove us of unput() in favor of yyless() which is cheaper.
14703         [c61291902beb]
14704
14705         * parse.yacc:
14706         Allow an empty sudoers file.
14707         [62fb111db2e7]
14708
14709 2004-09-28  Todd C. Miller  <Todd.Miller@courtesan.com>
14710
14711         * mon_systrace.c:
14712         Rewind sudoers_fp now that sudoers_lookup() doesn't do it for us.
14713         [9e15869ef597]
14714
14715         * lex.yy.c, sudo.tab.c:
14716         regen
14717         [c29bdd43bfad]
14718
14719         * visudo.c:
14720         Do signal setup before calling edit_sudoers(). Don't shadow the
14721         "quiet" global.
14722         [74252efd09ff]
14723
14724         * visudo.c:
14725         If a sudoers file includes other files, edit those too. Does not yes
14726         deal with creating the new includes files itself.
14727         [06af7b9c173f]
14728
14729         * testsudoers.c:
14730         init_parser now takes a path
14731         [b5ee186eb192]
14732
14733         * parse.c, parse.h, parse.lex, parse.yacc:
14734         More scaffolding for dealing with multiple sudoers files: o
14735         init_parser() now takes a path used to populate the sudoers global
14736         o the sudoers global is used to print the correct file in yyerror()
14737         o when switching to a new sudoers file, perserve old file name and
14738         line number
14739         [d9be4970b8bd]
14740
14741         * Makefile.in, pathnames.h.in:
14742         Kill _PATH_SUDOERS_TMP; it is not meaningful now that we can have
14743         multiple sudoers files.
14744         [6ccc4e921c43]
14745
14746         * parse.c, sudo.c:
14747         Rewind sudoers_fp in open_sudoers() instead of sudoers_lookup() so
14748         we start at the right file position when reading include files.
14749         [91fcb961e7a4]
14750
14751         * sudoers.pod:
14752         document #include
14753         [fbb92a25a726]
14754
14755         * lex.yy.c:
14756         regen
14757         [50cd7a4c9dff]
14758
14759         * parse.lex:
14760         Add max depth of 128 for the include stack to avoid loops.
14761
14762         Since yyerror() doesn't stop parsing, pass return values back to
14763         yylex and call yyterminate() on error.
14764         [e79dbffb729d]
14765
14766 2004-09-27  Todd C. Miller  <Todd.Miller@courtesan.com>
14767
14768         * sudoers.pod:
14769         document tracing
14770         [165a467eadd8]
14771
14772         * sudo.pod:
14773         Mention PREVENTING SHELL ESCAPES section of sudoers man page
14774         [3217ccecd834]
14775
14776         * lex.yy.c, sudo.tab.c:
14777         regen
14778         [fbd58d1d3a76]
14779
14780         * parse.lex:
14781         Add support for #include in sudoers (visudo support TBD)
14782         [a78015ca81af]
14783
14784         * parse.yacc:
14785         make yyerror()'s argument const
14786         [7d8e168c019a]
14787
14788         * testsudoers.c, visudo.c:
14789         Add open_sudoers() stubs.
14790         [087466787198]
14791
14792         * sudo.c, sudo.h:
14793         Rename check_sudoers() open_sudoers() and make it return a FILE *
14794         [142fc511fc65]
14795
14796 2004-09-26  Todd C. Miller  <Todd.Miller@courtesan.com>
14797
14798         * BUGS, INSTALL, INSTALL.binary, Makefile.in, README, configure.in,
14799         version.h:
14800         Crank version
14801         [1adc3f839480]
14802
14803         * Makefile.in, sudo.psf:
14804         Better HP-UX depot construction
14805         [2d952b000e63]
14806
14807 2004-09-25  Todd C. Miller  <Todd.Miller@courtesan.com>
14808
14809         * mon_systrace.c:
14810         o Made children global so check_exec() can lookup a child. o
14811         Replaced uid in struct childinfo with struct passwd * (for runas) o
14812         new_child() now takes a parent pid so the runas info can be
14813         inherited o Added find_child() to lookup a child by its pid o
14814         update_child() now fills in a struct passwd o Converted the big
14815         if/else mess in set_policy to a switch o Syscalls that change uid
14816         are now "ask" so we get SYSTR_MSG_UGID events
14817         [29b9ea3f09a3]
14818
14819         * getspwuid.c:
14820         Add flag to sudo_pwdup that indicates whether or not to lookup the
14821         shadow password. Will be used to a struct passwd that has the
14822         shadow password already filled in.
14823         [e19d43dd7238]
14824
14825         * mon_systrace.c:
14826         add missing increment of addr in read_string()
14827         [f9eb0f060cb6]
14828
14829         * mon_systrace.c:
14830         Remove bogus call to update_child() and some cosmetic fixes
14831         [701ab0b97fef]
14832
14833         * mon_systrace.c:
14834         Don't leak /dev/systrace fd to tracee Make initialized global for
14835         simplicity If STRIOCATTACH returns EBUSY we are already being traced
14836         Check for user_args == NULL in setproctitle() call Add missing calls
14837         to STRIOCANSWER
14838         [1956edf9bc3a]
14839
14840         * sudo.c:
14841         g/c sudo_pwdup proto
14842         [b7c4d6249ecb]
14843
14844         * Makefile.in, sudo.psf:
14845         Add target for building a depot file
14846         [357019efd99b]
14847
14848         * mon_systrace.c:
14849         trim includes
14850         [501534428471]
14851
14852 2004-09-24  Todd C. Miller  <Todd.Miller@courtesan.com>
14853
14854         * lex.yy.c, sudo.tab.c, sudo.tab.h:
14855         regen
14856         [52fd250c6986]
14857
14858         * INSTALL:
14859         document --with-systrace
14860         [79623927c94e]
14861
14862         * config.h.in, configure, configure.in:
14863         Add check for setproctitle
14864         [1730cf1c26ed]
14865
14866         * mon_systrace.c:
14867         pass struct str_msg_ask in to syscall checker so it can set the
14868         error code
14869         [1703fd2fdef6]
14870
14871         * mon_systrace.c:
14872         systrace(4) support for sudo. On systems with the systrace(4)
14873         kernel facility (OpenBSD, NetBSD, Linux w/ patches) sudo can
14874         intercept exec calls and check the exec args against the sudoers
14875         file. In other words, sudo can now control subcommands and shell
14876         escapes.
14877         [928c9217c386]
14878
14879         * sudo.c, sudo.h:
14880         Call systrace_attach() if FLAG_TRACE is set.
14881         [014ba9402fa5]
14882
14883         * parse.c, parse.h, parse.lex, parse.yacc, sudo.h:
14884         Add trace Defaults option and TRACE/NOTRACE tags and set FLAG_TRACE
14885         [a99904db5e56]
14886
14887         * parse.c, sudo.c:
14888         Don't close sudoers_fp, keep it open and set close on exec flag
14889         instead.
14890         [43a9fec60bee]
14891
14892         * def_data.c, def_data.h, def_data.in:
14893         Add trace option
14894         [5b643b86730a]
14895
14896         * Makefile.in:
14897         Add systrace
14898         [47a0519c427c]
14899
14900         * INSTALL:
14901         SunOS /bin/sh blows up with configure
14902         [005a23cc5615]
14903
14904         * configure, configure.in:
14905         Include sys/param.h before systrace.h
14906         [9345bc8efecf]
14907
14908         * configure:
14909         regen
14910         [a8f53fcbb254]
14911
14912         * pathnames.h.in:
14913         _PATH_DEV_SYSTRACE
14914         [d2ad1e492a00]
14915
14916         * configure.in:
14917         line up options in --help
14918         [fa51f2821d09]
14919
14920         * config.h.in, configure.in:
14921         Add --with-systrace
14922         [a264d54bc413]
14923
14924 2004-09-23  Todd C. Miller  <Todd.Miller@courtesan.com>
14925
14926         * configure:
14927         regen
14928         [a4dad0bcc523]
14929
14930         * aclocal.m4, configure.in:
14931         make this work with autoconf-2.59
14932         [c4a92b6a684a]
14933
14934 2004-09-16  Todd C. Miller  <Todd.Miller@courtesan.com>
14935
14936         * sudo_edit.c:
14937         Simplify logic around open & stat of files and do sanity on edited
14938         file even if we lack fstat (still racable but worth doing).
14939         [adda65ade70c]
14940
14941 2004-09-15  Todd C. Miller  <Todd.Miller@courtesan.com>
14942
14943         * HISTORY:
14944         Add support url
14945         [bf6590fbde9f]
14946
14947         * Makefile.in:
14948         versino 1.6.8p1
14949         [b84ebfaf1552] [SUDO_1_6_8p1]
14950
14951         * CHANGES:
14952         more changes for 1.6.8p1
14953         [e23a9c0393b6]
14954
14955         * version.h:
14956         1.6.8p1
14957         [872f14504b5f]
14958
14959         * CHANGES, sudo_edit.c:
14960         Add sanity check so we don't try to edit something other than a
14961         regular file.
14962         [350134ec6d4e]
14963
14964 2004-09-15  Aaron Spangler  <aaron777@gmail.com>
14965
14966         * CHANGES:
14967         sync
14968         [3091ca9eae00]
14969
14970         * INSTALL:
14971         document --with-ldap-conf-file
14972         [0e2cd6b896f1]
14973
14974 2004-09-14  Todd C. Miller  <Todd.Miller@courtesan.com>
14975
14976         * CHANGES, ins_csops.h:
14977         political correctness strikes again
14978         [428e8bc77f55]
14979
14980         * RUNSON:
14981         sync
14982         [27f44bd423dc]
14983
14984 2004-09-12  Todd C. Miller  <Todd.Miller@courtesan.com>
14985
14986         * Makefile.binary.in, Makefile.in:
14987         Install sudoedit man link
14988         [19a55234fc1f]
14989
14990         * INSTALL:
14991         Update PAM note and mention where HP-UX users can download gcc
14992         binaries.
14993         [d37cdbbabfd4]
14994
14995         * Makefile.in:
14996         libtool wants to install stuff from .libs so fake one up for binary
14997         installations.
14998         [a681bc6fcfba]
14999
15000         * Makefile.binary.in:
15001         rm -f old sudoedit link instead of using ln -f set LIBTOOL correctly
15002         [3e0c4b3372cc]
15003
15004         * Makefile.in:
15005         Deal with "uname -m" having slashes in it rm -f old sudoedit link
15006         instead of using ln -f
15007         [cff33fb97e5b]
15008
15009         * Makefile.binary, Makefile.binary.in:
15010         Makefile.binary -> Makefile.binary.in for config.status substitution
15011         Add support for installing noexec bits
15012         [37d8bb3483c6]
15013
15014         * Makefile.in:
15015         Copy noexec bits into binary dists too No longer use my old arch
15016         script for making binary dists
15017         [e7058bab9e33]
15018
15019         * Makefile.binary:
15020         Install sudoedit link.
15021         [417d1e101711]
15022
15023 2004-09-11  Todd C. Miller  <Todd.Miller@courtesan.com>
15024
15025         * emul/utime.h:
15026         avoid __P so there is no need for compat.h to be included
15027         [6d8d1f1abf7d]
15028
15029         * utimes.c:
15030         Don't use HAVE_UTIME_H before including config.h.
15031         [013b7bb61181]
15032
15033 2004-09-10  Todd C. Miller  <Todd.Miller@courtesan.com>
15034
15035         * compat.h:
15036         Fix Solatis futimes macro
15037         [d4eda2ca0d29]
15038
15039 2004-09-09  Todd C. Miller  <Todd.Miller@courtesan.com>
15040
15041         * sudo_edit.c:
15042         Rename ots -> omtim for improved readability.
15043         [127ca5bb297c]
15044
15045 2004-09-08  Todd C. Miller  <Todd.Miller@courtesan.com>
15046
15047         * sudo_edit.c:
15048         Redo changes in revision 1.7. Don't really need to keep the temp
15049         file open; re-opening it with the invoking user's euid is
15050         sufficient.
15051         [55a883165a95]
15052
15053         * CHANGES:
15054         sync
15055         [9015b291170d]
15056
15057         * sudo.cat, sudo.man.in:
15058         regen
15059         [c0313f6ed783]
15060
15061         * sudo.pod:
15062         back out revision 1.70; it is no long applicable
15063         [b641d503aff6]
15064
15065         * env.c:
15066         Let the loader initialize nep
15067         [bec192139b02]
15068
15069         * config.h.in, configure, configure.in:
15070         Removed unneed check for fchown Add check for gettimeofday Move
15071         autoheader template stuff into separate AH_TEMPLATE lines
15072         [bfc0edbd43f2]
15073
15074         * check.c, compat.h, fileops.c, sudo.h, sudo_edit.c, visudo.c:
15075         Use timespec throughout.
15076         [1a178a23b69b]
15077
15078         * Makefile.in:
15079         gettime.[co]
15080         [6aeb48a7ab7f]
15081
15082         * gettime.c:
15083         function to return the current time in a struct timespec
15084         [bf8eb12cb63f]
15085
15086         * utimes.c:
15087         Not a darpa-sponsored file.
15088         [121ce5e2036c]
15089
15090 2004-09-07  Todd C. Miller  <Todd.Miller@courtesan.com>
15091
15092         * compat.h, config.h.in, configure, configure.in:
15093         Add a check for struct timespec and provide it for those without.
15094         [42124055030d]
15095
15096         * config.h.in, configure, configure.in, sudo_edit.c:
15097         Add checks for st_mtim and st_mtimespec and add macros for pulling
15098         the mtime sec and nsec out of struct stat. These are used in
15099         sudo_edit() to better tell whether or not the file has changed.
15100         [23debfbb3fab]
15101
15102         * check.c, fileops.c, sudo.h, sudo_edit.c, visudo.c:
15103         Add an extra param to touch() for nsec
15104         [56f7a4ba8ddb]
15105
15106         * sudo_edit.c:
15107         Call mkstemp() as the in invoking user so we don't have to chown the
15108         file later. Only touch() the temp file if we can do it via the file
15109         descriptor. Don't check for modification of the temp file if we lack
15110         fstat(). Catch errors read()ing the temp file.
15111         [665f52c70836]
15112
15113         * fileops.c:
15114         If path is NULL and fd == -1 return -1.
15115         [757a518a824c]
15116
15117         * sudo_edit.c:
15118         closefrom() is overkill, the only extra fds are the ones we opened
15119         so just close those in the child.
15120         [f361c9d2a1f4]
15121
15122         * Makefile.in, aclocal.m4, check.c, compat.h, config.h.in, configure,
15123         configure.in, fileops.c, sudo.h, sudo_edit.c, utime.c, utimes.c,
15124         visudo.c:
15125         Use utimes() and futimes() instead of utime() in touch(), emulating
15126         as needed. Not all systems are able to support setting the times of
15127         an fd so touch() takes both an fd and a file name as arguments.
15128         [3d9276f29717]
15129
15130 2004-09-07  Aaron Spangler  <aaron777@gmail.com>
15131
15132         * env.c:
15133         Rare SEGV
15134         [8995f828782d]
15135
15136 2004-09-06  Todd C. Miller  <Todd.Miller@courtesan.com>
15137
15138         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in, visudo.cat,
15139         visudo.man.in:
15140         regen
15141         [b8e9406711c5]
15142
15143         * sudo.pod, sudoers.pod, visudo.pod:
15144         Add SUPPORT section and re-order some of the sections to match the
15145         order we use in OpenBSD.
15146         [fa37bd917e2c]
15147
15148 2004-09-06  Aaron Spangler  <aaron777@gmail.com>
15149
15150         * env.c:
15151         Openldap ~/.ldaprc fix
15152         [1a37afe6850f]
15153
15154 2004-09-06  Todd C. Miller  <Todd.Miller@courtesan.com>
15155
15156         * sudo.pod:
15157         Talk about how the editor must write its changes to the original
15158         file and not just use rename(2).
15159         [c55ed91c5ee9]
15160
15161         * CHANGES:
15162         sync
15163         [62af26bd37a2]
15164
15165         * sudo_edit.c:
15166         Keep the temp file open instead of re-opening after the editor has
15167         exited.
15168         [de41eeb6dcf2]
15169
15170         * sample.pam:
15171         Update for current redhat/fedora core.
15172         [8cf083077333]
15173
15174 2004-09-03  Aaron Spangler  <aaron777@gmail.com>
15175
15176         * README.LDAP:
15177         tls_ examples
15178         [ba783d88a034]
15179
15180 2004-09-02  Aaron Spangler  <aaron777@gmail.com>
15181
15182         * ldap.c:
15183         config tls_* options
15184         [0b0e0797b3b9]
15185
15186 2004-08-29  Todd C. Miller  <Todd.Miller@courtesan.com>
15187
15188         * configure, configure.in:
15189         No need for -lcrypt when using pam.
15190         [41fff3a53e68]
15191
15192 2004-08-27  Todd C. Miller  <Todd.Miller@courtesan.com>
15193
15194         * configure:
15195         regen
15196         [75820aecce2c]
15197
15198 2004-08-27  Aaron Spangler  <aaron777@gmail.com>
15199
15200         * configure.in, ldap.c, pathnames.h.in:
15201         Allow --with-ldap-conf-file option to override LDAP_CONF
15202         [c9909bc484a5]
15203
15204         * ldap.c:
15205         cleanup debug message
15206         [1f6ca4824d8d]
15207
15208 2004-08-26  Aaron Spangler  <aaron777@gmail.com>
15209
15210         * README.LDAP:
15211         more config info
15212         [f2e7147fd507]
15213
15214 2004-08-24  Todd C. Miller  <Todd.Miller@courtesan.com>
15215
15216         * TODO, find_path.c, goodpath.c, parse.c, sudo.c, sudo.h, visudo.c:
15217         Add cmnd_base to struct sudo_user and set it in init_vars(). Add
15218         cmnd_stat to struct sudo_user and set it in sudo_goodpath(). No
15219         longer use gross statics in command_matches(). Also rename some
15220         variables for improved clarity.
15221         [7169a6c7bea4]
15222
15223 2004-08-21  Todd C. Miller  <Todd.Miller@courtesan.com>
15224
15225         * INSTALL:
15226         document HP's crippled compiler deficiency.
15227         [c405ea5a8d4c]
15228
15229         * INSTALL:
15230         Fix some thinkos in --with-editor and --with-env-editor
15231         descriptions. Noticed by Norihiko Murase.
15232         [dd781de1c985]
15233
15234         * configure, configure.in:
15235         --with-noexec takes an optional PATH argument.
15236         [8f6ab77f22cc]
15237
15238         * INSTALL:
15239         document --with-noexec
15240         [50cb1fc627ce]
15241
15242 2004-08-17  Todd C. Miller  <Todd.Miller@courtesan.com>
15243
15244         * RUNSON, TODO:
15245         sync
15246         [f2503bd13373] [SUDO_1_6_8]
15247
15248         * sudo_edit.c:
15249         Better warning message when sudoedit is unable to write to the
15250         destination file.
15251         [f78c18f2ffa8]
15252
15253         * sudo.cat, sudo.man.in:
15254         regen
15255         [7e2bf63d6d9a]
15256
15257         * sudo.pod:
15258         Don't italicize the string "sudoedit"
15259         [c691643bd269]
15260
15261 2004-08-16  Todd C. Miller  <Todd.Miller@courtesan.com>
15262
15263         * HISTORY:
15264         Mention GratiSoft.
15265         [dc53de581b2d]
15266
15267 2004-08-11  Todd C. Miller  <Todd.Miller@courtesan.com>
15268
15269         * sudo.tab.c:
15270         regen
15271         [8ae0484dfc38]
15272
15273         * parse.yacc:
15274         Reset used_runas to FALSE when re-intializing the parser.
15275         [b7403f353a02]
15276
15277 2004-08-09  Todd C. Miller  <Todd.Miller@courtesan.com>
15278
15279         * config.guess:
15280         Correct OpenBSD mips support
15281         [314fc7afc165]
15282
15283         * config.guess:
15284         Add OpenBSD/mips
15285         [ac87d0a773ef]
15286
15287 2004-08-07  Aaron Spangler  <aaron777@gmail.com>
15288
15289         * README.LDAP:
15290         More behavior notes
15291         [13be1d212b47]
15292
15293         * README.LDAP:
15294         Updates on current behavior
15295         [d498a8866d6f]
15296
15297 2004-08-06  Todd C. Miller  <Todd.Miller@courtesan.com>
15298
15299         * sudoers.pod:
15300         =back does not take an indentlevel (makes no difference to formatted
15301         files).
15302         [9c8523bb382a]
15303
15304         * sudo.pod:
15305         =back does not take an indentlevel (makes no difference to formatted
15306         files).
15307         [e5f479e24fa8]
15308
15309         * CHANGES:
15310         new
15311         [2dbd9aba8b33]
15312
15313         * sudo.c:
15314         Consistency. Use same error for bad -u #uid when targetpw is set as
15315         we do when a bad -u username is specified.
15316         [922961c4a9d6]
15317
15318         * TODO:
15319         Add checksum idea from Steve Mancini
15320         [e6ece1b766ba]
15321
15322         * sudoers.cat, sudoers.man.in:
15323         regen
15324         [370d2317829f]
15325
15326         * sudo.cat, sudo.man.in:
15327         regen
15328         [f93d41fc38b1]
15329
15330         * sudo.pod, sudoers.pod:
15331         Document the restriction on uids specified via -u when targetpw is
15332         set.
15333         [878fedb455db]
15334
15335         * sudo.c:
15336         Error out when targetpw is enabled and sudo is run with -u #uid but
15337         #uid does not exist in the passwd database. We can't do target
15338         authentication when the target is not in passwd!
15339         [27c5888c86eb]
15340
15341         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in:
15342         regen
15343         [ceb65711050c]
15344
15345         * TODO:
15346         Some more todo for the next release.
15347         [7b7417be7601]
15348
15349         * INSTALL:
15350         Make it clear that PAM should be used for DCE support when possible.
15351         [7502029fd385]
15352
15353         * sudoers.pod:
15354         o Document problems with wildcards and relative paths. o Make the
15355         order requirements more prominent. o Change a "set" to "reset" for
15356         clarity.
15357         [bacdd181b33f]
15358
15359 2004-08-05  Todd C. Miller  <Todd.Miller@courtesan.com>
15360
15361         * sudo.pod:
15362         Mention --with-secure-path, not SECURE_PATH.
15363         [41283ddde5e1]
15364
15365 2004-08-03  Aaron Spangler  <aaron777@gmail.com>
15366
15367         * ldap.c:
15368         reflect changes to parse.c
15369         [8880fe9b724d]
15370
15371 2004-08-02  Todd C. Miller  <Todd.Miller@courtesan.com>
15372
15373         * sudo.tab.c:
15374         regen
15375         [a57658ca9177]
15376
15377         * parse.c, parse.h, testsudoers.c, visudo.c:
15378         Don't pass user_cmnd and user_args to command_matches(), just use
15379         the globals there. Since we keep state with statics anyway it is
15380         misleading to pretend that passing in different cmnd and cmnd_args
15381         will work.
15382         [0a2544991fd6]
15383
15384         * parse.yacc:
15385         Don't pass user_cmnd and user_args to command_matches(), just use
15386         the globals there. Since we keep state with statics anyway it is
15387         misleading to pretend that passing in different cmnd and cmnd_args
15388         will work.
15389         [a4910bf6032b]
15390
15391         * parse.c:
15392         Fix a bug introduced in rev. 1.149. When checking for pseudo-
15393         commands check for a '/' anywhere in cmnd, not just the first
15394         character.
15395         [ce98142f03ca]
15396
15397 2004-07-31  Aaron Spangler  <aaron777@gmail.com>
15398
15399         * sudo.man.in, sudo.pod:
15400         Clarification thanks to Olivier Blin <oblin@mandrakesoft.com>
15401         [a91800e094b1]
15402
15403         * sudoers.man.in, sudoers.pod:
15404         Add ignore_local_sudoers
15405         [741ddcbf7083]
15406
15407         * README.LDAP:
15408         Sun One schema definition by Andreas.Bussjaeger@t-systems.com and
15409         janth@moldung.no
15410         [742c02e07cd9]
15411
15412 2004-07-29  Todd C. Miller  <Todd.Miller@courtesan.com>
15413
15414         * CHANGES:
15415         typo
15416         [e7cdefbd7a9a]
15417
15418 2004-07-23  Todd C. Miller  <Todd.Miller@courtesan.com>
15419
15420         * CHANGES:
15421         sync
15422         [734dafc4a85e]
15423
15424         * parse.c:
15425         Parse sudoers file as PERM_RUNAS not PERM_ROOT and remove a useless
15426         PERM_SUDOERS. Restore to PERM_ROOT upon exit of the parse.
15427         [151b7f593568]
15428
15429 2004-07-08  Todd C. Miller  <Todd.Miller@courtesan.com>
15430
15431         * CHANGES:
15432         PAM change
15433         [d8fb6d6a22d0]
15434
15435 2004-07-08  Aaron Spangler  <aaron777@gmail.com>
15436
15437         * ldap.c:
15438         Better debugging of ALL command
15439         [9db3e84029dc]
15440
15441 2004-07-08  Todd C. Miller  <Todd.Miller@courtesan.com>
15442
15443         * parse.c:
15444         When matching for "sudoedit" in sudoers check both the command the
15445         user typed *and* the command that is listed in the sudoers entry.
15446         [f36ca1f94095]
15447
15448 2004-07-04  Aaron Spangler  <aaron777@gmail.com>
15449
15450         * ldap.c:
15451         Added !command feature
15452         [ed539574611b]
15453
15454 2004-06-28  Todd C. Miller  <Todd.Miller@courtesan.com>
15455
15456         * auth/pam.c:
15457         Use pam_acct_mgmt() to check for disabled accounts; Brian Farrell
15458         [2be8e0e8813a]
15459
15460 2004-06-11  Todd C. Miller  <Todd.Miller@courtesan.com>
15461
15462         * LICENSE:
15463         License is ISC-style, not BSD-style
15464         [ac0589e1dd5d]
15465
15466         * CHANGES:
15467         sync
15468         [16058a30f404]
15469
15470 2004-06-10  Todd C. Miller  <Todd.Miller@courtesan.com>
15471
15472         * sudo.cat, sudo.man.in:
15473         regen
15474         [8820eb9c809b]
15475
15476         * sudo.pod:
15477         o Update some out of date bits to reality o Change the shell promt
15478         in examples to bourne-shell style o Clarify some details o Add a
15479         CAVEAT about "sudo cd /foo"
15480         [b0af373214b6]
15481
15482         * check.c:
15483         Don't ask for a password if invoking user == target user.
15484         [dd5c96141132]
15485
15486         * sudo.c:
15487         typo in comment
15488         [278d20f9b249]
15489
15490 2004-06-08  Todd C. Miller  <Todd.Miller@courtesan.com>
15491
15492         * sudoers.cat, sudoers.man.in:
15493         regen
15494         [9036c6f39eff]
15495
15496         * sudoers.pod:
15497         Expand on NOEXEC a little.
15498         [9a13756aebe4]
15499
15500         * TODO:
15501         sync
15502         [8d2c1af48de8]
15503
15504         * visudo.cat, visudo.man.in:
15505         regen
15506         [3921f01607c8]
15507
15508         * sudo.tab.c:
15509         regen
15510         [9338c3d68250]
15511
15512         * visudo.pod:
15513         Add a check in visudo for runas_default being set after it has
15514         already been used.
15515         [6700358d7ad8]
15516
15517         * CHANGES, parse.yacc, visudo.c:
15518         Add a check in visudo for runas_default being set after it has
15519         already been used.
15520         [803560986a8a]
15521
15522         * sudo.tab.c:
15523         regen
15524         [b60636e2cf63]
15525
15526         * parse.yacc:
15527         Add a MATCHED macro for testing whether foo_matches has been set to
15528         TRUE or FALSE. This is more readable than checking for >=0 or < 0.
15529         Doesn't change the actual code generated.
15530         [f376da8ccdc8]
15531
15532 2004-06-07  Todd C. Miller  <Todd.Miller@courtesan.com>
15533
15534         * sudoers.cat:
15535         regen
15536         [6cceb6d6c9bd]
15537
15538         * sudoers.man.in:
15539         regen
15540         [5acd12b730b3]
15541
15542         * sudoers.pod:
15543         Correct description of where Defaults specs should go.
15544         [6b11ff53d7ad]
15545
15546         * sudoers:
15547         Correct description of where Defaults specs should go.
15548         [868db857630d]
15549
15550         * testsudoers.c, visudo.c:
15551         update (c) year
15552         [272c8a53604c]
15553
15554         * logging.h:
15555         update (c) year
15556         [3cec76d400ce]
15557
15558         * ldap.c:
15559         update (c) year
15560         [f264632488a0]
15561
15562         * find_path.c:
15563         update (c) year
15564         [40c227af9227]
15565
15566         * auth/pam.c:
15567         update (c) year
15568         [87149e0eed50]
15569
15570         * auth/bsdauth.c, auth/kerb5.c:
15571         update (c) year
15572         [d72eb434c068]
15573
15574 2004-06-06  Todd C. Miller  <Todd.Miller@courtesan.com>
15575
15576         * sudo.tab.c:
15577         regen
15578         [83408d9e9d2e]
15579
15580         * auth/bsdauth.c, auth/kerb5.c, auth/pam.c, visudo.c:
15581         Remove trailing spaces, no actual code changes.
15582         [4c3bf2819293]
15583
15584         * tgetpass.c:
15585         Remove trailing spaces, no actual code changes.
15586         [96f6e0a24c26]
15587
15588         * ldap.c, logging.h, parse.c, parse.yacc, sudo.c, testsudoers.c:
15589         Remove trailing spaces, no actual code changes.
15590         [c7075d1cbed5]
15591
15592         * getcwd.c:
15593         Remove trailing spaces, no actual code changes.
15594         [776cc0374547]
15595
15596         * find_path.c:
15597         Remove trailing spaces, no actual code changes.
15598         [7ed7099f3c71]
15599
15600         * compat.h, defaults.c, env.c:
15601         Remove trailing spaces, no actual code changes.
15602         [893e83c33795]
15603
15604         * check.c:
15605         Remove trailing spaces, no actual code changes.
15606         [f77750f8803b]
15607
15608         * sudo.tab.c:
15609         regen
15610         [62e0ed883b31]
15611
15612         * parse.yacc:
15613         Fix a >=0 that should be <0 that was improperly converted when
15614         UNSPEC was added.
15615         [ad1531a55a49]
15616
15617         * parse.yacc:
15618         Add do {} while(0) around pop macro Set cmnd_matches to UNSPEC, not
15619         NOMATCH when resetting it.
15620         [ae017a12870a]
15621
15622         * parse.yacc:
15623         Fix pastos introduced in SETNMATCH addition.
15624         [6ea1c9d80681]
15625
15626 2004-06-05  Todd C. Miller  <Todd.Miller@courtesan.com>
15627
15628         * README.LDAP:
15629         Update for configure changes
15630         [637a635da287]
15631
15632         * sudo.tab.c:
15633         regen
15634         [4753c2788713]
15635
15636         * sudo.h:
15637         Add NOMATCH and UNSPEC defines (-1 and -2 respectively) and use
15638         these in parse.yacc. Also in parse.yacc initialize the *_matches
15639         vars to UNSPEC and add two macros, SETMATCH and SETNMATCH for use
15640         when setting *_matches to a value that may be
15641         NOMATCH/UNSPEC/TRUE/FALSE.
15642         [2ba622e15a4d]
15643
15644         * parse.yacc:
15645         Add NOMATCH and UNSPEC defines (-1 and -2 respectively) and use
15646         these in parse.yacc. Also in parse.yacc initialize the *_matches
15647         vars to UNSPEC and add two macros, SETMATCH and SETNMATCH for use
15648         when setting *_matches to a value that may be
15649         NOMATCH/UNSPEC/TRUE/FALSE.
15650         [746b519e41a6]
15651
15652         * parse.yacc:
15653         Initialize runas to -2, not -1 since we need to be able to
15654         distinguish between the initialized value and the value of a non-
15655         match when passing along the runas value to multiple commands.
15656
15657         The result of this is that an unmatched runas is now set to -1, not
15658         0. This is required now that parse.c treats a FALSE value for runas
15659         as being explicitly denied.
15660         [7791ed3621f6]
15661
15662 2004-06-03  Todd C. Miller  <Todd.Miller@courtesan.com>
15663
15664         * sudo.c, visudo.c:
15665         Error out if argc < 1.
15666         [ce6b2a9eda3c]
15667
15668         * getprogname.c:
15669         Error out if argc < 1.
15670         [c566cce8dc78]
15671
15672         * configure, configure.in:
15673         Add tests for what libs we need to link with for ldap and for
15674         whether or not lber.h needs to be explicitly included.
15675         [b2e9729cc4e7]
15676
15677 2004-06-03  Aaron Spangler  <aaron777@gmail.com>
15678
15679         * ldap.c:
15680         Solaris native LDAP build fix
15681         [39929e40eb11]
15682
15683 2004-06-01  Todd C. Miller  <Todd.Miller@courtesan.com>
15684
15685         * ldap.c:
15686         Set edn to NULL is ldap_get_dn() fails to avoid potential use of an
15687         unset variable.
15688         [6a4c20a66f98]
15689
15690         * sudo.h:
15691         Add prototype for sudo_ldap_list_matches
15692         [443b007a8dab]
15693
15694         * configure, configure.in:
15695         Better check for dirfd macro--we now set HAVE_DIRFD for the macro
15696         version too. Added check for dd_fd in `DIR' if no dirfd is found;
15697         this is now used to confitionally define the dirfd macro in
15698         compat.h.
15699         [567656978f7e]
15700
15701         * config.h.in:
15702         Better check for dirfd macro--we now set HAVE_DIRFD for the macro
15703         version too. Added check for dd_fd in `DIR' if no dirfd is found;
15704         this is now used to confitionally define the dirfd macro in
15705         compat.h.
15706         [34eace4faec8]
15707
15708         * compat.h:
15709         Better check for dirfd macro--we now set HAVE_DIRFD for the macro
15710         version too. Added check for dd_fd in `DIR' if no dirfd is found;
15711         this is now used to confitionally define the dirfd macro in
15712         compat.h.
15713         [8d50ff1bbf2a]
15714
15715         * closefrom.c:
15716         Only check /proc/$$/fd if we have the dirfd function/macro.
15717         [15e3ccce7553]
15718
15719         * compat.h, config.h.in, configure, configure.in:
15720         Add a check for a dirfd() function (like Linux) and add a dirfd
15721         macro in compat.h if there is no dirfd() function or macro.
15722         [1e95756edb50]
15723
15724         * closefrom.c, getcwd.c:
15725         dirfd() is now defined in compat.h as needed.
15726         [bb1d79271188]
15727
15728         * CHANGES:
15729         Clarify closefrom() note.
15730         [f4e4a5508dda]
15731
15732         * parse.c:
15733         When checking for a command in the directory, only copy the base dir
15734         once.
15735         [7a3276808b87]
15736
15737         * closefrom.c:
15738         If there is a /proc/$$/fd directory, behave like the Solaris
15739         closefrom() and only close the descriptors listed therein.
15740         [19de23779e84]
15741
15742         * alloc.c:
15743         compat.h guarantees INT_MAX is defined.
15744         [1bf0c79d4606]
15745
15746         * compat.h:
15747         Add definitions of OPEN_MAX and INT_MAX for those without it and
15748         remove definition of RLIM_INFINITY (now unused).
15749         [f827d1ebf96e]
15750
15751         * CHANGES, alloc.c, check.c, compat.h, find_path.c, getcwd.c, parse.c,
15752         sudo.c, sudo.h, visudo.c:
15753         Use PATH_MAX, not MAXPATHLEN since the former is standardized.
15754         [59788f211c24]
15755
15756 2004-05-31  Todd C. Miller  <Todd.Miller@courtesan.com>
15757
15758         * CHANGES:
15759         sync
15760         [d32fa124f1ad]
15761
15762         * RUNSON:
15763         Add some entries that were mailed in a while ago
15764         [ff8d5bfec54e]
15765
15766         * closefrom.c:
15767         o sysconf returns a long, not an int. o check for negative return
15768         value from sysconf/getdtablesize and use OPEN_MAX in this case. o
15769         define OPEN_MAX to 256 for those without it (a fair guess...)
15770         [ccf81ae6deb2]
15771
15772 2004-05-30  Todd C. Miller  <Todd.Miller@courtesan.com>
15773
15774         * UPGRADE:
15775         Mention change in parse order for RunAs entries.
15776         [dc73b0bca617]
15777
15778         * configure:
15779         regen
15780         [07cce8e0534e]
15781
15782 2004-05-29  Todd C. Miller  <Todd.Miller@courtesan.com>
15783
15784         * INSTALL, README.LDAP, config.h.in, configure.in:
15785         o --with-ldap now takes an optional dir as a parameter o added
15786         check for ldap_initialize() and start_tls_s()
15787         [2b846c7974c6]
15788
15789         * README.LDAP:
15790         Fix some typos, word choice and formatting issues.
15791         [00dc8ca84b10]
15792
15793 2004-05-28  Todd C. Miller  <Todd.Miller@courtesan.com>
15794
15795         * tgetpass.c:
15796         Use SA_INTERRUPT so SunOS works correctly, avoid stdio and just use
15797         read/write as it is simpler.
15798         [30f5446ee8b0]
15799
15800         * configure, configure.in:
15801         Remove hack overriding cross-compiler check. It should no longer be
15802         needed.
15803         [22a6cbd88608]
15804
15805         * compat.h:
15806         Remove select() compat bits since we no longer use select().
15807         [d7bbf7cd36f5]
15808
15809         * CHANGES, tgetpass.c:
15810         Use alarm() instead of select() for the timeout for systems that
15811         don't fully/properly implement select().
15812         [d7cc60f15800]
15813
15814 2004-05-27  Todd C. Miller  <Todd.Miller@courtesan.com>
15815
15816         * CHANGES:
15817         synbc
15818         [132a39788e07]
15819
15820         * RUNSON:
15821         update
15822         [61ef508380c6]
15823
15824         * set_perms.c:
15825         Deal with systems that have no way of setting the effective uid such
15826         as nsr-tandem-nsk.
15827         [306e00e9b5a4]
15828
15829         * configure, configure.in:
15830         Define NO_SAVED_IDS if we don't find seteuid()
15831         [8588f18345cf]
15832
15833         * config.h.in, configure, configure.in:
15834         Add back check for setreuid() since NSK doesn't have it.
15835         [43127bd703d1]
15836
15837         * sudoers.cat, sudoers.man.in:
15838         regen
15839         [af4f4b20e422]
15840
15841         * CHANGES:
15842         sync
15843         [29ca3b699c24]
15844
15845         * BUGS:
15846         sync
15847         [3593f17f72ed]
15848
15849         * parse.c:
15850         In sudoers_lookup() return VALIDATE_NOT_OK if the runas user was
15851         explicitly denied and the command matched. This fixes a long-
15852         standing bug and makes: foo machine = (ALL) /usr/bin/blah
15853         foo machine = (!bar) /usr/bin/blah
15854
15855         equivalent to: foo machine = (ALL, !bar) /usr/bin/blah
15856         [2f5ee244985a]
15857
15858         * sudoers.pod:
15859         Clarify mail_noperm
15860         [3238b2d41989]
15861
15862 2004-05-20  Aaron Spangler  <aaron777@gmail.com>
15863
15864         * Makefile.in:
15865         Missing DESTDIR in make install for sudo_noexec.la
15866         [91431e821525]
15867
15868 2004-05-17  Todd C. Miller  <Todd.Miller@courtesan.com>
15869
15870         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in, visudo.cat,
15871         visudo.man.in:
15872         regen
15873         [cdfde0dcb556]
15874
15875         * TODO:
15876         sync
15877         [4799b7d8b62c]
15878
15879         * sudoers.pod:
15880         Remove fastboot/fasthalt (who still remembers these?) and add a
15881         minimal sudoedit example.
15882         [19d299f233cd]
15883
15884         * sample.sudoers:
15885         Remove fastboot/fasthalt (who still remembers these?) and add a
15886         minimal sudoedit example.
15887         [b1bca73d6250]
15888
15889         * UPGRADE, sudo.c, visudo.c:
15890         filesystem -> file system
15891         [1e1afaf30469]
15892
15893         * TROUBLESHOOTING:
15894         filesystem -> file system
15895         [39fb594e9338]
15896
15897         * CHANGES, INSTALL:
15898         filesystem -> file system
15899         [85948b608ffe]
15900
15901         * sudo.pod, sudoers.pod:
15902         Fix some minor typos and formatting goofs
15903         [e94d243a0b90]
15904
15905         * lex.yy.c:
15906         regen
15907         [2eed0ab1f4c4]
15908
15909         * visudo.pod:
15910         remove my email addr
15911         [b63262c0389b]
15912
15913         * sudo.pod, sudoers.pod, visudo.pod:
15914         Use @mansectform@ and @mansectsu@ everywhere Make man page
15915         references links with L<>
15916         [f459f4b9ddb9]
15917
15918         * parse.lex:
15919         Accept quoted globbing characters and pass them verbatim for
15920         fnmatch()
15921         [8248b86e9380]
15922
15923         * UPGRADE:
15924         Document that /tmp/.odus is gone.
15925         [3667b66af5bb]
15926
15927         * pathnames.h.in:
15928         No longer use /tmp/.odus as a possible timestamp dir unless
15929         specifically configured to do so. Instead, if no /var/run exists,
15930         use /var/adm/sudo or /usr/adm/sudo.
15931         [48d94c9f9ad4]
15932
15933         * configure:
15934         No longer use /tmp/.odus as a possible timestamp dir unless
15935         specifically configured to do so. Instead, if no /var/run exists,
15936         use /var/adm/sudo or /usr/adm/sudo.
15937         [058d7b8cf07b]
15938
15939         * aclocal.m4:
15940         No longer use /tmp/.odus as a possible timestamp dir unless
15941         specifically configured to do so. Instead, if no /var/run exists,
15942         use /var/adm/sudo or /usr/adm/sudo.
15943         [cf52c4c2803f]
15944
15945         * CHANGES:
15946         No longer use /tmp/.odus as a possible timestamp dir unless
15947         specifically configured to do so. Instead, if no /var/run exists,
15948         use /var/adm/sudo or /usr/adm/sudo.
15949         [6058c4cefcec]
15950
15951         * set_perms.c, sudo.c, tgetpass.c, visudo.c:
15952         Preliminary changes to support nsr-tandem-nsk. Based on patches
15953         from Tom Bates.
15954         [2e5f81834383]
15955
15956         * logging.c:
15957         Preliminary changes to support nsr-tandem-nsk. Based on patches
15958         from Tom Bates.
15959         [934bbe6872b6]
15960
15961         * check.c, compat.h:
15962         Preliminary changes to support nsr-tandem-nsk. Based on patches
15963         from Tom Bates.
15964         [390b698b5924]
15965
15966 2004-05-16  Todd C. Miller  <Todd.Miller@courtesan.com>
15967
15968         * CHANGES:
15969         There was no 1.6.7p6.
15970         [8013d2e6b062]
15971
15972         * BUGS, CHANGES:
15973         sync
15974         [c38b41f32857]
15975
15976         * Makefile.in:
15977         add missing files to DISTFILES
15978         [e6a80ad03039]
15979
15980         * sudo.cat, sudoers.cat, visudo.cat:
15981         regen
15982         [027bc9746dd5]
15983
15984         * sudoers.man.in:
15985         regen
15986         [f5e85ef686cf]
15987
15988         * Makefile.in:
15989         Fix some line wrap and update (c) year
15990         [bad1f46aa1ca]
15991
15992 2004-04-28  Aaron Spangler  <aaron777@gmail.com>
15993
15994         * README.LDAP:
15995         Build Note
15996         [7a061248249b]
15997
15998 2004-04-07  Aaron Spangler  <aaron777@gmail.com>
15999
16000         * Makefile.in:
16001         Fix install-dirs
16002         [be0726dd92e7]
16003
16004 2004-04-05  Todd C. Miller  <Todd.Miller@courtesan.com>
16005
16006         * sudo.tab.c:
16007         regen
16008         [3f4f0d1ab8b9]
16009
16010         * visudo.c:
16011         In Exit() when used as a signal handler, emsg is a pointer so
16012         sizeof() is wrong so make it a #define instead. Also avoid using a
16013         negative exit value. Found by Aaron Campbell
16014         [78716a3a3fdc]
16015
16016 2004-03-24  Todd C. Miller  <Todd.Miller@courtesan.com>
16017
16018         * sudoers.pod:
16019         Remove bogus sentence about uids in a User_List. Document usernames
16020         vs. uid parsing in a Runas_List.
16021         [7ca510b5031c]
16022
16023         * parse.c, parse.h, parse.yacc, sudo.c, testsudoers.c, visudo.c:
16024         If the user specified a uid with the -u flag and the uid exists in
16025         the passwd file, set runas_user to the name, not the uid.
16026
16027         When comparing usernames in sudoers, if a name is really a uid
16028         (starts with '#') compare it numerically to pw_uid.
16029         [8d6935d04673]
16030
16031 2004-03-22  Todd C. Miller  <Todd.Miller@courtesan.com>
16032
16033         * auth/kerb5.c:
16034         krb5_mcc_ops should be const; Johnny C. Lam
16035         [aa8c753e426e]
16036
16037 2004-02-28  Aaron Spangler  <aaron777@gmail.com>
16038
16039         * CHANGES, config.h.in, ldap.c:
16040         Added start_tls support
16041         [7ef864c15b69]
16042
16043 2004-02-14  Todd C. Miller  <Todd.Miller@courtesan.com>
16044
16045         * Makefile.in:
16046         Clean up libtool stuff for 'make distclean' and add def_data.c,
16047         def_data.h to PARSESRCS.
16048         [bf9bb6bb06ab]
16049
16050 2004-02-14  Aaron Spangler  <aaron777@gmail.com>
16051
16052         * strlcat.c, strlcpy.c:
16053         Un-Fix last license munge
16054         [42654b77ac71]
16055
16056 2004-02-13  Todd C. Miller  <Todd.Miller@courtesan.com>
16057
16058         * configure:
16059         regen
16060         [e4de6b23a4dc]
16061
16062         * CHANGES, RUNSON, TODO:
16063         checkpoint
16064         [94e1ace84d5c]
16065
16066         * lex.yy.c, sudo.tab.c:
16067         regen
16068         [8ce784505643]
16069
16070         * auth/passwd.c, auth/rfc1938.c, auth/secureware.c, auth/securid.c,
16071         auth/securid5.c, auth/sia.c, auth/sudo_auth.c, auth/sudo_auth.h,
16072         emul/search.h, emul/utime.h:
16073         More to a less restrictive, ISC-style license.
16074         [a31b20e48003]
16075
16076         * auth/kerb5.c, auth/pam.c:
16077         More to a less restrictive, ISC-style license.
16078         [e41f92b41216]
16079
16080         * auth/dce.c, auth/fwtk.c, auth/kerb4.c:
16081         More to a less restrictive, ISC-style license.
16082         [87534c164a52]
16083
16084         * auth/bsdauth.c:
16085         More to a less restrictive, ISC-style license.
16086         [e21be6594b58]
16087
16088         * auth/afs.c, auth/aix_auth.c, zero_bytes.c:
16089         More to a less restrictive, ISC-style license.
16090         [6d234be91c5e]
16091
16092         * sudoers.man.in, sudoers.pod, testsudoers.c, tgetpass.c, visudo.c,
16093         visudo.man.in, visudo.pod:
16094         More to a less restrictive, ISC-style license.
16095         [b02aea324fd6]
16096
16097         * sudo_noexec.c:
16098         More to a less restrictive, ISC-style license.
16099         [a6da7631e0b2]
16100
16101         * strlcat.c, strlcpy.c, sudo.c, sudo.h, sudo.man.in, sudo.pod,
16102         sudo_edit.c:
16103         More to a less restrictive, ISC-style license.
16104         [71cdcc241e94]
16105
16106         * sigaction.c, strerror.c:
16107         More to a less restrictive, ISC-style license.
16108         [4bccdedca58a]
16109
16110         * ldap.c, logging.c, logging.h, parse.c, parse.h, pathnames.h.in,
16111         set_perms.c:
16112         More to a less restrictive, ISC-style license.
16113         [64d772d70ab3]
16114
16115         * getspwuid.c, goodpath.c, ins_2001.h, ins_classic.h, ins_csops.h,
16116         ins_goons.h, insults.h, interfaces.c, interfaces.h:
16117         More to a less restrictive, ISC-style license.
16118         [520381c60a54]
16119
16120         * find_path.c, getprogname.c:
16121         More to a less restrictive, ISC-style license.
16122         [f605d5eab6f1]
16123
16124         * fileops.c:
16125         More to a less restrictive, ISC-style license.
16126         [4129a8b38a67]
16127
16128         * env.c:
16129         More to a less restrictive, ISC-style license.
16130         [d5bd859757de]
16131
16132         * defaults.h:
16133         More to a less restrictive, ISC-style license.
16134         [008f5d5743f5]
16135
16136         * LICENSE, Makefile.in, alloc.c, check.c, closefrom.c, compat.h,
16137         defaults.c:
16138         More to a less restrictive, ISC-style license.
16139         [d8d7bfc8a18b]
16140
16141         * utime.c, version.h:
16142         More to a less restrictive, ISC-style license.
16143         [e2e038ad8209]
16144
16145         * parse.lex, parse.yacc:
16146         More to a less restrictive, ISC-style license.
16147         [2f5942e847a1]
16148
16149         * Makefile.binary:
16150         More to a less restrictive, ISC-style license.
16151         [1ed561734535]
16152
16153 2004-02-13  Aaron Spangler  <aaron777@gmail.com>
16154
16155         * sudoers2ldif:
16156         Merged in LDAP Support
16157         [3994c4d05947]
16158
16159         * ldap.c, sudo.c, sudo.h:
16160         Merged in LDAP Support
16161         [547eaa346fcc]
16162
16163         * def_data.c, def_data.h, def_data.in:
16164         Merged in LDAP Support
16165         [8fb255280e42]
16166
16167         * CHANGES, Makefile.in, README.LDAP, config.h.in, configure.in:
16168         Merged in LDAP Support
16169         [1038092a161e]
16170
16171 2004-02-08  Todd C. Miller  <Todd.Miller@courtesan.com>
16172
16173         * sudo.h, sudo_noexec.c:
16174         Only do "extern int errno" if errno is not a macro.
16175         [b2e02a08be8b]
16176
16177 2004-02-06  Todd C. Miller  <Todd.Miller@courtesan.com>
16178
16179         * set_perms.c:
16180         setreuid(0, 0) fails on QNX if the euid is not already 0 so set the
16181         euid first, then just call setuid(0) to set the real uid too.
16182         [f08546e2e0ee]
16183
16184         * set_perms.c:
16185         Use setresuid() and setreuid() for PERM_RUNAS when appropriate
16186         instead of seteuid() which may not exist.
16187         [ba508581befb]
16188
16189 2004-02-04  Todd C. Miller  <Todd.Miller@courtesan.com>
16190
16191         * LICENSE:
16192         2004
16193         [37425513a342]
16194
16195         * INSTALL, config.h.in, configure, configure.in, ins_classic.h:
16196         Add --with-pc-insults configure option
16197         [7daa5294c17b]
16198
16199         * visudo.man.in:
16200         Prefer VISUAL over EDITOR like old vipw did.
16201         [996252a4ab65]
16202
16203 2004-02-01  Todd C. Miller  <Todd.Miller@courtesan.com>
16204
16205         * sudo.man.in, sudoers.man.in:
16206         regen
16207         [a247f1c52eb9]
16208
16209         * sudoers.pod:
16210         Add a note that noexec is not a cure-all.
16211         [9e7fc535367d]
16212
16213         * sudoers.pod:
16214         Mention that disabling "root_sudo" is pretty pointless.
16215         [f38a415afba0]
16216
16217         * configure, configure.in:
16218         Substitute for root_sudo in sudoers.pod
16219         [ce483cfc86be]
16220
16221         * sudo.pod:
16222         Add sudoedit to the NAME section
16223         [51bc453ec2f6]
16224
16225         * sudoers.pod:
16226         Document that fact that setting ignore_dot in sudoers has no effect
16227         due to the fact that find_path() is called *before* sudoers is read.
16228         [6808df7e417c]
16229
16230 2004-01-30  Todd C. Miller  <Todd.Miller@courtesan.com>
16231
16232         * sudo_edit.c:
16233         Do not require _PATH_USRTMP to be set.
16234         [546f3270dd10]
16235
16236         * BUGS, CHANGES, TODO:
16237         sync
16238         [4205ddeab781]
16239
16240         * sudo.man.in:
16241         regen
16242         [e2143690a88a]
16243
16244         * sudo.pod:
16245         Clarify that when sudo is run by root with the SUDO_USER variable
16246         set, the sudoers lookup happens for root and not the SUDO_USER user.
16247         [47207bec1bdf]
16248
16249 2004-01-29  Todd C. Miller  <Todd.Miller@courtesan.com>
16250
16251         * auth/pam.c, auth/sudo_auth.c, interfaces.c, logging.c, parse.c,
16252         set_perms.c, sigaction.c, sudo.c, tgetpass.c:
16253         Use the SET, CLR and ISSET macros.
16254         [a8b0d7f1e8fd]
16255
16256         * fnmatch.c:
16257         Use the SET, CLR and ISSET macros.
16258         [1afbcba22ba6]
16259
16260         * defaults.c, env.c:
16261         Use the SET, CLR and ISSET macros.
16262         [2f39431e0a49]
16263
16264         * interfaces.h:
16265         MAIN was replaced with _SUDO_MAIN some time ago.
16266         [ea1b38f2ac9d]
16267
16268         * sudo.c:
16269         Don't look at prev_user until after we've parsed sudoers and done
16270         the password check. That way, if sudo/sudoedit is run from a root
16271         process that was invoked by sudo, we check sudoers for root, not the
16272         previous user. This makes sudoedit much more useful and means that
16273         for the sudo case, we get correct logging on who actually ran the
16274         command.
16275         [431dfbf20552]
16276
16277 2004-01-23  Todd C. Miller  <Todd.Miller@courtesan.com>
16278
16279         * sudo_edit.c:
16280         Add a comment describing why we need to be notified about our child
16281         stopping.
16282         [0bec3ce4b49d]
16283
16284 2004-01-22  Todd C. Miller  <Todd.Miller@courtesan.com>
16285
16286         * def_data.c, def_data.in:
16287         Update the noexec variable descriptions
16288         [9cb7f1aa0e57]
16289
16290         * sudoers.man.in, sudoers.pod:
16291         noexec now replaces more than just execve()
16292         [23cbdc0ee95c]
16293
16294         * sudo_noexec.c:
16295         Alas, all the world does not go through execve(2). Many systems
16296         still have an execv(2) system call, Linux 2.6 provides fexecve(2)
16297         and it is not uncommon for libc to have underscore ('_') versions of
16298         the functions to be used internally by the library. Instead of
16299         stubbing all these out by hand, define a macro and let it do the
16300         work. Extra exec functions pointed out by Reznic Valery.
16301         [9fa0cd871b0c]
16302
16303         * sudo.c, sudo_edit.c:
16304         Fix suspending the editor in -e mode. Because we do a fork() first
16305         we need to be notified when the child has been stopped and then send
16306         that same signal to ourself so the shell can do its job control
16307         thing.
16308         [773165eb6057]
16309
16310         * visudo.c:
16311         Use WIFEXITED and WEXITSTATUS macros. If there are systems out
16312         there that want to run sudo that still don't support these we can
16313         try to deal with that later.
16314         [6af68e4aff60]
16315
16316         * lex.yy.c:
16317         regen
16318         [403435317d5d]
16319
16320         * sudo.man.in, sudo.pod, sudoers.man.in, sudoers.pod:
16321         Document sudo -e / sudoedit
16322         [a80f6ea910af]
16323
16324         * configure, configure.in:
16325         fix typo
16326         [5020fcdc27f4]
16327
16328         * config.h.in, configure.in:
16329         Add SET/CLR/ISSET
16330         [03ff57286e7e]
16331
16332 2004-01-21  Todd C. Miller  <Todd.Miller@courtesan.com>
16333
16334         * sudo.c:
16335         Allow non-exclusive flags when invoked as sudoedit. Pretty print the
16336         long usage() line to not wrap (assumes 80 char display)
16337         [3941fa4004bb]
16338
16339         * Makefile.in, sudo.c:
16340         If sudo is invoked as "sudoedit" the -e flag is implied and no other
16341         flags are permitted.
16342         [929670b01293]
16343
16344         * sudo.h:
16345         Add a new flag, -e, that makes it possible to give users the ability
16346         to edit files with the editor of their choice as the invoking user,
16347         not the runas user. Temporary files are used for the actual edit
16348         and the temp file is copied over the original after the editor is
16349         done.
16350         [c4051414c1f4]
16351
16352         * Makefile.in, parse.c, parse.lex, sudo.c, sudo_edit.c:
16353         Add a new flag, -e, that makes it possible to give users the ability
16354         to edit files with the editor of their choice as the invoking user,
16355         not the runas user. Temporary files are used for the actual edit
16356         and the temp file is copied over the original after the editor is
16357         done.
16358         [37ac05c8ac3c]
16359
16360         * env.c, sudo.c:
16361         If real uid == 0 and the SUDO_USER environment variables is set, use
16362         that to determine the invoking user's true identity. That way the
16363         proper info gets logged by someone who has done "sudo su" but still
16364         uses sudo to as root. We can't do this for non-root users since
16365         that would open up a security hole, though perhaps it would be
16366         acceptable to use getlogin(2) on OSes where this a system call (and
16367         doesn't just look in the utmp file).
16368         [c2f9198708a1]
16369
16370         * pathnames.h.in:
16371         Add _PATH_TMP, _PATH_VARTMP and _PATH_USRTMP
16372         [7d9e5768df93]
16373
16374         * config.h.in, configure, configure.in:
16375         Add check for fchown(2)
16376         [a85df18798ed]
16377
16378 2004-01-20  Todd C. Miller  <Todd.Miller@courtesan.com>
16379
16380         * sudo.c:
16381         Back out portions of the -i commit that set NewArgv[0] in
16382         set_runaspw. It is far to late to set NewArgv[0] there and will have
16383         no effect anyway as cmnd and safe_cmnd have already been set.
16384         [c2d343430c1c]
16385
16386         * visudo.c, visudo.pod:
16387         Prefer VISUAL over EDITOR like old vipw did.
16388         [ae32f477cea3]
16389
16390 2004-01-19  Todd C. Miller  <Todd.Miller@courtesan.com>
16391
16392         * env.c, sudo.c:
16393         In -i mode always set new environment based on the runas user's
16394         passwd entry.
16395         [fa653b7887a8]
16396
16397 2004-01-18  Todd C. Miller  <Todd.Miller@courtesan.com>
16398
16399         * sudo.man.in, sudo.pod:
16400         Document the new -i flag and sync SYNOPSIS section with usage() in
16401         sudo.c. Also sort the flags in the OPTIONS section.
16402         [6aabc0ffc47e]
16403
16404         * sudo.c, sudo.h:
16405         o Add -i that acts similar to "su -", based on patches from David J.
16406         MacKenzie o Sort the flags in the usage message
16407         [c0fe7d6beffd]
16408
16409         * sudoers.man.in, sudoers.pod:
16410         Add a missing @runas_default@ substitution.
16411         [60516fe2d090]
16412
16413 2004-01-17  Todd C. Miller  <Todd.Miller@courtesan.com>
16414
16415         * sudo.c:
16416         Change euid to runas user before calling find_path().
16417         Unfortunately, though runas_user can be modified in sudoers we
16418         haven't parsed sudoers yet.
16419         [f469fdf2e313]
16420
16421         * sudoers.man.in, sudoers.pod:
16422         Add missing defintion of Parameter_List and use single pipes in the
16423         Defaults EBNF definition.
16424         [f7bed6e909bf]
16425
16426         * sudo.c:
16427         Fix a bug when set_runaspw() is used as a callback. We don't want
16428         to reset the contents of runas_pw if the user specified a user via
16429         the -u flag.
16430
16431         Avoid unnecessary passwd lookups in set_authpw(). In most cases we
16432         already have the info in runas_pw.
16433         [efc35623ba09]
16434
16435 2004-01-16  Todd C. Miller  <Todd.Miller@courtesan.com>
16436
16437         * check.c:
16438         Add Stan Lee / Uncle Ben quote to the lecture from RedHat
16439         [ebd5a76ccd7e]
16440
16441         * sudo.h:
16442         Update sudo_getepw() proto and add one for set_runaspw()
16443         [6ed65795c17f]
16444
16445         * parse.c:
16446         If we can't stat the command as root, try as the runas user instead.
16447         [ae713fca0e15]
16448
16449         * testsudoers.c, visudo.c:
16450         Add stub set_runaspw() function
16451         [42aa37050053]
16452
16453         * sudo.c:
16454         Add set_runaspw() function to fill in runas_pw. This will be used
16455         as a callback to update runas_pw when the runas user changes.
16456         [e570aa0088d0]
16457
16458         * env.c, sudo.c:
16459         PERM_RUNAS -> PERM_FULL_RUNAS
16460         [51eec6f9e89a]
16461
16462         * set_perms.c, sudo.h:
16463         Rename PERM_RUNAS -> PERM_FULL_RUNAS and add a PERM_RUNAS that just
16464         changes the euid.
16465         [877c6fe4d12c]
16466
16467         * getspwuid.c:
16468         Make sudo_pwdup() act like OpenBSD pw_dup() and allocate memory in
16469         one chunk for easy free()ing. Also change it from static to extern.
16470         [ab503260a7ec]
16471
16472         * defaults.c, defaults.h:
16473         Add callback support
16474         [a61c4ca983fb]
16475
16476         * mkdefaults:
16477         Add a callback field and use it for runas_default
16478         [96b69c27df5e]
16479
16480         * def_data.c, def_data.in:
16481         Add a callback field and use it for runas_default
16482         [d3e9f06872b8]
16483
16484 2004-01-15  Todd C. Miller  <Todd.Miller@courtesan.com>
16485
16486         * auth/fwtk.c:
16487         Add support for chalnecho and display server responses used by fwtk
16488         >= 2.0
16489         [b1870f7aaf0d]
16490
16491 2004-01-12  Todd C. Miller  <Todd.Miller@courtesan.com>
16492
16493         * sudoers.man.in, sudoers.pod:
16494         ld.so is ld.so.1 on solaris
16495         [2bf9a123fa4c]
16496
16497         * Makefile.in, config.h.in, configure, configure.in, sudo.c, sudo.h:
16498         Use closefrom() instead of doing the equivalent inline.
16499         [7e3ef6072884]
16500
16501         * closefrom.c:
16502         closefrom(3) for systems w/o it
16503         [35caf58bb636]
16504
16505 2004-01-09  Todd C. Miller  <Todd.Miller@courtesan.com>
16506
16507         * sudoers.man.in:
16508         Update from .pod file.
16509         [d4c94fc0e0c9]
16510
16511         * configure, configure.in:
16512         Substitute noexec_file for the sudoers man page
16513         [203d3376a551]
16514
16515         * sudo.man.in, sudo.pod:
16516         Mention noexec
16517         [014375ddbb06]
16518
16519         * sudoers.man.in, sudoers.pod:
16520         Document noexec
16521         [49a65d06201f]
16522
16523         * auth/pam.c, config.h.in, configure.in:
16524         Move PAM_CONST macro definition from config.h to pam.c where it
16525         belongs. We can't have this in config.h since that gets included too
16526         early.
16527         [e64748071637]
16528
16529         * auth/pam.c, config.h.in, configure, configure.in:
16530         Some PAM implementations put their headers in /usr/include/pam
16531         instead of /usr/include/security.
16532         [8cc749e9575c]
16533
16534         * configure.in:
16535         I missed changing the EXEC macro -> EXECV here when I changed this
16536         in config.h.in and sudo.c a while ago.
16537         [6f5afac7789f]
16538
16539         * acsite.m4:
16540         OpenBSD vax/m88k/hppa don't do shared libs
16541         [e4901d958bb7]
16542
16543         * configure, configure.in:
16544         o merge the hpux case entries into a single entry w/ its own sub-
16545         case statement. o HP-UX >= 11 support getspnam(), use it in
16546         preference to getprpwuid()
16547         [0caad428894e]
16548
16549         * configure, configure.in:
16550         eval $shrext so that it expands nicely on MacOS X
16551         [40419343eef8]
16552
16553         * Makefile.in:
16554         Don't lie about making a module, it does the wrong thing on mach
16555         [7629b28f5688]
16556
16557         * ltmain.sh:
16558         Remove requirement that libs must begin with "lib". They don't when
16559         we point directly at the lib using LD_PRELOAD or its equivalent.
16560         [d66f3de6ec85]
16561
16562         * acsite.m4:
16563         Disable support for c++, f77 and java. We don't need it, it takes a
16564         lot of time, and it hosed our check for shared lib support.
16565         [4f5749c52ce4]
16566
16567         * configure:
16568         regen
16569         [160865e9d15f]
16570
16571         * configure.in:
16572         Call AC_ENABLE_SHARED and check the status of enable_shared to know
16573         when shared libs are available.
16574         [42504c1668fc]
16575
16576         * acsite.m4:
16577         Duh, OpenBSD suports shared libs too
16578         [8e3cd9417475]
16579
16580         * config.h.in, configure.in:
16581         Only OpenPAM and Linux PAM use const qualifiers.
16582         [b2f76476e866]
16583
16584         * configure, configure.in:
16585         o No need to check for sed, libtool config does that for us o move
16586         check for --with-noexec until after libtool magic is run so we can
16587         use $can_build_shared and $shrext
16588         [668c656e89cc]
16589
16590         * ltmain.sh:
16591         Don't print a bunch of crap about library installs since we are not
16592         really installing a library.
16593         [83fbcad29fe4]
16594
16595         * env.c:
16596         Make format_env() varargs Add noexec support for Darwin, MacOS X,
16597         Irix, and Tru64
16598         [468885d75d10]
16599
16600         * acsite.m4, ltconfig, ltmain.sh:
16601         Update to libtool 1.5 with local changes: o no ldconfig in the
16602         finish step o assume no libprefix or version is needed
16603         [4961cffc3797]
16604
16605         * sudo_noexec.c:
16606         Fix compilation under K&R
16607         [8b309bf0b1b2]
16608
16609 2004-01-06  Todd C. Miller  <Todd.Miller@courtesan.com>
16610
16611         * CHANGES:
16612         checkpoint
16613         [3c368badab32]
16614
16615         * sudo_noexec.c:
16616         stub execve() that just returns EACCES; used for noexec
16617         functionality
16618         [1297acae283a]
16619
16620         * sudo.tab.h:
16621         Regen w/ updated byacc from OpenBSD; fixes a gcc 3.2 issue with
16622         generated code.
16623         [dcab78c49273]
16624
16625         * sudo.tab.c:
16626         Regen w/ updated byacc from OpenBSD; fixes a gcc 3.2 issue with
16627         generated code.
16628         [0a61c735eabe]
16629
16630 2004-01-05  Todd C. Miller  <Todd.Miller@courtesan.com>
16631
16632         * def_data.c, def_data.h, def_data.in:
16633         Move the environment defaults to the end and shorten a few of the
16634         descriptions.
16635         [66787b9c612c]
16636
16637         * configure, configure.in:
16638         no shared libs on ultris or convexos
16639         [2c5f3c456e32]
16640
16641         * Makefile.in, configure, configure.in:
16642         Build sudo_noexec shared object using libtool; could use some
16643         cleanup.
16644         [373f483555dd]
16645
16646         * acsite.m4, ltconfig, ltmain.sh:
16647         libtool scaffolding
16648         [c903a42e3d90]
16649
16650         * parse.yacc, sudo.tab.c:
16651         Merge the NOPASSWD/PASSWD and NOEXEC/EXEC rules so that order is not
16652         important.
16653         [c6e8a34639a4]
16654
16655         * defaults.c, env.c, lex.yy.c, parse.c, parse.h, parse.lex,
16656         parse.yacc, pathnames.h.in, sudo.c, sudo.h, sudo.tab.c:
16657         update copyright year
16658         [a16372ae1711]
16659
16660         * configure, configure.in, defaults.c, env.c, pathnames.h.in:
16661         Add _PATH_SUDO_NOEXEC and corresponding --with-noexec configure
16662         option. The default value of noexec_file is set to this.
16663         [7d88e1d3c494]
16664
16665         * def_data.c, def_data.h, def_data.in, env.c, lex.yy.c, parse.c,
16666         parse.h, parse.lex, parse.yacc, sudo.c, sudo.h, sudo.tab.c,
16667         sudo.tab.h:
16668         Add support for preloading a shared object containing a dummy
16669         execve() function that just sets error and returns -1. This adds a
16670         "noexec_file" option to load the filename as well as a "noexec" flag
16671         to enable it unconditionally. There is also a NOEXEC tag that can
16672         be attached to specific commands and an EXEC tag to disable it.
16673         [c8b6712feb91]
16674
16675         * mkdefaults:
16676         add missing newline to usage statement
16677         [e84746618362]
16678
16679         * config.h.in, sudo.c:
16680         Rename EXEC macro -> EXECV
16681         [ddaa0c027299]
16682
16683         * logging.c:
16684         Don't truncate usernames to 8 characters in the log message.
16685         [f62a20f27075]
16686
16687         * check.c, sudoers.man.in, sudoers.pod:
16688         Update copyright year
16689         [ca9964054085]
16690
16691         * check.c, def_data.c, def_data.h, def_data.in, sudoers.man.in,
16692         sudoers.pod:
16693         Add a new option, lecture_file, that can be used to point to a
16694         custom sudo lecture.
16695         [940133231216]
16696
16697 2003-12-31  Todd C. Miller  <Todd.Miller@courtesan.com>
16698
16699         * auth/aix_auth.c, auth/bsdauth.c, auth/fwtk.c, auth/pam.c,
16700         auth/sudo_auth.c:
16701         Add a zero_bytes() function to do the equivalent of bzero in such a
16702         way that will heopfully not be optimized away by sneaky compilers.
16703         [161b6d74bfb4]
16704
16705         * zero_bytes.c:
16706         Add a zero_bytes() function to do the equivalent of bzero in such a
16707         way that will heopfully not be optimized away by sneaky compilers.
16708         [d035abf0af94]
16709
16710         * Makefile.in, sudo.h:
16711         Add a zero_bytes() function to do the equivalent of bzero in such a
16712         way that will heopfully not be optimized away by sneaky compilers.
16713         [ff136de3e255]
16714
16715         * err.c:
16716         Use #ifdef __STDC__, not #if __STDC__.
16717         [6889dd6bc51a]
16718
16719 2003-12-30  Todd C. Miller  <Todd.Miller@courtesan.com>
16720
16721         * mkdefaults:
16722         Always put at least one space between the def_* macro name and its
16723         definition.
16724         [6b3ad0e6619a]
16725
16726         * configure, configure.in:
16727         Adjust code for --without-lecture to match new values.
16728         [062aa788a6b9]
16729
16730         * visudo.man.in:
16731         regen after pasto fix
16732         [3deec16906c0]
16733
16734         * sudoers.man.in, sudoers.pod:
16735         Document that "lecture" has changed from a flag to a tuple.
16736         [e2c03062b533]
16737
16738         * check.c, def_data.c, def_data.h, def_data.in, defaults.c,
16739         defaults.h, logging.c, mkdefaults, parse.c, sudo.c, sudo.h:
16740         Add support for tuples in def_data.in; these are implemented as an
16741         enum type. Currently there is only a single tuple enum but in the
16742         future we may have one tuple enum per T_TUPLE entry in def_data.in.
16743         Currently listpw, verifypw and lecture are tuples. This avoids the
16744         need to have two entries (one ival, one str) for pwflags and syslog
16745         values.
16746
16747         lecture is now a tuple with the following values: never, once,
16748         always
16749
16750         We no longer use both an int and string entry for syslog facilities
16751         and priorities. Instead, there are logfac2str() and logpri2str()
16752         functions that get used when we need to print the string values.
16753         [5293f946c836]
16754
16755         * auth/aix_auth.c, auth/bsdauth.c, auth/fwtk.c, auth/pam.c,
16756         auth/rfc1938.c, auth/securid5.c, auth/sia.c, auth/sudo_auth.c,
16757         check.c, def_data.h, defaults.c, defaults.h, env.c, find_path.c,
16758         logging.c, mkdefaults, parse.c, parse.yacc, set_perms.c, sudo.c,
16759         sudo.tab.c, visudo.c:
16760         Create def_* macros for each defaults value so we no longer need the
16761         def_{flag,ival,str,list,mode} macros (which have been removed). This
16762         is a step toward more flexible data types in def_data.in.
16763         [009c02934106]
16764
16765         * TODO:
16766         checkpoint
16767         [0a99a4bb5d15]
16768
16769 2003-12-23  Todd C. Miller  <Todd.Miller@courtesan.com>
16770
16771         * sudo.c:
16772         If we are in -k/-K mode, just spew to stderr. It is not unusual for
16773         users to place "sudo -k" in a .logout file which can cause sudo to
16774         be run during reboot after the YP/NIS/NIS+/LDAP/etc daemon has died.
16775         Previously, this would result in useless mail and logging.
16776         [d282e7ed63af]
16777
16778 2003-12-16  Todd C. Miller  <Todd.Miller@courtesan.com>
16779
16780         * visudo.pod:
16781         fix pasto in VISUAL description
16782         [1c6a6148b5f9]
16783
16784 2003-12-10  Todd C. Miller  <Todd.Miller@courtesan.com>
16785
16786         * configure:
16787         regen
16788         [f44312c63799]
16789
16790         * CHANGES:
16791         checkpoint
16792         [0c42e38f78d5]
16793
16794         * TROUBLESHOOTING:
16795         Some OSes (like Solaris) allow export w/ nosuid too
16796         [973ce85ffa12]
16797
16798 2003-08-12  Todd C. Miller  <Todd.Miller@courtesan.com>
16799
16800         * compat.h:
16801         We don't use FD_ZERO anymore so just define FD_SET (if not already
16802         there).
16803         [d1c8c11905cd]
16804
16805 2003-06-29  Todd C. Miller  <Todd.Miller@courtesan.com>
16806
16807         * auth/pam.c:
16808         Fix a core dump on Solaris by preserving the pam_handle_t we used
16809         during authentication for pam_prep_user(). If we didn't
16810         authenticate (ie: ticket still valid), we call pam_init() from
16811         pam_prep_user(). This is something of a hack; it may be better to
16812         change the auth API and add an auth_final() function that acts like
16813         pam_prep_user().
16814         [f787de49b175]
16815
16816 2003-06-21  Todd C. Miller  <Todd.Miller@courtesan.com>
16817
16818         * set_perms.c:
16819         Add explicit declaration of printerr variable in function header
16820         (was defaulting to int which is OK but oh so K&R :-). From Theo.
16821         [492c2358783f]
16822
16823 2003-06-09  Todd C. Miller  <Todd.Miller@courtesan.com>
16824
16825         * config.h.in, configure.in:
16826         s/HAVE_STOW/USE_STOW/
16827         [4b99e1824ece]
16828
16829         * logging.c:
16830         Also exit waitpid() loop when pid == 0. Fixes a problem where the
16831         sudo process would spin eating up CPU until sendmail finished when
16832         it has to send mail.
16833         [ec3d5792b9b4]
16834
16835 2003-05-30  Todd C. Miller  <Todd.Miller@courtesan.com>
16836
16837         * fnmatch.c:
16838         Remove advertising clause, UCB has disavowed it
16839         [43a26bbd6628]
16840
16841         * fnmatch.3:
16842         Remove advertising clause, UCB has disavowed it
16843         [3ff24291bcfa]
16844
16845 2003-05-22  Todd C. Miller  <Todd.Miller@courtesan.com>
16846
16847         * parse.c:
16848         Don't assume that getgrnam() calls don't modify contents of struct
16849         passwd returned by getpwnam(). On FreeBSD w/ NIS this can happen.
16850         Based on a patch from Kirk Webb.
16851         [5574c68f60f3]
16852
16853 2003-05-06  Todd C. Miller  <Todd.Miller@courtesan.com>
16854
16855         * configure.in:
16856         missing ;;
16857         [22378f2a9d31]
16858
16859         * configure.in:
16860         darwin has a broken setreuid() in at least some versions
16861         [d572aed930d2]
16862
16863         * env.c:
16864         Fix an off by one error when reallocating the environment; Kevin Pye
16865         [3d98e7cf097a]
16866
16867 2003-04-30  Todd C. Miller  <Todd.Miller@courtesan.com>
16868
16869         * sudoers.pod:
16870         Fix User_Spec definition; SEKINE Tatsuo
16871         [49b0da65e090]
16872
16873 2003-04-28  Todd C. Miller  <Todd.Miller@courtesan.com>
16874
16875         * HISTORY:
16876         More info on the early days from Coggs.
16877         [9381ca10b06b]
16878
16879 2003-04-21  Todd C. Miller  <Todd.Miller@courtesan.com>
16880
16881         * auth/kerb5.c:
16882         remove errant semicolon that prevented compilation under heimdal
16883         [d2f2bb73a598]
16884
16885 2003-04-16  Todd C. Miller  <Todd.Miller@courtesan.com>
16886
16887         * testsudoers.c, tgetpass.c, visudo.c, visudo.man.in, visudo.pod:
16888         add DARPA credit on affected files
16889         [7020785ee50d]
16890
16891         * sudoers.pod:
16892         add DARPA credit on affected files
16893         [83b46318750b]
16894
16895         * sigaction.c, strerror.c, sudo.c, sudo.h, sudo.man.in, sudo.pod,
16896         sudoers.man.in:
16897         add DARPA credit on affected files
16898         [d8adf1c2ba22]
16899
16900         * set_perms.c:
16901         add DARPA credit on affected files
16902         [3d79fdabb582]
16903
16904         * pathnames.h.in:
16905         add DARPA credit on affected files
16906         [e334cdda422f]
16907
16908         * logging.c, parse.c:
16909         add DARPA credit on affected files
16910         [8f75f822755b]
16911
16912         * auth/passwd.c, auth/rfc1938.c, auth/secureware.c, auth/securid.c,
16913         auth/securid5.c, auth/sia.c, auth/sudo_auth.c, fileops.c,
16914         find_path.c, getprogname.c, getspwuid.c, goodpath.c, interfaces.c,
16915         interfaces.h:
16916         add DARPA credit on affected files
16917         [da66e28fb3f5]
16918
16919         * auth/kerb5.c, auth/pam.c:
16920         add DARPA credit on affected files
16921         [15da3021b49c]
16922
16923         * auth/afs.c, auth/aix_auth.c, auth/bsdauth.c, auth/dce.c,
16924         auth/fwtk.c, auth/kerb4.c, parse.lex, parse.yacc, utime.c,
16925         version.h:
16926         add DARPA credit on affected files
16927         [868d54cbddea]
16928
16929         * env.c:
16930         add DARPA credit on affected files
16931         [90239f51ef0a]
16932
16933         * defaults.c, defaults.h:
16934         add DARPA credit on affected files
16935         [6a64205fd1eb]
16936
16937         * compat.h:
16938         add DARPA credit on affected files
16939         [316a735783c4]
16940
16941         * Makefile.in, alloc.c, check.c:
16942         add DARPA credit on affected files
16943         [cd939e05c810]
16944
16945         * LICENSE:
16946         slightly different wording for the darpa credit
16947         [e468909c4a21]
16948
16949 2003-04-15  Todd C. Miller  <Todd.Miller@courtesan.com>
16950
16951         * LICENSE:
16952         Add DARPA credit
16953         [8eb20e2cd63e]
16954
16955 2003-04-14  Todd C. Miller  <Todd.Miller@courtesan.com>
16956
16957         * auth/kerb5.c:
16958         Use krb5_princ_component() instead of krb5_princ_realm() for MIT
16959         Kerberos like we did before I messed things up ;-)
16960
16961         Use krb5_principal_get_comp_string() to do the same thing w/
16962         Heimdal. I'm not sure if the component should be 0 or 1 in this
16963         case.
16964
16965         #define ENCTYPE_DES_CBC_MD5 ETYPE_DES_CBC_MD5 for Heimdal since
16966         older versions lack ENCTYPE_DES_CBC_MD5. This is gross and there
16967         should be a configure check for this I guess.
16968         [74919a3933fe]
16969
16970 2003-04-13  Todd C. Miller  <Todd.Miller@courtesan.com>
16971
16972         * sample.sudoers:
16973         builtin -> built-in; Jason McIntyre
16974         [027f2187923e]
16975
16976         * TROUBLESHOOTING, config.h.in, configure, configure.in:
16977         builtin -> built-in; Jason McIntyre
16978         [70b81ac48943]
16979
16980         * sudoers.pod:
16981         built in -> built-in; Jason McIntyre
16982         [da658ef5138d]
16983
16984 2003-04-09  Todd C. Miller  <Todd.Miller@courtesan.com>
16985
16986         * CHANGES:
16987         checkpoint for 1.6.7p3
16988         [da85f989fadf]
16989
16990         * HISTORY:
16991         Update info on the early years @ SUNY-Buffalo from Cliff Spencer.
16992         Amazingly, sudo source from 1985 is available via groups.google.com
16993         [39e0fc85b89f]
16994
16995         * sudo.c:
16996         Don't change rl.rlim_max for RLIMIT_CORE. We need only set
16997         rl.rlim_cur to 0 to turn off core dumps. This may be needed for the
16998         RLIMIT_CORE restoration on some OSes.
16999         [7e2c1a7adfd8]
17000
17001 2003-04-04  Todd C. Miller  <Todd.Miller@courtesan.com>
17002
17003         * auth/kerb5.c:
17004         Make this compile on Heimdal and MIT Kerberos 5
17005         [44c07d615868]
17006
17007         * config.h.in, configure, configure.in:
17008         Check for heimdal even if we found krb5-config and define
17009         HAVE_HEIMDAL.
17010         [aba0126f0059]
17011
17012         * auth/kerb5.c:
17013         Replace ETYPE_DES_CBC_MD5 with ENCTYPE_DES_CBC_MD5. The former is
17014         no longer defined by MIT kerb5 (though it used to be and indeed
17015         remains so in Heimdal).
17016         [e5a6c64d7cd5]
17017
17018 2003-04-03  Todd C. Miller  <Todd.Miller@courtesan.com>
17019
17020         * mkinstalldirs:
17021         Remove newer stuff that passes multiple (possibly duplicate)
17022         directories to "mkdir -p" since that seems to break on Tru64 Unix at
17023         least. This basically brings back what shipped with sudo 1.6.6.
17024         [f2a1abd872b3]
17025
17026 2003-04-02  Todd C. Miller  <Todd.Miller@courtesan.com>
17027
17028         * auth/kerb5.c:
17029         Correct number of args to krb5_principal_get_realm() and fix an
17030         unclosed comment that hid the bug.
17031         [0b37f8ce7824]
17032
17033         * configure:
17034         regen
17035         [1876cb840fe0]
17036
17037         * configure.in:
17038         ++version
17039         [480aff7c048e]
17040
17041         * README:
17042         ++version
17043         [488e0bbff613]
17044
17045         * Makefile.in:
17046         ++version
17047         [97ef63cedc38]
17048
17049         * INSTALL.binary:
17050         ++version
17051         [a506204e77d0]
17052
17053         * INSTALL:
17054         ++version
17055         [555aeba5c2bf]
17056
17057         * CHANGES, version.h:
17058         ++version
17059         [f66985a64063]
17060
17061         * BUGS:
17062         ++version
17063         [ea3573432412]
17064
17065         * configure.in:
17066         use krb5-config to determine Kerberos V details if it exists
17067         [7b46bbdaf774]
17068
17069         * alloc.c, auth/fwtk.c, auth/rfc1938.c, auth/securid.c,
17070         auth/securid5.c, auth/sia.c, check.c, compat.h, defaults.c, env.c,
17071         find_path.c, interfaces.c, logging.c, parse.c, sudo.c, sudo.h,
17072         testsudoers.c, visudo.c:
17073         Use warn/err and getprogname() throughout. The main exception is
17074         openlog(). Since the admin may be filtering logs based on the
17075         program name in the log files, hard code this to "sudo".
17076         [9f180d015cfa]
17077
17078         * Makefile.in:
17079         Add getprogname.c and err.c
17080         [d411c54a07dc]
17081
17082         * configure:
17083         regen
17084         [6d585d391acc]
17085
17086         * config.h.in, configure.in:
17087         Add checks for getprognam(), __progname and err.h
17088         [bcbccf61d34a]
17089
17090         * emul/err.h:
17091         For systems withour err/warn functions.
17092         [1b33118884d9]
17093
17094         * err.c:
17095         For systems withour err/warn functions.
17096         [26721f6b041f]
17097
17098         * getprogname.c:
17099         For systems neither getprogname() nor __progname; uses Argv[0].
17100         [841cf42af1eb]
17101
17102 2003-04-01  Todd C. Miller  <Todd.Miller@courtesan.com>
17103
17104         * CHANGES:
17105         checkpoint for 1.6.7p1
17106         [5bfdaf441dce]
17107
17108         * sudo.c, testsudoers.c:
17109         fix strlcpy() rval check (innocuous)
17110         [e05ac7e0d1f3]
17111
17112         * check.c:
17113         oflow detection in expand_prompt() was faulty (false positives). The
17114         count was based on strlcat() return value which includes the length
17115         of the entire string.
17116         [086c5a0acb25]
17117
17118 2003-03-31  Todd C. Miller  <Todd.Miller@courtesan.com>
17119
17120         * RUNSON, TODO:
17121         checkpoint for the sudo 1.6.7 release
17122         [096bab4da29a] [SUDO_1_6_7]
17123
17124         * CHANGES:
17125         checkpoint for the sudo 1.6.7 release
17126         [87322187ed78]
17127
17128 2003-03-24  Todd C. Miller  <Todd.Miller@courtesan.com>
17129
17130         * logging.c:
17131         g/c unused variable
17132         [c57cd4a17765]
17133
17134         * configure:
17135         regen
17136         [e7c1f581dfac]
17137
17138         * configure.in:
17139         use man sections 8 and 5 for csops
17140         [87de581bda88]
17141
17142 2003-03-21  Todd C. Miller  <Todd.Miller@courtesan.com>
17143
17144         * configure:
17145         regen
17146         [cb1433a9c7a1]
17147
17148         * configure.in:
17149         Add -lskey or -lopie directly to SUDO_LIBS instead of having
17150         AC_CHECK_LIB() add them to LIBS. Fixes visudo linkage.
17151         [ac5667978939]
17152
17153         * configure:
17154         regen
17155         [638459118a2a]
17156
17157         * configure.in:
17158         Add --with-blibpath for AIX. An alternate libpath may be specified
17159         or
17160         -blibpath support can be disabled. Also change conifgure such that
17161         -blibpath is not specified if no -L libpaths were added to
17162         SUDO_LDFLAGS.
17163         [c7d17b480cad]
17164
17165         * aclocal.m4:
17166         Add --with-blibpath for AIX. An alternate libpath may be specified
17167         or
17168         -blibpath support can be disabled. Also change conifgure such that
17169         -blibpath is not specified if no -L libpaths were added to
17170         SUDO_LDFLAGS.
17171         [37022e991575]
17172
17173         * INSTALL:
17174         Add --with-blibpath for AIX. An alternate libpath may be specified
17175         or
17176         -blibpath support can be disabled. Also change conifgure such that
17177         -blibpath is not specified if no -L libpaths were added to
17178         SUDO_LDFLAGS.
17179         [4b4bbe5bbe1b]
17180
17181         * configure.in:
17182         add AIX blibpath support
17183         [16ba788bf086]
17184
17185         * INSTALL, configure.in:
17186         --with-skey and --with-opie now take an option directory argument
17187         This obsoletes a --with-csops hack (/tools/cs/skey)
17188
17189         Also remove the remaining direct uses of "echo"
17190         [5b4986a90c03]
17191
17192 2003-03-20  Todd C. Miller  <Todd.Miller@courtesan.com>
17193
17194         * configure.in:
17195         Detect KTH Kerberos IV and deal with it. Also make -lroken optional
17196         for KTH Kerberos IV and V.
17197         [119f97b48e18]
17198
17199         * aclocal.m4:
17200         Add SUDO_APPEND_LIBPATH function that add -L/path/to/dir (and
17201         -R/path/to/dir if $with_rpath) to the specified variable.
17202         [e55e49d076ce]
17203
17204         * INSTALL, configure.in:
17205         Add -R/path/to/libs for Solaris and SVR4. There is a new configure
17206         option, --with-rpath to control this behavior.
17207         [d4730c5399ab]
17208
17209         * configure.in:
17210         for kerb4 put libdes after libkrb on the link line
17211         [5c566100eab6]
17212
17213         * auth/kerb4.c:
17214         typo
17215         [6541b72b64a3]
17216
17217         * configure.in:
17218         fix kerberos lib check when a path is specified
17219         [ae833a914c6f]
17220
17221         * logging.c:
17222         Fix boolean thinko in SIGCHLD reaper and call reapchild after
17223         sending mail instead of doing a conditional sudo_waitpid.
17224         [86fa9a35df5a]
17225
17226 2003-03-19  Todd C. Miller  <Todd.Miller@courtesan.com>
17227
17228         * configure:
17229         regen
17230         [e6275cf528ba]
17231
17232         * configure.in:
17233         replace =DIR with [=DIR] where sensible
17234         [c39a59173b38]
17235
17236         * configure.in:
17237         o Use AC_MSG_* instead of "echo" o New Kerberos include/lib
17238         detection based on openssh's configure.in
17239         [5b7a340912df]
17240
17241         * INSTALL:
17242         --with-kerb4 and --with-kerb5 now take an optional argument.
17243         [71ed87fc9c64]
17244
17245 2003-03-16  Todd C. Miller  <Todd.Miller@courtesan.com>
17246
17247         * auth/securid.c:
17248         Kill remaining strcpy(), the programmer's guide says username is 32
17249         bytes.
17250         [bdba70fcd08d]
17251
17252         * auth/kerb4.c:
17253         trat uid_t as unsigned long for printf and use snprintf, not sprintf
17254         [8072f5f8966d]
17255
17256         * auth/rfc1938.c:
17257         use snprintf
17258         [fc0c70c665fe]
17259
17260 2003-03-15  Todd C. Miller  <Todd.Miller@courtesan.com>
17261
17262         * auth/afs.c, auth/aix_auth.c, auth/bsdauth.c, auth/dce.c,
17263         auth/fwtk.c, auth/kerb4.c, auth/kerb5.c, auth/pam.c, auth/passwd.c,
17264         auth/rfc1938.c, auth/sudo_auth.c:
17265         update copyright year
17266         [b0a10ccb1d0e]
17267
17268         * sudo.man.in, sudoers.man.in, visudo.man.in:
17269         update copyright year
17270         [8fce0034eb51]
17271
17272         * LICENSE, Makefile.in, aclocal.m4, alloc.c, check.c, compat.h,
17273         configure.in, env.c, find_path.c, interfaces.c, logging.c, parse.c,
17274         parse.lex, parse.yacc, set_perms.c, sudo.c, sudo.h, sudo.pod,
17275         sudoers.pod, testsudoers.c, version.h, visudo.c, visudo.pod:
17276         update copyright year
17277         [d541e75fe520]
17278
17279         * check.c, env.c, sudo.c:
17280         Cast [ug]ids to unsigned long and printf with %lu
17281         [2ede64d3592b]
17282
17283         * configure:
17284         regen
17285         [c7c3245bdf3e]
17286
17287         * configure.in:
17288         correct error messages for --with-sudoers-{mode,uid,gid}
17289         [77fc15b1c9db]
17290
17291         * alloc.c:
17292         make the malloc(0) error specific to each function to aid tracking
17293         down bugs.
17294         [a58c34374b4b]
17295
17296         * alloc.c:
17297         deal with platforms where size_t is signed and there is no SIZE_MAX
17298         or SIZE_T_MAX
17299         [7192abb4ab4e]
17300
17301         * auth/kerb5.c:
17302         Make this compile w/ Heimdal and fix some gcc warnings.
17303         [f52f026f31c2]
17304
17305         * sudo.c:
17306         Use stat_sudoers macro so --with-stow can work
17307         [c3674735c139]
17308
17309         * INSTALL, config.h.in, configure, configure.in:
17310         Add support for --with-stow based on patches from Robert Uhl
17311         [b274cc1dd52c]
17312
17313         * env.c:
17314         fix indentation
17315         [110d9f1721b1]
17316
17317         * configure.in:
17318         back out rev 1.352
17319         [1eee91c83f11]
17320
17321         * lex.yy.c:
17322         regen
17323         [72fba1c9590b]
17324
17325         * parse.lex:
17326         use strlcpy, not strncpy
17327         [4faccbaeccef]
17328
17329         * set_perms.c:
17330         Fix typo; check pw_uid, not pw_gid after setusercontext() failure.
17331         [33bf0d18fdc1]
17332
17333         * logging.c:
17334         use pid_t
17335         [3e0536993d2c]
17336
17337 2003-03-14  Todd C. Miller  <Todd.Miller@courtesan.com>
17338
17339         * strlcat.c, strlcpy.c:
17340         Make gcc shutup about unused rcsid
17341         [1669a0c74e9e]
17342
17343         * interfaces.c:
17344         Move the n == 0 check for the non-getifaddrs cas
17345         [2460be061b2a]
17346
17347         * auth/rfc1938.c:
17348         skeychallenge() on NetBSD take a size parameter
17349         [05acc2012801]
17350
17351         * configure:
17352         regen
17353         [24bccf4749e8]
17354
17355         * configure.in:
17356         put -ldl after -lpam, not before; fixes static linking on Linux
17357         [7f06b7b2b4d8]
17358
17359         * interfaces.c:
17360         Avoid malloc(0) and fix the loop invariant for the getifaddrs()
17361         case.
17362         [239a55068646]
17363
17364         * sudo.cat, sudoers.cat, visudo.cat:
17365         regen
17366         [4a2eed3981ca]
17367
17368         * sudo.man.in, sudoers.man.in, visudo.man.in:
17369         regen
17370         [2c96ea2cf930]
17371
17372         * Makefile.in:
17373         Preserve copyright notice from .pod file in .man.in file
17374         [519fbd09aebc]
17375
17376         * visudo.pod:
17377         Add sudoers(5) to SEE ALSO
17378         [77ecfe3aedf1]
17379
17380 2003-03-13  Todd C. Miller  <Todd.Miller@courtesan.com>
17381
17382         * lex.yy.c:
17383         regen
17384         [6f5751ce0b74]
17385
17386         * parse.lex:
17387         Don't assume libc can realloc() a NULL string. If malloc/realloc
17388         fails, make sure we just return; yyerror() is not terminal.
17389         [1b8618623708]
17390
17391         * lex.yy.c:
17392         regen
17393         [5d31b46191c6]
17394
17395         * parse.lex:
17396         simplify fill_args a little and use strlcpy for paranoia
17397         [0ea35a55542b]
17398
17399         * sudo.tab.c:
17400         regen
17401         [5a8d508d708b]
17402
17403         * check.c, env.c, find_path.c, parse.c, parse.yacc, sudo.c,
17404         testsudoers.c:
17405         Use strlc{at,py} for paranoia's sake and exit on overflow. In all
17406         cases the strings were either pre-allocated to the correct size of
17407         length checks were done before the copy but a little paranoia can go
17408         a long way.
17409         [e73d28f1d14e]
17410
17411         * sudo.h:
17412         Add strlc{at,py} protos
17413         [748ffc7fc7f4]
17414
17415         * env.c, interfaces.c:
17416         Use erealloc3()
17417         [47f2cb46aba8]
17418
17419         * configure:
17420         regen
17421         [e7e2fb79f935]
17422
17423         * alloc.c:
17424         Oflow test of nmemb > SIZE_MAX / size is fine (don't need >=). Use
17425         memcpy() instead of strcpy() in estrdup() so this is strcpy()-free.
17426         [7e0fa4d6fc1d]
17427
17428         * sudo.c:
17429         snprintf() a uid as %lu, not %ld to match the MAX_UID_T_LEN test in
17430         configure.
17431         [09ea4d3959e9]
17432
17433         * aclocal.m4:
17434         In MAX_UID_T_LEN test cast uid_t to unsigned long, just unsigned.
17435         [31b4fdfdb8bf]
17436
17437 2003-03-12  Todd C. Miller  <Todd.Miller@courtesan.com>
17438
17439         * sudo.c:
17440         Use snprintf() for paranoia
17441         [a2659ceb46de]
17442
17443         * parse.yacc:
17444         Use emalloc2 and erealloc3
17445         [90a069842401]
17446
17447         * Makefile.in:
17448         strlc{at,py} for those w/o it
17449         [bac82dc916ee]
17450
17451         * strlcat.c, strlcpy.c:
17452         stlc{at,py} for those w/o it.
17453         [ce7254f5db09]
17454
17455         * config.h.in, configure, configure.in:
17456         Add stlc{at,py} for those w/o it.
17457         [00f08219657a]
17458
17459         * alloc.c, sudo.h:
17460         Add erealloc3(), a realloc() version of emalloc2().
17461         [c96eaf08bbed]
17462
17463         * interfaces.c, sudo.c:
17464         Use emalloc2() to allocate N things of a certain size.
17465         [1e0aba365555]
17466
17467         * alloc.c, sudo.h:
17468         Add emalloc2() -- like calloc() but w/o the bzero and with
17469         error/oflow checking.
17470         [292150bc4153]
17471
17472         * alloc.c:
17473         Error out on malloc(0); suggested by theo
17474         [995279e81326]
17475
17476 2003-03-10  Todd C. Miller  <Todd.Miller@courtesan.com>
17477
17478         * configure, configure.in:
17479         fix a typo; David Krause
17480         [f161213a17ab]
17481
17482 2003-03-07  Todd C. Miller  <Todd.Miller@courtesan.com>
17483
17484         * sudo.pod:
17485         fix typo
17486         [3ae5ad9a351a]
17487
17488 2003-03-04  Todd C. Miller  <Todd.Miller@courtesan.com>
17489
17490         * env.c:
17491         Remove DYLD_ from the environment for MacOS X; from bbraun
17492         [38caad5a3935]
17493
17494 2003-03-01  Todd C. Miller  <Todd.Miller@courtesan.com>
17495
17496         * config.h.in, configure.in:
17497         not not; Anil Madhavapeddy
17498         [d4f4f0bfc66b]
17499
17500 2003-01-23  Todd C. Miller  <Todd.Miller@courtesan.com>
17501
17502         * sudo.pod, sudoers.pod, visudo.pod:
17503         typos; jmc@openbsd.org
17504         [868c0f09bf9e]
17505
17506 2003-01-20  Todd C. Miller  <Todd.Miller@courtesan.com>
17507
17508         * parse.yacc:
17509         Add some missing ';' rule terminators that bison warns about.
17510         [535b0b8dcce5]
17511
17512         * config.sub:
17513         fix typo I introduced in last merge
17514         [81db4e4f43fe]
17515
17516         * configure:
17517         regenerate with autoconf 2.57
17518         [ca0c1e9564f8]
17519
17520         * config.h.in:
17521         Add missing "$HOME"
17522         [209186197ad1]
17523
17524         * configure.in:
17525         Add some more square backets to make autoconf 2.57 happy
17526         [b5639c14faf7]
17527
17528         * config.sub, mkinstalldirs:
17529         Updates from autoconf-2.57
17530         [36be35eb331b]
17531
17532         * config.guess:
17533         Updates from autoconf-2.57
17534         [ea0f8ca622af]
17535
17536 2003-01-17  Todd C. Miller  <Todd.Miller@courtesan.com>
17537
17538         * sudo.tab.h:
17539         regen
17540         [13a65a421567]
17541
17542         * lex.yy.c, sudo.tab.c:
17543         regen
17544         [0b529db7cb6d]
17545
17546         * parse.lex, parse.yacc, sudoers.pod:
17547         Add support for Defaults>RunasUser
17548         [20d726373175]
17549
17550 2003-01-07  Todd C. Miller  <Todd.Miller@courtesan.com>
17551
17552         * visudo.c:
17553         fclose() yyin after each yyparse() is done and use fopen() instead
17554         of using freopen().
17555         [587f8a2df857]
17556
17557         * parse.lex:
17558         Better fix for sudoers files w/o a newline before EOF. It looks
17559         like the issue is that yyrestart() does not reset the start
17560         condition to INITIAL which is an issue since we parse sudoers
17561         multiple times.
17562         [920f8326968a]
17563
17564 2003-01-06  Todd C. Miller  <Todd.Miller@courtesan.com>
17565
17566         * parse.lex:
17567         Work around what appears to be a flex bug when dealing with files
17568         that lack a final newline before EOF. This adds a rule to match EOF
17569         in the non-initial states which resets the state to INITIAL and
17570         throws an error.
17571         [b94943bb1f81]
17572
17573         * visudo.c:
17574         o The parser needs sudoers to end with a newline but some editors
17575         (emacs) may not add one. Check for a missing newline at EOF and
17576         add one if needed. o Set quiet flag during initial sudoers parse (to
17577         get options) o Move yyrestart() call and always use freopen() to
17578         open yyin after initial sudoers parse.
17579         [12d12f9b07aa]
17580
17581 2002-12-15  Todd C. Miller  <Todd.Miller@courtesan.com>
17582
17583         * set_perms.c:
17584         Fix pasto/thinko in setresgid()/setregid() usage. Want to set
17585         effective gid, not real gid, when reading sudoers.
17586         [c7d18b810fcd]
17587
17588         * set_perms.c:
17589         don't compile set_perms_posix if we have setreuid or setresuid
17590         [b9cea7a81a29]
17591
17592 2002-12-14  Todd C. Miller  <Todd.Miller@courtesan.com>
17593
17594         * sudo.pod, sudoers.pod:
17595         document new prompt escapes
17596         [2f088076b640]
17597
17598         * check.c:
17599         Add %U and %H escapes and redo prompt rewriting. "%%" now gets
17600         collapsed to "%" as was originally intended. This also gets rid of
17601         lastchar (does lookahead instead of lookback) which should simplify
17602         the logic slightly.
17603         [4b707b77b3c7]
17604
17605 2002-12-13  Todd C. Miller  <Todd.Miller@courtesan.com>
17606
17607         * tgetpass.c:
17608         Write the prompt *after* turning off echo to avoid some password
17609         characters being echoed on heavily-loaded machines with fast
17610         typists.
17611         [d38c57775915]
17612
17613         * config.sub:
17614         Add support for mipseb; wiz@danbala.tuwien.ac.at
17615         [cfdac87ed5c8]
17616
17617         * configure.in:
17618         Fix IRIX fallout from name changes in man dir/sect Makefile
17619         variables. Patch from erici AT motown DOT cc DOT utexas DOT edu
17620         [9a7618755c23]
17621
17622         * auth/pam.c:
17623         Keep a local copy of tgetpass_flags so we don't add in TGP_ECHO to
17624         the global copy. Problem noted by Peter Pentchev.
17625         [d0a3e189cb06]
17626
17627 2002-11-28  Todd C. Miller  <Todd.Miller@courtesan.com>
17628
17629         * sudo.tab.c:
17630         regen
17631         [23b931359087]
17632
17633         * parse.yacc:
17634         Add missing yyerror() calls; YYERROR does not seem to call this for
17635         us.
17636         [0be7aeb3ac57]
17637
17638 2002-11-26  Todd C. Miller  <Todd.Miller@courtesan.com>
17639
17640         * sudo.c:
17641         fix typo in comment; Pedro Bastos
17642         [d7406c460e99]
17643
17644 2002-11-22  Todd C. Miller  <Todd.Miller@courtesan.com>
17645
17646         * INSTALL:
17647         document --disable-setresuid
17648         [fbd03d03a027]
17649
17650         * auth/aix_auth.c, auth/bsdauth.c, auth/fwtk.c, auth/pam.c,
17651         auth/sudo_auth.c:
17652         Sprinkle some volatile qualifiers to prevent over-enthusiastic
17653         optimizers from removing memset() calls.
17654         [5370ac0e6129]
17655
17656         * logging.c, parse.yacc:
17657         minor sign fixes pointed out by gcc -Wsign-compare
17658         [db872438337f]
17659
17660         * set_perms.c, sudo.c, sudo.h:
17661         Revamp set_perms. We now use a version based on setresuid() or
17662         setreuid() when possible since that allows us to support the
17663         stay_setuid option and we always know exactly what the semantics
17664         will be (various Linux kernels have broken POSIX saved uid support).
17665         [523bc212396c]
17666
17667         * config.h.in, configure:
17668         regen from configure.in
17669         [351877ea2624]
17670
17671         * configure.in:
17672         Add checks for setresuid() and a way to disable using it
17673         [a5b21653d169]
17674
17675         * compat.h:
17676         No long need to emulate set*[ug]id() via setres[ug]id() or
17677         setre[ug]id(). The new set_perms stuff only uses things it knows are
17678         there.
17679         [47884bd5d1d9]
17680
17681         * sudo.c:
17682         Before exec, restore state of signal handlers to be the same as when
17683         we were initialy invoked instead of just reseting to SIG_DFL. Fixes
17684         a problem when using sudo with nohup. Based on a patch from Paul
17685         Markham.
17686         [f8f5a1484faa]
17687
17688         * sudo.c:
17689         o timestamp_uid should be uid_t, not int o clarify error message
17690         when sudo is run by root and no_root_sudo is set
17691         [19dda0734264]
17692
17693 2002-09-19  Todd C. Miller  <Todd.Miller@courtesan.com>
17694
17695         * README:
17696         update ftp link for bison
17697         [98bc191016e3]
17698
17699 2002-07-20  Todd C. Miller  <Todd.Miller@courtesan.com>
17700
17701         * set_perms.c:
17702         Error out if setusercontext() fails and the runas user is not root.
17703         [089f9ade4686]
17704
17705 2002-05-20  Todd C. Miller  <Todd.Miller@courtesan.com>
17706
17707         * auth/securid5.c:
17708         Fix rcsid
17709         [07e9e85dcc2f]
17710
17711         * configure.in:
17712         Fix SecurID API test
17713         [5ec201f454a5]
17714
17715 2002-05-17  Todd C. Miller  <Todd.Miller@courtesan.com>
17716
17717         * env.c:
17718         typo in comment
17719         [9d385c9ac533]
17720
17721         * configure.in:
17722         securid5 stuff needs pthreads. Just adding -lpthread is suboptimal
17723         but I don't see a better way at the moment.
17724         [f89e55cbb313]
17725
17726         * Makefile.in, auth/securid5.c:
17727         SecurID API version 5 support from Michael Stroucken
17728         [68500ac7e531]
17729
17730         * configure.in:
17731         Add check for SecurID 5.0 API
17732         [1ee242e6de6b]
17733
17734 2002-05-08  Todd C. Miller  <Todd.Miller@courtesan.com>
17735
17736         * strerror.c:
17737         We actually do still need config.h to get the 'const' definition for
17738         K&R C.
17739         [d9c982032d85]
17740
17741 2002-05-05  Todd C. Miller  <Todd.Miller@courtesan.com>
17742
17743         * configure:
17744         regen with autoconf 2.5.3
17745         [c71fc086eef5]
17746
17747         * configure.in:
17748         Don't set sysconfdir to '/etc' if the user has specified a --prefix.
17749         [d90da1efafd9]
17750
17751         * configure.in:
17752         Some fixes for autoconf 2.53 from Robert Uhl o don't AC_SUBST
17753         LIBOBJS o force a 4th arg for AC_CHECK_HEADER() to workaround a bug
17754         [dd67afefa90d]
17755
17756         * env.c, sudo.c, sudo.h:
17757         No need for dump_badenv() now that dump_defaults() knows how to dump
17758         lists.
17759         [6bcda468501d]
17760
17761         * BUGS, INSTALL, INSTALL.binary, Makefile.in, README, configure.in,
17762         version.h:
17763         ++version
17764         [44e3b8f95f0b]
17765
17766         * sudoers.pod:
17767         document timestampowner
17768         [37ebd69e9dd1]
17769
17770         * check.c:
17771         Don't call set_perms() when doing timestamp stuff unless
17772         timestamp_uid != 0.
17773         [63a63d41d18c]
17774
17775         * auth/sudo_auth.c, check.c, logging.c, parse.c, set_perms.c, sudo.c,
17776         sudo.h, testsudoers.c:
17777         g/c second arg to set_perms--it is no longer used
17778         [7ac4ce50c612]
17779
17780 2002-05-03  Todd C. Miller  <Todd.Miller@courtesan.com>
17781
17782         * check.c, set_perms.c, sudo.c, sudo.h:
17783         Add support for non-root timestamp dirs. This allows the timestamp
17784         dir to be shared via NFS (though this is not recommended).
17785         [faa83dd2b7fb]
17786
17787         * def_data.c, def_data.h, def_data.in:
17788         Add timestampowner, "Owner of the authentication timestamp dir"
17789         [d47640d4c86a]
17790
17791 2002-05-02  Todd C. Miller  <Todd.Miller@courtesan.com>
17792
17793         * env.c:
17794         Don't try to pre-compute the size of the new envp, just allocate
17795         space up front and realloc as needed. Changes to the new env
17796         pointer must all be made through insert_env() which now keeps track
17797         of spaced used and allocates as needed.
17798         [39bc934a9f2c]
17799
17800 2002-04-26  Todd C. Miller  <Todd.Miller@courtesan.com>
17801
17802         * configure:
17803         regen
17804         [0e12c09bb790]
17805
17806         * configure.in:
17807         Fix two typo/pastos; from jrj@purdue.edu
17808         [b718a4bf1181]
17809
17810 2002-04-25  Todd C. Miller  <Todd.Miller@courtesan.com>
17811
17812         * INSTALL.binary, README:
17813         ++version
17814         [a1e33027278c] [SUDO_1_6_6]
17815
17816         * configure, sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in,
17817         visudo.cat, visudo.man.in:
17818         regen
17819         [19eb2be283ef]
17820
17821         * CHANGES, RUNSON, TODO:
17822         Sync with 1.6.6
17823         [2ff9a9087f63]
17824
17825         * check.c:
17826         The the loop used to expand %h and %u, the lastchar variable was not
17827         being initialized. This means that if the last char in the prompt
17828         is '%' and the first char is 'h' or 'u' a extra copy of the host or
17829         user name would be copied, for which space had not been allocated.
17830         [b2e27197857d]
17831
17832 2002-04-18  Todd C. Miller  <Todd.Miller@courtesan.com>
17833
17834         * BUGS, INSTALL, Makefile.in, configure.in, version.h:
17835         crank version to 1.6.6
17836         [cfd08689e597]
17837
17838         * auth/afs.c:
17839         #undef VOID to get rid of an AFS warning
17840         [b40760564dc1]
17841
17842         * env.c:
17843         Use easprintf instead of emalloc + sprintf for some things.
17844         [e7bfe2e69a03]
17845
17846 2002-03-16  Todd C. Miller  <Todd.Miller@courtesan.com>
17847
17848         * lex.yy.c, sudo.tab.c:
17849         regen
17850         [35327104383d]
17851
17852         * parse.c, parse.lex, parse.yacc, testsudoers.c:
17853         Remove Chris Jepeway's email address so people don't bug him ;-)
17854         [c03410747a69]
17855
17856 2002-03-12  Todd C. Miller  <Todd.Miller@courtesan.com>
17857
17858         * sudo.c:
17859         Move endpwent() to be after set_perms(PERM_RUNAS, ...) and also call
17860         endgrent() at the same time.
17861         [28b6097d5d1a]
17862
17863 2002-02-22  Todd C. Miller  <Todd.Miller@courtesan.com>
17864
17865         * INSTALL:
17866         Make it clear which configure options take arguments.
17867         [38529e7efad0]
17868
17869 2002-01-25  Todd C. Miller  <Todd.Miller@courtesan.com>
17870
17871         * compat.h:
17872         HP-UX 9.x has RLIMIT_* but no RLIM_INFINITY. If there is no
17873         RLIM_INFINITY, just pretend it is -1. This works because we only
17874         check for RLIM_INFINITY and do not set anything to that value.
17875         [53173d34e6eb]
17876
17877 2002-01-22  Todd C. Miller  <Todd.Miller@courtesan.com>
17878
17879         * auth/pam.c:
17880         Zero and free allocated memory when there is a conversation error.
17881         [e342133db579]
17882
17883         * auth/bsdauth.c:
17884         Use sigaction() not signal()
17885         [126c2790561f]
17886
17887         * INSTALL:
17888         Mention that some linux kernels have broken POSIX saved ID support
17889         [571ef1a893d3]
17890
17891         * CHANGES:
17892         checkpoint for 1.6.5p2
17893         [9e9e456f7f43]
17894
17895         * configure:
17896         regen
17897         [d53703a46708]
17898
17899         * configure.in:
17900         Add --disable-setreuid flag
17901         [3b9f2679cb55]
17902
17903         * INSTALL:
17904         Document new --disable-setreuid option and change description for
17905         --disable-saved-ids to match new error message.
17906         [14fd3e5f60a5]
17907
17908         * set_perms.c:
17909         fatal() now takes an argument that determines whether or not to call
17910         perror().
17911         [d826b25e62ff]
17912
17913         * TROUBLESHOOTING:
17914         Update for new error messages from set_perms()
17915         [78007c3f76a9]
17916
17917         * PORTING:
17918         Update for new error messages from set_perms()
17919         [60c545a6bcff]
17920
17921 2002-01-21  Todd C. Miller  <Todd.Miller@courtesan.com>
17922
17923         * auth/pam.c:
17924         Make this compile w/o warnings
17925         [b90843a29af5]
17926
17927         * auth/pam.c:
17928         Mention that we can't use pam_acct_mgmt()
17929         [1dfc5a6e0479]
17930
17931         * auth/aix_auth.c, auth/bsdauth.c, auth/fwtk.c, auth/pam.c:
17932         The user's password was not zeroed after use when AIX
17933         authentication, BSD authentication, FWTK or PAM was in use.
17934         [b18fff30b1e7]
17935
17936 2002-01-20  Todd C. Miller  <Todd.Miller@courtesan.com>
17937
17938         * auth/pam.c:
17939         Avoid giving PAM a NULL password response, use the empty string
17940         instead. This avoids a log warning when the user hits ^C at the
17941         password prompt when PAM is in use.
17942         [c3315805e4e4]
17943
17944         * auth/pam.c:
17945         Don't check the return value of pam_setcred(). In Linux-PAM 0.75
17946         pam_setcred() returns the last saved return code, not the return
17947         code for the setcred module. Because we haven't called
17948         pam_authenticate(), this is not set and so pam_setcred() returns
17949         PAM_PERM_DENIED.
17950         [73db145fa179]
17951
17952         * Makefile.in:
17953         Don't need a '/' between $(DESTDIR) and a directory.
17954         [0901ca618176]
17955
17956         * Makefile.binary:
17957         Don't need a '/' between $(DESTDIR) and a directory.
17958         [cd7eb6098b87]
17959
17960 2002-01-18  Todd C. Miller  <Todd.Miller@courtesan.com>
17961
17962         * configure:
17963         regen
17964         [41b12c039282]
17965
17966         * configure.in:
17967         o BSDi also has a bogus setreuid() o Old FreeBSD has a bogus
17968         setreuid() o new NetBSD has a real setreuid() o add check for
17969         freeifaddrs() if getifaddrs() exists.
17970         [a82ee3b01733]
17971
17972         * config.h.in, interfaces.c:
17973         Older BSDi releases lack freeifaddrs() so add a test for that and if
17974         it is not present just use free().
17975         [6270671ea9d5]
17976
17977 2002-01-17  Todd C. Miller  <Todd.Miller@courtesan.com>
17978
17979         * CHANGES, RUNSON:
17980         Checkpoint for 1.6.5p1
17981         [26134ecf9b36]
17982
17983         * auth/passwd.c:
17984         Return AUTH_FAILURE in passwd_init() if skeyaccess() denies access
17985         to normal passwords, not AUTH_FATAL (which just causes an exit).
17986         [785e0f4bc0e2]
17987
17988         * visudo.c:
17989         Don't use memory after it has been freed.
17990         [c60492739fdb]
17991
17992         * auth/passwd.c:
17993         skeyaccess() wants a struct passwd * not a char *; Patch from
17994         Phillip E. Lobbes
17995         [65a1d3806fcd] [SUDO_1_6_5]
17996
17997         * BUGS:
17998         ++version
17999         [b2e1825e692e]
18000
18001         * CHANGES, RUNSON, TODO:
18002         checkpoint for sudo 1.6.5
18003         [d730945622e7]
18004
18005 2002-01-16  Todd C. Miller  <Todd.Miller@courtesan.com>
18006
18007         * configure:
18008         regen
18009         [49744c403ac9]
18010
18011         * INSTALL, INSTALL.binary, Makefile.in, README, configure.in:
18012         version 1.6.5
18013         [ec30a5f7fc45]
18014
18015         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in, visudo.cat,
18016         visudo.man.in:
18017         sudo version 1.6.5
18018         [458a3bed535d]
18019
18020         * logging.c:
18021         o when invoking the mailer as root use a hard-coded environment that
18022         doesn't include any info from the user's environment. Basically
18023         paranoia.
18024
18025         o Add support for the NO_ROOT_MAILER compile-time option and run the
18026         mailer as the user and not root if NO_ROOT_MAILER is defined.
18027         [4df351ec92ce]
18028
18029         * set_perms.c, sudo.h:
18030         Bring back PERM_FULL_USER
18031         [edb6039bb284]
18032
18033         * configure:
18034         regen
18035         [3eb2943afa03]
18036
18037         * version.h:
18038         version 1.6.5
18039         [044fc9a0c72b]
18040
18041         * INSTALL, config.h.in, configure.in:
18042         Add --disable-root-mailer option to run the mailer as the user and
18043         not root.
18044         [e9f805397963]
18045
18046         * CHANGES:
18047         checkpoint for 1.6.4p2
18048         [b58aae5aa98a]
18049
18050         * PORTING:
18051         Mention the "seteuid(0): Operation not permitted" problem here too
18052         just for good measure.
18053         [90135b37a691]
18054
18055 2002-01-15  Todd C. Miller  <Todd.Miller@courtesan.com>
18056
18057         * env.c, getspwuid.c, sudo.c:
18058         The SHELL environment variable was preserved from the user's
18059         environment instead of being reset based on the passwd database when
18060         the "env_reset" option was used. Now it is reset as it should be.
18061         [300066ef3c71]
18062
18063         * configure:
18064         regen
18065         [a47d779e6552]
18066
18067         * INSTALL, TROUBLESHOOTING, config.h.in, configure.in, set_perms.c,
18068         sudo.c:
18069         Add a configure option to turn off use of POSIX saved IDs
18070         [fb18cc8e94d0]
18071
18072         * configure:
18073         regen
18074         [d4f2f20025b6]
18075
18076         * configure.in:
18077         add --with-efence option
18078         [45c4f33a8e88]
18079
18080         * sudo.c:
18081         Only OR in MODE_RESET_HOME if MODE_RUN is set. Fixes a problem where
18082         "sudo -l" would not work if always_set_home was set.
18083         [c3a6de6c4800]
18084
18085         * lex.yy.c:
18086         regen
18087         [417424452998]
18088
18089         * parse.lex:
18090         Quoted commas were not being treated correctly in command line
18091         arguments.
18092         [753415541b37]
18093
18094         * sudo.c:
18095         o Move the call to rebuild_env() until after MODE_RESET_HOME is set.
18096         Otherwise, the set_home option has no effect.
18097
18098         o Fix use of freed memory when the "fqdn" flag is set. This was
18099         introduced by the fix for the "segv when gethostbynam() fails" bug.
18100         Also, we no longer call set_fqdn() if the "fqdn" flag is not set so
18101         there is no need to check the "fqdn" flag in set_fqdn() itself.
18102         [4b6a4245c04e]
18103
18104         * env.c:
18105         Add 'continue' statements to optimize the switch statement. From
18106         Solar.
18107         [a82c76975ae5]
18108
18109 2002-01-13  Todd C. Miller  <Todd.Miller@courtesan.com>
18110
18111         * sudoers.cat, sudoers.man.in:
18112         Regen from new sudoers.pod
18113         [6ecc07b3d0e1] [SUDO_1_6_4]
18114
18115         * sudoers.pod:
18116         Add caveat about stay_setuid flag
18117         [9d228a7bea1b]
18118
18119         * sudo.c:
18120         If set_perms == set_perms_posix and the stay_setuid flag is not set,
18121         set all uids to 0 and use set_perms_fallback().
18122         [c4e54d1ec86f]
18123
18124         * set_perms.c, sudo.h:
18125         Remove PERM_FULL_USER (which is no longer used) and add
18126         PERM_FULL_ROOT (used when exec'ing the mailer).
18127         [15406c522ea2]
18128
18129         * logging.c:
18130         Use set_perms(PERM_FULL_ROOT, 0) before exec'ing the mailer since we
18131         never want to run the mailer setuid.
18132         [2294853e0666]
18133
18134 2002-01-12  Todd C. Miller  <Todd.Miller@courtesan.com>
18135
18136         * sudo.cat, sudo.man.in, sudo.pod, visudo.cat, visudo.man.in,
18137         visudo.pod:
18138         Use sudo.ws instead of courtesan.com in URLs
18139         [55204002a308]
18140
18141         * Makefile.binary, Makefile.in:
18142         Fix mansect substitution
18143         [b7b5cbc3aa91]
18144
18145         * Makefile.in:
18146         Substitute man sections in Makefile.binary
18147         [040deb785e56]
18148
18149         * Makefile.binary:
18150         Sync install targets with Makefile.in and substitute in man
18151         sections.
18152         [77882a275281]
18153
18154         * INSTALL, INSTALL.binary:
18155         version is 1.6.4
18156         [0f87aabbcb70]
18157
18158         * Makefile.in:
18159         Repair bindist target
18160         [8d43bfe7e2d1]
18161
18162         * CHANGES:
18163         sync for 1.6.4
18164         [13ca3d4a0a72]
18165
18166 2002-01-10  Todd C. Miller  <Todd.Miller@courtesan.com>
18167
18168         * install-sh:
18169         Fix case where neither whoami nor id are found
18170         [424dd270bc47]
18171
18172 2002-01-09  Todd C. Miller  <Todd.Miller@courtesan.com>
18173
18174         * install-sh:
18175         If neither whoami nor id exists, just assume we are root.
18176         [2d2644e42c53]
18177
18178         * alloc.c:
18179         Add explicit cast to (VOID *) on malloc/realloc. Seems to be needed
18180         on AIX which for some reason isn't pulling in the malloc prototype.
18181         [231440d2ee3b]
18182
18183 2002-01-08  Todd C. Miller  <Todd.Miller@courtesan.com>
18184
18185         * Makefile.in, aclocal.m4, compat.h, parse.c, sudo.c:
18186         (c) 2002
18187         [700e3b41a68e]
18188
18189         * CHANGES:
18190         checkpoint
18191         [33e604bd8d5b]
18192
18193         * sudo.c:
18194         Defer assigning new environment until right before the exec.
18195         [f13c49e75c1c]
18196
18197         * parse.c:
18198         kill extra blank line
18199         [12ef22e9dae3]
18200
18201 2002-01-07  Todd C. Miller  <Todd.Miller@courtesan.com>
18202
18203         * configure:
18204         regen
18205         [a6cd2d788f74]
18206
18207         * configure.in:
18208         Use -O not -O2 for m88k-motorola-sysv* since motorola gcc-derived
18209         compiler doesn't recognise -O2.
18210         [5234aa543692]
18211
18212         * HISTORY:
18213         Clarify origins of Root Group sudo a bit based on info from
18214         billp@rootgroup.com
18215         [4deef01c4208]
18216
18217 2002-01-03  Todd C. Miller  <Todd.Miller@courtesan.com>
18218
18219         * LICENSE:
18220         2002
18221         [6c8e089dbd1a]
18222
18223         * CHANGES:
18224         checkpoint for 1.6.4rc1
18225         [3349eb87a49f]
18226
18227 2002-01-02  Todd C. Miller  <Todd.Miller@courtesan.com>
18228
18229         * config.h.in:
18230         now generated via autoheader
18231         [84657d303cb9]
18232
18233         * configure:
18234         regen
18235         [207bfa6a13f6]
18236
18237         * compat.h:
18238         Move in some stuff that was previously in config.h.
18239         [e576d8b6480f]
18240
18241         * aclocal.m4, configure.in:
18242         Add info for autoheader.
18243         [0549cd5da27c]
18244
18245 2002-01-01  Todd C. Miller  <Todd.Miller@courtesan.com>
18246
18247         * Makefile.in:
18248         o Add DESTDIR support o Use -M, -O, and -G instead of -m, -o, and
18249         -g to facilitate non-root installs
18250         [619216038f56]
18251
18252         * install-sh:
18253         Add -M option (like -m but only for root) If we can't find "whoami",
18254         use "id" w/ some sed.
18255         [b39121c8b792]
18256
18257         * configure:
18258         regen
18259         [b39b93ff9804]
18260
18261         * configure.in:
18262         allow user to always override mansectsu and mansectform
18263         [0fca5e63bd90]
18264
18265 2001-12-31  Todd C. Miller  <Todd.Miller@courtesan.com>
18266
18267         * mkinstalldirs:
18268         update from autoconf 2.52
18269         [07bd75a508c3]
18270
18271         * config.guess, config.sub:
18272         Update from autoconf 2.52
18273         [857b90fe31b7]
18274
18275         * configure:
18276         regen with autoconf 2.52
18277         [08e7d1ea2aeb]
18278
18279         * configure.in:
18280         o Call AC_PROG_CC_STDC to find out how to run the compiler in ANSI
18281         mode o Remove compiler-specific checks for HP-UX now that we use
18282         AC_PROG_CC_STDC
18283         [d433a70b6208]
18284
18285         * RUNSON:
18286         Checkpoint
18287         [babf6d2235d1]
18288
18289         * auth/pam.c:
18290         o Add pam_prep_user function to call pam_setcred() for the target
18291         user; on Linux this often sets resource limits. o When calling
18292         pam_end(), try to convert the auth->result to a PAM_FOO value.
18293         This is a hack--we really need to stash the last PAM_FOO value
18294         received and use that instead.
18295         [6ad6f340dd2a]
18296
18297         * set_perms.c, sudo.h:
18298         o Add pam_prep_user function to call pam_setcred() for the target
18299         user; on Linux this often sets resource limits.
18300         [67795421ac82]
18301
18302         * env.c:
18303         Fix off by one error in number of bytes allocated via malloc (does
18304         not affected any released version of sudo).
18305         [5f5915360111]
18306
18307 2001-12-30  Todd C. Miller  <Todd.Miller@courtesan.com>
18308
18309         * lex.yy.c:
18310         regen
18311         [8208c0277775]
18312
18313         * parse.lex:
18314         Allow '@', '(', ')', ':' in arguments to a defaults variable w/o
18315         requiring that they be quoted.
18316         [ae59bc8f68dd]
18317
18318         * sudoers.cat, sudoers.man.in, sudoers.pod:
18319         Mention that no double quotes are needed when
18320         adding/deleting/assigning a single value to a list.
18321         [25efc940a1f0]
18322
18323         * Makefile.in:
18324         Don't rely on mkdefaults being executable, call perl explicitly.
18325         [6edc97ba5f1d]
18326
18327         * sudo.tab.c:
18328         regen
18329         [49130b2e7e4d]
18330
18331         * parse.yacc:
18332         Remove some XXX that are no longer relevant.
18333         [d460ac0d3767]
18334
18335         * defaults.c:
18336         o Roll our own loop instead of using strpbrk() for better
18337         grokability o When adding to a list we must malloc() and use
18338         memcpy(), not strdup() since we must only copy len bytes from str.
18339         [649bef08e1f0]
18340
18341 2001-12-21  Todd C. Miller  <Todd.Miller@courtesan.com>
18342
18343         * sudo.tab.c:
18344         regen
18345         [f0bbf2c38c0e]
18346
18347         * parse.yacc:
18348         typo in comment
18349         [2563711ff593]
18350
18351 2001-12-19  Todd C. Miller  <Todd.Miller@courtesan.com>
18352
18353         * CHANGES:
18354         checkpoint
18355         [a6d8a29fb30e]
18356
18357         * configure:
18358         regen
18359         [bdfcaaf3bd13]
18360
18361         * configure.in:
18362         avoid the -g flag unless --with-devel was specified
18363         [a976707bef30]
18364
18365         * Makefile.in:
18366         mkdefaults, def_data.in and sigaction.c were missing from the
18367         tarball
18368         [6917ffbaa412]
18369
18370         * Makefile.in:
18371         def_data.c was missing
18372         [87c78b11453d]
18373
18374 2001-12-18  Todd C. Miller  <Todd.Miller@courtesan.com>
18375
18376         * env.c:
18377         Fix setting of $USER and $LOGNAME in the non-reset_env case. Also
18378         allow HOME, SHELL, LOGNAME, and USER to be specified in keep_env
18379         [fc8698e6a45e]
18380
18381         * TODO:
18382         Another TODO item
18383         [6f251d6cd466]
18384
18385         * sudoers:
18386         Add comment for Default section so folks know where it should go.
18387         [7edba626f392]
18388
18389 2001-12-17  Todd C. Miller  <Todd.Miller@courtesan.com>
18390
18391         * tgetpass.c:
18392         Use TCSETAF, not TCSETA to set terminal in termio case
18393         [fbd172f6c5d3]
18394
18395         * sudoers.cat, sudoers.man.in:
18396         regen from sudoers.pod
18397         [64edd2de816e]
18398
18399         * sudoers.pod:
18400         o Typo, Runas_User_List should be Runas_List o a User_List can not
18401         contain a uid o mention that the Defaults section should come after
18402         Alias definitions but before the user specifications
18403         [54070ba2092b]
18404
18405 2001-12-15  Todd C. Miller  <Todd.Miller@courtesan.com>
18406
18407         * sudoers.cat, sudoers.man.in:
18408         regen
18409         [e62d1d97693c]
18410
18411         * sudoers.pod:
18412         Fix listpw and verifypw sections, they were not being formatted
18413         properly.
18414         [123868c2f3e9]
18415
18416         * sudoers.cat, sudoers.man.in:
18417         regen
18418         [f94841f8b374]
18419
18420         * sudoers.pod:
18421         fix typos
18422         [f278f1c1184e]
18423
18424         * configure:
18425         regen
18426         [d2270049ba9f]
18427
18428         * config.h.in, configure.in:
18429         use AC_SYS_POSIX_TERMIOS instead of rolling our own
18430         [c1a13f1354b9]
18431
18432         * README:
18433         Reference sudo.ws not courtesan.com
18434         [ca13be67ebd7]
18435
18436         * PORTING:
18437         Add notes on shadow passwords
18438         [aa13863f2314]
18439
18440         * BUGS:
18441         In list mode (sudo -l), characters escaped with a backslash are
18442         shown verbatim with the backslash.
18443         [1a75a2858be2]
18444
18445         * sudoers:
18446         Add simple examples from OpenBSD (Marc Espie)
18447         [3ae9a9ae4125]
18448
18449         * tgetpass.c:
18450         Catch SIGTTIN and SIGTTOU too and treat them like SIGTSTP.
18451         [f8817699ee10]
18452
18453         * CHANGES:
18454         minor prettyification
18455         [f523587929b9]
18456
18457         * CHANGES:
18458         Updated change log
18459         [39d9010ee7a8]
18460
18461         * testsudoers.c:
18462         Fix CIDR handling here too.
18463         [c91db8344c32]
18464
18465         * auth/pam.c:
18466         Apparently a NULL response is OK
18467         [83bae61078d9]
18468
18469         * TODO:
18470         Checkpoint for upcoming beta release
18471         [efb95c09df2a]
18472
18473         * TROUBLESHOOTING:
18474         Many people believe that adding a runas spec should obviate the need
18475         for the -u flag. It does not.
18476         [c698bad85b0e]
18477
18478         * RUNSON:
18479         checkpoint update for upcoming 1.6.4 beta
18480         [009e465a0a45]
18481
18482         * config.h.in:
18483         o Add HAVE_STDLIB_H and HAVE_MEMORY_H o Define HAVE_STRINGS_H even
18484         if HAVE_STRING_H is defined -- this is safe now
18485         [d27c035f4e14]
18486
18487         * PORTING:
18488         Add signals section
18489         [2d24c13cb3c8]
18490
18491         * configure:
18492         regen
18493         [2b80a939e2ed]
18494
18495         * configure.in:
18496         Fix check for sigaction_t
18497         [6fa41c89ab20]
18498
18499         * sudo.c:
18500         XXX - should call find_path() as runas user, not root. Can't do
18501         that until the parser changes though.
18502         [f0b4f85651bd]
18503
18504         * sudo.c:
18505         If find_path() fails as root, try again as the invoking user (useful
18506         for NFS). Idea from Chip Capelik.
18507         [e03fa7872692]
18508
18509         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in:
18510         Regenerate after pod file changes
18511         [48e4bd75ec21]
18512
18513         * def_data.c, def_data.h, def_data.in, set_perms.c, sudo.c, sudo.h,
18514         sudo.pod, sudoers.pod:
18515         Add new sudoers option "preserve_groups". Previously sudo would not
18516         call initgroups() if the target user was root. Now it always calls
18517         initgroups() unless the -P command line option or the
18518         "preserve_groups" sudoers option is set. Idea from TJ Saunders.
18519         [4f730359f101]
18520
18521 2001-12-14  Todd C. Miller  <Todd.Miller@courtesan.com>
18522
18523         * compat.h, config.h.in:
18524         Use new HAVE_SIGACTION_T define
18525         [dfb25f3cae5b]
18526
18527         * logging.c:
18528         Fix compilation on K&C
18529         [7355e3275e34]
18530
18531         * configure:
18532         regen
18533         [a710584f92f0]
18534
18535         * configure.in:
18536         Add check for sigaction_t -- IRIX already defines this so don't
18537         redefine it.
18538         [df9c5737f6da]
18539
18540         * snprintf.c:
18541         fix typo
18542         [3d782b8134c8]
18543
18544         * interfaces.c:
18545         need stdlib.h here too
18546         [c789d8973ab2]
18547
18548         * configure:
18549         regen
18550         [44822856bf46]
18551
18552         * configure.in:
18553         Remove redundant checks for string.h, strings.h and unistd.h
18554         [933c94f8bbf4]
18555
18556         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in, visudo.cat,
18557         visudo.man.in:
18558         Regen from pod files
18559         [ad18c590f638]
18560
18561         * BUGS:
18562         Update for 1.6.4
18563         [26bc88b69d22]
18564
18565         * configure, lex.yy.c, sudo.tab.c:
18566         regen
18567         [bef89fd6fa2d]
18568
18569         * strerror.c:
18570         Return EINVAL if errnum > sys_nerr
18571         [0512374e6661]
18572
18573         * auth/sudo_auth.h:
18574         o Update copyright year
18575         [a877016db6e2]
18576
18577         * LICENSE, Makefile.binary, Makefile.in, aclocal.m4, compat.h,
18578         config.h.in, defaults.h, interfaces.h, pathnames.h.in, sudo.h,
18579         sudo.pod:
18580         o Update copyright year
18581         [e15a1b39039f]
18582
18583         * configure.in:
18584         o Don't define STDC_HEADERS unconditionally for IRIX o Update
18585         copyright year
18586         [82a8cb819e07]
18587
18588         * README:
18589         update version
18590         [d82e523a16b4]
18591
18592         * auth/afs.c, auth/aix_auth.c, auth/bsdauth.c, auth/dce.c,
18593         auth/fwtk.c, auth/kerb4.c, auth/kerb5.c, auth/pam.c, auth/passwd.c,
18594         auth/rfc1938.c, auth/secureware.c, auth/securid.c, auth/sia.c,
18595         auth/sudo_auth.c, logging.c, parse.c, parse.lex, parse.yacc,
18596         set_perms.c, snprintf.c, sudo.c, testsudoers.c, tgetpass.c, utime.c,
18597         visudo.c:
18598         o Reorder some headers and use STDC_HEADERS define properly o Update
18599         copyright year
18600         [fe39f76b3795]
18601
18602         * lsearch.c:
18603         o Reorder some headers and use STDC_HEADERS define properly o Update
18604         copyright year
18605         [764ba3d4fa13]
18606
18607         * getspwuid.c, goodpath.c, interfaces.c:
18608         o Reorder some headers and use STDC_HEADERS define properly o Update
18609         copyright year
18610         [fb46d46140d4]
18611
18612         * getcwd.c:
18613         o Reorder some headers and use STDC_HEADERS define properly o Update
18614         copyright year
18615         [b199d70ac7ab]
18616
18617         * alloc.c, check.c, defaults.c, env.c, fileops.c, find_path.c,
18618         fnmatch.c:
18619         o Reorder some headers and use STDC_HEADERS define properly o Update
18620         copyright year
18621         [dab8f192a3ed]
18622
18623         * configure:
18624         regen
18625         [156658f25cea]
18626
18627         * tgetpass.c:
18628         flags set in signal handlers should be volatile sig_atomic_t
18629         [c22931a5535e]
18630
18631         * config.h.in, configure.in:
18632         Add checks for volatile and sig_atomic_t
18633         [b03b3341381d]
18634
18635         * configure, lex.yy.c:
18636         regen
18637         [ed9daba88217]
18638
18639         * def_data.c, def_data.h, def_data.in, defaults.c, env.c, find_path.c,
18640         sudo.c, sudoers.pod:
18641         Remove "secure_path" Defaults option since it cannot work with the
18642         existing parser.
18643         [c9e54a0f5971]
18644
18645         * find_path.c, sudo.c:
18646         Unset "secure_path" if user_is_exempt()
18647         [fb7544565ae8]
18648
18649         * env.c, pathnames.h.in:
18650         o Remove assumption that PATH and TERM are not listed in env_keep o
18651         If no PATH is in the environment use a default value o If TERM is
18652         not set in the non-reset case also give it a default value.
18653         [c987eb7df268]
18654
18655         * aclocal.m4, configure.in, defaults.c, pathnames.h.in:
18656         _PATH_SENDMAIL -> _PATH_SUDO_SENDMAIL so --without-sendmail works on
18657         systems that define in paths.h
18658         [51865b0cdebf]
18659
18660         * auth/passwd.c, auth/sudo_auth.c, auth/sudo_auth.h:
18661         Add support for skeyaccess(3) if it is present in libskey.
18662         [8add77c7d3e7]
18663
18664 2001-12-13  Todd C. Miller  <Todd.Miller@courtesan.com>
18665
18666         * sudo.c:
18667         Only need to do 'lc = login_getclass(NULL)' if lc == NULL
18668         [5a3d3cbf2c6d]
18669
18670         * parse.lex:
18671         '\\' is a perfectly legal character to have in a command line
18672         argument.
18673         [c15a466ef00e]
18674
18675         * sudo.c:
18676         o Defer call to set_fqdn() until it is safe to use log_error() o
18677         Don't print errno string value if gethostbyname fails, it is not
18678         relevant
18679         [c0c6bcf08bcb]
18680
18681         * parse.c:
18682         Fix CIDR -> in_addr_t conversion.
18683         [2f307ebeb63f]
18684
18685 2001-12-12  Todd C. Miller  <Todd.Miller@courtesan.com>
18686
18687         * sudoers.pod:
18688         Remove an extra "User_List" in the User_Spec definition From
18689         ybertrand AT snoopymail.com
18690         [97bde59ea280]
18691
18692         * parse.c:
18693         Make 'listpw=never' work for users who are not explicitly mentioned
18694         in sudoers.
18695         [258f0f30a428]
18696
18697         * sudoers.pod:
18698         Remove gratuitous '=' in EBNF grammar; era AT iki.fi
18699         [4b0f03872ee1]
18700
18701         * sudoers.pod:
18702         Document new list Defaults type and convert env_keep and env_delete
18703         to lists. Document new env_check option.
18704         [a07f1f079fe3]
18705
18706         * lex.yy.c, sudo.tab.c, sudo.tab.h:
18707         regen parser
18708         [e39ac6c6581b]
18709
18710         * parse.lex:
18711         Don't let '#' appear in a {WORD} and restrict #foo in a Runas spec
18712         to #[0-9-]+.
18713         [69c5388908f3]
18714
18715         * configure:
18716         regen
18717         [0f1877b88cb3]
18718
18719         * aclocal.m4:
18720         Simpler SUDO_FUNC_ISBLANK that uses AC_TRY_LINK
18721         [6545503ae361]
18722
18723         * config.h.in, configure.in:
18724         Add check for skeyaccess(3)
18725         [6caf69fe6359]
18726
18727         * visudo.pod:
18728         Document new -c, -f, and -q options
18729         [13d0203c21d3]
18730
18731         * visudo.c:
18732         o Add -f option (alternate sudoers file) o Convert to use getopt(3)
18733         [4c2b664d617d]
18734
18735         * configure:
18736         regen
18737         [6d5bd932e7b5]
18738
18739         * aclocal.m4, config.h.in, configure.in:
18740         Add check for isblank and a replacement macro if it doesn't exist.
18741         [b524f5e4f953]
18742
18743 2001-12-11  Todd C. Miller  <Todd.Miller@courtesan.com>
18744
18745         * visudo.c:
18746         In check-only mode, don't create sudoers if it does not already
18747         exist.
18748         [c748a2d5acad]
18749
18750         * parse.yacc:
18751         o Add a new token, DEFVAR, to indicate a Defaults variable name o
18752         Add support for "+=" and "-=" list operators o replace some 1 and 0
18753         with TRUE and FALSE for greater legibility.
18754         [554cb174b37e]
18755
18756         * parse.lex:
18757         o Use exclusive start conditions to remove some ambiguity in the
18758         lexer. Also reorder some things for clarity. o Add support for
18759         "+=" and "-=" list operators. o Use the new DEFVAR token to denote
18760         a Defaults variable name.
18761         [3a2cf8323e26]
18762
18763         * sudo.h:
18764         Prototype init_envtables()
18765         [b74916469dab]
18766
18767         * env.c:
18768         o Convert environment handling to use lists instead of strings.
18769         This greatly simplifies routines that need to do "foreach" type
18770         operations. o Add new init_envtables() function to set env_check
18771         and env_delete defaults based on initial_badenv_table and
18772         initial_checkenv_table (formerly sudo_badenv_table).
18773         [0a8b404658b6]
18774
18775         * defaults.c, defaults.h:
18776         o Add a new LIST type and functions to manipulate it. o This is for
18777         use with environment handling variables. o Call new
18778         init_envtables() routine inside init_defaults() to initialize the
18779         environment lists.
18780         [ae73e64f0902]
18781
18782         * def_data.c, def_data.h, def_data.in:
18783         Convert environment options to use the new LIST type and add a new
18784         one, env_check that only deletes if the sanity check fails.
18785         [3019503936de]
18786
18787         * testsudoers.c:
18788         Add dummy version of init_envtables()
18789         [9d9e3ee609d9]
18790
18791         * parse.yacc:
18792         honor quiet mode
18793         [8330fba6167c]
18794
18795         * visudo.c:
18796         Add check-only mode
18797         [dab411bc8c35]
18798
18799         * mkdefaults:
18800         Fix generation of entries with NULL descriptions.
18801         [ea75b9fed02e]
18802
18803 2001-12-09  Todd C. Miller  <Todd.Miller@courtesan.com>
18804
18805         * tgetpass.c:
18806         Use sigaction_t and quiet a gcc warning.
18807         [6f67d719c452]
18808
18809         * sudo.c:
18810         Must reset signal handlers before we exec
18811         [300418120e1a]
18812
18813         * auth/aix_auth.c, auth/bsdauth.c, auth/fwtk.c, auth/pam.c,
18814         auth/sudo_auth.c:
18815         Be carefule now that tgetpass() can return NULL (user hit ^C). PAM
18816         version needs testing. Set SIGTSTP to SIG_DFL during password entry
18817         so user can suspend us.
18818         [00304aa58747]
18819
18820         * tgetpass.c:
18821         Add support for interrupting/suspending tgetpass via keyboard input.
18822         If you suspend sudo from the password prompt and resume it will re-
18823         prompt you.
18824         [4af2b5101d32]
18825
18826         * sudo.c:
18827         Don't block keyboard interrupt signals, just set them to SIG_IGN.
18828         [d46d7f67ef6b]
18829
18830 2001-12-08  Todd C. Miller  <Todd.Miller@courtesan.com>
18831
18832         * config.h.in:
18833         add back HAVE_SIGACTION
18834         [c9c7702c603e]
18835
18836         * configure:
18837         regen
18838         [09fe669d337f]
18839
18840         * config.h.in, configure.in, logging.c, sudo.c, visudo.c:
18841         Kill POSIX_SIGNALS define and old signal support now that we emulate
18842         POSIX ones Also be sure to correctly initialize struct sigaction.
18843         [4bc2a6dbb2be]
18844
18845         * strerror.c:
18846         Don't need config.h or "#ifndef HAVE_STRERROR" wrapper.
18847         [1ad64a19f328]
18848
18849         * compat.h:
18850         Add scaffolding for POSIX signal emulation
18851         [945861d4c93b]
18852
18853         * sigaction.c:
18854         o Add missing ';' so this compiles o Can't use NULL since we don't
18855         include stdio.h
18856         [04d0cac7438f]
18857
18858         * sigaction.c:
18859         Emulate sigaction() using sigvec()
18860         [d0b54a989875]
18861
18862 2001-11-13  Todd C. Miller  <Todd.Miller@courtesan.com>
18863
18864         * sudoers.pod:
18865         Document new behavior of negative values of timestamp_timeout Fix a
18866         typo
18867         [4c0716570d01]
18868
18869         * sudo.pod:
18870         Add security note about command not being logged after 'sudo su' and
18871         friends.
18872         [43294851a33c]
18873
18874         * sudo.pod:
18875         Mention that -V prints default values when run as root, including
18876         the list of environment variables to clear.
18877         [d9e5e550a8c3]
18878
18879         * Makefile.in:
18880         Run pod2man with --quotes=none to avoid stupid quoting of C<>
18881         entries.
18882         [997b23c35dbe]
18883
18884 2001-11-12  Todd C. Miller  <Todd.Miller@courtesan.com>
18885
18886         * auth/sudo_auth.c, def_data.c, def_data.h, def_data.in, sudoers.pod:
18887         Add mail_badpass option Also modify mail_always behavior to also
18888         send mail when the password is wrong
18889         [838d40ccafce]
18890
18891         * env.c, sudo.c, sudo.h:
18892         Dump default bad env table when 'sudo -V' is run by root.
18893         [f67f1b8048b0]
18894
18895         * sudoers.pod:
18896         document env_delete
18897         [d74f893663a2]
18898
18899         * env.c:
18900         Add support for '*' in env_keep when not resetting the environment
18901         (ie: the normal case).
18902         [fd4fb62ea8fd]
18903
18904         * env.c:
18905         Add env_delete variable that lets the user replace/add to the
18906         bad_env_table. Allow '*' wildcard in env_keep entries.
18907         [aa728bc35e29]
18908
18909 2001-11-06  Todd C. Miller  <Todd.Miller@courtesan.com>
18910
18911         * mkinstalldirs:
18912         Force umask to 022 to guarantee sane directory permissions.
18913         [9ab3cfe70569]
18914
18915 2001-11-02  Todd C. Miller  <Todd.Miller@courtesan.com>
18916
18917         * Makefile.in:
18918         add sudo.tab.h and sudo.tab.c to sudo.tab.o dependency
18919         [671010465e6f]
18920
18921         * mkdefaults:
18922         fix breakage in last commit
18923         [8318f8851e56]
18924
18925         * Makefile.in:
18926         acsite.m4 -> aclocal.m4
18927         [30c146873a01]
18928
18929         * check.c:
18930         fix I_TS_TIMEOUT vs. I_TIMESTAMP_TIMEOUT pasto in previous commit
18931         [4dc8b39954da]
18932
18933         * def_data.c:
18934         regenerated from def_data.in
18935         [915ea16ce1eb]
18936
18937         * check.c, defaults.c, defaults.h:
18938         Add new T_UINT type that most things use instead of T_INT If
18939         timestamp_timeout is < 0 then treat the ticket as never expiring (to
18940         be expired manually by the user).
18941         [3a3a636a2a5d]
18942
18943         * def_data.in:
18944         change most T_INT -> T_UINT
18945         [a2228d2457af]
18946
18947         * mkdefaults:
18948         fix warning when no args
18949         [ca70a5394af5]
18950
18951         * visudo.c:
18952         Change 2 Exit() -> exit() Avoid stdio in Exit() and call _exit() if
18953         we are a signal handler. We no longer print the signal number but
18954         the user can just check the exit value for that.
18955         [dc424f631fef]
18956
18957 2001-10-16  Todd C. Miller  <Todd.Miller@courtesan.com>
18958
18959         * logging.c:
18960         when setting up pipes in child process check for case where stdin ==
18961         pipe fd 0
18962         [518112d76184]
18963
18964 2001-10-11  Todd C. Miller  <Todd.Miller@courtesan.com>
18965
18966         * visudo.c:
18967         Ignore editor exit value since XPG4 says vi's exit value is the
18968         count of editing errors made (failed searches, etc).
18969         [b9d952284865]
18970
18971 2001-10-05  Todd C. Miller  <Todd.Miller@courtesan.com>
18972
18973         * configure:
18974         regen
18975         [cb3aa586f03b]
18976
18977         * configure.in:
18978         sco now is identified by config.guess as *-sco-*
18979         [46664bbdea61]
18980
18981         * configure.in:
18982         Check for getspnam() in -lgen if not in -lc for UnixWare.
18983         [0f152ad1ba93]
18984
18985 2001-09-18  Todd C. Miller  <Todd.Miller@courtesan.com>
18986
18987         * sudoers.pod, visudo.pod:
18988         "upper case" -> "uppercase"
18989         [f9151f232326]
18990
18991         * sudoers.pod:
18992         fix typos and grammar; pjanzen@foatdi.harvard.edu
18993         [2855d73d0237]
18994
18995 2001-08-28  Todd C. Miller  <Todd.Miller@courtesan.com>
18996
18997         * sudoers.pod:
18998         Missing word (specify); krapht@secureops.com
18999         [65523eb37a2c]
19000
19001 2001-08-23  Todd C. Miller  <Todd.Miller@courtesan.com>
19002
19003         * sudo.c:
19004         If we fail to lookup a login class, apply the default one.
19005         [d4869faa6816]
19006
19007         * logging.c:
19008         In log_error() free message, not logline unconditionally, then free
19009         logline if it is not the same as message. No function change but
19010         this mirrors how they are allocated.
19011         [565e5f6cc643]
19012
19013 2001-07-17  Todd C. Miller  <Todd.Miller@courtesan.com>
19014
19015         * configure:
19016         regenerate
19017         [834a48f548a2]
19018
19019         * configure.in:
19020         remove some backslash quotes that are unneeded
19021         [50d401d6e2ca]
19022
19023         * configure.in:
19024         o Tweaks to make this work with autoconf-2.50 o Use AC_LIBOBJ
19025         instead of changing LIBOBJS directly o Use AC_REPLACE_FUNCS where we
19026         can o Use AC_CHECK_FUNCS instead of AC_CHECK_FUNC so we don't have
19027         to AC_DEFINE things manually.
19028         [f502c5f15f92]
19029
19030         * config.guess, config.sub:
19031         Updated from autoconf-2.50
19032         [6140205915ef]
19033
19034 2001-05-22  Todd C. Miller  <Todd.Miller@courtesan.com>
19035
19036         * README:
19037         Update mailing list section. We use mailman now, not majordomo.
19038         [b9a8ca45e6dc]
19039
19040 2001-05-10  Todd C. Miller  <Todd.Miller@courtesan.com>
19041
19042         * getspwuid.c, logging.c, sudo.c:
19043         Use setpwent()/endpwent() + all the shadow variants to make sure we
19044         don't inadvertantly leak an fd to the child. Apparently Linux's
19045         shadow routines leave the fd open even if you don't call setspent().
19046         Reported by mike@gistnet.com; different patch used.
19047         [d33792ef6c01]
19048
19049 2001-04-13  Todd C. Miller  <Todd.Miller@courtesan.com>
19050
19051         * sudoers.pod:
19052         s/eg./e.g./
19053         [bd32a0acaf93]
19054
19055         * tgetpass.c:
19056         select() may return EAGAIN. If so, continue like we do for EINTR.
19057         [5f202c943818]
19058
19059         * logging.c:
19060         Fix a non-exploitable buffer overflow in the word splitting code.
19061         This should really be rewritten.
19062         [4c724363863a]
19063
19064         * Makefile.in:
19065         FAQ link goes away
19066         [1d26dd6c8972]
19067
19068         * INSTALL:
19069         Tell people to look in sample.syslog.conf for examples, not FAQ
19070         [affcae3f43ca]
19071
19072         * TROUBLESHOOTING:
19073         Update list of env vars that are cleared
19074         [234e56f1435a]
19075
19076         * sudo.c:
19077         remove struct env_table decl since that stuff has all moved to env.c
19078         [5dd923148777]
19079
19080 2001-04-04  Todd C. Miller  <Todd.Miller@courtesan.com>
19081
19082         * fileops.c:
19083         Fix a pasto in flock-style unlocking and include <sys/file.h> for
19084         flock on older systems; twetzel@gwdg.de
19085         [d5420d9d2861]
19086
19087         * configure:
19088         regen to get NeXT lockf/flock fix
19089         [d3ba6ed70e15]
19090
19091         * configure.in:
19092         force NeXT to use flock since lockf is broken
19093         [bd5391dca1bb]
19094
19095 2001-03-30  Todd C. Miller  <Todd.Miller@courtesan.com>
19096
19097         * check.c:
19098         Use stashed user_gid when checking against exempt gid since sudo
19099         sets its gid to a a value that makes sudoers readable. Previously
19100         if you used gid 0 as the exempt group everyone would be exempt. From
19101         Paul Kranenburg <pk@cs.few.eur.nl>
19102         [0b140cc3a817]
19103
19104 2001-03-29  Todd C. Miller  <Todd.Miller@courtesan.com>
19105
19106         * configure:
19107         regen
19108         [cc455408f32b]
19109
19110         * aclocal.m4:
19111         #include stdio.h in SUDO_CHECK_TYPE since IRIX 6 aparently defines
19112         some types (such as ssize_t) therein.
19113         [b6aee85ca331]
19114
19115 2001-03-02  Todd C. Miller  <Todd.Miller@courtesan.com>
19116
19117         * defaults.c:
19118         Fix negation of paths in a boolean context. Problem found by
19119         apt@UH.EDU
19120         [8aee217a7cdf]
19121
19122 2001-02-23  Todd C. Miller  <Todd.Miller@courtesan.com>
19123
19124         * visudo.c:
19125         pasto
19126         [ad32b277bf68]
19127
19128 2001-02-17  Todd C. Miller  <Todd.Miller@courtesan.com>
19129
19130         * visudo.c:
19131         SA_RESETHAND means the opposite of what I was thinking--oops To
19132         block all signals in old-style signals use ~0, not 0xffffffff
19133         [6ecdd793590a]
19134
19135 2001-02-04  Todd C. Miller  <Todd.Miller@courtesan.com>
19136
19137         * defaults.c:
19138         coerce difference of pointers to int when used in a string length
19139         printf format; deraadt@openbsd.org
19140         [a9d10f07180d]
19141
19142 2001-01-17  Todd C. Miller  <Todd.Miller@courtesan.com>
19143
19144         * visudo.c:
19145         Block all signals in Exit() to avoid a signal race. There is still
19146         a tiny window but I'm not going to worry about it.
19147         [6661805c0458]
19148
19149 2001-01-07  Todd C. Miller  <Todd.Miller@courtesan.com>
19150
19151         * env.c:
19152         glibc uses the LANGUAGE env var so clear that too; Solar Designer
19153         [d4ba95628afb]
19154
19155         * lex.yy.c:
19156         Regenerate with a fix to flex.skl that preserves errno from
19157         clobbering by isatty().
19158         [607eec736e19]
19159
19160 2000-12-31  Todd C. Miller  <Todd.Miller@courtesan.com>
19161
19162         * auth/aix_auth.c, auth/bsdauth.c, auth/fwtk.c, auth/pam.c,
19163         auth/sia.c, auth/sudo_auth.c:
19164         Some defaults I_ defines got renamed.
19165         [ec19b23caaf3]
19166
19167         * Makefile.in, check.c, def_data.c, def_data.h, def_data.in,
19168         defaults.c, defaults.h, env.c, logging.c, mkdefaults, parse.yacc,
19169         set_perms.c, sudo.c, sudo.tab.c:
19170         Move defaults info into its own files from which we generate .h and
19171         .c files. This makes adding or rearranging variables much simpler.
19172         [e91b880b5043]
19173
19174 2000-12-30  Todd C. Miller  <Todd.Miller@courtesan.com>
19175
19176         * configure, configure.in:
19177         fix typo in last commit
19178         [10a6ee2bae71]
19179
19180         * compat.h, config.h.in, configure, configure.in:
19181         Add check + emulation for setegid (like seteuid).
19182         [29492092bd2f]
19183
19184         * env.c:
19185         Make env_keep override badenv_table as documented Fix traversal of
19186         badenv_table (broken in last commit)
19187         [37c9f0d22673]
19188
19189         * set_perms.c, sudo.c, sudo.h:
19190         Don't try and build saved uid version of set_perms on systems w/o
19191         them. Rename set_perms_saved_uid() -> set_perms_posix() Make
19192         set_perms_setreuid simply be set_perms_fallback() and simply include
19193         the appropriate function at compile time (setreuid() vs. setuid()).
19194         [3107333c062c]
19195
19196         * sudoers.cat, sudoers.man.in, sudoers.pod:
19197         PATH is also preserved when env_reset is in effect
19198         [90e45c5711ff]
19199
19200         * CHANGES, Makefile.in, check.c, compat.h, config.h.in, configure,
19201         configure.in, defaults.c, defaults.h, env.c, find_path.c,
19202         getspwuid.c, set_perms.c, sudo.c, sudo.cat, sudo.h, sudo.man.in,
19203         sudo.pod, sudoers.cat, sudoers.man.in, sudoers.pod, testsudoers.c,
19204         visudo.c, visudo.cat, visudo.man.in:
19205         New Defaults options: o stay_setuid - sudo will remain setuid if
19206         system has saved uids or setreuid(2) o env_reset - reset the
19207         environment to a sane default o env_keep - preserve environment
19208         variables that would otherwise be cleared
19209
19210         No longer use getenv/putenv/setenv functions--do environment munging
19211         by hand. Potentially dangerous environment variables can be cleared
19212         only if they contain '/' pr '%' characters to protect buggy
19213         programs. Moved environment routines into env.c (new file)
19214         [c2f97651db4c]
19215
19216         * INSTALL:
19217         Clear up --without-passwd description
19218         [2f336dab6733]
19219
19220         * putenv.c, sudo_setenv.c:
19221         We now build up a new environment from scratch and assign it to
19222         "environ".
19223         [6ae6152f2238]
19224
19225 2000-12-19  Todd C. Miller  <Todd.Miller@courtesan.com>
19226
19227         * sudo.pod, visudo.pod:
19228         Grammatical fixes from Paul Janzen
19229         [e03ead2e56f8]
19230
19231 2000-12-15  Todd C. Miller  <Todd.Miller@courtesan.com>
19232
19233         * visudo.c:
19234         If there was a syntax error and the user just wants to quit, unlink
19235         sudoers if it is zero length.
19236         [74ba7921f520]
19237
19238         * visudo.c:
19239         'Q' means ignore parse error, not 'q'
19240         [e8d0e4491fe6]
19241
19242         * visudo.c:
19243         Open sudoers for writing with mode SUDOERS_MODE From Dimitry Andric
19244         <dim@xs4all.nl>
19245         [b24990a72491]
19246
19247 2000-12-13  Todd C. Miller  <Todd.Miller@courtesan.com>
19248
19249         * set_perms.c:
19250         Add missing #ifdef HAVE_LOGIN_CAP_H; ayamura@ayamura.org
19251         [41a8db10e076]
19252
19253 2000-12-09  Todd C. Miller  <Todd.Miller@courtesan.com>
19254
19255         * config.guess, config.sub:
19256         Darwin / Mac OS X support from Wilfredo Sanchez <wsanchez@apple.com>
19257         [6052da895d2e]
19258
19259 2000-11-03  Todd C. Miller  <Todd.Miller@courtesan.com>
19260
19261         * sudo.c, visudo.c:
19262         Use exit(127), not exit(-1)
19263         [9ff0c3eada34]
19264
19265         * Makefile.in, defaults.c, defaults.h, set_perms.c, sudo.c:
19266         Move set_perms() to its own file and use POSIX saved uid or
19267         setreuid() if available.
19268
19269         Added stay_setuid option for systems that have libraries that
19270         perform extra paranoia checks in system libraries for setuid
19271         programs (ie: anything with issetugid(2)).
19272         [28960f842698]
19273
19274         * sudo.c:
19275         strip more bits from the environment and add a facility for
19276         stripping things only if they contain '/' or '%' to address printf
19277         format string vulnerabilities in other programs.
19278         [b98d6375f299]
19279
19280 2000-11-02  Todd C. Miller  <Todd.Miller@courtesan.com>
19281
19282         * configure:
19283         regen
19284         [7e74e5c91049]
19285
19286         * configure.in:
19287         For NCR, add -lc89 to LIBS, not SUDO_LIBS and cache the existence of
19288         strcasecmp().
19289         [a418e9e70442]
19290
19291         * configure:
19292         regen
19293         [bbff244a52bc]
19294
19295         * configure.in:
19296         Check for strcasecmp(3) in -lc89 for NCR Unix
19297         [361c99576681]
19298
19299 2000-11-01  Todd C. Miller  <Todd.Miller@courtesan.com>
19300
19301         * config.h.in:
19302         Define HAVE_INNETGR #ifdef HAVE__INNETGR
19303         [473cdb92b6db]
19304
19305         * configure:
19306         regen
19307         [4e6364a195e0]
19308
19309         * compat.h, config.h.in, configure.in:
19310         Add check for _innetgr(3) since NCR systems have that instead of
19311         innetgr(3).
19312         [25e6852e7494]
19313
19314 2000-10-31  Todd C. Miller  <Todd.Miller@courtesan.com>
19315
19316         * auth/securid.c:
19317         check return value of creadcfg() call sd_close() after sd_auth()
19318         store username in sd->username so we don't rely on the USER env
19319         variable
19320         [d106b4f42722]
19321
19322 2000-10-30  Todd C. Miller  <Todd.Miller@courtesan.com>
19323
19324         * INSTALL:
19325         document --with-bsdauth
19326         [f1518ecc2ee9]
19327
19328         * configure:
19329         regen
19330         [dceb35071ea8]
19331
19332         * configure.in:
19333         --with-bsdauth assumes --with-logincap
19334         [4200778083fd]
19335
19336         * auth/bsdauth.c, auth/fwtk.c:
19337         When prompting for a response to a challenge, if the user just hits
19338         return then reprompt with echo turned on.
19339         [a539b6474a97]
19340
19341 2000-10-29  Todd C. Miller  <Todd.Miller@courtesan.com>
19342
19343         * sudo.c:
19344         Remove debugging code that should not have been committed, oops.
19345         [9862607b77a7]
19346
19347         * auth/bsdauth.c:
19348         Use lower-level routines and get the password ourselves. Checks for
19349         a challenge and if there is one echo is not turned off.
19350         [2d8fcd166baa]
19351
19352         * auth/pam.c, auth/sudo_auth.h:
19353         minor housekeeping, no real code changes
19354         [d0074a277fb4]
19355
19356 2000-10-27  Todd C. Miller  <Todd.Miller@courtesan.com>
19357
19358         * sudo.c:
19359         Fix a coredump in the logging functions if gethostname(2) fails by
19360         deferring the call to log_error() until things are better setup.
19361
19362         Fix return value of set_loginclass() in non-BSD-auth case.
19363
19364         Hard-code 'sudo' in the usage message so we can fit more options on
19365         a line
19366         [d9d1b7579818]
19367
19368         * logging.c:
19369         Fix errant ';' (typo) that broken MSG_ONLY
19370         [849b2276a470]
19371
19372 2000-10-26  Todd C. Miller  <Todd.Miller@courtesan.com>
19373
19374         * sudo.cat, sudo.man.in:
19375         regen
19376         [bb3c8c6704d1]
19377
19378         * sudo.pod:
19379         Document -a flag
19380         [e18316cebaac]
19381
19382         * Makefile.in, auth/bsdauth.c, auth/sudo_auth.h, config.h.in,
19383         configure, configure.in, getspwuid.c, sudo.c:
19384         Add support for BSD authentication.
19385         [f374cfd9ca0d]
19386
19387 2000-10-19  Todd C. Miller  <Todd.Miller@courtesan.com>
19388
19389         * sudoers.pod:
19390         Fix typo; from sato@complex.eng.hokudai.ac.jp
19391         [3085fee9766e]
19392
19393 2000-10-12  Todd C. Miller  <Todd.Miller@courtesan.com>
19394
19395         * sudoers.pod:
19396         Mention negating umask
19397         [c9e410294dae]
19398
19399         * defaults.c:
19400         Allow user to specify umask of 0777 (same as !umask)
19401         [bb771daa96fe]
19402
19403 2000-10-09  Todd C. Miller  <Todd.Miller@courtesan.com>
19404
19405         * sudo.pod, visudo.pod:
19406         Fix a typo and give a URL for the sudo history.
19407         [77f73199aedb]
19408
19409 2000-10-08  Todd C. Miller  <Todd.Miller@courtesan.com>
19410
19411         * defaults.c, sudo.pod:
19412         fix typos; pepper@reppep.com
19413         [5532c7421340]
19414
19415 2000-09-14  Todd C. Miller  <Todd.Miller@courtesan.com>
19416
19417         * sudo.c, sudo.h, sudo_setenv.c:
19418         sudo_setenv() now exits on memory alloc failure instead of returning
19419         -1.
19420         [71f1cf18f47b]
19421
19422 2000-09-07  Todd C. Miller  <Todd.Miller@courtesan.com>
19423
19424         * sudo.c:
19425         Strip out NLSPATH and PATH_LOCALE from the environment for FreeBSD
19426         and possibly others.
19427         [b69d985b0d22]
19428
19429         * logging.c:
19430         Don't use vsyslog(3) since HP-UX (and others?) lack it. This means
19431         that "%m" won't be expanded but we don't use that anyway since the
19432         logging routines may splat to stderr as well.
19433         [8d37a544d0c0]
19434
19435         * defaults.c, defaults.h, sudo.c, sudoers.cat, sudoers.man.in,
19436         sudoers.pod:
19437         Add always_set_home variable
19438         [dbcaff646e07]
19439
19440         * configure, configure.in:
19441         Have to hard code default values in help since the defaults are set
19442         _after_ the help stuff.
19443         [7b5d6d72f55c]
19444
19445 2000-08-31  Todd C. Miller  <Todd.Miller@courtesan.com>
19446
19447         * lex.yy.c, parse.lex:
19448         Allow special characters (including '#') to be embedded in pathnames
19449         if quoted by a '\\'. The quoted chars will be dealt with by
19450         fnmatch(). Unfortunately, 'sudo -l' still prints the '\\'.
19451         [3ed33cf09977]
19452
19453 2000-08-13  Todd C. Miller  <Todd.Miller@courtesan.com>
19454
19455         * install-sh:
19456         Better path searching for programs we need.
19457         [60517cb1f0d6]
19458
19459         * TROUBLESHOOTING:
19460         Add section on "C compiler cannot create executables" errors.
19461         [e4ada6eaee59]
19462
19463         * Makefile.binary, Makefile.in, version.h:
19464         Crank version
19465         [93d1bd5b7f5e]
19466
19467         * aclocal.m4, configure, configure.in, sudo.cat, sudo.man.in,
19468         sudo.pod, sudoers.cat, sudoers.man.in, sudoers.pod, visudo.cat,
19469         visudo.man.in, visudo.pod:
19470         Substitute values from configure into man pages.
19471         [619854c356c1]
19472
19473 2000-08-12  Todd C. Miller  <Todd.Miller@courtesan.com>
19474
19475         * parse.c, sudo.c:
19476         The listpw and verifypw sudoers options would not take effect
19477         because the value of the default was checked *before* sudoers was
19478         parsed. Instead of passing in the value of PWCHECK_* to
19479         sudoers_lookup(), pass in the arg for def_ival() so the check can be
19480         deferred until after sudoers is parsed.
19481         [4f596e358f72]
19482
19483 2000-08-11  Todd C. Miller  <Todd.Miller@courtesan.com>
19484
19485         * tgetpass.c:
19486         When writing prompt, no need to write the NUL as well;
19487         hag@linnaean.org
19488         [fbcdd7b431ee]
19489
19490 2000-06-09  Todd C. Miller  <Todd.Miller@courtesan.com>
19491
19492         * install-sh:
19493         When looking for chown, check in /sbin too
19494         [657ba6653f8c]
19495
19496 2000-06-05  Todd C. Miller  <Todd.Miller@courtesan.com>
19497
19498         * visudo.c:
19499         Remove extraneous call to init_defaults() and set runas_user to NULL
19500         betweem parses so init_defaults will reset it each time, thus
19501         avoiding a reference to free()d data.
19502         [7421fcd692af]
19503
19504 2000-06-04  Todd C. Miller  <Todd.Miller@courtesan.com>
19505
19506         * config.h.in, interfaces.c, interfaces.h, sudo.c:
19507         Add support for using getifaddrs() to get the list of ip addr /
19508         netmask pairs. Currently IPv4-only.
19509         [a35bc4f7306d]
19510
19511         * visudo.c:
19512         Add a missing check for UserEditor == NULL Add missing '+' before
19513         line number when invoking editor to fix a syntax error
19514         [f0d4635f6082]
19515
19516 2000-05-12  Todd C. Miller  <Todd.Miller@courtesan.com>
19517
19518         * sudo.c:
19519         Call clean_env very early in main() for paranoia's sake. Idea from
19520         Marc Esipovich.
19521         [f8d72ebd0115]
19522
19523 2000-05-10  Todd C. Miller  <Todd.Miller@courtesan.com>
19524
19525         * sudo.h:
19526         Update proto for evasprintf and easprintf
19527         [d147d6e58419]
19528
19529         * alloc.c:
19530         Make easprintf() and evasprintf() return an int.
19531         [b2ca5d089667]
19532
19533         * check.c:
19534         If the targetpw flag is set, use target username as part of the
19535         timestamp path. If tty tickets are in effect cat the tty and the
19536         target username with a ':' as the separator.
19537         [de11abc693c2]
19538
19539 2000-05-09  Todd C. Miller  <Todd.Miller@courtesan.com>
19540
19541         * auth/pam.c:
19542         Backout part of last change; setting PAM_USER to the invoking user
19543         breaks things like targetpw.
19544         [427218a7387f]
19545
19546         * auth/pam.c:
19547         set tty and username via pam_set_item
19548         [85d1922dbcc9]
19549
19550         * auth/sudo_auth.c, check.c, getspwuid.c, sudo.c, sudo.h:
19551         Fix root, runas, and target authentication for non-passwd file auth
19552         methods.
19553         [a14535e7b30c]
19554
19555 2000-04-22  Todd C. Miller  <Todd.Miller@courtesan.com>
19556
19557         * sudo.cat, sudo.man.in, sudo.pod, sudoers.cat, sudoers.man.in,
19558         sudoers.pod, visudo.cat, visudo.man.in, visudo.pod:
19559         Use B<-Z> not C<-Z> for command line flags in all places. This is
19560         more consistent and works around a bug in Pod::Man.
19561         [64b5a05f30c5]
19562
19563         * sudoers.cat, sudoers.man.in, sudoers.pod:
19564         Fix an occurence of 'semicolon' that should be 'colon'
19565         [4ea5aacae3fb]
19566
19567 2000-04-19  Todd C. Miller  <Todd.Miller@courtesan.com>
19568
19569         * configure, configure.in:
19570         Fix --with-badpri help line
19571         [3cc40977c043]
19572
19573 2000-04-17  Todd C. Miller  <Todd.Miller@courtesan.com>
19574
19575         * defaults.c, logging.c, sudo.c:
19576         Bracket calls to syslog with an openlog() and closelog() since some
19577         authentication methods (like PAM) may do their own logging via
19578         syslog. Since we don't use syslog much (usually just once per
19579         session) this doesn't really incur a performance penalty. It also
19580         Fixes a SEGV with pam_kafs.
19581         [fe1cc28529f6]
19582
19583 2000-04-15  Todd C. Miller  <Todd.Miller@courtesan.com>
19584
19585         * sudo.c:
19586         Fix -H flag. runas_homedir is only valid after
19587         set_perms(PERM_RUNAS, mode)
19588         [ce9b1c6f68a6]
19589
19590 2000-04-12  Todd C. Miller  <Todd.Miller@courtesan.com>
19591
19592         * INSTALL:
19593         Clarify the fact that insults are not enabled just by including them
19594         in the binary.
19595         [d5a31d48320c]
19596
19597 2000-04-07  Todd C. Miller  <Todd.Miller@courtesan.com>
19598
19599         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in, visudo.cat,
19600         visudo.man.in:
19601         Regenerated with perl 5.6.0 pod2man
19602         [21751433768b]
19603
19604         * Makefile.in:
19605         Give date string to pod2man since its default is ugly and it ain't
19606         got no alibi.
19607         [0080b2f6298f]
19608
19609         * Makefile.in:
19610         Do section substitution on the output of pod2man and remove hack
19611         needed for old pod2man.
19612         [1ef843d5c78b]
19613
19614         * sudo.pod, sudoers.pod, visudo.pod:
19615         Put back real man sections, we will do the substitution later.
19616         [f728c1abad7e]
19617
19618 2000-04-02  Todd C. Miller  <Todd.Miller@courtesan.com>
19619
19620         * configure, configure.in:
19621         Don't bother checking for the path to vi if user specified --with-
19622         editor
19623         [bf698487e0d5]
19624
19625 2000-04-01  Todd C. Miller  <Todd.Miller@courtesan.com>
19626
19627         * CHANGES, visudo.c:
19628         Visudo now does its own fork/exec instead of calling system(3).
19629         [99bbcd88863b]
19630
19631         * CHANGES, INSTALL, Makefile.in, sudoers.cat, sudoers.man.in,
19632         sudoers.pod, visudo.c:
19633         Visudo now checks for the existence of an editor and gives a
19634         sensible error if it does not exist.
19635
19636         The path to the editor for visudo is now a colon-separated list of
19637         allowable editors. If the user has $EDITOR set and it matches one
19638         of the allowed editors that editor will be used. If not, the first
19639         editor in the list that actually exists is used.
19640         [cc86eb9f5440]
19641
19642         * sudo.cat, sudo.man.in, sudo.pod:
19643         Clear up confusion wrt sudo's return value.
19644         [9385b12d8e79]
19645
19646 2000-03-27  Todd C. Miller  <Todd.Miller@courtesan.com>
19647
19648         * Makefile.in:
19649         Strip sudo and visudo for bindist target
19650         [a995ddd79177]
19651
19652         * sudo.cat, sudo.man.in, sudo.pod, sudoers.cat, sudoers.man.in,
19653         sudoers.pod, visudo.cat, visudo.man.in, visudo.pod:
19654         Use @mansectsu@ and @mansectform@ in the man page bodies as well.
19655         [5eb9e60a726f] [SUDO_1_6_3]
19656
19657         * visudo.cat, visudo.man.in, visudo.pod:
19658         Typo: @sysconf@ -> @sysconfdir@
19659         [f07f52fcd099]
19660
19661         * Makefile.in:
19662         'make dist' should not cause any files to be modified so remove its
19663         dependencies.
19664         [7f44a2666a9c]
19665
19666         * CHANGES:
19667         Whoops, forgot to add release marker
19668         [16c0f16b35b8]
19669
19670 2000-03-26  Todd C. Miller  <Todd.Miller@courtesan.com>
19671
19672         * CHANGES:
19673         Final change for 1.6.3 (or so I hope)
19674         [473c89da6123]
19675
19676         * sudo.cat, sudoers.cat, visudo.cat:
19677         Use SYSV man sections since BSD systems will have nroff...
19678         [0a6bd154324e]
19679
19680 2000-03-24  Todd C. Miller  <Todd.Miller@courtesan.com>
19681
19682         * parse.yacc, sudo.tab.c:
19683         When checking to see if the host/user matches in a defaults spec,
19684         check against TRUE, not just non-zero since it might be -1.
19685         [41f2b7ad3fdd]
19686
19687         * configure, configure.in:
19688         OSF/1 puts file formats in section 4, not 5.
19689         [d77c1301afa9]
19690
19691         * CHANGES, INSTALL, sudo.c:
19692         Make login class support work on BSD/OS
19693         [e9bbe3c08ade]
19694
19695         * RUNSON:
19696         Update for 1.6.3
19697         [c40ce1d76c4d]
19698
19699         * configure, configure.in:
19700         If there is no inet_addr but there *is* an __inet_addr that's ok
19701         since inet_addr is probably just a macro then. The better thing to
19702         do would be to look for the macro, but this is fine for now.
19703         [1b8865ae4d68]
19704
19705         * configure, configure.in:
19706         Don't use shlicc for BSD/OS 4.x
19707         [83fbf6dedd2c]
19708
19709         * Makefile.in, configure, configure.in:
19710         *.man lives in cwd, *.cat lives in $(srcdir), add a @mansrcdir@
19711         configure variable so we can deal with this. Also, only remove *.man
19712         for 'distclean' not 'clean'.
19713         [30d56e6de214]
19714
19715         * sudo.c:
19716         set_loginclass() should be static like the proto says
19717         [d570a2d55fb8]
19718
19719 2000-03-23  Todd C. Miller  <Todd.Miller@courtesan.com>
19720
19721         * fnmatch.c:
19722         Add #ifdef __STDC__ around the rangematch function header to avoid
19723         promotion of test to int, thus violating the prototype. Gcc handles
19724         this gracefully but more std ANSI compilers will complain.
19725         [7d98c3e332b2]
19726
19727         * emul/fnmatch.h:
19728         Pull in newer fnmatch(3) that supports FNM_CASEFOLD
19729         [4e1320852f8b]
19730
19731         * aclocal.m4, configure, fnmatch.3, fnmatch.c:
19732         Pull in newer fnmatch(3) that supports FNM_CASEFOLD Check for
19733         FNM_CASEFOLD in configure
19734         [9ef952bf1896]
19735
19736         * CHANGES, TODO:
19737         update for 1.6.3
19738         [e4ba6368a0c5]
19739
19740         * sudo.tab.c, sudo.tab.h, testsudoers.c, visudo.c:
19741         Fully qualified hosts w/ wildcards were not matching the FQHOST
19742         token type. There's really no need for a separate token for fully-
19743         qualified vs. unqualified anymore so FQHOST is now history and
19744         hostname_matches now decides which hostname (short or long) to check
19745         based on whether or not the pattern contains a '.'.
19746         [fbd2887d9811]
19747
19748         * parse.h:
19749         Fully qualified hosts w/ wildcards were not matching the FQHOST
19750         token type. There's really no need for a separate token for fully-
19751         qualified vs. unqualified anymore so FQHOST is now history and
19752         hostname_matches now decides which hostname (short or long) to check
19753         based on whether or not the pattern contains a '.'.
19754         [dd7bbe223461]
19755
19756         * lex.yy.c, parse.c, parse.lex, parse.yacc:
19757         Fully qualified hosts w/ wildcards were not matching the FQHOST
19758         token type. There's really no need for a separate token for fully-
19759         qualified vs. unqualified anymore so FQHOST is now history and
19760         hostname_matches now decides which hostname (short or long) to check
19761         based on whether or not the pattern contains a '.'.
19762         [630d9d205397]
19763
19764         * parse.c, parse.h, parse.yacc, sudo.tab.c, sudoers.cat,
19765         sudoers.man.in, sudoers.pod, testsudoers.c, visudo.c:
19766         Add support for wildcards in the hostname.
19767         [d8d821ed4238]
19768
19769         * Makefile.in:
19770         Add targets for *.man.in, using config.status to generate *.man from
19771         *.man.in
19772         [640e50ede485]
19773
19774         * sudoers.cat, sudoers.man.in, sudoers.pod:
19775         Document set_logname option and enbolden refs to sudo and visudo.
19776         [9622b3a48707]
19777
19778         * INSTALL, Makefile.in, aclocal.m4, configure, configure.in, sudo.cat,
19779         sudo.man.in, sudo.pod, sudoers.cat, sudoers.man.in, sudoers.pod,
19780         visudo.cat, visudo.man.in, visudo.pod:
19781         Add FreeBSD login.conf support (untested on BSD/OS) based on a patch
19782         from Michael D. Marchionna. configure now does substitution on the
19783         man pages, allowing us to fix up the paths and set the section
19784         correctly. Based on an idea from Michael D. Marchionna.
19785         [463e928a0a2f]
19786
19787         * auth/passwd.c:
19788         Better fix for handling HP-UX aging info.
19789         [3950f42d8549]
19790
19791         * sudo.c:
19792         Add support for set_logname run-time default
19793         [c6a7cc76b8b4]
19794
19795         * sudo.man.in, sudoers.man.in, visudo.man.in:
19796         configure does substitution on these to produce *.man
19797         [b83fc3c1bfc9]
19798
19799         * sudo.man, sudoers.man, visudo.man:
19800         These files now get generated from *.man.in at configure time.
19801         [c499061f79e0]
19802
19803 2000-03-22  Todd C. Miller  <Todd.Miller@courtesan.com>
19804
19805         * defaults.c, defaults.h:
19806         Add set_logname option so users can turn off setting of LOGNAME/USER
19807         environment variables.
19808         [6316869180b8]
19809
19810         * lsearch.c, parse.c, testsudoers.c:
19811         kill register
19812         [6e104e653748]
19813
19814 2000-03-13  Todd C. Miller  <Todd.Miller@courtesan.com>
19815
19816         * auth/passwd.c:
19817         HP-UX adds extra info at the end for password aging so when
19818         comparing the result of crypt to pw_passwd we only compare the first
19819         len(epass) bytes *unless* the user entered an empty string for a
19820         password.
19821         [3d24d4e4e889]
19822
19823         * logging.c:
19824         Get rid of grandchild hack, it was causing problems and there is
19825         really no need for it. This fixes a bug where we spin eating up CPU
19826         when the user runs a long-running process like a shell.
19827         [5743b10b1e81]
19828
19829 2000-03-07  Todd C. Miller  <Todd.Miller@courtesan.com>
19830
19831         * sudo.c:
19832         User can always specify a login class if he/she is already root.
19833         [710d160cef9f]
19834
19835         * config.h.in, configure, configure.in, defaults.c, defaults.h,
19836         sudo.c, sudo.h:
19837         FreeBSD login class (login.conf) support.
19838         [026b981d6328]
19839
19840 2000-03-06  Todd C. Miller  <Todd.Miller@courtesan.com>
19841
19842         * auth/sudo_auth.c:
19843         HAVE_SECUREWARE -> HAVE_GETPRPWNAM; fixes secureware support
19844         [9cd4929f1a78]
19845
19846 2000-03-03  Todd C. Miller  <Todd.Miller@courtesan.com>
19847
19848         * auth/passwd.c:
19849         Truncate unencrypted password to 8 chars if encrypted password is
19850         exactly 13 characters (indicateing standard a DES password). Many
19851         versions of crypt() do this for you, but not all (like HP-UX's).
19852         [a9d0259cb193]
19853
19854 2000-03-02  Todd C. Miller  <Todd.Miller@courtesan.com>
19855
19856         * INSTALL, RUNSON:
19857         Mention that gcc on dynix may have problems
19858         [77b97fa5bf1b]
19859
19860 2000-02-29  Todd C. Miller  <Todd.Miller@courtesan.com>
19861
19862         * Makefile.in:
19863         Link visudo with NET_LIBS since we now call syslog via defaults.c
19864         [9e3830b277cc]
19865
19866         * defaults.c:
19867         Use Argv[0] as the first arg to openlog() since visudo uses this
19868         too.
19869         [e61078f328ec]
19870
19871 2000-02-28  Todd C. Miller  <Todd.Miller@courtesan.com>
19872
19873         * sudo.c:
19874         Stash coredumpsize resource limit and retsore it before the exec()
19875         Otherwise the child ends up with a coredumpsize of 0.
19876         [f6a4783835a3]
19877
19878 2000-02-27  Todd C. Miller  <Todd.Miller@courtesan.com>
19879
19880         * sudo.cat, sudo.man, sudo.pod:
19881         document -S flag
19882         [3ebd805b7142]
19883
19884         * sudo.c:
19885         fix usage string
19886         [66b2dfa47fe8]
19887
19888         * CHANGES, RUNSON, TODO, auth/aix_auth.c, auth/fwtk.c, auth/pam.c,
19889         auth/sudo_auth.c, sudo.c, sudo.h, tgetpass.c:
19890         Added -S flag (read passwd from stdin) and tgetpass_flags global
19891         that holds flags to be passed in to tgetpass(). Change echo_off
19892         param to tgetpass() into a flags field. There are currently 2
19893         possible flags for tgetpass(): TGP_ECHO and TGP_STDIN. In
19894         tgetpass(), abstract the echo set/clear via macros and if (flags &
19895         TGP_ECHO) but echo is not set on the terminal, but sure to set it.
19896         [a4fcbb712cd0]
19897
19898         * tgetpass.c:
19899         Fixed a bug that caused an infinite loop when the password timeout
19900         was disabled.
19901         [2be1ffc5a39f]
19902
19903 2000-02-18  Todd C. Miller  <Todd.Miller@courtesan.com>
19904
19905         * CHANGES, defaults.c, defaults.h, getspwuid.c, sudo.c, sudo.h,
19906         sudoers.cat, sudoers.man, sudoers.pod, visudo.c:
19907         Add rootpw, runaspw, and targetpw options.
19908         [2d4563e46df7]
19909
19910         * CHANGES, defaults.c, sudoers.cat, sudoers.man, sudoers.pod,
19911         visudo.c:
19912         enveditor -> env_editor
19913         [ddc5f856e583]
19914
19915 2000-02-16  Todd C. Miller  <Todd.Miller@courtesan.com>
19916
19917         * BUGS, INSTALL, Makefile.in, README, configure, configure.in,
19918         sudo.cat, sudo.man, sudoers.cat, sudoers.man, version.h, visudo.cat,
19919         visudo.man:
19920         crank versino to 1.6.3
19921         [a5f7d3e74360]
19922
19923         * INSTALL, TODO, defaults.c, defaults.h, sudoers.cat, sudoers.man,
19924         sudoers.pod, visudo.c:
19925         Add 'editor' and 'enveditor' sudoers defaults and make visudo honor
19926         them. This means that visudo will now parse the sudoers file
19927         *before* it is edited so a bogus sudoers file will cause a warning
19928         to go to stderr. Also, visudo checks the variables once--it does not
19929         check them after each editor run since that could be confusing.
19930         [9f5af18e9212]
19931
19932 2000-02-15  Todd C. Miller  <Todd.Miller@courtesan.com>
19933
19934         * RUNSON:
19935         1.6.2 -> 1.6.2p1
19936         [e25b74f1d1af]
19937
19938         * check.c, sudo.c, sudo.h:
19939         Move user_is_exempt prototype into sudo.h
19940         [daf26a6ded8a]
19941
19942 2000-02-13  Todd C. Miller  <Todd.Miller@courtesan.com>
19943
19944         * configure, configure.in:
19945         Fix thinko, some && should have been || in the last commit
19946         [4b9b2d487ded]
19947
19948         * configure, configure.in:
19949         Don't initialized Makefile variables to be NULL since the user may
19950         want to import variables from their environment.
19951         [7be019f4422c]
19952
19953 2000-02-04  Todd C. Miller  <Todd.Miller@courtesan.com>
19954
19955         * configure, configure.in:
19956         typo
19957         [38f4d8971f0a]
19958
19959 2000-01-28  Todd C. Miller  <Todd.Miller@courtesan.com>
19960
19961         * sudo.tab.c:
19962         fix a yacc (skeleton.c) warning
19963         [a2da228a937b]
19964
19965 2000-01-27  Todd C. Miller  <Todd.Miller@courtesan.com>
19966
19967         * INSTALL, RUNSON, configure, configure.in:
19968         Make pam work on HP-UX 11.0;jaearick@colby.edu
19969         [b94de0ff6f42]
19970
19971         * CHANGES:
19972         recent changes; prepare for 1.6.2p1
19973         [b291635ea141]
19974
19975         * find_path.c:
19976         Don't apply SECURE_PATH if user is example; jmknoble@pobox.com
19977         [4306285c4f6e]
19978
19979 2000-01-26  Todd C. Miller  <Todd.Miller@courtesan.com>
19980
19981         * sudo.tab.c:
19982         Regen with yacc that has a memory leak plugged.
19983         [e26383a04eb7]
19984
19985         * sudoers.cat, sudoers.man, sudoers.pod:
19986         Expanded docs on sudoers 'defaults' options based on INSTALL file
19987         info.
19988         [54c3d62d6c74]
19989
19990         * INSTALL:
19991         Fix some while lies
19992         [d15311782150]
19993
19994 2000-01-24  Todd C. Miller  <Todd.Miller@courtesan.com>
19995
19996         * Makefile.in:
19997         When making a bindist, link FAQ to TROUBLESHOOTING instead of
19998         copying.
19999         [2d88a6ac88cf]
20000
20001         * sudoers.cat, sudoers.man, sudoers.pod:
20002         Add netgroup caveat
20003         [28d119f466e3] [SUDO_1_6_2]
20004
20005         * RUNSON:
20006         Last minute updates
20007         [89fb4ed22d52]
20008
20009         * TROUBLESHOOTING:
20010         PAM entry
20011         [a9fd59f39457]
20012
20013         * auth/pam.c:
20014         correct a comment
20015         [a29627225ba9]
20016
20017         * CHANGES, RUNSON:
20018         update for 1.6.2
20019         [b7f1c40ea732]
20020
20021         * auth/pam.c:
20022         Better detection of PAM errors and fix custom prompts with PAM.
20023         Based on patches from "Cloyce D. Spradling" <cloyce@headgear.org>
20024         [ff69234b94a5]
20025
20026 2000-01-20  Todd C. Miller  <Todd.Miller@courtesan.com>
20027
20028         * snprintf.c:
20029         Cast ULONG_MAX to unsigned long long when comparing to an unsigned
20030         long long value.
20031         [9d918c3a2ecd]
20032
20033 2000-01-19  Todd C. Miller  <Todd.Miller@courtesan.com>
20034
20035         * CHANGES, config.h.in, configure, configure.in, visudo.c:
20036         Fix sudoers locking in visudo. We now lock the sudoers file itself,
20037         not the temp file (since locking the temp file can foul up editors).
20038         The previous locking scheme didn't work because the fd was closed
20039         too early.
20040         [de2011bb11ed]
20041
20042         * config.h.in, configure, configure.in:
20043         Don't need test for ftruncate() any more.
20044         [e5f71c848104]
20045
20046         * configure, configure.in:
20047         Add a test for the -Aa flag w/ HP-UX's cc. Fixes compilation with
20048         the unbundled HP-UX cc.
20049         [2c373612c644]
20050
20051 2000-01-18  Todd C. Miller  <Todd.Miller@courtesan.com>
20052
20053         * sudoers.cat, sudoers.man, sudoers.pod:
20054         "a a" -> "a"; Aaron Campbell <aaron@cs.dal.ca>
20055         [05360d2c314e]
20056
20057 2000-01-17  Todd C. Miller  <Todd.Miller@courtesan.com>
20058
20059         * LICENSE, Makefile.in, defaults.c, defaults.h, parse.c, parse.h,
20060         parse.yacc, sudo.c, sudo.h, sudoers.pod, testsudoers.c, tgetpass.c,
20061         version.h, visudo.c:
20062         update copyright year on changed files
20063         [5792a2a28a4c]
20064
20065         * RUNSON:
20066         updates
20067         [edf8f19aa403]
20068
20069         * CHANGES:
20070         aix fix
20071         [4d4a243b31e2]
20072
20073         * INSTALL:
20074         Crank version to 1.6.2
20075         [bcb5cb411624]
20076
20077         * configure:
20078         Crank version to 1.6.2
20079         [32a19f33427f]
20080
20081         * sudo.c:
20082         When using rlimit check for RLIM_INFINITY When computing the value
20083         of maxfd, use min(getdtablesize(), RLIMIT_NOFILE)
20084         [8c16166802e5]
20085
20086         * CHANGES:
20087         recent changes
20088         [09fc7112e44d]
20089
20090         * BUGS, Makefile.in, README, configure.in, sudo.cat, sudo.man,
20091         sudoers.cat, sudoers.man, version.h, visudo.cat, visudo.man:
20092         Crank version to 1.6.2
20093         [055fa61a7c61]
20094
20095         * INSTALL, defaults.c, defaults.h, sudo.c, sudo.h, sudoers.pod:
20096         Add 'shell_noargs' runtime option back in. We have to defer
20097         checking until after the sudoers file has been parsed but since
20098         there are now other options that operate that way this one can too.
20099         Based on a patch from bguillory@email.com.
20100         [231db7a007a6]
20101
20102         * defaults.c, defaults.h, parse.c, sudo.c, sudo.h:
20103         Add "listpw" and "verifypw" options.
20104         [190683bac878]
20105
20106         * sudoers.cat, sudoers.man, sudoers.pod:
20107         o Fix some typos/omissions o Add section on verifypw and listpw o
20108         Define how NOPASSWD interacts with the -v and -l flags
20109         [6feb7350eb79]
20110
20111 2000-01-14  Todd C. Miller  <Todd.Miller@courtesan.com>
20112
20113         * configure, configure.in:
20114         For HP-UX cc, add -Aa to CPPFLAGS. For HP-UX always add
20115         -D_HPUX_SOURCE to CPPFLAGS.
20116         [06cc35d89dc8]
20117
20118         * defaults.c, defaults.h:
20119         In struct sudo_defs_types, move the union to the end and don't
20120         initialize the union member since that only works with an ANSI
20121         compiler. We set the value of the union by hand in init_defaults()
20122         anyway. This allows sudo to compile on a K&R compiler again.
20123         [623487e1fcfa]
20124
20125 2000-01-11  Todd C. Miller  <Todd.Miller@courtesan.com>
20126
20127         * parse.c, parse.h, parse.yacc, sudo.tab.c, testsudoers.c, visudo.c:
20128         netgr_matches needs to check shost as well as host since they may be
20129         different.
20130         [3f43ace23d3e]
20131
20132         * tgetpass.c:
20133         End on \r as well as \n
20134         [cb7c6e6f4202]
20135
20136 2000-01-03  Todd C. Miller  <Todd.Miller@courtesan.com>
20137
20138         * sudo.c:
20139         Update statbuf.st_mode based on SUDOERS_MODE when we are chaning
20140         from 0400 to whatever SUDOERS_MODE is (converting from the old
20141         sudoers mode). Assumes that SUDOERS_MODE is less restrictive than
20142         0400 which should always be the case.
20143         [34cd83d49d20]
20144
20145         * parse.c, parse.yacc, sudo.c, sudo.h, sudo.tab.c:
20146         Make treatment of -l and -v sane wrt NOPASSWD flags. Now allow -l
20147         w/o a passwd if there is *any* entry for the user on the host with a
20148         NOPASSWD flag. For -v, only allow w/o a passwd if *all* entries for
20149         the user on the host w/ the specified runas user have the NOPASSWD
20150         flag set.
20151         [4b3b85697653]
20152
20153         * Makefile.in:
20154         add check target
20155         [3d24d34a76fd]
20156
20157 1999-12-16  Todd C. Miller  <Todd.Miller@courtesan.com>
20158
20159         * visudo.c:
20160         Treat EOF at whatnow prompt like 'x' instead of looping.
20161         [5deffc27114c]
20162
20163 1999-12-10  Todd C. Miller  <Todd.Miller@courtesan.com>
20164
20165         * CHANGES:
20166         recent changes
20167         [5836a9452568] [SUDO_1_6_1]
20168
20169 1999-12-09  Todd C. Miller  <Todd.Miller@courtesan.com>
20170
20171         * config.h.in, configure, configure.in, sudo.c:
20172         Add check for initgroups() since old SYSV lacks this.
20173         [657a6005a569]
20174
20175         * CHANGES, RUNSON, aclocal.m4, config.h.in, configure, configure.in,
20176         parse.c, testsudoers.c:
20177         o Kill HAVE_FNMATCH_H o Only define HAVE_FNMATCH if <fnmatch.h>
20178         exists.
20179         [17d081e917d6]
20180
20181 1999-12-06  Todd C. Miller  <Todd.Miller@courtesan.com>
20182
20183         * auth/sudo_auth.c:
20184         Don't allow insults to be enabled if the insults[] array is empty.
20185         Otherwise there would be division by zero.
20186         [b20c14db6029]
20187
20188         * insults.h:
20189         Don't allow insults to be enabled if the insults[] array is empty.
20190         Otherwise there would be division by zero.
20191         [028f130204b0]
20192
20193         * CHANGES, RUNSON:
20194         Don't allow insults to be enabled if the insults[] array is empty.
20195         Otherwise there would be division by zero.
20196         [974f4780254b]
20197
20198         * insults.h:
20199         Don't care about USE_INSULTS #define since the insult stuff may be
20200         overridden at runtime.
20201         [b873df8b299c]
20202
20203         * auth/sudo_auth.c:
20204         Honor insults flag.
20205         [756111640fdc]
20206
20207         * CHANGES, parse.c:
20208         Don't ask the user for a password if the user is not allowed to run
20209         the command and the authenticate flag (in sudoers) is false.
20210         [cea9fdc09c76]
20211
20212         * CHANGES, RUNSON, lex.yy.c, parse.lex:
20213         o Whenever we get a bare newline we change to the INITIAL state. o
20214         Enter GOTRUNAS when we see Runas_Alias
20215
20216         This allows #uid to work in a RunasAlias.
20217         [a475513e7c7a]
20218
20219 1999-12-05  Todd C. Miller  <Todd.Miller@courtesan.com>
20220
20221         * CHANGES, parse.yacc, sudo.tab.c:
20222         fix parsing of runas lists: o oprunasuser and runaslist now return a
20223         value o in a runasspec, if a runaslist does not return TRUE, set
20224         runas_matches to FALSE. Normally, a runaslist only returns FALSE
20225         for explicitly denied users. o since runaslist does not modify the
20226         stack there is no need for a push/pop in runasalias.
20227         [82b305b34a8c]
20228
20229         * check.c, sudo.c:
20230         Don't kill the user's tickets until after sudoers has been parsed
20231         since tty_tickets and ticket_dir could be set in sudoers.
20232         [f43e25367f3a]
20233
20234         * BUGS, CHANGES, Makefile.binary, Makefile.in, README, RUNSON,
20235         configure, configure.in, sudo.cat, sudo.man, sudoers.cat,
20236         sudoers.man, tgetpass.c, version.h, visudo.cat, visudo.man:
20237         crank version to 1.6
20238         [95f8bdcf9bb2]
20239
20240         * testsudoers.c:
20241         add set_fqdn() stub
20242         [bbc81af5b41a]
20243
20244 1999-12-02  Todd C. Miller  <Todd.Miller@courtesan.com>
20245
20246         * INSTALL, defaults.c, defaults.h, sudo.c, sudo.h, sudoers.cat,
20247         sudoers.man, sudoers.pod, visudo.c:
20248         o Kill shell_noargs option, it cannot work since the command needs
20249         to be set before sudoers is parsed. o Fix the "set_home" sudoers
20250         option (only worked at compile time). o Fix "fqdn" sudoers option.
20251         We now set host/shost via set_fqdn which gets called when the
20252         "fqdn" option is set in sudoers. o Move the openlog() to
20253         store_syslogfac() so this gets overridden correctly from the
20254         sudoers file.
20255         [3dca861f0f5d]
20256
20257         * auth/securid.c:
20258         SecurID support should compile now.
20259         [a544e5c6ea34]
20260
20261 1999-11-29  Todd C. Miller  <Todd.Miller@courtesan.com>
20262
20263         * sudo.cat, sudo.man, sudo.pod, sudoers.cat, sudoers.man, visudo.cat,
20264         visudo.man, visudo.pod:
20265         fix some syntactic goofs
20266         [b3451f0d5239]
20267
20268 1999-11-28  Todd C. Miller  <Todd.Miller@courtesan.com>
20269
20270         * Makefile.in, sudo.html, sudoers.html, visudo.html:
20271         No longer need the .html files as they are generated automatically
20272         on the web site.
20273         [1b4aa4204584]
20274
20275         * CHANGES, LICENSE:
20276         kill characters that made wml unhappy
20277         [b988fbc6da56]
20278
20279         * HISTORY:
20280         typo
20281         [a418963f7fce]
20282
20283 1999-11-25  Todd C. Miller  <Todd.Miller@courtesan.com>
20284
20285         * README:
20286         majordomo@cs.colorado.edu -> majordomo@courtesan.com
20287         [5d151e8ffd3b]
20288
20289         * Makefile.in, configure:
20290         Wrap script execution w/ /bin/sh for the benefit of ctm
20291         [3a9c4766b2c3]
20292
20293 1999-11-24  Todd C. Miller  <Todd.Miller@courtesan.com>
20294
20295         * sudo.c:
20296         Make the -s flag be exclusive too. Also reorder the flags in the
20297         exclusive usage message so they are alphabetical.
20298         [4c7af200db34]
20299
20300 1999-11-23  Todd C. Miller  <Todd.Miller@courtesan.com>
20301
20302         * auth/pam.c:
20303         make pam errors other than PAM_PERM_DENIED fatal
20304         [64bcb3fd2baf]
20305
20306         * auth/API:
20307         fix typo
20308         [f3134c88b12e]
20309
20310         * INSTALL:
20311         make it clear that /etc/pam.d/sudo is required on linux
20312         [213cc3eaad82]
20313
20314         * auth/pam.c:
20315         fix a warning on redhat and spew an error if pam_authenticate()
20316         returns an error other than AUTH_SUCCESS or PAM_PERM_DENIED
20317         [7e46dd19da89]
20318
20319         * sudo.cat, sudo.html, sudo.man, sudo.pod:
20320         Be very clear that the password required is the user's not root's
20321         [a6da127347e5]
20322
20323 1999-11-20  Todd C. Miller  <Todd.Miller@courtesan.com>
20324
20325         * Makefile.in:
20326         add sample.syslog.conf to DISTFILES and BINFILES
20327         [8661c27c007e]
20328
20329 1999-11-19  Todd C. Miller  <Todd.Miller@courtesan.com>
20330
20331         * RUNSON:
20332         updates from Brian Jackson + some formatting
20333         [6d31c6fa63f8]
20334
20335 1999-11-18  Todd C. Miller  <Todd.Miller@courtesan.com>
20336
20337         * INSTALL.binary, Makefile.binary, README, RUNSON:
20338         o One RUNSon update o Changes for automating real binary releases
20339         [dd9585f4406c]
20340
20341         * Makefile.in:
20342         Add bindist target
20343         [546ed3fa94bb]
20344
20345 1999-11-16  Todd C. Miller  <Todd.Miller@courtesan.com>
20346
20347         * TROUBLESHOOTING:
20348         talk about run-time options in addition to compile-time options
20349         [1eb813ff0a9a] [SUDO_1_6_0]
20350
20351         * CHANGES:
20352         fix typos
20353         [65e92bb70a7b]
20354
20355         * sudo.c:
20356         need sys/time.h if HAVE_SETRLIMIT
20357         [ce31655a8a60]
20358
20359         * PORTING, README, RUNSON, sudo.c, sudo.cat, sudo.html, sudo.man,
20360         sudo.pod, visudo.cat, visudo.html, visudo.man, visudo.pod:
20361         get rid of references to sudo-bugs. Now mention the web site or the
20362         sudo@ alias
20363         [a9db861fd8c6]
20364
20365         * sudoers.html:
20366         repair pod2html damage
20367         [62ece4277f1f]
20368
20369         * RUNSON, TODO:
20370         Update for 1.6 release
20371         [98569c57ba2a]
20372
20373         * sudoers.cat, sudoers.html, sudoers.man, sudoers.pod:
20374         Add warning about using ALL in a command context.
20375         [6c77685ab280]
20376
20377 1999-11-09  Todd C. Miller  <Todd.Miller@courtesan.com>
20378
20379         * visudo.c:
20380         Call yyrestart() on a parse error to reset the lexer state.
20381         [1370a27acdb2]
20382
20383         * lex.yy.c, parse.lex:
20384         Don't need YY_FLUSH_BUFFER after all Move yyrestart() into visudo.c
20385         since it might not get called in yywrap if we get a parse error
20386         (and we only reread the file on error anyway).
20387         [37f4b449e28e]
20388
20389         * lex.yy.c, parse.lex:
20390         Call YY_FLUSH_BUFFER macro in yywrap() to clean up any buffers that
20391         might still exist. Call yyrestart() instead of using the deprecated
20392         YY_NEW_FILE macro.
20393         [7d0d873046c6]
20394
20395         * lex.yy.c, parse.lex:
20396         flex doesn't need %N table size declarations
20397         [268b020fd60a]
20398
20399         * sudoers.cat, sudoers.html, sudoers.man, sudoers.pod:
20400         Mention what characters need to be escaped in names.
20401         [72ccbb6b0f31]
20402
20403 1999-11-08  Todd C. Miller  <Todd.Miller@courtesan.com>
20404
20405         * configure:
20406         regen
20407         [65827abb5c7b]
20408
20409         * INSTALL:
20410         clarify Mac OS X entry
20411         [8da1549a71f5]
20412
20413         * RUNSON:
20414         update
20415         [0cff8df7459f]
20416
20417         * configure.in:
20418         o Use AC_MSG_ERROR throughout o Check syslog configure options for
20419         danity
20420         [4cb81e642e5c]
20421
20422 1999-11-05  Todd C. Miller  <Todd.Miller@courtesan.com>
20423
20424         * defaults.c:
20425         Fix printing of type T_MODE in dump_defaults()
20426         [a868bb6f5515]
20427
20428         * strcasecmp.c:
20429         missing sys/types.h
20430         [ca694ca325b6]
20431
20432         * INSTALL:
20433         Break out options that may be overridden at run time into their own
20434         section. Add a not about Max OS X and correct some lies.
20435         [d8bcfd120593]
20436
20437 1999-11-04  Todd C. Miller  <Todd.Miller@courtesan.com>
20438
20439         * CHANGES, config.h.in, configure, configure.in, sudo.c:
20440         o Now use getrlimit to find the highest fd when closing all non-std
20441         fd's o Turn off core dumps via setrlimit for the sake of paranoia
20442         [dd9f651b6def]
20443
20444         * RUNSON:
20445         updates
20446         [f581841fe615]
20447
20448 1999-11-01  Todd C. Miller  <Todd.Miller@courtesan.com>
20449
20450         * CHANGES:
20451         updates
20452         [553baa1d44c7]
20453
20454         * tgetpass.c:
20455         When read()'ing, do a single character at a time to be sure we don't
20456         go oast the newline.
20457         [907d33f55bb4]
20458
20459         * sudo.c:
20460         For the sudo_root option, check against user_uid, not getuid() since
20461         at this point, ruid == euid == 0.
20462         [92d5c51939b4]
20463
20464         * RUNSON:
20465         some updates
20466         [e3ed0c1f312b]
20467
20468         * logging.h:
20469         Fix compilation problem when --with-logging=file was specified.
20470         This means that syslog is now required to build sudo but that should
20471         not be a problem. If it is it can be fixed trivially with a
20472         configure check for syslog() or syslog.h.
20473         [839a4b069190]
20474
20475         * tgetpass.c:
20476         Make this work again for things like "sudo echo hi | more" where the
20477         tty gets put into character at a time mode. We read until we read
20478         end of line or we run out of space (similar to fgets(3)).
20479         [c8f746df2e63]
20480
20481 1999-10-20  Todd C. Miller  <Todd.Miller@courtesan.com>
20482
20483         * sudoers.cat, sudoers.html, sudoers.man, sudoers.pod:
20484         change ital to bold
20485         [f860978e530a]
20486
20487         * RUNSON:
20488         update
20489         [9bcfbb405568]
20490
20491 1999-10-16  Todd C. Miller  <Todd.Miller@courtesan.com>
20492
20493         * defaults.c:
20494         Error out if syslog parameters are given without a value. For
20495         Ultrix or 4.2BSD "syslog" is allowed without a value since there are
20496         no facilities in the 4.2BSD syslog.
20497         [69e7a686f5f0]
20498
20499 1999-10-15  Todd C. Miller  <Todd.Miller@courtesan.com>
20500
20501         * defaults.c:
20502         Ignore the syslog facility for systems w/ old syslog like Ultrix.
20503         [5c250adbbb84]
20504
20505         * TROUBLESHOOTING:
20506         people with "." early in their path can have problems running sudo
20507         from the build dir ;-)
20508         [20a1744a24a4]
20509
20510 1999-10-13  Todd C. Miller  <Todd.Miller@courtesan.com>
20511
20512         * sudo.cat, sudo.html, sudo.man, sudo.pod:
20513         Remove -r realm option
20514         [127caa537f95]
20515
20516         * auth/kerb5.c, auth/sudo_auth.c, auth/sudo_auth.h, configure,
20517         configure.in, sudo.c:
20518         New krb5 code from Frank Cusack <fcusack@iconnet.net>.
20519         [7177a3893a62]
20520
20521         * CHANGES:
20522         update to reality
20523         [766cfbb512d6]
20524
20525 1999-10-12  Todd C. Miller  <Todd.Miller@courtesan.com>
20526
20527         * auth/fwtk.c:
20528         include <auth.h> to get function prototypes.
20529         [d6c7c12d09fe]
20530
20531         * sudo.cat, sudo.html, sudo.man, sudo.pod:
20532         document -L flag
20533         [dc803e1ce0d7]
20534
20535 1999-10-11  Todd C. Miller  <Todd.Miller@courtesan.com>
20536
20537         * sudo.c:
20538         in set_perms(), always call setuid(0) before changing the ruid/euid
20539         so we always know it will succeed.
20540         [8cced1b862bf]
20541
20542         * defaults.h:
20543         #undef T_FOO to avoid conflicts with system defines (like on
20544         ULTRIX).
20545         [d9f0aac092b0]
20546
20547         * TODO, sample.sudoers, sudoers.cat, sudoers.html, sudoers.man,
20548         sudoers.pod:
20549         Docuement "Defaults" lines in /etc/sudoers. Still needs some
20550         fleshing out but this is a start.
20551         [521a1e629bbc]
20552
20553 1999-10-10  Todd C. Miller  <Todd.Miller@courtesan.com>
20554
20555         * use strtol, not strtoul since not everyone has not strtoul
20556         [988462f093cc]
20557
20558         * defaults.c:
20559         use strtol, not strtoul since not everyone has not strtoul
20560         [fce835ce62e3]
20561
20562         * lex.yy.c, parse.lex:
20563         last {WORD} rule should only apply in the INITIAL state
20564         [9b57570bfa83]
20565
20566         * lex.yy.c, parse.lex:
20567         o Add support for escaped characters in the WORD macro o Modify
20568         fill() to squash escape chars
20569         [87572d59e4e0]
20570
20571         * defaults.c, defaults.h:
20572         o Add T_PATH flag to allow simple sanity checks for default values
20573         that are supposed to be pathnames. o Fix a duplicate free when
20574         visudo finds an error.
20575         [bdc6855a6c6d]
20576
20577 1999-10-09  Todd C. Miller  <Todd.Miller@courtesan.com>
20578
20579         * defaults.c, defaults.h, logging.c:
20580         mail_if_foo -> mail_foo
20581         [cbee9415875d]
20582
20583 1999-10-08  Todd C. Miller  <Todd.Miller@courtesan.com>
20584
20585         * compat.h, defaults.c, defaults.h, sudo.c, tgetpass.c:
20586         o Add requiretty option o Move O_NOCTTY to compat.h
20587         [65b8bf0e1795]
20588
20589         * logging.c:
20590         The exit() in log_error() was mistakenly removed in a previous
20591         version. Put it back...
20592         [9473449130a4]
20593
20594 1999-10-07  Todd C. Miller  <Todd.Miller@courtesan.com>
20595
20596         * INSTALL, TODO, auth/aix_auth.c, auth/fwtk.c, auth/pam.c,
20597         auth/rfc1938.c, auth/sia.c, auth/sudo_auth.c, check.c, config.h.in,
20598         configure, configure.in, defaults.c, defaults.h, find_path.c,
20599         getspwuid.c, logging.c, parse.yacc, sudo.c, sudo.tab.c:
20600         o Change defaults stuff to put the value right in the struct. o
20601         Implement mailer_flags o Store syslog stuff both in int and string
20602         form. Setting the string form magically updates the int version.
20603         o Add boolean attribute to strings where it makes sense to say !foo
20604         [4698953f9a36]
20605
20606         * tgetpass.c:
20607         add O_NOCTTY when opening /dev/tty just in case
20608         [4c6d1d1bb300]
20609
20610 1999-10-06  Todd C. Miller  <Todd.Miller@courtesan.com>
20611
20612         * auth/API:
20613         cleanup function no longer takes a status arg
20614         [0819edbfe7f8]
20615
20616         * INSTALL:
20617         the the
20618         [19aadb65ea28]
20619
20620 1999-09-15  Todd C. Miller  <Todd.Miller@courtesan.com>
20621
20622         * TODO, config.h.in, configure, configure.in, logging.c:
20623         Use strftime() instead of ctime() if it is available.
20624         [fb60ea63b514]
20625
20626 1999-09-14  Todd C. Miller  <Todd.Miller@courtesan.com>
20627
20628         * defaults.c:
20629         fix copyright date
20630         [4a53b54aa72f]
20631
20632         * RUNSON:
20633         update ReliantUNIX entry
20634         [de618a4f67d9]
20635
20636         * defaults.c, defaults.h, logging.c:
20637         add log_year option
20638         [251a9e20568a]
20639
20640         * configure, configure.in:
20641         add --without-sendmail to help output
20642         [93162f199902]
20643
20644         * configure, configure.in:
20645         enforce an otctal arg for --with-suoders-mode
20646         [45e1b04ccad3]
20647
20648 1999-09-08  Todd C. Miller  <Todd.Miller@courtesan.com>
20649
20650         * BUGS, INSTALL, Makefile.in, TODO, aclocal.m4, auth/aix_auth.c,
20651         auth/fwtk.c, auth/kerb5.c, auth/pam.c, auth/rfc1938.c, auth/sia.c,
20652         auth/sudo_auth.c, check.c, config.h.in, configure, configure.in,
20653         defaults.c, defaults.h, find_path.c, lex.yy.c, logging.c, parse.h,
20654         parse.lex, parse.yacc, sudo.c, sudo.h, sudo.tab.c, sudo.tab.h,
20655         testsudoers.c, version.c, visudo.c:
20656         Add support for "Defaults" line in sudoers to make configuration
20657         variables changable at runtime (and on a global, per-host and per-
20658         user basis). Both the names and the internal representation are
20659         still subject to change. It was necessary to make sudo_user.runas
20660         but a char ** instead of a char * since this value can be changed by
20661         a Defaults line. There is a similar (but more complicated) issue
20662         with sudo_user.prompt but it is handled differently at the moment.
20663
20664         Add a "-L" flag to list the name of options with their descriptions.
20665         This may only be temporary.
20666
20667         Move some prototypes to parse.h
20668
20669         Be much less restrictive on what is allowed for a username.
20670         [f71abf7ba80c]
20671
20672         * sample.syslog.conf:
20673         Add more info
20674         [e952e6f42d4d]
20675
20676 1999-09-04  Todd C. Miller  <Todd.Miller@courtesan.com>
20677
20678         * LICENSE, fnmatch.3, fnmatch.c, getcwd.c, lsearch.c, snprintf.c,
20679         strcasecmp.c:
20680         UCB has dropped the advertising clause from their license.
20681         [a5602b36a341]
20682
20683 1999-08-31  Todd C. Miller  <Todd.Miller@courtesan.com>
20684
20685         * auth/sudo_auth.h:
20686         move dce_verofy proto to correct section
20687         [972c815af558]
20688
20689         * auth/dce.c:
20690         remove XXX
20691         [820631855be0]
20692
20693 1999-08-28  Todd C. Miller  <Todd.Miller@courtesan.com>
20694
20695         * emul/fnmatch.h:
20696         Add fnmatch() prototype
20697         [79e84576d92a]
20698
20699         * fnmatch.c, parse.c, testsudoers.c:
20700         Move inclusion of emul/fnmatch.h to be after sudo.h for __P
20701         [1182c89fa811]
20702
20703         * sudo.h:
20704         add strcasecmp proto
20705         [512d1d8a6a0c]
20706
20707         * auth/sudo_auth.c:
20708         add check for case where there are no auth methods
20709         [e4af2b91b43e]
20710
20711         * configure, configure.in:
20712         Define _XOPEN_EXTENDED_SOURCE on AIX and __USE_FIXED_PROTOTYPES__ on
20713         SunOS4 w/ gcc
20714         [746ce8bcec23]
20715
20716         * getspwuid.c, lex.yy.c, parse.lex, parse.yacc, sudo.tab.c:
20717         include strings.h everywhere we include string.h
20718         [6f7d5d437e7b]
20719
20720         * version.c:
20721         nicer output when showing auth methods
20722         [0eac4b977f9d]
20723
20724         * version.c:
20725         Add support for SEND_MAIL_WHEN_NO_HOST
20726         [9f20a3a3fae6]
20727
20728         * config.h.in, configure, configure.in:
20729         Add _GNU_SOURCE for Linux
20730         [c7bd8c511847]
20731
20732         * lex.yy.c, parse.lex:
20733         fix definition of OCTECT
20734         [4af30e63244d]
20735
20736         * configure, configure.in:
20737         aix_auth.o not authenticate.o
20738         [fe95dfb08df4]
20739
20740 1999-08-27  Todd C. Miller  <Todd.Miller@courtesan.com>
20741
20742         * sudo.c:
20743         Only block SIGINT, SIGQUIT, SIGTSTP (which can be generated from the
20744         keyboard). Since we run with ruid/euid == 0 the user can't really
20745         signal us in nasty ways.
20746         [a7f6487c0f48]
20747
20748         * visudo.c:
20749         Don't need to worry about catching too many signals since we do
20750         locking on the tmp file. If a lockfile is really stale, it will be
20751         detected and overwritten.
20752         [28983db3e749]
20753
20754         * INSTALL, Makefile.in:
20755         include auth/API in tarball
20756         [014991600252]
20757
20758         * auth/sudo_auth.c:
20759         move memset() of plaintext pw outside of verify loop and only do the
20760         memset if we are *not* in standalone mode.
20761         [66f8e87567e2]
20762
20763         * auth/sudo_auth.c, auth/sudo_auth.h:
20764         DCE is not a standalone method
20765         [34963e2d8a1b]
20766
20767         * sudo.c:
20768         fix --enable-noargs-shell
20769         [4234062abbb0]
20770
20771         * snprintf.c:
20772         "#ifdef __STDC__" not "#if __STDC__" (I missed one)
20773         [c430b80454c6]
20774
20775         * auth/fwtk.c, auth/sia.c:
20776         _cleanup() function returns an int.
20777         [d1a1cc071ec1]
20778
20779         * auth/dce.c:
20780         there were still some return(0)'s hanging around, make them
20781         AUTH_FAILURE
20782         [1002aa1962c3]
20783
20784         * parse.c:
20785         typo in comment
20786         [5abc410dbfd2]
20787
20788         * version.c:
20789         add missing semicolon
20790         [a262283b52a5]
20791
20792         * auth/sudo_auth.h:
20793         missing backslash
20794         [bf89f6bd2900]
20795
20796 1999-08-26  Todd C. Miller  <Todd.Miller@courtesan.com>
20797
20798         * CHANGES, config.h.in, configure, configure.in:
20799         Kill _XOPEN_EXTENDED_SOURCE -- causes problems on some OSes
20800         [f1a9bca0cf67]
20801
20802         * Makefile.in:
20803         add parse.h to HDRS
20804         [a3d054987766]
20805
20806         * Makefile.in, configure, configure.in:
20807         Kill VISUDO_LIBS and VISUDO_LDFLAGS. Add LIBS, NET_LIBS, and
20808         LDFLAGS. Common libs go in LIBS, commong ld flags go in LDFLAGS and
20809         network libs like -lsocket, -lnsl go in NET_LIBS. This allows
20810         testsudoers to build on Solaris and is a bit cleaner in general.
20811         [4e6239e97002]
20812
20813         * UPGRADE:
20814         mention ptmp -> sudoers.tmp
20815         [ec3baa0fe8a1]
20816
20817         * config.h.in, configure, configure.in:
20818         Define _XOPEN_SOURCE_EXTENDED not _XOPEN_SOURCE
20819         [6f93dc7f39f5]
20820
20821         * RUNSON:
20822         add 2 reports
20823         [ce0fcc00ee4e]
20824
20825         * auth/kerb5.c:
20826         Minor changes, mostly cosmetic. verify_krb_v5_tgt() changed to
20827         return a value more like a system function
20828         [0dd56aa21424]
20829
20830         * auth/dce.c:
20831         Add an XXX
20832         [58fc8562c212]
20833
20834         * TODO:
20835         more things todo!
20836         [5a459d0cf339]
20837
20838         * sample.sudoers:
20839         update based on what is in the man page
20840         [1a0477db96fa]
20841
20842         * parse.yacc, sudo.tab.c:
20843         minor change to first line printed in -l mode
20844         [69eb57d96952]
20845
20846         * sudo.cat, sudo.html, sudo.man, sudo.pod:
20847         rename "ENVIRONMENT VARIABLES" section to "ENVIRONMENT" to be more
20848         standard and add "EXAMPLES" section
20849         [7e543335ebe1]
20850
20851         * visudo.cat, visudo.html, visudo.man, visudo.pod:
20852         rename "ENVIRONMENT VARIABLES" section to "ENVIRONMENT" to be more
20853         standard
20854         [f82d87ed65c2]
20855
20856         * logging.c, parse.c, sudo.h:
20857         add FLAG_NO_CHECK
20858         [c7d69176a2d7]
20859
20860         * lex.yy.c, parse.lex:
20861         make an OCTET really be limited to 0-255
20862         [6ee568dd6a02]
20863
20864         * UPGRADE:
20865         mention timestamp changes
20866         [e44d5302bf60]
20867
20868         * PORTING:
20869         cosmetic cleanup
20870         [36fa3a2664dd]
20871
20872         * sudoers.cat, sudoers.html, sudoers.man, sudoers.pod:
20873         new sudoers(8) man page
20874         [e674d06283d0]
20875
20876 1999-08-24  Todd C. Miller  <Todd.Miller@courtesan.com>
20877
20878         * version.c:
20879         Update comments about syslog name tables
20880         [63830a782dcb]
20881
20882         * CHANGES, LICENSE, Makefile.in, configure, configure.in, parse.yacc,
20883         strcasecmp.c, sudo.tab.c:
20884         include strcasecmp() for those without it
20885         [a0d8e2488bbc]
20886
20887         * sample.sudoers:
20888         Use the : operator some more and fix a typo
20889         [18804c70da86]
20890
20891         * HISTORY:
20892         update the history of sudo
20893         [9d9b3d5279b3]
20894
20895         * parse.c, parse.lex, testsudoers.c:
20896         CIDR-style netmask support
20897         [768644467353]
20898
20899         * CHANGES:
20900         recent changes
20901         [a4319e9d07cb]
20902
20903         * sudo.tab.c, sudo.tab.h:
20904         these should be generated with byacc, not bison
20905         [f57b9489b752]
20906
20907         * lex.yy.c:
20908         regen
20909         [522461f95dfa]
20910
20911         * parse.h, parse.yacc, sudo.tab.c, sudo.tab.h:
20912         In "sudo -l" mode, the type of the stored (expanded) alias was not
20913         stored with the contents. This could lead to incorrect output if
20914         the sudoers file had different alias types with the same name.
20915         Normal parsing (ie: not in '-l' mode) is unaffected.
20916         [823fe2bc4b79]
20917
20918 1999-08-23  Todd C. Miller  <Todd.Miller@courtesan.com>
20919
20920         * configure, configure.in:
20921         define _XOPEN_SOURCE to get at crypt() proto on some systems
20922         [1b3769b86fb9]
20923
20924 1999-08-22  Todd C. Miller  <Todd.Miller@courtesan.com>
20925
20926         * snprintf.c:
20927         fix comment
20928         [fc1264df00f7]
20929
20930         * tgetpass.c:
20931         don't need limits.h
20932         [f1631829af45]
20933
20934         * snprintf.c:
20935         kill bogus reference to vfprintf
20936         [a0b99b25d389]
20937
20938         * sample.sudoers, sudoers:
20939         better examples
20940         [b4d87ea64cc8]
20941
20942         * snprintf.c:
20943         Add some const in the K&R defs. This is safe since we define const
20944         away if the compiler doesn't grok it.
20945         [614d6e83d45e]
20946
20947         * aclocal.m4, configure:
20948         Better test for working long long support. Ultrix compiler supports
20949         basic long long but not all operations on them.
20950         [5da1508710ed]
20951
20952         * aclocal.m4, auth/secureware.c, config.h.in, configure, getspwuid.c,
20953         snprintf.c, sudo.c:
20954         Add check for LONG_IS_QUAD #undef MAXINT before including
20955         hpsecurity.h to silence an HP-UX warning Check for U?LONG_LONG_MAX
20956         in snprintf.c and use LONG_IS_QUAD
20957         [a1f7993367fc]
20958
20959 1999-08-21  Todd C. Miller  <Todd.Miller@courtesan.com>
20960
20961         * LICENSE, aclocal.m4, config.h.in, configure, configure.in,
20962         snprintf.c:
20963         UCB-derived snprintf + asprintf support. Supports quads if the
20964         compiler does. No floating point yet, perhaps later...
20965         [0caf05aba945]
20966
20967 1999-08-20  Todd C. Miller  <Todd.Miller@courtesan.com>
20968
20969         * auth/API, auth/sudo_auth.c, auth/sudo_auth.h, check.c, find_path.c,
20970         goodpath.c, logging.c, parse.c, sudo.c:
20971         Run most of the code as root, not the invoking user. It doesn't
20972         really gain us anything to run as the user since an attacker can
20973         just have an setuid(0) in their egg. Running as root solves
20974         potential problems wrt signalling.
20975         [408e530dda01]
20976
20977         * sudo.tab.c:
20978         regen
20979         [f8cfb37e37de]
20980
20981 1999-08-19  Todd C. Miller  <Todd.Miller@courtesan.com>
20982
20983         * logging.c, sudo.c:
20984         Don't wait for child to finish in log_error(), let the signal
20985         handler get it if we are still running, else let init reap it for
20986         us. The extra time it takes to wait lets the user know that mail is
20987         being sent.
20988
20989         Install SIGCHLD handler in main() and for POSIX signals, block
20990         everything
20991         *except* SIGCHLD.
20992         [d2b6ab0ef3be]
20993
20994         * INSTALL, config.h.in, configure, configure.in, logging.c, parse.c,
20995         parse.yacc, sudo.c, sudo.h:
20996         sudoers_lookup() now returns a bitmap instead of an int. This makes
20997         it possible to express things like "failed to validate because user
20998         not listed for this host". Some thigns that were previously
20999         VALIDATE_FOO are now FLAG_FOO. This may change later on.
21000
21001         Reorganized code in log_auth() and sudo.c to deal with above
21002         changes.
21003
21004         Safer versions of push/pushcp with in the do { ... } while (0) style
21005
21006         parse.yacc now saves info on the stack to allow parse.c to determine
21007         if a user was listed, but not for the host he/she tried to run on.
21008
21009         Added --with-mail-if-no-host option
21010         [63326cb01efc]
21011
21012 1999-08-17  Todd C. Miller  <Todd.Miller@courtesan.com>
21013
21014         * parse.yacc, sudo.h, sudo.tab.c, visudo.c, visudo.cat, visudo.html,
21015         visudo.man, visudo.pod:
21016         o NewArgv and NewArgc don't need to be externally visible. o If
21017         pedantic > 1, it is a parse error. o Add -s (strict) option to
21018         visudo which sets pedantic to 2.
21019         [5d7d81b55cd5]
21020
21021         * HISTORY, INSTALL:
21022         Just have sudo-bugs contact info in one place
21023         [e7f6588ea683]
21024
21025         * sudo.cat, sudo.html, sudo.man, sudo.pod:
21026         Add BUGS section
21027         [6607d96ea510]
21028
21029         * Makefile.in, configure, configure.in:
21030         Add testsudoers to default build target if --with-devel Don't clean
21031         generated parser files unless "distclean".
21032         [5827b769dc57]
21033
21034         * parse.yacc, sudo.tab.c:
21035         In pedantic mode we need to save *all* the aliases, not just those
21036         that match, or we get spurious warnings.
21037         [24f5b1f0e1de]
21038
21039         * TROUBLESHOOTING:
21040         reference samples.sylog.conf
21041         [11841668380a]
21042
21043 1999-08-14  Todd C. Miller  <Todd.Miller@courtesan.com>
21044
21045         * sample.syslog.conf:
21046         Sample entries for syslog.conf
21047         [0f7697d878a1]
21048
21049         * CHANGES:
21050         recent changes
21051         [8bca8810c6bd]
21052
21053         * auth/API, auth/afs.c, auth/aix_auth.c, auth/dce.c, auth/fwtk.c,
21054         auth/kerb4.c, auth/kerb5.c, auth/pam.c, auth/passwd.c,
21055         auth/rfc1938.c, auth/secureware.c, auth/securid.c, auth/sia.c,
21056         auth/sudo_auth.c, auth/sudo_auth.h:
21057         In struct sudo_auth, turn need_root and configured into flags and
21058         add a flag to specify an auth method is running alone (the only
21059         one). Pass auth methods their sudo_auth pointer, not the data
21060         pointer. This allows us to get at the flags and tell if we are the
21061         only auth method. That, in turn, allows the method to be able to
21062         decide what should/should not be a fatal error. Currently only
21063         rfc1938 uses it this way, which allows us to kill the OTP_ONLY
21064         define and te hackery that went with it. With access to the
21065         sudo_auth struct, methods can also get at a string holding their
21066         cannonical name (useful in error messages).
21067         [b7e320fc6511]
21068
21069         * INSTALL, Makefile.in, README, config.h.in, configure, configure.in,
21070         getspwuid.c, lex.yy.c, parse.lex, parse.yacc, sudo.tab.c,
21071         sudo.tab.h:
21072         o --with-otp deprecated, use --without-passwd instead o real
21073         dependencies in the Makefile o --with-devel option to enable yacc,
21074         lex, and -Wall o style -- "foo -> bar" becomes "foo->bar" o ALL goes
21075         back to being a token, not a string but don't leak memory o rename
21076         hsotspec -> host in parse.yacc
21077         [912c45226cb2]
21078
21079 1999-08-12  Todd C. Miller  <Todd.Miller@courtesan.com>
21080
21081         * BUGS, CHANGES:
21082         recent changes
21083         [801fa6e55687]
21084
21085         * auth/sudo_auth.c, configure, configure.in, interfaces.c, snprintf.c,
21086         sudo.c, sudo.h:
21087         o Digital UNIX needs to check for *snprintf() before -ldb is added
21088         to LIBS since -ldb includes a bogus snprintf(). o Add forward refs
21089         for struct mbuf and struct rtentry for Digital UNIX. o Reorder some
21090         functions in snprintf.c to fix -Wall o Add missing includes to fix
21091         more -Wall
21092         [8d207203e126]
21093
21094         * INSTALL, auth/sudo_auth.c, check.c, config.h.in, configure,
21095         configure.in, parse.yacc, sudo.tab.c, testsudoers.c, version.c,
21096         visudo.c:
21097         o Add a "pedentic" flag to the parser. This makes sudo warn in
21098         cases where an alias may be used before it is defined. Only turned
21099         on for visudo and testsudoers. o Add --disable-authentication option
21100         that makes sudo not require authentication by default. The PASSWD
21101         tag can be used to require authentication for an entry. We no
21102         longer overload --without-passwd.
21103         [f307e09adf98]
21104
21105         * lex.yy.c, parse.lex:
21106         Break 'WORD' regexp def into HOSTNAME and USERNAME. These days a
21107         username can contain just about anything so be very permissive. Also
21108         drop the unused \. punctuation.
21109         [06a50614ff89]
21110
21111 1999-08-09  Todd C. Miller  <Todd.Miller@courtesan.com>
21112
21113         * parse.yacc, sudo.tab.c:
21114         o add a 'val' element to aliasinfo struct and move -> parse.h o
21115         find_alias() now returns an aliasinfo * instead of boolean o
21116         add_alias() now takes a value parameter to store in the
21117         aliasinfo.val o The cmnd, hostspec, runasuser, and user rules now
21118         return: 1) positive match 0) negative match (due to '!')
21119         -1) no match This means setting $$ explicitly in all cases, which I
21120         should have done in the first place. It also means that we always
21121         store a value that is != -1 and when we see a '!' we can set
21122         *_matches to !rv if rv != -1. The upshot of all of this is that '!'
21123         now works the way it should in lists and some of the rules are more
21124         uniform and sensible.
21125         [ad8e73b5d581]
21126
21127         * Makefile.in:
21128         add parse.h dependency
21129         [4ccccd464d30]
21130
21131         * parse.h:
21132         kill unused *_matched macros
21133         [02cba6dcb732]
21134
21135         * parse.yacc:
21136         Allow a list of users as the first thing in a user spec, not just a
21137         single entry. This makes things more uniform, though it does allow
21138         you to write user specs that are hard to read.
21139         [3c4c91c508ca]
21140
21141         * sudo.tab.c:
21142         parse.yacc
21143         [feca81881bb6]
21144
21145         * configure:
21146         regen
21147         [6f247010bb3b]
21148
21149         * configure.in:
21150         fix check for crypt() in libufc
21151         [82770736f4b0]
21152
21153 1999-08-07  Todd C. Miller  <Todd.Miller@courtesan.com>
21154
21155         * README:
21156         sudo-users list now exists
21157         [4716d2bb0bbf]
21158
21159         * INSTALL, PORTING, README, TODO, TROUBLESHOOTING:
21160         Update to reality.
21161         [1eda2d57e42a]
21162
21163         * CHANGES, Makefile.in, TODO, TROUBLESHOOTING, check.c, compat.h,
21164         config.h.in, configure, configure.in, fileops.c, logging.c, sudo.h,
21165         version.c, visudo.c:
21166         o Move lock_file() and touch() into fileops.c so visudo can use them
21167         o Visudo now locks the sudoers temp file instead of bailing when the
21168         temp file already exists. This fixes the problem of stale temp
21169         files but it does *require* that you not try to put the temp file in
21170         a world-writable directory. This shoud not be an issue as the temp
21171         file should live in the same dir as sudoers. o Visudo now only
21172         installs the temp file as sudoers if it changed.
21173         [2517cd06c070]
21174
21175 1999-08-06  Todd C. Miller  <Todd.Miller@courtesan.com>
21176
21177         * logging.c:
21178         add fcntl locking
21179         [c304adeaf515]
21180
21181         * config.h.in, configure, configure.in, logging.c:
21182         Lock the log file.
21183         [d8652704fbdf]
21184
21185         * Makefile.in, TROUBLESHOOTING, parse.c, pathnames.h.in, sudo.c,
21186         visudo.c, visudo.cat, visudo.html, visudo.man, visudo.pod:
21187         o /etc/stmp -> /etc/sudoers.tmp since solaris uses stmp as shadow
21188         temp file o _PATH_SUDO_SUDOERS -> _PATH_SUDOERS and _PATH_SUDO_STMP
21189         -> _PATH_SUDOERS_TMP
21190         [68cad8975807]
21191
21192 1999-08-05  Todd C. Miller  <Todd.Miller@courtesan.com>
21193
21194         * INSTALL, check.c, config.h.in, configure, configure.in, version.c:
21195         o Kill *_MESSAGE and replace with NO_LECTURE o Add more things to
21196         root sudo -V config reporting
21197         [cdd2613a9dcf]
21198
21199         * configure, configure.in:
21200         aix_auth.o not authenticate.o
21201         [d972e35f6730]
21202
21203         * config.h.in:
21204         Add --with-goodpri and --with-badpri configure options to specify
21205         the syslog priority to use.
21206         [2595ae50ab86]
21207
21208         * INSTALL, configure, configure.in, logging.h:
21209         Add --with-goodpri and --with-badpri configure options to specify
21210         the syslog priority to use.
21211         [8276ee9b2b49]
21212
21213         * compat.h:
21214         kill crufty AIX stuff
21215         [a4f35ef9854e]
21216
21217         * Makefile.in:
21218         Sigh, some versions of make (like Solaris's) don't deal with $< like
21219         I would expect. Both GNU and BSD makes get this right but... So, we
21220         just expand $< inline at the cost of some ugliness.
21221         [b1b456f8801f]
21222
21223         * version.c:
21224         If the invoking user is root, sudo will now print configure info in
21225         -V mode. Currently just prints logging info, to be expanded later.
21226         [392f7ed99267]
21227
21228         * logging.c, logging.h, sudo.c, sudo.h:
21229         o new defines for syslog facility and priority o use new
21230         print_version() functino for -V mode
21231         [78abc5142985]
21232
21233         * check.c:
21234         Don't need version.c
21235         [db9a830ad893]
21236
21237         * aclocal.m4, config.h.in, configure, configure.in:
21238         Add check for syslog facilities and priorities tables in syslog.h
21239         [b86213e5fc5c]
21240
21241         * Makefile.in:
21242         o authenticate -> aix_auth o add version.c
21243         [44b6b9a8d0f5]
21244
21245         * auth/sudo_auth.c:
21246         Missed a prompt -> user_prompt conversion
21247         [e4c60b1f210c]
21248
21249 1999-08-04  Todd C. Miller  <Todd.Miller@courtesan.com>
21250
21251         * TODO:
21252         sudo should lock its logfile
21253         [6d2830b28b07]
21254
21255         * parse.yacc, sudo.tab.c:
21256         o Add '!' correctly when expanding Aliases. o Add shortcut macros
21257         for append() to make things more readable. o The separator in
21258         append() is now a string instead of a char. o In append(), only
21259         prepend the separator if the last char is not a '!'. This is a
21260         hack but it greatly simplifies '!' handling. o In -l mode, Runas
21261         lists and NOPASSWD/PASSWD tags are now inherited across entries in
21262         a list (matches current behavior). o Fix formatting in -l mode such
21263         that items in a list are separated by a space. Greatlt improves
21264         readability. o Space for name field in struct aliasinfo is now
21265         allocated dyanically instead of using a (big) buffer. o In
21266         add_alias(), only search the list once (lsearch instead of lfind +
21267         lsearch)
21268         [51f7e07addb9]
21269
21270         * lex.yy.c, sudo.tab.c, sudo.tab.h:
21271         regen
21272         [5c19bb05dc21]
21273
21274         * configure, configure.in:
21275         Solais pam doesn't require anye xtra setup
21276         [a25ba03d91d1]
21277
21278         * parse.yacc:
21279         o Simpler '!' support now that the lexer deals with multiple !'s for
21280         us. o In the case of opFOO, have FOO give a boolean return value and
21281         set foo_matches in opFOO, not FOO. o Treat 'ALL' as a string since
21282         it gets fill()'d in parse.lex--fixes a small memory leak. In the
21283         long run it may be better to just fix parse.lex and make ALL back
21284         into a token. However, having it be a string is useful since it
21285         can be easily passed back to the parent rule if we so desire.
21286         [b3c64b443018]
21287
21288         * parse.lex:
21289         o Remove some unnecessary backslashes o collapse multiple !'s by
21290         using !+ and checking if yyleng is even or odd. this allows us to
21291         simplify ! handling in parse.yacc
21292         [76330e8da8e3]
21293
21294         * sudo.c:
21295         -u flag was being ignored
21296         [e30283207585]
21297
21298 1999-08-01  Todd C. Miller  <Todd.Miller@courtesan.com>
21299
21300         * Makefile.in:
21301         correct fix
21302         [a0e2377dec8f]
21303
21304         * Makefile.in:
21305         work around pod2man stupididy
21306         [7c755640b67f]
21307
21308         * Makefile.in:
21309         correct dependencies for .cat
21310         [5ed7b0653b68]
21311
21312         * sudo.cat, sudo.man, visudo.cat, visudo.man:
21313         regen
21314         [b74510dd6a0a]
21315
21316         * sudo.pod, visudo.pod:
21317         Add copyright Update to reality
21318         [188e9b046c15]
21319
21320         * parse.c, sudo.c, sudo.h:
21321         rename validate() to the more descriptive sudoers_lookup()
21322         [7a1cb652f379]
21323
21324         * auth/aix_auth.c:
21325         use tgetpass
21326         [b8ba5daec40a]
21327
21328 1999-07-31  Todd C. Miller  <Todd.Miller@courtesan.com>
21329
21330         * CHANGES:
21331         updates
21332         [e61460cdf4a0]
21333
21334         * HISTORY, INSTALL, Makefile.in, README, RUNSON, TROUBLESHOOTING,
21335         configure, configure.in, sudo.c:
21336         Sudo, not CU Sudo
21337         [9061b3573c0c]
21338
21339         * LICENSE:
21340         add 4th term to license similar to term 5 in the apache license
21341         [92712e895afb]
21342
21343         * emul/search.h, emul/utime.h:
21344         add 4th term to license similar to term 5 in the apache license
21345         [4f93a8b9396e]
21346
21347         * auth/afs.c, auth/aix_auth.c, auth/dce.c, auth/fwtk.c, auth/kerb4.c,
21348         auth/kerb5.c, auth/pam.c, auth/passwd.c, auth/rfc1938.c,
21349         auth/secureware.c, auth/securid.c, auth/sia.c, auth/sudo_auth.c,
21350         auth/sudo_auth.h, insults.h, interfaces.c, interfaces.h, lex.yy.c,
21351         logging.c, logging.h, parse.c, parse.h, parse.lex, parse.yacc,
21352         pathnames.h.in, putenv.c, strerror.c, sudo.c, sudo.h, sudo.tab.c,
21353         sudo_setenv.c, testsudoers.c, tgetpass.c, utime.c, version.h,
21354         visudo.c:
21355         add 4th term to license similar to term 5 in the apache license
21356         [afae9f2bf9ec]
21357
21358         * ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h:
21359         add 4th term to license similar to term 5 in the apache license
21360         [c389d3fdafac]
21361
21362         * Makefile.in, alloc.c, check.c, compat.h, config.h.in, find_path.c,
21363         getspwuid.c, goodpath.c:
21364         add 4th term to license similar to term 5 in the apache license
21365         [969e63dbd38e]
21366
21367         * LICENSE, aclocal.m4, auth/rfc1938.c, check.c, configure.in,
21368         insults.h, logging.c, sudo.c, sudo.h:
21369         there was a 1995 release too
21370         [5963fd89457a]
21371
21372 1999-07-28  Todd C. Miller  <Todd.Miller@courtesan.com>
21373
21374         * CHANGES:
21375         updates
21376         [254b794f16ab]
21377
21378         * check.c:
21379         Use dirs instead of files for timestamp. This allows tty and non-
21380         tty schemes to coexist reasonably. Note, however, that when you
21381         update a tty ticket, the mtime on the user dir gets updated as well.
21382         [44bfac32f799]
21383
21384         * configure, configure.in:
21385         Fix getprpwnam() checking on SCO. Need to link with "-lprot -lx"
21386         when linking test program, not just -lprot. Also add check for
21387         getspnam(). The SCO docs indicate that /etc/shadow can be used but
21388         this may be a lie.
21389         [2ba21d36cc1e]
21390
21391 1999-07-24  Todd C. Miller  <Todd.Miller@courtesan.com>
21392
21393         * auth/API:
21394         first cut at auth API description
21395         [3d10df021eb8]
21396
21397 1999-07-22  Todd C. Miller  <Todd.Miller@courtesan.com>
21398
21399         * auth/fwtk.c, auth/kerb4.c, auth/kerb5.c, auth/pam.c, auth/rfc1938.c,
21400         auth/secureware.c, auth/securid.c, auth/sudo_auth.c,
21401         auth/sudo_auth.h:
21402         auth API change. There is now an init method that gets run before
21403         the main loop. This allows auth routines to differentiate between
21404         initialization that happens once vs. setup that needs to run each
21405         time through the loop.
21406         [76df1c0d3478]
21407
21408         * auth/kerb5.c, logging.c:
21409         use easprintf() and evasprintf()
21410         [fd97d96dc12f]
21411
21412         * alloc.c, sudo.h:
21413         add easprintf() and evasprintf(), error checking versions of
21414         asprintf() and vasprintf()
21415         [f54385de20b7]
21416
21417         * TODO:
21418         remove 2 items. One done, one won't do.
21419         [64513b47bc7a]
21420
21421         * lex.yy.c, sudo.tab.c:
21422         regen
21423         [4aa299de2752]
21424
21425         * configure, sudo.cat, sudo.html, sudo.man, sudoers.html, visudo.cat,
21426         visudo.html, visudo.man:
21427         regen
21428         [553c0d1209be]
21429
21430         * CHANGES:
21431         new changes
21432         [d7be00b7e36b]
21433
21434         * sudo.pod:
21435         o Document -K flag and update meaning of -k flag. o BSD-style
21436         copyright o Document clearing of BIND resolver environment variables
21437         o Clarify bit about shared libs o suggest rc files create /tmp/.odus
21438         if your OS gives away files
21439         [4a4092be1455]
21440
21441         * visudo.pod:
21442         BSD license
21443         [ad0bfd0a4630]
21444
21445         * version.h:
21446         BSD-style copyright
21447         [ecc6479325be]
21448
21449         * tgetpass.c:
21450         o BSD copyright o no need to block signals, we now do that in main()
21451         o cosmetic changes
21452         [61958beda7ab]
21453
21454         * testsudoers.c, visudo.c:
21455         o BSD-style copyright o Use "struct sudo_user" instead of old
21456         globals. o some cometic cleanup
21457         [88c0c6924082]
21458
21459         * sudo_setenv.c:
21460         BSD-style copyright
21461         [df20290129a0]
21462
21463         * sudo.h:
21464         o BSD copyright o logging and parser bits moved to their own .h
21465         files o new "struct sudo_user" to encapsulate many of the old
21466         globals.
21467         [50fc86bf25cb]
21468
21469         * sudo.c:
21470         o no longer contains sudo 1.1/1.2 code o BSD copyright o use new
21471         logging routines o simplified flow of control o BIND resolver
21472         additions to badenv_table
21473         [8c53f15bfcb0]
21474
21475         * strerror.c:
21476         BSD-style copyright
21477         [7c906c3a82ac]
21478
21479         * snprintf.c:
21480         Now compiles on more K&R compilers
21481         [07ab1d3231c7]
21482
21483         * putenv.c:
21484         BSD-style copyright, cosmetic changes
21485         [c42371295881]
21486
21487         * pathnames.h.in:
21488         BSD-style copyright
21489         [e5c34ebd4cf1]
21490
21491         * parse.c, parse.h, parse.lex, parse.yacc:
21492         BSD-style copyright. Move parser-specific defines and structs into
21493         parse.h + other cosmetic changes
21494         [d3088efb6228]
21495
21496         * logging.h:
21497         defines for logging routines
21498         [13147941c02d]
21499
21500         * find_path.c, getspwuid.c, goodpath.c, interfaces.c:
21501         BSD-style copyright, cosmetic changes
21502         [e8205e91a4fa]
21503
21504         * ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h, insults.h,
21505         interfaces.h:
21506         BSD-style copyright
21507         [b9499da7cdce]
21508
21509         * configure.in:
21510         o tgetpass.c is no longer optional o kill DCE_OBJS, add AUTH_OBJS o
21511         kill --disable-tgetpass o add --without-passwd o changes to fill in
21512         AUTH_OBJS for new auth api o check for strerror(), v?snprintf() and
21513         v?asprintf() o replace --with-AuthSRV with --with-fwtk
21514         [9a3f39b9c128]
21515
21516         * config.h.in:
21517         BSD-style copyright. Remove USE_GETPASS and HAVE_UTIME_NULL. Add
21518         HAVE_FWTK, HAVE_STRERROR, HAVE_SNPRINTF, HAVE_VSNPRINTF,
21519         HAVE_ASPRINTF, HAVE_VASPRINTF, WITHOUT_PASSWD and NO_PASSWD
21520         [9a09054db53a]
21521
21522         * compat.h:
21523         BSD-style copyright; Add S_IFLNK and MIN/MAX id they are missing.
21524         [25509c566975]
21525
21526         * alloc.c:
21527         BSD-style copyright
21528         [4967be892363]
21529
21530         * TROUBLESHOOTING:
21531         no more --with-getpass
21532         [afd5b670c196]
21533
21534         * TODO:
21535         Take out things I've done...
21536         [375420c8270e]
21537
21538         * README:
21539         Refer to LICENSE
21540         [c486c8db30f6]
21541
21542         * PORTING:
21543         --with-getpass no longer exists
21544         [db48202df1bb]
21545
21546         * Makefile.in:
21547         BSD-style copyright. Update to reflect reality wrt new files and
21548         new auth modules.
21549         [61a2ca7940fb]
21550
21551         * INSTALL:
21552         Remove --with-AuthSRV and --disable-tgetpass. Add --with-fwtk and
21553         --without-passwd.
21554         [64e8f9e1c05e]
21555
21556         * HISTORY:
21557         Update history a bit
21558         [df60c0a871b8]
21559
21560         * COPYING, LICENSE:
21561         Now distributed under a BSD-style license
21562         [d1a184ccabe1]
21563
21564         * auth/sudo_auth.c:
21565         o BSD-style copyright o Add support for NO_PASSWD/WITHOUT_PASSWD
21566         options. o skey/opie replaced by rfc1938 code o new struct sudo_user
21567         global
21568         [891b57060868]
21569
21570         * auth/pam.c, auth/sia.c:
21571         BSD-style copyright and use new log functions
21572         [65c44445ea84]
21573
21574         * auth/kerb5.c:
21575         o BSD-style copyright o Use new log functiongs o Use asprintf() and
21576         snprintf() where sensible.
21577         [1ff0feaacf95]
21578
21579         * check.c:
21580         Rewrote all the old sudo 1.1/1.2 code. Timestamp handling is now
21581         done more reasonably--better sanity checks and tty-based stamps are
21582         now done as files in a directory with the same name as the invoking
21583         user, eg. /var/run/sudo/millert/ttyp1. It is not currently possible
21584         to mix tty and non-tty based ticket schemes but this may change in
21585         the future (it requires sudo to use a directory instead of a file in
21586         the non-tty case). Also, ``sudo -k'' now sets the ticket back to
21587         the epoch and ``sudo -K'' really deletes the file. That way you
21588         don't get the lecture again just because you killed your ticket in
21589         .logout. BSD-style copyright now.
21590         [ec3460f85be8]
21591
21592         * logging.c:
21593         o rewritten logging routines. log_error() now takes printf-style
21594         varargs and log_auth() for the return value of validate(). o BSD-
21595         style copyright
21596         [438292025c4e]
21597
21598         * auth.c, check_sia.c, dce_pwent.c, secureware.c:
21599         superceded by new auth API
21600         [412060590da7]
21601
21602         * auth/kerb4.c:
21603         BSD-style copyright
21604         [cc4e800833c7]
21605
21606         * auth/fwtk.c:
21607         Use snprintf() where it makes sense and add a BSD-style copyright
21608         [1b7502388a74]
21609
21610         * auth/afs.c, auth/aix_auth.c, auth/dce.c, auth/passwd.c,
21611         auth/rfc1938.c, auth/secureware.c, auth/securid.c, auth/sudo_auth.h:
21612         BSD-style copyright
21613         [42583bedae5c]
21614
21615         * emul/utime.h, utime.c:
21616         BSD-style copyright
21617         [3985c90aba47]
21618
21619         * emul/search.h:
21620         this has been rewritten so use my BSD-style copyright
21621         [176df1b0de6f]
21622
21623 1999-07-15  Todd C. Miller  <Todd.Miller@courtesan.com>
21624
21625         * snprintf.c:
21626         include malloc.h if no stdlib.h
21627         [7b123f1d1d03]
21628
21629         * snprintf.c:
21630         KTH snprintf()/asprintf() for systems w/o them
21631         [3ca9aefb9d01]
21632
21633         * strerror.c:
21634         strerror() for systems w/o it
21635         [7f0bd8a1c1b4]
21636
21637 1999-07-12  Todd C. Miller  <Todd.Miller@courtesan.com>
21638
21639         * visudo.c:
21640         stylistic changes
21641         [6f99aceb7170]
21642
21643         * parse.c, parse.lex, parse.yacc:
21644         Add contribution info in the main comment
21645         [e50cec10acd6]
21646
21647 1999-07-11  Todd C. Miller  <Todd.Miller@courtesan.com>
21648
21649         * auth/pam.c:
21650         remove missed ref to PAM_nullpw
21651         [a43e59692cdb]
21652
21653         * auth/sudo_auth.h:
21654         pasto
21655         [891ff138ab89]
21656
21657         * auth/kerb5.c:
21658         more or less complete now--still untested
21659         [21036732faa0]
21660
21661         * auth/afs.c, auth/pam.c:
21662         don't use user_name macro, it will go away
21663         [def7cf727349]
21664
21665         * auth/opie.c, auth/rfc1938.c, auth/skey.c, auth/sudo_auth.h:
21666         combine skey/opie code into rfc1938.c
21667         [44d88ca93d3e]
21668
21669         * auth/dce.c, auth/sudo_auth.h:
21670         DCE authentication method; basically unchanged from dce_pwent.c
21671         [4d468473dd6f]
21672
21673         * auth/aix_auth.c, auth/sudo_auth.h:
21674         AIX authenticate() support. Could probably be much better
21675         [000013321a33]
21676
21677         * auth/sia.c:
21678         Fix an uninitialized variable and some cleanup. Now works (tested)
21679         [fd6ad88ff055]
21680
21681         * auth/sia.c, auth/sudo_auth.h:
21682         SIA support for digital unix
21683         [5335f3e70eab]
21684
21685         * auth/pam.c:
21686         don't use prompt global, it will go away
21687         [fadd22dd6ce4]
21688
21689         * auth/secureware.c:
21690         correct copyright years
21691         [6aa07c49f51b]
21692
21693         * auth/afs.c, auth/fwtk.c, auth/kerb4.c, auth/kerb5.c, auth/opie.c,
21694         auth/pam.c, auth/passwd.c, auth/secureware.c, auth/securid.c,
21695         auth/skey.c, auth/sudo_auth.c, auth/sudo_auth.h:
21696         New authentication API and methods
21697         [9debe9b59c79]
21698
21699 1999-07-08  Todd C. Miller  <Todd.Miller@courtesan.com>
21700
21701         * sudo.tab.c:
21702         regen
21703         [84578e82c1a6]
21704
21705         * parse.yacc:
21706         only save an entry if user_matches && host_matches, even if the
21707         stack is empty (fix for previous commit)
21708         [00984b078d8a]
21709
21710         * sudo.tab.c:
21711         regen
21712         [66acf160b4b7]
21713
21714         * parse.yacc:
21715         1) Always save an entry on the stack if it is empty. This fixes the
21716         -l and -v flags that were broken by earlier parser changes.
21717
21718         2) In a Runas list, don't negate FALSE -> TRUE since that would make
21719         !foo match any time the user specified a runas user (via -u) other
21720         than foo.
21721         [f322eb54b015]
21722
21723         * testsudoers.c:
21724         interfaces and num_interfaces are now auto, not extern
21725         [113add5c6518]
21726
21727 1999-07-07  Todd C. Miller  <Todd.Miller@courtesan.com>
21728
21729         * auth.c:
21730         use a static global to keep stae about empty passwords
21731         [bc02e30807d8]
21732
21733         * check_sia.c:
21734         make PASSWORD_NOT_CORRECT logging consistent with other modules
21735         [21962549d5fd]
21736
21737 1999-07-05  Todd C. Miller  <Todd.Miller@courtesan.com>
21738
21739         * auth.c:
21740         PAM prompt code was wrong, looks like we have to kludge it after
21741         all.
21742         [91f246155ead]
21743
21744         * auth.c:
21745         In the PAM code, when a user hits return at the first password
21746         prompt, exit without a warning just like the normal auth code
21747         [918f59bacdb7]
21748
21749         * configure, configure.in:
21750         kludge around cross-compiler false positives
21751         [5e5fc8356400]
21752
21753         * auth.c, check.c, check_sia.c, logging.c, sudo.h, tgetpass.c:
21754         New (correct) PAM code Tgetpass now takes an echo flag for use with
21755         PAM_PROMPT_ECHO_ON Block SIGINT and SIGTSTP during auth remove a
21756         useless umask setting Change error from BAD_ALLOCATION ->
21757         BAD_AUTH_INIT (for use with sia/PAM) Some cosmetic changes to auth.c
21758         for consistency
21759         [e71397f09dd8]
21760
21761         * sudo.c:
21762         Some -Wall and kill some trailing spaces
21763         [8229b43d5c4e]
21764
21765         * configure.in:
21766         define -D__EXTENSIONS__ for solaris so we get crypt() proto
21767         [7533e4436cab]
21768
21769 1999-06-22  Todd C. Miller  <Todd.Miller@courtesan.com>
21770
21771         * RUNSON:
21772         add Dynix 4.4.4
21773         [b69f773efbce]
21774
21775         * INSTALL, config.h.in, configure, configure.in:
21776         for kerberos V < version, fall back on old kerb4 auth code
21777         [d685ed3a1d8e]
21778
21779         * INSTALL:
21780         clarify some things
21781         [2f5ba2e8e53a]
21782
21783         * UPGRADE, sudoers.cat, sudoers.man, sudoers.pod:
21784         typos
21785         [8925a109c093]
21786
21787 1999-06-14  Todd C. Miller  <Todd.Miller@courtesan.com>
21788
21789         * sudo.c:
21790         mention why DONT_LEAK_PATH_INFO is not the default
21791         [0346260cb4ec]
21792
21793 1999-06-03  Todd C. Miller  <Todd.Miller@courtesan.com>
21794
21795         * tgetpass.c:
21796         Fix open(2) return value checking, was NULL for fopen, should be -1
21797         for open
21798         [355878bf6d8a]
21799
21800         * configure:
21801         regen
21802         [68bf82871862]
21803
21804         * configure.in:
21805         better wording for solaris pam notice
21806         [04e88c7a6c42]
21807
21808         * CHANGES:
21809         document recent changes
21810         [7c922c5622ef]
21811
21812         * TROUBLESHOOTING:
21813         Update shadow password section
21814         [e8448bae7d66]
21815
21816         * auth.c:
21817         move authentication code from check.c to auth.c
21818         [e9f6ecae2399]
21819
21820         * Makefile.in, check.c, sudo.h:
21821         move authentication code to auth.c
21822         [124cded85f46]
21823
21824 1999-05-17  Todd C. Miller  <Todd.Miller@courtesan.com>
21825
21826         * Makefile.in, check.c, check_sia.c, compat.h, find_path.c,
21827         getspwuid.c, goodpath.c, interfaces.c, interfaces.h, lex.yy.c,
21828         logging.c, parse.c, parse.lex, parse.yacc, secureware.c, sudo.c,
21829         sudo.h, sudo.tab.c, sudo_setenv.c, testsudoers.c, tgetpass.c,
21830         visudo.c:
21831         Move interface-related defines to interfaces.h so we don't have to
21832         include <netinet/in.h> everywhere.
21833         [e7599d8ea0bf]
21834
21835 1999-05-14  Todd C. Miller  <Todd.Miller@courtesan.com>
21836
21837         * CHANGES, INSTALL, TODO, check.c, compat.h, getspwuid.c, logging.c,
21838         parse.yacc, sudo.c, sudo.tab.c, tgetpass.c:
21839         o Replace _PASSWD_LEN braindeath with our own SUDO_MAX_PASS. It
21840         turns out the old DES crypt does the right thing with passwords
21841         longert than 8 characters. o Fix common typo (necesary ->
21842         necessary) o Update TODO list
21843         [ad75007a6f13]
21844
21845 1999-05-03  Todd C. Miller  <Todd.Miller@courtesan.com>
21846
21847         * sudo.c:
21848         set $LOGNAME when we set $USER
21849         [391596210fd7]
21850
21851 1999-04-27  Todd C. Miller  <Todd.Miller@courtesan.com>
21852
21853         * INSTALL:
21854         add comment about digital unix and interfaces.c warning with gcc
21855         [e20f815901cc]
21856
21857 1999-04-15  Todd C. Miller  <Todd.Miller@courtesan.com>
21858
21859         * sample.sudoers:
21860         use modern paths and give examples for some of the new parser
21861         features
21862         [e7b2e507c695]
21863
21864 1999-04-10  Todd C. Miller  <Todd.Miller@courtesan.com>
21865
21866         * parse.c:
21867         fix comment
21868         [5eb0d005a65f]
21869
21870         * alloc.c, check.c, check_sia.c, dce_pwent.c, find_path.c,
21871         getspwuid.c, goodpath.c, interfaces.c, lex.yy.c, logging.c, parse.c,
21872         parse.lex, parse.yacc, putenv.c, secureware.c, sudo.c, sudo.tab.c,
21873         sudo_setenv.c, testsudoers.c, tgetpass.c, utime.c, visudo.c:
21874         Function names should be flush with the start of the line so they
21875         can be found trivially in an editor and with grep
21876         [3c400abde574]
21877
21878         * find_path.c, interfaces.c, lex.yy.c, parse.c, parse.lex, parse.yacc,
21879         sudo.c, sudo.tab.c, testsudoers.c, tgetpass.c, visudo.c:
21880         free(3) is already void, no need to cast it
21881         [6981e1ebda0f]
21882
21883         * logging.c, sudo.c, sudo.h:
21884         catch case where cmnd_safe is not set (this should not be possible)
21885         [3e1e3038546c]
21886
21887         * CHANGES, logging.c, parse.c, parse.yacc, sudo.c, sudo.h, sudo.tab.c,
21888         testsudoers.c, visudo.c:
21889         Stash the "safe" path (ie: the one listed in sudoers) to the command
21890         instead of stashing the struct stat. Should be safer.
21891         [aa2883fcf57e]
21892
21893 1999-04-08  Todd C. Miller  <Todd.Miller@courtesan.com>
21894
21895         * INSTALL, Makefile.in, UPGRADE:
21896         notes on updating from an earlier release
21897         [df9fffa4ab2c]
21898
21899         * CHANGES:
21900         updated
21901         [574f5065d15a]
21902
21903 1999-04-07  Todd C. Miller  <Todd.Miller@courtesan.com>
21904
21905         * parse.yacc, sudo.tab.c, sudo.tab.h, sudoers.cat, sudoers.html,
21906         sudoers.man, sudoers.pod:
21907         You can now specifiy a host list instead of just a host or alias.
21908         Ie: user = host1,host2,ALIAS,!host3 my_command now works.
21909         [e3942bb78021]
21910
21911         * testsudoers.c:
21912         Quiet -Wall
21913         [a3edc8b08c3a]
21914
21915         * parse.yacc, sudo.tab.c:
21916         Move the push from the beginning of cmndspec to the end. This means
21917         we no longer have to do a push at the end of privilege, just reset
21918         some values.
21919         [8ea66e5860c6]
21920
21921         * sudoers.cat, sudoers.html, sudoers.man, sudoers.pod:
21922         runas-lists and NOPASSWD/PASSWD modifiers are now sticky and you can
21923         use "!" most everywhere
21924         [aadae4d1c9d5]
21925
21926 1999-04-06  Todd C. Miller  <Todd.Miller@courtesan.com>
21927
21928         * sudoers.pod:
21929         modernize paths and update su example based on sample.sudoers one
21930         [3f6a37e16c83]
21931
21932         * sample.sudoers:
21933         New runas semantics
21934         [756ee92865b7]
21935
21936         * CHANGES, Makefile.in, alloc.c, config.h.in, configure, configure.in,
21937         strdup.c, sudo.h:
21938         In estrdup(), do the malloc ourselves so we don't need to rely on
21939         the system strdup(3) which may or may not exist. There is now no
21940         need to provide strdup() for those w/o it. Also, the prototype for
21941         estrdup() was wrong, it returns char * and its param is const.
21942         [5f1f984da8e3]
21943
21944         * getcwd.c:
21945         $Sudo tag
21946         [e4188a35e68c]
21947
21948         * check.c:
21949         buf should be prompt; Michael Robokoff <mrobo@networkcs.com>
21950         [2aec87c86cde]
21951
21952         * CHANGES, TODO, parse.yacc, sudo.tab.c:
21953         It is now possible to use the '!' operator in a runas list as well
21954         as in a Cmnd_Alias, Host_Alias and User_Alias.
21955         [a4fdaabda990]
21956
21957         * logging.c, sudo.h:
21958         Kill GLOBAL_NO_SPW_ENT (not used) and crank GLOBAL_PROBLEM
21959         [73d0376785ae]
21960
21961         * sudo.h:
21962         Definitions of *_matched were wrong--user top, not top-2 as
21963         subscript.
21964         [5f8350a57362]
21965
21966         * logging.c, parse.c, parse.yacc, sudo.c, sudo.h, sudo.tab.c:
21967         Add VALIDATE_NOT_OK_NOPASS for when user is not allowed to run a
21968         command but the NOPASSWD flag was set. Make runasspec, runaslist,
21969         runasuser, and nopasswd typeless in parse.yacc Add support for '!'
21970         in the runas list Fix double printing of '%' and '+' for groups and
21971         netgroups respectively Add *_matched macros (no need for local stack
21972         variable). Should only be used directly after a pop (since top must
21973         be >= 2).
21974         [392b1400c4e6]
21975
21976         * aclocal.m4, configure.in:
21977         Add copyright, somewhat silly
21978         [55c2cdd82dca]
21979
21980 1999-04-05  Todd C. Miller  <Todd.Miller@courtesan.com>
21981
21982         * BUGS, INSTALL, Makefile.in, README, alloc.c, check.c, check_sia.c,
21983         compat.h, config.h.in, configure, configure.in, dce_pwent.c,
21984         emul/utime.h, find_path.c, getspwuid.c, goodpath.c, ins_2001.h,
21985         ins_classic.h, ins_csops.h, ins_goons.h, insults.h, interfaces.c,
21986         lex.yy.c, logging.c, parse.c, parse.lex, parse.yacc, pathnames.h.in,
21987         putenv.c, secureware.c, strdup.c, sudo.c, sudo.cat, sudo.h,
21988         sudo.man, sudo.tab.c, sudo_setenv.c, sudoers.cat, sudoers.man,
21989         testsudoers.c, tgetpass.c, utime.c, version.h, visudo.c, visudo.cat,
21990         visudo.man:
21991         Crank version to 1.6 and combine copyright statements
21992         [0e1c791658ae]
21993
21994         * sample.sudoers:
21995         Use ! not ^ to do negation
21996         [1480a0761730]
21997
21998         * lex.yy.c, sudo.tab.c:
21999         regen
22000         [89ca5a46684b]
22001
22002         * parse.lex, parse.yacc:
22003         Make runas and NOPASSWD tags persistent across entris in a command
22004         list. Add a PASSWD tag to reverse NOPASSWD. When you override a
22005         runas or *PASSWD tag the value given becomes the new default for the
22006         rest of the command list.
22007         [f1bbb4066542]
22008
22009 1999-04-02  Todd C. Miller  <Todd.Miller@courtesan.com>
22010
22011         * CHANGES, RUNSON:
22012         update for 1.5.9
22013         [a1ae9d4a7d54] [SUDO_1_5_9]
22014
22015         * visudo.c:
22016         Shift return value of system(3) by 8 to get real exit value and if
22017         it is not 1 or 0 print the retval along with the error message.
22018         [c1ff50d743fb]
22019
22020 1999-03-30  Todd C. Miller  <Todd.Miller@courtesan.com>
22021
22022         * Makefile.in:
22023         testsudoers needs LIBOBJS too
22024         [972571b4e4bf]
22025
22026         * parse.c, parse.yacc, sudo.tab.c:
22027         Fix another parser bug. For a sudoers entry like this: millert
22028         ALL=/bin/ls,(daemon) !/bin/ls sudo would not allow millert to run ls
22029         as root.
22030         [51968e1eb33d]
22031
22032         * CHANGES:
22033         new change
22034         [271c6110bb62]
22035
22036         * parse.yacc, sudo.tab.c:
22037         Save entries that match a ! command on the matching stack too
22038         [5afb5107116c]
22039
22040         * sudo.c:
22041         Make sudo's usage info better when mutually exclusive args are given
22042         and don't rely on argument order to detect this; nick@zeta.org.au
22043         [2422753c88fd]
22044
22045 1999-03-29  Todd C. Miller  <Todd.Miller@courtesan.com>
22046
22047         * CHANGES, Makefile.in, RUNSON:
22048         updates from CU
22049         [b37381e3dafb]
22050
22051         * Makefile.in:
22052         use gzip
22053         [94a64e52a166]
22054
22055         * parse.yacc, sudo.tab.c:
22056         Fix off by one error introduced in *alloc changes
22057         [95ede581153a]
22058
22059         * BUGS, CHANGES, INSTALL, Makefile.in, README, alloc.c, check.c,
22060         check_sia.c, compat.h, config.h.in, configure, configure.in,
22061         dce_pwent.c, emul/utime.h, find_path.c, getspwuid.c, goodpath.c,
22062         ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h, insults.h,
22063         interfaces.c, lex.yy.c, logging.c, parse.c, parse.lex, parse.yacc,
22064         pathnames.h.in, putenv.c, secureware.c, strdup.c, sudo.c, sudo.cat,
22065         sudo.h, sudo.man, sudo.tab.c, sudo_setenv.c, sudoers.cat,
22066         sudoers.man, testsudoers.c, tgetpass.c, utime.c, version.h,
22067         visudo.c, visudo.cat, visudo.html, visudo.man, visudo.pod:
22068         ++version
22069         [c6d88f024e37]
22070
22071         * Makefile.in, check.c, find_path.c, getspwuid.c, goodpath.c,
22072         interfaces.c, lex.yy.c, logging.c, parse.c, parse.lex, parse.yacc,
22073         putenv.c, secureware.c, strdup.c, sudo.c, sudo.h, sudo.tab.c,
22074         sudo_setenv.c, testsudoers.c, utime.c, visudo.c:
22075         Use emalloc/erealloc/estrdup
22076         [44221d97361a]
22077
22078         * alloc.c:
22079         error checking memory allocation routines
22080         [5f8c1e7bbc71]
22081
22082         * parse.yacc, sudo.tab.c:
22083         Still not right, this fixes it for real
22084         [ad553b6f5339]
22085
22086         * parse.yacc, sudo.tab.c:
22087         Fix for previous commit
22088         [4d6f989f9bf2]
22089
22090         * CHANGES, INSTALL, parse.yacc:
22091         Fix a parser bug that was exposed when mixing different runas specs
22092         and ! commands. For example: millert ALL=(daemon)
22093         /usr/bin/whoami,!/bin/ls would allow millert to run whoami as root
22094         as well as daemon when it should just allow daemon. The problem was
22095         that comma-separated commands in a list shared the same entry on the
22096         matching stack. Now they get their own entry iff there is a full
22097         match. It may be better to just make the runas spec persistent
22098         across all commands in a list like the user and host entries of the
22099         matching stack. However, since that is a fairly major change it
22100         should gets its own minor rev increase.
22101         [c4b939cdcc8e]
22102
22103 1999-03-28  Todd C. Miller  <Todd.Miller@courtesan.com>
22104
22105         * check.c, config.h.in:
22106         Simplify PAM code and fix a PAM-related warning on Linux
22107         [2468399523b6]
22108
22109 1999-03-26  Todd C. Miller  <Todd.Miller@courtesan.com>
22110
22111         * CHANGES:
22112         updates
22113         [29d4a997769c]
22114
22115         * sample.sudoers:
22116         better su entry
22117         [76d8285a72ba]
22118
22119         * configure:
22120         regen
22121         [b7450cc6975d]
22122
22123         * check.c, configure.in:
22124         new pam code that works on solaris, should work on linux too;
22125         aelberg@home.com
22126         [84c16c0ff259]
22127
22128 1999-03-19  Todd C. Miller  <Todd.Miller@courtesan.com>
22129
22130         * RUNSON:
22131         more entries
22132         [b6bef8660759]
22133
22134         * config.h.in:
22135         only include strings.h if there is no string.h
22136         [b66054a32b00]
22137
22138 1999-03-17  Todd C. Miller  <Todd.Miller@courtesan.com>
22139
22140         * config.guess:
22141         Sinix is now being called ReliantUNIX; bjjackso@us.oracle.com
22142         [c086d2fe63af]
22143
22144 1999-03-13  Todd C. Miller  <Todd.Miller@courtesan.com>
22145
22146         * sudo.c:
22147         shost must be set before log functions are called #ifdef HOST_IN_LOG
22148         [d49a7944358f]
22149
22150 1999-03-07  Todd C. Miller  <Todd.Miller@courtesan.com>
22151
22152         * CHANGES, lex.yy.c, parse.lex:
22153         Fix a bug wrt quoting characters in command args. Stop processing
22154         an arg when you hit a backslash so the quoted-character detection
22155         can catch it.
22156         [2281438d7f41]
22157
22158 1999-02-26  Todd C. Miller  <Todd.Miller@courtesan.com>
22159
22160         * interfaces.c:
22161         include sys/time.h; aparently AIX needs it. ppz@cdu.elektra.ru
22162         [31118a9e9916]
22163
22164 1999-02-24  Todd C. Miller  <Todd.Miller@courtesan.com>
22165
22166         * configure, configure.in:
22167         add missing case statement so --without-sendmail works
22168         [ca25614f7dd9]
22169
22170 1999-02-23  Todd C. Miller  <Todd.Miller@courtesan.com>
22171
22172         * CHANGES:
22173         more
22174         [4d70e44f7f93]
22175
22176 1999-02-22  Todd C. Miller  <Todd.Miller@courtesan.com>
22177
22178         * configure, configure.in:
22179         only search for -lsun in irix <= 4.x
22180         [e604238317b1]
22181
22182         * configure, configure.in:
22183         back out last configure.in change now that I've hacked autoconf to
22184         fix the real problem and add a missing newline
22185         [2dabf59a79b5]
22186
22187         * CHANGES:
22188         updated
22189         [bb35d526552f]
22190
22191         * getcwd.c:
22192         add def of dirfd() for those without it
22193         [95f0173d8441]
22194
22195         * configure, configure.in:
22196         When falling back to checking for socket() when linking with
22197         "-lsocket -lnsl" check for main() instead since autoconf has already
22198         cached the results of checking for socket() in -lsocket. This is
22199         really an autoconf bug as it should use the extra libs as part of
22200         the cache variable name.
22201         [a845f8b710ad]
22202
22203         * configure.in:
22204         typo
22205         [a7d62f62a478]
22206
22207 1999-02-21  Todd C. Miller  <Todd.Miller@courtesan.com>
22208
22209         * configure.in:
22210         fix occurrence of $with_timeout that should be
22211         $with_password_timeout; Michael.Neef@neuroinformatik.ruhr-uni-
22212         bochum.de
22213         [8c4da2cf73d1]
22214
22215 1999-02-17  Todd C. Miller  <Todd.Miller@courtesan.com>
22216
22217         * sudo.cat, sudo.html, sudo.man, sudo.pod:
22218         fix grammar; espie@openbsd.org
22219         [7031d9dfbc3e] [SUDO_1_5_8]
22220
22221 1999-02-11  Todd C. Miller  <Todd.Miller@courtesan.com>
22222
22223         * parse.yacc, sudo.c, testsudoers.c:
22224         add cast for strdup in places it does not have it
22225         [7ce4478d3b0f]
22226
22227 1999-02-09  Todd C. Miller  <Todd.Miller@courtesan.com>
22228
22229         * configure, configure.in:
22230         define for_BSD_TYPES irix
22231         [858337ff4af8]
22232
22233 1999-02-07  Todd C. Miller  <Todd.Miller@courtesan.com>
22234
22235         * Makefile.in, sudo.cat, sudo.html, sudo.man, sudo.pod:
22236         Make it clear that it is the user's password, not root's, that we
22237         want.
22238         [ae0f51b35ee4]
22239
22240         * check.c, sudo.h:
22241         If the user enters an empty password and really has no password,
22242         accept the empty password they entered. Perviously, they could
22243         enter anything
22244         *but* an empty password. Also, add GETPASS macro that calls either
22245         tgetpass() or getpass() depending on how sudo was configured.
22246         Problem noted by jdg@maths.qmw.ac.uk
22247         [2fde21ce94c1]
22248
22249 1999-02-03  Todd C. Miller  <Todd.Miller@courtesan.com>
22250
22251         * Makefile.in, check.c, check_sia.c, compat.h, config.h.in,
22252         dce_pwent.c, emul/utime.h, find_path.c, getspwuid.c, goodpath.c,
22253         ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h, insults.h,
22254         interfaces.c, logging.c, parse.c, parse.lex, parse.yacc,
22255         pathnames.h.in, putenv.c, secureware.c, strdup.c, sudo.c, sudo.h,
22256         sudo_setenv.c, testsudoers.c, tgetpass.c, utime.c, version.h,
22257         visudo.c:
22258         add explicate copyright
22259         [d3b4449834a5]
22260
22261         * CHANGES:
22262         mention -lsocket, -lnsl configure changes
22263         [9140af4ad8ae]
22264
22265 1999-02-02  Todd C. Miller  <Todd.Miller@courtesan.com>
22266
22267         * sudo.c:
22268         Don't clobber errno after calling check_sudoers().
22269         [59bd581b2654]
22270
22271 1999-02-01  Todd C. Miller  <Todd.Miller@courtesan.com>
22272
22273         * configure, configure.in:
22274         When linking with both -lsocket and -lnsl be sure to do so in that
22275         order. Also, when we can't find socket() or inet_addr() and have to
22276         try linking with both libs, issue a warning.
22277         [0ee547163067]
22278
22279         * sudo.cat, sudo.man, sudo.pod:
22280         clarify bad timestamp and fmt
22281         [70e42cf56c75]
22282
22283 1999-01-23  Todd C. Miller  <Todd.Miller@courtesan.com>
22284
22285         * INSTALL, RUNSON:
22286         be clear that pam is linux-only and add a RUNSON entry
22287         [7fdeab875e0d]
22288
22289 1999-01-22  Todd C. Miller  <Todd.Miller@courtesan.com>
22290
22291         * CHANGES, INSTALL, configure, configure.in:
22292         fix and correctly document --with-umask; problem noted by
22293         adap@adap.org
22294         [11cd0481d63a]
22295
22296 1999-01-20  Todd C. Miller  <Todd.Miller@courtesan.com>
22297
22298         * configure, configure.in:
22299         only use /usr/{man,catman}/local to store man pages if suer didn't
22300         override prefix or mandir
22301         [781ad2cbe9be]
22302
22303         * INSTALL, configure, configure.in:
22304         fix typo, make --with-SecurID take an arg
22305         [026a9b4014fc]
22306
22307 1999-01-19  Todd C. Miller  <Todd.Miller@courtesan.com>
22308
22309         * RUNSON:
22310         updates from users
22311         [2286982b31e6]
22312
22313         * CHANGES, INSTALL, check.c, configure, configure.in:
22314         FWTK 'authsrv' support from Kevin Kadow <kadow@MSG.NET>
22315         [23aa4e5c6b02]
22316
22317         * configure, configure.in:
22318         better fix for the problem of unresolved symbols in -lnsl or
22319         -lsocket
22320         [82fe70fc287f]
22321
22322         * configure, configure.in:
22323         when checking for functions in -lnsl and -lsocket link with both of
22324         them to avoid unresolved symbols on some weirdo systems
22325         [1734a591808e]
22326
22327 1999-01-18  Todd C. Miller  <Todd.Miller@courtesan.com>
22328
22329         * BUGS, CHANGES, RUNSON, TODO:
22330         old changes that didn't make it into RCS before the RCS->CVS switch
22331         [846eb2b8f9aa]
22332
22333 1999-01-17  Todd C. Miller  <Todd.Miller@courtesan.com>
22334
22335         * Makefile.in, check.c, check_sia.c, compat.h, config.h.in,
22336         configure.in, dce_pwent.c, emul/search.h, emul/utime.h, find_path.c,
22337         getspwuid.c, goodpath.c, ins_2001.h, ins_classic.h, ins_csops.h,
22338         ins_goons.h, insults.h, interfaces.c, lex.yy.c, logging.c,
22339         lsearch.c, parse.c, parse.lex, parse.yacc, pathnames.h.in, putenv.c,
22340         secureware.c, strdup.c, sudo.c, sudo.pod, sudo_setenv.c,
22341         sudoers.pod, testsudoers.c, tgetpass.c, utime.c, visudo.c,
22342         visudo.pod:
22343         add sudo tags
22344         [962f81eaa5ab]
22345
22346         * sudo.h:
22347         testing Sudo tag
22348         [e84cbc521129]
22349
22350         * version.h:
22351         testing Sudo tag
22352         [a8c3a3998b88]
22353
22354         * BUGS, INSTALL, Makefile.in, README, check.c, check_sia.c, compat.h,
22355         config.h.in, configure, configure.in, dce_pwent.c, emul/utime.h,
22356         find_path.c, getspwuid.c, goodpath.c, ins_2001.h, ins_classic.h,
22357         ins_csops.h, ins_goons.h, insults.h, interfaces.c, lex.yy.c,
22358         logging.c, parse.c, parse.lex, parse.yacc, pathnames.h.in, putenv.c,
22359         secureware.c, strdup.c, sudo.c, sudo.cat, sudo.h, sudo.man,
22360         sudo_setenv.c, sudoers.cat, sudoers.man, testsudoers.c, tgetpass.c,
22361         utime.c, version.h, visudo.c, visudo.cat, visudo.man:
22362         crank version and regen files
22363         [23eacf00a1a4]
22364
22365         * Makefile.in:
22366         kill rcs goop in update_version and fix now that version is a const
22367         [e6e50bd8d1e1]
22368
22369         * INSTALL, check.c, config.h.in, configure, configure.in, logging.c,
22370         sudo.c, sudo.h, sudo.pod:
22371         kerb5 support from fcusack@iconnet.net
22372         [8134027986e2]
22373
22374         * realpath.c, sudo_realpath.c:
22375         we no longer use realpath
22376         [0f5f64abc646]
22377
22378         * qualify.c:
22379         replaced by find_path.c
22380         [9e32a87e09c4]
22381
22382         * options.h:
22383         all options are now configure flags
22384         [ee6bd9610102]
22385
22386         * lex.yy.c:
22387         regen
22388         [bdbf8a18161f]
22389
22390         * getwd.c:
22391         superceded by getcwd.c
22392         [1e54ee0990b4]
22393
22394         * getpass.c:
22395         superceded by tgetpass.c
22396         [4e0d1edc30e3]
22397
22398         * SUPPORTED:
22399         superceded by RUNSON
22400         [854c5a21cb53]
22401
22402         * OPTIONS:
22403         No longer used now that we have configure options for everything.
22404         [9b1ae1c89259]
22405
22406         * configure:
22407         regen based on configure.in
22408         [3a4d73936973]
22409
22410         * sudo.cat, sudo.html, sudo.man, sudoers.cat, sudoers.html,
22411         sudoers.man, visudo.cat, visudo.html, visudo.man:
22412         regen based on sudo.pod, sudoers.pod, and visudo.pod
22413         [c267beb90778]
22414
22415 1998-12-11  Todd C. Miller  <Todd.Miller@courtesan.com>
22416
22417         * check.c:
22418         fix tty tickets in remove_timestamp (didn't use ':')
22419         [fd964a74a32b]
22420
22421 1998-12-07  Todd C. Miller  <Todd.Miller@courtesan.com>
22422
22423         * interfaces.c:
22424         close sock when we are done with it
22425         [95de0380f8a4]
22426
22427 1998-11-28  Todd C. Miller  <Todd.Miller@courtesan.com>
22428
22429         * parse.yacc:
22430         never say "error on line -1"
22431         [361db1491121]
22432
22433 1998-11-24  Todd C. Miller  <Todd.Miller@courtesan.com>
22434
22435         * configure.in:
22436         check for -lnsl before -lsocket
22437         [8e966d6bbcb5]
22438
22439         * configure.in:
22440         quote '[', ']' used in ranges correctly
22441         [fa4f9c6ff651]
22442
22443 1998-11-21  Todd C. Miller  <Todd.Miller@courtesan.com>
22444
22445         * config.h.in:
22446         add missing NO_ROOT_SUDO noted by drno@tsd.edu
22447         [c969f25d1667]
22448
22449 1998-11-20  Todd C. Miller  <Todd.Miller@courtesan.com>
22450
22451         * version.h:
22452         1.5.7
22453         [7a22de0bc148]
22454
22455         * INSTALL:
22456         more info for 1.5.7
22457         [30ad9e784799]
22458
22459         * README:
22460         update for 1.5.7
22461         [cd03a0a27cd2]
22462
22463         * parse.yacc:
22464         make increases of cm_list_size and ga_list_size be similar to
22465         increases of stacksize (ie: >= not > in initial compare).
22466         [6bd450a896c7]
22467
22468         * parse.yacc:
22469         when we get a syntax error, report it for the previous line since
22470         that's generally where the error occurred.
22471         [c4ac84058f0b]
22472
22473 1998-11-18  Todd C. Miller  <Todd.Miller@courtesan.com>
22474
22475         * config.h.in, configure.in, interfaces.c:
22476         add back check for sys/sockio.h but only use it if SIOCGIFCONF is
22477         not defined
22478         [d197f31fd1e4] [SUDO_1_5_7]
22479
22480         * config.h.in:
22481         define BSD_COMP for svr4
22482         [87ac1147ff79]
22483
22484         * check.c, check_sia.c, find_path.c, getcwd.c, getspwuid.c,
22485         goodpath.c, interfaces.c, logging.c, lsearch.c, parse.c, parse.lex,
22486         parse.yacc, putenv.c, secureware.c, strdup.c, sudo.c, sudo_setenv.c,
22487         testsudoers.c, tgetpass.c, utime.c, visudo.c:
22488         more -Wall
22489         [d98e2d32db2a]
22490
22491         * configure.in:
22492         kill check for sockio,h
22493         [4399779014c1]
22494
22495         * config.h.in:
22496         no more HAVE_SYS_SOCKIO_H
22497         [67484528e347]
22498
22499         * check.c, check_sia.c, find_path.c, getcwd.c, getspwuid.c,
22500         goodpath.c, interfaces.c, logging.c, lsearch.c, parse.c, parse.lex,
22501         parse.yacc, putenv.c, secureware.c, strdup.c, sudo.c, sudo_setenv.c,
22502         testsudoers.c, tgetpass.c, utime.c, visudo.c:
22503         -Wall
22504         [2b7e83976788]
22505
22506 1998-11-16  Todd C. Miller  <Todd.Miller@courtesan.com>
22507
22508         * sudo.c:
22509         add missing inform_user()
22510         [8689528c6d55]
22511
22512 1998-11-14  Todd C. Miller  <Todd.Miller@courtesan.com>
22513
22514         * find_path.c:
22515         return NOT_FOUND if given fully qualified path and it does not exist
22516         previously it would perror(ENOENT) which bypasses the option to not
22517         leak path info
22518         [ccbc3d0130ae]
22519
22520         * configure.in:
22521         for kerb5, check for -lkerb4, fall back on -lkrb for kerb, check for
22522         -ldes
22523         [c77d3b484ece]
22524
22525 1998-11-13  Todd C. Miller  <Todd.Miller@courtesan.com>
22526
22527         * INSTALL:
22528         tty tickets are user:tty now
22529         [a53a303a614d]
22530
22531         * check.c:
22532         when using tty tickets make it user:tty not user.tty as a username
22533         could have a '.' in it
22534         [3160b3f5c890]
22535
22536 1998-11-10  Todd C. Miller  <Todd.Miller@courtesan.com>
22537
22538         * sudo.c:
22539         add "ignoring foo found in ." for auth successful case
22540         [24257169e0bd]
22541
22542 1998-11-09  Todd C. Miller  <Todd.Miller@courtesan.com>
22543
22544         * sudo.c:
22545         add missing printf param
22546         [8c905124f777]
22547
22548 1998-11-08  Todd C. Miller  <Todd.Miller@courtesan.com>
22549
22550         * INSTALL, config.h.in, configure.in, find_path.c, sudo.c, sudo.h:
22551         go back to printing "command not found" unless --disable-path-info
22552         specified. Also, tell user when we ignore '.' in their path and it
22553         would have been used but for --with-ignore-dot.
22554         [066e118c11e4]
22555
22556         * check.c, sudo.c:
22557         Only one space after a colon, not two, in printf's
22558         [38452f4c8007]
22559
22560 1998-11-05  Todd C. Miller  <Todd.Miller@courtesan.com>
22561
22562         * sudo.pod:
22563         document setting $USER
22564         [80557fe6aede]
22565
22566         * check.c:
22567         fix bugs with prompt expansion
22568         [44c4fca5f009]
22569
22570         * sudo.c:
22571         set $USER for root too
22572         [4b525e1c6269]
22573
22574 1998-11-04  Todd C. Miller  <Todd.Miller@courtesan.com>
22575
22576         * getspwuid.c:
22577         typo
22578         [5107446f43e0]
22579
22580         * configure.in:
22581         HP-UX's iscomsec is in -lsec, not libc
22582         [03c9f700b795]
22583
22584         * configure.in:
22585         remove some entries in the OS case statement that did nothing
22586         [ea96e7e0f624]
22587
22588         * TROUBLESHOOTING:
22589         add "cd" section and flush out syslog section
22590         [5107f7363b78]
22591
22592         * Makefile.in:
22593         no more sudo-lex.yy.c
22594         [ed50826efbbc]
22595
22596         * check_sia.c:
22597         add custom prompt support
22598         [6a285cea10b7]
22599
22600         * testsudoers.c:
22601         kill perror("malloc") since we already have a good error messages
22602         pw_ent -> pw for brevity
22603         [eee31052921e]
22604
22605         * sudo.c:
22606         kill perror("malloc") since we already have a good error messages
22607         pw_ent -> pw for brevity set $USER if -u specified
22608         [9f3753461f8a]
22609
22610         * parse.yacc:
22611         kill perror("malloc") since we already have a good error messages
22612         [849459088ac3]
22613
22614         * parse.c:
22615         kill perror("malloc") since we already have a good error messages
22616         pw_ent -> pw for brevity when checking if %group matches, look up
22617         user in password file so that %groups works in a RunAs spec.
22618         [0489b4ecc59a]
22619
22620         * logging.c:
22621         kill perror("malloc") since we already have a good error messages
22622         [3191a18b3526]
22623
22624         * check.c, getspwuid.c, interfaces.c:
22625         kill perror("malloc") since we already have a good error messages
22626         pw_ent -> pw for brevity
22627         [7193fdb38cf9]
22628
22629 1998-11-03  Todd C. Miller  <Todd.Miller@courtesan.com>
22630
22631         * tgetpass.c:
22632         the prompt is expanded before tgetpass is called
22633         [0f408f508041]
22634
22635         * sudo.h:
22636         tgetpass now has the same args as getpass again
22637         [b6778cd9d79f]
22638
22639         * getspwuid.c:
22640         add iscomsec, issecure support
22641         [007be7ec7ae7]
22642
22643         * check.c:
22644         we now expand any %h or %u in the prompt before passing to tgetpass
22645         [f3db8c9ee387]
22646
22647         * configure.in:
22648         add check for syslog(3) in -lsocket, -lnsl, -linet
22649         [5a96f902ce00]
22650
22651         * config.h.in:
22652         add HAVE_ISCOMSEC and HAVE_ISSECURE
22653         [f640b0d4cf05]
22654
22655         * configure.in:
22656         add check for iscomsec in HP-UX
22657         [b28b249040f0]
22658
22659         * configure.in:
22660         check for issecure if we have getpwanam on SunOS some options are
22661         incompatible with DUNIX SIA check for dispcrypt on DUNIX
22662         [a49d05d9c913]
22663
22664 1998-10-25  Todd C. Miller  <Todd.Miller@courtesan.com>
22665
22666         * config.h.in:
22667         add HAVE_DISPCRYPT
22668         [7376d543d8d6]
22669
22670         * secureware.c:
22671         add back support for non-dispcrypt based checking for older DUNIX
22672         [977b98e936be]
22673
22674         * INSTALL:
22675         sia changes
22676         [c5387c06e30f]
22677
22678         * configure.in:
22679         SIA becomes the default on Digital UNIX now havbe --disable-sia to
22680         turn it off...
22681         [3b647558ea13]
22682
22683         * check.c:
22684         move local includes after system ones
22685         [b2abad4c4aef]
22686
22687 1998-10-24  Todd C. Miller  <Todd.Miller@courtesan.com>
22688
22689         * check.c, check_sia.c, sudo.h:
22690         add pass_warn() which prints out INCORRECT_PASSWORD or an insult to
22691         stderr
22692         [547cbf299661]
22693
22694         * check_sia.c:
22695         fix while loop in sia_attempt_auth() that checks the password. Only
22696         the first iteration was working.
22697         [1886fd1ac831]
22698
22699 1998-10-22  Todd C. Miller  <Todd.Miller@courtesan.com>
22700
22701         * aclocal.m4:
22702         don't trust UID_MAX or MAXUID
22703         [2aeddb1654d8]
22704
22705         * configure.in:
22706         fix two pastos
22707         [c18f0a10b75d]
22708
22709         * configure.in:
22710         fix typo
22711         [1eb3190ef12d]
22712
22713         * getspwuid.c, secureware.c:
22714         init crypt_type to INT_MAX since it is legal to be negative in DUNX
22715         5.0
22716         [cefbde04822d]
22717
22718         * configure.in:
22719         for secureware on dunix, use -lsecurity -ldb -laud -lm but check for
22720         -ldb since DUNX < 4.0 lacks it
22721         [e6b11d971068]
22722
22723 1998-10-21  Todd C. Miller  <Todd.Miller@courtesan.com>
22724
22725         * check.c, compat.h, config.h.in, configure.in, getspwuid.c,
22726         secureware.c, sudo.c, tgetpass.c:
22727         getprpwuid is broken in HP-UX 10.20 at least (it sleeps for 2
22728         minutes if the shadow files don't exist).
22729         [2f297d095004]
22730
22731 1998-10-20  Todd C. Miller  <Todd.Miller@courtesan.com>
22732
22733         * INSTALL:
22734         updated --with-editor blurb
22735         [77d8a3ea7328]
22736
22737         * TROUBLESHOOTING:
22738         tell how to put sudoers in a different dir
22739         [456cd20eb1d0]
22740
22741         * configure.in:
22742         add missing quotes around $with_editor
22743         [22881748ab1b]
22744
22745         * configure.in:
22746         typo in --with-editor bits
22747         [ab6964580681]
22748
22749         * INSTALL:
22750         I don't expect it to work on Solaris
22751         [1c2fceaaf56e]
22752
22753         * check.c:
22754         add back security/pam_misc.h
22755         [6ffd30033c1e]
22756
22757 1998-10-19  Todd C. Miller  <Todd.Miller@courtesan.com>
22758
22759         * INSTALL:
22760         remove dunix note since configure checks for this now
22761         [e9904512b8e8]
22762
22763         * configure.in:
22764         add check for broken dunix prot.h (4.0 < 4.0D is bad)
22765         [8a4c1e6aef3b]
22766
22767         * getspwuid.c, secureware.c, tgetpass.c:
22768         new dunix shadow code, use dispcrypt(3)
22769         [1b936bc7268c]
22770
22771         * config.h.in:
22772         add HAVE_INITPRIVS
22773         [4369f4c4f914]
22774
22775         * sudo.c:
22776         call initprivs() if we have it for getprpwuid later on
22777         [11cf5915d826]
22778
22779         * Makefile.in:
22780         clean pathnames.h too
22781         [5f1df3262613]
22782
22783         * configure.in:
22784         quote "Sorry, try again." with [] since it has a comma in it set
22785         LIBS when we add stuff to SUDO_LIBS set SECUREWARE when we find
22786         getprpwuid() so we can check for bigcrypt, set_auth_parameters, and
22787         initprivs later.
22788         [e226b0a3f250]
22789
22790         * INSTALL:
22791         update Digital UNIX note about acl.h
22792         [80132b71d73a]
22793
22794         * INSTALL:
22795         add --with-sia
22796         --without-root-sudo -> --disable-root-sudo some reordering
22797         [198386358818]
22798
22799         * secureware.c:
22800         add whitespace
22801         [4aadaf1a54b0]
22802
22803         * Makefile.in, check.c, config.h.in, configure.in, logging.c, sudo.h:
22804         add SIA support
22805         [fa3ddbb9cc51]
22806
22807         * check_sia.c:
22808         Initial revision
22809         [2968551d40e4]
22810
22811 1998-10-18  Todd C. Miller  <Todd.Miller@courtesan.com>
22812
22813         * configure.in:
22814         when checking for -lsocket, -lnsl, and -linet, check for the
22815         specific functions we need from them.
22816         [8d33e64362a3]
22817
22818         * config.h.in, sudo.h:
22819         move Syslog_* defs into sudo.h
22820         [03d1774f25c7]
22821
22822         * Makefile.in, sudo.h:
22823         added check_secureware
22824         [e46e3cbb9a97]
22825
22826         * configure.in:
22827         finished adding AC_MSG_CHECKING and AC_MSG_RESULT bits
22828         [dbefe1856503]
22829
22830         * insults.h:
22831         don't define CLASSIC_INSULTS and CSOPS_INSULTS if no other sets
22832         defined. configure now does that for us
22833         [e4520ea0581f]
22834
22835         * configure.in:
22836         move some --with options around change a bunch of echo's to
22837         AC_MSG_CHECKING, AC_MSG_RESULT pairs
22838         [ffdf6869fdd7]
22839
22840         * configure.in:
22841         change $with_foo-bar -> $with_foo_bar kill extra " that caused a
22842         syntax error add some echo verbage
22843         [3278c49bf74b]
22844
22845 1998-10-17  Todd C. Miller  <Todd.Miller@courtesan.com>
22846
22847         * check.c:
22848         moved SecureWare stuff into secureware.c
22849         [42d3d3ac35dc]
22850
22851         * secureware.c:
22852         Initial revision
22853         [aa7f72a249cf]
22854
22855         * INSTALL:
22856         update url to solaris gcc bins
22857         [36a3eb668777]
22858
22859         * INSTALL:
22860         change option formatter and flesh out someentries
22861         [6fbd1db4a8ad]
22862
22863         * TROUBLESHOOTING, sudo.pod, visudo.pod:
22864         environmental variable -> environment variable
22865         [6f14d708e32d]
22866
22867         * BUGS:
22868         everything is now done via configure
22869         [c217858f58ab]
22870
22871         * README:
22872         prev rev was 1.5.6
22873         [7b4177103c35]
22874
22875         * Makefile.in:
22876         passing SUDOERS_MODE, SUDOERS_UID, SUDOERS_GID correctly
22877         [31c6b0a5e0e2]
22878
22879         * config.h.in:
22880         SUDOERS_MODE, SUDOERS_UID, SUDOERS_GID now come from the Makefile
22881         [d406a1ef6d25]
22882
22883         * Makefile.in:
22884         merge OSDEFS and OPTIONS into DEFS get sudoers_uid, sudoers_gid,
22885         sudoers_mode from configure
22886         [1c509500655a]
22887
22888         * configure.in:
22889         SUDOERS_MODE, SUDOERS_UID, and SUDOERS_GID now get substituted into
22890         the Makefile, not config.h
22891         [d4482f1492fe]
22892
22893         * INSTALL:
22894         document all --with/--enable options
22895         [22d81b312d7f]
22896
22897 1998-10-15  Todd C. Miller  <Todd.Miller@courtesan.com>
22898
22899         * insults.h:
22900         options.h is no more
22901         [560946a33f7f]
22902
22903         * config.h.in:
22904         assimilated options.h
22905         [dd8ce74613c1]
22906
22907         * configure.in:
22908         moved options from options.h to configure
22909         [d39662f71b4e]
22910
22911         * check.c, find_path.c, getspwuid.c, goodpath.c, interfaces.c,
22912         logging.c, parse.c, parse.lex, parse.yacc, sudo.c, sudo.pod,
22913         sudo_setenv.c, visudo.c:
22914         no more options.h
22915         [43924bf0858d]
22916
22917         * INSTALL, Makefile.in, PORTING, TROUBLESHOOTING:
22918         remove references to options.h
22919         [ef3474295395]
22920
22921         * dce_pwent.c, interfaces.c, sudo.c:
22922         kill sys/time.h
22923         [4d833f0034e4]
22924
22925         * tgetpass.c:
22926         if select return < -1 still prompt for pw
22927         [e0009e5c93a2]
22928
22929         * options.h:
22930         convert LOGGING, LOGFAC, MAXLOGFILELEN, IGNORE_DOT_PATH into
22931         configure options
22932         [e60a1e546516]
22933
22934         * parse.c:
22935         FAST_MATCH is no longer an optino
22936         [c448dbb3464b]
22937
22938         * check.c:
22939         remove_timestamp() if timestamp is preposterous
22940         [70d9a86c6ecd]
22941
22942         * options.h:
22943         convert more options to --with/--enable
22944         [34646d9b09dc]
22945
22946         * INSTALL, aclocal.m4:
22947         logfile -> logpath
22948         [42de502bc637]
22949
22950         * configure.in:
22951         convert more options into --with and --enable
22952         [92d0898c9844]
22953
22954         * tgetpass.c:
22955         catch EINTR in select and restart
22956         [f045d2f234d7]
22957
22958         * logging.c:
22959         sys/errno -> errno
22960         [7f0c5beab6f2]
22961
22962 1998-09-24  Todd C. Miller  <Todd.Miller@courtesan.com>
22963
22964         * sudo.c:
22965         UMASK -> SUDO_UMASK.
22966         [48f308661514]
22967
22968         * check.c, logging.c:
22969         time.h, not sys/time.h
22970         [91de049c79e4]
22971
22972 1998-09-21  Todd C. Miller  <Todd.Miller@courtesan.com>
22973
22974         * logging.c:
22975         MAILER -> _PATH_SENDMAIL
22976         [df65d6896639]
22977
22978         * INSTALL, configure.in:
22979         no more --with-C2, now it is --disable-shadow
22980         [18bfcab3b9ab]
22981
22982         * aclocal.m4, check.c, compat.h, config.h.in, configure.in,
22983         getspwuid.c, sudo.c, tgetpass.c:
22984         new shadow password scheme. Always include shadow support if the
22985         platform supports it and the user did not disable it via configure
22986         [2135d93bb4a9]
22987
22988 1998-09-20  Todd C. Miller  <Todd.Miller@courtesan.com>
22989
22990         * configure.in:
22991         --with-getpass -> --{enable,disable}-tgetpass
22992         [451b33fdd4c7]
22993
22994         * Makefile.in:
22995         pathnames.h -> pathnames.h.in
22996         [b109022eca69]
22997
22998         * check.c:
22999         fix version string
23000         [761b25c314ea]
23001
23002         * check.c:
23003         move pam_conv to be static to auth function remove pam_misc.h
23004         (solaris doesn't have one)
23005         [a682e4da987a]
23006
23007         * aclocal.m4:
23008         _CONFIG_PATH_* -> _PATH_* or _PATH_SUDO_* kill SUDO_PROG_PWD
23009         [e6005d0599b5]
23010
23011         * configure.in:
23012         munge pathnames.h.in -> pathnames.h kill SUDO_PROG_PWD
23013         [24c0ac2155ef]
23014
23015         * pathnames.h.in:
23016         convert to pathnames.h.in
23017         [013bddf7f684]
23018
23019 1998-09-19  Todd C. Miller  <Todd.Miller@courtesan.com>
23020
23021         * configure.in:
23022         fix typo in sysv4 matching case /.
23023         [2994c4f88cf5]
23024
23025 1998-09-18  Todd C. Miller  <Todd.Miller@courtesan.com>
23026
23027         * check.c:
23028         pam stuff needs to run as root, not user, for shadow passwords
23029         [d94ff75de503]
23030
23031 1998-09-17  Todd C. Miller  <Todd.Miller@courtesan.com>
23032
23033         * BUGS, INSTALL, README, configure.in:
23034         updated version
23035         [775adc7de7ac]
23036
23037         * Makefile.in, check.c, compat.h, config.h.in, dce_pwent.c,
23038         emul/utime.h, find_path.c, getspwuid.c, goodpath.c, ins_2001.h,
23039         ins_classic.h, ins_csops.h, ins_goons.h, insults.h, interfaces.c,
23040         logging.c, options.h, parse.c, parse.lex, parse.yacc,
23041         pathnames.h.in, putenv.c, strdup.c, sudo.c, sudo.h, sudo_setenv.c,
23042         testsudoers.c, tgetpass.c, utime.c, visudo.c:
23043         updated version
23044         [5ca599fb6b93]
23045
23046         * check.c:
23047         user version.h for long message
23048         [47a52ac7e542]
23049
23050         * check.c:
23051         this is version 1.5.6
23052         [8451ac79eee2]
23053
23054 1998-09-16  Todd C. Miller  <Todd.Miller@courtesan.com>
23055
23056         * Makefile.in:
23057         remove errant backslash
23058         [0222a8a650ff]
23059
23060 1998-09-15  Todd C. Miller  <Todd.Miller@courtesan.com>
23061
23062         * options.h, parse.yacc, pathnames.h.in:
23063         fix version string
23064         [fdee73255d64] [SUDO_1_5_6]
23065
23066         * BUGS, CHANGES, TODO:
23067         updtaed for 1.5.6
23068         [752443bf7f26]
23069
23070         * RUNSON:
23071         updated for 1.5.6
23072         [0f878123fe6a]
23073
23074 1998-09-14  Todd C. Miller  <Todd.Miller@courtesan.com>
23075
23076         * interfaces.c:
23077         kill unused localhost_mask var copy if name to ifr_tmp after we zero
23078         it
23079         [8e89c364cef2]
23080
23081 1998-09-13  Todd C. Miller  <Todd.Miller@courtesan.com>
23082
23083         * INSTALL:
23084         Better description of new vs. old sudoers modes fix some typos
23085         better description of /usr/ucb/cc gotchas on slowaris
23086         [c00b2a6fc1e8]
23087
23088         * Makefile.in:
23089         add sample.pam
23090         [ec7f6cc19b00]
23091
23092         * sudo.c:
23093         set NewArgv[0] to user_shell, not basename(user_shell)
23094         [1e907cbc9f7b]
23095
23096 1998-09-12  Todd C. Miller  <Todd.Miller@courtesan.com>
23097
23098         * README:
23099         mention TROUBLESHOOTING more fix some typos
23100         [2c2e6907d4a4]
23101
23102         * configure.in:
23103         move --enable/--disable to be after --with
23104         [9b30097f76c1]
23105
23106         * INSTALL:
23107         document --enable/--disable
23108         [c522362e38a8]
23109
23110         * INSTALL:
23111         document --with-pam
23112         [7e38932c78ac]
23113
23114 1998-09-11  Todd C. Miller  <Todd.Miller@courtesan.com>
23115
23116         * configure.in:
23117         Add message for pam users
23118         [d224f277e3cd]
23119
23120         * sample.pam:
23121         Initial revision
23122         [3a84d7045f54]
23123
23124         * config.h.in:
23125         fix HAVE_PAM
23126         [2f0f303ebd88]
23127
23128         * check.c, config.h.in, configure.in:
23129         pam support, from Gary Calvin <GCalvin@kenwoodusa.com>
23130         [ea3e0a72d707]
23131
23132 1998-09-10  Todd C. Miller  <Todd.Miller@courtesan.com>
23133
23134         * config.h.in:
23135         add HOST_IN_LOG and WRAP_LOG
23136         [822c36eeb6a8]
23137
23138         * logging.c:
23139         add WRAP_LOG and HOST_IN_LOG
23140         [3cf6052bd27e]
23141
23142         * configure.in:
23143         add --enable-log-host and --enable-log-wrap
23144         [c968cc12b353]
23145
23146         * aclocal.m4:
23147         use AC_DEFINE_UNQUOTED for --with-logfile and --with-timedir
23148         [915fef7e11a1]
23149
23150 1998-09-09  Todd C. Miller  <Todd.Miller@courtesan.com>
23151
23152         * compat.h:
23153         add howmany macro
23154         [9107a057a7c8]
23155
23156         * tgetpass.c:
23157         include sys/param.h to get howmany macro
23158         [7e908b5e1f32]
23159
23160 1998-09-08  Todd C. Miller  <Todd.Miller@courtesan.com>
23161
23162         * OPTIONS, options.h, parse.yacc, sudo.c, testsudoers.c, visudo.c:
23163         add RUNAS_DEFAULT
23164         [1e76398ea3fd]
23165
23166 1998-09-07  Todd C. Miller  <Todd.Miller@courtesan.com>
23167
23168         * fnmatch.c:
23169         bring in stdio.h for NULL
23170         [69c016610cbb]
23171
23172         * aclocal.m4:
23173         allow /bin/{ksh,bach} and /usr/bin/{ksh,bash} as sh
23174         [15ab2972f8d0]
23175
23176         * sudo.c:
23177         use HAVE_SET_AUTH_PARAMETERS
23178         [8abfdc8c80f7]
23179
23180         * config.h.in:
23181         add HAVE_SET_AUTH_PARAMETERS
23182         [673a5ebd5539]
23183
23184         * configure.in:
23185         add *-*-hiuxmpp* add test for set_auth_parameters() if secureware
23186         [a401f5a7469a]
23187
23188         * config.sub:
23189         add support for HI-UX/MPP SR220001 02-03 0 SR2201
23190         [cb657b7acaae]
23191
23192         * interfaces.c:
23193         initialize previfname
23194         [26a1902f56dc]
23195
23196         * interfaces.c:
23197         Don't use SIOCGIFADDR, we don't need it Use SIOCGIFFLAGS if we have
23198         it check ifr_flags against IFF_UP and IFF_LOOPBACK instead of
23199         kludging it
23200         [fa5c890c313b]
23201
23202         * configure.in:
23203         typo
23204         [bff579fbe95c]
23205
23206         * Makefile.in:
23207         don't need special build line for sudo.tab.o
23208         [10c0a0a912e4]
23209
23210         * Makefile.in:
23211         don't clean sudo.tab.[ch]
23212         [c40d5968efbb]
23213
23214         * sudo.c:
23215         Sudo should prompt for a password before telling the user that a
23216         command could not be found.
23217         [d718c85a0047]
23218
23219         * BUGS:
23220         for 1.5.6
23221         [0cc1fe5b9129]
23222
23223         * INSTALL, README:
23224         no longer require yacc
23225         [d9096fc5b8b6]
23226
23227         * Makefile.in:
23228         typo
23229         [70feb1aefbd5]
23230
23231         * Makefile.in:
23232         y.tab -> sudo.tab include pre-yacc'd parse.yacc
23233         [cc802025fd44]
23234
23235         * parse.lex:
23236         include sudo.tab.h, not y.tab.h don't break out of command args if
23237         you get a '='
23238         [728ad26dbda5]
23239
23240         * insults.h:
23241         fix version ,
23242         [242bbce1b2d4]
23243
23244         * ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h:
23245         fix version
23246         [2bb9086fea1e]
23247
23248         * compat.h:
23249         fix version
23250         [7e634d498ce6]
23251
23252         * getcwd.c:
23253         getcwd(3) from OpenBSD for those without it.
23254         [6c68d0df8f6c]
23255
23256         * sudo.h:
23257         HAVE_GETWD -> HAVE_GETCWD
23258         [2ad1e64d60c0]
23259
23260         * configure.in:
23261         pretend sunos doesn't have getcwd(3) since it opens a pipe to
23262         getpwd!
23263         [677992ba5a6a]
23264
23265         * parse.c:
23266         use NAMLEN() macro
23267         [8f5685aa3165]
23268
23269         * fnmatch.c:
23270         remove duplicate include of string.h
23271         [6024f3051ac3]
23272
23273         * configure.in:
23274         call SUDO_TYPE_DEV_T and SUDO_TYPE_INO_T
23275         [3d82a9c22cc2]
23276
23277         * aclocal.m4:
23278         add SUDO_TYPE_DEV_T and SUDO_TYPE_INO_T
23279         [53fbc47282f9]
23280
23281         * config.h.in:
23282         add dev_t and ino_t
23283         [5929bb0c7e1a]
23284
23285 1998-07-28  Todd C. Miller  <Todd.Miller@courtesan.com>
23286
23287         * check.c:
23288         fix OTP_ONLY for opie
23289         [7edcfa78f2ec]
23290
23291 1998-06-24  Todd C. Miller  <Todd.Miller@courtesan.com>
23292
23293         * testsudoers.c, tgetpass.c:
23294         include stdlib.h for malloc proto
23295         [c9f4b99a2fe9]
23296
23297 1998-05-19  Todd C. Miller  <Todd.Miller@courtesan.com>
23298
23299         * Makefile.in:
23300         make update_version saner
23301         [d522f93ee04a]
23302
23303         * config.h.in:
23304         add HAVE_WAITPID, HAVE_WAIT3, and sudo_waitpid()
23305         [c9a2d21dc608]
23306
23307         * configure.in:
23308         check for waitpid and wait3 or no waitpid
23309         [1f18c3224184]
23310
23311         * logging.c:
23312         used waitpid or wait3 if we have 'em
23313         [391c3279ee65]
23314
23315 1998-05-02  Todd C. Miller  <Todd.Miller@courtesan.com>
23316
23317         * visudo.c:
23318         fix some fprintf args, ariel@oz.engr.sgi.com (Ariel Faigon)
23319         [fbf53b18178f]
23320
23321 1998-04-28  Todd C. Miller  <Todd.Miller@courtesan.com>
23322
23323         * configure.in:
23324         don't need to explicately mention -lsocket -lnsl for sequent
23325         [1898dc055352]
23326
23327 1998-04-25  Todd C. Miller  <Todd.Miller@courtesan.com>
23328
23329         * configure.in:
23330         dynix should not link with -linet
23331         [278a4b9cfe2a]
23332
23333 1998-04-10  Todd C. Miller  <Todd.Miller@courtesan.com>
23334
23335         * INSTALL:
23336         mention that HP-UX doesn't ship with yacc
23337         [bde5147198c0]
23338
23339 1998-04-07  Todd C. Miller  <Todd.Miller@courtesan.com>
23340
23341         * check.c:
23342         ignore kerberos if we can't get the local realm
23343         [1e311a091a27]
23344
23345 1998-04-06  Todd C. Miller  <Todd.Miller@courtesan.com>
23346
23347         * BUGS, INSTALL, README, configure.in:
23348         ++version
23349         [499ffc746018]
23350
23351         * version.h:
23352         ++
23353         [35ba1ee01bd3]
23354
23355         * Makefile.in, check.c, config.h.in, dce_pwent.c, emul/utime.h,
23356         find_path.c, getcwd.c, getspwuid.c, goodpath.c, interfaces.c,
23357         logging.c, parse.c, parse.lex, putenv.c, strdup.c, sudo.c, sudo.h,
23358         sudo_setenv.c, testsudoers.c, tgetpass.c, utime.c, visudo.c:
23359         updated version
23360         [b4990a513f31]
23361
23362         * check.c, sudo.h:
23363         fix version
23364         [5710795834e8]
23365
23366         * getcwd.c:
23367         don't use popen/pclose. Do it inline.
23368         [29e57b0646a4]
23369
23370         * lsearch.c:
23371         add rcsid
23372         [b2b55c39858d]
23373
23374         * sudo.c:
23375         typo
23376         [d381ac39ed0f]
23377
23378         * check.c, compat.h, ins_2001.h, ins_classic.h, ins_csops.h,
23379         ins_goons.h, insults.h, options.h, parse.yacc, pathnames.h.in,
23380         sudo.h:
23381         updated version
23382         [462d6e1a2d75]
23383
23384         * check.c, find_path.c, parse.c, sudo.c, testsudoers.c:
23385         MAX* + 1 -> MAX*
23386         [2c2eeb78d34f]
23387
23388         * Makefile.in:
23389         getwd.c -> getcwd.c
23390         [7d718c32fc02]
23391
23392         * config.h.in:
23393         kill HAVE_GETWD
23394         [6ad3d702343f]
23395
23396         * configure.in:
23397         getcwd, not getwd
23398         [33e5b9841f58]
23399
23400         * getcwd.c:
23401         use MAX* not MAX* + 1 always run pwd as using getwd() defeats the
23402         purpose
23403         [24e58d340161]
23404
23405 1998-03-31  Todd C. Miller  <Todd.Miller@courtesan.com>
23406
23407         * OPTIONS, options.h:
23408         add STUB_LOAD_INTERFACES
23409         [d747cb23ca83]
23410
23411         * Makefile.in, check.c, compat.h, config.h.in, dce_pwent.c,
23412         emul/utime.h, find_path.c, getspwuid.c, getwd.c, goodpath.c,
23413         ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h, insults.h,
23414         interfaces.c, logging.c, options.h, parse.c, parse.lex, parse.yacc,
23415         pathnames.h.in, putenv.c, strdup.c, sudo.c, sudo.h, sudo_setenv.c,
23416         testsudoers.c, tgetpass.c, utime.c, visudo.c:
23417         updated version
23418         [0798229312cc]
23419
23420         * configure.in:
23421         support *-ccur-sysv4 and fix two typos
23422         [24a823ad7cc9]
23423
23424 1998-03-28  Todd C. Miller  <Todd.Miller@courtesan.com>
23425
23426         * configure.in:
23427         don't echo about with_logfile and with_timedir
23428         [31e4a1e2d9ad]
23429
23430         * INSTALL:
23431         document --with-logfile and --with-timedir
23432         [674f811a40e0]
23433
23434         * aclocal.m4:
23435         support --with-logfile and --with-timedir
23436         [2fc36b35db12]
23437
23438         * configure.in:
23439         Add --with-logfile and --with-timedir
23440         [09045bf07e29]
23441
23442         * sudo.c:
23443         change size computation of NewArgv for UNICOS
23444         [b50df07da3a1]
23445
23446 1998-02-19  Todd C. Miller  <Todd.Miller@courtesan.com>
23447
23448         * configure.in:
23449         treate -*-sysv4* like *-*-svr4
23450         [471b7ef4dbf2]
23451
23452 1998-02-18  Todd C. Miller  <Todd.Miller@courtesan.com>
23453
23454         * configure.in:
23455         fix spacing for --with-authenticate help
23456         [8321cb37c410]
23457
23458         * Makefile.in, check.c, compat.h, config.h.in, dce_pwent.c,
23459         emul/utime.h, find_path.c, getspwuid.c, getwd.c, goodpath.c,
23460         ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h, insults.h,
23461         interfaces.c, logging.c, options.h, parse.c, parse.lex, parse.yacc,
23462         pathnames.h.in, putenv.c, strdup.c, sudo.c, sudo.h, sudo_setenv.c,
23463         testsudoers.c, tgetpass.c, utime.c, visudo.c:
23464         updated version
23465         [dc1ab97312eb]
23466
23467         * parse.yacc:
23468         fix off by one error in push macro
23469         [bece59c8c3a9]
23470
23471 1998-02-17  Todd C. Miller  <Todd.Miller@courtesan.com>
23472
23473         * configure.in:
23474         removed bogus alloca hack
23475         [a68dd720462d]
23476
23477         * check.c:
23478         added AIX 4.x authenticate() support
23479         [12985eb448a0]
23480
23481         * parse.yacc:
23482         include alloca.h if using bison and not gcc and it exists. fixes an
23483         alloca problem on hpux 10.x
23484         [e3b5c4f26072]
23485
23486         * INSTALL:
23487         mention --with-authenticate
23488         [78a1c96820e7]
23489
23490         * configure.in:
23491         added AIX authenticate() support
23492         [c983193ec252]
23493
23494         * config.h.in:
23495         add HAVE_AUTHENTICATE
23496         [7b0e5f5db5d9]
23497
23498         * interfaces.c:
23499         dynamically size ifconf buffer
23500         [10afb0e9b2f9]
23501
23502         * configure.in:
23503         quote '[' and ']'
23504         [8fc38a4defad]
23505
23506         * Makefile.in, check.c, compat.h, config.h.in, dce_pwent.c,
23507         emul/utime.h, find_path.c, getspwuid.c, getwd.c, goodpath.c,
23508         ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h, insults.h,
23509         logging.c, options.h, parse.c, parse.lex, parse.yacc,
23510         pathnames.h.in, putenv.c, strdup.c, sudo.c, sudo.h, sudo_setenv.c,
23511         testsudoers.c, tgetpass.c, utime.c, visudo.c:
23512         updated version
23513         [5f66de71ec61]
23514
23515         * visudo.pod:
23516         add ERRORS section
23517         [3df3edb73cf6]
23518
23519 1998-02-16  Todd C. Miller  <Todd.Miller@courtesan.com>
23520
23521         * TROUBLESHOOTING:
23522         add busy stmp file explanation
23523         [6c555d469b6f]
23524
23525 1998-02-15  Todd C. Miller  <Todd.Miller@courtesan.com>
23526
23527         * configure.in:
23528         the name of the cached var that signals whether or not you are cross
23529         compiling changed. It is now ac_cv_prog_cc_cross
23530         [123911c0658c]
23531
23532 1998-02-11  Todd C. Miller  <Todd.Miller@courtesan.com>
23533
23534         * INSTALL:
23535         mention glibc 2.07 is fixed wrt lsearch()\.
23536         [ded758524582]
23537
23538 1998-02-07  Todd C. Miller  <Todd.Miller@courtesan.com>
23539
23540         * sample.sudoers, sudoers.pod:
23541         better example of su but not root su
23542         [b3199610be21]
23543
23544 1998-02-06  Todd C. Miller  <Todd.Miller@courtesan.com>
23545
23546         * Makefile.in, check.c, compat.h, config.h.in, dce_pwent.c,
23547         emul/utime.h, find_path.c, getspwuid.c, getwd.c, goodpath.c,
23548         ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h, insults.h,
23549         interfaces.c, logging.c, options.h, parse.c, parse.lex, parse.yacc,
23550         pathnames.h.in, putenv.c, strdup.c, sudo.c, sudo.h, sudo_setenv.c,
23551         testsudoers.c, tgetpass.c, utime.c, visudo.c:
23552         updated version
23553         [46922b84e86b]
23554
23555         * Makefile.in:
23556         correct regexp for updating version
23557         [8032728b2a8a]
23558
23559         * tgetpass.c:
23560         remove bogus flush of stderr spew prompt before turning off echo.
23561         Seems to fix a weird problem where if sudo complained about a bogus
23562         stamp file the user would sometimes not have a chance to enter a
23563         password
23564         [7aa1493cc141]
23565
23566         * check.c:
23567         fix bogus flush of stderr
23568         [6d047871c5e8]
23569
23570         * sudo.c:
23571         close fd's <=2 not <=3 and move that chunk of code up
23572         [553e4faac195]
23573
23574         * configure.in:
23575         support hpux1[0-9] not just hpux10
23576         [5a34a000ff8a]
23577
23578 1998-01-30  Todd C. Miller  <Todd.Miller@courtesan.com>
23579
23580         * parse.c:
23581         set sudoers_fp to nil after closing
23582         [221a8b4bbf34]
23583
23584 1998-01-24  Todd C. Miller  <Todd.Miller@courtesan.com>
23585
23586         * config.guess, config.sub:
23587         updated from autoconf 2.12
23588         [6fc86a0fc61b]
23589
23590         * configure.in:
23591         add *-*-svr4 rule
23592         [38f0427f7c9d]
23593
23594 1998-01-23  Todd C. Miller  <Todd.Miller@courtesan.com>
23595
23596         * tgetpass.c:
23597         fix select usage for high fd's (dynamically allocate readfds)
23598         [c2d1f76e0321]
23599
23600         * check.c:
23601         kill extra whitespace
23602         [d784b6c9c514]
23603
23604         * sudo.c:
23605         do an initgroups() before running a command, unless the target user
23606         is root.
23607         [4ca561287480]
23608
23609 1998-01-22  Todd C. Miller  <Todd.Miller@courtesan.com>
23610
23611         * TROUBLESHOOTING:
23612         tell people to use tabs, not spaces, in syslog.conf
23613         [8ae90a205134]
23614
23615 1998-01-21  Todd C. Miller  <Todd.Miller@courtesan.com>
23616
23617         * Makefile.in, config.h.in, dce_pwent.c, emul/utime.h, getwd.c,
23618         parse.lex, putenv.c, strdup.c, testsudoers.c, utime.c:
23619         updated version
23620         [4d855ff5de26]
23621
23622         * check.c, find_path.c, getspwuid.c, goodpath.c, interfaces.c,
23623         logging.c, parse.c, sudo.c, sudo_setenv.c, tgetpass.c, visudo.c:
23624         updated version
23625         [8e007e178b33]
23626
23627         * compat.h, ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h,
23628         insults.h, options.h, parse.yacc, pathnames.h.in, sudo.h:
23629         updated version
23630         [9ddea5c8814d]
23631
23632         * Makefile.in:
23633         more tweaks to update_version
23634         [047698752855]
23635
23636         * Makefile.in:
23637         fixed up update_version rule
23638         [47b6fa34b77f]
23639
23640         * configure.in:
23641         ++version
23642         [c1ca664e30b7]
23643
23644         * Makefile.in:
23645         removed supe of check.c
23646         [8f340a05296a]
23647
23648         * INSTALL:
23649         ++version I missed
23650         [a298e6c17491]
23651
23652         * RUNSON:
23653         updated
23654         [a14f6057bc15]
23655
23656         * BUGS, INSTALL, Makefile.in, README, check.c, compat.h, config.h.in,
23657         dce_pwent.c, emul/utime.h, find_path.c, getspwuid.c, getwd.c,
23658         goodpath.c, ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h,
23659         insults.h, interfaces.c, logging.c, options.h, parse.c, parse.lex,
23660         parse.yacc, pathnames.h.in, putenv.c, strdup.c, sudo.c, sudo.h,
23661         sudo_setenv.c, testsudoers.c, tgetpass.c, utime.c, version.h,
23662         visudo.c:
23663         updated version
23664         [02231b1a3ab3]
23665
23666         * CHANGES:
23667         updated for 1.5.5
23668         [634e5fcaf40b]
23669
23670         * Makefile.in:
23671         add rules to update version stuff in files so I don't need to do it
23672         by hand
23673         [3620ad60485a]
23674
23675         * sudo.h:
23676         sudoers_fp is now extern
23677         [88c6e9b9ea84]
23678
23679         * sudo.c:
23680         in check_sudoers, cache the sudoers file handle in sudoers_fp so we
23681         don't have to open it again in the parse. This may help with weird
23682         solaris problems where EAGAIN sometime occurrs.
23683         [d3c26451ed1d]
23684
23685         * parse.c:
23686         sudoers file open is now done only in check_sudoers() so we just do
23687         a rewind() instead of an open. May help people on solaris who were
23688         getting EAGAIN.
23689         [c8b8c7722fa5]
23690
23691 1998-01-16  Todd C. Miller  <Todd.Miller@courtesan.com>
23692
23693         * INSTALL:
23694         mention that newer glibc is fixed
23695         [20f06f5d3ef3]
23696
23697 1998-01-13  Todd C. Miller  <Todd.Miller@courtesan.com>
23698
23699         * sudo.c:
23700         newer irix uses _RLDN32_* envariables for 32-bit binaries so ignore
23701         _RLD* instead of _RLD_*
23702         [1e22c588d602]
23703
23704         * parse.c:
23705         typo
23706         [d0b7cb85f08a]
23707
23708         * parse.c:
23709         fix that bug for real
23710         [5a6eeca6d04b]
23711
23712         * INSTALL:
23713         document Linux's libc6 brokenness.
23714         [0246c1aa64ee]
23715
23716         * parse.yacc:
23717         -Wall
23718         [d0e452fb1e2d]
23719
23720         * RUNSON:
23721         updated
23722         [4949a1bbd0a9] [SUDO_1_5_4]
23723
23724         * TROUBLESHOOTING:
23725         remind people to HUP syslogd
23726         [590962faa4f0]
23727
23728         * Makefile.in:
23729         add -O flag to tar
23730         [622d02de339d]
23731
23732         * RUNSON:
23733         updated
23734         [a72930d6e615]
23735
23736         * TODO:
23737         updated
23738         [4a51bd458390]
23739
23740         * sudo.pod:
23741         remove author's email addr. people should mail sudo-bugs
23742         [9b6bbdb3a6d9]
23743
23744         * INSTALL:
23745         fix version
23746         [246274c6c8af]
23747
23748         * README, check.c, compat.h, config.h.in, configure.in, dce_pwent.c,
23749         find_path.c, getspwuid.c, getwd.c, goodpath.c, ins_2001.h,
23750         ins_classic.h, ins_csops.h, ins_goons.h, insults.h, interfaces.c,
23751         logging.c, options.h, parse.c, parse.lex, parse.yacc,
23752         pathnames.h.in, putenv.c, strdup.c, sudo.c, sudo.h, sudo_setenv.c,
23753         testsudoers.c, tgetpass.c, utime.c, version.h, visudo.c:
23754         ++version
23755         [f532ff4ee766]
23756
23757         * RUNSON:
23758         updated
23759         [62d5c71358b5]
23760
23761         * INSTALL, Makefile.in:
23762         ++version
23763         [1a7c7628edfc]
23764
23765         * CHANGES:
23766         updated fort 1.5.4
23767         [7e4873508c99]
23768
23769         * check.c:
23770         exit(1) if user enters no passwd
23771         [f382c0e35e4e]
23772
23773         * BUGS:
23774         ++version
23775         [fab6a867ab67]
23776
23777         * parse.c:
23778         commands can start with ./* not just /* -- fixes a serious security
23779         hole.
23780         [244d2fe35ee3]
23781
23782 1997-12-21  Todd C. Miller  <Todd.Miller@courtesan.com>
23783
23784         * sudo.c:
23785         Don't set the tty variable to NULL when we lack a tty, leave it as
23786         "unknown".
23787         [193b26daba03]
23788
23789 1997-11-23  Todd C. Miller  <Todd.Miller@courtesan.com>
23790
23791         * sample.sudoers:
23792         fix usage of (username) in conjunction with , and !
23793         [7ae68607f68f]
23794
23795         * visudo.c:
23796         catch the case where the user is not in the passwd file
23797         [31650258deb0]
23798
23799         * tgetpass.c:
23800         use fileno(input) + 1 instead of getdtablesize() as the nfds arg to
23801         select(2)
23802         [60ab2d9a9ee8]
23803
23804         * sudo.c:
23805         define tty global to an initial value to avoid dumping core in
23806         logging functions when passwd file is unavailable.
23807         [77056c7bc908]
23808
23809         * sudo.c:
23810         do the set_perms(PERM_USER, sudo_mode) after we have gotten the
23811         passwd entry
23812         [1fdb8e579a5a]
23813
23814         * sudo.pod:
23815         talk about problem of ALL
23816         [1cd1905c9f6f]
23817
23818 1997-10-10  Todd C. Miller  <Todd.Miller@courtesan.com>
23819
23820         * README:
23821         new web location
23822         [d24dc26f6da5]
23823
23824         * INSTALL:
23825         fdesc bug is fixed in Open/Net BSD
23826         [7d4d81b08ac3]
23827
23828         * HISTORY:
23829         updates from Nieusma
23830         [3a43769a1b78]
23831
23832 1997-10-09  Todd C. Miller  <Todd.Miller@courtesan.com>
23833
23834         * dce_pwent.c:
23835         move compat.h after the system includes
23836         [5ea43a5968ac]
23837
23838 1997-08-06  Todd C. Miller  <Todd.Miller@courtesan.com>
23839
23840         * logging.c:
23841         save errno from being clobbered by wait(). From Theo
23842         [f2d1c48cd592]
23843
23844 1997-05-21  Todd C. Miller  <Todd.Miller@courtesan.com>
23845
23846         * compat.h:
23847         fix an occurence of setresuid -> setreuid (typo)
23848         [394de35c9b1c]
23849
23850 1997-03-19  Todd C. Miller  <Todd.Miller@courtesan.com>
23851
23852         * install-sh:
23853         check for path to strip
23854         [2b7ef824bd55]
23855
23856 1997-01-16  Todd C. Miller  <Todd.Miller@courtesan.com>
23857
23858         * logging.c:
23859         deal with maxfilelen < 0 case
23860         [f0af095178d7]
23861
23862         * OPTIONS:
23863         fixed descriptin
23864         [629f60bd4b5f]
23865
23866 1996-12-12  Todd C. Miller  <Todd.Miller@courtesan.com>
23867
23868         * sudo.c:
23869         correct error message if mode/owner wrong and not statable by owner
23870         but is statable by root.
23871         [cb631ce2e85e]
23872
23873 1996-11-23  Todd C. Miller  <Todd.Miller@courtesan.com>
23874
23875         * config.guess, config.sub:
23876         autoconf 2.11
23877         [f3cbe59e0756]
23878
23879 1996-11-16  Todd C. Miller  <Todd.Miller@courtesan.com>
23880
23881         * CHANGES, RUNSON, TODO:
23882         sudo 1.5.3.
23883         [2be3229b8626]
23884
23885 1996-11-14  Todd C. Miller  <Todd.Miller@courtesan.com>
23886
23887         * parse.yacc, sudo.h:
23888         command_alias -> generic_alias
23889         [c404ca8c510d] [SUDO_1_5_3]
23890
23891         * sample.sudoers:
23892         added Runas_Alias example and fixed syntax errors
23893         [c304053f4a8a]
23894
23895         * OPTIONS, options.h:
23896         updated MAILSUBJECT
23897         [18d1573fcd2a]
23898
23899         * logging.c:
23900         added %h expansion
23901         [a4bff9b284fd]
23902
23903         * INSTALL, Makefile.in, README, check.c, compat.h, config.h.in,
23904         configure.in, dce_pwent.c, find_path.c, getspwuid.c, getwd.c,
23905         goodpath.c, ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h,
23906         insults.h, interfaces.c, logging.c, options.h, parse.c, parse.lex,
23907         parse.yacc, pathnames.h.in, putenv.c, strdup.c, sudo.c, sudo.h,
23908         sudo_setenv.c, testsudoers.c, tgetpass.c, utime.c, version.h,
23909         visudo.c:
23910         ++version
23911         [211ff20f956f]
23912
23913         * BUGS, emul/utime.h:
23914         ++version
23915         [cde5376579e3]
23916
23917         * sudoers.pod:
23918         document Runas_Alias
23919         [b1a58f28fb2c]
23920
23921         * visudo.pod:
23922         q (uid) -> Q
23923         [d256649a0e6b]
23924
23925         * visudo.c:
23926         buffer oflow checking q (uit) -> Q if yyparse() fails drop into
23927         whatnow
23928         [1cb183d15626]
23929
23930         * parse.yacc:
23931         add size params to sprintf
23932         [9228f698921f]
23933
23934         * parse.lex:
23935         allow trailing space after '\\' but before '\n'
23936         [f51dbbf69fdf]
23937
23938         * find_path.c:
23939         off by one error in path size check
23940         [a6d75ccd7632]
23941
23942         * check.c:
23943         sprintf paranoia
23944         [3ffb12d198dd]
23945
23946 1996-11-12  Todd C. Miller  <Todd.Miller@courtesan.com>
23947
23948         * parse.yacc:
23949         fixed more_aliases
23950         [aab12f2a50af]
23951
23952         * visudo.c:
23953         now warns if killed by signal ./
23954         [310c186a0fd7]
23955
23956 1996-11-11  Todd C. Miller  <Todd.Miller@courtesan.com>
23957
23958         * parse.yacc:
23959         fix Runas_Alias stuff Alias's in runas list now get expanded (but it
23960         is gross)
23961         [45590b83120f]
23962
23963         * sudo.c:
23964         Can now deal with SUDOERS_UID == 0 and SUDOERS_MODE == 0400
23965         [d53e01c14c58]
23966
23967         * parse.yacc:
23968         add Runas_Alias support change FOO to FOO_ALIAS (ie: USER_ALIAS)
23969         [7a4a040aae2d]
23970
23971         * parse.lex:
23972         Add Runas_Alias and simplify a rule.
23973         [6f794a769a37]
23974
23975         * parse.yacc:
23976         always store User_Alias's since they can be used inside of a runas
23977         list. Sigh. Really need a Runas_Alias instead.
23978         [3bab058a873e]
23979
23980 1996-10-30  Todd C. Miller  <Todd.Miller@courtesan.com>
23981
23982         * visudo.c:
23983         deal with case where there is no sudoers file
23984         [fa38b3bb244d]
23985
23986 1996-10-12  Todd C. Miller  <Todd.Miller@courtesan.com>
23987
23988         * TROUBLESHOOTING:
23989         added one
23990         [e61346d06725]
23991
23992 1996-10-11  Todd C. Miller  <Todd.Miller@courtesan.com>
23993
23994         * HISTORY, testsudoers.c:
23995         developement -> development
23996         [4df55e293941]
23997
23998         * INSTALL:
23999         added a note
24000         [3845fb83dbc0]
24001
24002         * RUNSON:
24003         for 1.5.2
24004         [5489b7298942]
24005
24006         * CHANGES:
24007         updated
24008         [0741834929e6]
24009
24010 1996-10-10  Todd C. Miller  <Todd.Miller@courtesan.com>
24011
24012         * PORTING:
24013         removed seteuid() notes
24014         [1010a60f281d] [SUDO_1_5_2]
24015
24016 1996-10-09  Todd C. Miller  <Todd.Miller@courtesan.com>
24017
24018         * compat.h:
24019         better seteuid() emulatino
24020         [e807623b662c]
24021
24022         * configure.in:
24023         added check for seteuid
24024         [8cf9fabc6f4f]
24025
24026         * config.h.in:
24027         added HAVE_SETEUID
24028         [596db46aa828]
24029
24030 1996-10-08  Todd C. Miller  <Todd.Miller@courtesan.com>
24031
24032         * configure.in:
24033         first stab at sequent support
24034         [b85a7bfcac76]
24035
24036         * config.h.in:
24037         added HAVE_SYS_SELECT_H
24038         [93ecdd042463]
24039
24040         * compat.h:
24041         sequent -> _SEQUENT_
24042         [63a38b6da98c]
24043
24044         * compat.h:
24045         added seteuid() macro for DYNIX
24046         [695bd63c5ea6]
24047
24048         * tgetpass.c:
24049         _AIX -> HAVE_SYS_SELECT_H
24050         [b31221211bc2]
24051
24052 1996-10-07  Todd C. Miller  <Todd.Miller@courtesan.com>
24053
24054         * BUGS, INSTALL, Makefile.in, OPTIONS, README, config.h.in, logging.c,
24055         parse.c, parse.lex, parse.yacc, putenv.c, strdup.c, sudo_setenv.c,
24056         testsudoers.c, tgetpass.c, utime.c, visudo.c:
24057         ++version
24058         [8052992fd453]
24059
24060         * check.c, compat.h, dce_pwent.c, emul/utime.h, find_path.c,
24061         getspwuid.c, getwd.c, goodpath.c, ins_2001.h, ins_classic.h,
24062         ins_csops.h, ins_goons.h, insults.h, interfaces.c, options.h,
24063         pathnames.h.in, version.h:
24064         ++version
24065         [f7ad15e1598a]
24066
24067         * sudo.pod:
24068         added -H and SUDO_PS1
24069         [bb965241e30c]
24070
24071         * configure.in:
24072         use SUDO_FUNC_FNMATCH
24073         [6a8350d85fb2]
24074
24075         * aclocal.m4:
24076         added SUDO_FUNC_FNMATCH
24077         [45b32c91c4ba]
24078
24079         * sudo.c:
24080         added -H flag
24081         [11ebc6872fd6]
24082
24083         * sudo.h:
24084         added MODE_RESET_HOME /
24085         [67a7f8bcbbd6]
24086
24087 1996-10-05  Todd C. Miller  <Todd.Miller@courtesan.com>
24088
24089         * INSTALL:
24090         mention OPIE
24091         [5723515d5bbd]
24092
24093         * options.h:
24094         SKEY -> OTP
24095         [c1d268130bc4]
24096
24097         * configure.in:
24098         added opie support
24099         [123872b41b20]
24100
24101         * compat.h, config.h.in:
24102         added HAVE_OPIE
24103         [528c71afc1e5]
24104
24105         * check.c:
24106         added HAVE_OPIE and changed to *_OTP_*
24107         [4c62f5db872a]
24108
24109         * OPTIONS:
24110         SKEY -> OTP
24111         [bd858e5e9652]
24112
24113 1996-10-04  Todd C. Miller  <Todd.Miller@courtesan.com>
24114
24115         * check.c:
24116         moved fclose() in skey stuff.
24117         [11f7dc8431a6]
24118
24119 1996-10-03  Todd C. Miller  <Todd.Miller@courtesan.com>
24120
24121         * putenv.c:
24122         index -> strchr remove unnecesary stuff
24123         [af2d05238062]
24124
24125         * check.c:
24126         now call skeychallenge() to get challenge instead of making one up
24127         ourselves. this way, we get extra goodies in the prompt.
24128         [49b770d98d3a]
24129
24130 1996-09-10  Todd C. Miller  <Todd.Miller@courtesan.com>
24131
24132         * CHANGES:
24133         added one
24134         [3f5149357e2a] [SUDO_1_5_1]
24135
24136         * parse.lex:
24137         allow logins to start with a number (YUCK!)
24138         [7ed7ef324741]
24139
24140 1996-09-08  Todd C. Miller  <Todd.Miller@courtesan.com>
24141
24142         * TROUBLESHOOTING:
24143         added soalris 2.5 vs 2.4 note
24144         [16160a251aae]
24145
24146         * configure.in:
24147         DUNIX doesn't need -lnsl
24148         [be924cc322c3]
24149
24150         * CHANGES:
24151         *** empty log message ***
24152         [1b2937521981]
24153
24154         * check.c, compat.h, config.h.in, dce_pwent.c, find_path.c,
24155         getspwuid.c, getwd.c, goodpath.c, ins_2001.h, ins_classic.h,
24156         ins_csops.h, ins_goons.h, insults.h, interfaces.c, logging.c,
24157         options.h, parse.c, parse.lex, parse.yacc, pathnames.h.in, putenv.c,
24158         strdup.c, sudo.c, sudo.h, sudo_setenv.c, testsudoers.c, tgetpass.c,
24159         utime.c, version.h, visudo.c:
24160         courtesan
24161         [5f203589bbfe]
24162
24163         * PORTING, README, RUNSON:
24164         courtesan
24165         [d72517f4937e]
24166
24167         * INSTALL, Makefile.in, TROUBLESHOOTING:
24168         courtesan
24169         [5c007e3c7a71]
24170
24171         * visudo.pod:
24172         *** empty log message ***
24173         [37ebe85bd4e1]
24174
24175         * sudo.pod, visudo.pod:
24176         courtesan
24177         [37f02e2130ea]
24178
24179 1996-09-07  Todd C. Miller  <Todd.Miller@courtesan.com>
24180
24181         * HISTORY:
24182         added courtesan ./
24183         [b01435226276]
24184
24185 1996-09-06  Todd C. Miller  <Todd.Miller@courtesan.com>
24186
24187         * sudo.c:
24188         added $SUDO_PROMPT support
24189         [cb1fa72c093d]
24190
24191 1996-09-04  Todd C. Miller  <Todd.Miller@courtesan.com>
24192
24193         * check.c:
24194         print long skey challemged to stderr, not stdout
24195         [750fc775b3b2]
24196
24197 1996-09-01  Todd C. Miller  <Todd.Miller@courtesan.com>
24198
24199         * CHANGES:
24200         updated for 1.5.1
24201         [9b615f393057]
24202
24203         * emul/utime.h:
24204         ++version
24205         [a94de18deafb]
24206
24207 1996-08-31  Todd C. Miller  <Todd.Miller@courtesan.com>
24208
24209         * RUNSON:
24210         updated for 1.5.1
24211         [4092f20ab634]
24212
24213 1996-08-30  Todd C. Miller  <Todd.Miller@courtesan.com>
24214
24215         * check.c:
24216         use shost, not host for tgetpass
24217         [6061c49ff9be]
24218
24219         * sudo.pod:
24220         documented %u and %h
24221         [6d2922d29897]
24222
24223         * OPTIONS:
24224         documented %u and %h
24225         [1a71da13a864]
24226
24227         * configure.in:
24228         fixed typo
24229         [1230dec2b062]
24230
24231         * INSTALL, Makefile.in, README, check.c, compat.h, config.h.in,
24232         dce_pwent.c, find_path.c, getspwuid.c, getwd.c, goodpath.c,
24233         ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h, insults.h,
24234         interfaces.c, logging.c, options.h, parse.c, parse.lex, parse.yacc,
24235         pathnames.h.in, putenv.c, strdup.c, sudo.c, sudo.h, sudo_setenv.c,
24236         testsudoers.c, tgetpass.c, utime.c, version.h, visudo.c:
24237         ++version
24238         [65ce8eabf77a]
24239
24240         * BUGS:
24241         ++version
24242         [afecab53aab7]
24243
24244 1996-08-29  Todd C. Miller  <Todd.Miller@courtesan.com>
24245
24246         * Makefile.in, configure.in, version.h:
24247         ++version
24248         [fb3ff940d672]
24249
24250         * sudo.h:
24251         new tgetpass() params
24252         [9eccc5b0f8ae]
24253
24254         * check.c:
24255         pass use and host to tgetpass
24256         [c56d9d13c401]
24257
24258         * tgetpass.c:
24259         added %u and %h escapes
24260         [04ae775d3e5d]
24261
24262         * OPTIONS, check.c, options.h:
24263         added NO_MESSAGE
24264         [3927dad19057]
24265
24266         * configure.in:
24267         added cray (unicos) support
24268         [1122210c5fb1]
24269
24270 1996-08-27  Todd C. Miller  <Todd.Miller@courtesan.com>
24271
24272         * OPTIONS, options.h, sudo.c:
24273         added SHELL_SETS_HOME
24274         [0b26909b0929]
24275
24276 1996-08-25  Todd C. Miller  <Todd.Miller@courtesan.com>
24277
24278         * INSTALL:
24279         added note about "make install"
24280         [7e56ea76d4b4]
24281
24282         * parse.yacc:
24283         changed length/size params from int to size_t
24284         [5654e5ceb1b3]
24285
24286         * OPTIONS:
24287         now get CSOPS insults as well by default
24288         [297323d0179a]
24289
24290         * insults.h:
24291         use csops insults too by default
24292         [07fafc136169]
24293
24294         * INSTALL, Makefile.in, README, config.h.in, configure.in, version.h:
24295         version = 1.5
24296         [4b8772b11e3b]
24297
24298         * sudo.c:
24299         added runas_homedir
24300         [b0e0d4417a15]
24301
24302         * TODO:
24303         updated for 1.5
24304         [66259df825d5]
24305
24306         * RUNSON:
24307         updated for 1.5
24308         [e08bc9ebfe95]
24309
24310         * CHANGES:
24311         1.5 release
24312         [8c16942fea41]
24313
24314         * INSTALL:
24315         added "upgrading" notes
24316         [210d968964ff]
24317
24318 1996-08-22  Todd C. Miller  <Todd.Miller@courtesan.com>
24319
24320         * visudo.c:
24321         now do chmod and chown after edit of temp file and before rename
24322         [de174e34faa7] [SUDO_1_5_0]
24323
24324 1996-08-18  Todd C. Miller  <Todd.Miller@courtesan.com>
24325
24326         * Makefile.in:
24327         ++version added INSTALL.configure
24328         [c9e9214f52ae]
24329
24330         * configure.in, version.h:
24331         ++version
24332         [5985abed3eb2]
24333
24334         * TROUBLESHOOTING:
24335         *** empty log message ***
24336         [d65c540ec52e]
24337
24338         * parse.yacc:
24339         added missing cast
24340         [e7247319a7d5]
24341
24342         * sudo.c:
24343         sets $HOME to pw_dir of runas user
24344         [d3f7f4d05752]
24345
24346         * sudo.pod:
24347         document $HOME change
24348         [854454d458c4]
24349
24350 1996-08-17  Todd C. Miller  <Todd.Miller@courtesan.com>
24351
24352         * sudo.pod:
24353         fixed up some wording
24354         [b0c8582f2c97]
24355
24356         * check.c, dce_pwent.c, find_path.c, getspwuid.c, getwd.c, goodpath.c,
24357         interfaces.c, logging.c, parse.c, parse.lex, parse.yacc, putenv.c,
24358         strdup.c, sudo.c, sudo_setenv.c, testsudoers.c, tgetpass.c, utime.c,
24359         visudo.c:
24360         ++version
24361         [748be723fd8b]
24362
24363         * compat.h, ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h,
24364         insults.h, options.h, pathnames.h.in, sudo.h:
24365         ++version
24366         [acdf8b1b2a1b]
24367
24368         * emul/utime.h:
24369         ++version
24370         [b3f35298ab8d]
24371
24372         * sudo.h:
24373         name nad type changes
24374         [db24ab3da141]
24375
24376         * testsudoers.c:
24377         now works with new sudo
24378         [379346c42cc2]
24379
24380         * parse.yacc:
24381         fixed some XXX
24382         [f5fe4c990052]
24383
24384         * parse.yacc:
24385         some variable name changes + comment headers for functions.
24386         [3dc3bd9aa73d]
24387
24388         * tgetpass.c:
24389         added extra paren's to make compilers happy
24390         [9e4968a34d56]
24391
24392         * sudo.c:
24393         *** empty log message ***
24394         [70c924c1ed69]
24395
24396         * parse.c:
24397         now uses init_parser() if not in sudoers and tries "list" or
24398         "validate" scold but don't be nasty.
24399         [c0d8fb3f8c9e]
24400
24401         * TROUBLESHOOTING:
24402         now can use upper case login names
24403         [c772fffcefe5]
24404
24405         * visudo.c:
24406         now uses init_parser()
24407         [b9efae7243fd]
24408
24409         * INSTALL, README:
24410         updated
24411         [27dc8283fdc8]
24412
24413         * PORTING:
24414         added info about PASSWORD_TIMEOUT
24415         [980e15d892f8]
24416
24417         * INSTALL.configure:
24418         Initial revision
24419         [8292e89a08d3]
24420
24421         * BUGS:
24422         fixed a bug ,
24423         [c6e46f5624f9]
24424
24425         * parse.yacc:
24426         now dynamically allocates memory for the stacks -- no more
24427         overflows!
24428         [8615c35b6ad3]
24429
24430         * sudo.pod:
24431         -l now explands command aliases
24432         [39f45605935d]
24433
24434         * parse.yacc:
24435         hacks to expand command aliases for `sudo -l'
24436         [e4eb752608f9]
24437
24438         * sudo.c:
24439         remove $ENV and $BASH_ENV (dangerous in ksh, posix sh, and bash)
24440         [01327ca5084b]
24441
24442         * sudo.h:
24443         added struct command_alias
24444         [dd2f32764082]
24445
24446         * sudo.pod:
24447         fixed a bug
24448         [e708ff08d2eb]
24449
24450         * lsearch.c:
24451         in compar() key should be first arg
24452         [fc14c3fa62ee]
24453
24454 1996-08-15  Todd C. Miller  <Todd.Miller@courtesan.com>
24455
24456         * BUGS:
24457         fixed some bugs
24458         [639dfe425bd5]
24459
24460         * parse.yacc:
24461         can now deal with upcase HOST and USER names
24462         [c6aa7bcfb00d]
24463
24464         * sudo.c:
24465         don't yell too loudly at non-sudoers if they do "sudo -l"
24466         [4ef146128d89]
24467
24468         * sudo.pod:
24469         fixed thinko
24470         [830f2f0f22e7]
24471
24472         * parse.c:
24473         fix comment
24474         [d20ce9e17ddc]
24475
24476 1996-08-09  Todd C. Miller  <Todd.Miller@courtesan.com>
24477
24478         * parse.c, parse.yacc:
24479         added support for new `sudo -l' stuff
24480         [7dceaef3c733]
24481
24482         * sudo.c:
24483         now uses list_matches()
24484         [293364821b61]
24485
24486         * sudo.h:
24487         added struct sudo_match
24488         [b2684179d179]
24489
24490         * configure.in:
24491         now more -lgnumalloc
24492         [4f8ae42617d8]
24493
24494 1996-08-01  Todd C. Miller  <Todd.Miller@courtesan.com>
24495
24496         * install-sh:
24497         added more paths for chown and whoami
24498         [6e685a19426c]
24499
24500 1996-07-31  Todd C. Miller  <Todd.Miller@courtesan.com>
24501
24502         * check.c:
24503         typo
24504         [3adfa01c04bc]
24505
24506 1996-07-30  Todd C. Miller  <Todd.Miller@courtesan.com>
24507
24508         * aclocal.m4:
24509         fixed DUNIX check for shadow pw
24510         [c25324bcd27b]
24511
24512         * tgetpass.c:
24513         now only turn off echo if it is already on. this fixes a race when
24514         you use sudo in a pipelin
24515         [28388c2de21c]
24516
24517         * INSTALL:
24518         updated
24519         [b45ac9366b7e]
24520
24521         * configure.in:
24522         changed "test -z $foo && do_this" to if; then construct
24523         [2183c4426bca]
24524
24525 1996-07-29  Todd C. Miller  <Todd.Miller@courtesan.com>
24526
24527         * configure.in:
24528         added missing defines of SHADOW_TYPE
24529         [be89ea68a7f3]
24530
24531 1996-07-26  Todd C. Miller  <Todd.Miller@courtesan.com>
24532
24533         * check.c:
24534         protect AUTH_CRYPT_OLDCRYPT and AUTH_CRYPT_C1CRYPT since they are
24535         only in dunix 4.x
24536         [1e7c1c677263]
24537
24538         * getspwuid.c:
24539         added AUTH_CRYPT_C1CRYPT support
24540         [88d6b0058b20]
24541
24542         * parse.c:
24543         no longer return VALIDATE_NOT_OK if there was a runas that didn't
24544         match. Now we can have runas stuff on more than one line.
24545         [52b68920d7b7]
24546
24547         * getspwuid.c, sudo.c, tgetpass.c:
24548         use SHADOW_TYPE instead of HAVE_C2_SECURITY
24549         [cf401dfcbc06]
24550
24551         * configure.in:
24552         got rid of HAVE_C2_SECURITY SHADOW_TYPE is always defined to
24553         something
24554         [c7a233c4dd93]
24555
24556         * config.h.in:
24557         removed HAVE_C2_SECURITY added SPW_BSD
24558         [8314405e9754]
24559
24560         * compat.h:
24561         use SHADOW_TYPE instead of HAVE_C2_SECURITY
24562         [6f94870df17f]
24563
24564         * check.c:
24565         SHADOW_TYPE is always defined so just against its value
24566         [72c69a55d02f]
24567
24568         * aclocal.m4:
24569         added SUDO_CHECK_SHADOW_DUNIX
24570         [ef025ae9d496]
24571
24572 1996-07-25  Todd C. Miller  <Todd.Miller@courtesan.com>
24573
24574         * sudoers.pod:
24575         * -> ?* in one example added another instance of (runas) and one of
24576         NOPASSWD:
24577         [d74fe1dcbe7d]
24578
24579 1996-07-24  Todd C. Miller  <Todd.Miller@courtesan.com>
24580
24581         * configure.in:
24582         added back check for config.cache from other host type
24583         [0ba87871f585]
24584
24585         * parse.lex:
24586         removed an instance of \"
24587         [1e008d3709f6]
24588
24589         * sample.sudoers:
24590         added an example
24591         [dbfcf68ee330]
24592
24593         * sudoers.pod:
24594         updated wrt new wildcard matching
24595         [193fa44a475b]
24596
24597         * configure.in:
24598         new check for shadow passwords if we don't know anything
24599         [67465df7dc9a]
24600
24601         * aclocal.m4:
24602         new SUDO_CHECK_SHADOW_GENERIC
24603         [3563b16a41b8]
24604
24605         * configure.in:
24606         added back check for -lsocket (oops)
24607         [a80882ee1cb6]
24608
24609         * configure.in:
24610         better (working) check for shadow passwd type if we know to use C2.
24611         [3cdd2a59a641]
24612
24613         * configure.in:
24614         now uses AC_CANONICAL_HOST to figure out os type
24615         [80db7fe6e704]
24616
24617         * Makefile.in:
24618         added config.{guess,sub}
24619         [c6be7e3ca384]
24620
24621         * aclocal.m4:
24622         removed unused stuff to figure out os type
24623         [c9a0f3b57123]
24624
24625         * config.sub:
24626         added openbsd
24627         [bfc6bfec3668]
24628
24629         * config.sub:
24630         Initial revision
24631         [e6e06ce0d17d]
24632
24633         * config.guess:
24634         Initial revision
24635         [99dd06f79199]
24636
24637         * testsudoers.c:
24638         don't call fnmatch() with FNM_PATHNAME flag unless it can only be a
24639         pathname. need to check against sudoers_args even if user_args is
24640         nil
24641         [66e6cf77f5d6]
24642
24643         * parse.c:
24644         don't call fnmatch() with FNM_PATHNAME flag unless it can only be a
24645         pathname need to check against sudoers_args even if user_args is nil
24646         [74374df17311]
24647
24648 1996-07-23  Todd C. Miller  <Todd.Miller@courtesan.com>
24649
24650         * check.c:
24651         added support for AUTH_CRYPT_OLDCRYPT w/ DUNIX C2
24652         [cbb00261c415]
24653
24654         * testsudoers.c:
24655         now takes command line args and uses cmnd_args
24656         [f0c2fd35a527]
24657
24658         * parse.lex:
24659         fill_args was adding an extra leading space
24660         [692fc999b2e8]
24661
24662 1996-07-22  Todd C. Miller  <Todd.Miller@courtesan.com>
24663
24664         * visudo.c:
24665         fixed dummy command_matches()
24666         [93d9543db6e2]
24667
24668         * parse.yacc:
24669         fixed prototype
24670         [7b0addfbd429]
24671
24672         * sudo.h:
24673         added cmnd_args
24674         [8f47c4ae65ef]
24675
24676         * parse.yacc:
24677         now uses flat args string
24678         [016e65877da3]
24679
24680         * parse.c, parse.lex:
24681         now uses flat arg string
24682         [5b5f2e3f4c09]
24683
24684         * visudo.c:
24685         added cmnd_args def
24686         [876867134775]
24687
24688         * sudo.c:
24689         now sets cmnd_args global
24690         [e6fee70cb59b]
24691
24692         * logging.c:
24693         cmnd_args is now exported from sudo.[ch]
24694         [7a9cd36e356f]
24695
24696 1996-07-21  Todd C. Miller  <Todd.Miller@courtesan.com>
24697
24698         * parse.yacc:
24699         can't rely on cmnd_matches as much as I thought -- added some $$
24700         stuff back in to prevent namespace pollution problems.
24701         [3c45fedb5af3]
24702
24703         * parse.yacc:
24704         Simplified parse rules wrt runas and NOPASSWD (more consistent).
24705         [e6d838c8a4c7]
24706
24707 1996-07-20  Todd C. Miller  <Todd.Miller@courtesan.com>
24708
24709         * parse.lex:
24710         NOPASSWD may now have blanks before the ':' '(' only starts a
24711         'runas' if in the initial state to avoid collision with command args
24712         [c5c01172f499]
24713
24714         * configure.in:
24715         added checks for specific shadow passwd schemes
24716         [b7e3d1f7b84f]
24717
24718         * aclocal.m4:
24719         added routines to check for specific shadow passwd types
24720         [e5e1d19960a6]
24721
24722 1996-07-18  Todd C. Miller  <Todd.Miller@courtesan.com>
24723
24724         * configure.in:
24725         added support for ncr boxen
24726         [bea9dc5aae7f]
24727
24728         * aclocal.m4:
24729         added support for detecting ncr boxen
24730         [8653a158a924]
24731
24732 1996-07-16  Todd C. Miller  <Todd.Miller@courtesan.com>
24733
24734         * configure.in:
24735         added sinix support
24736         [5de2b2173ee1]
24737
24738 1996-07-14  Todd C. Miller  <Todd.Miller@courtesan.com>
24739
24740         * TROUBLESHOOTING:
24741         added info about "config.cache from other other" error.
24742         [845b10198e0b]
24743
24744         * aclocal.m4:
24745         now makes sure you don't have a config.cache file from another OS
24746         [4fe32571c021]
24747
24748         * configure.in:
24749         now sets $LIBS when needed to configure links with libs when doing
24750         tests hpux10 now uses SPW_SECUREWARE for C2 added check for
24751         bigcrypt(3) if SPW_SECUREWARE
24752         [2df6b8ca538f]
24753
24754         * getspwuid.c:
24755         fixed typo
24756         [fe1cb1d792d6]
24757
24758         * tgetpass.c:
24759         now include stuff for SPW_SECUREWARE to get AUTH_MAX_PASSWD_LENGTH
24760         [f71138372c07]
24761
24762         * getspwuid.c:
24763         no more SPW_HPUX10
24764         [cfdeb18bc16b]
24765
24766         * config.h.in:
24767         no more SPW_HPUX10 added HAVE_BIGCRYPT
24768         [00d296479a61]
24769
24770         * compat.h:
24771         now uses AUTH_MAX_PASSWD_LENGTH if SPW_SECUREWARE
24772         [6c6d9e680417]
24773
24774         * check.c:
24775         SPW_SECUREWARE now uses bigcrypt
24776         [be71fc66690f]
24777
24778 1996-07-13  Todd C. Miller  <Todd.Miller@courtesan.com>
24779
24780         * sample.sudoers:
24781         fixed 2 syntax errors
24782         [45eee19ef4ac]
24783
24784         * sudoers:
24785         root may now run ALL as ALL
24786         [1b54c6b9b212]
24787
24788 1996-07-12  Todd C. Miller  <Todd.Miller@courtesan.com>
24789
24790         * interfaces.c:
24791         fixed a typo/thinko that broke BSD's with sa_len
24792         [603438360126]
24793
24794 1996-07-08  Todd C. Miller  <Todd.Miller@courtesan.com>
24795
24796         * check.c, configure.in:
24797         updated AFS support
24798         [e572eb8d177a]
24799
24800         * TROUBLESHOOTING:
24801         added entry about /usr/ucb/cc
24802         [025b353aa9d3]
24803
24804         * INSTALL:
24805         prep no longer holds gcc binaries
24806         [8b0942958049]
24807
24808         * INSTALL:
24809         updated AFS note
24810         [7af6efd5abe4]
24811
24812         * Makefile.in:
24813         added @AFS_LIBS@
24814         [97b6fe6ad7d6]
24815
24816         * compat.h:
24817         AFS allows long passwords
24818         [5fb17122c302]
24819
24820         * testsudoers.c:
24821         fixed -u user support
24822         [b1a0c1648639]
24823
24824         * parse.c:
24825         sudo -v now groks VALIDATE_OK_NOPASS
24826         [74fc03fffe7e]
24827
24828         * parse.yacc:
24829         fixed no_passwd vs. runas_matched
24830         [549a9b791a6a]
24831
24832         * TROUBLESHOOTING:
24833         took out stuff about NFS-mounting since it is no longer an issue
24834         [d95ab7fbbc61]
24835
24836         * INSTALL:
24837         added --with-libraries > --with-libpath --with-incpath
24838         [d5d15a7a0f4c]
24839
24840         * parse.yacc:
24841         was setting runas_matches to -1 in wrong place
24842         [db2b1deb8d33]
24843
24844         * check.c:
24845         removed usersec.h which is not present in new AFS versions
24846         [618b016dd17f]
24847
24848         * tgetpass.c:
24849         now deals with timeout <= 0
24850         [ba53a1257255]
24851
24852         * OPTIONS:
24853         updated
24854         [75093bd8fdca]
24855
24856         * configure.in:
24857         BSD/OS >= 2.0 now uses shlicc instead of just gcc
24858         [ff6dbf7825c2]
24859
24860         * sudo.c:
24861         fixed backwards compatibility with sudo 1.4 sudoers mode for root
24862         readable/writable filesystems
24863         [2694ed627221]
24864
24865         * Makefile.in:
24866         now gives INSTALL -c flag
24867         [63db055a2fd1]
24868
24869         * parse.yacc:
24870         slightly simpler initialization of no_passwd and runas_matches
24871         [463a1b5fa323]
24872
24873         * testsudoers.c:
24874         added -u username support
24875         [38b072fcd6b3]
24876
24877         * configure.in:
24878         improved --with-libraries support
24879         [047dbc5f0af2]
24880
24881 1996-07-07  Todd C. Miller  <Todd.Miller@courtesan.com>
24882
24883         * configure.in:
24884         added --with-incpath, --with-libpath, --with-libraries
24885         [20f20d6c718c]
24886
24887         * parse.yacc:
24888         now initializes some fields that weren't getting set to -1 pretty
24889         gross -- need a rewrite.
24890         [021c160390c6]
24891
24892 1996-06-26  Todd C. Miller  <Todd.Miller@courtesan.com>
24893
24894         * alloca.c:
24895         removed emacs'isms
24896         [9d4ec2efe057]
24897
24898         * configure.in:
24899         no longer add -lPW to *_LIBS since we include alloca.c
24900         [a626d1bbea80]
24901
24902         * config.h.in:
24903         added HAVE_ALLOCA_H
24904         [15491e2a6cff]
24905
24906         * Makefile.in:
24907         added alloca.c
24908         [0400f25e1fe4]
24909
24910         * alloca.c:
24911         Initial revision
24912         [06d033aa4882]
24913
24914         * configure.in:
24915         ++version
24916         [f52c0fb98f90]
24917
24918 1996-06-25  Todd C. Miller  <Todd.Miller@courtesan.com>
24919
24920         * sudo.c:
24921         now set uid to 1 instead of nobody for PERM_SUDOERS since nobody is
24922         not always set to a valid uid.
24923         [c2669f77704d]
24924
24925         * OPTIONS:
24926         fixed entry for SUDO_MODE
24927         [d7272f6035b8]
24928
24929         * sudo.c:
24930         Fixed NFS-mounted sudoers file under solaris both uid *and* gid were
24931         being set to -2. Now beat NFS to the punch and set uid to "nobody"
24932         ourselves, preserving group 0 to read sudoers.
24933         [b1fbc5dd1e34]
24934
24935         * parse.c:
24936         moved set_perms(PERM_ROOT) to be before yyparse()
24937         [7619d8080735]
24938
24939         * logging.c:
24940         fixed a typo
24941         [318acc48cde0]
24942
24943         * configure.in:
24944         no longer need AC_PROG_INSTALL
24945         [de01b1336dc8]
24946
24947         * Makefile.in:
24948         always use install-sh to avoid install(1)'s that use get{pw,gr}nam
24949         [ea2351986406]
24950
24951         * INSTALL:
24952         make clean -> make distclean
24953         [704a98e8ba10]
24954
24955 1996-06-20  Todd C. Miller  <Todd.Miller@courtesan.com>
24956
24957         * parse.yacc:
24958         removed some unnecsary if's
24959         [f00db6508132]
24960
24961         * Makefile.in, version.h:
24962         ++version
24963         [bdb6740b24c8]
24964
24965         * parse.c, testsudoers.c:
24966         now includes netgroup.h
24967         [93f5a06352bc]
24968
24969         * interfaces.c:
24970         removed cats of ioctl to int since they didn't shut up -Wall
24971         [83e9f912cd7a]
24972
24973         * interfaces.c:
24974         explicately cast ioctl() to int since it it not always declared
24975         [2ff9294e469e]
24976
24977         * sudo.h:
24978         added declarations for yyparse() and yylex()
24979         [6071321ab771]
24980
24981         * parse.yacc:
24982         fixed an occurence of '==' -> '='
24983         [2c46d2e11d57]
24984
24985         * config.h.in, configure.in:
24986         added check for netgroup.h
24987         [73403050f4e3]
24988
24989         * sudo.c:
24990         fixed 2 compiler warnings
24991         [680929b0bd97]
24992
24993         * sudo.c:
24994         SHELL_IF_NO_ARGS caused core dump since NewArg[cv] weren't being
24995         initialized
24996         [18707ecd07c2]
24997
24998 1996-06-19  Todd C. Miller  <Todd.Miller@courtesan.com>
24999
25000         * sudo.pod:
25001         fixed a typo
25002         [e4b5c12aa130]
25003
25004 1996-06-17  Todd C. Miller  <Todd.Miller@courtesan.com>
25005
25006         * parse.yacc:
25007         fixed a formatting thingie
25008         [c79327b6f19b]
25009
25010         * parse.c, parse.yacc:
25011         fixed -u support with multiple user lists on a line
25012         [e4d1066adca2]
25013
25014         * configure.in:
25015         unixware needs -lgen
25016         [b5bf9bca63cc]
25017
25018         * README:
25019         updated ftp location
25020         [b25a033f7921]
25021
25022         * sudoers.pod:
25023         add net_addr/netmask support
25024         [674e83516d1e]
25025
25026         * sample.sudoers:
25027         added net_addr/mask example
25028         [774878e89b28]
25029
25030         * parse.c, parse.lex:
25031         added support for net_addr/netmask
25032         [e33de27325d8]
25033
25034 1996-06-16  Todd C. Miller  <Todd.Miller@courtesan.com>
25035
25036         * sudoers.pod:
25037         ^ -> !
25038         [1a084950d6ef]
25039
25040 1996-06-15  Todd C. Miller  <Todd.Miller@courtesan.com>
25041
25042         * RUNSON:
25043         updated for 1.4.3
25044         [c82019025d09]
25045
25046         * CHANGES:
25047         udpated for 1.4.3
25048         [ceaa81adb8f0]
25049
25050         * BUGS, TODO, TROUBLESHOOTING:
25051         updated
25052         [ff94fae4b853]
25053
25054         * sample.sudoers:
25055         updated with examples of new stuff
25056         [99d0b4cb4c9c]
25057
25058         * INSTALL, README:
25059         ++version
25060         [b763b80fe836]
25061
25062         * sudoers.pod:
25063         updated wrt -u and NOPASSWD
25064         [0b5b722ea0f4]
25065
25066         * sudo.pod:
25067         updated wrt -u and CAVEATS
25068         [71d5d53b5d18]
25069
25070 1996-06-09  Todd C. Miller  <Todd.Miller@courtesan.com>
25071
25072         * sudo.c:
25073         fixed usage()
25074         [114c7d09b550]
25075
25076         * parse.lex:
25077         now use :foo: character classes (makes no diff for generated lexer)
25078         [7b0aeb737a02]
25079
25080 1996-06-07  Todd C. Miller  <Todd.Miller@courtesan.com>
25081
25082         * check.c:
25083         fixed LONG_SKEY_PROMPT stuff
25084         [0efe78b4bdda]
25085
25086 1996-06-06  Todd C. Miller  <Todd.Miller@courtesan.com>
25087
25088         * visudo.c:
25089         fixed a comment
25090         [3d289017104b]
25091
25092         * lsearch.c:
25093         make more like NetBSD one -- now compiles w/o warnings
25094         [932206296a54]
25095
25096         * emul/search.h:
25097         fixed decls of lsearch()
25098         [c58cf4584c45]
25099
25100         * config.h.in, configure.in, getspwuid.c:
25101         added SPW_HPUX10
25102         [d74e5eaa5f17]
25103
25104         * check.c:
25105         hpux 10 uses bigcrypt() if C2
25106         [359eb63f4021]
25107
25108 1996-06-04  Todd C. Miller  <Todd.Miller@courtesan.com>
25109
25110         * parse.c:
25111         now always uses fnmatch to match args
25112         [a9d91f35256a]
25113
25114         * tgetpass.c:
25115         back to using stdio instead of raw i/o since that caused some
25116         problems
25117         [e7ce2bc92974]
25118
25119 1996-05-29  Todd C. Miller  <Todd.Miller@courtesan.com>
25120
25121         * sudo.c:
25122         now give usage warning if use -l,-v,-k with args
25123         [6b48180c4fea]
25124
25125 1996-05-28  Todd C. Miller  <Todd.Miller@courtesan.com>
25126
25127         * sudo.c:
25128         NewArgc is now set to 1 for -l, -v, -k
25129         [7497cb1416a8]
25130
25131         * sudo.c:
25132         now sets sudoers to correct group if mode is 0400
25133         [484c43d99718]
25134
25135         * install-sh:
25136         updated to version used by inn and bind
25137         [28683ad8725a]
25138
25139         * configure.in:
25140         now uses -lgnumalloc if it exists
25141         [3651ca4415a2]
25142
25143         * Makefile.in:
25144         "make install" now sets uid/gid and mode on sudoers if it exists
25145         [1f5216191ae9]
25146
25147         * sudo.c:
25148         rmeoved debugging statements
25149         [aeda278e2c26]
25150
25151         * parse.yacc:
25152         added a missing free()
25153         [592c9482a159]
25154
25155         * sudo.c:
25156         now uses user_gid instead of getegid (which was wrong anyway) to set
25157         SUDO_GID Now sets command line args in SUDO_COMMAND envariabled
25158         (logging.c depends on args being in the environment)
25159         [9f5328a3b942]
25160
25161         * logging.c:
25162         now uses SUDO_COMMAND envariable to get command args rather than
25163         building it up again.
25164         [7f8edc5bccb7]
25165
25166         * parse.c:
25167         now uses user_gid
25168         [4b9303ae45fe]
25169
25170         * sudo.c:
25171         fixed off by one error in allocation NewArgv
25172         [921ea1a4e7c6]
25173
25174         * parse.c:
25175         in sudoers, 'command ""' now means command with no args
25176         [a5273648ace2]
25177
25178         * configure.in:
25179         added check for fnmatch(3) and fnmatch.h
25180         [258916a7866f]
25181
25182         * config.h.in:
25183         added HAVE_FNMATCH
25184         [b9860d361e93]
25185
25186         * Makefile.in:
25187         replaced wildcat.* with fnmatch.*
25188         [03ad9ee21a1c]
25189
25190         * testsudoers.c:
25191         now uses fnmatch()
25192         [5a7f7de987a9]
25193
25194 1996-05-27  Todd C. Miller  <Todd.Miller@courtesan.com>
25195
25196         * parse.c:
25197         now uses fnmatch() instead of wildmat a trailing star (*) by itself
25198         now matches multiple args added support for wildcards in the
25199         pathname in sudoers
25200         [1f7fb950b868]
25201
25202 1996-05-25  Todd C. Miller  <Todd.Miller@courtesan.com>
25203
25204         * fnmatch.c:
25205         now includes compat.h and config.h
25206         [090206b95cf8]
25207
25208         * config.h.in:
25209         added HAVE_FNMATCH_H
25210         [90eb42150173]
25211
25212         * configure.in:
25213         now checks for alloca() (if needed by bison or dce) and links with
25214         -lPW if it contains alloca() and libv and compiler do not.
25215         [cfa2b3cef49a]
25216
25217         * emul/fnmatch.h, fnmatch.3, fnmatch.c:
25218         Initial revision
25219         [20b1f762a32a]
25220
25221 1996-04-29  Todd C. Miller  <Todd.Miller@courtesan.com>
25222
25223         * sudo.c:
25224         now fixes mode on sudoers if set to 0400 to aid in upgrade
25225         [d4bdfd521820]
25226
25227 1996-04-28  Todd C. Miller  <Todd.Miller@courtesan.com>
25228
25229         * Makefile.in:
25230         fixed pod2man usage
25231         [5adf2ec77b27]
25232
25233         * Makefile.in, configure.in, version.h:
25234         ++version
25235         [b4029de876d0]
25236
25237         * testsudoers.c, visudo.c:
25238         runas_user is now initialized to "root"
25239         [8537d97bff39]
25240
25241         * sudo.h:
25242         removed PERM_FULL_ROOT
25243         [241f8bbf647f]
25244
25245         * sudo.c:
25246         runas_user defaults to "root" so no more need to PERM_RUNAS
25247         [fc0c0dfc72ba]
25248
25249         * parse.c:
25250         will now only running commands as root if there was no runas list
25251         (or if root is in the runas list)
25252         [40c587666c81]
25253
25254         * logging.c:
25255         now logs "USER=%s"
25256         [b733504c87fd]
25257
25258         * parse.yacc:
25259         runas_matches is now set to false if we get a negative match
25260         [5495b150b300]
25261
25262         * parse.lex:
25263         make #uid work + some minor cleanup
25264         [07851bbce03a]
25265
25266         * sample.sudoers:
25267         added support for NOPASSWD and "runas" from garp@opustel.com /
25268         [7a9c67b51fa5]
25269
25270         * visudo.c:
25271         added support for "runas" from garp@opustel.com replaced
25272         SUDOERS_OWNER with SUDOERS_UID, SUDOERS_GID added support for
25273         SUDOERS_MODE
25274         [e714209b9885]
25275
25276         * testsudoers.c:
25277         added support for "runas" from garp@opustel.com
25278         [b837f856da10]
25279
25280         * sudo.h:
25281         added support for NO_PASSWD and runas from garp@opustel.com replaced
25282         SUDOERS_OWNER with SUDOERS_UID and SUDOERS_GID and added support
25283         fro SUDOERS_MODE
25284         [cea6f26679b7]
25285
25286         * sudo.c:
25287         added support for NO_PASSWD and runas from garp@opustel.com replaced
25288         SUDOERS_OWNER with SUDOERS_UID and SUDOERS_GID and added support fro
25289         SUDOERS_MODE
25290         [61b5434237c5]
25291
25292         * parse.yacc:
25293         added support for NO_PASSWD and runas from garp@opustel.com
25294         [72ebd3056f22]
25295
25296         * parse.c, parse.lex:
25297         added support for NO_PASSWD and runas from garp@opustel.com
25298         [fef6dbdd114d]
25299
25300         * logging.c:
25301         added support for SUDOERS_WRONG_MODE and "runas"
25302         [e794efc2b443]
25303
25304         * configure.in:
25305         added --with-CC only link with -lshadow on linux (with shadow pw) if
25306         libc lacks getspnam()
25307         [3ecf4ae21002]
25308
25309         * OPTIONS, options.h:
25310         removed NO_PASSWD since it is not possible to do this in the sudoers
25311         file itself. Replaced SUDOERS_OWNER with SUDOERS_UID and
25312         SUDOERS_GID. Added SUDOERS_MODE.
25313         [2eaa4891ef48]
25314
25315         * Makefile.in:
25316         now uses SUDOERS_UID and SUDOERS_GID
25317         [8d615f0fdb2a]
25318
25319 1996-04-27  Todd C. Miller  <Todd.Miller@courtesan.com>
25320
25321         * INSTALL:
25322         added --with-CC
25323         [a1b8286a81b8]
25324
25325 1996-04-06  Todd C. Miller  <Todd.Miller@courtesan.com>
25326
25327         * parse.lex:
25328         added double quote support
25329         [a5e4fc7e3a2b]
25330
25331         * sudoers.pod:
25332         documented double quoting
25333         [c6ea47969a44]
25334
25335 1996-04-05  Todd C. Miller  <Todd.Miller@courtesan.com>
25336
25337         * mkinstalldirs:
25338         Initial revision
25339         [dcb86d65ad8f]
25340
25341         * check.c:
25342         fixed some indentation
25343         [4d1c5ab8072b]
25344
25345         * Makefile.in:
25346         fixed a typo
25347         [0d27eebc7227]
25348
25349         * Makefile.in:
25350         added install-dirs .
25351         [f499b99b8be7]
25352
25353 1996-04-04  Todd C. Miller  <Todd.Miller@courtesan.com>
25354
25355         * dce_pwent.c:
25356         new version from "Jeff A. Earickson" <jaearick@colby.edu>
25357         [422481be5fbd]
25358
25359 1996-04-03  Todd C. Miller  <Todd.Miller@courtesan.com>
25360
25361         * configure.in:
25362         $CSOPS -> $with_csops (whoops, missed one)
25363         [b04c6948130e]
25364
25365         * BUGS:
25366         updated
25367         [c4d5713e227d]
25368
25369         * parse.lex:
25370         FQHOST now has same constraints as non-FQHOST
25371         [e1c3bf2381d1]
25372
25373         * INSTALL:
25374         added note about OS's w/ shadow passwords turned on by default
25375         [166257f43be4]
25376
25377 1996-04-02  Todd C. Miller  <Todd.Miller@courtesan.com>
25378
25379         * configure.in:
25380         fixed a typo
25381         [e5c3e2e9a359]
25382
25383         * configure.in:
25384         added support for --without-THING sanitized shadow pw situtation by
25385         adding support for
25386         --without-C2
25387         [65dc6bf64cce]
25388
25389         * tgetpass.c:
25390         fixed a typo wrt placement of an end paren
25391         [a8780f818231]
25392
25393         * check.c:
25394         was closing an fd that may not have been opened
25395         [760271c7bdc9]
25396
25397 1996-03-22  Todd C. Miller  <Todd.Miller@courtesan.com>
25398
25399         * OPTIONS, options.h, sudo.c:
25400         added NO_PASSWD
25401         [28ff1dc93d7a]
25402
25403 1996-03-20  Todd C. Miller  <Todd.Miller@courtesan.com>
25404
25405         * configure.in:
25406         now always use shadow pw on some arches
25407         [069161ccffda]
25408
25409 1996-03-19  Todd C. Miller  <Todd.Miller@courtesan.com>
25410
25411         * configure.in:
25412         added pyramid support
25413         [a0eb57a3a531]
25414
25415         * configure.in:
25416         no longer check for C2 if alternate passwd method is used no longer
25417         check for some libs twice
25418         [2d0c3c902b40]
25419
25420         * parse.yacc:
25421         moved fqdn stuff into parse.lex (FQHOST)
25422         [d9c9abd481d8]
25423
25424         * parse.lex:
25425         added FQHOST rules
25426         [4a1695acff6d]
25427
25428         * tgetpass.c:
25429         now define TCSASOFT in necesary
25430         [3fac2e21c9ab]
25431
25432         * tgetpass.c:
25433         now uses read/write instead of stdio string goop to avoid problems
25434         with select(2)
25435         [67fd174e518c]
25436
25437         * OPTIONS, find_path.c, options.h:
25438         -DNO_DOT_PATH -> -DIGNORE_DOT_PATH
25439         [d05ba5100d28]
25440
25441 1996-03-17  Todd C. Miller  <Todd.Miller@courtesan.com>
25442
25443         * INSTALL:
25444         added note about no shadow auto-detect if using alternate auth
25445         schemes
25446         [b425592232a3]
25447
25448         * configure.in:
25449         don't check for C2 if AFS or DCE (unless they said --with-C2)
25450         [61342962171a]
25451
25452         * testsudoers.c:
25453         now groks shost
25454         [85dda17303f6]
25455
25456         * OPTIONS, find_path.c, options.h:
25457         added NO_DOT_PATH
25458         [c261ca1fb196]
25459
25460 1996-03-16  Todd C. Miller  <Todd.Miller@courtesan.com>
25461
25462         * find_path.c:
25463         checkdot now works correctly
25464         [3bc4835bb3e9]
25465
25466 1996-03-12  Todd C. Miller  <Todd.Miller@courtesan.com>
25467
25468         * configure.in:
25469         can't have DCE and C2 passwords both...
25470         [fb9a8ab7ca66]
25471
25472 1996-03-11  Todd C. Miller  <Todd.Miller@courtesan.com>
25473
25474         * parse.yacc, sudo.c, sudo.h, visudo.c:
25475         now uses shost even if not FQDN
25476         [87f7498b3a1f]
25477
25478         * configure.in:
25479         now looks for skey in /usr/lib and doesn't require libskey to be in
25480         /usr/local/lib just because skey.h is (for my netbsd box :-)
25481         [ceb1763e37d2]
25482
25483         * aclocal.m4, config.h.in, pathnames.h.in:
25484         _SUDO_PATH_ -> _CONFIG_PATH_
25485         [84d97ad13d75]
25486
25487         * aclocal.m4, sudo.pod:
25488         /var/run/.odus -> /var/run/sudo
25489         [922da220b8f5]
25490
25491         * pathnames.h.in:
25492         now uses _SUDO_PATH_TIMEDIR
25493         [5ecab0155fdf]
25494
25495         * OPTIONS:
25496         udpated FQDN
25497         [361b6f7440c0]
25498
25499         * aclocal.m4, configure.in:
25500         added SUDO_TIMEDIR
25501         [368c95c8c950]
25502
25503         * config.h.in:
25504         added _SUDO_PATH_TIMEDIR
25505         [3879864d808c]
25506
25507         * sudo.pod:
25508         updated wrt /var/run/sudo
25509         [9e14f2a429d3]
25510
25511         * sudo.c, sudo.h:
25512         added support for shost if FQDN
25513         [51a3f51a09a1]
25514
25515         * parse.yacc, visudo.c:
25516         now uses shost if FQDN
25517         [d19da2e92b42]
25518
25519         * check.c:
25520         Now use skeylookup() instead off skeychallenge()
25521         [4c7438bb2ae0]
25522
25523 1996-02-28  Todd C. Miller  <Todd.Miller@courtesan.com>
25524
25525         * logging.c:
25526         mail_argv should not contain ALERTMAIL as it includes "-t"
25527         [67ffaaa8f843]
25528
25529 1996-02-22  Todd C. Miller  <Todd.Miller@courtesan.com>
25530
25531         * INSTALL, Makefile.in, README, configure.in, version.h:
25532         ++version
25533         [e08fd4a809fc]
25534
25535         * compat.h:
25536         added more _PASSWD_LEN stuff -- now uses PASS_MAX too
25537         [2f20c3153689]
25538
25539         * tgetpass.c:
25540         now includes limits.h moved _PASSWD_LEN -> compat.h
25541         [b1ca3cafdacc]
25542
25543 1996-02-06  Todd C. Miller  <Todd.Miller@courtesan.com>
25544
25545         * INSTALL, README:
25546         ++version
25547         [3eacf32803f5]
25548
25549         * Makefile.in:
25550         ++versoin
25551         [3b91c317630a]
25552
25553         * Makefile.in:
25554         fixed a typo
25555         [3661ac4a7803]
25556
25557         * configure.in:
25558         ++version
25559         [60e842973745]
25560
25561 1996-02-05  Todd C. Miller  <Todd.Miller@courtesan.com>
25562
25563         * RUNSON:
25564         updated
25565         [def2c3c24195]
25566
25567         * CHANGES:
25568         done for 1.4.1 (I hope)
25569         [2ab543769a40]
25570
25571         * sudoers.pod:
25572         added info on wildcards
25573         [ce3bd41bc063]
25574
25575         * sample.sudoers:
25576         added wildcard example
25577         [762feb0577bd]
25578
25579         * Makefile.in:
25580         now uses *.pod to build *.man and *.cat & *.html
25581         [3ec14962028b]
25582
25583         * configure.in:
25584         addedSUDO_PROG_BSHELL !ll
25585         [3c80b320bf16]
25586
25587         * visudo.pod:
25588         fixed up some formatting
25589         [12166c434526]
25590
25591         * sudoers.pod:
25592         redid section describing sample sudoers stuff
25593         [b8065cceec71]
25594
25595         * sudo.pod:
25596         fixed some formatting
25597         [aa9a681add0f]
25598
25599         * getspwuid.c:
25600         now treats "" as bourne shell
25601         [30194a72ad56]
25602
25603         * Makefile.in:
25604         TESTOBJS nwo includes wildmat.o
25605         [86cc6500f84d]
25606
25607         * testsudoers.c:
25608         now works with NewArg[cv]
25609         [2f72674ce942]
25610
25611         * sudo.c:
25612         removed an XXX (fixed it in getspwuid.c)
25613         [e791ee0d1a68]
25614
25615         * aclocal.m4:
25616         added check for bourne shell
25617         [a2fd51676b8a]
25618
25619         * pathnames.h.in:
25620         added _PATH_BSHELL
25621         [e7c10011d47b]
25622
25623         * config.h.in:
25624         added _SUDO_PATH_BSHELL
25625         [6a1182898de9]
25626
25627 1996-02-04  Todd C. Miller  <Todd.Miller@courtesan.com>
25628
25629         * visudo.c:
25630         unixware vi returns 256 instead of 0
25631         [234ffc7c6786]
25632
25633         * INSTALL:
25634         added Linux note
25635         [5f85efcd2b58]
25636
25637         * logging.c:
25638         fixed up some XXX's. file log format now looks a little more like
25639         real syslog(3) format.
25640         [6df55707bfc3]
25641
25642         * README, TROUBLESHOOTING:
25643         updated wrt lex/flex
25644         [eb787d69156b]
25645
25646         * Makefile.in:
25647         commented out rule to build lex.yy.c from parse.lex since we ship
25648         with a pre-flex'd parser
25649         [7507e2ce4a95]
25650
25651         * parse.c, parse.yacc, visudo.c:
25652         path_matches -> command_matches
25653         [0bd469424f86]
25654
25655         * logging.c:
25656         eliminated some strcat()'s
25657         [9878a79bc374]
25658
25659         * configure.in:
25660         no longer checks for lex/flex (now assumes flex)
25661         [a086ccc73798]
25662
25663         * configure.in:
25664         now checks for $kerb_dir_candidate/krb.h instead of just
25665         kerb_dir_candidate
25666         [9133bc3c5208]
25667
25668 1996-02-03  Todd C. Miller  <Todd.Miller@courtesan.com>
25669
25670         * parse.yacc:
25671         now use a 'hook' expression instead of an iffy one :-)
25672         [9560df01b8c0]
25673
25674 1996-02-02  Todd C. Miller  <Todd.Miller@courtesan.com>
25675
25676         * visudo.c:
25677         now works with new sudo arg stuff
25678         [310a0d43ddad]
25679
25680         * parse.yacc:
25681         fixed dereferencing deadbeef
25682         [474ef8a8006b]
25683
25684         * sudo.c:
25685         changed an occurrence of Argv to NewArgv
25686         [205b012b7691]
25687
25688         * parse.lex:
25689         took out support for quoted commands since there is no need...
25690         [5c5036d353b1]
25691
25692         * parse.c:
25693         fixed a typo in a for() loop
25694         [7e8d5283c43b]
25695
25696         * logging.c:
25697         protected against dereferencing rogue pointers
25698         [56debd517717]
25699
25700         * sudo.c:
25701         now uses NewArgv amd NewArgc so cmnd_aegs is no longer needed this
25702         also allows us to eliminate some kludges in parse_args() and
25703         eliminate superfluous code.
25704         [5122f66ad150]
25705
25706         * logging.c:
25707         no longer uses cmnd_args, now uses NewArgv instead.
25708         [abddd23cf068]
25709
25710         * sudo.h:
25711         added struct sudo_command, NewArgc, and NewArgv removed cmnd_args
25712         (no longer used)
25713         [78410984fb05]
25714
25715         * Makefile.in:
25716         added wildmat.c to SRCS & SUDOBJS
25717         [3800efb41794]
25718
25719         * parse.yacc:
25720         COMMAND is now a struct containing the path and args
25721         [5c32822c5b94]
25722
25723         * parse.lex:
25724         replaced append() with fill_cmnd() and fill_args. command args from
25725         a sudoers entry are now stored in an arrary for easy matching.
25726         [a981d7f4eb0d]
25727
25728         * parse.c:
25729         command line args from sudoers file are now in an array like ones
25730         passed in from the command line
25731         [1d9e37e84519]
25732
25733 1996-02-01  Todd C. Miller  <Todd.Miller@courtesan.com>
25734
25735         * parse.c:
25736         wildwat stuff now works
25737         [49d16488531f]
25738
25739 1996-01-29  Todd C. Miller  <Todd.Miller@courtesan.com>
25740
25741         * version.h:
25742         ++version
25743         [53e55463ef89]
25744
25745         * Makefile.in:
25746         ++version added wildmat.*
25747         [0508297a4711]
25748
25749 1996-01-28  Todd C. Miller  <Todd.Miller@courtesan.com>
25750
25751         * parse.lex:
25752         added support for quoted commands (w/ or w/o args)
25753         [b9a637155673]
25754
25755 1996-01-22  Todd C. Miller  <Todd.Miller@courtesan.com>
25756
25757         * sudo.pod, visudo.pod:
25758         cleaned up formatting
25759         [4591d4195437]
25760
25761         * sudo.pod, visudo.pod:
25762         Initial revision
25763         [7564a8242750]
25764
25765 1996-01-21  Todd C. Miller  <Todd.Miller@courtesan.com>
25766
25767         * sudoers.pod:
25768         looks reasonable, could be mroe readable
25769         [a5be2d19d9e0]
25770
25771         * sudoers.pod:
25772         Initial revision
25773         [957888be31a6]
25774
25775 1996-01-16  Todd C. Miller  <Todd.Miller@courtesan.com>
25776
25777         * RUNSON:
25778         updated
25779         [633743aa924b]
25780
25781         * OPTIONS:
25782         updated NO_ROOT_SUDO entry
25783         [f1c15b1dec9e]
25784
25785 1996-01-15  Todd C. Miller  <Todd.Miller@courtesan.com>
25786
25787         * RUNSON:
25788         *** empty log message ***
25789         [5b63de579ff7] [SUDO_1_4_0]
25790
25791         * sudo.c:
25792         fixed SECURE_PATH
25793         [6002889f606d]
25794
25795         * RUNSON:
25796         udpa`ted for 1.4
25797         [6014a8592815]
25798
25799         * configure.in:
25800         AIX aixcrypt.exp now uses $(srcdir)
25801         [b0d57674fef4]
25802
25803         * TROUBLESHOOTING:
25804         added entry for anal ansi compilers
25805         [4193cec1c6b1]
25806
25807 1996-01-14  Todd C. Miller  <Todd.Miller@courtesan.com>
25808
25809         * INSTALL:
25810         added info on libcrypt_i for SCO
25811         [575497d56698]
25812
25813         * TODO:
25814         *** empty log message ***
25815         [d0aaf67b9913]
25816
25817         * sample.sudoers:
25818         added comments
25819         [a7773f7eda8d]
25820
25821         * TODO:
25822         1.4 release
25823         [1dade29e9fd9]
25824
25825         * CHANGES:
25826         ++version
25827         [67241be40780]
25828
25829         * INSTALL, OPTIONS, README, config.h.in, configure.in:
25830         ++version
25831         [2e0a37897f68]
25832
25833         * BUGS:
25834         ++version and fixed ISC
25835         [78963f01a0e3]
25836
25837         * check.c, compat.h, dce_pwent.c, find_path.c, getspwuid.c, getwd.c,
25838         goodpath.c, ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h,
25839         insults.h, logging.c, options.h, pathnames.h.in, putenv.c, strdup.c,
25840         sudo.c, sudo.h, sudo_setenv.c, testsudoers.c, tgetpass.c, utime.c,
25841         visudo.c:
25842         ++version
25843         [b6227f29b3d9]
25844
25845         * interfaces.c:
25846         added STUB_LOAD_INTERFACES ++version
25847         [d8150a3fd577]
25848
25849         * Makefile.in, emul/utime.h, parse.c, parse.lex, parse.yacc,
25850         version.h:
25851         ++version
25852         [da9e90e69bdc]
25853
25854         * PORTING:
25855         added info about fd_set in tgetpass added info on interfaces.c
25856         [a39902febd17]
25857
25858 1996-01-11  Todd C. Miller  <Todd.Miller@courtesan.com>
25859
25860         * dce_pwent.c:
25861         added sudo header
25862         [fc0f2c48682e]
25863
25864         * tgetpass.c:
25865         fixed a typo
25866         [43d40b72ee8f]
25867
25868         * Makefile.in:
25869         tgetpass.o is now only linked in with sudo (not visudo)
25870         [7407c5ff11f8]
25871
25872 1996-01-09  Todd C. Miller  <Todd.Miller@courtesan.com>
25873
25874         * BUGS, INSTALL, Makefile.in, OPTIONS, README, config.h.in,
25875         configure.in:
25876         ++version
25877         [9b82ad805d6b]
25878
25879         * emul/utime.h:
25880         added copyright notice
25881         [4380f16cd075]
25882
25883         * check.c, compat.h, find_path.c, getspwuid.c, getwd.c, goodpath.c,
25884         ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h, insults.h,
25885         interfaces.c, logging.c, options.h, parse.c, parse.lex, parse.yacc,
25886         pathnames.h.in, putenv.c, strdup.c, sudo.c, sudo.h, sudo_setenv.c,
25887         testsudoers.c, tgetpass.c, utime.c, version.h, visudo.c:
25888         ++version
25889         [32717fdb5d05]
25890
25891         * tgetpass.c:
25892         minor cleanup and now includes sys/bsdtypes for svr4'ish boxen
25893         [326864428da2]
25894
25895         * configure.in:
25896         ISC now gets -lcrypt now check for sys/bsdtypes.h
25897         [e064799c054b]
25898
25899         * config.h.in:
25900         added check for sys/bsdtypes.h
25901         [9adb9533c363]
25902
25903 1996-01-07  Todd C. Miller  <Todd.Miller@courtesan.com>
25904
25905         * parse.yacc:
25906         removed debugging stuff (setting freed ptr to NULL)
25907         [02fe8eec63a0]
25908
25909         * TROUBLESHOOTING:
25910         added 2 entries
25911         [02884e2733e2]
25912
25913         * Makefile.in:
25914         added FAQ
25915         [074d8dfcf28d]
25916
25917         * TROUBLESHOOTING:
25918         added section on syslog
25919         [e6bc02a22b86]
25920
25921         * configure.in:
25922         added AC_ISC_POSIX for better ISC support
25923         [8436b3e12af2]
25924
25925         * config.h.in:
25926         fixed typo
25927         [f1b3922babf4]
25928
25929         * config.h.in:
25930         added define for _POSIX_SOURCE
25931         [ded6d92b34f9]
25932
25933 1996-01-04  Todd C. Miller  <Todd.Miller@courtesan.com>
25934
25935         * configure.in:
25936         fixed check for lsearch()
25937         [75baa5bc28a3]
25938
25939 1995-12-22  Todd C. Miller  <Todd.Miller@courtesan.com>
25940
25941         * interfaces.c:
25942         fixed for AIX now deal if num_interfaces == 0 (should not happen)
25943         [ae450e859227]
25944
25945 1995-12-20  Todd C. Miller  <Todd.Miller@courtesan.com>
25946
25947         * configure.in:
25948         now only define HAVE_LSEARCH if there is a corresponding search.h
25949         [8ce645c5d17f]
25950
25951         * interfaces.c:
25952         works on ISC again
25953         [ccac920d424c]
25954
25955 1995-12-18  Todd C. Miller  <Todd.Miller@courtesan.com>
25956
25957         * configure.in:
25958         now define HAVE_LSEARCH if we find lsearch() in libcompat
25959         [7343e4313a87]
25960
25961         * lsearch.c:
25962         char * -> const char *
25963         [1c0b11c2300a]
25964
25965         * configure.in:
25966         now looks in -lcompat for lsearch()
25967         [a1cc1d6fcd09]
25968
25969         * Makefile.in:
25970         remove sudo.core visudo.core for clan target
25971         [b523456a85df]
25972
25973         * aclocal.m4:
25974         added UID_MAX support in check for MAX_UID_T_LEN
25975         [7ab262b1173f]
25976
25977         * Makefile.in:
25978         fixed another occurence of sudo_getpwuid.*
25979         [fb5809c07da2]
25980
25981         * Makefile.in, getspwuid.c:
25982         sudo_getpwuid.c -> getspwuid.c
25983         [875f2ef808b4]
25984
25985         * configure.in:
25986         moved the "echo"
25987         [ad7b8f966076]
25988
25989         * BUGS, CHANGES, INSTALL, Makefile.in, OPTIONS, README, check.c,
25990         compat.h, config.h.in, configure.in, find_path.c, getspwuid.c,
25991         getwd.c, goodpath.c, ins_2001.h, ins_classic.h, ins_csops.h,
25992         ins_goons.h, insults.h, interfaces.c, logging.c, options.h, parse.c,
25993         parse.lex, parse.yacc, pathnames.h.in, putenv.c, strdup.c, sudo.c,
25994         sudo.h, sudo_setenv.c, testsudoers.c, tgetpass.c, utime.c,
25995         version.h, visudo.c:
25996         ++version
25997         [ee57c6410ffa]
25998
25999         * testsudoers.c:
26000         added group support
26001         [54d8097df8bd]
26002
26003         * sample.sudoers:
26004         added group entry
26005         [50994d31fd49]
26006
26007         * sudoers.man:
26008         documented group support
26009         [0a16707f8fed]
26010
26011         * parse.c, parse.lex, parse.yacc, visudo.c:
26012         added group support
26013         [427218c879c8]
26014
26015 1995-12-15  Todd C. Miller  <Todd.Miller@courtesan.com>
26016
26017         * check.c:
26018         tkfile was too short and overflowed the kerberos realm
26019         [53823a1ff5af]
26020
26021 1995-12-11  Todd C. Miller  <Todd.Miller@courtesan.com>
26022
26023         * sudo.c:
26024         now copy command args directly from Argv
26025         [77408278b6fd]
26026
26027         * sudo.c:
26028         replaced code to copy cmnd_args so that is does not use realloc
26029         since most realloc()'s really stink
26030         [b29a0ff73fb6]
26031
26032 1995-12-08  Todd C. Miller  <Todd.Miller@courtesan.com>
26033
26034         * configure.in:
26035         syslog() fixed in hpux 10.01
26036         [2648e6f0cdb0]
26037
26038 1995-12-06  Todd C. Miller  <Todd.Miller@courtesan.com>
26039
26040         * configure.in:
26041         AC_CHECK_LIB() now sets SUDO_LIBS (and VISUDO_LIBS if appropriate)
26042         [8f108b8d8711]
26043
26044         * configure.in:
26045         better error if cannot find skey incs or libs
26046         [5887662ee9d3]
26047
26048         * aclocal.m4:
26049         now use a temp file for determining max len of uid_t in string form.
26050         the old hacky way broke on netbsd
26051         [b68f470fa9f8]
26052
26053         * sudo.c:
26054         added set of parens and a space
26055         [8a3d4826d022]
26056
26057 1995-12-05  Todd C. Miller  <Todd.Miller@courtesan.com>
26058
26059         * dce_pwent.c:
26060         fixes from Jeff Earickson <jaearick@colby.edu> ,
26061         [bde0f0b756ec]
26062
26063         * check.c:
26064         modified a comment
26065         [e2a97f1afbbe]
26066
26067         * Makefile.in:
26068         fixed up testsudoers target
26069         [d39c4e7bb609]
26070
26071         * configure.in:
26072         DCE changes from Jeff Earickson <jaearick@colby.edu> LIBS ->
26073         SUDO_LIBS and VISUDO_LIBS LDFLAGS -> SUDO_FDFLAGS and VISUDO_LDFLAGS
26074         [da7a1c433828]
26075
26076         * Makefile.in:
26077         LIBS -> SUDO_LIBS , VISUDO_LIBS LDFLAGS -> SUDO_LDFLAGS,
26078         VISUDO_LDFLAGS
26079         [4b69503e8487]
26080
26081 1995-11-28  Todd C. Miller  <Todd.Miller@courtesan.com>
26082
26083         * configure.in:
26084         fix for C2 on hpux 10 now uses -linet if it exists
26085         [8d300112263d]
26086
26087         * check.c:
26088         LONG_SKEY_PROMPT is less of a klusge /
26089         [dcc144abaac3]
26090
26091         * configure.in:
26092         fixed typos w/ dce stuff
26093         [f7dfd6d4e149]
26094
26095         * Makefile.in:
26096         added dce_pwent.c
26097         [79047acdc516]
26098
26099 1995-11-26  Todd C. Miller  <Todd.Miller@courtesan.com>
26100
26101         * INSTALL:
26102         amended section on combining authentication mechanisms
26103         [dc5138c7c716]
26104
26105         * PORTING:
26106         minor updates for 1.3.6
26107         [fe80c13bd994]
26108
26109         * TROUBLESHOOTING:
26110         added 2 more entries
26111         [c7201439a0f5]
26112
26113         * BUGS:
26114         updated for 1.3.6
26115         [979b414d2a2d]
26116
26117         * README:
26118         overhauled
26119         [3af8b60eb594]
26120
26121         * INSTALL:
26122         rewrote for sudo 1.3.6
26123         [b16027b9c726]
26124
26125         * TROUBLESHOOTING:
26126         added 3 entries
26127         [934c9ee3f153]
26128
26129 1995-11-25  Todd C. Miller  <Todd.Miller@courtesan.com>
26130
26131         * find_path.c, getspwuid.c, sudo.c:
26132         added explict casts for strdup since many includes don't prototype
26133         it. gag me.
26134         [3e19a11f2fcc]
26135
26136         * sudo.h:
26137         removed prototype for sudo_getpwuid() since convex C compiler choked
26138         on it.
26139         [c3ea74ca67b0]
26140
26141         * sudo.c:
26142         added prototype for sudo_getpwuid()
26143         [4a8e3cdc2b98]
26144
26145         * lsearch.c:
26146         now compiles on strict ANSI compilers
26147         [3ce5d72d0b08]
26148
26149         * check.c:
26150         added LONG_SKEY_PROMPT support
26151         [48a18b8a2332]
26152
26153         * Makefile.in:
26154         added extra $'s for make to eat up, yum.
26155         [2995b214e12b]
26156
26157         * OPTIONS, options.h:
26158         added LONG_SKEY_PROMPT
26159         [f23ae799b5a4]
26160
26161 1995-11-24  Todd C. Miller  <Todd.Miller@courtesan.com>
26162
26163         * check.c:
26164         s/key support now works with normal s/key as well as logdaemon
26165         [d67573f523bf]
26166
26167         * OPTIONS, options.h:
26168         added SKEY_ONLY
26169         [bbf07654e0de]
26170
26171         * compat.h:
26172         set _PASSWD_LEN to 256 for any of KERB4, DCE, SKEY
26173         [205895b96a36]
26174
26175         * INSTALL:
26176         added DCE note added more AIX notes
26177         [6345403b3522]
26178
26179         * sudo.c:
26180         now include pthread.h for DCE support
26181         [6fe02865f679]
26182
26183         * check.c:
26184         dce_pwent() is ok after all .,
26185         [d26a8746a55d]
26186
26187         * logging.c:
26188         now uses SYSLOG() macro that equates to either syslog() or
26189         syslog_wrapper
26190         [42ac4cff8045]
26191
26192         * dce_pwent.c:
26193         minor formatting changes. renamed check() to somthing less generic
26194         [71859f217be1]
26195
26196         * check.c, logging.c, parse.yacc, sudo.c, sudo.h, testsudoers.c,
26197         visudo.c:
26198         now uses user_pw_ent and simple macros to get at the contents
26199         [f4cbf3e7145a]
26200
26201 1995-11-23  Todd C. Miller  <Todd.Miller@courtesan.com>
26202
26203         * check.c:
26204         simpler dec unix C2 support
26205         [86bc8f75250e]
26206
26207         * getspwuid.c:
26208         now sets crypt_type for DEC unix C2
26209         [99aeadd18266]
26210
26211 1995-11-21  Todd C. Miller  <Todd.Miller@courtesan.com>
26212
26213         * configure.in:
26214         added csops paths for skey
26215         [b8ca672e2117]
26216
26217         * getspwuid.c:
26218         now includes string.h for strdup() prototype
26219         [3605259c3620]
26220
26221         * getspwuid.c:
26222         fixed a few typos
26223         [46c97e4ea417]
26224
26225         * check.c:
26226         now includes skey.h
26227         [11e611ce1b61]
26228
26229         * getspwuid.c:
26230         fixed up comments
26231         [223dac56f0c8]
26232
26233         * check.c:
26234         moved a lot of the shadow passwd crap to sudo_getpwuid()
26235         [97d8887fb7d3]
26236
26237         * sudo.c:
26238         now uses sudo_pw_ent
26239         [d014dadbef48]
26240
26241         * testsudoers.c:
26242         now uses sudo_pw_ent
26243         [d92936ed7e34]
26244
26245         * visudo.c:
26246         now sets sudo_pw_ent
26247         [ff75cdfcf8b3]
26248
26249         * getspwuid.c:
26250         Initial revision
26251         [6deb6df9d7bc]
26252
26253         * tgetpass.c:
26254         moved dce stuff into compat.h
26255         [1124284396e7]
26256
26257         * logging.c, sudo.h:
26258         now uses sudo_pw_ent
26259         [404ff20a5067]
26260
26261         * Makefile.in:
26262         added sudo_getpwuid.c
26263         [6666d0644512]
26264
26265         * compat.h:
26266         added dce support
26267         [3c3b36a7ce0e]
26268
26269         * parse.yacc:
26270         now uses sudo_pw_ent
26271         [9f5e8d11bd68]
26272
26273 1995-11-20  Todd C. Miller  <Todd.Miller@courtesan.com>
26274
26275         * check.c:
26276         fixed exempt_group stuff for OS's that don't put base gid in group
26277         vector
26278         [003f153bd396]
26279
26280         * check.c:
26281         S/Key support now works with sunos4 shadow passwords
26282         [1eb64a5efff1]
26283
26284         * Makefile.in:
26285         fixed clean rule
26286         [5695a2c62816]
26287
26288         * config.h.in, configure.in:
26289         added DCE support
26290         [f53c766c1947]
26291
26292         * tgetpass.c:
26293         DCE & KERB support
26294         [904cf436506a]
26295
26296         * check.c:
26297         first stab at dce support
26298         [aea5ca07b1e3]
26299
26300         * dce_pwent.c:
26301         now smells like sudo
26302         [8b3d609b49cd]
26303
26304         * dce_pwent.c:
26305         Initial revision
26306         [b573555f2399]
26307
26308         * check.c:
26309         skey'd sudo now works w/ normal password as well
26310         [8d038f9f6e94]
26311
26312 1995-11-19  Todd C. Miller  <Todd.Miller@courtesan.com>
26313
26314         * Makefile.in, OPTIONS, check.c, compat.h, config.h.in, find_path.c,
26315         getwd.c, goodpath.c, ins_2001.h, ins_classic.h, ins_csops.h,
26316         ins_goons.h, insults.h, interfaces.c, logging.c, options.h, parse.c,
26317         parse.lex, parse.yacc, pathnames.h.in, putenv.c, strdup.c, sudo.c,
26318         sudo.h, sudo_setenv.c, testsudoers.c, tgetpass.c, utime.c,
26319         version.h, visudo.c:
26320         updated version number
26321         [ba7e346d7904]
26322
26323         * README:
26324         updated to reflect version change
26325         [1d15cf1d8cc8]
26326
26327         * configure.in:
26328         --with options now line up ++version
26329         [08ebf625fbca]
26330
26331         * sudo.h:
26332         removed unecesary S/Key stuff
26333         [68188cba90af]
26334
26335         * configure.in:
26336         fixed S/Key support
26337         [f6d9cbc36618]
26338
26339         * Makefile.in:
26340         -I stuff now goes in CPPFLAGS
26341         [7b8e53c5b046]
26342
26343         * check.c:
26344         fixed SKey support
26345         [52c1a5cf4435]
26346
26347         * README:
26348         updated version
26349         [bed6498a10bb]
26350
26351         * OPTIONS:
26352         fixed description of EXEMPTGROUP
26353         [cfeead55edc2]
26354
26355         * sudo.c:
26356         more people use _RLD_ than just alphas...
26357         [6a3c7090a6f6]
26358
26359         * Makefile.in:
26360         replaced $man_prefix with $mandir
26361         [dc4b36a550e2]
26362
26363         * configure.in:
26364         fixed a typo
26365         [a38a4acddcaf]
26366
26367         * Makefile.in:
26368         now use more GNU'ish dir names
26369         [c5498391a520]
26370
26371         * configure.in:
26372         now set *dir correctly (can override from command line)
26373         [523ff98fd438]
26374
26375         * sudo.c:
26376         now deal with situations where we getwd() fails
26377         [88a9e61dccbb]
26378
26379 1995-11-17  Todd C. Miller  <Todd.Miller@courtesan.com>
26380
26381         * Makefile.in:
26382         added etc_dir, bin_dir, sbin_dir
26383         [75fd08d92842]
26384
26385         * configure.in:
26386         added sbin_dir
26387         [3cb318c0d8d1]
26388
26389         * Makefile.in:
26390         now ship a flex-generated lex.yy.c
26391         [4d083ed70dce]
26392
26393         * Makefile.in:
26394         now sets _PATH_SUDO_SUDOERS, _PATH_SUDO_STMP, SUDOERS_OWNER
26395         [4d51dc9c3780]
26396
26397         * pathnames.h.in:
26398         _PATH_SUDO_SUDOERS & _PATH_SUDO_STMP are now overridden via Makefile
26399         [773fd163d52f]
26400
26401         * options.h:
26402         no more error for redefining SUDOERS_OWNER
26403         [4ba336644c6a]
26404
26405         * OPTIONS:
26406         expanded SUDOERS_OWNER section
26407         [12fae405759e]
26408
26409 1995-11-16  Todd C. Miller  <Todd.Miller@courtesan.com>
26410
26411         * visudo.c:
26412         now warn if chown(2) failed
26413         [d0d1db6e3a1f]
26414
26415         * logging.c:
26416         better default warning for NO_SUDOERS_FILE
26417         [5260b458ac64]
26418
26419         * sudo.c:
26420         added missing set_perms() no more cryptic message if the sudoers
26421         file is zero length, now just give a parse error
26422         [b81ea724838a]
26423
26424         * logging.c:
26425         better diagnostics if NO_SUDOERS_FILE
26426         [877e878663c5]
26427
26428         * sudo.c:
26429         check_sudoers() now catches sudoers files that are not readable (but
26430         are stat'able).
26431         [fea05663b3de]
26432
26433 1995-11-13  Todd C. Miller  <Todd.Miller@courtesan.com>
26434
26435         * configure.in:
26436         now add -D__STDC__ for convex cc (not gcc)
26437         [c80fc53ff51b]
26438
26439         * configure.in:
26440         MAN_PREFIX -> man_prefix now sets prefix and exec_prefix
26441         [fe238226a057]
26442
26443         * Makefile.in:
26444         now uses exec_prefix & prefix from configure
26445         [f62fca5f56bd]
26446
26447         * find_path.c, getwd.c, goodpath.c, interfaces.c, logging.c, parse.c,
26448         parse.lex, parse.yacc, sudo.c, sudo.h, sudo_setenv.c, tgetpass.c,
26449         utime.c, visudo.c:
26450         options.h is now <> instead of "" so shadow build trees can have a
26451         custom copy of options.h
26452         [e6782676099c]
26453
26454         * check.c:
26455         user_is_exempt() is no longer a hack, it now uses getgrnam()
26456         [287f8d5356f7]
26457
26458         * options.h:
26459         EXEMPTGROUP is now "sudo"
26460         [61487304dbe1]
26461
26462         * configure.in:
26463         MAN_POSTINSTALL now contains a leading space
26464         [eaad4ac34012]
26465
26466         * Makefile.in:
26467         removed leading tab if @MAN_POSTINSTALL@ not defined now removes
26468         testsudoers in clean:
26469         [e01711baceb8]
26470
26471         * tgetpass.c:
26472         includes pwd.h to get _PASSWD_LEN definition
26473         [8ec174f263f1]
26474
26475 1995-10-30  Todd C. Miller  <Todd.Miller@courtesan.com>
26476
26477         * sudo.c:
26478         unset the KRB_CONF envariable if using kerberos so we don't get
26479         spoofed into using a bogus server
26480         [2561a0274fca]
26481
26482 1995-09-29  Todd C. Miller  <Todd.Miller@courtesan.com>
26483
26484         * parse.yacc:
26485         now explicately initialize match[] tp be FALSE
26486         [0e45e5c47766]
26487
26488 1995-09-23  Todd C. Miller  <Todd.Miller@courtesan.com>
26489
26490         * sudo.c:
26491         removed unused variable now passes -Wall
26492         [3452508bc16d]
26493
26494         * parse.yacc:
26495         yyerror and dumpaliases are now void's now passes -Wall
26496         [2769dfb51993]
26497
26498         * parse.lex:
26499         added prototype for yyerror
26500         [1f3f0c1b4ab4]
26501
26502         * check.c, logging.c, parse.c:
26503         now passes -Wall
26504         [eab57e5e81d2]
26505
26506         * interfaces.c:
26507         rmeoved unused cruft now passes -Wall
26508         [7a47e1866f4b]
26509
26510         * Makefile.in:
26511         fixed headers that moved to emul dir
26512         [e680c1e5049b]
26513
26514         * logging.c:
26515         fixed deref of nil pointer if no args
26516         [973b9bea432f]
26517
26518 1995-09-15  Todd C. Miller  <Todd.Miller@courtesan.com>
26519
26520         * OPTIONS:
26521         added a caveat to FQDN section
26522         [dcf6e2a5fff4]
26523
26524 1995-09-13  Todd C. Miller  <Todd.Miller@courtesan.com>
26525
26526         * Makefile.in:
26527         more $srcdir support for install targets
26528         [f6eac78436dd]
26529
26530         * find_path.c, interfaces.c, parse.c, parse.lex, parse.yacc, putenv.c,
26531         strdup.c, sudo.c, sudo_setenv.c, testsudoers.c, visudo.c:
26532         don't include malloc.h if we include stdlib.h
26533         [fca2ff307cd8]
26534
26535         * parse.yacc:
26536         local search.h now lives in emul
26537         [51c458904424]
26538
26539         * check.c, utime.c:
26540         local utime.h now lives in emul dir
26541         [f92fc9e8c8de]
26542
26543         * lsearch.c:
26544         local search.h now lives in emul
26545         [579efc407439]
26546
26547         * Makefile.in:
26548         added support for building in other than the sourcedir
26549         [2ab53a43f7d4]
26550
26551 1995-09-10  Todd C. Miller  <Todd.Miller@courtesan.com>
26552
26553         * OPTIONS:
26554         annotated CSOPS_INSULTS option
26555         [9e57d45a0afa]
26556
26557         * TROUBLESHOOTING:
26558         updated shadow passwords blurb
26559         [39b785bc7253]
26560
26561         * sudo.c:
26562         if SHELL_IF_NO_ARGS is set, "sudo -- foo" now runs a shell and
26563         passes along foo as the arguments
26564         [a91077aa8fc5]
26565
26566 1995-09-09  Todd C. Miller  <Todd.Miller@courtesan.com>
26567
26568         * parse.lex:
26569         collapsed pathname and dir sections into one -- its now less
26570         expensive
26571         [89caa03bec25]
26572
26573         * parse.lex:
26574         fixed spacing quoting [,:\\=] now works correctly append() and
26575         fill() now take args to make the above work
26576         [09d023d9ef3a]
26577
26578         * sudo.c:
26579         fixed a typo that caused commands with no tty on fd 0 but a tty on
26580         fd 1 to erroneously have "none" as their tty
26581         [07d2c0e7977c]
26582
26583 1995-09-04  Todd C. Miller  <Todd.Miller@courtesan.com>
26584
26585         * check.c:
26586         timestampfile is now a global static removed decl of timestampfile
26587         in remove_timestamp since we can just use the global one
26588         [f0cbdc6aab1c]
26589
26590         * check.c:
26591         created touch() to update timestamps added USE_TTY_TICKETS support
26592         (bit of a kludge)
26593         [cee1dd0318f8]
26594
26595         * compat.h:
26596         added _S_IFDIR and S_ISDIR
26597         [b4a51cc9628e]
26598
26599         * OPTIONS, options.h:
26600         added USE_TTY_TICKETS
26601         [b4e22f81f25e]
26602
26603         * parse.yacc:
26604         removed const from casts for lsearch() & lfind() to placate irix 4.x
26605         C compiler
26606         [5003081f76ea]
26607
26608 1995-09-03  Todd C. Miller  <Todd.Miller@courtesan.com>
26609
26610         * sudo.c:
26611         now only strip '/dev/' off of a tty if it starts with '/dev/'
26612         [7f62bcd24039]
26613
26614         * pathnames.h.in:
26615         added _PATH_DEV
26616         [6375f44d1910]
26617
26618         * configure.in:
26619         AC_HAVE_HEADERS -> AC_CHECK_HEADERS now check for tcgetattr only if
26620         have termios.h
26621         [9c60391235fd]
26622
26623         * tgetpass.c:
26624         fixed incorrect #ifdef termio uses "unsigned short" not int for
26625         c_?flag
26626         [d032e6a29845]
26627
26628         * parse.lex, parse.yacc:
26629         fixed a spelling error
26630         [cad6a944c7b1]
26631
26632         * Makefile.in:
26633         fixed typo
26634         [204a65403e7c]
26635
26636 1995-09-02  Todd C. Miller  <Todd.Miller@courtesan.com>
26637
26638         * Makefile.in:
26639         fixed a comment
26640         [268f760e57ad]
26641
26642         * parse.yacc:
26643         added dotcat() to cat 2 strings w/ a dot effeciently now that we
26644         dynamically allocate strings they need to be free()'d
26645         [ec2e2152f415]
26646
26647         * parse.lex:
26648         dynamically allocates space for strings
26649         [d10ac3533d66]
26650
26651         * sudo.h:
26652         no more MAXCOMMANDLENGTH
26653         [e2e1219bff8a]
26654
26655         * sudo.h:
26656         added decl of tty
26657         [c8ae81303ee5]
26658
26659         * logging.c, sudo.c:
26660         moved tty stuff into sudo.c
26661         [e028abefeb07]
26662
26663 1995-09-01  Todd C. Miller  <Todd.Miller@courtesan.com>
26664
26665         * parse.c:
26666         fixed a logic bug. Was denying a command if user gave command line
26667         args but there were none in the sudoers file which is wrong.
26668         [7489a99b8e8a]
26669
26670         * sudo.h:
26671         MAXCOMMMANDLEN dropped down to 1K
26672         [38ef54ba290b]
26673
26674         * parse.lex:
26675         return foo; -> return(foo);
26676         [0e8be1b57001]
26677
26678         * parse.yacc:
26679         fixed netgr_matches() prototype
26680         [e69f15910464]
26681
26682         * parse.lex:
26683         added support for escaping "termination" characters
26684         [8bd4ef50f35c]
26685
26686         * parse.c:
26687         buf is now of size MAXPATHLEN+1 since it never holds command args
26688         [2ce4b763058c]
26689
26690         * sudo.c:
26691         fixed comments
26692         [0c74a3d2ebb0]
26693
26694         * goodpath.c:
26695         fixed negation problem (doh!)
26696         [782814e3a2d1]
26697
26698         * parse.yacc:
26699         fixed 2nd parameter to lfind()
26700         [63d7b1623c08]
26701
26702         * parse.lex:
26703         now do bounds checking in fill() and append()
26704         [54381b563251]
26705
26706         * sudo.c:
26707         include netdb.h as we should added a missing void cast added
26708         SHELL_IF_NO_ARGS support now use realloc() properly. would fail if
26709         realloc actually moved the string instead of shrinking it
26710         [897ccdec9c06]
26711
26712         * sample.sudoers:
26713         updated with examples of new features
26714         [9b3ed00e8aa6]
26715
26716         * goodpath.c:
26717         now set errno to EACCES if not a regular file or not executable
26718         [2d069548a5ea]
26719
26720         * find_path.c:
26721         if given a fully-qualified or relative path we now check it with
26722         sudo_goodpath() and error out with the appropriate error message if
26723         the file does not exist or is not executable
26724         [590f89dd8dec]
26725
26726         * emul/search.h, lsearch.c:
26727         now use correct args for lfind
26728         [fccdcdbf020e]
26729
26730         * logging.c:
26731         added a comment
26732         [fab9f49708ea]
26733
26734         * insults.h:
26735         added in CSOps insults
26736         [ad8eb1862adc]
26737
26738         * ins_csops.h:
26739         Initial revision
26740         [de5a475ec018]
26741
26742         * tgetpass.c:
26743         added RCS id
26744         [c3ffd550a482]
26745
26746         * sudo.h:
26747         increased MAXCOMMANDLENGTH to 8k HAVE_GETCWD -> HAVE_GETWD
26748         [aba25c90d08a]
26749
26750         * OPTIONS:
26751         added CLASSIC_INSULTS, CSOPS_INSULTS, SHELL_IF_NO_ARGS
26752         [e27bd62e9ccf]
26753
26754         * sudo.c:
26755         fixed -k load_interfaces() now gets called if FQDN is set
26756         -p now works with -s
26757         [07ca2a34bae8]
26758
26759         * parse.c:
26760         don't try to stat() "pseudo commands" like "validate"
26761         [75527045984b]
26762
26763         * options.h:
26764         added CLASSIC_INSULTS added CSOPS_INSULTS added SHELL_IF_NO_ARGS
26765         [07b157a0eafd]
26766
26767         * configure.in:
26768         added SecurID support added other insults to --with-csops
26769         [6c992ceb244c]
26770
26771         * config.h.in:
26772         added HAVE_SECURID
26773         [e734ff617fe8]
26774
26775         * Makefile.in:
26776         added clobber target added ins_csops.h now gets CFLAGS from
26777         configure
26778         [d1e29c7cec25]
26779
26780         * aclocal.m4:
26781         relaxed SUDO_FULL_VOID
26782         [fb4084f27406]
26783
26784         * visudo.c:
26785         function comment blocks are now in same style as rest of code
26786         [04a2931354c5]
26787
26788         * testsudoers.c:
26789         added support for command line args in /etc/sudoers
26790         [bfe4e1bcc655]
26791
26792         * sudoers.man:
26793         updated to have command args in the sudoers file
26794         [1cd34355e9ea]
26795
26796         * sudo.man:
26797         added -s and -- flags added SHELL to ENVIRONMENT VARIABLES section
26798         [930b48023b68]
26799
26800 1995-08-19  Todd C. Miller  <Todd.Miller@courtesan.com>
26801
26802         * parse.yacc:
26803         PATH renamed to COMMAND
26804         [4e109a6de3cd]
26805
26806         * parse.lex:
26807         it is now a parse error for directories to have args attached to
26808         them
26809         [2ab10a146b54]
26810
26811         * logging.c:
26812         now say command args if telling user to buzz off
26813         [933de26ded8b]
26814
26815         * sudo.c:
26816         -s no longer indicates end of args sped up loading on cmnd_args in
26817         load_cmnd()
26818         [eac99a4da862]
26819
26820         * parse.c:
26821         removed an unreachable statement
26822         [634302623c49]
26823
26824         * parse.lex:
26825         made more efficient by pulling out the terminators when in GOTCMND
26826         state and making them their own rule
26827         [80798f1e1166]
26828
26829 1995-08-14  Todd C. Miller  <Todd.Miller@courtesan.com>
26830
26831         * sudo.h:
26832         removed MAXLOGLEN since it is no longer used
26833         [102824196b71]
26834
26835         * parse.lex:
26836         now allows command args
26837         [d29dfa1e5254]
26838
26839         * parse.c:
26840         now groks command arguments
26841         [6c414cb7f105]
26842
26843         * logging.c:
26844         now sets tty correctly when piped input
26845         [de46a30c0406]
26846
26847         * sudo.c:
26848         fixed loading of cmnd_args (was including command name too)
26849         [15319a425ea6]
26850
26851         * logging.c:
26852         fixed a core dump due to incorrect if construct
26853         [582363c7d7fa]
26854
26855 1995-08-13  Todd C. Miller  <Todd.Miller@courtesan.com>
26856
26857         * configure.in:
26858         only add -lsun is irix < 5 don't look for -lnsl or -lsocket if irix
26859         [da591fe9b931]
26860
26861         * aclocal.m4:
26862         fixed check for ISC
26863         [52e59f2082a7]
26864
26865         * sudo.c:
26866         now sets cmnd_args used by log_error() and that will be used by the
26867         parse to check against command args
26868         [c6804389723b]
26869
26870         * sudo.h:
26871         added cmnd_args
26872         [4d00446b4a8d]
26873
26874         * logging.c:
26875         now dynamically allocate logline since we can guess at its size
26876         [4bed8c8446aa]
26877
26878 1995-08-05  Todd C. Miller  <Todd.Miller@courtesan.com>
26879
26880         * logging.c:
26881         cleaned up a bunch of unnecesary #ifdef's eliminated a buffer remove
26882         "register" since the compiler knows more than I do now do a
26883         "basename" of the tty
26884         [3b1bbf0b3da1]
26885
26886 1995-07-31  Todd C. Miller  <Todd.Miller@courtesan.com>
26887
26888         * configure.in:
26889         ++version
26890         [5ce552f9a5f1]
26891
26892         * sudo.h:
26893         added shell extern changed MODE_* to be bit masks to allow for
26894         several options together
26895         [06f9dc4f400c]
26896
26897         * sudo.c:
26898         added -s (shell) option made MODE_* masks so we can do bitwise & and
26899         | to see if multiple flags are set.
26900         [01f8143010ad]
26901
26902         * check.c:
26903         added securid support
26904         [909e078005fe]
26905
26906 1995-07-30  Todd C. Miller  <Todd.Miller@courtesan.com>
26907
26908         * logging.c:
26909         removed a bunch of unnecesary strncpy()'s and replaced with strcat()
26910         [644506b57d61]
26911
26912 1995-07-29  Todd C. Miller  <Todd.Miller@courtesan.com>
26913
26914         * Makefile.in, version.h:
26915         ++version
26916         [3cd6f1fbc3d9]
26917
26918 1995-07-27  Todd C. Miller  <Todd.Miller@courtesan.com>
26919
26920         * parse.yacc:
26921         fixed free() of an uninitialized pointer (yuck)
26922         [8c404ee502ee]
26923
26924         * testsudoers.c:
26925         added netgr_matches
26926         [e7c9fa2f774c]
26927
26928         * parse.c:
26929         cleaned up netgr_matches
26930         [8108f00b810e]
26931
26932 1995-07-26  Todd C. Miller  <Todd.Miller@courtesan.com>
26933
26934         * RUNSON:
26935         updated for 1.3.4
26936         [4741704310a1]
26937
26938 1995-07-25  Todd C. Miller  <Todd.Miller@courtesan.com>
26939
26940         * Makefile.in:
26941         now installs sudoers.man -- really should clean this up though.
26942         [455631d45a1d]
26943
26944         * Makefile.in:
26945         added sudoers.cat and sudoers.man
26946         [0bdedd6c7363]
26947
26948         * sudo.man:
26949         pulled out stuff on the sudoers file format into a separate man page
26950         [de215d999cb9]
26951
26952         * sudoers.man:
26953         Initial revision
26954         [f25eafbb7095]
26955
26956         * HISTORY:
26957         fixed up my email address
26958         [254fbf80be74]
26959
26960         * configure.in:
26961         added checks for innetgr and getdomainname
26962         [24a99cb7e97e]
26963
26964         * visudo.c:
26965         added dummy netgr_matches function
26966         [1841ff2c01da]
26967
26968         * parse.c:
26969         added netgr_matches
26970         [ec90db6a97b8]
26971
26972         * parse.lex, parse.yacc:
26973         added NETGROUP support
26974         [c9dd93e3bc4b]
26975
26976         * config.h.in:
26977         added HAVE_INNETGR & HAVE_GETDOMAINNAME
26978         [14abd494d875]
26979
26980 1995-07-24  Todd C. Miller  <Todd.Miller@courtesan.com>
26981
26982         * sudo.c:
26983         rewrote clean_env() that has rm_env() builtin
26984         [55cb43818a95]
26985
26986 1995-07-23  Todd C. Miller  <Todd.Miller@courtesan.com>
26987
26988         * check.c:
26989         now cast uid to long in sprintf
26990         [b549eea40aeb]
26991
26992         * OPTIONS:
26993         added _INSULTS suffix to HAL & GOONS end
26994         [ed620d0aad30]
26995
26996         * options.h:
26997         added _INSULTS suffix to HAL & GOONS
26998         [9f72e9b83afd]
26999
27000         * ins_2001.h, ins_classic.h, ins_goons.h, insults.h:
27001         converted to new scheme of insult "unions" end
27002         [2f6d2b412132]
27003
27004         * sudo.c:
27005         now uses MAX_UID_T_LEN
27006         [c1df79e0f389]
27007
27008         * configure.in:
27009         added SUDO_UID_T_LEN !l
27010         [195f0b9f5f84]
27011
27012         * config.h.in:
27013         added MAX_UID_T_LEN
27014         [73f42ae4f14d]
27015
27016         * check.c:
27017         now use MAX_UID_T_LEN
27018         [df9c063234cb]
27019
27020         * aclocal.m4:
27021         added check for max len of uid_t fixed sco vs. isc check
27022         [d558f36d2223]
27023
27024 1995-07-19  Todd C. Miller  <Todd.Miller@courtesan.com>
27025
27026         * configure.in:
27027         corrected version
27028         [828dd1571e86]
27029
27030         * configure.in:
27031         added sco support
27032         [af1e2f616638]
27033
27034         * aclocal.m4:
27035         hack to check for sco
27036         [549ab99a9a43]
27037
27038         * interfaces.c:
27039         removed #include <net/route.h> since it was hosing some OS's
27040         [ac78a7c04005]
27041
27042 1995-07-18  Todd C. Miller  <Todd.Miller@courtesan.com>
27043
27044         * find_path.c:
27045         fixed prreadlink() prototype
27046         [b380fe1f2b11]
27047
27048         * check.c:
27049         added parens in #if's
27050         [e96ade691b82]
27051
27052         * configure.in:
27053         added SPW_ prefix
27054         [a302683a1483]
27055
27056         * sudo.h:
27057         moved SPW_* to config.h.in
27058         [6b3be70e34cf]
27059
27060         * sudo.c:
27061         added a set of parens
27062         [8188d735d695]
27063
27064         * config.h.in:
27065         added SPW_*
27066         [5ead6371cf60]
27067
27068         * sudo.h:
27069         added SPW_* reordered error codes
27070         [dead25b4ed0a]
27071
27072         * check.c:
27073         moved SPW_* to sudo.h
27074         [ca51fb04caf4]
27075
27076 1995-07-17  Todd C. Miller  <Todd.Miller@courtesan.com>
27077
27078         * sudo.c:
27079         SPW_AUTH -> SPW_SECUREWARE
27080         [6b512b2bc5dc]
27081
27082         * logging.c:
27083         GLOBAL_NO_AUTH_ENT -> GLOBAL_NO_SPW_ENT
27084         [defdd0944e2f]
27085
27086         * configure.in:
27087         AUTH -> SECUREWARE
27088         [d1f8a17001dd]
27089
27090         * check.c:
27091         SPW_AUTH -> SPW_SECUREWARE
27092         [af0e8d8b89b2]
27093
27094         * check.c:
27095         now uses SHADOW_TYPE to make shadow pw support more readable and
27096         modular. It's a start...
27097         [8c2a59667014]
27098
27099         * configure.in:
27100         added autodetection of shadow passwords
27101         [85f81fa54b1b]
27102
27103         * sudo.c:
27104         now uses SHADOW_TYPE define
27105         [355e5dc09b07]
27106
27107         * config.h.in:
27108         added SHADOW_TYPE which replaces SUNOS4 & __svr4__ defines
27109         [c0c06e83e483]
27110
27111         * aclocal.m4:
27112         added SUDO_CHECK_SHADOW
27113         [464301301639]
27114
27115 1995-07-12  Todd C. Miller  <Todd.Miller@courtesan.com>
27116
27117         * configure.in:
27118         define SVR4 for ISC define BROKEN_SYSLOG for hpux took out test for
27119         memmove() since we dno longer use it...
27120         [8aefa87d7d31]
27121
27122         * CHANGES:
27123         updated
27124         [ce97b3fd7182]
27125
27126         * logging.c:
27127         added BROKEN_SYSLOG support
27128         [a45c3bca36f6]
27129
27130         * config.h.in:
27131         added BROKEN_SYSLOG
27132         [6f6abf0a6268]
27133
27134         * check.c:
27135         now only bitch it timestamp > time_now + 2 * timeout to allow for a
27136         machine udpating its time from a server
27137         [546bc8d35325]
27138
27139         * sudo.man:
27140         added 2 security notes updated Nieusma's email addr
27141         [616756c56977]
27142
27143         * lsearch.c:
27144         changed a memmove() to memcpy() since we don't have to worry about
27145         overlapping segments.
27146         [30baa478526b]
27147
27148 1995-07-11  Todd C. Miller  <Todd.Miller@courtesan.com>
27149
27150         * interfaces.c:
27151         cleanup up the loop when interfaces are groped in so that it is
27152         readable
27153         [1fa39446bd69]
27154
27155         * Makefile.in, version.h:
27156         ++version
27157         [b46bd2b1770f]
27158
27159 1995-07-09  Todd C. Miller  <Todd.Miller@courtesan.com>
27160
27161         * CHANGES:
27162         annotated 124-126
27163         [b82a2b3ec7ce]
27164
27165 1995-07-07  Todd C. Miller  <Todd.Miller@courtesan.com>
27166
27167         * check.c:
27168         fixed permissions check on /tmp/.odus
27169         [cc2431a65468]
27170
27171 1995-07-06  Todd C. Miller  <Todd.Miller@courtesan.com>
27172
27173         * check.c:
27174         fixed some comments
27175         [8896d09b4fda]
27176
27177         * check.c:
27178         now checks owner & mode of timedir also checks for bogus dates on
27179         timestamp file
27180         [a0fad5df5b0a]
27181
27182         * OPTIONS:
27183         updated TIMEOUT info
27184         [033cc22d9e04]
27185
27186         * logging.c, sudo.h:
27187         added BAD_STAMPDIR and BAD_STAMPFILE
27188         [31d9ce691101]
27189
27190         * compat.h:
27191         added definition of S_IRWXU
27192         [ff2dab091a9b]
27193
27194         * CHANGES:
27195         updated
27196         [a40df90284f1]
27197
27198 1995-07-03  Todd C. Miller  <Todd.Miller@courtesan.com>
27199
27200         * interfaces.c:
27201         added #ifdef to make it compile on strange arches
27202         [4a127f12afce]
27203
27204 1995-07-02  Todd C. Miller  <Todd.Miller@courtesan.com>
27205
27206         * aclocal.m4:
27207         fixed check for fulkl void impl.
27208         [b6f2a4a361d8]
27209
27210         * check.c:
27211         added mssing "static"
27212         [520552f2772b]
27213
27214         * insults.h:
27215         replaced #elif with #else #if constructs for ancient C compilers
27216         [39ab2d365b57]
27217
27218         * INSTALL:
27219         updated irix c2 & kerb5 info
27220         [ae79b99b4905]
27221
27222         * configure.in:
27223         added shadow pw support for irix
27224         [632469d9c528]
27225
27226 1995-07-01  Todd C. Miller  <Todd.Miller@courtesan.com>
27227
27228         * BUGS, TODO:
27229         updated
27230         [2a96bb18ac30]
27231
27232         * CHANGES:
27233         last changes for sudo 1.3.3
27234         [c1c0cd1034b8]
27235
27236         * configure.in:
27237         now calls SUDO_SOCK_SA_LEN
27238         [14ea78159d45]
27239
27240         * config.h.in:
27241         added HAVE_SA_LEN
27242         [cc2a346aa905]
27243
27244         * aclocal.m4:
27245         added SUDO_SOCK_SA_LEN
27246         [456a2025644a]
27247
27248         * interfaces.c:
27249         now works with ip implementations that use sa_len in sockaddr
27250         [90be6e028077]
27251
27252         * INSTALL:
27253         added note about buggy AIX compiler
27254         [c0f6d427e4e4]
27255
27256         * interfaces.c:
27257         now include sys/time.h for AIX
27258         [2510858ab38b]
27259
27260 1995-06-28  Todd C. Miller  <Todd.Miller@courtesan.com>
27261
27262         * Makefile.in:
27263         getcwd -> getwd
27264         [66085ebca98e]
27265
27266         * interfaces.c:
27267         now works for ISC and others. yay.
27268         [f336d4ffc927]
27269
27270 1995-06-26  Todd C. Miller  <Todd.Miller@courtesan.com>
27271
27272         * Makefile.in, version.h:
27273         version++
27274         [836cffc2078d]
27275
27276 1995-06-23  Todd C. Miller  <Todd.Miller@courtesan.com>
27277
27278         * aclocal.m4:
27279         fixed test for full void impl
27280         [fb004107e7b9]
27281
27282         * sudo.c:
27283         now check to see that st_dev is non-zero before assuming that we are
27284         being spoofed
27285         [1b0e1c30c506]
27286
27287 1995-06-20  Todd C. Miller  <Todd.Miller@courtesan.com>
27288
27289         * aclocal.m4, configure.in:
27290         SUDO_FUNC_UTIME_NULL -> AC_FUNC_UTIME_NULL
27291         [4953379bfb01]
27292
27293 1995-06-19  Todd C. Miller  <Todd.Miller@courtesan.com>
27294
27295         * aclocal.m4:
27296         fixed include file order for SUDO_FUNC_UTIME_POSIX
27297         [ff64ab7df44f]
27298
27299         * logging.c:
27300         added cast for ttyname()
27301         [444f05f56758]
27302
27303         * configure.in:
27304         fixed typo
27305         [de068e748431]
27306
27307         * check.c:
27308         now deal correctly with all known variation of utime() -- yippe
27309         [b778a4195a89]
27310
27311         * configure.in:
27312         added SUDO_FUNC_UTIME_POSIX
27313         [cf635f2269d6]
27314
27315         * aclocal.m4:
27316         added SUDO_FUNC_UTIME_NULL and SUDO_FUNC_UTIME_POSIX
27317         [d79593be4b73]
27318
27319         * config.h.in:
27320         added HAVE_UTIME_POSIX
27321         [c67b4ac0dca5]
27322
27323         * check.c:
27324         fixed a typo
27325         [b14df5680f59]
27326
27327         * check.c:
27328         no longer assume !HAVE_UTIME_NULL means old BSD utime()
27329         [0aeaf4b2f38b]
27330
27331         * check.c:
27332         fixed fascist C compiler warning
27333         [c61ddf2f1f93]
27334
27335         * interfaces.c:
27336         now set strioctl.ic_timout in STRSET() now initialize num_interfaces
27337         to 0 (just to be anal)
27338         [c54cc2ba0052]
27339
27340 1995-06-18  Todd C. Miller  <Todd.Miller@courtesan.com>
27341
27342         * sudo.h:
27343         increaed MAXLOGLEN by MAXPATHLEN to account for ttyname
27344         [74cf585a54fb]
27345
27346         * logging.c:
27347         added tty logging
27348         [e27d8dcfbd78]
27349
27350         * interfaces.c:
27351         reworked the ISC code
27352         [bcf57ce8ae69]
27353
27354         * Makefile.in, version.h:
27355         updated version
27356         [032941c9b94d]
27357
27358         * check.c:
27359         now expect old-style utime(3) if utime() can't take NULL as an arg
27360         [018dd4a73030]
27361
27362         * configure.in:
27363         added check for utime.h
27364         [0b76e8feb618]
27365
27366         * config.h.in:
27367         added HAVE_UTIME_H
27368         [62ee42feda46]
27369
27370         * Makefile.in:
27371         added CPPFLAGS STATIC_FLAGS -> LDFLAGS
27372         [fa3201d294e1]
27373
27374         * configure.in:
27375         now search for kerb libs and includes
27376         [cc332401e571]
27377
27378         * check.c:
27379         added support for utime(2)'s that can't take a NULL parameter
27380         [98797fedf69f]
27381
27382         * utime.c:
27383         moved HAVE_UTIME_NULL stuff to update_timestamp() where t belongs
27384         [6ce6d825fb44]
27385
27386         * configure.in:
27387         added utime(s) stuff
27388         [a2afb744403e]
27389
27390         * check.c:
27391         now use utime()
27392         [48902240a51e]
27393
27394         * config.h.in:
27395         added HAVE_UTIME and HAVE_UTIME_NULL
27396         [9a56ab65d4f4]
27397
27398 1995-06-17  Todd C. Miller  <Todd.Miller@courtesan.com>
27399
27400         * utime.c:
27401         now use HAVE_UTIME_NULL
27402         [e3944de09a92]
27403
27404         * emul/utime.h, utime.c:
27405         Initial revision
27406         [a2cbf2ef3427]
27407
27408         * check.c:
27409         need to setuid(0) to make kerb4 stuff work.
27410         [c6cfda4039d7]
27411
27412         * tgetpass.c:
27413         no more special case for kerberos
27414         [4a5c33145be9]
27415
27416         * config.h.in:
27417         took out setreuid and setresuid stuff added kerb5 stuff (use kerb4
27418         emulation)
27419         [a607ee43e650]
27420
27421         * compat.h:
27422         no longer need setreuid() emulation now set _PASSWD_LEN to 128 if
27423         kerberos
27424         [02fb274cc136]
27425
27426         * check.c:
27427         now use private ticket file for kerberos support to avoid trouncing
27428         on system one
27429         [28d8b6b812c7]
27430
27431 1995-06-15  Todd C. Miller  <Todd.Miller@courtesan.com>
27432
27433         * sudo.h:
27434         added SPOOF_ATTEMPT & cmnd_st
27435         [d3b42a1f4d0d]
27436
27437         * sudo.c:
27438         added anti-spoofing support
27439         [ab1e2aa44a57]
27440
27441         * parse.c:
27442         now use global cmnd_st
27443         [47018265a1a6]
27444
27445         * logging.c:
27446         added SPOOF_ATTEMPT suypport
27447         [7bbe9dd2a021]
27448
27449         * testsudoers.c, visudo.c:
27450         added void casts where appropriate
27451         [f191441ba333]
27452
27453         * parse.yacc:
27454         fixed up spacing and added void casts where appropriate
27455         [15d886fc809c]
27456
27457         * sudo.c:
27458         fixed problem with "-p prompt" but no args
27459         [6fc048261a3e]
27460
27461 1995-06-14  Todd C. Miller  <Todd.Miller@courtesan.com>
27462
27463         * sudo.man:
27464         added BUGS and annotated -l description
27465         [e5c506de2603]
27466
27467         * sudo.h:
27468         validate() now takes a flag
27469         [26627becc60a]
27470
27471         * sudo.c:
27472         validate() now takes a flag added -l
27473         [a4f7bb97fe54]
27474
27475         * parse.yacc:
27476         added support for -l
27477         [e7a9b10b0ad3]
27478
27479         * parse.c:
27480         validate() now takes a flag that says whether or not to check the
27481         command
27482         [9e1e67f4e281]
27483
27484 1995-06-08  Todd C. Miller  <Todd.Miller@courtesan.com>
27485
27486         * logging.c:
27487         now deals with Argv == 1
27488         [0acb637ab635]
27489
27490         * sudo.man:
27491         added -p option
27492         [e60382fc0561]
27493
27494         * sudo.c:
27495         added prompt support reworked parse_args()
27496         [2f605267ed4a]
27497
27498         * sudo.h:
27499         added prompt
27500         [5ab021bdb419]
27501
27502         * options.h:
27503         added PASSPROMPT
27504         [614727ff44a2]
27505
27506         * check.c:
27507         now use BUFSIZ as length of kerb password added kpass so pass is
27508         always a char * now use prompt global when asking for a password
27509         [76be09af784f]
27510
27511         * tgetpass.c:
27512         now use BUFSIZ as _PASSWD_LEN if using kerberos
27513         [1e907eed312b]
27514
27515         * OPTIONS:
27516         added PASSPROMPT
27517         [ddb2f405ce40]
27518
27519 1995-06-07  Todd C. Miller  <Todd.Miller@courtesan.com>
27520
27521         * configure.in:
27522         only look for -lufc or -lcrypt if crypt() not in libc
27523         [9717d315661f]
27524
27525         * check.c:
27526         don't exit on kerb error, just warn if k_errno == KDC_PR_UNKNOWN
27527         (unknown user) silently fail
27528         [2b48693d4ee9]
27529
27530         * INSTALL:
27531         added kerb4 note
27532         [986e393f740c]
27533
27534         * tgetpass.c:
27535         HAVE_KERBEROS -> HAVE_KERB4
27536         [e438bfb5e6aa]
27537
27538         * check.c:
27539         removed debugging printf
27540         [1cf9f5cbffa5]
27541
27542         * configure.in:
27543         KERBEROS -> KERB4 added checks for setreuid & setresuid
27544         [01e9945beb1e]
27545
27546         * config.h.in:
27547         HAVE_KERBEROS -> HAVE_KERB4 added HAVE_SETREUID and HAVE_SETRESUID
27548         [0e0bb5b8ac3e]
27549
27550         * compat.h:
27551         added deif of UID_NO_CHANGE & GID_NO_CHANGE added setreuid emulation
27552         with setresuid if applic
27553         [9dae24c47696]
27554
27555         * check.c:
27556         HAVE_KERBEROS -> HAVE_KERB4 now only do the stupid chown() hack if
27557         no setreuid() or a broken one
27558         [1fca642bdb8e]
27559
27560 1995-06-06  Todd C. Miller  <Todd.Miller@courtesan.com>
27561
27562         * configure.in:
27563         added kerberos support
27564         [da5639b9b8e7]
27565
27566         * config.h.in:
27567         added HAVE_KERBEROS
27568         [fcc5be550e65]
27569
27570         * tgetpass.c:
27571         added KERBEROS support (long passwords)
27572         [303ba6924dd2]
27573
27574         * check.c:
27575         added kerberos support
27576         [e40afe98fc1d]
27577
27578 1995-06-03  Todd C. Miller  <Todd.Miller@courtesan.com>
27579
27580         * sudo.h:
27581         added MODE_BACKGROUND
27582         [9b483c932016]
27583
27584         * sudo.man:
27585         escaped dashes added -b option
27586         [62e84f1a7714]
27587
27588         * sudo.c:
27589         added -b option
27590         [7e78aaefeb95]
27591
27592         * check.c:
27593         added crypt() for osf/1 3.x enhanced secuiry
27594         [e9aa5abdb7d5]
27595
27596         * configure.in:
27597         now check for -lcrypt
27598         [5cb9c67e9fa2]
27599
27600         * interfaces.c:
27601         added ENXIO like EADDRNOTAVAIL
27602         [74223bb1ba75]
27603
27604 1995-05-08  Todd C. Miller  <Todd.Miller@courtesan.com>
27605
27606         * configure.in:
27607         now emulate getwd(), not getcwd()
27608         [3e5439d9a5f4]
27609
27610         * sudo.c:
27611         getcwd() -> getwd()
27612         [6392a96a658e]
27613
27614         * getwd.c:
27615         getcwd -> getwd
27616         [1b0ab9bae11e]
27617
27618 1995-05-02  Todd C. Miller  <Todd.Miller@courtesan.com>
27619
27620         * ins_2001.h, ins_classic.h, ins_goons.h:
27621         Initial revision
27622         [86db60d8cf00]
27623
27624         * insults.h:
27625         broke out insults into separate include files
27626         [0a01993bd38a]
27627
27628         * OPTIONS, options.h:
27629         added GOONS
27630         [e283203c6515]
27631
27632         * Makefile.in:
27633         added ins_2001.h ins_classic.h ins_goons.h
27634         [2a39cd6a4cd2]
27635
27636         * Makefile.in, version.h:
27637         ++version
27638         [05ebf4f5e41a]
27639
27640         * visudo.c:
27641         moved signal handler setup to setup_signals()
27642         [3dd976c04540]
27643
27644         * sudo.h:
27645         added load_interfaces()
27646         [af2d473b09e2]
27647
27648         * sudo.c:
27649         moved load_interfaces to interfaces.c
27650         [5c8c138e5d4c]
27651
27652         * parse.yacc:
27653         added clearaliases
27654         [aeb4ff301daa]
27655
27656         * OPTIONS, options.h:
27657         added FAST_MATCH
27658         [f49ea3d1b525]
27659
27660         * parse.lex:
27661         now uses clearaliases variable
27662         [a2dda415bf61]
27663
27664         * interfaces.c:
27665         Initial revision
27666         [a1990e3f5c69]
27667
27668         * Makefile.in:
27669         added interfaces.[co]
27670         [1e8e5984de97]
27671
27672         * testsudoers.c:
27673         now uses ip addrs and netmasks via load_interfaces()
27674         [54b8f7a6835e]
27675
27676         * sudo.c:
27677         now remove IFS instead of setting to "sane" value
27678         [ce7eec9f115e]
27679
27680 1995-05-01  Todd C. Miller  <Todd.Miller@courtesan.com>
27681
27682         * parse.c:
27683         added FAST_MATCH
27684         [816d4f5fe81a]
27685
27686 1995-04-30  Todd C. Miller  <Todd.Miller@courtesan.com>
27687
27688         * Makefile.in:
27689         sudo_goodpath.c-> goodpath.c
27690         [a5072c4e1de2]
27691
27692         * sudo.c:
27693         added Andy's new ISC changes
27694         [caa6bbee358e]
27695
27696 1995-04-14  Todd C. Miller  <Todd.Miller@courtesan.com>
27697
27698         * OPTIONS:
27699         added a sentence to SECURE_PATH info
27700         [cad6e1569d15]
27701
27702         * BUGS:
27703         added one
27704         [4b35cf699a83]
27705
27706         * CHANGES:
27707         updated
27708         [5fded9dc62f0]
27709
27710         * RUNSON:
27711         updated
27712         [33cb993cfd39]
27713
27714 1995-04-13  Todd C. Miller  <Todd.Miller@courtesan.com>
27715
27716         * RUNSON:
27717         updated for beta3
27718         [a05dc6a91995]
27719
27720         * Makefile.in, version.h:
27721         ++version
27722         [54aaf3fadc75]
27723
27724         * aclocal.m4:
27725         sendmail is now looked for in \17/usr/ucblib
27726         [231ac1a4662f]
27727
27728         * sudo.c:
27729         fixed indentation
27730         [fb137400c8c2]
27731
27732         * aclocal.m4:
27733         fixed a typo
27734         [e03f1acc468b]
27735
27736         * sudo.c:
27737         updated ISC mods
27738         [070290d4754b]
27739
27740         * configure.in:
27741         added unixware case
27742         [e90250bae0d9]
27743
27744         * check.c:
27745         user_is_exempt is no longer hidden
27746         [1a341765b8af]
27747
27748         * RUNSON:
27749         updated
27750         [a9c4898b26dd]
27751
27752         * aclocal.m4:
27753         isc and riscos changes
27754         [98b5d86585d1]
27755
27756         * OPTIONS:
27757         added NOTE about new interaction of EXEMPTGROUP and SECURE_PATH
27758         [e1ecc464ce4b]
27759
27760         * Makefile.in:
27761         fixed a typo and added testsudoers stuff
27762         [435d60e163dc]
27763
27764         * testsudoers.c:
27765         Initial revision
27766         [6ce14a448662]
27767
27768 1995-04-12  Todd C. Miller  <Todd.Miller@courtesan.com>
27769
27770         * parse.yacc:
27771         applied fixed patch from Chris
27772         [cd6144203d13]
27773
27774 1995-04-11  Todd C. Miller  <Todd.Miller@courtesan.com>
27775
27776         * Makefile.in:
27777         fixed a typo
27778         [34f8a54ba041]
27779
27780         * parse.yacc:
27781         added a set of braces for bison
27782         [f0e43b938914]
27783
27784         * parse.yacc:
27785         merged in Chris' changes to dekludge the parser.
27786         [82d6e373ab1c]
27787
27788         * logging.c:
27789         send_mail() was calling find_path() which is wrong since find_path()
27790         stores cmnd in a static var. Anyhow, it doesn't make much sense
27791         since MAILER should always be fully qualified
27792         [6eae6a0b8098]
27793
27794 1995-04-10  Todd C. Miller  <Todd.Miller@courtesan.com>
27795
27796         * sample.sudoers:
27797         added User_Alias stuff
27798         [aaba8c8e918d]
27799
27800         * aclocal.m4:
27801         SUDO_NEXT now looks for /usr/lib/NextStep/software_version
27802         [52bd81f34b32]
27803
27804         * RUNSON:
27805         added DEC UNIX 3.0 w/ gcc
27806         [7daf570775b5]
27807
27808         * visudo.c:
27809         Exit was being used in places where exit should be used
27810         [6026a89c07ed]
27811
27812         * sudoers:
27813         added "User alias specification"
27814         [a487b6e234f8]
27815
27816         * parse.yacc:
27817         fixed probs caused by making nslots and naliases a size_t
27818         [0be919384f3f]
27819
27820         * RUNSON:
27821         added KSR, upped rev to 1.3.1b2
27822         [ce04ee6faadf]
27823
27824         * logging.c, parse.yacc:
27825         1024 -> BUFSIZ
27826         [cd6dda45fa11]
27827
27828         * parse.yacc:
27829         void * -> VOID * naliases and nslots are now size_t to appease
27830         lsearch on 64-bit machines
27831         [bf2f807c0dc1]
27832
27833 1995-04-09  Todd C. Miller  <Todd.Miller@courtesan.com>
27834
27835         * TODO:
27836         did a bunch of things and added a bunch :-)
27837         [42afd957b829]
27838
27839         * PORTING:
27840         updated
27841         [972f95c85776]
27842
27843         * visudo.man:
27844         closer to BSD manpage style
27845         [07ae88f50325]
27846
27847         * sudo.man:
27848         closer to standard BSD man format
27849         [372c28dcc135]
27850
27851         * compat.h, config.h.in, emul/search.h, insults.h, options.h,
27852         pathnames.h.in, sudo.h, version.h:
27853         added RCS id
27854         [c0ec90b81002]
27855
27856         * sudo.h:
27857         removed crufty #defines that are no longer used
27858         [35e2b4b477f0]
27859
27860         * BUGS:
27861         fixed a bug
27862         [5bb3e1bee85e]
27863
27864         * sudo.man:
27865         updated based on sudo changes
27866         [e65de1cae438]
27867
27868         * parse.yacc:
27869         now allow ALL keyword in User_Aliases now allow ALL keyword as well
27870         as a NAME or ALIAS
27871         [1fb31404dd0f]
27872
27873         * CHANGES:
27874         updated
27875         [b24018ac610b]
27876
27877         * sudo.c:
27878         now sets SUDO_COMMAND and SUDO_GID envariables.
27879         [e9d791557fb7]
27880
27881         * aclocal.m4:
27882         fixed bug with full void impl check
27883         [35715301023c]
27884
27885         * parse.yacc:
27886         fixed User_Alias supoprt
27887         [4c30dfbaaa07]
27888
27889         * parse.yacc:
27890         added stubs for User_Alias support
27891         [f4afbd247edf]
27892
27893         * sudo.c:
27894         now sets removes # bogus interfaces from num_interfaces
27895         [6f077fac9ab1]
27896
27897         * parse.lex:
27898         added User_Alias support
27899         [bc7997e5df85]
27900
27901 1995-04-08  Todd C. Miller  <Todd.Miller@courtesan.com>
27902
27903         * Makefile.in:
27904         removed extraneous TODO
27905         [bc87a3b14d6d]
27906
27907 1995-04-07  Todd C. Miller  <Todd.Miller@courtesan.com>
27908
27909         * visudo.c:
27910         ntwk_matches -> addr_matches
27911         [475044e288b8]
27912
27913         * parse.yacc:
27914         ntwk_matches -> addr_matches
27915         [dd1f4093fd2d]
27916
27917         * parse.c:
27918         ntwk_matches -> addr_matches now use inet_addr() not inet_network()
27919         (which expects octet boundaries) fixes for OSF (sizeof(int) !=
27920         sizeof(long))
27921         [acd2f556940f]
27922
27923         * sudo.c:
27924         took out debugging info
27925         [044023063eca]
27926
27927         * aclocal.m4:
27928         OS was being set to unknown before non-uname based host checks.
27929         This caused no checks to happen since $OS was not zero-length.
27930         [335a7267479d]
27931
27932         * sudo.c:
27933         fixed loading of interfaces struct still has debugging info in
27934         though
27935         [2d1a18998c1e]
27936
27937         * parse.c:
27938         fixed typo
27939         [175674a3a9fa]
27940
27941 1995-04-06  Todd C. Miller  <Todd.Miller@courtesan.com>
27942
27943         * Makefile.in:
27944         ++version
27945         [55d191b5daa3]
27946
27947         * version.h:
27948         ++
27949         [d7d1f115696a]
27950
27951         * visudo.c:
27952         removed extraneous extern decl of "top
27953         [50355621047d]
27954
27955         * visudo.c:
27956         now zeros "top"
27957         [4e683210345b]
27958
27959         * parse.yacc:
27960         removed parser_cleanup (no need for it now)
27961         [afa59f222b6c]
27962
27963         * parse.lex:
27964         now calls reset_aliases() directly
27965         [3a23cbd60fc0]
27966
27967 1995-04-04  Todd C. Miller  <Todd.Miller@courtesan.com>
27968
27969         * OPTIONS:
27970         added a sentence to SECURE_PATH description
27971         [c5bf75b85af0]
27972
27973         * parse.c:
27974         fixed my stupid bug where I used NAMLEN on something I wanted to
27975         just get the name from. argh.
27976         [111f460f6540]
27977
27978 1995-04-03  Todd C. Miller  <Todd.Miller@courtesan.com>
27979
27980         * lsearch.c:
27981         fixed argument order of memmove() that i hosed when converting from
27982         bcopy(). arghh.
27983         [2f5336045c8b]
27984
27985         * Makefile.in:
27986         finally fixed DISTFILES line
27987         [a1b419e73a63]
27988
27989         * Makefile.in:
27990         tabs -> spaces
27991         [280fb03e5764]
27992
27993         * Makefile.in:
27994         added missing files to DISTFILES
27995         [991fc1cd2263]
27996
27997         * Makefile.in:
27998         SUPPORTED -> RUNSON
27999         [7580e65b05fb]
28000
28001 1995-04-01  Todd C. Miller  <Todd.Miller@courtesan.com>
28002
28003         * TODO:
28004         updated
28005         [fe764a29c1cc]
28006
28007         * RUNSON:
28008         updated for pl5b1 release
28009         [aefc35bd2291]
28010
28011         * BUGS, TODO:
28012         updated
28013         [8f0ea249b687]
28014
28015         * check.c:
28016         fixed bug where if you hit return at first sudo prompt it would
28017         still log as a failure
28018         [24539c854692]
28019
28020         * CHANGES:
28021         updated
28022         [251cc7b3ede4]
28023
28024         * aclocal.m4:
28025         better test for bogus void * implementation
28026         [efe23180cb88]
28027
28028         * logging.c:
28029         added PASSWORDS_NOT_CORRECT
28030         [bd12c73f83f7]
28031
28032         * check.c:
28033         added PASSWORDS_NOT_CORRECT stuff]
28034         [90de391a979f]
28035
28036         * sudo.h:
28037         added PASSWORDS_NOT_CORRECT
28038         [727fbeb76fc5]
28039
28040         * tgetpass.c:
28041         moved pathnames.h
28042         [4f910e5a8df7]
28043
28044         * sudo.c:
28045         removed some unused vars and fixed up uid2str
28046         [70e92c7f9076]
28047
28048         * putenv.c:
28049         moved compat.h
28050         [b271091586f6]
28051
28052         * getcwd.c, getwd.c:
28053         added pathnames.h
28054         [6f25218f133f]
28055
28056 1995-03-31  Todd C. Miller  <Todd.Miller@courtesan.com>
28057
28058         * parse.yacc:
28059         fixed a typo I introduced in the last checkin :-(
28060         [62c3af75c4fe]
28061
28062         * parse.lex:
28063         can't have #ifdef's where N is defined so just do this the broken
28064         way for AIX
28065         [c5648a5594e4]
28066
28067         * parse.yacc:
28068         better hack from Chris (but still a hack)
28069         [6b6d8aed93f3]
28070
28071         * parse.lex:
28072         stupid hack for broken aix lex
28073         [efc3f9e5280e]
28074
28075         * tgetpass.c:
28076         now includes compat.h \ 6
28077         [401822173f77]
28078
28079         * visudo.c:
28080         now includes fcntl.h
28081         [63865c2f8ac6]
28082
28083         * compat.h:
28084         added FD_SET and FD_ZERO for 4.2BSD
28085         [00c5597c0bb0]
28086
28087         * parse.yacc:
28088         dirty hack to fix parser bug. i don't really like this but it works
28089         for now...
28090         [5b8bbdc81569]
28091
28092         * sudo.c:
28093         uid2str is now static like the prototype says
28094         [f2a97b5cb870]
28095
28096 1995-03-30  Todd C. Miller  <Todd.Miller@courtesan.com>
28097
28098         * CHANGES, SUPPORTED, TODO, TROUBLESHOOTING:
28099         updated
28100         [6f79c3e92716]
28101
28102         * RUNSON:
28103         Initial revision
28104         [12a09ef9e884]
28105
28106         * sudo.c:
28107         check_sudoers now returns an error code and sudo calls inform_user
28108         and log_error based on the return value.
28109         [340eca188d9a]
28110
28111         * logging.c, sudo.h:
28112         added entries for new errors
28113         [6050d8542e1f]
28114
28115         * parse.c:
28116         now set uid to that of SUDOERS_OWNER while parsing sudoers file
28117         [3683c42bc9b0]
28118
28119         * Makefile.in:
28120         took out testsudoers \ 6
28121         [65317d49db48]
28122
28123         * sudo.c:
28124         now explicately checks that it is setuid root
28125         [2fe1be60ef6a]
28126
28127         * sudo.c:
28128         If a user has no passwd entry sudo would segv (writing to a garbage
28129         pointer). Now allocate space before writing :-)
28130         [d08e7eb5e5ef]
28131
28132         * configure.in:
28133         reordered AC_CHECK_FUNCS
28134         [4c82e56c6f4f]
28135
28136         * config.h.in:
28137         fixed memset macro
28138         [77ede6b714ab]
28139
28140         * tgetpass.c, visudo.c:
28141         bzero -> memset
28142         [1a005bb322c8]
28143
28144         * logging.c:
28145         bzero -> memset when a parse error is logged the line number of the
28146         error is now logged too
28147         [a42d68047723]
28148
28149         * INSTALL:
28150         added Sunos to blurb about c2 security
28151         [af750a1d131e]
28152
28153         * configure.in:
28154         added a SUN4 define for C2 security
28155         [6ad5b23a3eb0]
28156
28157         * config.h.in:
28158         bcopy -> memmove bzero -> memset
28159         [5494460c8464]
28160
28161         * lsearch.c:
28162         bcopy -> memmove char * -> VOID *
28163         [a15f5c316e16]
28164
28165         * check.c:
28166         added support for sunos with C2 security
28167         [03fea5bb21e6]
28168
28169         * OPTIONS, options.h:
28170         reordered
28171         [1686265af3e1]
28172
28173         * pathnames.h.in:
28174         _PATH_SUDO_LOGFILE now set based on configure
28175         [5867b58e4a04]
28176
28177         * configure.in:
28178         added SUDO_LOGFILE and SUDO_TYPE_SIZE_T
28179         [1984d9fd1b5c]
28180
28181         * config.h.in:
28182         added _SUDO_PATH_LOGFILE
28183         [dd3eebe62580]
28184
28185         * aclocal.m4:
28186         added SUDO_LOGFILE to find where to put sudo.log added
28187         SUDO_CHECK_TYPE (just AC_CHECK_TYPE but checks unistd.h too) added
28188         SUDO_TYPE_SIZE_T (calls SUDO_CHECK_TYPE)
28189         [c589a515a99a]
28190
28191 1995-03-29  Todd C. Miller  <Todd.Miller@courtesan.com>
28192
28193         * TROUBLESHOOTING:
28194         Initial revision
28195         [f42f1baba3a8]
28196
28197         * sudo.c:
28198         now do set_perms(PERM_ROOT) before the getpwuid() in load_global()
28199         to work around a problem is trusted hpux shadow passwords. yuck.
28200         [ae1f13b54687]
28201
28202         * parse.yacc:
28203         backed out a change in malloc/realloc
28204         [ab868db0ad69]
28205
28206         * parse.yacc:
28207         now include stdlib.h
28208         [957eef0631eb]
28209
28210         * visudo.c:
28211         now do an freopen() of the stmp file so that yyin will always point
28212         to the same thing. This is important for flex since we are doing a
28213         YY_NEWFILE
28214         [44558922fd3e]
28215
28216         * parse.yacc:
28217         replaced yywrap() with parser_cleanup() since yywrap() needs to be
28218         in parse.lex to be able to use YY_NEW_FILE. sigh.
28219         [12dd09921074]
28220
28221         * parse.lex:
28222         now have a rule that matches anything that doesn't match an
28223         explicite rule. well, you know what i mean (. matches anything not
28224         yet matched). However, this means that there is input still queued
28225         up so we need to do a YY_NEW_FILE; in yywrap. So, yywrap has moved
28226         into parse.lex and it calls parser_cleanup() which is most of the
28227         old yywrap() sigh.
28228         [7f4042bc48d6]
28229
28230         * SUPPORTED:
28231         no longer used
28232         [8f220be4da94]
28233
28234         * getcwd.c, getwd.c:
28235         moved compat.h to be the last include file
28236         [9f3a65e2d485]
28237
28238         * parse.yacc:
28239         fixed type of aliascmp() args
28240         [1c27eb989bdf]
28241
28242         * find_path.c:
28243         NULL -> '\0'
28244         [5c8d8cf1692e]
28245
28246         * parse.yacc:
28247         added casts to lfind and lsearch args for irix
28248         [61027ddeecf8]
28249
28250         * Makefile.in:
28251         bsdinstall -> install-sh
28252         [61de6612c5a5]
28253
28254         * INSTALL:
28255         added info about make realclean
28256         [29c6324d727f]
28257
28258         * Makefile.in:
28259         updated VERSION added dependencies for visudo.cat
28260         [09077d7229d4]
28261
28262         * version.h:
28263         -> pl5b1
28264         [5d21c7ad1a41]
28265
28266         * sudo.c:
28267         took out -l
28268         [fc1478d81b38]
28269
28270         * Makefile.in:
28271         now there is a real visudo.man and visudo.cat
28272         [58aeac43a6dd]
28273
28274         * sudo.man:
28275         took out visudo stuff
28276         [4a6ac4393343]
28277
28278         * visudo.man:
28279         Initial revision
28280         [cba348843db8]
28281
28282         * parse.c, parse.lex, parse.yacc:
28283         updated copyright
28284         [ffa16b70944a]
28285
28286         * README:
28287         updated for pl5
28288         [a26e423e9e5f]
28289
28290         * sudo.man:
28291         updated Nieusma & Hieb email addresses
28292         [f0083e71989d]
28293
28294         * INSTALL:
28295         updated to include options.h and OPTIONS
28296         [ee59e2b76c94]
28297
28298         * CHANGES, TODO:
28299         updated
28300         [51e011ad5220]
28301
28302         * BUGS:
28303         eliminated bug #1 (yay)
28304         [e7e88515494e]
28305
28306         * configure.in:
28307         sunos no longer gets linked statically
28308         [2e5b3ff3108f]
28309
28310 1995-03-28  Todd C. Miller  <Todd.Miller@courtesan.com>
28311
28312         * parse.lex:
28313         prototype now uses __P()
28314         [68ecdcab4c70]
28315
28316         * parse.lex:
28317         make fill() non-ansi
28318         [d6509972260b]
28319
28320         * parse.c:
28321         made -v (validate) work
28322         [13c9d520638c]
28323
28324         * logging.c:
28325         now gives host
28326         [f04859cdba5a]
28327
28328         * find_path.c:
28329         don't check for execute/statable if fq or relative path given
28330         [4bbe851f3973]
28331
28332         * parse.c:
28333         added a cast
28334         [345c308f72f3]
28335
28336         * visudo.c:
28337         now include ctype.h for islower and tolower macros
28338         [582c0aa332d5]
28339
28340         * goodpath.c:
28341         moved _S_IFMT & _S_ISREG to compat.h
28342         [828e4ca4e7b4]
28343
28344         * sudo.c:
28345         moved a set of parens
28346         [5783474ecf37]
28347
28348         * strdup.c:
28349         now include compat.h
28350         [75e2036b94af]
28351
28352         * emul/search.h:
28353         void * -> VOID *
28354         [cedcfaf04161]
28355
28356         * parse.yacc:
28357         now cast malloc & realloc return vals added search for HAVE_LSEARCH
28358         now use strcmp if no strcasecmp available
28359         [d6a42bc3d4ae]
28360
28361         * lsearch.c:
28362         void * -> VOID *
28363         [886adc44f607]
28364
28365         * config.h.in:
28366         removed HAVE_FLEX added VOID added HAVE_DIRENT_H, HAVE_SYS_NDIR_H,
28367         HAVE_SYS_DIR_H, HAVE_NDIR_H added HAVE_LSEARCH
28368         [3b50d7fb4349]
28369
28370         * compat.h:
28371         added _S_IFMT, _S_IFREG, and S_ISREG
28372         [73d506c7d53c]
28373
28374         * aclocal.m4:
28375         took out SUDO_PROG_INSTALL 1.x to 2.x changes added echo and results
28376         to most SUDO_* macros
28377         [8442155f5936]
28378
28379         * Makefile.in:
28380         no more -I.
28381         [63462f195bd4]
28382
28383         * configure.in:
28384         various 1.x ro 2.x autoconf changes now check for strcasecmp now use
28385         AC_INSTALL_PROG instead of custom one added check for fully woorking
28386         void implementation
28387         [5ac6b6e6230f]
28388
28389         * Makefile.in:
28390         added lsearch & search.h visudo links into $(LIBOBJS)
28391         [bc119cda4598]
28392
28393         * aclocal.m4:
28394         partial 1.x to 2.x changes added SUDO_FULL_VOID
28395         [1194d01fa5c5]
28396
28397         * visudo.c:
28398         whatnow_help was prototyped to be static be was not declared as
28399         such
28400         [0f85489dd426]
28401
28402         * configure.in:
28403         autoconf 2.x changes took out HAVE_FLEX (no longer used) added check
28404         for dirent/dir/ndir.h
28405         [7408f3854948]
28406
28407         * parse.c:
28408         now use groovy gnu autoconf macro AC_HEADER_DIRENT
28409         [e465db9f5dfa]
28410
28411         * getcwd.c, getwd.c:
28412         MAXPATHLEN -> MAXPATHLEN+1
28413         [714d87424e21]
28414
28415         * emul/search.h, lsearch.c:
28416         Initial revision
28417         [55d79482c535]
28418
28419 1995-03-27  Todd C. Miller  <Todd.Miller@courtesan.com>
28420
28421         * parse.yacc:
28422         eliminated bison warnings
28423         [61ca0a96da22]
28424
28425         * parse.lex:
28426         added missing case
28427         [6be0f849747c]
28428
28429         * visudo.c:
28430         now iincludes signal.h
28431         [221e0fcc144f]
28432
28433         * parse.yacc:
28434         only clear data structures on a parse error
28435         [7b1c0f1a4527]
28436
28437         * visudo.c:
28438         whatnow() now gives help on invalid input
28439         [e5a4cd88c587]
28440
28441         * visudo.c:
28442         added a whatnow() function (sort of like mh)
28443         [932d9b145f1c]
28444
28445         * parse.yacc:
28446         kill_aliases -> reset_aliases yywrap() now cleans up by calling
28447         reset_aliases() and clearing top took reset stuff out of yyerror()
28448         since it doesn't beling there (and doesn't work anyway). errorlineno
28449         is now initially set to -1 so we can set it to the first error that
28450         occurrs (it was getting set to the last)
28451         [2f71f95a974c]
28452
28453         * parse.lex:
28454         added a void cast
28455         [18ae6042dce4]
28456
28457         * visudo.c:
28458         rewrote from scratch based on 4.3BSD vipw.c
28459         [2f6814f18576]
28460
28461 1995-03-26  Todd C. Miller  <Todd.Miller@courtesan.com>
28462
28463         * sudo.c, sudo.h:
28464         removed ocmnd
28465         [a31735f41ad4]
28466
28467         * sudo.h:
28468         no more sudo_realpath() and find_path() changed params
28469         [8e85c3b39159]
28470
28471         * sudo.c:
28472         find_path() changed since no more realpath()
28473         [b25366c7f2ee]
28474
28475         * parse.yacc:
28476         on error, errorlineno is set to the line where the error occurred
28477         added kill_aliases() to free the aliases struct now clean up in
28478         yyerror() so we can reparse cleanly
28479         [2342f578c27a]
28480
28481         * options.h, parse.c:
28482         no more USE_REALPATH
28483         [cfc59babeaff]
28484
28485         * logging.c:
28486         changed to use new find_path()
28487         [91c7a38e7751]
28488
28489         * find_path.c:
28490         removed all the realpath() stuff
28491         [cc21a43a8562]
28492
28493         * Makefile.in:
28494         sudo_realpath.c -> sudo_goodpath.c
28495         [03a9b1ddec2f]
28496
28497         * visudo.c:
28498         now works correctly with utk parser
28499         [08aa554a0ce8]
28500
28501         * goodpath.c:
28502         Initial revision
28503         [1ea607e1ffb2]
28504
28505         * sudo_realpath.c:
28506         eliminated a compiler warning
28507         [198bcccc55b6]
28508
28509         * sudo.c:
28510         elinated compiler warning
28511         [e2384f9a878b]
28512
28513         * sudo_realpath.c:
28514         added sudo_goodpath()
28515         [43878c4cc540]
28516
28517         * sudo.h:
28518         added prototype for sudo_goodpath
28519         [23e8627a2265]
28520
28521         * parse.c:
28522         added support for /sys/dir.h
28523         [eca897087741]
28524
28525         * options.h:
28526         USE_REALPATH turned off
28527         [620ac8b63d85]
28528
28529         * find_path.c:
28530         added calls to sudo_goodpath()
28531         [ad170904fbcd]
28532
28533         * configure.in:
28534         added check for dirent.h
28535         [7964a8c26855]
28536
28537         * config.h.in:
28538         added HAVE_DIRENT_H
28539         [1f785fec7e19]
28540
28541         * configure.in:
28542         added in linux shadow pass stuff \ 6
28543         [e585a5785f50]
28544
28545 1995-03-24  Todd C. Miller  <Todd.Miller@courtesan.com>
28546
28547         * visudo.c:
28548         added back host, user, cmnd, parse_error
28549         [0ec19f3d64f4]
28550
28551         * visudo.c:
28552         added in utk changes plus some minor cosmetic changes
28553         [c5c1921c8a58]
28554
28555         * sudo.c, sudo_realpath.c:
28556         added void casts for printf's
28557         [9c6ff11c0082]
28558
28559         * options.h:
28560         added a define of USE_REALPATH
28561         [db3711c9efc5]
28562
28563         * configure.in:
28564         there is no more visudoers/Makefile
28565         [36e1bc1f78d0]
28566
28567         * Makefile.in:
28568         added in utk changes (visudo is now built from the toplevel)
28569         [76203d4b345d]
28570
28571         * find_path.c:
28572         added (void) casts to printf's
28573         [dd5cb1e060ac]
28574
28575         * parse.c, parse.lex, parse.yacc, sudo.h, sudo_realpath.c:
28576         merged in utk changes
28577         [35563307fd8e]
28578
28579 1995-03-23  Todd C. Miller  <Todd.Miller@courtesan.com>
28580
28581         * find_path.c:
28582         now check to see that what we are trying to run is a file (or a link
28583         to a file, we do a stat(2) so there is no diff)
28584         [05889c4bcace]
28585
28586 1995-03-13  Todd C. Miller  <Todd.Miller@courtesan.com>
28587
28588         * CHANGES:
28589         updated
28590         [3e8047bb26fb]
28591
28592         * Makefile.in:
28593         aclocal.m4 -> acsite.m4 make realclean updated for new autoconf \ 6
28594         [0bdbaa7c4c7d]
28595
28596         * sudo.man:
28597         added myself as maintainer
28598         [77a9d75aab84]
28599
28600 1995-02-17  Todd C. Miller  <Todd.Miller@courtesan.com>
28601
28602         * sudo.c:
28603         changed setegid -> setgid
28604         [7f4788d73b6f]
28605
28606 1995-02-06  Todd C. Miller  <Todd.Miller@courtesan.com>
28607
28608         * configure.in:
28609         fixed the test for irix 5.x to skip bad libs
28610         [bfef896de013]
28611
28612         * aclocal.m4:
28613         now initialize OS and OSREV
28614         [cc302756e440]
28615
28616 1995-01-27  Todd C. Miller  <Todd.Miller@courtesan.com>
28617
28618         * configure.in:
28619         irix5 changes
28620         [ac985b23f5f2]
28621
28622         * configure.in:
28623         AC_WITH -> AC_ARG_WITH changes other misc changes for autoconf 2.1
28624         compatibility
28625         [0cf8c92a06d7]
28626
28627 1995-01-19  Todd C. Miller  <Todd.Miller@courtesan.com>
28628
28629         * visudo.c:
28630         use YY_NEW_FILE, not yyrestart since OSF flex doesn't do the righ
28631         thing wrt yyrestart (grrrr)
28632         [18e8eabfbb82]
28633
28634 1995-01-16  Todd C. Miller  <Todd.Miller@courtesan.com>
28635
28636         * Makefile.in:
28637         added visudoers/compat.h to DISTFILES
28638         [db23b574b034]
28639
28640         * configure.in:
28641         fixed an echo
28642         [7cbc0462b89d]
28643
28644         * sudo.c:
28645         added ocmnd declaration adjusted for find_path()'s new parameters
28646         [d929cd156474]
28647
28648         * sudo.h:
28649         added ocmnd extern adjusted find_path() prototype
28650         [e0004daf5d3c]
28651
28652         * parse.c:
28653         cmndcmp() now takes 3 arguments and checks against the qualified as
28654         well as the unqualified pathname. more code that should use
28655         cmndcmp() but did not, now does
28656         [6f70a8c17bee]
28657
28658         * options.h:
28659         added to a comment
28660         [7a78680426b2]
28661
28662         * logging.c:
28663         changed to use new find_path() parameter passing
28664         [840981d30db4]
28665
28666         * find_path.c:
28667         find_path() now takes 2 copyout parameters (one for the qualified
28668         pathname and one for the unqualified pathname). The third parameter
28669         may be NULL.
28670         [851503b005e9]
28671
28672         * configure.in:
28673         no longer munge pathnames.h
28674         [427d8796c5a9]
28675
28676         * pathnames.h.in:
28677         changed _PATH_* to use _SUDO_PATH_* (which are defined in config.h)
28678         as a result, pathnames.h does not need to be run through configure
28679         and the user can override the configured values easily.
28680         [2e378f2ebe88]
28681
28682         * config.h.in:
28683         added _SUDO_PATH_* entries
28684         [0857de7cebab]
28685
28686         * aclocal.m4:
28687         _PATH* -> _SUDO_PATH_*
28688         [7601193f56cc]
28689
28690         * Makefile.in:
28691         updated DISTFILES and HDRS .o's now depend on config.h
28692         [39d8601965cf]
28693
28694 1995-01-13  Todd C. Miller  <Todd.Miller@courtesan.com>
28695
28696         * compat.h:
28697         removed extraneous #endif
28698         [27d4c5f2ce7e]
28699
28700         * aclocal.m4:
28701         added SUDO_PROG_MV
28702         [76dda3bdd816]
28703
28704         * configure.in:
28705         added SUDO_PROG_MV added riscos and isc os types took out
28706         -DSHORT_MESSAGE from --with-csops since it is now the default
28707         [68c206ad976e]
28708
28709         * sudo.c:
28710         move the include of id.h to compat.h now includes options.h
28711         [45a1eaafb3a8]
28712
28713         * sudo.h:
28714         moved compatibility #defines to compat.h
28715         [0eee27057698]
28716
28717         * pathnames.h.in:
28718         added _PATH_MV
28719         [e830797ab320]
28720
28721         * config.h.in:
28722         move __P to compat.h
28723         [188e12e0ba93]
28724
28725         * getcwd.c, getwd.c, putenv.c:
28726         now includes compat.h
28727         [c72cb6d73981]
28728
28729         * compat.h:
28730         Initial revision
28731         [d4d2f359ae03]
28732
28733 1995-01-12  Todd C. Miller  <Todd.Miller@courtesan.com>
28734
28735         * sudo.h:
28736         pull user-configurable stuff out and put in options.h
28737         [ef929467b070]
28738
28739 1995-01-11  Todd C. Miller  <Todd.Miller@courtesan.com>
28740
28741         * parse.lex, parse.yacc, visudo.c:
28742         now includes options.h
28743         [e36d7c82add1]
28744
28745         * check.c, find_path.c, logging.c, parse.c, sudo_realpath.c,
28746         sudo_setenv.c:
28747         now includes options.h
28748         [f186ba03de07]
28749
28750         * Makefile.in:
28751         added visudoers/options.h
28752         [e5350c476494]
28753
28754         * OPTIONS, options.h:
28755         Initial revision
28756         [9b6b5001e318]
28757
28758         * Makefile.in:
28759         added OPTIONS and options.h
28760         [25448341e16a]
28761
28762         * logging.c:
28763         changed #ifdef's to use LOGGING and SLOG_SYSLOG/SLOG_FILE
28764         [5dd6385dd1d3]
28765
28766         * check.c, sudo.h:
28767         changed PASSWORD_TIMEOUT to minutes
28768         [0ec6aab98738]
28769
28770 1994-12-17  Todd C. Miller  <Todd.Miller@courtesan.com>
28771
28772         * visudo.c:
28773         now only do Editor +line_num if line_num != 0
28774         [b69f04b5e3c7]
28775
28776 1994-12-16  Todd C. Miller  <Todd.Miller@courtesan.com>
28777
28778         * visudo.c:
28779         now use mv if rename(2) fails
28780         [83210dca1bab]
28781
28782         * BUGS:
28783         added a visudo bug
28784         [d61a806f9aa7]
28785
28786         * check.c:
28787         expanded comment
28788         [641f2cba94cb]
28789
28790 1994-11-12  Todd C. Miller  <Todd.Miller@courtesan.com>
28791
28792         * check.c:
28793         fixed user_is_exempt to return 0 if EXEMPTGROUP is not set
28794         [7a11135039a8]
28795
28796 1994-11-10  Todd C. Miller  <Todd.Miller@courtesan.com>
28797
28798         * sudo.c:
28799         added mips & isc support
28800         [e258dc053119]
28801
28802         * parse.c:
28803         added support for non-root owned sudoers file
28804         [fea07e65a0fc]
28805
28806         * check.c:
28807         added exempt group support
28808         [928fb4bd9ad5]
28809
28810         * sudo.h:
28811         added set_perms() support added SUDOERS_OWNER so can have non-root
28812         own sudoers file added exempt group support added isc support
28813         [61c578d31fc1]
28814
28815         * visudo.c:
28816         now copy sudoers to temp file via read/write (not stdio) now chown
28817         new sudoers file to SUDOERS_OWNER
28818         [a5176c59df70]
28819
28820 1994-11-08  Todd C. Miller  <Todd.Miller@courtesan.com>
28821
28822         * configure.in:
28823         added skey support
28824         [35a8d2fabdb7]
28825
28826         * sudo_realpath.c:
28827         be_* -> setperms()
28828         [a1631d686e1c]
28829
28830         * sudo.h:
28831         fixed typo added set_perms support added skey support added
28832         seteuid()/setegid() emulation for AIX
28833         [c0c8d6771406]
28834
28835         * sudo.c:
28836         be_* -> setperms() now check to make sure sudoers file is owned by
28837         root nread/write by only root
28838         [13ab1e261f1a]
28839
28840         * logging.c, parse.c:
28841         be_* -> setperms()
28842         [21499d845c8f]
28843
28844         * check.c:
28845         be_* -> set_perms() added skey support
28846         [df51b56871c1]
28847
28848 1994-11-06  Todd C. Miller  <Todd.Miller@courtesan.com>
28849
28850         * Makefile.in:
28851         ++version
28852         [3c1abbe4e43c]
28853
28854         * version.h:
28855         ++
28856         [1d2f9b540a95]
28857
28858 1994-10-21  Todd C. Miller  <Todd.Miller@courtesan.com>
28859
28860         * sudo.c:
28861         now sets IFS
28862         [eabbb41b9f08]
28863
28864         * insults.h:
28865         fixed typo
28866         [c7997f19216e]
28867
28868 1994-10-15  Todd C. Miller  <Todd.Miller@courtesan.com>
28869
28870         * config.h.in:
28871         added HAVE_SKEY
28872         [da948ec4186b]
28873
28874 1994-10-04  Todd C. Miller  <Todd.Miller@courtesan.com>
28875
28876         * CHANGES:
28877         updated
28878         [f4b55ab007ea]
28879
28880         * Makefile.in:
28881         ++version
28882         [0489068b8c95]
28883
28884         * version.h:
28885         ++
28886         [d189faedf423]
28887
28888         * sudo.c:
28889         now bail if ARgv[1] > MAXPATHLEN
28890         [0cea8ecc9dc2]
28891
28892         * configure.in:
28893         added function check for tcgetattr(3)
28894         [e03289b22c2f]
28895
28896         * config.h.in:
28897         only define HAVE_TERMIOS_H if you have tcgetattr(3)
28898         [757eab83d1a2]
28899
28900         * config.h.in:
28901         added check for tcgetattr
28902         [c5ae92715930]
28903
28904 1994-09-26  Todd C. Miller  <Todd.Miller@courtesan.com>
28905
28906         * CHANGES:
28907         updated
28908         [cbc419883108]
28909
28910 1994-09-22  Todd C. Miller  <Todd.Miller@courtesan.com>
28911
28912         * parse.lex:
28913         now only include unistd.h for linux
28914         [e9adeab95ef0]
28915
28916 1994-09-21  Todd C. Miller  <Todd.Miller@courtesan.com>
28917
28918         * Makefile.in:
28919         added visudo.8 generation
28920         [d6a3f0f887f8]
28921
28922         * configure.in:
28923         added -Wl,-bI:./aixcrypt.exp to aix flags
28924         [72594a21edcf]
28925
28926 1994-09-20  Todd C. Miller  <Todd.Miller@courtesan.com>
28927
28928         * BUGS:
28929         added one
28930         [9993a349e096]
28931
28932         * CHANGES:
28933         updated
28934         [297b31ec4cdd]
28935
28936         * README:
28937         added mailing list info
28938         [10372f94a2b2]
28939
28940         * parse.yacc:
28941         now use sudolineno instead of yylineno fixed bison warnings
28942         [25a83e62057b]
28943
28944         * configure.in:
28945         now use -no_library_replacement for osf don't make a static binary
28946         for hpux >= 9.0
28947         [1fa7b892f1a3]
28948
28949         * tgetpass.c:
28950         added string.h/strings.h inclusion
28951         [71faa98fc0a1]
28952
28953         * config.h.in:
28954         added ssize_t def
28955         [406284bd1ac0]
28956
28957         * parse.lex:
28958         added inclusion of string.h/strings.h
28959         [6985b1df5d09]
28960
28961         * aclocal.m4:
28962         fixed uname | sed (needed to quote the '[')
28963         [4cd2d3415c1a]
28964
28965         * parse.lex:
28966         replaced yylineno with sudolineno fixed bison syntax errors
28967         [0bd31a5fab26]
28968
28969         * visudo.c:
28970         changed yylineno to sudolineno since yylineno cannot be counted
28971         upon.
28972         [38c30104d0ae]
28973
28974         * TODO:
28975         updated
28976         [5d4746f1a752]
28977
28978         * parse.c:
28979         added code to support command listings
28980         [030172e133fd]
28981
28982         * sudo.c:
28983         added code for -l flag
28984         [801dbbc82778]
28985
28986         * sudo.man:
28987         fixed typo added info for -l flag
28988         [8916ca945d65]
28989
28990         * configure.in:
28991         AC_SSIZE_T -> SUDO_SSIZE_T
28992         [c61f7f47013f]
28993
28994         * aclocal.m4:
28995         added SUDO_SSIZE_T
28996         [0ccdb77be84d]
28997
28998         * sudo.h:
28999         added MODE_LIST
29000         [9b2bd844c76c]
29001
29002         * configure.in:
29003         added AC_SSIZE_T
29004         [35cca208f9b5]
29005
29006         * find_path.c, sudo_realpath.c:
29007         readlink() is now declared as returning ssize~_t
29008         [0640a08d1407]
29009
29010         * configure.in:
29011         added -laud for OSF c2
29012         [b7539c905efc]
29013
29014 1994-09-02  Todd C. Miller  <Todd.Miller@courtesan.com>
29015
29016         * Makefile.in, visudo.c:
29017         changed sudo-bugs.cs.colorado.edu -> sudo-bugs@cs.colorado.edu
29018         [067fd9bcb5e1]
29019
29020         * config.h.in, parse.lex, parse.yacc, pathnames.h.in:
29021         changed sudo-bugs.cs.colorado.edu -> sudo-bugs@cs.colorado.edu
29022         [fc46e7c7110a]
29023
29024         * check.c, find_path.c, getcwd.c, getwd.c, insults.h, logging.c,
29025         parse.c, putenv.c, strdup.c, sudo.c, sudo.h, sudo_realpath.c,
29026         sudo_setenv.c, tgetpass.c, version.h:
29027         changed sudo-bugs.cs.colorado.edu -> sudo-bugs@cs.colorado.ed
29028         [d1d4fbc53a98]
29029
29030 1994-09-01  Todd C. Miller  <Todd.Miller@courtesan.com>
29031
29032         * Makefile.in:
29033         ++version
29034         [b7066d97633f]
29035
29036         * version.h:
29037         ++
29038         [65ec69d88110]
29039
29040         * logging.c:
29041         added host to alertmail messages
29042         [d973c19ce777]
29043
29044         * CHANGES, TODO:
29045         udpated
29046         [5a65eb16faeb]
29047
29048         * logging.c:
29049         fixed logging problem where mail would not say which user it was
29050         [35723edcc5d2]
29051
29052         * configure.in:
29053         added -laud for gcc if osf & c2
29054         [18f1e0ae5548]
29055
29056         * check.c:
29057         moved set_auth_parameters to sudo.c
29058         [d23112fe01db]
29059
29060         * sudo.c:
29061         added set_auth_parameters for osf
29062         [eb70f65214ac]
29063
29064         * configure.in:
29065         cleaned up -static stuff
29066         [01e9575f0422]
29067
29068         * Makefile.in:
29069         ++version
29070         [7ac3bff5c770]
29071
29072         * version.h:
29073         ++
29074         [10a4ff478469]
29075
29076         * sudo.c:
29077         changed setenv() to sudo_setenv()
29078         [40a78abb9946]
29079
29080         * check.c:
29081         fixed osf problem
29082         [3d69b118efb8]
29083
29084         * configure.in:
29085         added OSF C2 stuff
29086         [38cff3ad4093]
29087
29088         * CHANGES:
29089         updated
29090         [cd341dd0581a]
29091
29092         * check.c:
29093         added osf auth support & removed some extra spaces
29094         [a448cdd81514]
29095
29096         * INSTALL, SUPPORTED:
29097         added osf C2 stuff
29098         [f70484796146]
29099
29100 1994-08-31  Todd C. Miller  <Todd.Miller@courtesan.com>
29101
29102         * TODO:
29103         added 2 suggestions
29104         [695fbdbd86e6]
29105
29106         * Makefile.in:
29107         removed README.v1.3.1 and added VERSION stuff
29108         [f69403eb04c6]
29109
29110         * version.h:
29111         pl1
29112         [21580c0f8cb1]
29113
29114 1994-08-30  Todd C. Miller  <Todd.Miller@courtesan.com>
29115
29116         * version.h:
29117         1.3.1final
29118         [630114970298]
29119
29120         * Makefile.in:
29121         added HISTORY
29122         [901bff251614]
29123
29124         * sudo.man:
29125         mention HISTPRY file
29126         [86dbcfd4326e]
29127
29128         * sudo.c:
29129         use sizeof instead of a constant in 1 place
29130         [d819604c68ca]
29131
29132         * parse.yacc:
29133         added unistd.h
29134         [6f9500f9fe7e]
29135
29136         * parse.lex:
29137         added unistd.h
29138         [468b81a276eb]
29139
29140         * README:
29141         udpated
29142         [7e275618923a]
29143
29144         * HISTORY:
29145         Initial revision
29146         [5db1b0a3939b]
29147
29148 1994-08-17  Todd C. Miller  <Todd.Miller@courtesan.com>
29149
29150         * version.h:
29151         ++
29152         [7dfbb4a810bb] [SUDO_1_3_1]
29153
29154         * CHANGES:
29155         updated
29156         [7820ee610bf8]
29157
29158         * sudo_setenv.c:
29159         added unistd.h include
29160         [30cf2b654525]
29161
29162 1994-08-16  Todd C. Miller  <Todd.Miller@courtesan.com>
29163
29164         * sudo.c:
29165         added sys/time.h for AIX
29166         [199fc8caf3a3]
29167
29168 1994-08-15  Todd C. Miller  <Todd.Miller@courtesan.com>
29169
29170         * configure.in:
29171         added check for -lsocket and sys/sockio.h
29172         [f9abfbb31031]
29173
29174         * config.h.in:
29175         took out libshadow check and added in sys/sockio.h check
29176         [0c4b0393ac80]
29177
29178         * sudo.c:
29179         now include sockio.h instead of ioctl.h if it exists "sudo -" now
29180         gets a better error message
29181         [53041bea5483]
29182
29183         * sample.sudoers:
29184         now has a dir and subnet entry
29185         [56b820f65438]
29186
29187 1994-08-13  Todd C. Miller  <Todd.Miller@courtesan.com>
29188
29189         * sudo.c:
29190         removed if_ether.h
29191         [b4f64507493e]
29192
29193         * TODO:
29194         added an item
29195         [ea2a1bb6922a]
29196
29197         * sudo.man:
29198         added network and ip addresses to man page
29199         [01c85016511f]
29200
29201         * sudo.c:
29202         no error if can't get interfaces or netmask since networking may not
29203         be in the kernel.
29204         [50b8890e2134]
29205
29206         * parse.c:
29207         nwo check for interfaces == NULL
29208         [dc1b3eef0db2]
29209
29210         * parse.c:
29211         fixed a bug that caused directory specs in a Cmnd_Alias to fail if
29212         the last entry in the spec failed (ie: it was only looking at the
29213         last entry). CLeaned things up by adding the cmndcmp() function--all
29214         neat & tidy
29215         [007e93578e5e]
29216
29217         * CHANGES:
29218         added one
29219         [40e8a2cef497]
29220
29221 1994-08-12  Todd C. Miller  <Todd.Miller@courtesan.com>
29222
29223         * sudo.c:
29224         now do two passes to skip bogus interfaces (lo0, etc)
29225         [465e30aecaf7]
29226
29227         * parse.lex, parse.yacc, visudo.c:
29228         added include of netinet/in.h
29229         [11e3816ed362]
29230
29231         * logging.c, sudo_realpath.c, sudo_setenv.c:
29232         added ninclude of netinet/in.h
29233         [daccfa40fe1e]
29234
29235         * check.c, find_path.c, getcwd.c, getwd.c:
29236         added include of netinet/in.h
29237         [0222f95e06ad]
29238
29239         * version.h:
29240         ++
29241         [d6b0cfa35a38]
29242
29243         * sudo.h:
29244         added interfaces global
29245         [ba52fa8ad75e]
29246
29247         * parse.c:
29248         now uses new interfaces global
29249         [17473ad5ecba]
29250
29251         * sudo.c:
29252         now ip addresses are gleaned fw/o dns
29253         [8828bb2007e0]
29254
29255 1994-08-10  Todd C. Miller  <Todd.Miller@courtesan.com>
29256
29257         * sudo.c:
29258         added load_ip_addrs() to load the ip_addrs global var
29259         [60c825f04238]
29260
29261         * parse.c:
29262         added hostcmp() to compare hostnames, ip addrs, and network addrs
29263         [ab0e40e37537]
29264
29265         * sudo.h:
29266         added ip_addrs def added load_ip_addrs prototype
29267         [c41c565d0777]
29268
29269 1994-08-08  Todd C. Miller  <Todd.Miller@courtesan.com>
29270
29271         * CHANGES:
29272         updated
29273         [2a128dbe9bcb]
29274
29275         * Makefile.in:
29276         removed multiple entries in DISTFILES
29277         [2490f4f371e6]
29278
29279         * visudo.c:
29280         ansified the !STDC_HEADERS decls
29281         [646ba06d17ae]
29282
29283         * find_path.c, getcwd.c, getwd.c, putenv.c, strdup.c:
29284         don't do malloc decl if gnuc
29285         [f1bad1925f98]
29286
29287         * sudo.c:
29288         can't use getopt(3) since it munges args to the command to be run as
29289         root don't do malloc decl if gnuc
29290         [38e78f6da14e]
29291
29292         * find_path.c, getcwd.c, getwd.c, putenv.c, strdup.c, sudo.c,
29293         sudo_realpath.c, sudo_setenv.c:
29294         ansi-fied !STDC_HEADER function prottypes
29295         [51d8cad89976]
29296
29297         * getcwd.c, getwd.c:
29298         added missing paren
29299         [6a1fae70e27e]
29300
29301         * Makefile.in:
29302         added putenv.c to DISTFILES
29303         [a5e4523eabbb]
29304
29305         * sudo_setenv.c:
29306         added params to func decls when STDC_HEADERS is not defined now can
29307         count on putenv() being there
29308         [fd587796189b]
29309
29310         * sudo_realpath.c:
29311         took out errno decl since sudo.h does it for us fixed up a next cc
29312         warning added params to func decls when STDC_HEADERS is not defined
29313         [70fa5152ace6]
29314
29315         * sudo.h:
29316         took out environ extern added local declaratio of putenv() if local
29317         version is needed
29318         [a84bae6c020d]
29319
29320         * find_path.c, getcwd.c, getwd.c, strdup.c, sudo.c:
29321         added params to func decls when STDC_HEADERS is not defined
29322         [f406f0e47ac0]
29323
29324         * config.h.in:
29325         added memcpy check check to see that ansi vs bsd macros are ntot
29326         already defiend before defining (ie: avoid redefinition)
29327         [879ae026e19f]
29328
29329         * configure.in:
29330         removed fluff setenv check plus check w/ replace for putenv if also
29331         no setenv
29332         [e3c03814ad4b]
29333
29334         * putenv.c:
29335         Initial revision
29336         [3cff63e2dc1b]
29337
29338 1994-08-06  Todd C. Miller  <Todd.Miller@courtesan.com>
29339
29340         * sudo_setenv.c:
29341         Initial revision
29342         [4d637631fa6b]
29343
29344         * sudo.h:
29345         rm'd s realp[ath added sudo_realpath and sudo_setenv
29346         [07ba001ff57e]
29347
29348         * sudo.c:
29349         now use sudo_setenvc
29350         [fd81e04d5ef0]
29351
29352         * configure.in:
29353         added puteenv and setenv, removed realpath
29354         [27bfacfb513b]
29355
29356         * config.h.in:
29357         added putenv & setenv
29358         [515f14eaf6e4]
29359
29360         * Makefile.in:
29361         added sudo_setenv
29362         [217731a717c5]
29363
29364         * version.h:
29365         ++
29366         [eadb346d7129]
29367
29368 1994-08-05  Todd C. Miller  <Todd.Miller@courtesan.com>
29369
29370         * configure.in:
29371         added MAN_POSTINSTALL and /usr/share/catman for irix
29372         [2a9496c1bdba]
29373
29374         * Makefile.in:
29375         added MAN_POSTINSTALL
29376         [89b0d4695529]
29377
29378         * CHANGES:
29379         added
29380         [48c021ba8a70]
29381
29382         * sudo.man:
29383         added SUDO_* plus new options
29384         [c0759cff5683]
29385
29386         * CHANGES:
29387         added one
29388         [7d44a3922d56]
29389
29390         * configure.in:
29391         took out shadow lib
29392         [07cf3de18701]
29393
29394         * TODO:
29395         adde done
29396         [a27a578e8afe]
29397
29398         * visudo.c:
29399         now use yyrestart() if flex now reset yylineno to 0
29400         [77d67ce0b677]
29401
29402         * Makefile.in:
29403         support for installing a cat page instead of a man page if no nroff
29404         [44671c0fc0fa]
29405
29406         * configure.in:
29407         now defines HAVE_FLEX fixed up man stuff so that it looks for nroff
29408         to determine whether or not to install a cat or man page
29409         [0562d069c135]
29410
29411         * config.h.in:
29412         added HAVE_FLEX
29413         [c5490bae39d3]
29414
29415         * sudo.c:
29416         not set ret to MODE_RUN initially
29417         [88b4983c195b]
29418
29419         * find_path.c:
29420         made command (and therefor cmnd dynamically allocated)
29421         [95b82e32b6de]
29422
29423         * TODO:
29424         did #8
29425         [fb6f41308cdf]
29426
29427         * version.h:
29428         ++
29429         [14112ecab5ae]
29430
29431         * sudo_realpath.c:
29432         changed bufs from MAXPATHLEN to MAXPATHLEN+1
29433         [0ad4f34e55c0]
29434
29435         * sudo.h:
29436         added MODE_ removed validate_only and added remove_timestamp()
29437         [dd5f99c57728]
29438
29439         * sudo.c:
29440         usage() now takes an int (exit value) added parse_args() to parse
29441         command line arguments moved call to find_path() from load_globals
29442         to new function load_cmnd() removed validate_only global -- now use
29443         the concept of "modes" added -h and -k options
29444         [c3887090b28a]
29445
29446         * parse.c:
29447         no longer use global validate_only now checks for command called
29448         "validate" removed check for non-fully qualified commands since that
29449         is done by find_path
29450         [7d56fbd26369]
29451
29452         * find_path.c:
29453         changed MAXPATHLEN r to MAXPATHLEN+1
29454         [a86e8664d971]
29455
29456         * find_path.c:
29457         fixed off by one error with MAXPATHLEN and fixed a comment
29458         [58adcef8c981]
29459
29460         * check.c:
29461         check_timestamp no longer runs reminder(), it is implied in the
29462         return val added remove_timestamp()
29463         [42ab5a77066f]
29464
29465         * CHANGES:
29466         updated
29467         [8e69b31df024]
29468
29469 1994-08-04  Todd C. Miller  <Todd.Miller@courtesan.com>
29470
29471         * BUGS:
29472         fixed on
29473         [bc34f1ac4280]
29474
29475         * sudo_realpath.c:
29476         took out old_errno
29477         [a168d00a0768]
29478
29479         * CHANGES:
29480         updated
29481         [04ba80922df7]
29482
29483 1994-08-03  Todd C. Miller  <Todd.Miller@courtesan.com>
29484
29485         * logging.c:
29486         moved send_mail to after syslog
29487         [4d4188087834]
29488
29489         * sudo.c:
29490         now set SUDO_ envariables
29491         [e5963f1bd3bb]
29492
29493 1994-08-01  Todd C. Miller  <Todd.Miller@courtesan.com>
29494
29495         * version.h:
29496         ++
29497         [2a4534845d8c]
29498
29499         * sudo_realpath.c:
29500         now print error if chdir fails
29501         [0d75c8973d49]
29502
29503         * find_path.c:
29504         removed an XXX
29505         [e2077bcb35aa]
29506
29507 1994-07-26  Todd C. Miller  <Todd.Miller@courtesan.com>
29508
29509         * CHANGES:
29510         updated
29511         [e30a2b39b41a]
29512
29513         * configure.in:
29514         no more static binaries for aix
29515         [77a0beb6bd80]
29516
29517 1994-07-25  Todd C. Miller  <Todd.Miller@courtesan.com>
29518
29519         * INSTALL:
29520         fixed typo
29521         [ba5e0d391bc4]
29522
29523         * sudo_realpath.c:
29524         took out stuff not needed for sudo now does be_root/be_user itself
29525         now uses cwd global
29526         [4f6d4641d793]
29527
29528         * version.h:
29529         +=2
29530         [97da927b297c]
29531
29532         * logging.c, sudo.c:
29533         be_root/be_user is now down in sudo_realpath()
29534         [f331662fa50f]
29535
29536         * logging.c, sudo.h:
29537         now works with 4.2BSD syslog (blech)
29538         [98e39d89dd36]
29539
29540         * find_path.c:
29541         now use sudo_realpath()
29542         [ab436a8ebd02]
29543
29544         * config.h.in:
29545         took out realpth() stuff since we now use sudo_realpath()
29546         [8de5ef9f6044]
29547
29548         * configure.in:
29549         ultrix enhanced sec
29550         [815fb7fffcc0]
29551
29552         * SUPPORTED:
29553         added ultrix enhanced sec.
29554         [6466766c8062]
29555
29556         * INSTALL:
29557         updated
29558         [d681a634297a]
29559
29560         * check.c:
29561         ultrix enhanced security suport
29562         [f10c8decbcc2]
29563
29564         * Makefile.in:
29565         added sudo_realpath.c
29566         [6b9bcd3be022]
29567
29568         * CHANGES:
29569         updated
29570         [2fa8084c1b53]
29571
29572         * tgetpass.c:
29573         increased passwd len to 24 for c2 security
29574         [ec64838be62d]
29575
29576         * BUGS:
29577         updated BUGS
29578         [ca00d8fec2ce]
29579
29580 1994-07-15  Todd C. Miller  <Todd.Miller@courtesan.com>
29581
29582         * check.c:
29583         now use user global var
29584         [568769719013]
29585
29586         * configure.in:
29587         took out -ls
29588         [490a44180d5f]
29589
29590 1994-07-14  Todd C. Miller  <Todd.Miller@courtesan.com>
29591
29592         * configure.in:
29593         added AFS libs
29594         [4fb40c8c01ba]
29595
29596         * sudo.h:
29597         user is now a char * added epasswd
29598         [27a919fafdfb]
29599
29600         * sudo.c:
29601         added tzset() to load_globals added epasswd (encrypted password)
29602         global made user dynamically allocated
29603         [b99ef9bdbfce]
29604
29605         * configure.in:
29606         added tzset test
29607         [27592dd1214b]
29608
29609         * config.h.in:
29610         added HAVE_TZSET
29611         [b13f4213f3d0]
29612
29613         * check.c:
29614         cleaned up encrypted passwd grab somewhat
29615         [c8ba9a4db38a]
29616
29617         * configure.in:
29618         fixed AFS typo
29619         [2bfcbce237b6]
29620
29621         * INSTALL:
29622         added AFS not
29623         [80c67329393c]
29624
29625         * CHANGES:
29626         udpated
29627         [2f09ecdd5d31]
29628
29629         * logging.c:
29630         can now log to both syslog & a file
29631         [4d5c0932bc01]
29632
29633         * sudo.h:
29634         added BOTH_LOGS
29635         [623c539be824]
29636
29637         * CHANGES:
29638         updated
29639         [a1c7f5ef3616]
29640
29641         * configure.in:
29642         --with-AFS
29643         [28718d8f5daf]
29644
29645         * config.h.in:
29646         added HAVE_AFS
29647         [2e32bb4e63e4]
29648
29649         * check.c:
29650         added afs changes
29651         [fe4d0ff320a2]
29652
29653         * sudo.h:
29654         removed AFS stuff :-)
29655         [a40387e6fa27]
29656
29657         * tgetpass.c:
29658         include sys/select for AIX
29659         [f32c5a8f2c84]
29660
29661         * sudo.h:
29662         added AFS
29663         [da2ab3dd0348]
29664
29665         * version.h:
29666         ++
29667         [452d4dfe25af]
29668
29669 1994-07-07  Todd C. Miller  <Todd.Miller@courtesan.com>
29670
29671         * CHANGES, SUPPORTED:
29672         updated
29673         [e7dfe6f23a37]
29674
29675         * logging.c:
29676         can now have MAILER undefined
29677         [1d33b98b35e1]
29678
29679         * INSTALL:
29680         new sub-note about MAILER
29681         [d35c636a0574]
29682
29683         * sudo.man:
29684         added blurb about password timeout
29685         [70c2ee50de20]
29686
29687         * configure.in:
29688         convex c2 changes
29689         [367138a6232e]
29690
29691         * aclocal.m4:
29692         took out duplicate define of _CONVEX_SOURCE
29693         [647182138450]
29694
29695         * Makefile.in:
29696         added OSDEFS
29697         [7fdcd50602d1]
29698
29699         * config.h.in:
29700         added spaces
29701         [f2b8a05e48f3]
29702
29703         * tgetpass.c:
29704         added a goto if fgets fails
29705         [68a6586d9c45]
29706
29707         * sudo.h:
29708         use __hpux not hpux convex c2 stuff
29709         [5c377a8d5f34]
29710
29711         * sudo.c:
29712         use __hpux not hpux
29713         [9363bc0f9f9e]
29714
29715         * logging.c:
29716         convex c2 stuff
29717         [ea5630975ac4]
29718
29719         * config.h.in:
29720         define ansi-ish cpp os defines if non-ansi are defined for hpux &
29721         convex
29722         [664f53a5e786]
29723
29724         * INSTALL:
29725         updated to say we support sonvex C2
29726         [5f2f8b87013e]
29727
29728         * check.c:
29729         added convex c2 support
29730         [9a665d4918fa]
29731
29732 1994-07-01  Todd C. Miller  <Todd.Miller@courtesan.com>
29733
29734         * tgetpass.c:
29735         no more ioctl never returns NULL uses fgets() and select() to
29736         timeout
29737         [b333e6d63e97]
29738
29739 1994-06-29  Todd C. Miller  <Todd.Miller@courtesan.com>
29740
29741         * configure.in:
29742         things were testing -n "$GCC" instead of -z "$GCC"
29743         [059a9b15ede2]
29744
29745         * tgetpass.c:
29746         now works + uses fgets()
29747         [353d7ebcb7bb]
29748
29749 1994-06-28  Todd C. Miller  <Todd.Miller@courtesan.com>
29750
29751         * tgetpass.c:
29752         select doesn't seem to recognize a single '\n' as input waiting so
29753         we can;t use it, sigh.
29754         [f76e3218b835]
29755
29756 1994-06-26  Todd C. Miller  <Todd.Miller@courtesan.com>
29757
29758         * PORTING:
29759         updated tgetpass() blurb
29760         [95baac736b49]
29761
29762         * configure.in:
29763         added --with-getpass
29764         [42ac0bdf58ed]
29765
29766         * Makefile.in:
29767         added tgetpass stuff
29768         [e2b38c635663]
29769
29770         * tgetpass.c:
29771         now uses stdio
29772         [36af8ff66e35]
29773
29774         * version.h:
29775         ++
29776         [4e81c9db19bd]
29777
29778 1994-06-24  Todd C. Miller  <Todd.Miller@courtesan.com>
29779
29780         * PORTING:
29781         updated ,.
29782         [54f523770a05]
29783
29784         * config.h.in:
29785         added USE_GETPASS && HAVE_C2_SECURITY
29786         [86b355cb2953]
29787
29788         * configure.in:
29789         fixed a test aded --with-C2 and --with-tgetpass
29790         [abf6181588ef]
29791
29792         * check.c:
29793         added hpux C2 shit
29794         [20d4177ffa88]
29795
29796         * Makefile.in:
29797         took out tgetpass.*
29798         [cc82fd9984b4]
29799
29800         * INSTALL:
29801         added C2 blurb
29802         [1d2bfc35e4b6]
29803
29804 1994-06-13  Todd C. Miller  <Todd.Miller@courtesan.com>
29805
29806         * configure.in:
29807         no termio(s) for ultrix since it is broken
29808         [d3e82e835350]
29809
29810         * check.c:
29811         added a space (yeah, anal)
29812         [05e4b31ca68c]
29813
29814         * realpath.c, sudo_realpath.c:
29815         fixed it (duh, rtfm)
29816         [f13097cb8cb6]
29817
29818 1994-06-08  Todd C. Miller  <Todd.Miller@courtesan.com>
29819
29820         * config.h.in:
29821         took out bsd signal stuff for irix
29822         [e179cdafc97a]
29823
29824         * visudo.c:
29825         comments in #endif
29826         [e3a629190f5e]
29827
29828         * configure.in:
29829         don't define BSD signals for irix
29830         [3ce57bffb7f0]
29831
29832         * TODO:
29833         did some...
29834         [274241cd0f74]
29835
29836         * CHANGES:
29837         updated
29838         [8f29fc755faf]
29839
29840         * realpath.c, sudo_realpath.c:
29841         took out unneeded code by changing where a strings was terminated
29842         [b5564d62d30e]
29843
29844 1994-06-07  Todd C. Miller  <Todd.Miller@courtesan.com>
29845
29846         * realpath.c, sudo_realpath.c:
29847         fix bug where /dirname would return NULL
29848         [b85f470daf26]
29849
29850         * sudo.h:
29851         move __P to config.h
29852         [7763c0ff3f28]
29853
29854         * getcwd.c, getwd.c, realpath.c, sudo_realpath.c:
29855         added errno definition
29856         [4cc9d2d9782a]
29857
29858         * config.h.in:
29859         added __P
29860         [ca06f5aa58f3]
29861
29862         * config.h.in:
29863         added HAVE_FCHDIR
29864         [206d714641e0]
29865
29866         * strdup.c:
29867         now include stdio
29868         [0d8458da0e1d]
29869
29870         * realpath.c, sudo_realpath.c:
29871         now works if no fchdir
29872         [e035911b6722]
29873
29874         * visudo.c:
29875         define SA_RESETHAND to null if not defined
29876         [afec03e84342]
29877
29878         * configure.in:
29879         added check & replace
29880         [c1a65481441c]
29881
29882         * configure.in:
29883         took out -static for nextstep -- it doesn't work
29884         [fa1a1a611743]
29885
29886 1994-06-06  Todd C. Miller  <Todd.Miller@courtesan.com>
29887
29888         * logging.c:
29889         moved #endif to where it belongs
29890         [07d3a8972097]
29891
29892         * SUPPORTED:
29893         correction
29894         [0c1ecba3e5a3]
29895
29896         * configure.in:
29897         now checks for strdup realpath getcwd bzero
29898         [f029a1917515]
29899
29900         * config.h.in:
29901         emulate bzero
29902         [d792352e44a3]
29903
29904         * visudo.c:
29905         added posic signals
29906         [2ed0005f90fc]
29907
29908         * tgetpass.c:
29909         bzero cast
29910         [6d91b1a1526f]
29911
29912         * logging.c:
29913         added posix signals
29914         [67ede9c22a05]
29915
29916         * configure.in:
29917         removed BROKEN_GETPASS added new srcs toreplace missing functions
29918         [cf44274bb1c8]
29919
29920         * config.h.in:
29921         added posix signal stuff
29922         [a3c1c98fe8ef]
29923
29924         * Makefile.in:
29925         added new srcs
29926         [b6a079afee47]
29927
29928         * visudo.c:
29929         updated useag
29930         [589ed091c44f]
29931
29932         * tgetpass.c:
29933         now uses posix signals
29934         [30f74964074f]
29935
29936         * PORTING:
29937         updated sto reflect major changes
29938         [bcfc309e017b]
29939
29940         * CHANGES, TODO:
29941         updated
29942         [23aacbd54278]
29943
29944         * tgetpass.c:
29945         uses sysconf() if available
29946         [a27431c90bab]
29947
29948         * sudo.h:
29949         added PASSWORD_TIMEOUT + prototypes for new functions
29950         [d7473c2f77c4]
29951
29952         * realpath.c, sudo_realpath.c:
29953         for those w/o this in libc
29954         [1e47aa7a9d46]
29955
29956         * getcwd.c, getwd.c:
29957         Initial revision
29958         [c90dea57a84f]
29959
29960         * find_path.c:
29961         rewrote to use realpath(3) - nis now all my code
29962         [d2c3bb8fb37d]
29963
29964         * config.h.in:
29965         added HAVE_REALPATH
29966         [02c10352a8c7]
29967
29968         * check.c:
29969         now use tgetpass
29970         [b5c021fc179f]
29971
29972         * Makefile.in:
29973         added LIBOBJS use tgetpass.c
29974         [230a7b3eeaa3]
29975
29976 1994-06-05  Todd C. Miller  <Todd.Miller@courtesan.com>
29977
29978         * tgetpass.c:
29979         works now :-)
29980         [025e7a3875ba]
29981
29982         * tgetpass.c:
29983         Initial revision
29984         [3316ab33b230]
29985
29986         * pathnames.h.in:
29987         added /dev/tty
29988         [29242585e53f]
29989
29990 1994-06-04  Todd C. Miller  <Todd.Miller@courtesan.com>
29991
29992         * version.h:
29993         incremented
29994         [f2e54b48280f]
29995
29996         * sudo.c:
29997         always use getcwd
29998         [c6068e8a4029]
29999
30000         * config.h.in:
30001         added check for getwd
30002         [ab1e102ad673]
30003
30004         * configure.in:
30005         replace strdup & realpath & getcwd if missing
30006         [b0eb14f2a1c3]
30007
30008         * pathnames.h.in:
30009         added _PATH_PWD
30010         [309d2388f69a]
30011
30012         * aclocal.m4:
30013         added SUDO_PROG_PWD
30014         [e16e85deb96c]
30015
30016         * strdup.c:
30017         Initial revision
30018         [810efdc15007]
30019
30020         * realpath.c, sudo_realpath.c:
30021         Initial revision
30022         [d85eee438e09]
30023
30024 1994-06-03  Todd C. Miller  <Todd.Miller@courtesan.com>
30025
30026         * configure.in:
30027         quoted quare brackets
30028         [d0e7ca111d98]
30029
30030 1994-06-02  Todd C. Miller  <Todd.Miller@courtesan.com>
30031
30032         * sudo.c:
30033         no need to strdup() a constant
30034         [a8c44712df9a]
30035
30036         * CHANGES:
30037         updated
30038         [71364129cca0]
30039
30040         * sudo.man:
30041         added validate
30042         [0bb198095a26]
30043
30044         * sudo.c:
30045         added -v to usage
30046         [31ea71f11dbb]
30047
30048         * parse.c, sudo.c, sudo.h:
30049         added validate_only stuff
30050         [9bcd853d3c90]
30051
30052 1994-05-30  Todd C. Miller  <Todd.Miller@courtesan.com>
30053
30054         * configure.in:
30055         now finds sed
30056         [6374bb0d3f28]
30057
30058         * aclocal.m4:
30059         $OSREV is now an int
30060         [ace0666d66cf]
30061
30062 1994-05-29  Todd C. Miller  <Todd.Miller@courtesan.com>
30063
30064         * configure.in:
30065         added mtxinu to caser
30066         [73a776887b16]
30067
30068         * sudo.h:
30069         added EXEC macro
30070         [2e8eb28b710a]
30071
30072         * sudo.c:
30073         now use the EXEC nmacro now only do a gethostbyname() if FQDN is set
30074         [56afb4f658d5]
30075
30076         * logging.c:
30077         changed mail_argv[] def now use EXEC() macro
30078         [ddcabd28edb1]
30079
30080         * check.c:
30081         took out crypt() definition
30082         [0e657724cf5f]
30083
30084         * version.h:
30085         upped the version
30086         [62c5d66119fc]
30087
30088         * configure.in:
30089         always look for -lnsl
30090         [d7b594f0313b]
30091
30092         * aclocal.m4:
30093         added an echo
30094         [1caae3491dc5]
30095
30096         * sudo.h:
30097         SHORT_MESSAGE is now the default
30098         [cfce35c3119a]
30099
30100         * config.h.in:
30101         fixed typo
30102         [6499a564bf75]
30103
30104         * configure.in:
30105         added missing AC_DEFINE(SVR4) for solaris
30106         [feef0b17b94f]
30107
30108         * sudo.man:
30109         documented the -v flag
30110         [a6429f2bc2cf]
30111
30112         * SUPPORTED:
30113         updated
30114         [088886e79540]
30115
30116         * check.c:
30117         proto-ized crypt()
30118         [801e4ff5b121]
30119
30120         * config.h.in:
30121         added LIBSHADOW undef
30122         [8df588e9ee2b]
30123
30124         * configure.in:
30125         nwo set OS to be lowercase
30126         [561ebed833e4]
30127
30128 1994-05-28  Todd C. Miller  <Todd.Miller@courtesan.com>
30129
30130         * configure.in:
30131         now use SUDO_OSTYPE to set $OS
30132         [0e60aee23098]
30133
30134         * aclocal.m4:
30135         now use uname to determine os
30136         [99705e58d400]
30137
30138         * visudo.c:
30139         added prototypes & moved sig handler around
30140         [1f0bc8d23b51]
30141
30142         * sudo.h:
30143         added prototyppes
30144         [be3935a2b163]
30145
30146         * check.c, logging.c, sudo.c:
30147         added prototypes
30148         [2079b4605ab8]
30149
30150         * parse.c:
30151         added comment
30152         [a34d147d8399]
30153
30154         * config.h.in:
30155         nwo use _BSD_SIGNALS not _BSD_COMPAT
30156         [63663195f047]
30157
30158         * aixcrypt.exp:
30159         Initial revision
30160         [890aed08357e]
30161
30162         * Makefile.in:
30163         added aixcrypt.exp
30164         [1005a183105f]
30165
30166         * parse.lex, parse.yacc:
30167         moved config.h to top of includes
30168         [9569c49aa5f3]
30169
30170 1994-05-25  Todd C. Miller  <Todd.Miller@courtesan.com>
30171
30172         * find_path.c:
30173         now don't bitch if get EACCESS (treat like EPERM)
30174         [dbeffb638de4]
30175
30176         * visudo.c:
30177         added -v flag and usage()
30178         [4d44ed60ed75]
30179
30180         * version.h:
30181         fixed a typo
30182         [cf3f9347ae41]
30183
30184         * sudo.c:
30185         cast Argv to a const for exec added -v flag
30186         [d11b6efc0e45]
30187
30188         * logging.c:
30189         mail_argv is now a const
30190         [93bb5d90bb6f]
30191
30192         * configure.in:
30193         only set RETSIGTYPE if it is not set already
30194         [c97aac260b77]
30195
30196         * aclocal.m4:
30197         now defines & STDC_HEADERS for Irix
30198         [9c2b24ad1fc5]
30199
30200         * Makefile.in:
30201         added version.h
30202         [9f79e880229a]
30203
30204         * insults.h, sudo.h:
30205         prevent multiple inclusion
30206         [d68c8a9243ce]
30207
30208         * version.h:
30209         Initial revision
30210         [dbb39c5ef8d9]
30211
30212         * parse.lex, parse.yacc:
30213         now includes config.h
30214         [f117e036a56b]
30215
30216         * aclocal.m4:
30217         now talks about sunos 4.x
30218         [c9054aa92d4e]
30219
30220         * visudo.c:
30221         calls to Exit now pass an arg
30222         [a92104670551]
30223
30224 1994-05-24  Todd C. Miller  <Todd.Miller@courtesan.com>
30225
30226         * visudo.c:
30227         signal handler now takes an int argument
30228         [26f480c41523]
30229
30230         * CHANGES:
30231         updated
30232         [8c166a9d796b]
30233
30234         * sudo.c:
30235         ok, the getcwd() is now *really* done as the user
30236         [ab86cf85134a]
30237
30238         * configure.in:
30239         changed AIX STATIC_FLAGS
30240         [b9c0a3ba5663]
30241
30242         * aclocal.m4:
30243         solaris now defines SVR4
30244         [c3e20cac96f5]
30245
30246         * sudo.h:
30247         added cwd and fixed stupid core dump that makes no sense. sigh.
30248         [7a9755436dbb]
30249
30250         * sudo.c:
30251         moved getcwd stuff into load_globals
30252         [ec2bc90df1f3]
30253
30254         * parse.c:
30255         took out externs that are in suod.h
30256         [93c4b3f856d7]
30257
30258         * logging.c:
30259         moved cwd into load_globals
30260         [050de754d228]
30261
30262         * find_path.c:
30263         moved cwd stuff
30264         [22f3f3b4c34d]
30265
30266         * Makefile.in:
30267         fixed make distclean & realclean
30268         [c9964d89bcef]
30269
30270         * TODO:
30271         updated .,
30272         [e513581ef0e3]
30273
30274         * CHANGES:
30275         added solaris changes
30276         [505d930daf27]
30277
30278         * aclocal.m4:
30279         added solaris changes, need to rework
30280         [33f20fb16c49]
30281
30282         * configure.in:
30283         cleaned up for solaris
30284         [2fb8cfa05d0f]
30285
30286         * logging.c:
30287         reinstall reapchild signal handler for non-bsd signals
30288         [3d1dc545113d]
30289
30290         * sudo.h:
30291         took out getdtablesize() emulation for HP-UX (no longer needed)
30292         [1fc83d170f34]
30293
30294         * sudo.c:
30295         support for HAVE_SYSCONF
30296         [50ca2a7a224a]
30297
30298         * visudo.c:
30299         added <fcntl.h> for solaris & reorg'd the includes + minor prettying
30300         up /
30301         [0a570e826dd4]
30302
30303         * config.h.in:
30304         added HAVE_SYSCONF
30305         [2b9a9f3a4e94]
30306
30307 1994-05-16  Todd C. Miller  <Todd.Miller@courtesan.com>
30308
30309         * configure.in:
30310         now tells you what os you are running /.
30311         [06c6332a895b]
30312
30313         * aclocal.m4:
30314         took out extra ','
30315         [e8c75ce59f4a]
30316
30317 1994-05-14  Todd C. Miller  <Todd.Miller@courtesan.com>
30318
30319         * config.h.in:
30320         added _BSD_COMPAT
30321         [73c5099806c2]
30322
30323         * aclocal.m4:
30324         fixed for irix5
30325         [1047d1f6c0eb]
30326
30327         * CHANGES:
30328         updated
30329         [1bc4969fee96]
30330
30331         * sudo.c:
30332         uid seinitialized to -2
30333         [8d7812b1878b]
30334
30335 1994-04-28  Todd C. Miller  <Todd.Miller@courtesan.com>
30336
30337         * sudo.c:
30338         now removes LIBPATH for AIX
30339         [075392eb1dd9]
30340
30341 1994-03-13  Todd C. Miller  <Todd.Miller@courtesan.com>
30342
30343         * configure.in:
30344         now uses ufc if it finds it
30345         [ab6ce30a5958]
30346
30347 1994-03-12  Todd C. Miller  <Todd.Miller@courtesan.com>
30348
30349         * sudo.h:
30350         no longer define yyval & yylval since yacc does it
30351         [09d250aea50a]
30352
30353         * parse.lex:
30354         now defines yylval as extenr
30355         [8ec2b88952bc]
30356
30357         * configure.in:
30358         BROKEN_GETPASS is now an OPTION
30359         [3714f4bb8312]
30360
30361         * config.h.in:
30362         took out BROKEN_GETPASS
30363         [9c4f6aa50137]
30364
30365         * Makefile.in:
30366         took out big comment
30367         [4c13cff0e556]
30368
30369         * README:
30370         updated
30371         [b8b9902b620d]
30372
30373         * Makefile.in:
30374         took out README.beta
30375         [ed2cd861e82b]
30376
30377         * SUPPORTED:
30378         Initial revision
30379         [2fffc51e6606]
30380
30381         * INSTALL:
30382         now reference SUPPORTED .,
30383         [d112c30be1f2]
30384
30385         * config.h.in:
30386         now check for convex OR __convex__
30387         [a0e5701a3069]
30388
30389         * aclocal.m4:
30390         now check for convex or __convex__
30391         [5dae2bfbe3bc]
30392
30393         * Makefile.in:
30394         added dist target
30395         [400a54de57db]
30396
30397         * aclocal.m4:
30398         use __convex__
30399         [58a19470ed0b]
30400
30401         * find_path.c:
30402         now use _S_* stat stuff to be ansi-like
30403         [28cce560e048]
30404
30405         * INSTALL:
30406         updated for configure directions
30407         [a034ccc7c30a]
30408
30409         * Makefile.in:
30410         distclean now removes config.h and pathnames.h
30411         [300f2349b4ab]
30412
30413         * CHANGES:
30414         updated
30415         [646f7e9430c1]
30416
30417         * TODO:
30418         fixed typoe
30419         [70fd6361b2bc]
30420
30421         * visudo.c:
30422         updated version
30423         [cf13d87d789f]
30424
30425         * Makefile.in:
30426         updated version
30427         [8c5dacc27a7a]
30428
30429         * config.h.in, pathnames.h.in:
30430         added copyright header
30431         [747ce3d3d6b7]
30432
30433         * check.c, find_path.c, insults.h, logging.c, parse.c, parse.lex,
30434         parse.yacc, sudo.c, sudo.h:
30435         udpated version
30436         [4751c39bad18]
30437
30438         * visudo.c:
30439         udpated to use configure + pathnames.h
30440         [d45dff76a1cd]
30441
30442         * aclocal.m4:
30443         updated
30444         [f05a367a55be]
30445
30446         * Makefile.in, config.h.in, configure.in:
30447         updated
30448         [524778598879]
30449
30450         * sudo.h:
30451         now works with configure
30452         [83fc40e533f4]
30453
30454         * check.c, find_path.c, getpass.c, logging.c, parse.c, sudo.c:
30455         updated to work with configure + pathnames.h
30456         [cb67fa6ab52d]
30457
30458         * Makefile.in:
30459         added LEXLIB
30460         [f43cad4ab0a2]
30461
30462 1994-03-10  Todd C. Miller  <Todd.Miller@courtesan.com>
30463
30464         * COPYING:
30465         updated gnu general licence to versio 2
30466         [2b0b56112ddc]
30467
30468         * config.h.in, pathnames.h.in:
30469         Initial revision
30470         [4b586f39ec2d]
30471
30472         * sudo.h:
30473         changed to work with configure
30474         [13f3506ddf16]
30475
30476 1994-03-09  Todd C. Miller  <Todd.Miller@courtesan.com>
30477
30478         * Makefile.in, aclocal.m4, configure.in:
30479         Initial revision
30480         [a8636ae77371]
30481
30482         * visudo.c:
30483         now uses defines used by configure
30484         [de438d118993]
30485
30486 1994-03-01  Todd C. Miller  <Todd.Miller@courtesan.com>
30487
30488         * find_path.c:
30489         sudo won't bitch about EPERM now, for real
30490         [ce26d9ef7e3f]
30491
30492 1994-02-28  Todd C. Miller  <Todd.Miller@courtesan.com>
30493
30494         * logging.c:
30495         renamed exec_argv to eliminate a libc name clash with ksros
30496         [bcb4350d8411]
30497
30498         * CHANGES:
30499         corrected
30500         [dae68d422efd]
30501
30502         * logging.c, sudo.c, sudo.h:
30503         execve -> execv
30504         [40cc2c4bdb15]
30505
30506         * TODO:
30507         upated
30508         [9275a8b8fc45]
30509
30510         * PORTING:
30511         added 2 mroe items
30512         [6cbb5c56993c]
30513
30514         * CHANGES:
30515         updated
30516         [73f34f8e571a]
30517
30518         * sudo.h:
30519         added UMASK and mode_t declaration
30520         [7c2015e1d171]
30521
30522         * sudo.c:
30523         added UMASK
30524         [d37be7523680]
30525
30526         * logging.c:
30527         now opens log file with mode 077
30528         [0825cc3ee841]
30529
30530         * check.c:
30531         saved current umask ans restores it
30532         [659c1aaae8e8]
30533
30534         * sudo.h:
30535         added MAXLOGFILELEN
30536         [34331c7dee90]
30537
30538         * logging.c:
30539         split long log lines. FOr syslog, split into multiple entries, for
30540         a log file, indent the extra for readability
30541         [72c9e4cdba6e]
30542
30543 1994-02-27  Todd C. Miller  <Todd.Miller@courtesan.com>
30544
30545         * CHANGES:
30546         added changes
30547         [81196833673d]
30548
30549         * sudo.h:
30550         MAXLOGLEN & MAXSYSLOGLEN are now different (as they should be)
30551         [1aa69e903840]
30552
30553 1994-02-25  Todd C. Miller  <Todd.Miller@courtesan.com>
30554
30555         * TODO:
30556         added input from Brett M Hogden <hogden@rge.com>
30557         [80f01fc88ce9]
30558
30559 1994-02-16  Todd C. Miller  <Todd.Miller@courtesan.com>
30560
30561         * sudo.c:
30562         added rmenv() to remove stuff from environ. can now uses execvp()
30563         OR execve() becuase of this.
30564         [e7fc2535bd67]
30565
30566         * logging.c:
30567         now uses execvp() OR execve()
30568         [56391aa1f99d]
30569
30570         * sudo.h:
30571         added USE_EXECVE
30572         [f21f38050b95]
30573
30574         * sudo.h:
30575         added environ
30576         [6b805e23c6f6]
30577
30578         * find_path.c:
30579         now ignore EPERM
30580         [c8fd7117a1d7]
30581
30582         * sudo.h:
30583         moved some func decls out of sudo.h and into sudo.c as statics /.
30584         [5f555c267d27]
30585
30586         * CHANGES:
30587         updated
30588         [431f478af320]
30589
30590         * sudo.h:
30591         took out Envp
30592         [6f722be7793d]
30593
30594 1994-02-14  Todd C. Miller  <Todd.Miller@courtesan.com>
30595
30596         * BUGS:
30597         Initial revision
30598         [4a8ecf0da95c]
30599
30600 1994-02-10  Todd C. Miller  <Todd.Miller@courtesan.com>
30601
30602         * CHANGES:
30603         added SECURE_PATH
30604         [1c72cb222609]
30605
30606         * sudo.c, sudo.h:
30607         added SECURE_PATH
30608         [5bf5357a63c5]
30609
30610         * sudo.h:
30611         added SECURE_PATH
30612         [3976a74405ac]
30613
30614         * INSTALL:
30615         added sample.sudoers note
30616         [1b395d29aaeb]
30617
30618         * sudoers:
30619         Initial revision
30620         [485888d07477]
30621
30622 1994-02-09  Todd C. Miller  <Todd.Miller@courtesan.com>
30623
30624         * find_path.c:
30625         fixed typo
30626         [bfc3cc4d41ca]
30627
30628         * PORTING:
30629         took out SAVED_UID garbage
30630         [b7c2d3469661] [SUDO_1_3_0]
30631
30632         * INSTALL:
30633         mentioned HAL
30634         [253d6695df90]
30635
30636         * sudo.h:
30637         added HAL line
30638         [29ec1a4ac6de]
30639
30640         * insults.h:
30641         added HAL insults
30642         [7d7c96d77c74]
30643
30644         * TODO:
30645         updated
30646         [aa2ed9790586]
30647
30648         * logging.c:
30649         more verbose error if mailer not found
30650         [fca47fd00cb6]
30651
30652         * check.c:
30653         now do getpwent as root for soem shadow password systems (bsdi)
30654         [e0339e110d46]
30655
30656 1994-02-08  Todd C. Miller  <Todd.Miller@courtesan.com>
30657
30658         * sudo.h:
30659         took out SAVED_UID garbade
30660         [fcb0e81dcdb5]
30661
30662         * sudo.c:
30663         took out SAVED_UID garbage since it don't work
30664         [507e9513e9c2]
30665
30666 1994-02-06  Todd C. Miller  <Todd.Miller@courtesan.com>
30667
30668         * README:
30669         updated
30670         [d2b6b253dae5]
30671
30672         * insults.h:
30673         added a missing space :-)
30674         [8940ea991f87]
30675
30676         * sudo.c, sudo.h:
30677         took out multimax cruft
30678         [c2606b365181]
30679
30680         * INSTALL:
30681         minor update
30682         [05fb6ee73131]
30683
30684         * PORTING:
30685         finished
30686         [c4ac47c84dc5]
30687
30688         * sudo.c:
30689         fixed a typo + indentation
30690         [7eab40aae8fa]
30691
30692 1994-02-05  Todd C. Miller  <Todd.Miller@courtesan.com>
30693
30694         * sudo.h:
30695         took outumoved some defines to the config file ,. ,.
30696         [defff05beb52]
30697
30698         * PORTING:
30699         Initial revision
30700         [c803e9127959]
30701
30702         * TODO:
30703         did #6
30704         [c6fa1c946c31]
30705
30706         * sudo.h:
30707         added HAS_SAVED_UID
30708         [6a88a39c0a07]
30709
30710         * sudo.c:
30711         put back AIX cruft
30712         [a24d2507ddd4]
30713
30714 1994-02-03  Todd C. Miller  <Todd.Miller@courtesan.com>
30715
30716         * sudo.c:
30717         aix changes
30718         [1663915f754a]
30719
30720 1994-02-02  Todd C. Miller  <Todd.Miller@courtesan.com>
30721
30722         * CHANGES:
30723         updated
30724         [a8cc73747cae]
30725
30726         * check.c, logging.c, parse.c, sudo.c, sudo.h:
30727         now is only root when abs necesary
30728         [3c9d12c5cdfe]
30729
30730         * check.c:
30731         added missing %s\n
30732         [609320b72d89]
30733
30734 1994-01-31  Todd C. Miller  <Todd.Miller@courtesan.com>
30735
30736         * install-sh:
30737         Initial revision
30738         [b5bba140a175]
30739
30740         * TODO:
30741         updated
30742         [c9d2eba602af]
30743
30744         * CHANGES:
30745         updated
30746         [932f1fc3bb14]
30747
30748         * sudo.c:
30749         now removed _RLD_* for alphas
30750         [54a36e648158]
30751
30752         * INSTALL:
30753         updated for new config scheme
30754         [61c8ae800444]
30755
30756         * find_path.c:
30757         more verbose eror messages
30758         [b4fd123db42d]
30759
30760 1994-01-27  Todd C. Miller  <Todd.Miller@courtesan.com>
30761
30762         * TODO:
30763         now have solaris
30764         [371002fbf266]
30765
30766         * sudo.h:
30767         define __svr4__ for SOLARIS
30768         [0b5cf5ed936d]
30769
30770         * check.c:
30771         added svr4 junk for shadow pws for solaris 2.x
30772         [91ed58f21618]
30773
30774         * check.c, sudo.c:
30775         took out setuid(0) and setreuid(udi) garbage. Its not needed since
30776         we start out setuid with the correct perms.
30777         [07689e782b0b]
30778
30779         * check.c, sudo.c, sudo.h:
30780         now use setreuid()
30781         [7d64d685d78e]
30782
30783 1994-01-26  Todd C. Miller  <Todd.Miller@courtesan.com>
30784
30785         * sudo.man:
30786         revised AUTHORS secrtion & added ENV_EDITOR stuff to VARIABLES
30787         sectoin
30788         [b26967b1e19b]
30789
30790         * visudo.c:
30791         now uses ENV_EDITOR if you want to use the EDITOR envar
30792         [a4f8fcb9bd1d]
30793
30794         * sudo.h:
30795         now uses ENV_EDITOR if you want to use the EDITOR envar >> .
30796         [028cc55c4328]
30797
30798 1993-12-07  Todd C. Miller  <Todd.Miller@courtesan.com>
30799
30800         * INSTALL:
30801         rewrote most of this
30802         [a6750923f9c9]
30803
30804         * README:
30805         minor update + spell fix
30806         [a411717a7249]
30807
30808         * sudo.h:
30809         added all options that are in the Makefile
30810         [6db3b3b841b3]
30811
30812         * getpass.c:
30813         now use USE_TERMIO #define for sgi & hpux
30814         [b91f89ae6be1]
30815
30816         * TODO:
30817         todo: posix sigs
30818         [4548a56eb2ef]
30819
30820 1993-12-06  Todd C. Miller  <Todd.Miller@courtesan.com>
30821
30822         * check.c, find_path.c:
30823         always include strings.h
30824         [1fc20bda92c0]
30825
30826         * visudo.c:
30827         added STATICEDITOR
30828         [0596f820716e]
30829
30830         * sudo.h:
30831         sgi has vi in /usr/bin too
30832         [94203b62bfd9]
30833
30834         * sudo.man:
30835         added VISUAL
30836         [87c2844c4cac]
30837
30838 1993-12-03  Todd C. Miller  <Todd.Miller@courtesan.com>
30839
30840         * sudo.h:
30841         sue /usr/bin/vi on some systems
30842         [e3ad9190f35e]
30843
30844         * sudo.c:
30845         fixed warning (include strings.h)
30846         [0b896de4d8a0]
30847
30848         * sudo.man:
30849         added John_Rouillard@dl5000.bc.edu's changes (new features)
30850         [f41b4205a8cf]
30851
30852         * CHANGES:
30853         changes from John_Rouillard@dl5000.bc.edu
30854         [6bdef8e948d5]
30855
30856         * visudo.c:
30857         added EDITOR envar
30858         [5c4bf716de21]
30859
30860         * check.c, find_path.c, parse.c, sudo.c:
30861         added patches from John_Rouillard directory spec
30862         uses EDITOR
30863         [f62a435f8c41]
30864
30865 1993-12-02  Todd C. Miller  <Todd.Miller@courtesan.com>
30866
30867         * getpass.c:
30868         added flush for hpux
30869         [07cfdd6a7b55]
30870
30871 1993-11-30  Todd C. Miller  <Todd.Miller@courtesan.com>
30872
30873         * sudo.c:
30874         no longer assume malloc returns a char *
30875         [7480bd2756f3]
30876
30877         * sudo.c:
30878         alpha change to remove LD_-like thing fixed SHLIB_PATH stuff -- now
30879         gets removed correctly
30880         [8587166c6ac8]
30881
30882         * sudo.h:
30883         added STD_HEADERS macro
30884         [480f5a9a516c]
30885
30886         * sudo.c:
30887         now uses STD_HEADERS macor for ansi
30888         [c5018806fd59]
30889
30890         * find_path.c:
30891         now uses STD_HEADERS macro
30892         [ad821e0788ea]
30893
30894         * check.c:
30895         niceties for C compiler bitches -- no real change
30896         [0fc0b1a5fb64]
30897
30898 1993-11-29  Todd C. Miller  <Todd.Miller@courtesan.com>
30899
30900         * visudo.c:
30901         now doesn't fclose a file never opened.
30902         [ee888ec9427d]
30903
30904 1993-11-28  Todd C. Miller  <Todd.Miller@courtesan.com>
30905
30906         * sudo.man:
30907         added visudo line
30908         [698d51c66407]
30909
30910         * sudo.man:
30911         added error stuff added me in there...
30912         [d202fd34b906]
30913
30914         * CHANGES:
30915         noted insults
30916         [998a22c2230c]
30917
30918         * INSTALL:
30919         added blurb about reading stuff
30920         [e71db100798f]
30921
30922         * sudo.h:
30923         added insults
30924         [c110431cec56]
30925
30926         * insults.h:
30927         corrected somments and removed newlines
30928         [493706fd488c]
30929
30930         * check.c:
30931         now uses insults
30932         [6d23cf06a0ef]
30933
30934         * insults.h:
30935         Initial revision
30936         [83153c26b4a3]
30937
30938         * INSTALL:
30939         added dec syslog note
30940         [555437273237]
30941
30942         * sample.sudoers:
30943         added real stuff in there
30944         [53442a7fba78]
30945
30946         * TODO:
30947         added a todo
30948         [c630472bd4dc]
30949
30950         * TODO:
30951         added one
30952         [806464453284]
30953
30954 1993-11-27  Todd C. Miller  <Todd.Miller@courtesan.com>
30955
30956         * sample.sudoers:
30957         Initial revision
30958         [7db0a9f1ca8f]
30959
30960         * sudo.man:
30961         updated with changes
30962         [d9bf254c6c08]
30963
30964         * sudo.man:
30965         Initial revision
30966         [dd6f11174ac6]
30967
30968         * indent.pro:
30969         Initial revision
30970         [dbfbb494fad9]
30971
30972         * CHANGES, COPYING, INSTALL, README, TODO:
30973         Initial revision
30974         [6d98f489a079]
30975
30976         * visudo.c:
30977         updated version number and took out jeff's old addr since it is no
30978         good
30979         [ee47c24818cb]
30980
30981         * check.c, find_path.c, logging.c, parse.c, parse.lex, parse.yacc,
30982         sudo.c, sudo.h:
30983         updated version number and took out jeff's email (since it is
30984         invalid)
30985         [54616458a52e]
30986
30987 1993-10-28  Todd C. Miller  <Todd.Miller@courtesan.com>
30988
30989         * check.c:
30990         added fflush()
30991         [145c881f4fb4]
30992
30993 1993-10-23  Todd C. Miller  <Todd.Miller@courtesan.com>
30994
30995         * find_path.c:
30996         now return NULL instead pf\b\bof exiting for nopn\b\bn-fatal errors
30997         [8bc74f8cb1ae]
30998
30999 1993-10-21  Todd C. Miller  <Todd.Miller@courtesan.com>
31000
31001         * check.c:
31002         new banner
31003         [5387ab2af516]
31004
31005         * parse.lex:
31006         now sudo.h gets included first
31007         [2acb01c18e18]
31008
31009 1993-10-18  Todd C. Miller  <Todd.Miller@courtesan.com>
31010
31011         * parse.lex:
31012         now can use flex
31013         [164d3839adf0]
31014
31015         * sudo.h:
31016         linux patch
31017         [f1b6b1b1a2ca]
31018
31019         * sudo.c:
31020         hpux 9 fix, removes SHLIB_PATH linux patch
31021         [67611dc1737f]
31022
31023         * check.c:
31024         linux diff
31025         [c24536682397]
31026
31027 1993-10-15  Todd C. Miller  <Todd.Miller@courtesan.com>
31028
31029         * find_path.c:
31030         stat now ignores EINVAL
31031         [c7761a5dc642]
31032
31033 1993-10-06  Todd C. Miller  <Todd.Miller@courtesan.com>
31034
31035         * find_path.c, sudo.c:
31036         now declare strdup as extern
31037         [6b7d6f8784b5]
31038
31039 1993-10-04  Todd C. Miller  <Todd.Miller@courtesan.com>
31040
31041         * visudo.c:
31042         reformatted with indent + by hand
31043         [9d43084e4990]
31044
31045         * check.c, find_path.c, getpass.c, logging.c, parse.c, sudo.c, sudo.h:
31046         used indent to "fix" coding style
31047         [489ffacbdc70]
31048
31049         * find_path.c:
31050         now checks '.' or '.' or '' in PATH -- but does it LAST should maybe
31051         move the code that does this into the loop body. makes it messier
31052         tho. hmmm.
31053         [c4d22b48da9a]
31054
31055 1993-09-08  Todd C. Miller  <Todd.Miller@courtesan.com>
31056
31057         * find_path.c:
31058         redid the fix for non-executable files in an easier to read way plus
31059         some minor aethetic changes
31060         [84fe337f1426]
31061
31062         * find_path.c:
31063         fixed bug with non-executable tings of same name in path introduced
31064         by checkig errno after stat(2).
31065         [c2a812cfcbc1]
31066
31067 1993-09-05  Todd C. Miller  <Todd.Miller@courtesan.com>
31068
31069         * sudo.c:
31070         fixed off by one error
31071         [fabb7cee0041]
31072
31073         * find_path.c:
31074         now handles decending below '/' correctly
31075         [5d2ddfc0b220]
31076
31077         * sudo.c:
31078         now actually builds Envp instead of munging envp
31079         [bdc4b08f6898]
31080
31081 1993-09-04  Todd C. Miller  <Todd.Miller@courtesan.com>
31082
31083         * parse.yacc:
31084         now includes sys/param.h
31085         [efbb494ab4de]
31086
31087         * visudo.c:
31088         now includes sys/param.h
31089         [ad6c91d59958]
31090
31091         * sudo.h:
31092         fixed ifndef -> ifdef
31093         [7aebe822d863]
31094
31095         * qualify.c:
31096         make more like find_path.c
31097         [853b2dab2e03]
31098
31099         * find_path.c:
31100         rewritten by millert
31101         [c6a043cc11b3]
31102
31103         * sudo.h:
31104         fixed MAXCOMMANDLENGTH now uses USE_CWD and NEED_STRDUP added info
31105         about new defines in the comment
31106         [39ffefce3aec]
31107
31108         * logging.c:
31109         now uses USE_CWD
31110         [fa0f3b118bb3]
31111
31112         * sudo.h:
31113         added delc for clean_envp() and Envp
31114         [a12034e300c2]
31115
31116         * sudo.c:
31117         now rips LD_* env vars out of envp and passed sanitized Envp to exec
31118         [d201a218e056]
31119
31120         * logging.c:
31121         now uses execve()
31122         [f3e01032cd33]
31123
31124         * find_path.c:
31125         ENOTDIR is ok now too (in case part of the path is bogus)
31126         [b5cbbb201bb5]
31127
31128         * qualify.c:
31129         now works correctly (ttaltotal rewrite)
31130         [0c25d64a5c68]
31131
31132         * parse.lex:
31133         now includes sys/param.h didn't match trailing / -- fix from
31134         rouilj@cs.umb.edu
31135         [b6363ba110af]
31136
31137 1993-06-11  Todd C. Miller  <Todd.Miller@courtesan.com>
31138
31139         * sudo.c:
31140         moved around the #ifndef _AIX
31141         [7d4330950c20]
31142
31143         * check.c, logging.c, parse.c:
31144         Initial revision
31145         [c101e9572d7f]
31146
31147 1993-03-20  Todd C. Miller  <Todd.Miller@courtesan.com>
31148
31149         * qualify.c:
31150         Initial revision
31151         [5a5f21d0e0bf]
31152
31153 1993-03-13  Todd C. Miller  <Todd.Miller@courtesan.com>
31154
31155         * find_path.c:
31156         now works if you do sudo bin/test
31157         [07835120ce43]
31158
31159         * find_path.c:
31160         works
31161         [c3da8b5efa20]
31162
31163 1993-03-02  Todd C. Miller  <Todd.Miller@courtesan.com>
31164
31165         * sudo.h:
31166         Initial revision
31167         [28a1caa38b72]
31168
31169         * visudo.c:
31170         Initial revision
31171         [0e5cd7c3cdbe]
31172
31173         * parse.lex, parse.yacc:
31174         Initial revision
31175         [5f2d0cccb06b]
31176
31177 1993-02-16  Todd C. Miller  <Todd.Miller@courtesan.com>
31178
31179         * sudo.c:
31180         took out errno.h
31181         [7466431a2655]
31182
31183         * sudo.c:
31184         now spews error if exec fails and exits with -1
31185         [e5c41ea725c1]
31186
31187         * sudo.c:
31188         Initial revision
31189         [8aeabe39a0c2]
31190
31191         * find_path.c:
31192         now only execs files with (an) executable bit set.
31193         [0a451f9c0e58]
31194
31195         * find_path.c:
31196         Initial revision
31197         [02a534891a35]
31198
31199 1993-02-15  Todd C. Miller  <Todd.Miller@courtesan.com>
31200
31201         * getpass.c:
31202         added nice comment
31203         [ea8b2aaa9389]
31204
31205         * getpass.c:
31206         now works on sgi's
31207         [bf2b7c6d0960]
31208
31209         * getpass.c:
31210         Initial revision
31211         [9f4de251c1b5]
31212