12013-02-25  Todd C. Miller  <Todd.Miller@courtesan.com>
2
3	* .hgtags:
4	Added tag SUDO_1_7_10p7 for changeset ddf399e3e306
5	[23db6a503c5c] [tip] <1.7>
6
72013-02-21  Todd C. Miller  <Todd.Miller@courtesan.com>
8
9	* check.c:
10	Completely ignore time stamp file if it is set to the epoch,
11	regardless of what gettimeofday() returns.
12	[ddf399e3e306] [SUDO_1_7_10p7] <1.7>
13
142013-02-19  Todd C. Miller  <Todd.Miller@courtesan.com>
15
16	* sudo_nss.c:
17	Make display_cmnd() return value match trunk version. Fixes exit
18	status of "sudo -l command".
19	[ac2bf49a24b8] <1.7>
20
212013-02-15  Todd C. Miller  <Todd.Miller@courtesan.com>
22
23	* sudo.c:
24	#include "sudo_usage.h" not <sudo_usage.h> so we get the one in the
25	build directory and not the src dir when using a separate build
26	directory.
27	[5ae0986ff454] <1.7>
28
292013-02-10  Todd C. Miller  <Todd.Miller@courtesan.com>
30
31	* .hgtags:
32	Added tag SUDO_1_7_10p6 for changeset 882475dfa47c
33	[5317840e3275] <1.7>
34
35	* NEWS, configure, configure.in:
36	Sudo 1.7.10p6
37	[882475dfa47c] [SUDO_1_7_10p6] <1.7>
38
39	* INSTALL.configure:
40	Sync with autoconf 2.68
41	[dde57bdf3274] <1.7>
42
43	* sudo.c:
44	Move call the save_signals() to before SIGINT, SIGQUIT and SIGTSTP
45	are set to SIG_IGN.
46	[52cc6817ffba] <1.7>
47
482013-02-08  Todd C. Miller  <Todd.Miller@courtesan.com>
49
50	* check.c, config.h.in, configure, configure.in, sudo.c, sudo.h:
51	Store the session ID in the tty ticket file too. A tty may only be
52	in one session at a time so if the session ID doesn't match we
53	ignore the ticket.
54	[0c0283d1fafa] <1.7>
55
562013-01-31  Todd C. Miller  <Todd.Miller@courtesan.com>
57
58	* .hgtags:
59	Added tag SUDO_1_7_10p5 for changeset 765958d9ee1e
60	[36f1598f6c3c] <1.7>
61
62	* NEWS, configure, configure.in:
63	Sudo 1.7.10p5
64	[765958d9ee1e] [SUDO_1_7_10p5] <1.7>
65
66	* LICENSE:
67	Update copyright year
68	[21762d8d1337] <1.7>
69
70	* visudo.c:
71	Fix potential stack overflow due to infinite recursion in alias
72	cycle detection. From Daniel Kopecek.
73	[f1fc761aaf76] <1.7>
74
75	* ttyname.c:
76	Remove ttyname() fall back code on systems where we can query the
77	kernel for the tty device via /proc or sysctl(). If there is no
78	controlling tty, it is better to just treat the tty as unknown
79	rather than to blindly use what is hooked up to std{in,out,err}.
80	[bfa23f089bba] <1.7>
81
822013-01-15  Todd C. Miller  <Todd.Miller@courtesan.com>
83
84	* .hgtags:
85	Added tag SUDO_1_7_10p4 for changeset a5ea48905d46
86	[4ba58fd849b6] <1.7>
87
88	* NEWS, configure, configure.in:
89	Sudo 1.7.10p4
90	[a5ea48905d46] [SUDO_1_7_10p4] <1.7>
91
92	* configure, configure.in:
93	Use -fstack-protector-all in preference to -fstack-protector where
94	supported and restrict the test to GNU compatible compilers.
95	[672766ba937a] <1.7>
96
97	* Makefile.in, configure, configure.in:
98	Break out stack smashing protector options into SSP_CFLAGS and
99	SSP_LDFLAGS so we can use it everywhere.
100	[74a41089c462] <1.7>
101
102	* visudo.c:
103	Avoid NULL deref for unknown Defaults in strict mode.
104	[037c54fd6d53] <1.7>
105
106	* logging.c, logging.h, sudo.c:
107	Do not inform the user that the command was not permitted by the
108	policy if they do not successfully authenticate. This is a
109	regression introduced in sudo 1.7.10.
110	[6923571cb28c] <1.7>
111
112	* parse_args.c:
113	The -a option should be #ifdef HAVE_BSD_AUTH_H, not -A.
114	[7ce66d3c54ee] <1.7>
115
1162013-01-13  Todd C. Miller  <Todd.Miller@courtesan.com>
117
118	* sudo.c:
119	Add missing call to save_signals().
120	[e12296e5d843] <1.7>
121
1222013-01-01  Todd C. Miller  <Todd.Miller@courtesan.com>
123
124	* CONTRIBUTORS, redblack.c:
125	In rbrepair(), make sure we never try to change the color of the
126	sentinel node, which is the first entry, not the root. From Michael
127	King
128	[e8b03bdea5ae] <1.7>
129
130	* exec_pty.c:
131	No need to restore default signal handler for SIGSTOP as it is not
132	catchable. Attempting to do so is harmless but sigaction() will
133	fail and set errno to EINVAL which makes it looks like there is an
134	error.
135	[1d5359733f70] <1.7>
136
137	* configure, configure.in:
138	Disable PIE on FreeBSD/ia64, otherwise sudo will segfault.
139	[b6f3c7d5fb77] <1.7>
140
1412012-11-13  Todd C. Miller  <Todd.Miller@courtesan.com>
142
143	* set_perms.c:
144	For PERM_ROOT set egid to 0 so log files are not created with the
145	gid of the user.
146	[2d7355c3e38a] <1.7>
147
148	* iolog.c, set_perms.c, sudo.c, sudo.h:
149	Set gid to 0 when creating I/O log directories.
150	[2b549cf3ad51] <1.7>
151
152	* pp:
153	sync with upstream
154	[11717f6ac541] <1.7>
155
156	* Makefile.in:
157	Add support for SUDO_PREINSTALL_CMD so we can correct the LDAP lib
158	path for HP-UX SOM binaries.
159	[eda51429357f] <1.7>
160
1612012-09-28  Todd C. Miller  <Todd.Miller@courtesan.com>
162
163	* TROUBLESHOOTING:
164	Mention HP-UX pam.conf settings.
165	[52bf85b1d3b2] <1.7>
166
1672012-09-24  Todd C. Miller  <Todd.Miller@courtesan.com>
168
169	* exec_pty.c:
170	Fix running commands that need the terminal in the background when
171	I/O logging is enabled. E.g. "sudo vi &". When the command is
172	foregrounded, it will now resume properly.
173	[58ef49171883] <1.7>
174
1752012-09-19  Todd C. Miller  <Todd.Miller@courtesan.com>
176
177	* .hgtags:
178	Added tag SUDO_1_7_10p3 for changeset 235ca8006055
179	[c6964a733681] <1.7>
180
181	* sudoreplay.c:
182	Use 1/0 not TRUE/FALSE.
183	[235ca8006055] [SUDO_1_7_10p3] <1.7>
184
1852012-09-18  Todd C. Miller  <Todd.Miller@courtesan.com>
186
187	* NEWS, configure, configure.in:
188	sudo 1.7.10p3
189	[0b504b3b849a] <1.7>
190
191	* sudoreplay.c:
192	Avoid calling fclose(NULL) in the error path when we cannot open an
193	I/O log file.
194	[1e1b8ec3a2d2] <1.7>
195
1962012-09-17  Todd C. Miller  <Todd.Miller@courtesan.com>
197
198	* fixman.sh:
199	Don't use embedded newline when matching, use \n. This got expanded
200	at some point. Bug #573
201	[6a3520c3ff11] <1.7>
202
203	* sudoreplay.c:
204	Fall back on lstat(2) if d_type in struct dirent is DT_UNKNOWN. Not
205	all file systems support d_type. Bug #572
206	[8a1e160265cf] <1.7>
207
2082012-09-16  Todd C. Miller  <Todd.Miller@courtesan.com>
209
210	* .hgtags:
211	Added tag SUDO_1_7_10p2 for changeset 60d2336634f5
212	[aff26f9023cc] <1.7>
213
214	* NEWS, configure, configure.in:
215	Sudo 1.7.10p2
216	[60d2336634f5] [SUDO_1_7_10p2] <1.7>
217
218	* exec.c:
219	When setting the signal handler for SIGTSTP to the default value in
220	non-I/O log mode, store the old handler value for when we restore it
221	after resume.
222	[01aab006915d] <1.7>
223
2242012-09-12  Todd C. Miller  <Todd.Miller@courtesan.com>
225
226	* .hgtags:
227	Added tag SUDO_1_7_10p1 for changeset a8330024abe7
228	[857744bf2454] <1.7>
229
230	* NEWS:
231	Mention support for SUCCESS=return in /etc/nsswitch.conf
232	[a8330024abe7] [SUDO_1_7_10p1] <1.7>
233
234	* NEWS, configure, configure.in:
235	sudo 1.7.10p1
236	[989cdb5456e5] <1.7>
237
2382012-09-11  Todd C. Miller  <Todd.Miller@courtesan.com>
239
240	* env.c:
241	Avoid setting LOGNAME, USER and USERNAME variables twice when
242	set_logname is enabled.
243	[7b7b0cc40a58] <1.7>
244
245	* env.c:
246	Fix duplicate detection in sudo_putenv(), do not prune out the
247	variable we just set when overwriting an existing instance. Fixes
248	bug #570
249	[aff4b88c72a7] <1.7>
250
2512012-09-04  Todd C. Miller  <Todd.Miller@courtesan.com>
252
253	* sudo.c, sudo_nss.c:
254	Add support for [SUCCESS=return] in nsswitch.conf; from Daniel
255	Kopecek
256	[c2a107a882b9] <1.7>
257
2582012-09-01  Todd C. Miller  <Todd.Miller@courtesan.com>
259
260	* .hgtags:
261	Added tag SUDO_1_7_10 for changeset 56db3dcb76c6
262	[54fb06201d0c] <1.7>
263
264	* NEWS:
265	mention PIE
266	[56db3dcb76c6] [SUDO_1_7_10] <1.7>
267
2682012-08-28  Todd C. Miller  <Todd.Miller@courtesan.com>
269
270	* strsignal.c:
271	Handle NULL entries in sys_siglist.
272	[2d5b597562f0] <1.7>
273
274	* Makefile.in, mksiglist.c, mksiglist.h, strsignal.c:
275	Convert my_sys_sig{list,name} -> sudo_sys_sig{list,name}
276	[6b3075d2c9ea] <1.7>
277
2782012-08-27  Todd C. Miller  <Todd.Miller@courtesan.com>
279
280	* NEWS:
281	sync
282	[cf54fa309f00] <1.7>
283
284	* auth/sudo_auth.c:
285	Fix gcc warnings.
286	[5b10eeabb350] <1.7>
287
288	* exec.c:
289	Pass on SIGTSTP to the command if it was sent by a user process (not
290	the kernel or the terminal) when we are not I/O logging and set the
291	default SIGTSTP handler when we re-send the signal to ourself,
292	restoring our handler after we resume.
293	[b43fef482a9c] <1.7>
294
295	* exec.c:
296	Shells typically change their process group when they start up so
297	that they can implement job control. Most well-behaved shells
298	change the pgrp back to its original value before suspending so we
299	must not try to restore in that case, lest we race with the child
300	upon resume, potentially stopping sudo with SIGTTOU while the
301	command continues to run. Some shells, such as pdksh, just suspend
302	the shell by sending SIGSTOP to themselves without restoring the
303	pgrp. In this case we need to change the pgrp back for them. Should
304	fix bug #568
305	[0d4cfce9e3cd] <1.7>
306
3072012-08-24  Todd C. Miller  <Todd.Miller@courtesan.com>
308
309	* check.c:
310	Quiet gcc warnings on glibc systems that use warn_unused_result for
311	fwrite().
312	[2cc7cc934541] <1.7>
313
3142012-08-23  Todd C. Miller  <Todd.Miller@courtesan.com>
315
316	* toke.c, toke.l:
317	Don't print an error message in yyerror() if open_sudoers() fails,
318	we've already printed an error message.
319	[5abac2ee140d] <1.7>
320
3212012-08-22  Todd C. Miller  <Todd.Miller@courtesan.com>
322
323	* configure, configure.in:
324	Substitute MANDIRTYPE into Makefile
325	[925daf9ca72b] <1.7>
326
327	* Makefile.in:
328	Don't remove files in GENERATED unless DEVEL is set.
329	[2090fcead8b7] <1.7>
330
331	* NEWS:
332	sync
333	[b0c45ae69106] <1.7>
334
335	* auth/sudo_auth.c, check.c, logging.c, logging.h, sudo.c, sudo.h:
336	Move log_denial() calls and logic to log_failure(). Move
337	authentication failure logging to log_auth_failure(). Both of these
338	call audit_failure() for us.
339
340	This subtly changes logging for commands that are denied by sudoers
341	but where the user failed to enter the correct password.
342	Previously, these would be logged as "N incorrect password attempts"
343	but now are logged as "command not allowed". Fixes bug #563
344	[c2cc2f97b204] <1.7>
345
3462012-08-21  Todd C. Miller  <Todd.Miller@courtesan.com>
347
348	* sudo.cat, sudo.man.in, sudo.mdoc.in, sudoers.cat, sudoers.ldap.cat,
349	sudoers.ldap.man.in, sudoers.ldap.mdoc.in, sudoers.man.in,
350	sudoers.mdoc.in:
351	Make the capitalization consistent for .Ss and .Sx
352	[21a45576f4c3] <1.7>
353
354	* Makefile.in, fixman.sh, fixmdoc.sh, sudo.cat, sudo.man.in,
355	sudo.mdoc.in:
356	Add COMMAND EXECUTION section that describes how sudo runs the
357	command, the extra sudo processes and signal handling.
358	[fbcd178f4894] <1.7>
359
3602012-08-19  Todd C. Miller  <Todd.Miller@courtesan.com>
361
362	* sudo.cat, sudo.man.in, sudo.mdoc.in, sudoers.cat, sudoers.man.in:
363	Add COMMAND EXECUTION section that describes how sudo runs the
364	command, the extra sudo processes and signal handling.
365	[5390ec673ed3] <1.7>
366
367	* Makefile.in:
368	Happy Easter
369	[1e31fbc8e9c1] <1.7>
370
3712012-08-18  Todd C. Miller  <Todd.Miller@courtesan.com>
372
373	* CONTRIBUTORS, Makefile.in:
374	Add CONTRIBUTORS file from sudo trunk
375	[d81d1d4c86b1] <1.7>
376
3772012-08-17  Todd C. Miller  <Todd.Miller@courtesan.com>
378
379	* .hgignore, INSTALL, Makefile.in, configure, configure.in, fixman.sh,
380	fixmdoc.sh, sudo.cat, sudo.man.in, sudo.mdoc.in, sudo.pod,
381	sudoers.cat, sudoers.ldap.cat, sudoers.ldap.man.in,
382	sudoers.ldap.mdoc.in, sudoers.ldap.pod, sudoers.man.in,
383	sudoers.mdoc.in, sudoers.pod, sudoreplay.cat, sudoreplay.man.in,
384	sudoreplay.mdoc.in, sudoreplay.pod, visudo.cat, visudo.man.in,
385	visudo.mdoc.in, visudo.pod:
386	Sudo manuals formatted in mdoc, to replace the pod versions, back-
387	ported from sudo trunk.
388	[662ace065b07] <1.7>
389
390	* defaults.c, defaults.h, visudo.c:
391	Add new check_defaults() function to check (but not update) the
392	Defaults entries. Visudo can now use this instead of update_defaults
393	to check all the defaults regardless instead of just the global
394	Defaults entries.
395	[6845cf85ad2c] <1.7>
396
397	* sudo.c:
398	Use AI_FQDN instead of AI_CANONNAME if available since "canonical"
399	is not always the same as "fully qualified".
400	[60b2bc263720] <1.7>
401
4022012-08-15  Todd C. Miller  <Todd.Miller@courtesan.com>
403
404	* pp:
405	sync polypkg from git
406	[01306bdb7f99] <1.7>
407
4082012-08-07  Todd C. Miller  <Todd.Miller@courtesan.com>
409
410	* iolog.c:
411	Cast 2nd argument of lseek() to off_t if it is a constant for
412	systems with 64-bit off_t but without a proper lseek() prototype.
413	[064d583e2d2d] <1.7>
414
415	* env.c, pwutil.c, ttysize.c:
416	Fix building with a K&R compiler.
417	[164e262022f9] <1.7>
418
419	* exec.c, exec_pty.c, sudo.h, sudo_exec.h:
420	If we receive a signal from the command we executed, do not forward
421	it back to the command. This fixes a problem with BSD-derived
422	versions of the reboot command which send SIGTERM to all other
423	processes, including the sudo process. Sudo would then deliver
424	SIGTERM to reboot which would die before calling the reboot() system
425	call, effectively leaving the system in single user mode.
426	[cfca0b1edf21] <1.7>
427
428	* env.c, getline.c, visudo.c:
429	Fix some warnings from clang checker-267
430	[e99605b82cf4] <1.7>
431
432	* getdate.c:
433	Regen with modified yacc skeleton.
434	[176ceadbfef6] <1.7>
435
4362012-07-31  Todd C. Miller  <Todd.Miller@courtesan.com>
437
438	* exec.c:
439	When checking whether a signal is user-generated, compare si_code
440	against SI_USER instead of <= 0 since on HP-UX, terminal-related
441	signals get a code of 0.
442	[ec0ef27508f9] <1.7>
443
4442012-07-30  Todd C. Miller  <Todd.Miller@courtesan.com>
445
446	* ldap.c:
447	Active Directory apparently requires that tenths of a second be
448	present in a date so append .0 to the "now" value in the time
449	filter. Also remove space for the global AND from TIMEFILTER_LENGTH
450	since it was not being used consistently. Buffers of
451	TIMEFILTER_LENGTH now need to account for the terminating NUL byte.
452	[eccff4d1e791] <1.7>
453
4542012-07-29  Todd C. Miller  <Todd.Miller@courtesan.com>
455
456	* Makefile.in, history.pod, license.pod:
457	Remove pod versinons of HISTORY and LICENSE as they were not being
458	kept in sync.
459	[4b6594e40501] <1.7>
460
461	* HISTORY:
462	Sync with trunk version.
463	[8ed8605186d0] <1.7>
464
4652012-07-27  Todd C. Miller  <Todd.Miller@courtesan.com>
466
467	* schema.ActiveDirectory:
468	Fix errors introduced when sudoNotBefore, sudoNotAfter and sudoOrder
469	were added. From David Hicks.
470	[e044e99fdc35] <1.7>
471
4722012-07-18  Todd C. Miller  <Todd.Miller@courtesan.com>
473
474	* sudoers.cat, sudoers.ldap.cat, sudoers.ldap.man.in,
475	sudoers.ldap.pod, sudoers.man.in, sudoers.pod, sudoreplay.cat,
476	sudoreplay.man.in, sudoreplay.pod, visudo.cat, visudo.man.in,
477	visudo.pod:
478	More minor costmetic fixes.
479	[799d0bea24a8] <1.7>
480
4812012-07-12  Todd C. Miller  <Todd.Miller@courtesan.com>
482
483	* sudo.cat, sudo.man.in, sudo.pod:
484	Minor cosmetic fixes.
485	[cfe866d879f9] <1.7>
486
4872012-07-06  Todd C. Miller  <Todd.Miller@courtesan.com>
488
489	* aix.c:
490	Do not set a resource limit to zero when we are unable to fetch a
491	value from /etc/security/limits.
492	[9d1f86ef9e17] <1.7>
493
4942012-07-05  Todd C. Miller  <Todd.Miller@courtesan.com>
495
496	* sudo.pp:
497	Add "Provides: sudo" to debian sudo-ldap package
498	[3e1ac4729109] <1.7>
499
5002012-07-02  Todd C. Miller  <Todd.Miller@courtesan.com>
501
502	* configure, configure.in:
503	Only check for pie support when using gcc.
504	[05b9101a94a3] <1.7>
505
506	* INSTALL, Makefile.in, configure, configure.in, mkpkg:
507	Add configure check for building PIE executables instead of doing it
508	in mkpkg.
509	[13e04037e942] <1.7>
510
511	* sudo.pp:
512	MacOS pp backend doesn't like modes longer than 4 characters.
513	[04ef57665b92] <1.7>
514
5152012-06-29  Todd C. Miller  <Todd.Miller@courtesan.com>
516
517	* sudoers.cat, sudoers.man.in:
518	fix version
519	[f622623d9718] <1.7>
520
521	* NEWS, sudoers.ldap.cat, sudoers.ldap.man.in, sudoers.ldap.pod:
522	Document improved Tivoli Directory Server support.
523	[0b15875554b5] <1.7>
524
525	* config.h.in, configure, configure.in, ldap.c:
526	Add support for ldaps using Tivoli LDAP libraries. Add ldap.conf
527	option to specify Tivoli key db password. Allow TLS ciphers to be
528	configured for Tivoli.
529	[266cb46f321b] <1.7>
530
5312012-06-28  Todd C. Miller  <Todd.Miller@courtesan.com>
532
533	* ldap.c:
534	Tivoli Directory Server 6.3 libs always return a (bogus) error when
535	setting LDAP_OPT_CONNECT_TIMEOUT.
536	[9d30127342d6] <1.7>
537
538	* NEWS:
539	Update
540	[9ba509c8ab6c] <1.7>
541
542	* ldap.c:
543	Treat LDAP_OPT_CONNECT_TIMEOUT (Tivoli Directory Server 6.3) the
544	same as LDAP_OPT_CONNECT_TIMEOUT (OpenSSH). Don't make failure to a
545	set an ldap option fatal.
546	[235db51e9ed1] <1.7>
547
5482012-06-27  Todd C. Miller  <Todd.Miller@courtesan.com>
549
550	* env.c:
551	Use MAX_UID_T_LEN + 1 for uid/gid buffers, not MAX_UID_T_LEN to
552	prevent potential truncation. Bug #562.
553	[89a34180e84b] <1.7>
554
5552012-06-25  Todd C. Miller  <Todd.Miller@courtesan.com>
556
557	* sudo.pp:
558	If installing with installp, error out if there is already an
559	instance of the rpm package installed.
560	[3abc67698796] <1.7>
561
562	* mkpkg:
563	Add --disable-nls for AIX
564	[97114230e2ac] <1.7>
565
5662012-06-22  Todd C. Miller  <Todd.Miller@courtesan.com>
567
568	* sudo.pp:
569	Debian sudo-ldap packages should now depend on libldap-2.4-2, not
570	libldap2.
571	[9342bc7b7ee7] <1.7>
572
5732012-06-21  Todd C. Miller  <Todd.Miller@courtesan.com>
574
575	* sudo.pp:
576	Add Homepage and Bugs to debian control file.
577	[108ce83a4822] <1.7>
578
579	* sudo.pp:
580	remove obsolete comment
581	[ef525426e235] <1.7>
582
5832012-06-20  Todd C. Miller  <Todd.Miller@courtesan.com>
584
585	* mkpkg:
586	fix typo when setting aix_freeware
587	[7449ea0ae82c] <1.7>
588
5892012-06-18  Todd C. Miller  <Todd.Miller@courtesan.com>
590
591	* configure, configure.in:
592	Additional ${foo} -> $(foo) Makefile tweaks.
593	[9b3f96abd3d9] <1.7>
594
5952012-06-15  Todd C. Miller  <Todd.Miller@courtesan.com>
596
597	* NEWS, sudo.c:
598	Re-merge argv escaping for "sudo -s command" from trunk to fix a
599	NULL pointer dereference.
600	[0a98cbc1856b] <1.7>
601
6022012-06-11  Todd C. Miller  <Todd.Miller@courtesan.com>
603
604	* mkpkg, sudo.pp:
605	Install AIX packages under /opt/freeware with links in /usr/bin and
606	/usr/sbin. This matches the layout of the sudo package from AIX
607	freeware.
608	[7ee90f3d88a8] <1.7>
609
610	* Makefile.in, configure, configure.in, sudo.pp:
611	Install shared objects with mode 0644 except on HP-UX which needs
612	the executable bit set.
613	[2ec8c8954045] <1.7>
614
615	* Makefile.in:
616	Make installed file modes consistent with the file modes in the sudo
617	package.
618	[2c4627ba391d] <1.7>
619
6202012-06-08  Todd C. Miller  <Todd.Miller@courtesan.com>
621
622	* sudoers.cat, sudoers.man.in, sudoers.pod:
623	Add "%:" prefix when talking about QAS non-Unix group support.
624	[e0ae26ee85bc] <1.7>
625
626	* pp, sudo.pp:
627	Fix packaging of symbolic links on HP-UX when the link source
628	already exists in the filesystem.
629	[7628b11bcd6d] <1.7>
630
631	* mkpkg:
632	Only specify prefix if we are overriding the default value. Fixes
633	the man dir (/usr/local/man vs. /usr/local/share/man).
634	[9c2586a04f5b] <1.7>
635
636	* sudo.pp:
637	Fix license file path for Mac OS X.
638	[e1d23ce0c816] <1.7>
639
640	* sudo.pp:
641	Fix setting of sudoedit_man variable.
642	[99104f15ed67] <1.7>
643
644	* Makefile.in:
645	Echo the command when linking the sudoedit manual.
646	[ab2665996aa8] <1.7>
647
6482012-06-07  Todd C. Miller  <Todd.Miller@courtesan.com>
649
650	* NEWS:
651	Mention sudoreplay stdout playback improvements.
652	[aeb2c51f8fbc] <1.7>
653
654	* mkpkg, sudo.pp:
655	Build .deb packages with selinux support.
656	[196ffc957aec] <1.7>
657
6582012-06-04  Todd C. Miller  <Todd.Miller@courtesan.com>
659
660	* sudo.pp:
661	Don't list paths for unstripped binaries in the lintial overrides.
662	[4969c4e2cd00] <1.7>
663
664	* pp:
665	Add support for Installed-Size header in control file, required by
666	newer debian versions.
667	[8201524462ac] <1.7>
668
669	* pp:
670	Fix extended description in .deb files.
671	[53cd12d14490] <1.7>
672
673	* sudo.pp:
674	Add Depends, Replaces and Conflicts headers for .deb packages.
675	[e2f479f9469f] <1.7>
676
677	* sudo_nss.c:
678	If there are no privs to print, write the message to the lbuf
679	instead of printing it directly.
680	[a466dc72d3cc] <1.7>
681
6822012-05-31  Todd C. Miller  <Todd.Miller@courtesan.com>
683
684	* sudo.pp:
685	Fix mismerge, no sudoers.so in 1.7
686	[0e13ec26049c] <1.7>
687
688	* Makefile.in, sudo.pp:
689	Quiet lintian warnings for .deb files:
690
691	 * install sudoedit and the sudoedit manual as symbolic links, not
692	hard links and package them as such.
693	 * set -e in %pos and %preun for debian
694	 * add lintian overrides file
695	 * fix modes to be more in line with what Debian expects
696	 * add correct section
697	 * install LICENSE as copyright and ChangeLog as changelog
698	 * create stub changelog.debian
699	[6ea913b5e7db] <1.7>
700
701	* Makefile.in, configure, configure.in, mkpkg:
702	Replace out of date MAN_POSTINSTALL with MANCOMPRESS and
703	MANCOMPRESSEXT which can be used to compress the installed manual
704	pages. Compress the man pages for .deb files to appease lintian.
705	[6662d37d6d29] <1.7>
706
707	* mkpkg:
708	Build PIE executable on Mac OS X 10.5 and above.
709	[f73a70da8679] <1.7>
710
711	* pp, sudo.pp:
712	Use a debian-compliant package maintainer field. Fix find command to
713	properly skip files in the DEBIAN dir when building md5sums.
714	[308a5c3e99d4] <1.7>
715
7162012-05-30  Todd C. Miller  <Todd.Miller@courtesan.com>
717
718	* sudoreplay.c:
719	No need to loop over atomic_writev(), it guarantees to write all
720	data or return an error.
721
722	Fix handling of stdout/stderr that contains "\r\n" and handle a
723	"\r\n" pair that spans a buffer.
724	[d237778fc504] <1.7>
725
7262012-05-29  Todd C. Miller  <Todd.Miller@courtesan.com>
727
728	* sudoreplay.c:
729	Instead of doing extra write()s when replaying stdout, build up a
730	vector for writev() instead. This results in far fewer system
731	calls.
732	[7b86f7809f62] <1.7>
733
7342012-05-25  Todd C. Miller  <Todd.Miller@courtesan.com>
735
736	* sudoreplay.c:
737	When replaying a log of stdout or stderr, do newline to carriage
738	return + linefeed conversion. We cannot have termios do this for us
739	since we've disabled output postprocessing (POST) when setting raw
740	mode.
741	[bbb035f6152f] <1.7>
742
7432012-05-24  Todd C. Miller  <Todd.Miller@courtesan.com>
744
745	* configure, configure.in:
746	Don't add -fstack-protector to CFLAGS if ld gets an error trying to
747	ust it. This can happen when libssp cannot be found.
748	[20d3c5e86b86] <1.7>
749
750	* NEWS:
751	Mention hardening by default and how to disable.
752	[7214ea1a20aa] <1.7>
753
7542012-05-23  Todd C. Miller  <Todd.Miller@courtesan.com>
755
756	* configure, configure.in:
757	When checking for -fstack-protector, treat warnings as fatal errors.
758	[7c10a74a5310] <1.7>
759
760	* ttyname.c:
761	Use TRUE/FALSE as 3rd argument to sudo_ttyname_scan()
762	[6eceb2d6121f] <1.7>
763
764	* sudo.cat, sudo.man.in, sudoers.cat, sudoers.ldap.cat,
765	sudoers.ldap.man.in, sudoers.man.in, sudoreplay.cat,
766	sudoreplay.man.in, visudo.cat, visudo.man.in:
767	regen
768	[561fba9586cc] <1.7>
769
770	* sudo.pod:
771	missing "and"
772	[03737c9dc309] <1.7>
773
774	* NEWS, configure, configure.in:
775	Update for sudo 1.7.10
776	[120d4ff1cd8d] <1.7>
777
778	* check.c, testsudoers.c:
779	Don't prompt for a password if the user is in the exempt group, is
780	root, or is running the command as themselves even if the -k option
781	was specified. This makes "sudo -k command" consistent with the
782	behavior one would get if the user ran "sudo -k" immediately before
783	running the command.
784	[e20aa01495cd] <1.7>
785
786	* INSTALL, config.h.in, configure, configure.in, secure_path.c:
787	No longer throw an error if sudoers is a symbolic link. Deprecated
788	the --with-stow option as that is now (effectively) the default.
789	[a90e97420f45] <1.7>
790
791	* exec_pty.c:
792	Treat a tty read failure like EOF as it usually means the pty has
793	gone away. Handle write() on the tty returning EIO.
794	[7b200e444c76] <1.7>
795
796	* exec.c, exec_pty.c:
797	Linux select() may return ENOMEM if there is a kernel resource
798	shortage. Older Solaris select() may return EIO instead of EBADF
799	when the tty goes away. If we get an unhandled select() failure,
800	kill the child and exit cleanly.
801	[5bdefd004ea1] <1.7>
802
803	* exec.c:
804	If select() return EBADF in the main event loop, one of the ttys
805	must have gone away so perform any I/O we can and close the bad fds.
806	[a7808c0675cb] <1.7>
807
808	* defaults.c, exec.c:
809	Fix compilation when I/O logging support is not compiled in.
810	[afb159b2dc1a] <1.7>
811
812	* exec_pty.c:
813	Ignore SIGTTIN and SIGTTOU in main sudo process when I/O logging. It
814	is better to receive EIO from read()/write() than to be suspended
815	when we don't expect it. Fixes a problem when our terminal is
816	revoked which can happen when, e.g. our sshd is killed
817	unceremoniously. Also, only change the value of "alive" from true to
818	false, never from false to true. It is possible for us to receive
819	notification of the child having stopped after it is already dead.
820	This does not mean it has risen from the grave.
821	[c19c375498c2] <1.7>
822
823	* exec_pty.c, sudo.c, sudo.h:
824	Don't try to restore the terminal if we are not the foreground
825	process. Otherwise, we may be stopped by SIGTTOU when we try to
826	update the terminal settings when cleaning up.
827	[07eac078be15] <1.7>
828
829	* exec_pty.c:
830	Don't need zero_bytes() after ecalloc()
831	[5ebd3b5e165d] <1.7>
832
833	* check.c:
834	In Solaris 11, /dev/pts under the "dev" filesystem, not "devices".
835	Update tty_is_devpts() to match so we can determine when the tty has
836	been reused.
837	[cf4638278680] <1.7>
838
839	* parse_args.c:
840	Allow the -k flag to be used along with the -i and -s flags.
841	[30deccf57dba] <1.7>
842
843	* config.h.in, configure, configure.in, ttyname.c:
844	Rototill code to determine the tty. For Linux, we now look up the
845	tty device in /proc/pid/stat instead of trying to open
846	/proc/pid/fd/[0-2]. The sudo_ttyname_dev() function maps the given
847	device number to a string. On BSD, we can use devname(). On
848	Solaris, _ttyname_dev() does what we want. For others we do a
849	breadth-first search of /dev.
850	[632f8e028191] <1.7>
851
852	* ttyname.c:
853	Don't try to erealloc() a potentially freed pointer.
854	[5e7f50737a16] <1.7>
855
856	* config.h.in, configure, configure.in, ttyname.c:
857	Prefer KERN_PROC2 over KERN_PROC. Fixes compilation on some
858	versions of OpenBSD versions that have KERN_PROC2 but not KERN_PROC.
859	[87c505c4fa33] <1.7>
860
861	* sudoreplay.pod:
862	Clarify what "sudoreplay -l" displays and mention that it is sorted.
863	[c46ea829b4d7] <1.7>
864
865	* config.h.in, configure, configure.in, sudoreplay.c:
866	iIf struct dirent has d_type, use it to avoid an extra stat().
867	[facb5ee78a66] <1.7>
868
869	* sudoreplay.c:
870	Sort output of "sudoreplay -l"
871	[44d75226cf12] <1.7>
872
873	* Makefile.in, alloc.c, alloc.h, sudoreplay.c, ttysize.c:
874	If I/O log file includes rows + cols, warn if the user's tty is not
875	big enough.
876	[c03054253bb4] <1.7>
877
878	* sudoreplay.c:
879	Fix printing of TSID in "sudoreplay -l"
880	[dbda38da5c30] <1.7>
881
882	* sudoreplay.c:
883	Fix printf format warning (time_t vs. long)
884	[547ed3089f96] <1.7>
885
886	* sudoreplay.c:
887	Add support for replaying sessions from sudo 1.8 when iolog_file is
888	set to something other than %{seq}.
889	[7e5d82e45f69] <1.7>
890
8912012-05-22  Todd C. Miller  <Todd.Miller@courtesan.com>
892
893	* iolog.c:
894	typo fix in comment
895	[ee89b8b0e8d1] <1.7>
896
897	* TROUBLESHOOTING:
898	Add entry for SSL LDAP errors on Mozilla SDKs when the cert dir is
899	not specified.
900	[796ce694d452] <1.7>
901
902	* pp:
903	Match CentOS 6.0
904	[876853af3192] <1.7>
905
906	* configure, configure.in:
907	Fix test for -z relro
908	[6128719f16ee] <1.7>
909
910	* INSTALL, aclocal.m4, configure, configure.in,
911	m4/ax_check_compile_flag.m4, m4/ax_check_link_flag.m4:
912	Build with -fstack-protector and link with -zrelo where supported.
913	Added --disable-hardening option to disable hardening options.
914	[fd2de3a2360a] <1.7>
915
9162012-05-21  Todd C. Miller  <Todd.Miller@courtesan.com>
917
918	* set_perms.c, sudo.c:
919	If sudoers_mode is group-readable but the actual sudoers file is
920	not, open the file as uid 0, not uid 1. This fixes a problem when
921	sudoers has a more restrictive mode than what sudo expects to find.
922	In older versions, sudo would silently chmod the file to add the
923	group-readable bit.
924	[4585ec2404ab] <1.7>
925
9262012-05-17  Todd C. Miller  <Todd.Miller@courtesan.com>
927
928	* toke.c, toke.l:
929	Fix #includedir; from Mike Frysinger
930	[ebe9257e81e4] <1.7>
931
932	* Makefile.in, secure_path.c, secure_path.h:
933	Relax the user/group/mode checks on sudoers files. As long as the
934	file is owned by the right user, not world-writable and not writable
935	by a group other than the one specified at configure time (gid 0
936	byile is considered OK. Note that visudo will still set the mode to
937	the value specified at configure time.
938	[d0aea6ff36af] <1.7>
939
940	* Makefile.in, gram.c, gram.y, sudo.c, toke.c, toke.l:
941	Relax the user/group/mode checks on sudoers files. As long as the
942	file is owned by the right user, not world-writable and not writable
943	by a group other than the one specified at configure time (gid 0
944	byile is considered OK. Note that visudo will still set the mode to
945	the value specified at configure time.
946	[63e9f6dc7af5] <1.7>
947
948	* auth/pam.c:
949	Delete creds after closing the PAM session.
950	[723a207eb13f] <1.7>
951
952	* auth/pam.c:
953	Fix typo in last commit
954	[edaf36dc1d10] <1.7>
955
956	* auth/pam.c:
957	Instead of treating ^C from tgetpass() specially, always return
958	AUTH_INTR if tgetpass() returned NULL. Treat PAM_AUTHINFO_UNAVAIL
959	like PAM_AUTH_ERR which Mac OS X returns this when there is no tty.
960	[1fe8f61134dc] <1.7>
961
962	* ldap.c:
963	Need to call ldapssl_clientauth_init() for start_tls on Mozilla LDAP
964	SDK.
965	[20b0a65572ca] <1.7>
966
967	* ldap.c:
968	Fix printing of invalid uri
969	[c8c0ab82bbd2] <1.7>
970
971	* ldap.c:
972	Provide a more useful error message if using a Mozilla-style LDAP
973	SDK and you forgot to specify TLS_CERT in ldap.conf.
974	[56a80bb3d1c1] <1.7>
975
976	* ldap.c:
977	Split global and per-connection LDAP options into separate arrays.
978	Set global LDAP options before calling ldap_initialize() or
979	ldap_init(). After we have an LDAP handle, set the per-connection
980	options. Fixes a problem with OpenLDAP using the nss crypto backend;
981	bug #342
982	[9d54aef13aab] <1.7>
983
9842012-05-16  Todd C. Miller  <Todd.Miller@courtesan.com>
985
986	* ldap.c, parse.c, sudo_edit.c, sudoreplay.c, visudo.c:
987	Quiet some compiler warnings
988	[da46ab07671b] <1.7>
989
990	* config.h.in, configure.in, exec.c, exec_pty.c, iolog.c, tgetpass.c,
991	toke.c, toke.l, visudo.c:
992	Fix compiler warnings on some platforms and provide a better method
993	of defeating gcc's warn_unused_result attribute.
994	[d7314954229c] <1.7>
995
9962012-05-15  Todd C. Miller  <Todd.Miller@courtesan.com>
997
998	* .hgtags:
999	Added tag SUDO_1_7_9p1 for changeset 26d9603eb5af
1000	[dad699c7cd8d] <1.7>
1001
10022012-05-14  Todd C. Miller  <Todd.Miller@courtesan.com>
1003
1004	* NEWS:
1005	Update for sudo 1.7.9p1
1006	[26d9603eb5af] [SUDO_1_7_9p1] <1.7>
1007
1008	* match.c:
1009	Add missing break between AF_INET and AF_INET6 in
1010	addr_matches_if_netmask()
1011	[80b1e4a6d4a1] <1.7>
1012
10132012-05-11  Todd C. Miller  <Todd.Miller@courtesan.com>
1014
1015	* exec.c:
1016	The pointer to the siginfo_t struct in a signal handler may be NULL.
1017	[945a8021e165] <1.7>
1018
10192012-05-10  Todd C. Miller  <Todd.Miller@courtesan.com>
1020
1021	* pwutil.c:
1022	Fix an alignment problem on NetBSD systems with a 64-bit time_t and
1023	strict alignment. Based on a patch from Martin Husemann.
1024	[e0f946c43f7b] <1.7>
1025
1026	* missing.h:
1027	Add offsetof macro for those without it.
1028	[311166ce1433] <1.7>
1029
10302012-05-01  Todd C. Miller  <Todd.Miller@courtesan.com>
1031
1032	* sudo.pp:
1033	Add mode for docdir. Fixes a problem on Linux when building in a
1034	directory with the setgid bit set.
1035	[57cb4ad634a3] <1.7>
1036
10372012-04-24  Todd C. Miller  <Todd.Miller@courtesan.com>
1038
1039	* pp:
1040	Sync with upstream for Mac OS X (and other) fixes.
1041	[289652f37a92] <1.7>
1042
10432012-04-23  Todd C. Miller  <Todd.Miller@courtesan.com>
1044
1045	* mkpkg:
1046	Debian sudo has not been built with --with-exempt=sudo since 1.6.8.
1047	[a2a6efb76e62] <1.7>
1048
1049	* mkpkg:
1050	Only build Mac intel universal binary on an intel machine. When
1051	building on Mac OS X, set SDK_FLAGS if specified osversion doesn't
1052	match host.
1053	[ba2542153d30] <1.7>
1054
1055	* exec_pty.c:
1056	Add missing initialization of a sigaction structure when I/O
1057	logging. Fixes a potential problem when suspending the command.
1058	[6db633c5c9a4] <1.7>
1059
10602012-04-08  Todd C. Miller  <Todd.Miller@courtesan.com>
1061
1062	* config.h.in, configure, configure.in, match.c:
1063	Do not use GLOB_BRACE or GLOB_TILDE flags to glob()--we want the
1064	glob() and fnmatch() results to be consistent.
1065	[dfe105e6150f] <1.7>
1066
10672012-03-30  Todd C. Miller  <Todd.Miller@courtesan.com>
1068
1069	* ldap.c:
1070	fix typo in last commit
1071	[30f5d6028ec6] <1.7>
1072
1073	* alias.c, defaults.c, env.c, exec.c, exec_pty.c, ldap.c, pwutil.c,
1074	sudo.c, sudoreplay.c, visudo.c:
1075	Use ecalloc() when allocating structs.
1076	[79bc1ab2257a] <1.7>
1077
1078	* alloc.c, alloc.h:
1079	Add ecalloc().
1080	[46e4fd731efb] <1.7>
1081
1082	* bsm_audit.c:
1083	Use error() instead of log_fatal()
1084	[95515e1c18da] <1.7>
1085
1086	* missing.h:
1087	g/c __unused which is no longer used
1088	[aa8f78c1a2fc] <1.7>
1089
1090	* auth/bsdauth.c, auth/kerb5.c, auth/pam.c, auth/sia.c,
1091	auth/sudo_auth.c, bsm_audit.c, check.c, env.c, iolog.c, logging.c,
1092	logging.h, parse.c, set_perms.c, sudo.c, sudo_nss.c:
1093	Remove the NO_EXIT flag to log_error() and add a log_fatal()
1094	function that exits and is marked no_return. Fixes false positives
1095	from static analyzers and is easier for humans to read too.
1096	[781e7c10414d] <1.7>
1097
1098	* fnmatch.c:
1099	cast ctype(3) function/macro arguments from char to unsigned char to
1100	avoid potential negative subscripting.
1101	[912237612328] <1.7>
1102
1103	* env.c, sudo.c, sudo.pod:
1104	When initializing the environment for env_reset, start out with the
1105	contents of /etc/environment on AIX and login.conf on BSD. Also
1106	apply environment in login.conf for "sudo -i".
1107	[71b1a2868b7e] <1.7>
1108
1109	* TROUBLESHOOTING:
1110	Add entry for AIX enhanced RBAC config.
1111	[154944068cf9] <1.7>
1112
1113	* TROUBLESHOOTING, sudo.c:
1114	If we are not running with an effective uid of 0, try to give the
1115	user enough information to debug the problem.
1116	[613114713cca] <1.7>
1117
1118	* sudo.c:
1119	If the "timestampowner" user cannot be resolved, use uid 0 instead
1120	of exiting with a fatal error.
1121	[9a17eae432be] <1.7>
1122
1123	* auth/pam.c, env.c, sudo.h:
1124	For PAM authentication, merge the PAM environment with the user
1125	environment in pam_begin_session().
1126	[078bee18fec1] <1.7>
1127
1128	* toke.c, toke.l:
1129	Quiet compiler warning when SELinux is enabled.
1130	[1c8053173b6e] <1.7>
1131
1132	* sudo.c:
1133	Don't read /etc/environment on Linux when using PAM, PAM should set
1134	the environment variables as needed via pam_env.
1135	[3319c6cce1e7] <1.7>
1136
1137	* config.h.in, configure, configure.in:
1138	Add check for pam_getenvlist()
1139	[15abe30f755d] <1.7>
1140
1141	* set_perms.c:
1142	Use normal error path if unable to set sudoers gid.
1143	[4ea379c064e9] <1.7>
1144
1145	* sudo.pp:
1146	Make sudoersdir relative to PKG_INSTALL_ROOT for Solaris. Make sure
1147	sudoers file is writable before trying to edit it.
1148	[38d2be50ba4e] <1.7>
1149
1150	* config.h.in, configure, configure.in, sudo_noexec.c:
1151	Add execvpe(), exect(), posix_spawn() and posix_spawnp() wrappers to
1152	sudo_noexec.c.
1153	[47745c46665d] <1.7>
1154
11552012-03-29  Todd C. Miller  <Todd.Miller@courtesan.com>
1156
1157	* zlib/adler32.c, zlib/crc32.c, zlib/crc32.h, zlib/deflate.c,
1158	zlib/deflate.h, zlib/gzguts.h, zlib/gzlib.c, zlib/gzread.c,
1159	zlib/gzwrite.c, zlib/infback.c, zlib/inffixed.h, zlib/inflate.c,
1160	zlib/inftrees.c, zlib/trees.c, zlib/zconf.h.in, zlib/zlib.h,
1161	zlib/zutil.c, zlib/zutil.h:
1162	Update zlib to version 1.2.6
1163	[f77e129c15d1] <1.7>
1164
11652012-03-27  Todd C. Miller  <Todd.Miller@courtesan.com>
1166
1167	* tgetpass.c:
1168	If there is nothing to read from the askpass program, set errno to
1169	EINTR. This makes the cancel button behave like the user entered ^C
1170	at the password prompt when PAM is used.
1171	[c1731da0909b] <1.7>
1172
11732012-02-17  Todd C. Miller  <Todd.Miller@courtesan.com>
1174
1175	* .hgtags:
1176	Added tag SUDO_1_7_9 for changeset d896e8043fe6
1177	[52fe2a7eeead] <1.7>
1178
11792012-02-16  Todd C. Miller  <Todd.Miller@courtesan.com>
1180
1181	* pp, sudo.pp:
1182	Build flat packages, not package bundles, on Mac OS X.
1183	[d896e8043fe6] [SUDO_1_7_9] <1.7>
1184
11852012-02-10  Todd C. Miller  <Todd.Miller@courtesan.com>
1186
1187	* find_path.c, goodpath.c, sudo.h:
1188	Make sudo_goodpath() return value boolean
1189	[dc245299255d] <1.7>
1190
1191	* configure, configure.in:
1192	Don't permanently add -D_FORTIFY_SOURCE=2 to CPPFLAGS
1193	[4843521b434c] <1.7>
1194
1195	* sudo.pp:
1196	Add Mac OS X support, printing the latest chunk of the NEWS file and
1197	the license text in the installer.
1198	[ca00a22d1092] <1.7>
1199
1200	* sudo.pp:
1201	Add explicit file modes that match those used by "make install"
1202	[2b508a1fe3b2] <1.7>
1203
1204	* pp:
1205	Sync with upstream for Mac OS X fixes.
1206	[0d4463cbe348] <1.7>
1207
1208	* Makefile.in:
1209	Got back to using "install-sh -M" for files installed as non-
1210	readable by owner. This fixes "make install" as non-root for
1211	package building.
1212	[27f790e5129d] <1.7>
1213
12142012-02-09  Todd C. Miller  <Todd.Miller@courtesan.com>
1215
1216	* Makefile.in:
1217	Use -m not -M for install-sh for everything except setuid. If
1218	timedir parent doesn't exist, use default dir mode, not 0700.
1219	[0ab3e7bde003] <1.7>
1220
12212012-02-07  Todd C. Miller  <Todd.Miller@courtesan.com>
1222
1223	* pp:
1224	Re-sync with upstream; no longer need a local patch.
1225	[bafde42b306b] <1.7>
1226
1227	* mkpkg:
1228	Add support for building Mac OS X packages.
1229	[1810180df7d9] <1.7>
1230
1231	* pp:
1232	Sync with upstream
1233	[3c16823fc26a] <1.7>
1234
12352012-02-01  Todd C. Miller  <Todd.Miller@courtesan.com>
1236
1237	* configure, configure.in:
1238	Error out if user specified --with-pam but we can't find the headers
1239	or library. Also throw an error if the headers are present but the
1240	library is not and vice versa.
1241	[82d24f9570b3] <1.7>
1242
12432012-01-31  Todd C. Miller  <Todd.Miller@courtesan.com>
1244
1245	* sudo.c:
1246	Fix the sudoers permission check when the expected sudoers mode is
1247	owner-writable.
1248	[b92868792807] <1.7>
1249
12502012-01-30  Todd C. Miller  <Todd.Miller@courtesan.com>
1251
1252	* configure, configure.in:
1253	Verify that we can link executables built with -D_FORTIFY_SOURCE
1254	before using it.
1255	[71e49b39c9c7] <1.7>
1256
1257	* configure, configure.in:
1258	Add rudimentary check for _FORTIFY_SOURCE support by checking for
1259	__sprintf_chk, one of the functions used by gcc to support it.
1260	[27e601da3911] <1.7>
1261
1262	* NEWS:
1263	add 1.7.8p2
1264	[54979cc2edda] <1.7>
1265
12662012-01-26  Todd C. Miller  <Todd.Miller@courtesan.com>
1267
1268	* NEWS:
1269	Update
1270	[a262fa3d4d27] <1.7>
1271
1272	* check.c, sudo.c:
1273	We need to init the auth system regardless of whether we need a
1274	password since we will be closing the PAM session in the monitor
1275	process. Fixes a crash in the monitor on Solaris; bugzilla #533
1276	[bf5d5aef0c67] <1.7>
1277
12782012-01-25  Todd C. Miller  <Todd.Miller@courtesan.com>
1279
1280	* exec.c:
1281	The change in a1e7e31519ec that caused to exit when the monitor dies
1282	created a race condition between the monitor exiting and the status
1283	being read. All we really want to do is make sure that select()
1284	notifies us that there is a status change when the monitor dies
1285	unexpectedly so shutdown the socketpair connected to the monitor for
1286	writing when it dies. That way we can still read the status that is
1287	pending on the socket and select() on Linux will tell us that the fd
1288	is ready.
1289	[71d927a3cf2d] <1.7>
1290
12912012-01-20  Todd C. Miller  <Todd.Miller@courtesan.com>
1292
1293	* aclocal.m4, configure, configure.in:
1294	Add custom version of AC_CHECK_LIB that uses the extra libs in the
1295	cache value name. With this we no longer need to rely on a modified
1296	version of autoconf.
1297	[bb1e3f8f1549] <1.7>
1298
12992012-01-19  Todd C. Miller  <Todd.Miller@courtesan.com>
1300
1301	* configure, configure.in:
1302	Better handling of network functions that need -lsocket -lnsl
1303	[d205cdb08ba1] <1.7>
1304
13052012-01-17  Todd C. Miller  <Todd.Miller@courtesan.com>
1306
1307	* configure, configure.in:
1308	Fix sh warning; use "test" instead of "["
1309	[f0cde8f77209] <1.7>
1310
1311	* exec.c:
1312	When not logging I/O, use a signal handler that only forwards
1313	SIGINT, SIGQUIT and SIGHUP when they are user-generated signals.
1314	Fixes a race in the non-I/O logging path where the command may
1315	receive two keyboard-generated signals; one from the kernel and one
1316	from the sudo process.
1317	[9dc4a800e388] <1.7>
1318
1319	* exec.c:
1320	Back out change that put the command in its own pgrp when not
1321	logging I/O. It causes problems with pipelines.
1322	[dab8b58a6452] <1.7>
1323
13242012-01-13  Todd C. Miller  <Todd.Miller@courtesan.com>
1325
1326	* sudo.pp:
1327	Include parent directories in case they don't already exist. This
1328	fixes a directory permissions problem with the AIX package when the
1329	/usr/local directories don't already exist.
1330	[94c64d964891] <1.7>
1331
1332	* pp:
1333	sync with git version
1334	[b3e7e7be2fa8] <1.7>
1335
1336	* Makefile.in, sudo.c, sudo.h, ttyname.c:
1337	Move tty name lookup code to its own file.
1338	[224246976c4c] <1.7>
1339
13402012-01-12  Todd C. Miller  <Todd.Miller@courtesan.com>
1341
1342	* NEWS:
1343	Update for sudo 1.7.9
1344	[6addf6f6b143] <1.7>
1345
1346	* sudo.cat, sudo.man.in, sudoers.cat, sudoers.ldap.cat,
1347	sudoers.ldap.man.in, sudoers.man.in, sudoreplay.cat,
1348	sudoreplay.man.in, visudo.cat, visudo.man.in:
1349	regen
1350	[27c747f7178d] <1.7>
1351
1352	* visudo.c:
1353	For "visudo -c" also list include files that were checked when
1354	everything is OK.
1355	[9e5cd18ce6ca] <1.7>
1356
1357	* LICENSE, configure.in:
1358	Update copyright year.
1359	[faec2e69d89a] <1.7>
1360
1361	* visudo.c:
1362	Allow "visudo -c" to work when we only have read-only access to the
1363	sudoers include files.
1364	[b59f230a6dd3] <1.7>
1365
1366	* match.c:
1367	Do not include GLOB_MARK in the flags we pass to glob(3). Fixes a
1368	bug where a pattern like "/usr/*" include /usr/bin/ in the results,
1369	which would be incorrectly be interpreted as if the sudoers file had
1370	specified a directory. From Vitezslav Cizek.
1371	[839a35f01eba] <1.7>
1372
1373	* gram.c, gram.y, parse.c:
1374	Print a more sensible error if yyparse() returns non-zero but
1375	yyerror() was not called.
1376	[1b24dcfa5c9b] <1.7>
1377
1378	* config.h.in, configure, configure.in, sudo.c:
1379	When trying to determine the tty, fall back on /proc/ppid/fd/{0,1,2}
1380	if the main process's fds 0-2 are not hooked up to a tty. On BSD,
1381	use the KERN_PROC_PID sysctl() instead.
1382	[d7938d938fbd] <1.7>
1383
1384	* exec.c:
1385	When not logging I/O, put command in its own pgrp and make that the
1386	controlling pgrp if the command is in the foreground. Fixes a race
1387	in the non-I/O logging path where the command may receive two
1388	keyboard-generated signals; one from the kernel and one from the
1389	sudo process.
1390	[15726f1e2a51] <1.7>
1391
1392	* def_data.c, def_data.in:
1393	Add missing %s printf escape to the iolog_dir description.
1394	[5319fe6868eb] <1.7>
1395
1396	* exec.c:
1397	Handle different Unix domain socket (actually socketpair) semantics
1398	in BSD vs. Linux. In BSD if one end of the socketpair goes away
1399	select() returns the fd as readable and the read will fail with
1400	ECONNRESET. This doesn't appear to happen on Linux so if we notice
1401	that the monitor process has died when I/O logging is enabled,
1402	behave like the command has exited. This means we log the wait
1403	status of the monitor, not the command, but there is nothing else we
1404	can do at that point. This should only be an issue if SIGKILL is
1405	sent to the monitor process.
1406	[a1e7e31519ec] <1.7>
1407
1408	* exec_pty.c:
1409	Catch common signals in the monitor process so they get passed to
1410	the command. Fixes a problem when the entire login session is killed
1411	when ssh is disconnected or the terminal window is closed.
1412	[39a0384e0474] <1.7>
1413
1414	* INSTALL, configure, configure.in:
1415	Mention how to configure pam_hpsec on HP-UX to play nicely with
1416	sudo.
1417	[65696ab03d89] <1.7>
1418
1419	* ldap.c:
1420	Escape values in the search expression as per RFC 4515
1421	[62f9aca28e37] <1.7>
1422
1423	* configure, configure.in:
1424	Bump version to 1.7.9
1425	[188328e38511] <1.7>
1426
1427	* sudo.c:
1428	Remove unwanted login_close() in last commit.
1429	[0efe32685263] <1.7>
1430
1431	* auth/bsdauth.c, sudo.c:
1432	Fetch the login class for the user we authenticate specifically when
1433	using BSD authentication. That user may have a different login class
1434	than what we will use to run the command. When setting the login
1435	class for the command, use the target user's struct passwd, not the
1436	invoking user's.
1437	[95bd1c8b121d] <1.7>
1438
1439	* aclocal.m4, config.h.in, configure, configure.in:
1440	No longer need SUDO_CHECK_TYPE and SUDO_TYPE_* now that the default
1441	includes have unistd.h in them.
1442	[46e1b5245f37] <1.7>
1443
1444	* config.h.in, configure, configure.in, fileops.c, interfaces.c,
1445	interfaces.h, match.c, nanosleep.c, sudo_noexec.c, sudoreplay.c:
1446	Use HAVE_STRUCT_TIMESPEC and HAVE_STRUCT_IN6_ADDR instead of
1447	HAVE_TIMESPEC and HAVE_IN6_ADDR respectively.
1448	[f1f0347562db] <1.7>
1449
1450	* visudo.c:
1451	Fix mode on sudoers as needed when the -f option is not specified.
1452	[9d729b366c36] <1.7>
1453
1454	* mkpkg:
1455	Build PIE executables for newer Debian and Ubuntu
1456	[01c6309628ea] <1.7>
1457
1458	* exec.c, exec_pty.c:
1459	Do not close error pipe or debug fd via closefrom() as we need them
1460	to report an exec error should one occur.
1461	[fe9cfd15d679] <1.7>
1462
1463	* ldap.c:
1464	Older Netscape LDAP SDKs don't prototype ldapssl_set_strength()
1465	[0d5418fc6207] <1.7>
1466
1467	* LICENSE, emul/fnmatch.h, fnmatch.c:
1468	Replace UCB fnmatch.c with a non-recursive version written by
1469	William A. Rowe Jr.
1470	[8f8dbd3e61dd] <1.7>
1471
1472	* sudo.pod, sudoers.pod:
1473	Make the env_reset descriptions consistent.
1474	[0b49736bc118] <1.7>
1475
1476	* configure, configure.in:
1477	Do multiple expansion when expanding paths to the noexec file, and
1478	sesh. Adapted from a diff by Mike Frysinger
1479	[36131e1bbe87] <1.7>
1480
1481	* .hgignore:
1482	Add ignore file
1483	[bb5b1d29df15] <1.7>
1484
1485	* config.guess, config.sub, configure, ltmain.sh, m4/libtool.m4,
1486	m4/ltoptions.m4, m4/ltversion.m4:
1487	Update to libtool 2.4.2
1488	[87302d678542] <1.7>
1489
1490	* sudoers.pod, toke.c, toke.l:
1491	Add support for relative paths in #include and #includedir
1492	[256ce31bc082] <1.7>
1493
1494	* UPGRADE:
1495	Add missing word in HOME security note.
1496	[e3fb8f091198] <1.7>
1497
1498	* gram.c, gram.y, toke.c, toke.l:
1499	Keep track of the last token returned. On error, if the last token
1500	was COMMENT, decrement sudolineno since the error most likely
1501	occurred on the preceding line. Previously we always uses
1502	sudolineno-1 which will give the wrong line number for errors within
1503	a line.
1504	[cc2de3f4f4ba] <1.7>
1505
15062011-12-18  Todd C. Miller  <Todd.Miller@courtesan.com>
1507
1508	* def_data.c, def_data.in:
1509	Fix typo in visiblepw description; from Joel Pickett
1510	[1e74dd75c3e2] <1.7>
1511
15122011-11-08  Todd C. Miller  <Todd.Miller@courtesan.com>
1513
1514	* sudo.pp:
1515	Mark libexec files as optional. If there is no support for noexec,
1516	sudo will not build sudo_noexec.so. Fixes a packaging problem on
1517	AIX 4.3
1518	[b3b80e0ebeb2] <1.7>
1519
15202011-10-26  Todd C. Miller  <Todd.Miller@courtesan.com>
1521
1522	* visudo.c:
1523	Make alias_remove_recursive() return TRUE/FALSE as its callers
1524	expect and remove two unused arguments. Fixes bug 519.
1525	[009d65033d04] <1.7>
1526
15272011-10-25  Todd C. Miller  <Todd.Miller@courtesan.com>
1528
1529	* NEWS, match.c:
1530	When matching a RunasAlias for a runas group, pass the alias in as
1531	the group_list, not the user_list. From Daniel Kopecek.
1532	[3ab0460a4dee] <1.7>
1533
15342011-10-21  Todd C. Miller  <Todd.Miller@courtesan.com>
1535
1536	* .hgtags:
1537	Added tag SUDO_1_7_8 for changeset 571f47a3e08c
1538	[3de502bba852] <1.7>
1539
1540	* configure, configure.in:
1541	Revert unintended commit of version change to 1.7.8rc1
1542	[571f47a3e08c] [SUDO_1_7_8] <1.7>
1543
15442011-10-10  Todd C. Miller  <Todd.Miller@courtesan.com>
1545
1546	* NEWS:
1547	Add sudoedit fix
1548	[350569be47a9] <1.7>
1549
1550	* env.c:
1551	Ignore set_logname (which is now the default) for sudoedit since we
1552	want the LOGNAME, USER and USERNAME environment variables to refer
1553	to the calling user since that is who the editor runs as. This
1554	allows the editor to find the user's startup files. Fixes bugzilla
1555	#515
1556	[8615dc42239d] <1.7>
1557
15582011-09-27  Todd C. Miller  <Todd.Miller@courtesan.com>
1559
1560	* auth/API, auth/bsdauth.c, auth/fwtk.c, auth/kerb4.c, auth/kerb5.c,
1561	auth/pam.c, auth/passwd.c, auth/secureware.c, auth/securid.c,
1562	auth/securid5.c, auth/sudo_auth.c, auth/sudo_auth.h, check.c,
1563	sudo.c, sudo.h:
1564	Modify the authentication API such that the init and cleanup
1565	functions are always called, regardless of whether or not we are
1566	going to verify a password. This is needed for proper PAM session
1567	support.
1568	[c8ea54add6cd] <1.7>
1569
15702011-09-24  Todd C. Miller  <Todd.Miller@courtesan.com>
1571
1572	* pwutil.c, sudo.c, sudo.h:
1573	If the invoking user cannot be resolved by uid fake the struct
1574	passwd and store it in the cache so we can delref it on exit.
1575	[e884526c625f] <1.7>
1576
15772011-09-22  Todd C. Miller  <Todd.Miller@courtesan.com>
1578
1579	* .hgtags:
1580	Added tag SUDO_1_7_7 for changeset 9fba0207f99a
1581	[9a2a6bc562ba] <1.7>
1582
15832011-09-21  Todd C. Miller  <Todd.Miller@courtesan.com>
1584
1585	* TROUBLESHOOTING:
1586	Update to current reality and add bit about ssh auth
1587	[e685cf9d5b80] <1.7>
1588
1589	* gram.c, gram.y:
1590	Make "verbose" static; fixes a namespace clash with
1591	pam_ssh_agent_auth (and it doesn't need to be extern these days).
1592	[b7af22bb2a44] <1.7>
1593
1594	* config.h.in, configure, configure.in, get_pty.c:
1595	FreeBSD has libutil.h not util.h
1596	[299f690e00c1] <1.7>
1597
1598	* configure, configure.in:
1599	Define _BSD_SOURCE on FreeBSD, OpenBSD and DragonflyBSD
1600	[b62354af36fb] <1.7>
1601
16022011-09-17  Todd C. Miller  <Todd.Miller@courtesan.com>
1603
1604	* NEWS, sudo.c:
1605	Apply MODE_MASK to sudo_mode in the switch statement that handles
1606	modes other than MODE_RUN.
1607	[207aa8b0d0b0] <1.7>
1608
16092011-09-16  Todd C. Miller  <Todd.Miller@courtesan.com>
1610
1611	* NEWS, configure, configure.in, sudo.cat, sudo.man.in, sudoers.cat,
1612	sudoers.ldap.cat, sudoers.ldap.man.in, sudoers.man.in,
1613	sudoreplay.cat, sudoreplay.man.in, visudo.cat, visudo.man.in:
1614	Update for version 1.7.8
1615	[a1e17108be5c] <1.7>
1616
1617	* ldap.c, sudoers.ldap.pod:
1618	Add support for DEREF in ldap.conf.
1619	[125671af12dd] <1.7>
1620
1621	* configure, configure.in:
1622	Check for -libmldap too when looking for ldap libs, which is the
1623	Tivoli Directory Server client library.
1624	[bd1f9c9572f1] <1.7>
1625
1626	* parse.c:
1627	Honor NOPASSWD tag for denied commands too.
1628	[73e53bf979d0] <1.7>
1629
1630	* INSTALL, configure, configure.in:
1631	Remove --with-CC option; it doesn't work correctly now that we use
1632	libtool. Users can get the same effect by setting the CC environment
1633	variable when running configure.
1634	[b3c8e1d3b601] <1.7>
1635
1636	* visudo.c:
1637	Don't assume all editors support the +linenumber command line
1638	argument, use a whitelist of known good editors.
1639	[e639904656b6] <1.7>
1640
1641	* configure, configure.in:
1642	Use PAM by default on AIX 6 and higher. Fix some square brackets in
1643	case statements that needed to be doubled up. While here, use
1644	$OSMAJOR when it makes sense.
1645	[4a4fb717a75f] <1.7>
1646
16472011-08-30  Todd C. Miller  <Todd.Miller@courtesan.com>
1648
1649	* INSTALL, configure, configure.in:
1650	Add --enable-werror configure option. Add -Wall and -Werror after
1651	all tests so they don't cause failures.
1652	[805eb7c4af8b] <1.7>
1653
1654	* config.h.in, configure, configure.in, missing.h, sudo.h,
1655	sudo_noexec.c:
1656	Add configure test for missing errno declaration and only declare it
1657	ourselves if it is missing.
1658	[9e26d7bc28b9] <1.7>
1659
1660	* alias.c:
1661	Include errno.h before sudo.h to avoid conflicting with the system
1662	definition of errno.
1663	[991e5efb9333] <1.7>
1664
16652011-08-27  Todd C. Miller  <Todd.Miller@courtesan.com>
1666
1667	* match.c:
1668	Fix matching a network number with netmask when the network number
1669	is not the first address in the CIDR block.
1670	[18ae73d884ae] <1.7>
1671
16722011-08-23  Todd C. Miller  <Todd.Miller@courtesan.com>
1673
1674	* mkpkg:
1675	Fix building on RHEL 3
1676	[c54c381a9093] <1.7>
1677
16782011-08-14  Todd C. Miller  <Todd.Miller@courtesan.com>
1679
1680	* NEWS, sudo.c:
1681	bash 2.x doesd not support the -l flag and exits with an error if it
1682	is specified so use --login instead. This causes an error with bash
1683	1.x (which uses -login instead) but this version is hopefully less
1684	used than 2.x.
1685	[9fba0207f99a] [SUDO_1_7_7] <1.7>
1686
1687	* configure, configure.in:
1688	Detect HP-UX bundled compiler on ia64 systems.
1689	[92579c1de7d6] <1.7>
1690
1691	* lbuf.c:
1692	Fix cut & pasto in K&R lbuf_append function declaration
1693	[e31c4d533e9a] <1.7>
1694
1695	* NEWS:
1696	sync
1697	[abe2abe9875b] <1.7>
1698
1699	* exec.c, exec_pty.c, sudo_exec.h:
1700	Improved background mode support. When not allocating a pty, the
1701	command is run in its own process group. This prevents write access
1702	to the tty. When running in a pty, stdin is not hooked up and we
1703	never read from /dev/tty, which results in similar behavior.
1704	[9a5513a80338] <1.7>
1705
1706	* lbuf.c, lbuf.h, ldap.c, parse.c, parse_args.c, sudo_nss.c:
1707	Add primitive format string support to the lbuf code.
1708	[2628965a3272] <1.7>
1709
1710	* sudo.c:
1711	Go back to escaping the command args for "sudo -i" and "sudo -s" in
1712	NewArgv before checking sudoers but unescape non-spaces when
1713	building user_args to make sudoers matching easier.
1714	[4c88da5fc510] <1.7>
1715
17162011-08-13  Todd C. Miller  <Todd.Miller@courtesan.com>
1717
1718	* INSTALL, NEWS, README, configure, configure.in, sudo.cat,
1719	sudo.man.in, sudoers.cat, sudoers.ldap.cat, sudoers.ldap.man.in,
1720	sudoers.man.in, sudoreplay.cat, sudoreplay.man.in, visudo.cat,
1721	visudo.man.in:
1722	Prepare for sudo 1.7.7
1723	[8ea26959ac1d] <1.7>
1724
1725	* sudo.c:
1726	Only check gid of sudoers file if it is group-readable or writable.
1727	[ecb53c982ab8] <1.7>
1728
1729	* mkpkg:
1730	configure args on the command line should override builtin defaults.
1731	Add -g to CFLAG for PIE builds.
1732	[35f35e806705] <1.7>
1733
1734	* configure, configure.in:
1735	Add checks for nroff -c and -Tascii flags
1736	[897772861c2c] <1.7>
1737
1738	* configure, configure.in:
1739	When building with gcc on HP-UX, use -march=1.1 to produce portable
1740	binaries on a pa-risc2 host. Previously, the +Dportable option was
1741	used for the HP-UX C compiler but gcc always produced native
1742	binaries.
1743	[d3b0893cd038] <1.7>
1744
1745	* zlib/adler32.c, zlib/crc32.c, zlib/crc32.h, zlib/infback.c,
1746	zlib/inffast.c, zlib/inflate.c, zlib/inftrees.c, zlib/trees.c:
1747	Fix K&R compilation
1748	[e7b103358019] <1.7>
1749
1750	* sudo.c:
1751	fix K&R compilation
1752	[5d6c476a5f73] <1.7>
1753
1754	* match.c:
1755	If the user specifies a runas group via sudo's -g option that
1756	matches the runas user's group in the passwd database and that group
1757	is not denied in the Runas_Spec, allow it. Thus, if user root's gid
1758	in /etc/passwd is 0, then "sudo -u root -g root id" is allow even if
1759	no groups are present in the Runas_Spec.
1760	[fafe67fa39c1] <1.7>
1761
1762	* visudo.c:
1763	When checking aliases, also check the contents of the alias in case
1764	there are problems with an alias that is referenced inside another.
1765	Replace the self reference check with real alias cycle detection.
1766	[8957b4c7e6c9] <1.7>
1767
1768	* alias.c:
1769	Set errno to ELOOP in alias_find() if there is a cycle. Set errno to
1770	ENOENT in alias_find() and alias_remove() if the entry could not be
1771	found.
1772	[c2fa4faa8abf] <1.7>
1773
1774	* visudo.c:
1775	Increment alias_seqno before calls to alias_remove_recursive() to
1776	avoid false positives with the alias loop detection. Fixes spurious
1777	warnings about unused aliases when they are nested.
1778	[0260e8087c03] <1.7>
1779
1780	* ldap.c, sudoers.ldap.pod:
1781	Tivoli Directory Server requires that seconds be present in a
1782	timestamp, even though RFC 4517 states that they are optional.
1783	[467e8876e3da] <1.7>
1784
1785	* sudo.c:
1786	Set def_preserve_groups before searching for the command when the
1787	-P flag is specified.
1788	[ba3b399a2e55] <1.7>
1789
1790	* sudoers.pod:
1791	The group named by exempt_group should not have a % prefix.
1792	[41c7640647e5] <1.7>
1793
1794	* getdate.c, getdate.y:
1795	Do not declare yyparse() static as the actual function generated by
1796	yacc is extern.
1797	[e25721f456ef] <1.7>
1798
1799	* configure, configure.in:
1800	Disable noexec for AIX < 5. LDR_PRELOAD is only available in AIX 5.3
1801	and above.
1802	[34ebbe43f380] <1.7>
1803
1804	* mkpkg:
1805	For SuSE, only use /usr/lib64 as libexec if generating 64-bit
1806	binaries.
1807	[9277f9dfb21d] <1.7>
1808
1809	* Makefile.in, logging.c, logging.h, logwrap.c:
1810	Split out log file word wrap code into its own file. Fixes an off-
1811	by one in the word wrap when the log line length matches loglinelen.
1812	[c3759952fe9e] <1.7>
1813
1814	* audit.c:
1815	Add a NULL check in audit_success() and audit_failure() just to be
1816	on the safe side.
1817	[265ccdf16561] <1.7>
1818
1819	* check.c, ldap.c, parse.c, toke.c, toke.l:
1820	Fix some potential problems found by the clang static analyzer, none
1821	serious.
1822	[0183767382c3] <1.7>
1823
1824	* auth/aix_auth.c:
1825	For AIX, keep calling authenticate() until reenter reaches 0.
1826	[df98b55de2ab] <1.7>
1827
1828	* config.guess, config.sub, configure, configure.in, ltmain.sh,
1829	m4/libtool.m4, m4/ltoptions.m4, m4/ltversion.m4, m4/lt~obsolete.m4:
1830	Update to autoconf 2.68 and libtool 2.4
1831	[d8e09ea9a10e] <1.7>
1832
1833	* auth/rfc1938.c, config.h.in, configure.in:
1834	Add check for NetBSD-style 4-argument skeychallenge() as Gentoo also
1835	has this. Adapted from a patch from Diego Elio Petteno
1836	[124c020dc27d] <1.7>
1837
18382011-08-11  Todd C. Miller  <Todd.Miller@courtesan.com>
1839
1840	* sudoers.pod:
1841	Fix typo; OPT should be OTP
1842	[f24c4f190ff4] <1.7>
1843
18442011-08-10  Todd C. Miller  <Todd.Miller@courtesan.com>
1845
1846	* sudo.c:
1847	Add dedicated callback function for runas_default sudoers setting
1848	that only sets runas_pw if no runas user or group was specified by
1849	the user.
1850	[0a57b26041c6] <1.7>
1851
18522011-08-09  Todd C. Miller  <Todd.Miller@courtesan.com>
1853
1854	* defaults.h, sudo.c:
1855	Go back to using a callback for runas_default to keep runas_pw in
1856	sync. This is needed to make per-entry runas_default settings work
1857	with LDAP-based sudoers. Instead of declaring it a callback in
1858	def_data.in, sudo pokes sudo_defs_table[] which is a bit naughty,
1859	but avoids requiring stub functions in visudo and testsudoers.
1860	[3f5ef76c6de5] <1.7>
1861
18622011-07-13  Todd C. Miller  <Todd.Miller@courtesan.com>
1863
1864	* mkpkg:
1865	Only run configure with --with-pam-login for RHEL 5 and above.
1866	[59c88e848991] <1.7>
1867
1868	* sudo.pp:
1869	Fix typo in summary
1870	[ac1d930d3822] <1.7>
1871
18722011-06-13  Todd C. Miller  <Todd.Miller@courtesan.com>
1873
1874	* env.c:
1875	Preserve SHELL variable for "sudo -s". Otherwise we can end up with
1876	a situation where the SHELL variable and the actual shell being run
1877	do not match.
1878	[1eb3f17d128f] <1.7>
1879
18802011-06-10  Todd C. Miller  <Todd.Miller@courtesan.com>
1881
1882	* configure, configure.in:
1883	Only enable Solaris project support when setproject() is present in
1884	libproject.
1885	[17c6f8635946] <1.7>
1886
1887	* sudo.pp:
1888	Explicitly set mode and owner of /etc/sudoers instead of relying on
1889	"cp -p" to work in the postinstall script. On AIX 6.1 at least the
1890	postinstall script runs before the final file permissions are set.
1891	[6e3fcb12a27f] <1.7>
1892
18932011-04-29  Todd C. Miller  <Todd.Miller@courtesan.com>
1894
1895	* toke.c, toke.l:
1896	Split ALL, ROLE and TYPE into their own actions. Since you can only
1897	have #ifdefs inside of braces, ROLE and TYPE use a naughty goto in
1898	the non-SELinux case. This is safe because the actions are in one
1899	big switch() statement.
1900	[19863b5cecde] <1.7>
1901
1902	* toke.c, toke.l:
1903	Fix regexp for matching a CIDR-style IPv4 netmask. From Marc Espie.
1904	[cbf8c4ee2981] <1.7>
1905
1906	* sudoers.pod:
1907	Remove obsolete warning about runas_default and ordering.
1908	[eff3ac4c594b] <1.7>
1909
19102011-04-18  Todd C. Miller  <Todd.Miller@courtesan.com>
1911
1912	* configure, configure.in:
1913	Need to do checks for krb5_verify_user, krb5_init_secure_context and
1914	krb5_get_init_creds_opt_alloc regardless of whether or not
1915	krb5-config is present.
1916	[6ceda8c8c126] <1.7>
1917
1918	* NEWS:
1919	sudo 1.7.6p1 updates
1920	[888e4e84b839] <1.7>
1921
19222011-04-14  Todd C. Miller  <Todd.Miller@courtesan.com>
1923
1924	* sudo.pp:
1925	update copyright year
1926	[edf691539a65] <1.7>
1927
1928	* toke.c, toke.l:
1929	Treat a missing includedir like an empty one and do not return an
1930	error.
1931	[9c770ff2d0bc] <1.7>
1932
19332011-04-12  Todd C. Miller  <Todd.Miller@courtesan.com>
1934
1935	* pp:
1936	Fix ARCH setting in cross-compile Solaris packages.
1937	[057d743bd1a2] <1.7>
1938
1939	* sudo.pp:
1940	Fix aix version setting.
1941	[1a2621321f5c] <1.7>
1942
1943	* ldap.c:
1944	Remove extraneous parens in LDAP filter when sudoers_search_filter
1945	is enabled that causes a search error. From Matthew Thomas.
1946	[7a5a2d021d32] <1.7>
1947
19482011-04-09  Todd C. Miller  <Todd.Miller@courtesan.com>
1949
1950	* .hgtags:
1951	Added tag SUDO_1_7_6 for changeset fafbb7b0aea2
1952	[6f5c74a8a6ac] <1.7>
1953
1954	* configure, configure.in, sudo.cat, sudo.man.in, sudoers.cat,
1955	sudoers.ldap.cat, sudoers.ldap.man.in, sudoers.man.in,
1956	sudoreplay.cat, sudoreplay.man.in, visudo.cat, visudo.man.in:
1957	regen for 1.7.6
1958	[fafbb7b0aea2] [SUDO_1_7_6] <1.7>
1959
1960	* sudo.cat, sudo.man.in:
1961	regen man pages for 1.7.6
1962	[94d851285f31] <1.7>
1963
19642011-04-06  Todd C. Miller  <Todd.Miller@courtesan.com>
1965
1966	* configure, configure.in:
1967	Fix warnings when -without-skey, --without-opie, --without-kerb4,
1968	--without-kerb5 or --without-SecurID were specified.
1969	[83a99d369286] <1.7>
1970
19712011-04-05  Todd C. Miller  <Todd.Miller@courtesan.com>
1972
1973	* NEWS:
1974	Mention %#gid support in User_List and Runas_List
1975	[8ff14765d7df] <1.7>
1976
1977	* sudoers.pod:
1978	Merge SETENV and NOSETENV description from 1.8
1979	[dd44e79b53a0] <1.7>
1980
19812011-04-01  Todd C. Miller  <Todd.Miller@courtesan.com>
1982
1983	* testsudoers.c:
1984	In dump-only mode, use "root" as the default username instead of
1985	"nobody" as the latter may not be available on all systems.
1986	[8082b8a1374c] <1.7>
1987
19882011-03-31  Todd C. Miller  <Todd.Miller@courtesan.com>
1989
1990	* testsudoers.c:
1991	Fix setting of user_args
1992	[0669612feeb1] <1.7>
1993
1994	* toke.c, toke.l:
1995	Add '!' token to lex tracing
1996	[7738d002a8d0] <1.7>
1997
1998	* toke.c, toke.l:
1999	Avoid using pre or post increment in a parameter to a ctype(3)
2000	function as it might be a macro that causes the increment to happen
2001	more than once.
2002	[2d23161e06dc] <1.7>
2003
20042011-03-30  Todd C. Miller  <Todd.Miller@courtesan.com>
2005
2006	* sudo.pp:
2007	Strip off the beta or release candidate version when building AIX
2008	packages.
2009	[246ebb79e64f] <1.7>
2010
2011	* aix.c:
2012	getuserattr(user, ...) will fall back to the "default" entry
2013	automatically, there's no need to check "default" manually.
2014	[dd233ca1092a] <1.7>
2015
20162011-03-29  Todd C. Miller  <Todd.Miller@courtesan.com>
2017
2018	* UPGRADE:
2019	Document parser changes.
2020	[f767c045e6c0] <1.7>
2021
2022	* testsudoers.c:
2023	Add runasgroup support to testsudoers
2024	[23f060665d23] <1.7>
2025
2026	* testsudoers.c:
2027	More useful exit codes:
2028	 * 0 - parsed OK and command matched.
2029	 * 1 - parse error
2030	 * 2 - command not matched
2031	 * 3 - command denied
2032	[bda610d9f6da] <1.7>
2033
2034	* Makefile.in:
2035	If there is an existing sudoers file, only install if it passes a
2036	syntax check.
2037	[189eaeea562e] <1.7>
2038
2039	* sudoers.pod:
2040	Document %#gid, and %:#nonunix_gid syntax.
2041	[59e7df4c91e4] <1.7>
2042
2043	* pwutil.c:
2044	Add support to user_in_group() for treating group names that begin
2045	with a '#' as gids.
2046	[3926017fbf95] <1.7>
2047
20482011-03-28  Todd C. Miller  <Todd.Miller@courtesan.com>
2049
2050	* aclocal.m4:
2051	Quote first argument to AC_DEFUN(); from Elan Ruusamae
2052	[a245e4891bab] <1.7>
2053
20542011-03-27  Todd C. Miller  <Todd.Miller@courtesan.com>
2055
2056	* toke.c, toke.l:
2057	Use bitwise AND instead of modulus to check for length being odd. A
2058	newline in the middle of a string is an error unless a line
2059	continuation character is used.
2060	[37a7f1fc54b7] <1.7>
2061
2062	* gram.c, toke.c:
2063	Add missing include of config.h
2064	[b13da7baee1e] <1.7>
2065
2066	* gram.c, gram.y, toke.c, toke.l:
2067	Move lexer globals initialization into init_lexer.
2068	[b7c124212d05] <1.7>
2069
2070	* toke.c, toke.l:
2071	Fix a potential crash when a non-regular file is present in an
2072	includedir. Fixes bz #452
2073	[f1209a710607] <1.7>
2074
2075	* pp:
2076	On some Linux systems, "uname -p" contains detailed processor info
2077	so check "uname -m" first and then "uname -p" if needed. Recognize
2078	PLD Linux.
2079	[83af85a391df] <1.7>
2080
2081	* toke.c, toke.l:
2082	Make an empty group or netgroup a syntax error.
2083	[e88aa7b31a43] <1.7>
2084
2085	* toke.c, toke.l:
2086	Allow a group ID in the User_Spec.
2087	[3e58bc732e33] <1.7>
2088
2089	* toke.c, toke.l:
2090	Return an error for the empty string when a word is expected. Allow
2091	an ID for per-user or per-runas Defaults.
2092	[83bb1a9c80ad] <1.7>
2093
20942011-03-23  Todd C. Miller  <Todd.Miller@courtesan.com>
2095
2096	* testsudoers.c:
2097	Fix printing "User_Alias FOO = ALL"
2098	[8e6e810e89ce] <1.7>
2099
21002011-03-22  Todd C. Miller  <Todd.Miller@courtesan.com>
2101
2102	* parse_args.c:
2103	Better error message about invalid -C argument
2104	[fc14f8dc03d2] <1.7>
2105
2106	* NEWS:
2107	fix typo
2108	[f789649fdeaf] <1.7>
2109
2110	* sudoers.pod:
2111	Fix placement of equal size ('=') in user specification summary.
2112	[51861d678ac1] <1.7>
2113
21142011-03-21  Todd C. Miller  <Todd.Miller@courtesan.com>
2115
2116	* toke.l:
2117	If we match a rule anchored to the beginning of a line after parsing
2118	a line continuation character, return an ERROR token. It would be
2119	nicer to use REJECT instead but that substantially slows down the
2120	lexer.
2121	[f31c6622aaf9] <1.7>
2122
2123	* toke.c, toke.l:
2124	Allow whitespace after the modifier in a Defaults entry. E.g.
2125	"Defaults: username set_home"
2126	[57c09139d10c] <1.7>
2127
21282011-03-18  Todd C. Miller  <Todd.Miller@courtesan.com>
2129
2130	* mkpkg:
2131	Don't set CC when cross-compiling. Use the Sun Studio C compiler on
2132	Solaris if possible.
2133	[b91feb0678c1] <1.7>
2134
2135	* NEWS:
2136	Credit Matthew Thomas for the sudoers_search_filter changes.
2137	[4b3f239e114d] <1.7>
2138
2139	* NEWS:
2140	Update for sudo 1.7.6 beta
2141	[26cdd6578c23] <1.7>
2142
2143	* exec_pty.c:
2144	Save the controlling tty process group before suspending in pty
2145	mode. Previously, we assumed that the child pgrp == child pid
2146	(which is usually, but not always, the case).
2147	[670657004784] <1.7>
2148
2149	* ldap.c, sudoers.ldap.pod:
2150	Add support for sudoers_search_filter setting in ldap.conf. This
2151	can be used to restrict the set of records returned by the LDAP
2152	query.
2153	[c941bb5f68f2] <1.7>
2154
21552011-03-17  Todd C. Miller  <Todd.Miller@courtesan.com>
2156
2157	* configure, configure.in:
2158	Remove the hack to disable -g in CFLAGS unless --with-devel
2159	[933300bf3848] <1.7>
2160
2161	* sudoers.pod:
2162	The '@' character does not normally need to be quoted.
2163	[7e96569aed54] <1.7>
2164
2165	* toke.c, toke.l:
2166	We normaly transition from GOTDEFS to STARTDEFS on whitespace, but
2167	if that whitespace is followed by a comma, we want to treat it as
2168	part of a list and not transition.
2169	[6dd87c25c79c] <1.7>
2170
2171	* Makefile.in:
2172	toke_util.c lives in $(srcdir) not $(devdir)
2173	[b1b59d72f026] <1.7>
2174
2175	* toke.c, toke.l:
2176	Fix parsing of double-quoted names in Defaults and Aliases which was
2177	broken in c2b486b12951.
2178	[30b2fdbafdc2] <1.7>
2179
21802011-03-16  Todd C. Miller  <Todd.Miller@courtesan.com>
2181
2182	* NEWS:
2183	Document major changes for sudo 1.7.6
2184	[d474a2aeb411] <1.7>
2185
2186	* configure, configure.in:
2187	Update version to 1.7.6
2188	[c1c80b99ed82] <1.7>
2189
2190	* match.c:
2191	Be careful not to deref user_stat if it is NULL. This cannot
2192	currently happen in sudo but might in other programs using the
2193	parser.
2194	[0926b1653e20] <1.7>
2195
2196	* mkpkg:
2197	configure will not add -O2 to CFLAGS if it is already defined to add
2198	-O2 to the CFLAGS we pass in when PIE is being used.
2199	[a4444e287bcb] <1.7>
2200
2201	* sudoers.pod:
2202	Warn about the dangers of log_input and mention iolog_dir in the
2203	log_input and log_output descriptions.
2204	[68c3615f7487] <1.7>
2205
2206	* pp:
2207	Back out 2b81d57de4a4 and sync with git version
2208	[5a2443567b9c] <1.7>
2209
2210	* exec.c:
2211	Save the controlling tty process group before suspending so we can
2212	restore it when we resume. Fixes job control problems on Linux
2213	caused by the previous attemp to fix resuming a shell when I/O
2214	logging not enabled.
2215	[3e4e26b79f59] <1.7>
2216
2217	* exec.c:
2218	In handle_signals(), restart the read() on EINTR to make sure we
2219	keep up with the signal pipe. Don't return -1 on EAGAIN, it just
2220	means we have emptied the pipe.
2221	[5bcfe5a061c2] <1.7>
2222
2223	* lbuf.c:
2224	Fix printing of the remainder after a newline. Fixes "sudo -l"
2225	output corruption that could occur in some cases.
2226	[41e5595f0559] <1.7>
2227
22282011-03-08  Todd C. Miller  <Todd.Miller@courtesan.com>
2229
2230	* mkpkg:
2231	Fix default setting of osversion variable.
2232	[c67d9d3bfa2b] <1.7>
2233
22342011-03-07  Todd C. Miller  <Todd.Miller@courtesan.com>
2235
2236	* mkpkg:
2237	Add --osversion flag to specify OS instead of running "pp
2238	--probeonly"
2239	[550104604d4b] <1.7>
2240
2241	* sudo.pp:
2242	Fix expr usage w/ GNU expr
2243	[c2161988dec9] <1.7>
2244
22452011-03-02  Todd C. Miller  <Todd.Miller@courtesan.com>
2246
2247	* sudo.pp:
2248	Don't use the beta or release candidate version as the rpm release.
2249	[56f8c0b1eb46] <1.7>
2250
22512011-02-25  Todd C. Miller  <Todd.Miller@courtesan.com>
2252
2253	* .hgtags:
2254	Added tag SUDO_1_7_5 for changeset 9314212577c3
2255	[75f9d661ea03] <1.7>
2256
2257	* configure, configure.in:
2258	version 1.7.5
2259	[9314212577c3] [SUDO_1_7_5] <1.7>
2260
22612011-02-21  Todd C. Miller  <Todd.Miller@courtesan.com>
2262
2263	* configure, configure.in, sudo.cat, sudo.man.in, sudoers.cat,
2264	sudoers.ldap.cat, sudoers.ldap.man.in, sudoers.man.in,
2265	sudoreplay.cat, sudoreplay.man.in, visudo.cat, visudo.man.in:
2266	1.7.5rc1
2267	[216ab95b5de0] <1.7>
2268
2269	* parse_args.c, sudo.c, sudo.pod, sudo_usage.h.in, sudoreplay.c,
2270	sudoreplay.pod, visudo.c, visudo.pod:
2271	add help text to sudo, visudo and sudoreplay for the -h option
2272	[141d348c660b] <1.7>
2273
22742011-02-19  Todd C. Miller  <Todd.Miller@courtesan.com>
2275
2276	* snprintf.c:
2277	avoid using "howmany" for a parameter name since it is a select-
2278	related macro
2279	[6b6c2d504103] <1.7>
2280
2281	* Makefile.in:
2282	add localstatedir; closes bug 471
2283	[a4778228ae54] <1.7>
2284
2285	* config.h.in, configure, configure.in, exec.c, exec_pty.c,
2286	sudoreplay.c:
2287	The howmany macro lives in sys/sysmacros.h on SVR5 systems Closes
2288	Bug 470
2289	[be5dff63ff5d] <1.7>
2290
2291	* exec.c:
2292	SVR5 systems return non-zero for success on socketpair(), check for
2293	-1 instead. Closes Bug 469
2294	[13ac9d0e0934] <1.7>
2295
22962011-02-17  Todd C. Miller  <Todd.Miller@courtesan.com>
2297
2298	* auth/afs.c:
2299	Move afs includes to be before sudo ones
2300	[fbe0bdcf5798] <1.7>
2301
2302	* config.h.in, configure, configure.in:
2303	No longer use vhangup
2304	[9fce94512df9] <1.7>
2305
23062011-02-14  Todd C. Miller  <Todd.Miller@courtesan.com>
2307
2308	* sudo_nss.c:
2309	Avoid printing empty "Runas and Command-specific defaults for user"
2310	line.
2311	[3df2925f9982] <1.7>
2312
2313	* lbuf.c:
2314	Truncate the buffer at buf.len before printing in the non-wordwrap
2315	case.
2316	[23a31b8d95b8] <1.7>
2317
2318	* lbuf.c:
2319	Remove extra newline when the tty width is very small or unavailable
2320	[32fa0b3ea47a] <1.7>
2321
23222011-02-13  Todd C. Miller  <Todd.Miller@courtesan.com>
2323
2324	* configure, configure.in, sudo.cat, sudo.man.in, sudoers.cat,
2325	sudoers.ldap.cat, sudoers.ldap.man.in, sudoers.man.in,
2326	sudoreplay.cat, sudoreplay.man.in, visudo.cat, visudo.man.in:
2327	1.7.5b5
2328	[0937b9bff020] <1.7>
2329
2330	* pp:
2331	don't remap numeric uids/gids to names; if the user specified and id
2332	instead of a name, they probably mean it
2333	[2b81d57de4a4] <1.7>
2334
23352011-02-11  Todd C. Miller  <Todd.Miller@courtesan.com>
2336
2337	* alias.c:
2338	Remove unneeded variable.
2339	[23329353f964] <1.7>
2340
23412011-02-09  Todd C. Miller  <Todd.Miller@courtesan.com>
2342
2343	* configure, configure.in:
2344	Prefer getutxid over getutid
2345	[e89811f0e4da] <1.7>
2346
2347	* boottime.c:
2348	Include utmp.h / utmpx.h before missing.h as apparently including it
2349	afterwards causes a compilation problem on GNU Hurd.
2350	[d62781e31b27] <1.7>
2351
23522011-02-07  Todd C. Miller  <Todd.Miller@courtesan.com>
2353
2354	* configure, configure.in, sudo.cat, sudo.man.in, sudoers.cat,
2355	sudoers.ldap.cat, sudoers.ldap.man.in, sudoers.man.in,
2356	sudoreplay.cat, sudoreplay.man.in, visudo.cat, visudo.man.in:
2357	1.7.5b4
2358	[4b8a9632fe59] <1.7>
2359
2360	* exec.c, missing.h, sudo.c, toke.h:
2361	fix K&R compilation
2362	[23ebea9c2183] <1.7>
2363
2364	* mksiglist.c:
2365	Fix typo
2366	[1587615a186f] <1.7>
2367
2368	* Makefile.in, toke.h, toke.l, toke_util.c:
2369	Split tokenizer utility functions out into toke_util.c
2370	[88148d0b9338] <1.7>
2371
2372	* alloc.c, bsm_audit.c, check.c, closefrom.c, sudo_nss.c, visudo.c:
2373	Cosmetic changes to make diffing against trunk easier.
2374	[95bdfcc29a22] <1.7>
2375
2376	* exec.c, exec_pty.c, mon_systrace.c, sudo.h, sudo_exec.h,
2377	sudoreplay.c, tgetpass.c:
2378	Use RETSIGTYPE for signal handlers.
2379	[5ea1f34d1aab] <1.7>
2380
2381	* sudo_exec.h:
2382	Use special values SIGCONT_FG and SIGCONT_BG instead of SIGUSR1 and
2383	SIGUSR2 to indicate whether the child should be continued in the
2384	foreground or background.
2385	[9fec5a258d57] <1.7>
2386
23872011-02-06  Todd C. Miller  <Todd.Miller@courtesan.com>
2388
2389	* getspwuid.c:
2390	Merge trunk version
2391	[cd44ef67e57d] <1.7>
2392
2393	* exec_pty.c:
2394	Use special values SIGCONT_FG and SIGCONT_BG instead of SIGUSR1 and
2395	SIGUSR2 to indicate whether the child should be continued in the
2396	foreground or background.
2397	[6305babcf6bd] <1.7>
2398
2399	* exec.c:
2400	If perform_io() fails, kill the child before exiting so it doesn't
2401	complain about connection reset. We can get an I/O error if, for
2402	example, and we get EIO reading from stdin.
2403	[ca28e0a25698] <1.7>
2404
24052011-02-05  Todd C. Miller  <Todd.Miller@courtesan.com>
2406
2407	* error.c, fileops.c, fnmatch.c, getcwd.c, getprogname.c, gettime.c,
2408	glob.c, isblank.c, memrchr.c, mksiglist.c, mkstemps.c, nanosleep.c,
2409	setsid.c, sigaction.c, snprintf.c, strcasecmp.c, strerror.c,
2410	strlcat.c, strlcpy.c, strsignal.c, sudo_noexec.c, sudoreplay.c,
2411	utimes.c, vasgroups.c, zero_bytes.c:
2412	Make local includes consistent; use double quotes for local includes
2413	[ec9d52fff4b3] <1.7>
2414
24152011-02-04  Todd C. Miller  <Todd.Miller@courtesan.com>
2416
2417	* error.c, getprogname.c, memrchr.c, sigaction.c, strcasecmp.c,
2418	strerror.c, strlcat.c, strlcpy.c, strsignal.c, zero_bytes.c:
2419	Must include config.h before any other headers.
2420	[3c23ec625df0] <1.7>
2421
2422	* aclocal.m4, configure:
2423	fix --with-iologdir=no
2424	[ef60ca8b3789] <1.7>
2425
2426	* aclocal.m4, configure:
2427	fix typo that broke --with-iologdir
2428	[fca175fdfd81] <1.7>
2429
24302011-02-03  Todd C. Miller  <Todd.Miller@courtesan.com>
2431
2432	* NEWS:
2433	sync for 1.7.5b3
2434	[744e2e78ef5a] <1.7>
2435
2436	* configure, configure.in, sudo.cat, sudo.man.in, sudoers.cat,
2437	sudoers.ldap.cat, sudoers.ldap.man.in, sudoers.man.in,
2438	sudoreplay.cat, sudoreplay.man.in, visudo.cat, visudo.man.in:
2439	1.7.5b3
2440	[7a24576e35ac] <1.7>
2441
2442	* sudoers.cat, sudoers.man.in, sudoers.pod:
2443	Attempt to clarify how users and groups interact in Runas_Specs
2444	[9e8c2fb328d0] <1.7>
2445
2446	* exec.c, exec_pty.c:
2447	Do not handle SIGARLM specially, just pass it through.
2448	[944978b640b5] <1.7>
2449
2450	* exec.c, exec_pty.c:
2451	Pass SIGUSR1/SIGUSR2 through to the child.
2452	[774506c977df] <1.7>
2453
2454	* exec.c:
2455	Made tcsetpgrp() bits conditional on HAVE_TCSETPGRP
2456	[386f69132ad4] <1.7>
2457
2458	* exec.c:
2459	Use pid_t not int and check the return value of kill()
2460	[5f15c3304a1d] <1.7>
2461
24622011-02-02  Todd C. Miller  <Todd.Miller@courtesan.com>
2463
2464	* exec.c:
2465	In non-pty mode before continuing the child, make it the foreground
2466	pgrp if possible. Fixes resuming a shell.
2467	[dfaadefcc6c6] <1.7>
2468
2469	* exec_pty.c:
2470	If we get a signal other than SIGCHLD in the monitor, pass it
2471	directly to the child.
2472	[7e638105bfaf] <1.7>
2473
2474	* exec.c, exec_pty.c, sudo.h:
2475	Save signal state before changing handlers and restore before we
2476	execute the command.
2477	[83278957e630] <1.7>
2478
24792011-02-01  Todd C. Miller  <Todd.Miller@courtesan.com>
2480
2481	* toke.c, toke.l:
2482	match quoted strings the same way whether in a Defaults line or as a
2483	user/group/netgroup name. Fixes escaped double quotes in quoted
2484	user/group/netgroup names.
2485	[c2b486b12951] <1.7>
2486
2487	* iolog.c:
2488	Use a char array to map a number to a base36 digit.
2489	[d626ded3312d] <1.7>
2490
2491	* sudoers.ldap.cat, sudoers.ldap.man.in, sudoers.ldap.pod:
2492	Be clear about what versions of sudo support new LDAP attributes.
2493	Fix up some formatting of attribute names. Minor other tweaks.
2494	[f7bd586ec755] <1.7>
2495
24962011-01-31  Todd C. Miller  <Todd.Miller@courtesan.com>
2497
2498	* sudoers2ldif:
2499	Add sudoOrder attribute to each entry Parse LOG_{INPUT,OUTPUT} tags
2500	[05a0d25b0f8d] <1.7>
2501
25022011-01-30  Todd C. Miller  <Todd.Miller@courtesan.com>
2503
2504	* UPGRADE:
2505	Mention LDAP attribute compatibility status.
2506	[adb74ad2331b] <1.7>
2507
25082011-01-28  Todd C. Miller  <Todd.Miller@courtesan.com>
2509
2510	* README.LDAP:
2511	Mention phpQLAdmin
2512	[5d80d6291142] <1.7>
2513
2514	* INSTALL, NEWS, config.h.in, configure, configure.in, defaults.c,
2515	sudoers.man.in, sudoers.pod:
2516	Add --disable-env-reset configure option.
2517	[803ce2f4d85c] <1.7>
2518
2519	* sudoers.cat, sudoers.man.in, sudoers.pod:
2520	Document that sudoers_locale also affects logging and email.
2521	[080dd4338374] <1.7>
2522
2523	* NEWS, config.h.in, configure, configure.in, logging.c:
2524	Do logging and email sending in the locale specified by the
2525	"sudoers_locale" setting ("C" by default). Email send by sudo
2526	includes MIME headers when the sudoers locale is not "C".
2527	[592e5b2a3d10] <1.7>
2528
25292011-01-25  Todd C. Miller  <Todd.Miller@courtesan.com>
2530
2531	* NEWS, sudo.c:
2532	Perform command escaping for "sudo -s" and "sudo -i" after
2533	validating sudoers so the sudoers entries don't need to have all the
2534	backslashes.
2535	[7d39ea9924e4] <1.7>
2536
25372011-01-24  Todd C. Miller  <Todd.Miller@courtesan.com>
2538
2539	* logging.c:
2540	Prepend "list " to the command logged when "sudo -l command" is used
2541	to make it clear that the command was listed, not run.
2542	[9bcd40c1bfe9] <1.7>
2543
2544	* parse.c:
2545	cosmetic change
2546	[8ce3d60d910d] <1.7>
2547
2548	* aix.c, alias.c, alloc.c, auth/afs.c, auth/aix_auth.c,
2549	auth/bsdauth.c, auth/dce.c, auth/fwtk.c, auth/kerb4.c, auth/kerb5.c,
2550	auth/pam.c, auth/passwd.c, auth/rfc1938.c, auth/secureware.c,
2551	auth/securid.c, auth/securid5.c, auth/sia.c, bsm_audit.c, check.c,
2552	defaults.c, env.c, exec.c, exec_pty.c, fileops.c, find_path.c,
2553	fnmatch.c, get_pty.c, getcwd.c, getline.c, getprogname.c,
2554	getspwuid.c, gettime.c, glob.c, goodpath.c, gram.c, gram.y, iolog.c,
2555	isblank.c, lbuf.c, ldap.c, list.c, logging.c, match.c, memrchr.c,
2556	mkstemps.c, mon_systrace.c, nanosleep.c, parse.c, parse_args.c,
2557	pwutil.c, redblack.c, set_perms.c, sigaction.c, snprintf.c,
2558	strerror.c, strlcat.c, strlcpy.c, strsignal.c, sudo.c,
2559	sudo_noexec.c, sudo_nss.c, sudoreplay.c, term.c, testsudoers.c,
2560	tgetpass.c, timestr.c, toke.c, toke.l, tsgetgrpw.c, utimes.c,
2561	vasgroups.c, visudo.c:
2562	standardize on "return foo;" rather than "return(foo);" or "return
2563	(foo);"
2564	[e05dd17dcec4] <1.7>
2565
2566	* NEWS:
2567	sync
2568	[bedc1e1bc7f8] <1.7>
2569
2570	* sudo.c:
2571	Do not reject sudoers file just because it is root-writable.
2572	[26634f322b04] <1.7>
2573
25742011-01-21  Todd C. Miller  <Todd.Miller@courtesan.com>
2575
2576	* NEWS:
2577	sync
2578	[c69b7537a020] <1.7>
2579
2580	* defaults.c:
2581	When setting default iolog_dir, dynamically allocate the string.
2582	[7ad2c0cbe865] <1.7>
2583
2584	* sudo_nss.c:
2585	For "sudo -U user -l" if user is not authorized on the host, say so.
2586	[9eb5673f2f22] <1.7>
2587
2588	* ldap.c:
2589	In sudo_ldap_lookup(), always do the initial sudoers check as the
2590	invoking user. If we are listing another user's privs we will do a
2591	separate lookup using list_pw later.
2592	[9b3ab41de717] <1.7>
2593
25942011-01-20  Todd C. Miller  <Todd.Miller@courtesan.com>
2595
2596	* sudoreplay.c:
2597	change an error() to errorx()
2598	[5a0409f6c52b] <1.7>
2599
2600	* sudoers.ldap.man.in, sudoers.ldap.pod:
2601	Update copyright year to 2011
2602	[8959c05dc270] <1.7>
2603
2604	* LICENSE, Makefile.in, aclocal.m4, check.c, configure.in, ldap.c,
2605	match.c, pwutil.c, sudo_nss.c, sudoers.man.in, sudoers.pod, term.c:
2606	Update copyright year to 2011
2607	[6367fb76120e] <1.7>
2608
2609	* ldap.c:
2610	Stash pointer to user group vector in LDAP handle and only reuse the
2611	query if it has not changed. We always allocate a new buffer when
2612	we reset the group vector so a simple pointer check is sufficient.
2613	[c129d1acf7d6] <1.7>
2614
2615	* sudo_nss.c:
2616	When listing, use separate lbufs for the defaults and the privileges
2617	and only print something if the number of privileges is non-zero.
2618	Fixes extraneous Defaults output for "sudo -U unauthorized_user -l".
2619	[66aaa54f2865] <1.7>
2620
2621	* sudo_nss.c:
2622	Check initgroups() return value.
2623	[973a67304e3b] <1.7>
2624
26252011-01-19  Todd C. Miller  <Todd.Miller@courtesan.com>
2626
2627	* NEWS:
2628	sync
2629	[deb822cce3dd] <1.7>
2630
26312011-01-18  Todd C. Miller  <Todd.Miller@courtesan.com>
2632
2633	* term.c:
2634	Clear, don't set, OPOST in c_oflag as was intended in e26055d17b72.
2635	[eacd774c37c0] <1.7>
2636
26372011-01-15  Todd C. Miller  <Todd.Miller@courtesan.com>
2638
2639	* sudo.c:
2640	delref list_pw before exit
2641	[0df5a53f3484] <1.7>
2642
26432011-01-14  Todd C. Miller  <Todd.Miller@courtesan.com>
2644
2645	* mkpkg, sudo.pp:
2646	Add Requires line for audit-libs >= 1.4 for RHEL5+
2647	[a1b544018f5b] <1.7>
2648
2649	* pp:
2650	sync with git version
2651	[eb187023bb73] <1.7>
2652
26532011-01-13  Todd C. Miller  <Todd.Miller@courtesan.com>
2654
2655	* sudoers.cat, sudoers.man.in, sudoers.pod:
2656	fix typo
2657	[075e92a756a1] <1.7>
2658
26592011-01-12  Todd C. Miller  <Todd.Miller@courtesan.com>
2660
2661	* NEWS:
2662	Update for sudo 1.7.4p5
2663	[11cb87598478] <1.7>
2664
2665	* schema.OpenLDAP, schema.iPlanet:
2666	Add sudoNotBefore and sudoNotAfter attributes as optional attributes
2667	to the sudoRole object class. From Andreas Mueller
2668	[73357eb1b269] <1.7>
2669
26702011-01-11  Todd C. Miller  <Todd.Miller@courtesan.com>
2671
2672	* NEWS:
2673	Mention "sudo -g group" password check fix.
2674	[8299a2d939e8] <1.7>
2675
2676	* check.c:
2677	If the user is running sudo as himself but as a different group we
2678	need to prompt for a password.
2679	[fe8a94f96542] <1.7>
2680
26812011-01-10  Todd C. Miller  <Todd.Miller@courtesan.com>
2682
2683	* NEWS, config.h.in, configure, configure.in, ldap.c,
2684	sudoers.ldap.cat, sudoers.ldap.man.in, sudoers.ldap.pod:
2685	Add support for TIMEOUT in ldap.conf, mapping to the OpenLDAP
2686	LDAP_OPT_TIMEOUT. There is no corresponding option for mozilla-
2687	derived LDAP SDKs but we can pass the timeout parameter to
2688	ldap_search_ext_s() or ldap_search_st() when possible.
2689	[8f9303326db7] <1.7>
2690
2691	* sudoers.cat, sudoers.ldap.cat, sudoers.ldap.man.in, sudoers.man.in:
2692	regen
2693	[d56ad7169e67] <1.7>
2694
2695	* NEWS, ldap.c, sudoers.ldap.pod:
2696	Add NETWORK_TIMEOUT as an alias for BIND_TIMELIMIT for compatibility
2697	with OpenLDAP ldap.conf files.
2698	[85e33e42c008] <1.7>
2699
2700	* pwutil.c:
2701	If user has no supplementary groups, fall back on checking the group
2702	file explicitly.
2703	[c536ddb16bb6] <1.7>
2704
27052011-01-04  Todd C. Miller  <Todd.Miller@courtesan.com>
2706
2707	* NEWS:
2708	update
2709	[9f6e0ec3142a] <1.7>
2710
2711	* Makefile.in:
2712	Use "mv -f" when regenerating ChangeLog
2713	[b322b5995e7f] <1.7>
2714
2715	* match.c:
2716	Fix NULL dereference with "sudo -g group" when the sudoers rule has
2717	no runas user or group listed. Fixes RedHat bug Bug 667103.
2718	[c51e2be737b2] <1.7>
2719
27202010-12-21  Todd C. Miller  <Todd.Miller@courtesan.com>
2721
2722	* term.c:
2723	Clear OPOST from c_oflag like we used to. Fixes screen-based
2724	editors such as vi.
2725	[e26055d17b72] <1.7>
2726
2727	* sudoers.pod:
2728	Clarify umask option description. From Reuben Thomas.
2729	[fb8bdcb54feb] <1.7>
2730
27312010-12-18  Todd C. Miller  <Todd.Miller@courtesan.com>
2732
2733	* ldap.c, sudoers.ldap.pod:
2734	Pick last match in LDAP sudoers too
2735	[607801b83e25] <1.7>
2736
27372010-12-10  Todd C. Miller  <Todd.Miller@courtesan.com>
2738
2739	* aclocal.m4, configure, configure.in, def_data.c, def_data.h,
2740	def_data.in, defaults.c, iolog.c, sudoers.pod:
2741	Make the iolog dir configurable in sudoers
2742	[2630b2dba1b5] <1.7>
2743
27442010-12-07  Todd C. Miller  <Todd.Miller@courtesan.com>
2745
2746	* pp:
2747	Add missing '*' that prevented the generic ELF case from matching.
2748	[b35bbb42736f] <1.7>
2749
2750	* pp:
2751	If file(1) can't identify the ELF binary type, try readelf(1).
2752	[8a73092d8898] <1.7>
2753
27542010-11-30  Todd C. Miller  <Todd.Miller@courtesan.com>
2755
2756	* auth/kerb4.c, check.c, env.c, pwutil.c, sudo.c:
2757	Use %u to print uid/gid, not %lu and adjust casts to match.
2758	[e4eb94705a54] <1.7>
2759
2760	* NEWS:
2761	Update with latest changes
2762	[2c4209b20e3d] <1.7>
2763
2764	* sudoers.ldap.pod:
2765	Clarify ordering of entries and attributes
2766	[598748ec3804] <1.7>
2767
2768	* sudoers.ldap.pod:
2769	Fix typo and editing goof.
2770	[197a2fe65be5] <1.7>
2771
2772	* ldap.c:
2773	Make sure we don't dereference a NULL handle.
2774	[b0026541de1e] <1.7>
2775
27762010-11-24  Todd C. Miller  <Todd.Miller@courtesan.com>
2777
2778	* pp:
2779	Add support for RHEL 6 file modes that include a trailing dot on
2780	files with an SELinux security context
2781	[fcc1daaf4df0] <1.7>
2782
27832010-11-22  Todd C. Miller  <Todd.Miller@courtesan.com>
2784
2785	* sudoers.pod:
2786	fix typo; from Michael T Hunter
2787	[46e70e2063af] <1.7>
2788
2789	* match.c:
2790	In sudoedit mode, assume command line arguments are paths and pass
2791	FNM_PATHNAME to fnmatch().
2792	[6087ba0064ff] <1.7>
2793
27942010-11-20  Todd C. Miller  <Todd.Miller@courtesan.com>
2795
2796	* configure, configure.in:
2797	Add workaround for an error in sys/types.h on HP-UX 11.23 when large
2798	file support is enabled. Defining _XOPEN_SOURCE_EXTENDED avoids the
2799	broken bits of the header file.
2800	[12da5b3249a3] <1.7>
2801
2802	* aclocal.m4:
2803	Fix SUDO_MAILDIR usage of AC_LANG_PROGRAM
2804	[c0105d26574a] <1.7>
2805
2806	* testsudoers.c, tsgetgrpw.c, tsgetgrpw.h:
2807	Avoid conflicts with system definitions in grp.h and pwd.h
2808	[a152522c9f13] <1.7>
2809
2810	* sudo.pp:
2811	For Tru64, strip off beta version.
2812	[a16213ec9c27] <1.7>
2813
2814	* zlib/gzguts.h:
2815	Include stdio.h after zlib.h, not before. We need the large file
2816	defines to come first.
2817	[389ea592d6c2] <1.7>
2818
28192010-11-17  Todd C. Miller  <Todd.Miller@courtesan.com>
2820
2821	* ldap.c:
2822	Enlarge the array of entry wrappers int blocks of 100 entries to
2823	save on allocation time. From Andreas Mueller
2824	[db8da143e803] <1.7>
2825
2826	* ldap.c:
2827	Add back call to sudo_ldap_timefilter() in sudo_ldap_build_pass2()
2828	that was mistakenly dropped.
2829	[f6f1103f9971] <1.7>
2830
28312010-11-16  Todd C. Miller  <Todd.Miller@courtesan.com>
2832
2833	* TROUBLESHOOTING:
2834	Mention that sudo needs "ar" to build.
2835	[eef95d0abfbe] <1.7>
2836
2837	* configure, configure.in:
2838	Fail with a more useful error if "ar" is not found.
2839	[1ef3c8501bf5] <1.7>
2840
28412010-11-14  Todd C. Miller  <Todd.Miller@courtesan.com>
2842
2843	* ldap.c:
2844	Reorder things to avoid most of the extra prototypes.
2845	[0541a55deb86] <1.7>
2846
2847	* ldap.c:
2848	Inline sudo_ldap_result_get_entry(), it is always called in
2849	situations where the bounds are already checked.
2850	[fa65cf4eaf5e] <1.7>
2851
2852	* ldap.c:
2853	Add user_matches and host_matches to struct ldap_result and set them
2854	in sudo_ldap_result_get() which is where the user and host checks
2855	live. When iterating through the ordered results, take the first
2856	match. Remove allowed flag from struct ldap_entry_wrapper, we just
2857	use first match.
2858	[9a008cd81685] <1.7>
2859
28602010-11-13  Todd C. Miller  <Todd.Miller@courtesan.com>
2861
2862	* configure, configure.in, sudo.cat, sudo.man.in, sudoers.cat,
2863	sudoers.ldap.cat, sudoers.ldap.man.in, sudoers.man.in,
2864	sudoreplay.cat, sudoreplay.man.in, visudo.cat, visudo.man.in:
2865	Bump version and regen man pages
2866	[918433185f26] <1.7>
2867
2868	* ldap.c, schema.ActiveDirectory, schema.OpenLDAP, schema.iPlanet,
2869	sudoers.ldap.pod:
2870	Merge in ordered LDAP entry support from Andreas Mueller.
2871	[21b8071c2f28] <1.7>
2872
28732010-11-11  Todd C. Miller  <Todd.Miller@courtesan.com>
2874
2875	* ldap.c, schema.ActiveDirectory, schema.OpenLDAP, schema.iPlanet,
2876	sudoers.ldap.pod:
2877	Add timed entry support from Andreas Mueller.
2878	[10b121c46a1c] <1.7>
2879
2880	* ldap.c:
2881	Use efree() not free() and remove malloc.h include since we never
2882	directly call malloc() or free().
2883	[f2184b2a0646] <1.7>
2884
28852010-11-10  Todd C. Miller  <Todd.Miller@courtesan.com>
2886
2887	* Makefile.in, getdate.c, gram.c, toke.c:
2888	Include config.h before any other includes to make sure we get the
2889	right value for _FILE_OFFSET_BITS.
2890	[5a8c12426942] <1.7>
2891
28922010-11-09  Todd C. Miller  <Todd.Miller@courtesan.com>
2893
2894	* sudo.pp:
2895	set PSTAMP for Solaris and move the backend-specific bits to their
2896	own %if [xxx] %endif blocks in %set.
2897	[0d93cb5d009a] <1.7>
2898
2899	* pp:
2900	sync with git repo
2901	[e052d78dde35] <1.7>
2902
29032010-11-03  Todd C. Miller  <Todd.Miller@courtesan.com>
2904
2905	* Makefile.in:
2906	remove zlib/zconf.h for distclean
2907	[5cf14594d014] <1.7>
2908
2909	* sudo.cat, sudo.man.in, sudoers.cat, sudoers.ldap.cat,
2910	sudoers.ldap.man.in, sudoers.man.in, visudo.cat, visudo.man.in:
2911	regen man pages for 1.7.5
2912	[29253a721cfd] <1.7>
2913
2914	* configure:
2915	regen
2916	[5b09c0dd9279] <1.7>
2917
2918	* NEWS:
2919	Update 1.7.5 entries.
2920	[73a7b2c01db4] <1.7>
2921
29222010-11-02  Todd C. Miller  <Todd.Miller@courtesan.com>
2923
2924	* Makefile.in:
2925	Include zlib in the tar file.
2926	[3b7900c3f2af] <1.7>
2927
29282010-10-28  Todd C. Miller  <Todd.Miller@courtesan.com>
2929
2930	* INSTALL:
2931	Better --enable-zlib description
2932	[0ca9936a7271] <1.7>
2933
2934	* mkpkg:
2935	Use system zlib on Linux Let configure decide on Solaris For all
2936	others, use builtin zlib
2937	[58e1b4383b58] <1.7>
2938
2939	* LICENSE, Makefile.in, config.h.in, configure, configure.in,
2940	license.pod, zlib/adler32.c, zlib/compress.c, zlib/crc32.c,
2941	zlib/crc32.h, zlib/deflate.c, zlib/deflate.h, zlib/gzclose.c,
2942	zlib/gzguts.h, zlib/gzlib.c, zlib/gzread.c, zlib/gzwrite.c,
2943	zlib/infback.c, zlib/inffast.c, zlib/inffast.h, zlib/inffixed.h,
2944	zlib/inflate.c, zlib/inflate.h, zlib/inftrees.c, zlib/inftrees.h,
2945	zlib/trees.c, zlib/trees.h, zlib/uncompr.c, zlib/zconf.h.in,
2946	zlib/zlib.h, zlib/zutil.c, zlib/zutil.h:
2947	Add local copy of zlib for systems that lack it.
2948	[060627a4a413] <1.7>
2949
29502010-10-12  Todd C. Miller  <Todd.Miller@courtesan.com>
2951
2952	* Makefile.in:
2953	Don't overwrite ChangeLog if we can't run hg
2954	[8cad8bfce9ee] <1.7>
2955
2956	* configure, configure.in:
2957	HP-UX 10.20 libc has an incompatible getline()
2958	[6ae1631c6993] <1.7>
2959
2960	* visudo.c:
2961	Quiet an HP-UX compiler warning.
2962	[b8eb3006d68b] <1.7>
2963
29642010-10-11  Todd C. Miller  <Todd.Miller@courtesan.com>
2965
2966	* pp:
2967	Don't use run_as_superuser=false on HP-UX
2968	[2a9ec2750082] <1.7>
2969
2970	* pp:
2971	Update from git repo. Debian: version numbers now compliant with
2972	policy section 5.6.12 HP-UX: minimal changes needed to work on HP-UX
2973	10.20
2974	[cfe38672e358] <1.7>
2975
2976	* configure, configure.in:
2977	Go back to checking whether the compiler is ANSI C when detecting
2978	the HP-UX bundled C compiler.
2979	[563ef7333662] <1.7>
2980
2981	* configure, configure.in:
2982	Fix syntax error
2983	[96048f77d772] <1.7>
2984
2985	* auth/pam.c:
2986	If pam_acct_mgmt() returns PAM_AUTH_ERR print a (hopefully) more
2987	useful message and return AUTH_FATAL so sudo does not keep trying to
2988	validate the user.
2989	[fffa5e51ac47] <1.7>
2990
29912010-10-07  Todd C. Miller  <Todd.Miller@courtesan.com>
2992
2993	* exec_pty.c:
2994	don't need ws_col here
2995	[049b4ef9c9ce] <1.7>
2996
2997	* check.c:
2998	Having a timestamp file defined is no longer indicative of tty
2999	tickets being enabled. Check def_tty_tickets directly.
3000	[6c3803c239d9] <1.7>
3001
3002	* exec_pty.c, lbuf.c:
3003	Fix TCGETWINSZ compat.
3004	[62233ba46ec7] <1.7>
3005
30062010-10-02  Todd C. Miller  <Todd.Miller@courtesan.com>
3007
3008	* exec_pty.c, lbuf.c:
3009	Prefer newer TIOCGWINSZ ioctl to old TIOCGSIZE
3010	[0813e3030b1a] <1.7>
3011
30122010-10-01  Todd C. Miller  <Todd.Miller@courtesan.com>
3013
3014	* set_perms.c:
3015	Sync set_project() with trunk.
3016	[646fd9bc0537] <1.7>
3017
3018	* ldap.c:
3019	When iterating over returned LDAP entries, keep looking at remaining
3020	matches even if we have a positive match. This catches negative
3021	matches that may exist in other entries and more closely match the
3022	sudoers file behavior.
3023	[8dce1dedb967] <1.7>
3024
3025	* pp:
3026	Add support for multiple package instances on Solaris.
3027	[5bcc048375db] <1.7>
3028
3029	* set_perms.c, sudo.c:
3030	Move set_project() into runas_setup(). Fixes a NULL deref when
3031	project support is enabled and sudo's -g flag is used without the
3032	-u flag.
3033	[6ffd892243ab] <1.7>
3034
3035	* exec.c:
3036	Add missing signal_pipe[0] to fdsr for the non-pty case.
3037	[3398af88db51] <1.7>
3038
3039	* mkpkg:
3040	Add --with-project for Solaris
3041	[25bd2aa83884] <1.7>
3042
3043	* README:
3044	Need ar and ranlib too
3045	[d09e632d0a93] <1.7>
3046
30472010-09-27  Todd C. Miller  <Todd.Miller@courtesan.com>
3048
3049	* env.c:
3050	Preserve ODMDIR environment variable by default on AIX.
3051	[75266d18e4a7] <1.7>
3052
30532010-09-21  Todd C. Miller  <Todd.Miller@courtesan.com>
3054
3055	* linux_audit.c:
3056	Ignore ECONNREFUSED from audit_log_user_command() which will occur
3057	if auditd is not running.
3058	[a686884684ca] <1.7>
3059
30602010-09-17  Todd C. Miller  <Todd.Miller@courtesan.com>
3061
3062	* pp:
3063	Sync with git version
3064	[9a328aa25c53] <1.7>
3065
30662010-09-16  Todd C. Miller  <Todd.Miller@courtesan.com>
3067
3068	* defaults.c, fileops.c:
3069	Cast isblank argument to unsigned char.
3070	[64b9f3bed954] <1.7>
3071
30722010-09-14  Todd C. Miller  <Todd.Miller@courtesan.com>
3073
3074	* INSTALL, config.h.in, configure, configure.in, defaults.c,
3075	sudoers.cat, sudoers.man.in, sudoers.pod:
3076	Implement --with-umask-override configure flag.
3077	[5065008079df] <1.7>
3078
3079	* env.c:
3080	Take MODE_LOGIN_SHELL into account when initially setting reset_home
3081	instead of special-casing it later.
3082	[25e6b8419dea] <1.7>
3083
3084	* sudo.c:
3085	In login mode, make a copy of the runas user's pw_shell for
3086	NewArgv[0] because 1) we modify it and 2) it will runas_pw gets
3087	freed before exec.
3088	[4a0851a7688a] <1.7>
3089
3090	* env.c:
3091	Reset HOME for "sudo -i" even if HOME was listed in env_keep.
3092	[8dc31006a428] <1.7>
3093
3094	* sudo.c:
3095	Use SIG_SETMASK when resetting signal mask instead of SIG_UNBLOCK.
3096	[8751ef94b18d] <1.7>
3097
3098	* sudo.c:
3099	Reset signal mask at sudo startup time; we need to be able to rely
3100	on normal signal delivery to control the child process.
3101	[c986a4b6a942] <1.7>
3102
3103	* sigaction.c:
3104	Fix SIG_UNBLOCK emulation
3105	[f14264f8a0da] <1.7>
3106
31072010-09-13  Todd C. Miller  <Todd.Miller@courtesan.com>
3108
3109	* install-sh:
3110	Use sed instead of expr to split a flag from its argument. Fixes a
3111	problem with expr interpreting its arguments as a flag when they
3112	start with a dash.
3113	[16372da8a286] <1.7>
3114
3115	* lbuf.c:
3116	Back out rev e165f67d3127
3117	[e9b70079698d] <1.7>
3118
3119	* lbuf.c:
3120	Include sys/time.h for utimes() and struct timeval.
3121	[e165f67d3127] <1.7>
3122
3123	* snprintf.c:
3124	Quiet bogus compiler warnings.
3125	[176fceb8db3c] <1.7>
3126
3127	* missing.h:
3128	Declare innetgr() for HP-UX which is missing a declaration. Declare
3129	domainname() for HP-UX and Solaris which are missing a declaration.
3130	[0b4c1296d4da] <1.7>
3131
3132	* bsm_audit.c:
3133	Use __sun for consistency with the rest of the sources.
3134	[8f0db6350b3a] <1.7>
3135
3136	* pwutil.c:
3137	Don't try to delref a NULL group.
3138	[57e94fc5df3e] <1.7>
3139
3140	* alloc.c, lbuf.c:
3141	Include memory.h on systems that need it.
3142	[e43d8d8a0008] <1.7>
3143
31442010-09-11  Todd C. Miller  <Todd.Miller@courtesan.com>
3145
3146	* exec.c:
3147	Quiet gcc warnings on glibc systems that use warn_unused_result for
3148	write(2).
3149	[f22696affc78] <1.7>
3150
31512010-09-10  Todd C. Miller  <Todd.Miller@courtesan.com>
3152
3153	* NEWS, README, configure, configure.in:
3154	Update for sudo 1.7.5
3155	[62ed8c6cb7c2] <1.7>
3156
3157	* exec.c, exec_pty.c, list.c, list.h, sudo_exec.h:
3158	Instead of using a array to store received signals, open a pipe and
3159	have the signal handler write the signal number to one end and
3160	select() on the other end. This makes it possible to handle signals
3161	similar to I/O without race conditions.
3162	[2d9dd09a9fce] <1.7>
3163
3164	* INSTALL:
3165	--with-iologdir not --enable-iologdir
3166	[457471aaeda6] <1.7>
3167
31682010-09-09  Todd C. Miller  <Todd.Miller@courtesan.com>
3169
3170	* visudo.c, visudo.pod:
3171	Make "visudo -c -f -" check the standard input.
3172	[8ed46ff3141a] <1.7>
3173
3174	* sudoers.pod:
3175	set_home and always_set_home have an effect if HOME is present in
3176	the env_keep list.
3177	[a2b26d62176d] <1.7>
3178
3179	* env.c:
3180	Make -H flag work when HOME is listed in env_keep. Also makes
3181	"set_home" and "always_set_home" override override HOME in env_keep.
3182	[91d842b6adc6] <1.7>
3183
31842010-09-08  Todd C. Miller  <Todd.Miller@courtesan.com>
3185
3186	* bsm_audit.c:
3187	Solaris BSM audit return EINVAL when auditing is not enabled,
3188	whereas OpenBSM returns ENOSYS.
3189	[bb9c94a8fa7d] <1.7>
3190
31912010-09-07  Todd C. Miller  <Todd.Miller@courtesan.com>
3192
3193	* toke.c, toke.l:
3194	Add missing LOG_INPUT/LOG_OUTPUT support in the lexer.
3195	[0a5519756bf1] <1.7>
3196
3197	* sudo.c:
3198	Set NewArgv[0] to the name of the pseudo-command we are running.
3199	Fixes a problem with "sudo -l" when auditing is enabled and the user
3200	is not allowed to run any commands on the host. Adapted from a patch
3201	from Daniel Kopecek.
3202	[694ed1a75a4a] <1.7>
3203
3204	* sudo.c:
3205	Update comment to reality.
3206	[de302f39566b] <1.7>
3207
3208	* missing.h:
3209	Need stdio.h for FILE *, not just NULL.
3210	[77cf303f5696] <1.7>
3211
32122010-09-06  Todd C. Miller  <Todd.Miller@courtesan.com>
3213
3214	* match.c:
3215	When matching the runas user and runas group (-u and -g command line
3216	options), keep track of runas group and runas user matches
3217	separately. Only return a positive match if we have a match for
3218	both runas user and runas group (if specified).
3219	[68d30216c13a] <1.7>
3220
32212010-09-04  Todd C. Miller  <Todd.Miller@courtesan.com>
3222
3223	* ldap.c, parse.c:
3224	Do not return -1 on error from the display functions; the call
3225	expects a return value >= 0.
3226	[e50e6ae4d06d] <1.7>
3227
3228	* ldap.c:
3229	display_bound_defaults now returns a count so make the stub return
3230	0, not 1.
3231	[97293ced4908] <1.7>
3232
3233	* fnmatch.c:
3234	Add #include of sys/types.h for .c files that include missing.h to
3235	be sure that size_t and ssize_t are defined.
3236	[a4f3070d0a2b] <1.7>
3237
32382010-09-03  Todd C. Miller  <Todd.Miller@courtesan.com>
3239
3240	* get_pty.c:
3241	It looks like AIX doesn't need to push STREAMS modules for ptys.
3242	[62c281fcd4ad] <1.7>
3243
32442010-08-30  Todd C. Miller  <Todd.Miller@courtesan.com>
3245
3246	* error.c, getprogname.c, isblank.c, missing.h, mksiglist.c,
3247	sigaction.c, strerror.c, strsignal.c, sudo_noexec.c:
3248	Add #include of sys/types.h for .c files that include missing.h to
3249	be sure that size_t and ssize_t are defined.
3250	[2ffbbb12f322] <1.7>
3251
3252	* Makefile.in:
3253	Install sudoers file from the build dir not hte src dir.
3254	[a26afd8db531] <1.7>
3255
32562010-08-26  Todd C. Miller  <Todd.Miller@courtesan.com>
3257
3258	* set_perms.c:
3259	If runas_pw changes, reset the stashed runas aux group vector.
3260	Otherwise, if runas_default is set in a per-command Defaults
3261	statement, the command runs with root's aux group vector (i.e. the
3262	one that was used when locating the command).
3263	[24a695707b67] <1.7>
3264
3265	* Makefile.in:
3266	Add target to generate sudoers file Remove generated sudoers file as
3267	part of distclean
3268	[448627fc35b6] <1.7>
3269
32702010-08-23  millert  <millert@rh4-x86.home.courtesan.com>
3271
3272	* exec.c:
3273	When not logging I/O install a handler for SIGCONT and deliver it to
3274	the command upon resume. Fixes bugzilla #431
3275	[e84690aa67bd] <1.7>
3276
32772010-08-21  Todd C. Miller  <Todd.Miller@courtesan.com>
3278
3279	* sudo.c, sudo.h:
3280	g/c unused auth_pw global
3281	[e30778d73c0b] <1.7>
3282
3283	* check.c, sudo.c:
3284	Move get_auth() into check.c where it is actually used.
3285	[3130e37787af] <1.7>
3286
3287	* sudo.c:
3288	Don't need to fork and wait when compiled with --disable-pam-session
3289	[2ae1bbe4437a] <1.7>
3290
32912010-08-20  Todd C. Miller  <Todd.Miller@courtesan.com>
3292
3293	* lbuf.c:
3294	Convert a remaining puts() and putchar() to use the output function.
3295	[d68c213feb0f] <1.7>
3296
32972010-08-18  Todd C. Miller  <Todd.Miller@courtesan.com>
3298
3299	* Makefile.in:
3300	Replace sudoers with sudoers.in in DISTFILES
3301	[616509f85d6c] <1.7>
3302
3303	* env.c:
3304	Set dupcheck to TRUE when setting new HOME value if !env_reset but
3305	always_set_home is true. Prevents a duplicate HOME in the
3306	environment (old value plus the new one) introduced in 9f97e4b43a4b.
3307	[2672ae047984] <1.7>
3308
3309	* configure, configure.in, sudoers, sudoers.in:
3310	Substitute sysconfdir in the installed sudoers file to get the
3311	correct path for sudoers.d.
3312	[ab14a68e546f] <1.7>
3313
33142010-08-17  Todd C. Miller  <Todd.Miller@courtesan.com>
3315
3316	* boottime.c, get_pty.c:
3317	Fix typos that prevented compilation on Irix; Friedrich Haubensak
3318	[a3e6c5a66890] <1.7>
3319
33202010-08-16  Todd C. Miller  <Todd.Miller@courtesan.com>
3321
3322	* Makefile.in, aix.c, audit.c, boottime.c, compat.h, error.c,
3323	fnmatch.c, getcwd.c, getdate.c, getdate.y, getline.c, getprogname.c,
3324	gettime.c, glob.c, isblank.c, linux_audit.c, memrchr.c, missing.h,
3325	mksiglist.c, nanosleep.c, sesh.c, setsid.c, sigaction.c, snprintf.c,
3326	strcasecmp.c, strerror.c, strlcat.c, strlcpy.c, strsignal.c, sudo.h,
3327	sudo_noexec.c, sudoreplay.c, timestr.c, utimes.c, vasgroups.c,
3328	zero_bytes.c:
3329	Merge compat.h and missing.h into missing.h
3330	[905905c7a8f0] <1.7>
3331
33322010-08-14  Todd C. Miller  <Todd.Miller@courtesan.com>
3333
3334	* auth/pam.c:
3335	If the user hits ^C while a password is being read, error out before
3336	reading any further passwords in the pam conversation function.
3337	Otherwise, if multiple PAM auth methods are required, the user will
3338	have to hit ^C for each one.
3339	[c8f6bc58fd86] <1.7>
3340
33412010-08-09  Todd C. Miller  <Todd.Miller@courtesan.com>
3342
3343	* exec.c:
3344	Fix waitpid() loop termination condition.
3345	[97719b3259f2] <1.7>
3346
3347	* exec_pty.c:
3348	Use sudo_waitpid() instead of bare waitpid()
3349	[624a40269189] <1.7>
3350
33512010-08-07  Todd C. Miller  <Todd.Miller@courtesan.com>
3352
3353	* sudo.pp:
3354	Set pp_kit_version and strip off patchlevel
3355	[814c87778567] <1.7>
3356
3357	* sudo.pp:
3358	Better handling of versions with a patchlevel. For rpm and deb, use
3359	the patchlevel+1 as the release. For AIX, use the patchlevel as the
3360	4th version number. For the rest, just leave the patchlevel in the
3361	version string.
3362	[d18ef30f0a72] <1.7>
3363
33642010-08-06  Todd C. Miller  <Todd.Miller@courtesan.com>
3365
3366	* auth/sudo_auth.c:
3367	For non-standalone auth methods, stop reading the password if the
3368	user enters ^C at the prompt.
3369	[59d2b1328d1e] <1.7>
3370
3371	* configure, configure.in:
3372	Don't print getspwuid as an auth method.
3373	[d35cf4628d9a] <1.7>
3374
3375	* Makefile.in, auth/passwd.c, auth/secureware.c, auth/sudo_auth.c,
3376	auth/sudo_auth.h, configure, configure.in, pwutil.c:
3377	No need to look up shadow password unless we are doing password-
3378	style authentication. This moves the shadow password lookup to the
3379	auth functions that need it.
3380	[10a85eebbf4c] <1.7>
3381
3382	* check.c:
3383	When removing/resetting the timestamp file ignore the tty ticket
3384	contents.
3385	[8b285f601ec0] <1.7>
3386
33872010-08-05  Todd C. Miller  <Todd.Miller@courtesan.com>
3388
3389	* sudo.c:
3390	delref sudo_user.pw, runas_pw and runas_gr immediately before we
3391	exec.
3392	[220be2de2f31] <1.7>
3393
3394	* sudo.c:
3395	Move calls to sudo_endgrent() and sudo_endpwent() to be after
3396	set_perms(), which may do passwd or group lookups.
3397	[883f0db94fd4] <1.7>
3398
33992010-08-04  Todd C. Miller  <Todd.Miller@courtesan.com>
3400
3401	* check.c:
3402	Make sure we don't try to delref NULL.
3403	[19bc5a47db06] <1.7>
3404
3405	* pwutil.c:
3406	Add missing delref in user_in_group()
3407	[fafb278f47a6] <1.7>
3408
3409	* sudo.c:
3410	delref the old runas group in set_runasgr()
3411	[0a7dd113cb1f] <1.7>
3412
3413	* match.c:
3414	Repair usergr_matches() return value broken in last checkin.
3415	[460b7b6ca2ce] <1.7>
3416
3417	* check.c, get_pty.c, glob.c, ldap.c, match.c, pwutil.c, sudo.c,
3418	sudo.h:
3419	Reference count cached passwd and group structs. The cache holds
3420	one reference itself and another is added by sudo_getgr{gid,nam} and
3421	sudo_getpw{uid,nam}. The final ref on the runas and user passwd and
3422	group structs are persistent for now.
3423	[e414c67e11fd] <1.7>
3424
3425	* UPGRADE:
3426	Fix typo
3427	[0f443aa22e96] <1.7>
3428
34292010-08-03  Todd C. Miller  <Todd.Miller@courtesan.com>
3430
3431	* check.c:
3432	Do not produce a warning for "sudo -k" if the ticket file does not
3433	exist.
3434	[eeaaa73d7f5b] <1.7>
3435
3436	* pwutil.c:
3437	Instead of caching struct passwd and struct group in the red-black
3438	tree, store a struct cache_item which includes both the key and
3439	datum. This allows us to user the actual name that was looked up as
3440	the key instead of the contents of struct passwd or struct group.
3441	This matters because the name in the database may not match what we
3442	looked up, due either to case folding or truncation (historically at
3443	8 characters). Also mark the disabled calls to sudo_freepwcache()
3444	and sudo_freegrcache() as broken since we use cached data for things
3445	like set_perms() and the logging functions. Fixing this would
3446	require making a copy of the structs for user and runas or adding a
3447	reference count (better).
3448	[2c1d8ec4fa5f] <1.7>
3449
3450	* check.c, exec_pty.c, get_pty.c, logging.c, sudoreplay.c, tgetpass.c,
3451	visudo.c:
3452	Quiet gcc warnings on glibc systems that use warn_unused_result for
3453	write(2) and others.
3454	[5faf88695c66] <1.7>
3455
34562010-08-02  Todd C. Miller  <Todd.Miller@courtesan.com>
3457
3458	* toke.c, toke.l:
3459	Add %option noinput
3460	[8a5e05d6f71f] <1.7>
3461
3462	* aclocal.m4, configure:
3463	Add cross-compile defaults for remaining AC_TRY_RUN usage.
3464	[fb88d22eabc6] <1.7>
3465
34662010-07-31  Todd C. Miller  <Todd.Miller@courtesan.com>
3467
3468	* aclocal.m4, config.h.in, configure, configure.in, snprintf.c:
3469	Use AC_CHECK_MEMBER in SUDO_SOCK_SA_LEN Use AC_TYPE_LONG_LONG_INT
3470	and AC_CHECK_SIZEOF([long int]) instead of rolling our own.
3471	[5e7cc557a46e] <1.7>
3472
34732010-07-30  Todd C. Miller  <Todd.Miller@courtesan.com>
3474
3475	* .hgtags:
3476	Added tag SUDO_1_7_4 for changeset 2920a3b9d568
3477	[e929004d5102] <1.7>
3478
3479	* pp:
3480	Debian: Remove dots from decoded release number AIX: looser matching
3481	of file command output for AIX 5.1
3482	[2920a3b9d568] [SUDO_1_7_4] <1.7>
3483
3484	* .hgtags:
3485	Added tag SUDO_1_7_4 for changeset 0d844aa34c1d
3486	[cf65ddcec602] <1.7>
3487
34882010-07-29  Todd C. Miller  <Todd.Miller@courtesan.com>
3489
3490	* exec_pty.c:
3491	exec_monitor is static
3492	[0d844aa34c1d] <1.7>
3493
3494	* pp:
3495	Update to latest version
3496	[7b8a00defbd6] <1.7>
3497
34982010-07-28  Todd C. Miller  <Todd.Miller@courtesan.com>
3499
3500	* sudo.pp:
3501	Let pp determine pp_aix_version itself.
3502	[c5ee7944af03] <1.7>
3503
3504	* INSTALL, config.h.in, configure, configure.in, mkpkg, sudo.c:
3505	Add support for Ubuntu admin flag file and enable it when building
3506	Ubuntu packages.
3507	[2d97501cda0c] <1.7>
3508
3509	* sudo.pp, sudoers:
3510	Add commented out SuSE-like targetpw settings
3511	[f4ad331ace46] <1.7>
3512
3513	* configure, configure.in:
3514	Only try to use +DAportable for non-GCC on hppa Check the value of
3515	$pic_flag insteaf of whether the compiler is ANSI C when detecting
3516	the HP-UX bundled C compiler.
3517	[654da0091c16] <1.7>
3518
3519	* configure, configure.in:
3520	Prevent configure from adding the -g flag unless in devel mode
3521	[e3c11f228c56] <1.7>
3522
35232010-07-27  Todd C. Miller  <Todd.Miller@courtesan.com>
3524
3525	* sudo.pp:
3526	Go back to sudo-flavor to match existing packages and only use an
3527	underscore for those that need it.
3528	[1f78ecf3b990] <1.7>
3529
3530	* sudo.pp:
3531	Use sudo_$flavor instead of sudo-$flavor since that causes the least
3532	amount of trouble for the various package managers.
3533	[7e1e07115788] <1.7>
3534
3535	* mkpkg:
3536	Fix handling of the ldap flavor Remove destdir unless --debug was
3537	specified Make distclean before running configure if there is a
3538	Makefile present
3539	[2bde3925346d] <1.7>
3540
3541	* configure, configure.in:
3542	Back out version change in 5baf2187a138
3543	[bbc3a81afbba] <1.7>
3544
3545	* mkpkg:
3546	Pass extra args on to configure on HP-UX, if we don't have the HP C
3547	compiler, disable zlib to prevent gcc from finding it in
3548	/usr/local/lib.
3549	[87201c7f1116] <1.7>
3550
3551	* configure, configure.in, mkpkg:
3552	Use the HP ANSI C compiler on HP-UX if possible
3553	[5baf2187a138] <1.7>
3554
3555	* sudoreplay.c:
3556	Some getline() implementations (FreeBSD 8.0) do not ignore the
3557	length pointer when the line pointer is NULL as they should.
3558	[8652300785ed] <1.7>
3559
3560	* sudoreplay.c:
3561	Don't need to check for *cp being non-zero, isdigit() will do that.
3562	[107301a99b6a] <1.7>
3563
3564	* sudoreplay.c:
3565	Add setlocale() so the command line arguments that use floating
3566	point work in different locales. Since sudo now logs the timing
3567	data in the C locale we must Parse the seconds in the timing file
3568	manually instead of using strtod(). Furthermore, sudo 1.7.3 logged
3569	the number of seconds with the user's locale so if the decimal point
3570	is not '.' try using the locale-specific version.
3571	[2b8ed181e37c] <1.7>
3572
3573	* exec.c:
3574	Do I/O logging in the C locale so the floating point numbers in the
3575	timing file are not locale-dependent.
3576	[18abbca14078] <1.7>
3577
3578	* sudoreplay.c:
3579	Use errorx() not error() for thingsthat don't set errno.
3580	[a2e7c6793d26] <1.7>
3581
35822010-07-26  Todd C. Miller  <Todd.Miller@courtesan.com>
3583
3584	* sudo.pp:
3585	Add Tru64 kit support
3586	[40e2d21aa17f] <1.7>
3587
3588	* pp:
3589	Better support for 1.2.3 style versions in Tru64 kits
3590	[f7133199a711] <1.7>
3591
3592	* pp:
3593	Remove apparently unnecessary use of sudo
3594	[a667a69eeab0] <1.7>
3595
3596	* Makefile.in:
3597	Create timedir as part of install-dirs target.
3598	[a2e394d694dd] <1.7>
3599
3600	* exec_pty.c:
3601	Handle ENXIO from read/write which can occur when reading/writing a
3602	pty that has gone away. Fixes bugzilla 422
3603	[142f4c2efa17] <1.7>
3604
3605	* pwutil.c:
3606	sudo_pwdup() was not expanding an empty pw_shell to _PATH_BSHELL
3607	[82e5e46bf458] <1.7>
3608
3609	* mkpkg:
3610	platform is a pp flag not a variable
3611	[9d0ab9b9bf0c] <1.7>
3612
3613	* Makefile.in, mkpkg, sudo.pp:
3614	Add simple arg parsing for mkpkg so we can set debug, flavor or
3615	platform.
3616	[8142ab01ccd9] <1.7>
3617
3618	* pp:
3619	Make rpm backend work on AIX 5.x
3620	[2467a79d0b4d] <1.7>
3621
36222010-07-25  Todd C. Miller  <Todd.Miller@courtesan.com>
3623
3624	* sudoers:
3625	Add commented out Defaults entry for log_output
3626	[b3fe97e59ae0] <1.7>
3627
36282010-07-23  Todd C. Miller  <Todd.Miller@courtesan.com>
3629
3630	* Makefile.in:
3631	Install binary files with -b~ to make a backup. Fixes "text file
3632	busy" error on HP-UX during install.
3633	[3563e3e0163a] <1.7>
3634
3635	* install-sh:
3636	"mv -f" on HP-UX doesn't unlink the destination first so add an
3637	explicit rm before moving the temporary into place.
3638	[3994af813c88] <1.7>
3639
3640	* configure, configure.in:
3641	Some more ${foo} -> $(foo) conversion for consistent Makefiles.
3642	[c214d50c32ec] <1.7>
3643
36442010-07-22  Todd C. Miller  <Todd.Miller@courtesan.com>
3645
3646	* pathnames.h.in:
3647	Add missing include of maillock.h for Solaris
3648	[343f04b7a581] <1.7>
3649
3650	* NEWS, TROUBLESHOOTING, UPGRADE, configure, configure.in,
3651	sample.syslog.conf, sudoers.cat:
3652	Change the default syslog facility from local2 to authpriv (or auth
3653	if the operating system doesn't support authpriv).
3654	[949f39cf4a59] <1.7>
3655
3656	* Makefile.in, configure, configure.in, sudo.pp:
3657	Install sudoers as /etc/sudoers on RPM and debian systems where the
3658	package manager will not replace a user-modified configuration file.
3659	This fixes upgrades from the vendor sudo packages.
3660	[74c7ff01e880] <1.7>
3661
3662	* pp:
3663	RPM: use %config(noreplace) instead of %config for volatile This
3664	results in the new file being installed with a .rpmnew suffix
3665	instead of the file being replaced and the old one renamed with a
3666	.rpmsave suffix.
3667	[166133a4fb9e] <1.7>
3668
36692010-07-21  Todd C. Miller  <Todd.Miller@courtesan.com>
3670
3671	* boottime.c, mkstemps.c:
3672	Include time.h for struct timeval.
3673	[50446e0b8398] <1.7>
3674
3675	* exec_pty.c:
3676	The return value of strsignal() may be const and should be treated
3677	as const regardless.
3678	[c035b17b50e3] <1.7>
3679
3680	* sudoers.cat, sudoers.man.in, sudoers.pod:
3681	Mention that 127.0.0.1 will not match, nor will localhost unless
3682	that is the actual host name.
3683	[e9977ec7ac4f] <1.7>
3684
3685	* Makefile.in:
3686	fix typo
3687	[f216d653404d] <1.7>
3688
3689	* Makefile.in, NEWS, README, UPGRADE, WHATSNEW:
3690	Rename WHATSNEW -> NEWS
3691	[f3ce0a462ca0] <1.7>
3692
3693	* pp:
3694	Updated pp with latest patches
3695	[cded68af5ba0] <1.7>
3696
3697	* WHATSNEW, exec.c, exec_pty.c, set_perms.c, sudo.c, sudo.h:
3698	If pam is in use, wait until the process has finished before calling
3699	pam_close_session().
3700	[fb3d7de50a05] <1.7>
3701
3702	* sudoers.cat, sudoers.man.in:
3703	regen sudoers manual
3704	[7498a058eeb1] <1.7>
3705
3706	* UPGRADE, sudoers, sudoers.pod:
3707	Add commented out line to add HOME to env_keep and add a warning to
3708	the note about the HOME change in UPGRADE.
3709	[0f7e08f09b9f] <1.7>
3710
37112010-07-20  Todd C. Miller  <Todd.Miller@courtesan.com>
3712
3713	* sudoreplay.c:
3714	Add LINE_MAX define for those without it.
3715	[6248dd44573c] <1.7>
3716
3717	* WHATSNEW:
3718	Mention that tty_tickets is now the default.
3719	[4cf26eaee5ba] <1.7>
3720
3721	* INSTALL, UPGRADE, config.h.in, configure, configure.in, defaults.c,
3722	sudoers.cat, sudoers.man.in, sudoers.pod:
3723	The tty_tickets option is now on by default.
3724	[73dd2b82a3a9] <1.7>
3725
3726	* WHATSNEW:
3727	Mention that AIX authdb support has been fixed.
3728	[9331829dc276] <1.7>
3729
3730	* aix.c:
3731	setauthdb() only sets the "old" registry if it was set by a previous
3732	call to setauthdb(). To restore the original value, passing NULL
3733	(or an empty string) to setauthdb() is sufficient.
3734	[d956fd763521] <1.7>
3735
37362010-07-19  Todd C. Miller  <Todd.Miller@courtesan.com>
3737
3738	* sudoers.cat, sudoers.man.in, sudoers.pod:
3739	Mention new handling of HOME in always_set_home and set_home
3740	descriptions.
3741	[a69c9bed3164] <1.7>
3742
3743	* sudo.cat, sudo.man.in, sudo.pod:
3744	fix typo
3745	[9b90bb3e9187] <1.7>
3746
3747	* UPGRADE, WHATSNEW, env.c, sudo.cat, sudo.man.in, sudo.pod:
3748	Reset HOME when env_reset is enabled unless it is in env_keep
3749	[18223dfd1ac3] <1.7>
3750
3751	* sudoers.cat, sudoers.man.in, sudoers.pod:
3752	The default for set_logname has been "true" for some time now.
3753	[9f97e4b43a4b] <1.7>
3754
3755	* sudoers.cat, sudoers.man.in, sudoers.pod:
3756	Document that MAIL it set in env_reset mode.
3757	[dcf9ad98079e] <1.7>
3758
3759	* boottime.c:
3760	Add missing include of time.h
3761	[57bee414982d] <1.7>
3762
3763	* defaults.c, sudo.c:
3764	Check return value of setdefs() but don't stop setting defaults if
3765	we hit an unknown one.
3766	[a42cb2d6b7ed] <1.7>
3767
3768	* logging.c:
3769	Fix check for dup2() return value.
3770	[916cd7fdeba7] <1.7>
3771
3772	* visudo.c:
3773	Treat an unknown defaults entry as a parse error.
3774	[1f94675835d9] <1.7>
3775
3776	* env.c:
3777	Check KEPT_MAIL not DID_MAIL when determining whether to set MAIL in
3778	-i and env_reset mode.
3779	[aa6657ccfe01] <1.7>
3780
3781	* env.c:
3782	Add PYTHONUSERBASE to initial_badenv_table
3783	[93058374f0d9] <1.7>
3784
3785	* WHATSNEW, aclocal.m4, config.h.in, configure, configure.in, env.c,
3786	pathnames.h.in, sudo.cat, sudo.man.in, sudo.pod:
3787	If env_reset is enabled, set the MAIL environment variable based on
3788	the target user unless MAIL is explicitly preserved in sudoers.
3789	[d903c904dcd4] <1.7>
3790
37912010-07-17  Todd C. Miller  <Todd.Miller@courtesan.com>
3792
3793	* pp:
3794	decode debian code names
3795	[2df0ecbc23b4] <1.7>
3796
3797	* WHATSNEW:
3798	fix typo
3799	[b66a95fa1869] <1.7>
3800
38012010-07-16  Todd C. Miller  <Todd.Miller@courtesan.com>
3802
3803	* WHATSNEW:
3804	Add entry about SuSE bash script fix.
3805	[04af78fa281c] <1.7>
3806
3807	* sudo.c:
3808	Restore RLIMIT_NPROC after the uid switch if it appears that
3809	runas_setup() did not do it for us. Fixes a bash script problem on
3810	SuSE with RLIMIT_NPROC set to RLIM_INFINITY.
3811	[bb14802d48b1] <1.7>
3812
38132010-07-15  Todd C. Miller  <Todd.Miller@courtesan.com>
3814
3815	* mkpkg, pp, sudo.pp:
3816	Restore the dot removal in the os version reported by polypkg. Adapt
3817	mkpkg and sudo.pp to the change.
3818	[83c7870130fe] <1.7>
3819
38202010-07-16  Todd C. Miller  <Todd.Miller@courtesan.com>
3821
3822	* WHATSNEW:
3823	Mention polypkg
3824	[c5f6e40bbb58] <1.7>
3825
3826	* README, WHATSNEW:
3827	Update for sudo 1.7.4
3828	[0c688f1f8160] <1.7>
3829
3830	* INSTALL:
3831	document --with-pam-login
3832	[33ca3f6308ae] <1.7>
3833
3834	* sudoers.cat, sudoers.man.in, sudoers.pod:
3835	The tag is NOSETENV, not UNSETENV. From Petr Uzel.
3836	[95f37e63ca15] <1.7>
3837
38382010-07-15  Todd C. Miller  <Todd.Miller@courtesan.com>
3839
3840	* sudo.pp:
3841	Include flavor in solaris package name
3842	[b6d56ccf367e] <1.7>
3843
3844	* mkpkg:
3845	Older shells don't support IFS= so set explictly to space, tab,
3846	newline.
3847	[336925525e17] <1.7>
3848
3849	* mkpkg:
3850	Use '=' not '==' in test
3851	[98c692271cfd] <1.7>
3852
3853	* mkpkg:
3854	Fix typo that prevented debian from matching
3855	[af4deec35e37] <1.7>
3856
3857	* mkpkg:
3858	Add missing prefix setting for debian
3859	[d0c1941cb6ec] <1.7>
3860
3861	* sudo.pp:
3862	Use tab indents to reduce the chance of problem with <<- Uncomment
3863	some env_keep lines for RHEL, SLES and Debian to more closely match
3864	the vendor sudoers files.
3865	[74ba26566cdc] <1.7>
3866
3867	* sudo.pp:
3868	Fix indentation Fix the debian %set section, pp does not set
3869	pp_deb_distro Uncomment %sudo line in sudoers for debian Add pam.d
3870	to %files for debian Remove the /etc/sudo-ldap.conf symlink on
3871	debian for ldap flavor
3872	[f15ff41b5afd] <1.7>
3873
3874	* sudoers:
3875	Add commented out env_keep entries, sample Aliases and a %sudo line
3876	for debian.
3877	[8264e4ed42dc] <1.7>
3878
3879	* configure, configure.in:
3880	Remove check for egrep; configure has its own
3881	[27b3d85ebf4f] <1.7>
3882
3883	* configure.in:
3884	Use enable_zlib instead of enableval for consistency
3885	[4a15cfd43d3e] <1.7>
3886
38872010-07-14  Todd C. Miller  <Todd.Miller@courtesan.com>
3888
3889	* mkpkg:
3890	Enable zlib for linux distros
3891	[fcab91448bb0] <1.7>
3892
3893	* mkpkg:
3894	Add ldap flavor to default build
3895	[e35a577c8994] <1.7>
3896
3897	* mkpkg, sudo.pp:
3898	Simplify rpm linux distro settings
3899	[f30547765636] <1.7>
3900
3901	* UPGRADE, aclocal.m4, configure, configure.in, sudo.cat, sudo.man.in,
3902	sudoers.cat:
3903	Move time stamp files from /var/run/sudo to /var/{db,lib,adm}/sudo.
3904	[8c9440423d98] <1.7>
3905
3906	* Makefile.in, mkpkg, sudo.pp:
3907	Add ldap "flavor" for debian, controlled by the SUDO_FLAVOR
3908	environment variable.
3909	[9f418defc08a] <1.7>
3910
3911	* sudo.pp:
3912	Create sudo group on debian
3913	[4b0cc7b8b0b5] <1.7>
3914
3915	* mkpkg, sudo.pp:
3916	Add debian 4/5/6 and use the dot when doing version matches
3917	[d5184f0a1efc] <1.7>
3918
3919	* sudoers.cat, sudoers.man.in, sudoers.pod:
3920	Remove spurious "and"; from debian
3921	[8b9f2a5937bc] <1.7>
3922
3923	* aclocal.m4, configure:
3924	Use a loop when searching for mv, sendmail and sh
3925	[a1c7d19721a4] <1.7>
3926
3927	* aclocal.m4, configure, configure.in, sudoers.cat, sudoers.man.in,
3928	sudoers.pod, visudo.cat, visudo.man.in, visudo.pod:
3929	Substitute the value of EDITOR into the sudoers and visudo manuals.
3930	[f00dc9343f94] <1.7>
3931
39322010-07-13  Todd C. Miller  <Todd.Miller@courtesan.com>
3933
3934	* mkpkg, pp, sudo.pp:
3935	Initial debian 4.0 support
3936	[6d73c000723f] <1.7>
3937
3938	* mkpkg:
3939	Some platforms need -fPIE instead of -fpie
3940	[8533a29633e8] <1.7>
3941
3942	* Makefile.in:
3943	Add packaging bits to DISTFILES
3944	[dea9f374f28b] <1.7>
3945
3946	* auth/pam.c:
3947	Only set PAM_RHOST for Solaris, where it is needed to avoid a bug.
3948	On Linux it causes a DNS lookup via libaudit.
3949	[22e04d2f5f0f] <1.7>
3950
3951	* sudo.psf:
3952	We now use pp to generate HP-UX packages
3953	[6c9f8ae6bc11] <1.7>
3954
39552010-07-12  Todd C. Miller  <Todd.Miller@courtesan.com>
3956
3957	* auth/pam.c:
3958	Fix indentation
3959	[e52e9e6338d5] <1.7>
3960
3961	* INSTALL, Makefile.in:
3962	isntall-man -> install-doc
3963	[02cc8198ea7a] <1.7>
3964
3965	* configure, configure.in, sudo.cat, sudo.man.in, sudoers.cat,
3966	sudoers.ldap.cat, sudoers.ldap.man.in, sudoers.man.in,
3967	sudoreplay.cat, sudoreplay.man.in, visudo.cat, visudo.man.in:
3968	Bump version to 1.7.4
3969	[df6ce4ea908a] <1.7>
3970
3971	* INSTALL.binary, Makefile.binary.in, Makefile.in:
3972	Remove remaining bits of the old binary package
3973	[8d4f82c23c22] <1.7>
3974
3975	* sudo.pp:
3976	Use http://rc.quest.com/topics/polypkg/ for packaging
3977	[d71793085629] <1.7>
3978
3979	* Makefile.in, mkpkg, pp:
3980	Use http://rc.quest.com/topics/polypkg/ for packaging
3981	[675e505758c5] <1.7>
3982
3983	* install-sh:
3984	Just ignore the -c option, it is the default Add support for -d
3985	option
3986	[2adfb3a63231] <1.7>
3987
3988	* env.c, logging.c, pathnames.h.in:
3989	Use _PATH_STDPATH instead of _PATH_DEFPATH
3990	[2c22d54a1f02] <1.7>
3991
3992	* Makefile.in:
3993	Do not strip binaries.
3994	[bc84682b372c] <1.7>
3995
3996	* INSTALL, configure, configure.in:
3997	Add --insults=disabled configure option to allow people to build in
3998	insult support but have the insults disabled unless explicitly
3999	enabled in sudoers.
4000	[6d9f40db9cca] <1.7>
4001
40022010-07-10  Todd C. Miller  <Todd.Miller@courtesan.com>
4003
4004	* env.c, sudoreplay.c:
4005	Fix K&R compilation
4006	[e44d3be7ab85] <1.7>
4007
40082010-07-09  Todd C. Miller  <Todd.Miller@courtesan.com>
4009
4010	* auth/pam.c, config.h.in, configure, configure.in, env.c, sudo.c,
4011	sudo.h:
4012	Add support for a sudo-i pam.d file to be used for "sudo -i".
4013	Adapted from a RedHat patch.
4014	[2984c3831d88] <1.7>
4015
4016	* Makefile.in:
4017	Fix installation of sudo_noexec.so
4018	[d1f7ca8331b6] <1.7>
4019
4020	* Makefile.in, config.h.in, configure, configure.in, missing.h,
4021	mkstemp.c, mkstemps.c, sudo_edit.c:
4022	Use mkstemps() instead of mkstemp() in sudoedit. This allows
4023	sudoedit to preserve the file extension (if any) which may be used
4024	by the editor (like emacs) to choose the editing mode.
4025	[46399679d9ae] <1.7>
4026
40272010-07-08  Todd C. Miller  <Todd.Miller@courtesan.com>
4028
4029	* ldap.c, sudoers.ldap.cat, sudoers.ldap.man.in, sudoers.ldap.pod:
4030	TLS_CACERT is now an alias for TLS_CACERTFILE. OpenLDAP uses
4031	TLS_CACERT, not TLS_CACERTFILE in its ldap.conf. Other LDAP client
4032	code, such as nss_ldap, uses TLS_CACERTFILE. Also document why you
4033	should avoid disabling TLS_CHECKPEER is possible.
4034	[1d626a5cf8c0] <1.7>
4035
40362010-07-07  Todd C. Miller  <Todd.Miller@courtesan.com>
4037
4038	* toke.c, toke.l:
4039	Add suport for negated user/host/command lists in a Defaults entry.
4040	E.g. Defaults:!baduser noexec
4041	[24f07a805dce] <1.7>
4042
40432010-07-01  Todd C. Miller  <Todd.Miller@courtesan.com>
4044
4045	* sudoers.ldap.pod:
4046	fix typo.
4047	[d5f2922cecf2] <1.7>
4048
40492010-06-29  Todd C. Miller  <Todd.Miller@courtesan.com>
4050
4051	* .hgtags:
4052	Added tag SUDO_1_7_3 for changeset 72fd1f510a08
4053	[cc8b2277e17e] <1.7>
4054
4055	* configure, configure.in, sudo.cat, sudo.man.in, sudoers.cat,
4056	sudoers.ldap.cat, sudoers.ldap.man.in, sudoers.man.in,
4057	sudoreplay.cat, sudoreplay.man.in, visudo.cat, visudo.man.in:
4058	Sudo 1.7.3 GA
4059	[72fd1f510a08] [SUDO_1_7_3] <1.7>
4060
4061	* alias.c, alloc.c, auth/afs.c, auth/aix_auth.c, auth/bsdauth.c,
4062	auth/dce.c, auth/fwtk.c, auth/kerb4.c, auth/kerb5.c, auth/pam.c,
4063	auth/passwd.c, auth/rfc1938.c, auth/secureware.c, auth/securid.c,
4064	auth/securid5.c, auth/sia.c, auth/sudo_auth.c, boottime.c, check.c,
4065	defaults.c, env.c, exec.c, exec_pty.c, fileops.c, find_path.c,
4066	fnmatch.c, get_pty.c, getcwd.c, getdate.c, getdate.y, getline.c,
4067	getspwuid.c, glob.c, goodpath.c, gram.c, gram.y, interfaces.c,
4068	iolog.c, lbuf.c, ldap.c, logging.c, match.c, parse.c, parse_args.c,
4069	pwutil.c, set_perms.c, snprintf.c, sudo.c, sudo_edit.c, sudo_nss.c,
4070	sudoreplay.c, term.c, testsudoers.c, tgetpass.c, toke.c, toke.l,
4071	tsgetgrpw.c, visudo.c:
4072	Include strings.h even if string.h exists since they may define
4073	different things. Fixes warnings on AIX and others.
4074	[7c6de7fb5dba] <1.7>
4075
4076	* env.c:
4077	Do not rely on env.env_len when unsetting a variable, just use the
4078	NULL terminator.
4079	[faf088613ce5] <1.7>
4080
4081	* env.c:
4082	In unsetenv() check for NULL or empty name as per POSIX 1003.1-2008
4083	[47f8dfcc7a48] <1.7>
4084
40852010-06-28  Todd C. Miller  <Todd.Miller@courtesan.com>
4086
4087	* sudoers.ldap.cat, sudoers.ldap.man.in, sudoers.ldap.pod:
4088	Mention that multiple URI lines are merged into a single one.
4089	[1dc0ac5929bf] <1.7>
4090
4091	* WHATSNEW:
4092	Document AIX fixes
4093	[be36e8a6dddd] <1.7>
4094
40952010-06-26  Todd C. Miller  <Todd.Miller@courtesan.com>
4096
4097	* env.c, sudo.c, sudo.h:
4098	For env_init() just use environ not the envp from main().
4099	[d4f3e374caeb] <1.7>
4100
41012010-06-25  Todd C. Miller  <Todd.Miller@courtesan.com>
4102
4103	* configure, configure.in, sudo.cat, sudo.man.in, sudoers.cat,
4104	sudoers.ldap.cat, sudoers.ldap.man.in, sudoers.man.in,
4105	sudoreplay.cat, sudoreplay.man.in, visudo.cat, visudo.man.in:
4106	Update version to 1.7.3rc1
4107	[fe43fe79070d] <1.7>
4108
4109	* TODO:
4110	fqdn issue is resolved
4111	[f35cb63eb74b] <1.7>
4112
4113	* env.c:
4114	In unsetenv(), assign ep in the for loop instead of doing it
4115	earlier. This version of the code does not change env.envp in
4116	between when ep is assigned and when it is used but older versions
4117	(e.g. 1.7.2) do.
4118	[a4cd29c862c9] <1.7>
4119
4120	* aix.c:
4121	Use S_REGISTRY instead of S_AUTHSYSTEM as the argument to
4122	getuserattr() when fetching the administrative domain to be used by
4123	setauthdb(). This was suggested by AIX support and is consistent
4124	with what OpenSSH does.
4125	[d3109706ec85] <1.7>
4126
4127	* vasgroups.c:
4128	Use warningx() instead of log_error() since the latter is not
4129	available to visudo or testsudoers. This does mean that they don't
4130	end up in syslog.
4131	[0174e89f983b] <1.7>
4132
4133	* sudo.c:
4134	Defer call to sudo_nonunix_groupcheck_cleanup() until after we have
4135	closed the sudoers sources. From Quest sudo.
4136	[c1b33e3e0f9e] <1.7>
4137
4138	* pwutil.c:
4139	Ignore case when matching user/group names in the cache. From Quest
4140	sudo.
4141	[72df368a8a0e] <1.7>
4142
41432010-06-24  Todd C. Miller  <Todd.Miller@courtesan.com>
4144
4145	* config.h.in, configure, configure.in, selinux.c:
4146	Add check for setkeycreatecon() when --with-selinux is specified.
4147	[24144c52c0cc] <1.7>
4148
4149	* configure, configure.in:
4150	Bump version to 1.7.3b5 Error out if libaudit.h is missing or
4151	ununable when --with-linux-audit was specified
4152	[215c7653d9bc] <1.7>
4153
4154	* aix.c:
4155	K&R function declaration for aix_setauthdb()
4156	[82da12d222a6] <1.7>
4157
4158	* env.c, sudo.c, sudo.h:
4159	If env_init() was called implicitly via getenv(), setenv() or
4160	putenv() just use the specified envp instead of mallocing a new
4161	copy. This prevents an infinite loop on OpenBSD which calls
4162	getenv() from malloc() to get MALLOC_OPTIONS.
4163	[8e82ce63f774] <1.7>
4164
4165	* ldap.c:
4166	Add support for multiple URI lines by joining the contents and
4167	passing the result to ldap_initialize.
4168	[b4e10b2ffdb1] <1.7>
4169
41702010-06-23  Todd C. Miller  <Todd.Miller@courtesan.com>
4171
4172	* pwutil.c, set_perms.c, sudo_nss.c:
4173	Bracket initgroups with calls to aix_setauthdb() and
4174	aix_restoreauthdb()
4175	[363dbe449f1c] <1.7>
4176
4177	* aix.c:
4178	Include compat.h before alloc.h to get __P
4179	[819a2667ffd7] <1.7>
4180
4181	* auth/aix_auth.c:
4182	Include usersec.h for authenticate() prototype
4183	[2b8dd2b67131] <1.7>
4184
4185	* aix.c:
4186	Add missing includes Add missing trailing NUL in userinfo string
4187	[8deaedf44943] <1.7>
4188
41892010-06-22  Todd C. Miller  <Todd.Miller@courtesan.com>
4190
4191	* HISTORY, history.pod:
4192	Mention when LDAP was incorporated.
4193	[4e6c8ec4f67c] <1.7>
4194
41952010-06-21  Todd C. Miller  <Todd.Miller@courtesan.com>
4196
4197	* configure:
4198	Define _LINUX_SOURCE_COMPAT on AIX for strsignal() prototype, it is
4199	not covered by _ALL_SOURCE.
4200	[3657f1b181b9] <1.7>
4201
4202	* pwutil.c:
4203	Include usersec.h on AIX to get IDtouser() prototype.
4204	[11483bbe15c7] <1.7>
4205
4206	* configure.in:
4207	Define _LINUX_SOURCE_COMPAT on AIX for strsignal() prototype, it is
4208	not covered by _ALL_SOURCE.
4209	[fd48e6e2136b] <1.7>
4210
42112010-06-18  Todd C. Miller  <Todd.Miller@courtesan.com>
4212
4213	* iolog.c:
4214	Add a cast to quiet a compiler warning.
4215	[51e9d419bd83] <1.7>
4216
4217	* boottime.c:
4218	Use memset() instead of zero_bytes() since we don't include sudo.h
4219	[f310b2123ba9] <1.7>
4220
4221	* Makefile.in:
4222	getline.o is already in LIB_OBJS, do not need it in COMMON_OBJS
4223	[c8750c2d75ab] <1.7>
4224
4225	* getdate.c, getdate.y:
4226	Quiet a compiler warning.
4227	[9f231be15958] <1.7>
4228
4229	* defaults.c, sudo.c:
4230	Call set_fqdn() after sudoers has parsed instead of inline as a
4231	callback.
4232	[26d413ddb6dd] <1.7>
4233
4234	* WHATSNEW:
4235	Do not call set_fqdn() until sudoers parses (where is gets run as a
4236	callback).
4237	[582453a993a1] <1.7>
4238
4239	* sudo.c:
4240	Do not call set_fqdn() until sudoers parses (where is gets run as a
4241	callback). Otherwise, if sudo is built --with-fqdn the fqdn will be
4242	set even if !fqdn is set in sudoers.
4243	[aa01e867d1bb] <1.7>
4244
4245	* configure, configure.in, sudo.cat, sudo.man.in, sudoers.cat,
4246	sudoers.ldap.cat, sudoers.ldap.man.in, sudoers.man.in,
4247	sudoreplay.cat, sudoreplay.man.in, visudo.cat, visudo.man.in:
4248	Bump version to 1.7.3b4
4249	[c1c5a73766b6] <1.7>
4250
4251	* WHATSNEW:
4252	mention the change in tty ticket behavior when there is no tty
4253	[93ddde63e453] <1.7>
4254
4255	* TODO:
4256	remove done items
4257	[9601b2e8dcef] <1.7>
4258
4259	* aix.c:
4260	Remove comment; NAME in usrinfo should be user name.
4261	[eb46f1e8ea08] <1.7>
4262
4263	* check.c:
4264	Do not update tty ticket if there is no tty.
4265	[e64e8c8f2286] <1.7>
4266
4267	* sudo.cat, sudo.man.in, sudo.pod:
4268	No longer need to use -- with the -s flag
4269	[e45c18dd79dc] <1.7>
4270
4271	* Makefile.in:
4272	Add missing $(srcdir) to sudo.man.in target
4273	[2bd89f6ca9f3] <1.7>
4274
4275	* Makefile.in:
4276	Do not rely on BSD make's $>
4277	[cb328b82cb92] <1.7>
4278
4279	* configure, configure.in:
4280	Set timedir to /var/db/sudo for darwin to match Apple sudo's
4281	location
4282	[860c7f1b001f] <1.7>
4283
42842010-06-16  Todd C. Miller  <Todd.Miller@courtesan.com>
4285
4286	* Makefile.in, configure, configure.in:
4287	Move aix.o from SUDO_OBJS to COMMON_OBJS
4288	[f8a9bdf346c1] <1.7>
4289
4290	* config.h.in, configure, configure.in, defaults.c, iolog.c,
4291	sudoreplay.c:
4292	Check for zlib.h in addition to libz.
4293	[fb77e44d5196] <1.7>
4294
4295	* Makefile.in, exec.c, exec_pty.c, sudo.h, sudo_exec.h:
4296	Move functions and symbols shared between exec.c and exec_pty.c into
4297	sudo_exec.h.
4298	[e798d945424e] <1.7>
4299
4300	* sudo.h:
4301	Add missing prototypes for aix_setauthdb and aix_restoreauthdb
4302	[8bc2af6d4e17] <1.7>
4303
4304	* Makefile.in:
4305	Comment out rules to build .man.in and .cat files unless --with-
4306	devel
4307	[81d6726a19ab] <1.7>
4308
4309	* aix.c, pwutil.c, set_perms.c, sudo.h:
4310	Fix AIX compilation problems.
4311	[7d95f73eca42] <1.7>
4312
4313	* sudo.c:
4314	Cast isalnum() arg to unsigned char.
4315	[5fff9a81af00] <1.7>
4316
4317	* WHATSNEW:
4318	Add Linux audit support.
4319	[e59e0670ba79] <1.7>
4320
4321	* sudo.c:
4322	Quote any non-alphanumeric characters other than '_' or '-' when
4323	passing a command to be run via the shell for the -s and -i options.
4324	[d35a3f4cb3c0] <1.7>
4325
4326	* sudo.c:
4327	Add missing braces that broke -i mode.
4328	[7fe124b078ec] <1.7>
4329
4330	* linux_audit.c:
4331	Fix linux_audit_command() return value
4332	[0c582476181c] <1.7>
4333
43342010-06-15  Todd C. Miller  <Todd.Miller@courtesan.com>
4335
4336	* Makefile.in, linux_audit.c, linux_audit.h:
4337	Add Linux audit support.
4338	[b207dc9960de] <1.7>
4339
43402010-06-16  Todd C. Miller  <Todd.Miller@courtesan.com>
4341
4342	* INSTALL, audit.c, bsm_audit.c, config.h.in, configure, configure.in,
4343	logging.h, selinux.c:
4344	Add Linux audit support.
4345	[26ae31d7ff93] <1.7>
4346
43472010-06-15  Todd C. Miller  <Todd.Miller@courtesan.com>
4348
4349	* sudoreplay.c, sudoreplay.cat, sudoreplay.man.in, sudoreplay.pod:
4350	Sync sudoreplay with trunk
4351	[65b780cccfa5] <1.7>
4352
4353	* exec_pty.c:
4354	Remove an XXX
4355	[8304ac649241] <1.7>
4356
4357	* aix.c, configure, configure.in, pwutil.c, set_perms.c, sudo.h:
4358	Set usrinfo for AIX Set adminstrative domain for the process when
4359	looking up user's password info and when preparing for execve().
4360	[52b48cbe97fd] <1.7>
4361
4362	* ldap.c, parse.c:
4363	Better prefix determination now that we can't rely on len==0 to tell
4364	the beginning on an entry.
4365	[32f1875d9605] <1.7>
4366
4367	* WHATSNEW, ldap.c, sudoers.ldap.cat, sudoers.ldap.man.in,
4368	sudoers.ldap.pod:
4369	Add support for multiple sudoers_base entries in ldap.conf. From
4370	Joachim Henke
4371	[3c0b59fce7b4] <1.7>
4372
4373	* configure, configure.in:
4374	Remove duplicate setsid check
4375	[7712d6d52da1] <1.7>
4376
4377	* Makefile.in, config.h.in, configure, configure.in, exec_pty.c,
4378	logging.c, missing.h, setsid.c:
4379	Move setsid emulation into setsid.c
4380	[f24743c9e4e9] <1.7>
4381
4382	* exec_pty.c, logging.c, selinux.c, sudo.c, tgetpass.c:
4383	Check for dup2() failure.
4384	[b1b6ba761b61] <1.7>
4385
4386	* config.h.in, configure, configure.in:
4387	Remove dup2 check, it is not optional.
4388	[cfbe5f3b5956] <1.7>
4389
43902010-06-14  Todd C. Miller  <Todd.Miller@courtesan.com>
4391
4392	* WHATSNEW:
4393	Add mbr_check_membership support and SELinux fixes
4394	[af1936a7cf2f] <1.7>
4395
4396	* Makefile.in:
4397	Sync SRCS and DISTFILES with reality
4398	[0971b5dcb1be] <1.7>
4399
4400	* INSTALL:
4401	Update OS specific notes. Delete some really ancient ones and move
4402	older ones to the end of the list.
4403	[872dd8b437a8] <1.7>
4404
4405	* README:
4406	Bump for sudo 1.7.3 Merge some changes from trunk
4407	[a3088c75bf22] <1.7>
4408
4409	* selinux.c, sudo.c:
4410	Call selinux_restore_tty() as part of cleanup() so it gets called
4411	from error()/errorx()
4412	[0197c07d4c1e] <1.7>
4413
4414	* compat.h:
4415	No longer use SA_NOCLDSTOP
4416	[73ca654cd3f8] <1.7>
4417
4418	* interfaces.h, match.c:
4419	Move union sudo_in_addr_un into interfaces.h
4420	[c84bda7c332a] <1.7>
4421
4422	* pathnames.h.in:
4423	Update copyright year
4424	[94871f44206b] <1.7>
4425
4426	* HISTORY, LICENSE, aix.c, alias.c, alloc.h, boottime.c, bsm_audit.h,
4427	compat.h, defaults.c, defaults.h, env.c, fileops.c, find_path.c,
4428	gettime.c, gram.y, history.pod, lbuf.h, license.pod, logging.c,
4429	match.c, missing.h, nanosleep.c, parse.h, set_perms.c,
4430	sudoers.ldap.cat, sudoers.ldap.man.in, sudoers.ldap.pod,
4431	sudoreplay.c, term.c, tgetpass.c, toke.l, visudo.c, visudo.cat,
4432	visudo.man.in, visudo.pod:
4433	Update copyright year
4434	[4cfb47c799b8] <1.7>
4435
4436	* Makefile.in:
4437	Remove varsub as part of clean
4438	[61f04a21b0bb] <1.7>
4439
4440	* match.c:
4441	Quiet a compiler warning.
4442	[06d8cfe916c8] <1.7>
4443
4444	* getdate.c, getdate.y:
4445	Quiet a compiler warning.
4446	[473d2b7d44a1] <1.7>
4447
4448	* ldap.c, sudo.h:
4449	Make the remaining functions in ldap.c static
4450	[ba555565b30a] <1.7>
4451
4452	* ldap.c:
4453	Make private functions static. Diff from Joachim Henke
4454	[1603035b1863] <1.7>
4455
4456	* schema.ActiveDirectory:
4457	Updates from Alain Roy to provide better examples for importing the
4458	schema and to fix problems caused by Windows validating attributes
4459	which have not yet been added before committing the changes.
4460	[83f11ae00f19] <1.7>
4461
44622010-06-12  Todd C. Miller  <Todd.Miller@courtesan.com>
4463
4464	* Makefile.in, configure, configure.in, sudo.cat, sudoers.cat:
4465	Generate .cat files directly from .man.in instead of .man using
4466	default values in configure.in
4467	[0a92b41c5ce5] <1.7>
4468
44692010-06-11  Todd C. Miller  <Todd.Miller@courtesan.com>
4470
4471	* configure, configure.in, sudo.c, sudo_usage.h.in:
4472	Print configure args with verbose version information.
4473	[ca4a5fcf0af8] <1.7>
4474
4475	* visudo.c:
4476	Remove tfd from struct sudoersfile; it is not used. Add prev pointer
4477	to struct sudoersfile. Declare list of sudoersfile using TQ_DECLARE.
4478	Use tq_append to append sudoers entries to the tail queue.
4479	[344c631d0d43] <1.7>
4480
44812010-06-10  Todd C. Miller  <Todd.Miller@courtesan.com>
4482
4483	* WHATSNEW:
4484	Describe tty timestamp improvements
4485	[136b0f832903] <1.7>
4486
4487	* toke.c, toke.l:
4488	A comment character may not be part of a command line argument
4489	unless it is quoted with a backslash. Fixes parsing of:
4490	testuser ALL=NOPASSWD: /usr/bin/wl #comment foo bar closes bz #441
4491	[2a0c82ffedde] <1.7>
4492
4493	* sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in:
4494	regen
4495	[c9fddd23c7e1] <1.7>
4496
4497	* sudoers.pod:
4498	Make this read a little bit better when passwd_timeout is 0.
4499	[51644950823f] <1.7>
4500
4501	* Makefile.in:
4502	Use the --file argument to config.status instead of setting
4503	CONFIG_FILES
4504	[fc2b42c60b5d] <1.7>
4505
4506	* sudo.man.pl, sudo.pod:
4507	Attempt to handle a default password prompt timeout of zero more
4508	gracefully.
4509	[478b8e720993] <1.7>
4510
4511	* toke.c, toke.l:
4512	Do not override value of keepopen global, instead restore it to the
4513	value we pushed onto the stack when popping.
4514	[dc370d57a668] <1.7>
4515
4516	* exec.c, exec_pty.c, logging.c, mon_systrace.c, tgetpass.c:
4517	Use SA_INTERRUPT in sa_flags
4518	[3845c6637361] <1.7>
4519
4520	* getdate.c, getdate.y, ldap.c, sudoreplay.c:
4521	Silence some compiler warnings
4522	[112ac65afd0c] <1.7>
4523
45242010-06-09  Todd C. Miller  <Todd.Miller@courtesan.com>
4525
4526	* exec.c, exec_pty.c, sudo.c, sudo.h:
4527	Implement background mode. If I/O logging we use pipes instead of a
4528	pty.
4529	[8d448eaf2aaa] <1.7>
4530
4531	* compat.h, exec.c, exec_pty.c, mksiglist.c, strsignal.c, tgetpass.c:
4532	Move compat definition of NSIG to compat.h
4533	[cae72a4c9dec] <1.7>
4534
4535	* tgetpass.c:
4536	Ignore SIGPIPE for "sudo -S"
4537	[c6595c8527c4] <1.7>
4538
4539	* tgetpass.c:
4540	Properly handle TGP_ECHO again. Print a newline if the user
4541	interrupted password input.
4542	[15acbe4fb535] <1.7>
4543
4544	* exec_pty.c:
4545	Use POSIX tcgetpgrp() instead of BSD TIOCGPGRP ioctl
4546	[dd041fc9554c] <1.7>
4547
45482010-06-08  Todd C. Miller  <Todd.Miller@courtesan.com>
4549
4550	* exec.c, exec_pty.c, selinux.c, sudo.c, sudo.h:
4551	Return an error from selinux_setup() instead of exiting. Call
4552	selinux_setup() from exec_setup().
4553	[b518225cafba] <1.7>
4554
4555	* compat.h:
4556	Add definition of WCOREDUMP for systems without it. This is known
4557	to work on AIX and SunOS 4, but may be incorrect on other systems
4558	that lack WCOREDUMP.
4559	[365e56db7cd5] <1.7>
4560
4561	* check.c, compat.h, config.h.in, configure, configure.in, iolog.c,
4562	nanosleep.c, sudo_edit.c, visudo.c:
4563	Replace timerfoo macros with timevalfoo since the timer macros are
4564	known to be busted on some systems.
4565	[4bb5228606c5] <1.7>
4566
4567	* toke.c, toke.l:
4568	If a file in a #includedir has improper permissions or owner just
4569	skip it. This prevents packages that incorrectly install a file
4570	into /etc/sudoers.d from breaking sudo so easily. Syntax errors in
4571	#includedir files still result in a parse error (for now).
4572	[b7fb75eddb77] <1.7>
4573
4574	* TODO, auth/pam.c, exec.c, exec_pty.c, set_perms.c, sudo.c, sudo.h:
4575	Defer call to pam_close_session() until after the command finishes
4576	if there is a monitor process.
4577	[0a39c8e6a81b] <1.7>
4578
4579	* WHATSNEW, def_data.c, def_data.h, def_data.in, exec.c, sudoers.cat,
4580	sudoers.man.in, sudoers.pod:
4581	Add use_pty sudoers option to force use of a pty even when not
4582	logging I/O.
4583	[aea971f1456a] <1.7>
4584
4585	* env.c, sudo.c, sudo.h:
4586	Instead of trying to keep the global environment in sync with our
4587	private copy, provide our own getenv() that returns values from the
4588	private environment and use env_get() to pass the environment in to
4589	run_command().
4590	[58c85c5695dc] <1.7>
4591
4592	* set_perms.c:
4593	Fix typo
4594	[0f677fcdde04] <1.7>
4595
45962010-06-07  Todd C. Miller  <Todd.Miller@courtesan.com>
4597
4598	* sudo.h:
4599	Rename pty.c -> get_pty.c
4600	[39137dcc4420] <1.7>
4601
4602	* iolog.c:
4603	Add #define for maximum session id
4604	[2a487437f013] <1.7>
4605
4606	* Makefile.in, configure, configure.in, exec.c, exec_pty.c, iolog.c,
4607	selinux.c, sudo.c, sudo.h, sudo_edit.c:
4608	Split exec.c into exec.c and exec_pty.c Pass a flag in to
4609	sudo_execve to indicate whether we need to wait for the command
4610	to finish (fork + execve vs. execve).
4611	[b197515585db] <1.7>
4612
4613	* Makefile.in, configure, configure.in, get_pty.c, pty.c:
4614	Rename pty.c -> get_pty.c
4615	[c0e5270bb28a] <1.7>
4616
4617	* aclocal.m4, configure, configure.in:
4618	Fix --without-iologdir
4619	[dcd6c5907b10] <1.7>
4620
46212010-06-06  Todd C. Miller  <Todd.Miller@courtesan.com>
4622
4623	* iolog.c:
4624	Only use I/O input log file if def_log_input is set and output file
4625	if def_log_output is set.
4626	[96cdd49be996] <1.7>
4627
46282010-06-05  Todd C. Miller  <Todd.Miller@courtesan.com>
4629
4630	* parse_args.c, sudo.c:
4631	Include sudo_usage.h after sudo.h now that it has function
4632	prototypes to guarantee that __P is defined.
4633	[c67b77f8d6b1] <1.7>
4634
46352010-06-04  Todd C. Miller  <Todd.Miller@courtesan.com>
4636
4637	* tgetpass.c:
4638	Do signal setup after turning off echo, not before. If we are using
4639	a tty but are not the foreground pgrp this will generate SIGTTOU so
4640	we want the default action to be taken (suspend process). Use an
4641	array for signals received instead of a single variable so we don't
4642	lose any when there are multiple different signals.
4643	[de356064ea01] <1.7>
4644
4645	* defaults.h, lbuf.h, sudo.h:
4646	Reorg function prototypes a bit
4647	[5c40f58bb28e] <1.7>
4648
4649	* Makefile.in, parse_args.c, sudo.c, sudo.h, sudo_usage.h.in:
4650	Move argument parsing into parse_args.c
4651	[fad7b8737c12] <1.7>
4652
4653	* Makefile.in, config.h.in, configure, configure.in, missing.h,
4654	mksiglist.c, mksiglist.h, siglist.in, strsignal.c:
4655	Build our own sys_siglist for systems that lack it.
4656	[3b5f671936dc] <1.7>
4657
4658	* exec.c, iolog.c, missing.h, sudo_edit.c:
4659	K&R fixes
4660	[dad62986f2fe] <1.7>
4661
4662	* exec.c, pty.c, sudo.c, sudo.h, sudo_edit.c:
4663	Log sudoedit sessions as well; adapted from trunk
4664	[2c5d9695022b] <1.7>
4665
4666	* configure:
4667	regen
4668	[9b319e89a6c4] <1.7>
4669
4670	* INSTALL, Makefile.in, WHATSNEW, aclocal.m4, configure, configure.in,
4671	def_data.c, def_data.h, def_data.in, defaults.c, exec.c, gram.c,
4672	gram.h, gram.y, iolog.c, parse.c, parse.h, pathnames.h.in, pty.c,
4673	script.c, selinux.c, sudo.c, sudo.h, sudoers.cat, sudoers.man.in,
4674	sudoers.pod, sudoreplay.c, sudoreplay.cat, sudoreplay.man.in,
4675	sudoreplay.pod, term.c:
4676	Merge I/O logging changes from trunk. Disabling I/O log support at
4677	compile time does not currently work. Sudoedit is not yet hooked up
4678	to I/O logging.
4679	[968c2c74c69b] <1.7>
4680
46812010-06-03  Todd C. Miller  <Todd.Miller@courtesan.com>
4682
4683	* INSTALL, configure, configure.in:
4684	Add --enable-warnings configure option
4685	[19cf967c36d1] <1.7>
4686
4687	* check.c, lbuf.h, script.c, sudo.c, sudo_nss.c:
4688	Fix K&R compilation issues on HP-UX.
4689	[c01a547cdcf8] <1.7>
4690
4691	* lbuf.c, lbuf.h, ldap.c, parse.c, sudo.c, sudo_nss.c:
4692	Pass in output function to lbuf_init() instead of writing to stdout.
4693	A side effect is that the usage info can now go to stderr as it
4694	should. Add support for embedded newlines in lbuf and use that
4695	instead of multiple calls to lbuf_print.
4696	[596a427ff873] <1.7>
4697
4698	* configure, configure.in, sudo.man.pl, sudoers.man.pl:
4699	Use numeric registers to handle conditionals instead of trying to do
4700	it all with text processing.
4701	[31570c372e0e] <1.7>
4702
4703	* sudoers.pod:
4704	Document per-command SELinux settings
4705	[bbce5acad1be] <1.7>
4706
4707	* sudo.pod:
4708	timestamp -> time stamp
4709	[d7335ce6286f] <1.7>
4710
4711	* tsgetgrpw.c:
4712	Set close on exec flag in private versions of setpwent() and
4713	setgrent().
4714	[954814bdbd56] <1.7>
4715
4716	* logging.c:
4717	Make send_mail() take a printf-style argument list
4718	[0783ad585062] <1.7>
4719
4720	* Makefile.binary.in, Makefile.in, aclocal.m4, acsite.m4,
4721	config.guess, config.h.in, config.sub, configure, configure.in,
4722	ltmain.sh, m4/libtool.m4, m4/ltoptions.m4, m4/ltsugar.m4,
4723	m4/ltversion.m4, m4/lt~obsolete.m4:
4724	Update to autoconf 2.65 and libtool 2.2.6b
4725	[3544dd2f1a94] <1.7>
4726
4727	* boottime.c:
4728	Don't use TRUE/FALSE which may not be defined.
4729	[8649bf22b3b2] <1.7>
4730
4731	* sudo.cat, sudo.man.in, sudo.pod:
4732	Document new tty_ticket behavior
4733	[0663e0390338] <1.7>
4734
4735	* find_path.c, sudo.c, sudo.h, visudo.c:
4736	Make find_path() a little more generic by not checking def_foo
4737	variables inside it. Instead, pass in ignore_dot as a function
4738	argument.
4739	[16c3f27cd9b9] <1.7>
4740
4741	* check.c:
4742	Store info from stat(2)ing the tty in the tty ticket when tty
4743	tickets are in use. If the tty lives on a devpts (Linux) or devices
4744	(Solaris) filesystem, stash the ctime in the tty ticket file, as it
4745	is not updated when the tty is written to. This helps us determine
4746	when a tty has been reused without the user authenticating again
4747	with sudo.
4748	[f9aec9ab9054] <1.7>
4749
4750	* boottime.c, check.c, sudo.h:
4751	get_boottime() now fills in a timeval struct
4752	[dbd2003659c0] <1.7>
4753
47542010-06-02  Todd C. Miller  <Todd.Miller@courtesan.com>
4755
4756	* check.c, compat.h, config.h.in, configure, configure.in, fileops.c,
4757	gettime.c, sudo.h, sudo_edit.c, visudo.c:
4758	Use timeval directly instead of converting to timespec when dealing
4759	with file times and time of day.
4760	[c85bf3e41839] <1.7>
4761
4762	* auth/pam.c:
4763	Fix OpenPAM detection for newer versions.
4764	[67f29a0703d0] <1.7>
4765
4766	* vasgroups.c:
4767	Sync with Quest sudo git repo
4768	[2680ad9762c2] <1.7>
4769
4770	* aclocal.m4, configure, configure.in:
4771	HP-UX ld uses +b instead or -R or -rpath Fix typo in libvas check
4772	libvas may need libdl for dlopen() Add missing template for
4773	ENV_DEBUG Adapted from Quest sudo
4774	[6c886eb9070a] <1.7>
4775
4776	* README.LDAP:
4777	Fix typos; from Quest Sudo
4778	[cf258fc69f1a] <1.7>
4779
4780	* Makefile.in, configure.in:
4781	Use value of SHELL from configure in Makefile
4782	[08aaf12221d6] <1.7>
4783
47842010-05-28  Todd C. Miller  <Todd.Miller@courtesan.com>
4785
4786	* env.c:
4787	Handle duplicate variables in the environment. For unsetenv(), keep
4788	looking even after remove the first instance. For sudo_putenv(),
4789	check for and remove dupes after we replace an existing value.
4790	[086c6397d8cd] <1.7>
4791
47922010-04-29  Todd C. Miller  <Todd.Miller@courtesan.com>
4793
4794	* visudo.c:
4795	Fix a crash when checking a sudoers file that has aliases that
4796	reference themselves. Based on a diff from David Wood.
4797	[5efc702a3b35] <1.7>
4798
47992010-04-15  Todd C. Miller  <Todd.Miller@courtesan.com>
4800
4801	* alias.c:
4802	Fix use after free in error message when a duplicate alias exists.
4803	[9eaac49bd22b] <1.7>
4804
48052010-04-14  Todd C. Miller  <Todd.Miller@courtesan.com>
4806
4807	* visudo.c:
4808	Set errorfile to the sudoers path if we set parse_error manually.
4809	This prevents a NULL dereference in printf() when checking a sudoers
4810	file in strict mode when alias errors are present.
4811	[b4eed2f0615d] <1.7>
4812
48132010-04-12  Todd C. Miller  <Todd.Miller@courtesan.com>
4814
4815	* TODO, sudoers.cat, sudoers.man.in, sudoers.pod:
4816	Fix typo
4817	[57198cae9cf5] <1.7>
4818
48192010-04-09  Todd C. Miller  <Todd.Miller@courtesan.com>
4820
4821	* find_path.c:
4822	Qualify the command even if it is in the current working directory,
4823	e.g. "./foo" instead of just returning "foo". This removes an
4824	ambiguity between real commands and possible pseudo-commands in
4825	command matching.
4826	[fb4d571495fa] <1.7>
4827
48282010-04-07  Todd C. Miller  <Todd.Miller@courtesan.com>
4829
4830	* sudoers.cat, sudoers.man.in, sudoers.pod:
4831	Add a note about the security implications of the fast_glob option.
4832	[84f8097553d9] <1.7>
4833
4834	* memrchr.c:
4835	Remove duplicate includes
4836	[3e8d90f4c30f] <1.7>
4837
48382010-03-22  Todd C. Miller  <Todd.Miller@courtesan.com>
4839
4840	* configure, configure.in:
4841	Fix installation of sudoers.ldap in "make install" when --with-ldap
4842	was specified without a directory. From Prof. Dr. Andreas Mueller
4843	[5177a284b9ff] <1.7>
4844
48452010-03-09  Todd C. Miller  <Todd.Miller@courtesan.com>
4846
4847	* match.c:
4848	When doing a glob match, short circuit if gl.gl_pathc is 0. From
4849	Mark Kettenis.
4850	[549f8f7c2463] <1.7>
4851
48522010-03-08  Todd C. Miller  <Todd.Miller@courtesan.com>
4853
4854	* script.c:
4855	Use parent process group id instead of parent process id when
4856	checking foreground status and suspending parent. Fixes an issue
4857	when running commands under /usr/bin/time and others.
4858	[eac86126e335] <1.7>
4859
4860	* env.c:
4861	In setenv(), if the var is empty, return 1 and set errno to EINVAL
4862	instead of returning EINVAL directly.
4863	[d202091ec15e] <1.7>
4864
48652010-02-22  Todd C. Miller  <Todd.Miller@courtesan.com>
4866
4867	* match.c:
4868	Check for pseudo-command by looking at the first character of the
4869	command in sudoers instead of checking the user-supplied command for
4870	a slash.
4871	[88f3181692fe] <1.7>
4872
48732010-02-09  Todd C. Miller  <Todd.Miller@courtesan.com>
4874
4875	* toke.l:
4876	Avoid a duplicate fclose() of the sudoers file.
4877	[164d39108dde] <1.7>
4878
4879	* toke.l:
4880	Fix size arg when realloc()ing include stack. From Daniel Kopecek
4881	[8900bccef219] <1.7>
4882
48832010-02-06  Todd C. Miller  <Todd.Miller@courtesan.com>
4884
4885	* aix.c, config.h.in, configure, configure.in:
4886	Use setrlimit64(), if available, instead of setrlimit() when setting
4887	AIX resource limits since rlim_t is 32bits.
4888	[2cbb14d98fc1] <1.7>
4889
4890	* logging.c:
4891	Fix use after free when sending error messages. From Timo Juhani
4892	Lindfors
4893	[caf183fd9d94] <1.7>
4894
48952010-01-18  Todd C. Miller  <Todd.Miller@courtesan.com>
4896
4897	* ChangeLog, Makefile.in:
4898	Generate the ChangeLog as part of "make dist" instead of having it
4899	in the repo.
4900	[836c31615859] <1.7>
4901
49022010-01-17  Todd C. Miller  <Todd.Miller@courtesan.com>
4903
4904	* Makefile.in:
4905	Generate correct ChangeLog for 1.7 branch.
4906	[586dd90b8878] <1.7>
4907
49082010-01-17  Todd C. Miller  <Todd.Miller@courtesan.com>
4909
4910	* Makefile.binary.in, Makefile.in, aix.c, alias.c, alloc.c, alloc.h,
4911	auth/afs.c, auth/aix_auth.c, auth/bsdauth.c, auth/dce.c,
4912	auth/fwtk.c, auth/kerb4.c, auth/kerb5.c, auth/pam.c, auth/passwd.c,
4913	auth/rfc1938.c, auth/secureware.c, auth/securid.c, auth/securid5.c,
4914	auth/sia.c, auth/sudo_auth.c, auth/sudo_auth.h, check.c,
4915	closefrom.c, compat.h, configure.in, defaults.c, defaults.h,
4916	emul/charclass.h, emul/timespec.h, env.c, error.c, error.h,
4917	fileops.c, find_path.c, getcwd.c, getprogname.c, getspwuid.c,
4918	gettime.c, goodpath.c, gram.c, gram.y, ins_2001.h, ins_classic.h,
4919	ins_csops.h, ins_goons.h, insults.h, interfaces.c, interfaces.h,
4920	isblank.c, lbuf.c, lbuf.h, ldap.c, list.c, list.h, logging.c,
4921	logging.h, match.c, memrchr.c, missing.h, mkinstalldirs, mkstemp.c,
4922	mon_systrace.c, nanosleep.c, parse.c, parse.h, pathnames.h.in,
4923	pty.c, pwutil.c, redblack.c, redblack.h, sample.pam, sample.sudoers,
4924	sample.syslog.conf, script.c, selinux.c, sesh.c, set_perms.c,
4925	sigaction.c, snprintf.c, strcasecmp.c, strerror.c, strlcat.c,
4926	strlcpy.c, strsignal.c, sudo.c, sudo.h, sudo.man.in, sudo.pod,
4927	sudo_edit.c, sudo_noexec.c, sudo_nss.c, sudo_nss.h, sudo_usage.h.in,
4928	sudoers.ldap.man.in, sudoers.ldap.pod, sudoers.man.in, sudoers.pod,
4929	sudoers2ldif, sudoreplay.c, sudoreplay.man.in, sudoreplay.pod,
4930	term.c, testsudoers.c, tgetpass.c, timestr.c, toke.c, toke.l,
4931	utimes.c, visudo.c, visudo.man.in, visudo.pod, zero_bytes.c:
4932	Remove CVS $Sudo$ tags.
4933	[de683a8b31f5]
4934
49352009-12-26  Todd C. Miller  <Todd.Miller@courtesan.com>
4936
4937	* sudo_usage.h.in:
4938	make this match sudoers SYNOPSIS
4939	[c74ba66944c2]
4940
4941	* lbuf.c, parse.c:
4942	Print a newline between Runas and Command-specific defaults in sudo
4943	-l.
4944	[b5bdfcc9ce4b]
4945
4946	* term.c:
4947	Use SET and CLR macros in term_raw
4948	[50ca42609d6c]
4949
4950	* sudoreplay.c:
4951	Set stdin to non-blocking mode early instead of in check_input. Use
4952	term_raw instead of term_cbreak since the data we get has already
4953	been expanded via OPOST.
4954	[51c47e803d62]
4955
49562009-12-23  Todd C. Miller  <Todd.Miller@courtesan.com>
4957
4958	* script.c, term.c:
4959	Enable/disable all postprocessing instead of just nl->crnl
4960	processing since things like tab expansion matter too. However, if
4961	stdout is a tty leave postprocessing on in the pty since we run into
4962	problems doing it only on the real stdout with .e.g nvi.
4963	[62666e309673]
4964
49652009-12-19  Todd C. Miller  <Todd.Miller@courtesan.com>
4966
4967	* check.c:
4968	If tty_tickets is enabled and there is no tty, prompt for a
4969	password. Do not lecture user for "sudo -k command" if user has a
4970	timestamp.
4971	[5880200c5f6b]
4972
4973	* INSTALL:
4974	Document missing options: --with-efence and --with-bsm-audit
4975	[d83afcdf9ff3]
4976
4977	* sudo.cat, sudo.man.in, sudo.pod, sudoers.cat, sudoers.ldap.cat,
4978	sudoers.ldap.man.in, sudoers.ldap.pod, sudoers.man.in, sudoers.pod,
4979	sudoreplay.cat, sudoreplay.man.in, sudoreplay.pod, visudo.cat,
4980	visudo.man.in, visudo.pod:
4981	username -> user name groupname -> group name hostname -> host name
4982	[10c85646f45d]
4983
4984	* INSTALL, README.LDAP, sudoers.pod:
4985	filename -> file name like the rest of the docs
4986	[1ef8ab5a9018]
4987
49882009-12-17  Todd C. Miller  <Todd.Miller@courtesan.com>
4989
4990	* parse.c:
4991	Fix printing of entries with multiple host entries on a single line.
4992	[226ceaf91d8d]
4993
49942009-12-14  Todd C. Miller  <Todd.Miller@courtesan.com>
4995
4996	* sudoers.pod:
4997	Mention that targetpw affects the timestamp file name.
4998	[a26e22e4f72e]
4999
5000	* def_data.c, def_data.h, def_data.in, defaults.c, script.c,
5001	sudoers.pod:
5002	Add compress_transcript option.
5003	[6e94f8cb9dfb]
5004
50052009-12-13  Todd C. Miller  <Todd.Miller@courtesan.com>
5006
5007	* configure, configure.in:
5008	bump to 1.7.3b2
5009	[906d7e347d15]
5010
5011	* pwutil.c, set_perms.c, sudo.c, sudo_nss.c:
5012	Better split of membership vs. traditional group check in
5013	user_in_group(). Allow user_ngroups to be < 0 if getgroups() fails.
5014	[6ebc55d4716b]
5015
50162009-12-12  Todd C. Miller  <Todd.Miller@courtesan.com>
5017
5018	* pwutil.c:
5019	Fix pasto and add default return value.
5020	[7973b5e4599c]
5021
5022	* check.c, match.c, pwutil.c, sudo.h:
5023	refactor group member checking into user_in_group()
5024	[48ca8c2eddf8]
5025
5026	* check.c, config.h.in, configure, configure.in, match.c, sudo.c,
5027	sudo.h:
5028	Add support for mbr_check_membership() as present in darwin.
5029	[5501aed02b9f]
5030
50312009-12-10  Todd C. Miller  <Todd.Miller@courtesan.com>
5032
5033	* match.c:
5034	Rename label to be accurate
5035	[3af17dd960f7]
5036
5037	* Makefile.in, boottime.c, check.c, config.h.in, configure,
5038	configure.in, sudo.h:
5039	Treat timestamp files from before we booted as old. Idea from and
5040	Apple patch.
5041	[5c96e484c05a]
5042
50432009-12-09  Todd C. Miller  <Todd.Miller@courtesan.com>
5044
5045	* sudo.c, sudo.pod, sudo_usage.h.in:
5046	Allow the -u flag to be used in conjunction with the -v flag as per
5047	older versions of sudo.
5048	[591e9fc13c1a]
5049
5050	* logging.c:
5051	fix typo in last commit
5052	[4fd0c692dcf0]
5053
50542009-12-08  Todd C. Miller  <Todd.Miller@courtesan.com>
5055
5056	* logging.c:
5057	Convert fmt_first and fmt_confd into macros.
5058	[32e870158b29]
5059
5060	* sudoers.pod:
5061	timeouts can be floats now
5062	[89de639a9679]
5063
5064	* WHATSNEW, def_data.c, def_data.h, def_data.in, defaults.c,
5065	defaults.h, mkdefaults:
5066	Add support for floating point timeout values (e.g. 2.5 minutes).
5067	[210ffa291733]
5068
50692009-12-07  Todd C. Miller  <Todd.Miller@courtesan.com>
5070
5071	* sudo.pod:
5072	The -L flag will be removed in sudo 1.7.4
5073	[ffd026084333]
5074
50752009-12-06  Todd C. Miller  <Todd.Miller@courtesan.com>
5076
5077	* sudoreplay.c:
5078	Fix a bug due to order of operators.
5079	[938d34464283]
5080
50812009-11-23  Todd C. Miller  <Todd.Miller@courtesan.com>
5082
5083	* match.c:
5084	cmnd_matches() already deals with negation so _cmndlist_matches()
5085	does not need to do so itself. Fixes a bug with negated entries in
5086	a Cmnd_List.
5087	[71c845f6ce73]
5088
50892009-11-22  Todd C. Miller  <Todd.Miller@courtesan.com>
5090
5091	* sudo.c:
5092	Don't exit() from open_sudoers, just return NULL for all errors.
5093	[8cfa832f972a]
5094
5095	* script.c:
5096	Can't rely on the shell sending us SIGCONT when transitioning from
5097	backgroup to foreground process.
5098	[3c6c5b6cb4b3]
5099
5100	* toke.c, toke.l:
5101	Add missing extern def for parse_error
5102	[45b7b59d03b7]
5103
51042009-11-21  Todd C. Miller  <Todd.Miller@courtesan.com>
5105
5106	* toke.c, toke.l:
5107	Avoid a parse error when #includedir doesn't find any files. Closes
5108	bug #375
5109	[1ce1b850e9e6]
5110
5111	* Makefile.in:
5112	Include sudo.man.pl and sudoers.man.pl in the distribution tarball.
5113	[6a22e32da108]
5114
51152009-11-15  Todd C. Miller  <Todd.Miller@courtesan.com>
5116
5117	* script.c:
5118	Start command out in foreground mode if stdout is a tty. Works
5119	around issues with some curses-based programs that don't handle
5120	tcsetattr getting interrupted by a signal. Still allows us to avoid
5121	hogging the tty if the command is part of a pipeline.
5122	[1c32f2b94769]
5123
5124	* script.c, sudo.c, sudo.h, sudoreplay.c, term.c, tgetpass.c:
5125	Use a socketpair to pass signals from parent to child. Child will
5126	now pass command status change info back via the socketpair. This
5127	allows the parent to distinguish between signals it has been sent
5128	directly and signals the command has received. It also means the
5129	parent can once again print the signal notifications to the tty so
5130	all writes to the pty master occur in the parent. The command is
5131	now always started in background mode with tty signals handled by
5132	the parent.
5133	[c6790b82986d]
5134
51352009-11-04  Todd C. Miller  <Todd.Miller@courtesan.com>
5136
5137	* configure, configure.in:
5138	Fix a few typos in the descriptions; from Jeff Makey Only do the
5139	check for krb5_get_init_creds_opt_free() taking two arguments if we
5140	find krb5_get_init_creds_opt_alloc(). Otherwise we will get a false
5141	positive when using our own krb5_get_init_creds_opt_free which takes
5142	only a single argument.
5143	[845a9ff6f93d]
5144
51452009-11-03  Todd C. Miller  <Todd.Miller@courtesan.com>
5146
5147	* configure, configure.in:
5148	Remove a spurious comma in the kerb5 bits.
5149	[3433eab083db]
5150
5151	* auth/kerb5.c:
5152	Call krb5_get_init_creds_opt_init() in our emulated
5153	krb5_get_init_creds_opt_alloc() for MIT kerberos.
5154	[7ffb40bf43e9]
5155
51562009-11-01  Todd C. Miller  <Todd.Miller@courtesan.com>
5157
5158	* config.h.in:
5159	Add HAVE_ZLIB
5160	[9297bde61ecc]
5161
5162	* script.c:
5163	Need to ignore SIGTT{IN,OU} in child when running the command in the
5164	background. Also some minor cleanup.
5165	[dc208d982319]
5166
51672009-10-31  Todd C. Miller  <Todd.Miller@courtesan.com>
5168
5169	* script.c:
5170	Instead of calling sigsuspend when waiting for SIGUSR[12] from
5171	parent, install the signal handlers w/o SA_RESTART and let them
5172	interrupt waitpid().
5173	[759c7d18203b]
5174
5175	* script.c:
5176	Pass along SIGHUP and SIGTERM from parent to child.
5177	[035b0e254568]
5178
5179	* script.c:
5180	Close unused bits of script_fds in processes that don't need them.
5181	Restore default SIGCONT handler in child.
5182	[e037378ab0c1]
5183
5184	* script.c:
5185	Update foreground/background status in SIGCONT handler in parent
5186	process.
5187	[3f7f91333264]
5188
51892009-10-25  Todd C. Miller  <Todd.Miller@courtesan.com>
5190
5191	* script.c:
5192	Defer setting terminal into raw mode until just before we fork() and
5193	only do it if sudo is the foreground process. If we get SIGTT{IN,OU}
5194	and sudo is already in the foreground be sure to set raw mode before
5195	continuing the child.
5196	[1102ef40832c]
5197
51982009-10-24  Todd C. Miller  <Todd.Miller@courtesan.com>
5199
5200	* script.c:
5201	Fix handling of SIGTTOU/SIGTTIN in program being run. We now only
5202	give the command the controlling tty if the main sudo process is the
5203	foreground process.
5204	[cf3a91cb5682]
5205
5206	* script.c:
5207	Don't bother with sudo_waitpid() here for now.
5208	[9086de480c2d]
5209
5210	* script.c:
5211	fix non-zlib case
5212	[a258bff0f9a6]
5213
52142009-10-23  Todd C. Miller  <Todd.Miller@courtesan.com>
5215
5216	* script.c:
5217	Remove non-wroking code that crept into rev 1.55
5218	[2802dd55cff5]
5219
52202009-10-22  Todd C. Miller  <Todd.Miller@courtesan.com>
5221
5222	* INSTALL, configure, configure.in, script.c, sudoreplay.c:
5223	First pass at zlib support for transcript data files
5224	[5d10260807da]
5225
5226	* Makefile.in:
5227	remove vestiges of ZLDFLAGS
5228	[1fa0caf1c0fb]
5229
5230	* script.c:
5231	Add missing variable declaration for when TIOCSCTTY is not defined.
5232	Need to include sys/termio.h for TIOCSCTTY on some systems.
5233	[ee7f41ac2709]
5234
5235	* script.c:
5236	when resuming command, send SIGCONT to its pgrp not just pid
5237	[5cd63c1d565b]
5238
5239	* selinux.c:
5240	remove unused variable
5241	[df67df4be228]
5242
5243	* script.c:
5244	include selinux.h for is_selinux_enabled() proto
5245	[85ebaa880cc1]
5246
5247	* script.c:
5248	Don't use log_error() in the child process.
5249	[def65fe2a433]
5250
5251	* script.c:
5252	Do I/O in parent instead of child since the parent can have both
5253	/dev/tty as well as the pty fds open. The child just sets things up
5254	and waits for its grandchild and writes the signal description to
5255	the pty master if the command was killed by a signal.
5256	[95e473208982]
5257
52582009-10-18  Todd C. Miller  <Todd.Miller@courtesan.com>
5259
5260	* missing.h, sudo.h:
5261	Move two struct forward declarations from sudo.h to missing.h
5262	[90ad28294a8c]
5263
5264	* script.c:
5265	Make comment at the top of script_exec() match reality.
5266	[c5042d27dbe0]
5267
5268	* sudo.c:
5269	if neither stdin nor stdout is a tty, check stderr
5270	[c532ff20c8d8]
5271
5272	* Makefile.in:
5273	Add back dependecy of gram.h on gram.y
5274	[c58382b7fcca]
5275
5276	* script.c:
5277	Make transcript mode work as long as we can figure out our tty, even
5278	if it is not stdin. We'd like to use /dev/tty but that won't be
5279	valid after the setsid().
5280	[7b8bba8d99e7]
5281
52822009-10-17  Todd C. Miller  <Todd.Miller@courtesan.com>
5283
5284	* config.h.in, configure, configure.in, pty.c:
5285	Add support for IRIX-style dynamic ptys
5286	[bedc9bac44c1]
5287
5288	* Makefile.in, alloc.h, getline.c, sudo.h, sudoreplay.c:
5289	Move alloc.c protos into alloc.h
5290	[b6a90649617d]
5291
5292	* missing.h:
5293	Move prototypes for missing libc functions to missing.h
5294	[dda9ae1ccaf8]
5295
5296	* Makefile.in, sudo.h, sudoreplay.c:
5297	Move prototypes for missing libc functions to missing.h
5298	[7483166b577b]
5299
53002009-10-16  Todd C. Miller  <Todd.Miller@courtesan.com>
5301
5302	* config.h.in, configure, configure.in:
5303	Disable transcript support if no tcsetpgrp until we support older
5304	BSD-style job control.
5305	[27ac1d8163df]
5306
5307	* configure, configure.in, pty.c, script.c:
5308	Break out pty code into pty.c
5309	[e85509b25d41]
5310
5311	* compat.h, config.h.in, configure, configure.in:
5312	add killpg macro if no killpg function
5313	[3a125f4a51f0]
5314
5315	* config.h.in, configure, configure.in, script.c:
5316	Push ptem and ldterm for STERAMS-based systems when allocating a
5317	pty.
5318	[36bb39b30ff2]
5319
53202009-10-15  Todd C. Miller  <Todd.Miller@courtesan.com>
5321
5322	* script.c:
5323	Sprinkle some more O_NOCTTY and call grantpt() before unlockpt()
5324	[d94bd5c9bf4e]
5325
5326	* script.c:
5327	Call tcgetpgrp() in the parent, not the child and have the child
5328	spin until it is granted. Fixes a race on darwin.
5329	[6e8d435339ce]
5330
5331	* script.c:
5332	Only use TIOCNOTTY in the non-setsid case. If no TIOCSCTTY, just
5333	reopen slave.
5334	[0bdc63c019ca]
5335
53362009-10-14  Todd C. Miller  <Todd.Miller@courtesan.com>
5337
5338	* script.c:
5339	In script mode, if the command is killed by a signal, print the
5340	signal description as well as a core dump notification like the
5341	shell does.
5342	[9df61738df07]
5343
5344	* Makefile.in, config.h.in, configure, configure.in, strsignal.c,
5345	sudo.h:
5346	Add check for strsignal() and a simple implementation if it is not
5347	there but sys_siglist is
5348	[61421a188ef4]
5349
5350	* script.c:
5351	Add missing WUNTRACED and store the signal that stopped the
5352	grandchild in suspended, not signo.
5353	[df65042b200e]
5354
5355	* script.c:
5356	g/c unused code
5357	[40d8cb5c9203]
5358
5359	* script.c:
5360	Associate the grandchild's pgrp with the tty instead of the child's
5361	and just get suspend notifications via SIGCHLD instead of directly.
5362	This fixes a hang with programs that try to set terminal attributes
5363	and is more consistent with how the shell handles things.
5364	[6865abff7e94]
5365
53662009-10-12  Todd C. Miller  <Todd.Miller@courtesan.com>
5367
5368	* script.c:
5369	Move setpgid() of child into the parent side of the fork() where it
5370	belongs.
5371	[3defa782777c]
5372
53732009-10-11  Todd C. Miller  <Todd.Miller@courtesan.com>
5374
5375	* script.c:
5376	fix typo
5377	[b6a612b3622c]
5378
5379	* script.c:
5380	Run command in its own pgrp (like the shell does) for easier
5381	signalling. No need to relay SIGINT or SIGQUIT to parent, just send
5382	to grandchild. Don't want grandchild stopped events in the child
5383	(only termination). Flush output after suspending grandchild before
5384	signalling parent.
5385	[db556bf2176f]
5386
5387	* script.c:
5388	Back out revision 1.34; the problem lies elsewhere.
5389	[85f590a03275]
5390
5391	* script.c:
5392	Don't set stdout to blocking mode when flushing remaining output.
5393	It can cause us to hang when trying to exit. Need to investigate
5394	why.
5395	[6f803a3e33ca]
5396
5397	* script.c:
5398	Handle SIGTTOU and remove some debugging.
5399	[52d17279053e]
5400
5401	* term.c:
5402	Back out revision 1.10 as the signal that interrupts us may be
5403	SIGTTOU or SIGTTIN which the caller must handle.
5404	[7e2fa9107975]
5405
5406	* script.c:
5407	Apparently we need to send SIGSTOP to the command as well as ourself
5408	when we get SIGTSTP, the kernel doesn't automatically stop the
5409	process for us.
5410	[1a936e9309c4]
5411
5412	* script.c:
5413	Use an extra process to act as the glue bewteen the sessions
5414	associated with the user's controlling tty (what the shell uses) and
5415	the tty that sudo is using to do its logging. Basically, this means
5416	that if we get, e.g. SIGTSTP from the process sudo is running, we
5417	relay the signal to the parent so it's shell can do the job control.
5418	[6dd296988060]
5419
5420	* term.c:
5421	Handle getting/setting terminal attributes when the fd is in non-
5422	blocking mode.
5423	[ae5ae535ea7b]
5424
54252009-10-07  Todd C. Miller  <Todd.Miller@courtesan.com>
5426
5427	* sudoreplay.c, sudoreplay.cat, sudoreplay.man.in, sudoreplay.pod:
5428	Add support for pausing and changing the speed in interactive mode.
5429	[72a2063780a7]
5430
5431	* script.c:
5432	Already define O_NOCTTY in compat.h, don't need it here
5433	[b5d80ed3e5ce]
5434
54352009-10-06  Todd C. Miller  <Todd.Miller@courtesan.com>
5436
5437	* sudoreplay.c:
5438	Add missing protos
5439	[c4cb4e7f4d8a]
5440
54412009-09-30  Todd C. Miller  <Todd.Miller@courtesan.com>
5442
5443	* sudo_edit.c:
5444	Always update the stashed mtime of the temp file instead of using
5445	what we have for the original because the time resolution of the
5446	filesystem the temporary is on may not match that of the filesystem
5447	that holds the original. Should fix bz #371 found by Philippe Levan.
5448	[c86ca4bec60c]
5449
5450	* sudoreplay.c:
5451	Use cbreak mode instead of raw mode and add signal handlers to
5452	restore the tty on interrupt.
5453	[84dd283da41c]
5454
5455	* script.c, sudo.h, term.c:
5456	Retain NL to NLCR conversion on the real tty and skip it on the pty
5457	we allocate. That way, if stdout is not a pty there are no extra
5458	carriage returns.
5459	[32e4f570414e]
5460
5461	* script.c:
5462	Fix log_output(); just pass in a string and a length.
5463	[ca980cc0a3fb]
5464
54652009-09-28  Todd C. Miller  <Todd.Miller@courtesan.com>
5466
5467	* script.c:
5468	do not use errno when complaining out lack of a tty
5469	[8f9b8c55ab8e]
5470
54712009-09-27  Todd C. Miller  <Todd.Miller@courtesan.com>
5472
5473	* Makefile.in, sudoreplay.c, term.c:
5474	Instead of messing with line endings, just set terminal to raw mode
5475	in sudoreplay.
5476	[90943fa87acb]
5477
5478	* term.c:
5479	When copying the terminal attributes to the pty, be sure not to set
5480	ONLCR. This prevents extra carriage returns from ending up in the
5481	script output file.
5482	[e6b5475ac2aa]
5483
5484	* script.c:
5485	Convert a do {} while into a while
5486	[e461310d2c77]
5487
5488	* Makefile.in:
5489	Use if then instead of test && when installing binaries that may not
5490	exist.
5491	[ad4f9490d971]
5492
5493	* script.c:
5494	Add O_NOCTTY when opening a tty device. Explicitly disconnect from
5495	old tty before associatng with new one.
5496	[0e0ca634b80c]
5497
5498	* script.c, selinux.c, sudo.c, sudo.h:
5499	First cut at refactoring some of the selinux code so it can be used
5500	in conjunction with sudo's transcript support.
5501	[779b0d8f9d29]
5502
55032009-09-26  Todd C. Miller  <Todd.Miller@courtesan.com>
5504
5505	* aclocal.m4, configure, configure.in:
5506	Fix default case of transcript_enabled being unset.
5507	[f8aa96186e6b]
5508
5509	* script.c, sudoreplay.c:
5510	Use _PATH_SUDO_TRANSCRIPT instead of _PATH_SUDO_SESSDIR
5511	[2844a7a851fa]
5512
5513	* INSTALL, Makefile.in, aclocal.m4, configure, configure.in, sudo.c:
5514	Hook up --disable-transcript and --enable-transcript=DIR
5515	[b3fa7e6b2480]
5516
55172009-09-25  Todd C. Miller  <Todd.Miller@courtesan.com>
5518
5519	* aclocal.m4, configure, configure.in, pathnames.h.in:
5520	_PATH_SUDO_SESSDIR -> _PATH_SUDO_TRANSCRIPT Add --enable-
5521	transcript=DIR option to specify the directory
5522	[b0bb76d43cda]
5523
5524	* sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in:
5525	regen
5526	[c7a8a0a9027c]
5527
5528	* configure, configure.in, sudoers.man.pl, sudoers.pod:
5529	Substitute in default value for secure_path
5530	[c8f9ac6dbf93]
5531
5532	* sudo.pod:
5533	Mention that the password must be followed by a newline with the -S
5534	option.
5535	[2fc589a3ee7e]
5536
55372009-09-20  Todd C. Miller  <Todd.Miller@courtesan.com>
5538
5539	* script.c:
5540	Go back to dropping out of the select() loop when the process dies;
5541	Linux ptys apparently don't behave the same as BSD in regards to
5542	select(). No need to flush remaining output to the transcript, only
5543	to stdout. Add back code to check the master pty for additional data
5544	when we exit the main select loop.
5545	[abed9a9cbc6b]
5546
55472009-09-19  Todd C. Miller  <Todd.Miller@courtesan.com>
5548
5549	* Makefile.in:
5550	Add getline.o to COMMON_OBJS
5551	[04ef7643cbc2]
5552
5553	* Makefile.in:
5554	sudoreplay depends on libsudo.a
5555	[142bd0472631]
5556
5557	* Makefile.in:
5558	More pwutil.o into COMMON_OBJS
5559	[4a016b933629]
5560
5561	* pwutil.c, testsudoers.c, tsgetgrpw.c:
5562	Remove my_* redirection in pwutil.c for testsudoers and just use the
5563	normal libc get{pw,gr}* names.
5564	[9b76d637d86b]
5565
5566	* sudoreplay.cat, sudoreplay.man.in, sudoreplay.pod:
5567	More time and date examples
5568	[c6ee0175ec56]
5569
5570	* Makefile.in, configure, configure.in, nanosleep.c, sudoreplay.c:
5571	Move nanosleep() emulation into its own file Check librt.a for
5572	nanosleep if we don't find it in libc
5573	[4da0cc26aad7]
5574
5575	* Makefile.in, configure, configure.in:
5576	Build libsudo with the common bits and link things against that.
5577	[2b53bc0b081a]
5578
5579	* script.c:
5580	Fix final flush.
5581	[6da287d833da]
5582
5583	* script.c:
5584	Keep reading from the pty master -> log file until read returns <=
5585	0. Do our best to write everything to stdout when flushing any
5586	remaining bits.
5587	[2a45d4ae280c]
5588
5589	* sudoreplay.c:
5590	Use unbuffered I/O when writing to stdout and make sure we write the
5591	entire buffer.
5592	[f39ef9844a47]
5593
55942009-09-18  Todd C. Miller  <Todd.Miller@courtesan.com>
5595
5596	* sudoreplay.c:
5597	Only use max_wait if it is non-zero
5598	[f6c10604d2e8]
5599
5600	* getdate.c, getdate.y, getline.c:
5601	Need compat.h here
5602	[5d6722e225a0]
5603
5604	* sudoreplay.c:
5605	Fix nanosleep emulation
5606	[34e5e5d72a76]
5607
5608	* script.c:
5609	Fix comment after #endif
5610	[bd1347718b25]
5611
5612	* sudoreplay.c:
5613	Add protos for missing libc bits
5614	[644f496427a2]
5615
5616	* configure, configure.in:
5617	add missing line continuation char
5618	[db13c0d402cd]
5619
5620	* config.h.in, configure, configure.in, getline.c:
5621	Implement getline() in terms of fgetln() if we have it.
5622	[3ab786eaadc5]
5623
5624	* sudoreplay.c:
5625	Print year when formatting log line
5626	[90be669e3443]
5627
5628	* sudoreplay.pod:
5629	Document cwd, attempt to document time/date formats.
5630	[6290fb9b65c6]
5631
5632	* sudoreplay.c:
5633	Fix getline return value check.
5634	[d696d6657261]
5635
5636	* Makefile.in, config.h.in, configure, configure.in, getline.c,
5637	sudoreplay.c:
5638	Use getline() if the system has it, else use provide our own for
5639	sudoreplay.
5640	[afca1d6fbe5e]
5641
5642	* script.c:
5643	Refactor code to update output and timing files.
5644	[361491332b1a]
5645
56462009-09-17  Todd C. Miller  <Todd.Miller@courtesan.com>
5647
5648	* sudoreplay.c:
5649	Make sudo_getln() behave more like glibc getline.
5650	[40c9f2ea29e6]
5651
5652	* script.c:
5653	When flushing remaining output, also update timing file.
5654	[5a9a5a627549]
5655
5656	* sudoreplay.c:
5657	Use get_timestr() and make the -l output look like the regular sudo
5658	log.
5659	[452ba9d436c9]
5660
5661	* logging.c, sudo.h, timestr.c:
5662	Make get_timestr() take a time_t so we can use it properly in
5663	sudoreplay.
5664	[82e67cc53c9c]
5665
5666	* script.c:
5667	Create session dir earlier now that we update the seq number early.
5668	[797fe8d6dc61]
5669
56702009-09-16  Todd C. Miller  <Todd.Miller@courtesan.com>
5671
5672	* sudoreplay.c:
5673	Use fromdate and todate as the keywords instead of from and to; the
5674	short forms will still be accepted.
5675	[d14d9b116df4]
5676
5677	* sudoreplay.c:
5678	Fix reading long liensin sudo_getln()
5679	[58dadd74118c]
5680
5681	* script.c, sudoreplay.c:
5682	Log the cwd in the script log file. Add sudo_getln() to read
5683	arbitrarily long lines.
5684	[faceb802ab8f]
5685
5686	* Makefile.in, logging.c, sudo.h, timestr.c:
5687	Move get_timestr() into its own source file so sudoreplay can use
5688	it.
5689	[99b054bfa20a]
5690
56912009-09-15  Todd C. Miller  <Todd.Miller@courtesan.com>
5692
5693	* sudoreplay.c:
5694	Add to and from perdicates (date ranges); needs documentation
5695	[1d629174dcf4]
5696
56972009-09-14  Todd C. Miller  <Todd.Miller@courtesan.com>
5698
5699	* Makefile.in, getdate.c, getdate.y:
5700	Fix warning and add generated getdate.c
5701	[b877a86b5a03]
5702
5703	* Makefile.in, getdate.y:
5704	Add getdate.y to be used for sudoreplay date parsing.
5705	[b8e26fbb7a40]
5706
57072009-09-13  Todd C. Miller  <Todd.Miller@courtesan.com>
5708
5709	* sudoreplay.c:
5710	Check more than just the first character of a predicate
5711	[4fe53728adb1]
5712
5713	* sudoreplay.cat, sudoreplay.man.in, sudoreplay.pod:
5714	Add examples, sort predicates
5715	[70f8075cbccc]
5716
5717	* Makefile.in, sudoreplay.c, sudoreplay.cat, sudoreplay.man.in,
5718	sudoreplay.pod:
5719	Implement search expressions in sudoreplay similar in concept to
5720	what find or tcpdump uses. TODO: date ranges
5721	[f7ce4fb4cf3a]
5722
57232009-09-07  Todd C. Miller  <Todd.Miller@courtesan.com>
5724
5725	* script.c:
5726	Remove vhangup as it was hanging up the wrong tty. Should really
5727	vhangup in the child after it as set its tty.
5728	[2eed9df73010]
5729
5730	* sudoers.pod:
5731	Fix cut at documenting transcript support.
5732	[e6c533a5568a]
5733
5734	* logging.c:
5735	ID= -> TSID= for transcript ID
5736	[1bf755a35333]
5737
57382009-09-06  Todd C. Miller  <Todd.Miller@courtesan.com>
5739
5740	* sudoers.pod:
5741	Move fast_glob description to where it belongs in sorted order
5742	[5901cfb0d25f]
5743
5744	* def_data.c, def_data.h, def_data.in, gram.c, gram.h, gram.y,
5745	parse.c, parse.h, sudo.c:
5746	Rename script -> transcript
5747	[e06cf823122c]
5748
57492009-09-03  Todd C. Miller  <Todd.Miller@courtesan.com>
5750
5751	* compat.h:
5752	Add timeradd and timersub for those without them
5753	[929f8aa06c2b]
5754
5755	* script.c:
5756	Sanity check sessid before using it.
5757	[aa8ca5211d43]
5758
5759	* sudo.c:
5760	Only set the session id if we are running a command or editing a
5761	file.
5762	[7205d717c098]
5763
5764	* script.c:
5765	Actually. qsort is fine since most versions fal back to a cheaper
5766	sort when the number of elements to sort is small (like in our
5767	case).
5768	[d11c7cd352fe]
5769
5770	* config.h.in, configure, configure.in, script.c:
5771	Check for dup2 and use dup instead if we don't have it.
5772	[98bd89830f8a]
5773
5774	* script.c, sudo.c, sudo.h:
5775	Move the code to dup2 the script fds to low numbered descriptors
5776	into script_duplow() and fix the fd sorting.
5777	[9453fdc5fba6]
5778
5779	* script.c, sudo.c, sudo.h:
5780	Move script_setup() back to immediately before we drop privs and
5781	call the new script_nextid() in its place, which will set
5782	sudo_user.sessid for the logging functions.
5783	[8434d0c8ff08]
5784
57852009-09-01  Todd C. Miller  <Todd.Miller@courtesan.com>
5786
5787	* Makefile.in:
5788	Install sudoreplay
5789	[6acf2cdb4d3f]
5790
5791	* sudoreplay.c:
5792	remove unused variable
5793	[2316360bb992]
5794
57952009-08-30  Todd C. Miller  <Todd.Miller@courtesan.com>
5796
5797	* logging.c, script.c, sudo.c, sudo.h:
5798	Log the session ID, if there is one. Currently logs ID=XXXXXX,
5799	perhaps should be SESSIONID or SESSID.
5800	[53976905b0a6]
5801
5802	* Makefile.in, configure, configure.in, sudoreplay.cat,
5803	sudoreplay.man.in, sudoreplay.pod:
5804	Add sudoreplay docs
5805	[da4f14f0e64c]
5806
5807	* sudoreplay.c:
5808	add -V (version) flag
5809	[b5e743639ee3]
5810
5811	* sudoreplay.c:
5812	Hook up max_wait.
5813	[2ec5697a92ba]
5814
5815	* script.c, sudoreplay.c:
5816	Use base36 number for the ID and store script files with paths like
5817	/var/log/sudo-session/00/00/00{,.tim,.scr}. This gives us 36^6
5818	(2,176,782,336) unique IDs.
5819	[6aab019d07aa]
5820
58212009-08-23  Todd C. Miller  <Todd.Miller@courtesan.com>
5822
5823	* config.h.in, configure.in:
5824	Add check for regcomp
5825	[44c3ebd7ff34]
5826
5827	* sudoreplay.c:
5828	Add support for selecting by pattern and tty when listing.
5829	[66189f840c52]
5830
58312009-08-17  Todd C. Miller  <Todd.Miller@courtesan.com>
5832
5833	* sudoreplay.c:
5834	The beginnings of a list mode.
5835	[8d0150b4a52c]
5836
58372009-08-16  Todd C. Miller  <Todd.Miller@courtesan.com>
5838
5839	* Makefile.in:
5840	fix pasto
5841	[616b4640b8a8]
5842
5843	* Makefile.in, config.h.in, configure.in:
5844	Add scaffolding for building sudoreplay
5845	[a32958505dbe]
5846
5847	* sudoreplay.c:
5848	include error.h first arg to nanotime is const
5849	[fe5a7bb31bc5]
5850
5851	* sudoreplay.c:
5852	Initial cut at sudoreplay; replay a sudo session.
5853	[f149fba372bd]
5854
58552009-08-08  Todd C. Miller  <Todd.Miller@courtesan.com>
5856
5857	* script.c:
5858	Fix wait() usage and use correct wait status.
5859	[f4745ed7ad05]
5860
5861	* sudo.c, sudo.h, tgetpass.c:
5862	Add protos for term_* to sudo.h
5863	[14fe1abd7e7b]
5864
5865	* script.c:
5866	Fix detection of the child process exiting. Since the child is in
5867	its own session we should only ever get SIGCHLD for that process but
5868	better safe than sorry.
5869	[7edfdadd8505]
5870
5871	* config.h.in:
5872	Add UNIX98 pty support.
5873	[82f4b53a0e8f]
5874
5875	* configure, configure.in, script.c:
5876	Add UNIX98 pty support.
5877	[795b8bb0a3a1]
5878
58792009-08-07  Todd C. Miller  <Todd.Miller@courtesan.com>
5880
5881	* term.c:
5882	For raw mode, don't bother clearing BRKINT or PARMRK and clear IUCLC
5883	if it is defined.
5884	[40f8b83baf69]
5885
5886	* auth/pam.c:
5887	Set PAM_RUSER and PAM_RHOST early so they can be used during
5888	authentication. Based on a patch from Jamie Beverly.
5889	[3d567b453a6a]
5890
5891	* match.c:
5892	Close dir before returning if strlcpy() reports overflow. From
5893	Martynas Venckus.
5894	[6a82f96473e5]
5895
5896	* config.h.in, configure, configure.in, script.c:
5897	On Linux, the openpty proto libes in pty.h
5898	[98643a018d1c]
5899
5900	* script.c:
5901	Call vhangup on exit if the system has it Use setpgrp() if no
5902	setsid()
5903	[3a9e13149829]
5904
59052009-08-06  Todd C. Miller  <Todd.Miller@courtesan.com>
5906
5907	* config.h.in, configure, configure.in:
5908	Add checks for revoke and vhangup if we don't have openpty
5909	[fcb04572e994]
5910
5911	* script.c:
5912	Session logging guts that got forgotten in the previous commit.
5913	[c2af08a63ea9]
5914
5915	* Makefile.in, aclocal.m4, compat.h, config.h.in, configure,
5916	configure.in, def_data.c, def_data.h, def_data.in, gram.c, gram.h,
5917	gram.y, parse.c, parse.h, pathnames.h.in, sudo.c, sudo.h, term.c,
5918	tgetpass.c:
5919	First cut at session logging for sudo. Still need to write
5920	get_pty() for Unix 98 and old-style BSD ptys. Also needs
5921	documentation and general cleanup.
5922	[77e3f5e25738]
5923
59242009-08-05  Todd C. Miller  <Todd.Miller@courtesan.com>
5925
5926	* sudo.c, sudo_edit.c:
5927	Fix a bug introduced with def_closefrom. The value of def_closefrom
5928	already includes the +1.
5929	[7291c136300d]
5930
59312009-07-29  Todd C. Miller  <Todd.Miller@courtesan.com>
5932
5933	* Makefile.in:
5934	Generate sudo distributions with pax in ustar mode. No longer need
5935	to use a temp file or have the source dir name match the version.
5936	[9778177a8272]
5937
59382009-07-18  Todd C. Miller  <Todd.Miller@courtesan.com>
5939
5940	* toke.c, toke.l:
5941	Fix expansion of %h in #include names. Fixes bugzilla 363
5942	[6e346879ba24]
5943
59442009-07-12  Todd C. Miller  <Todd.Miller@courtesan.com>
5945
5946	* mkdefaults:
5947	If no arg assume def_data.in
5948	[c1dd28c0e675]
5949
5950	* README, WHATSNEW:
5951	Update for 1.7.2
5952	[f5ad45f69f05] [SUDO_1_7_2]
5953
5954	* ChangeLog:
5955	sync
5956	[6283549396ff]
5957
59582009-06-30  Todd C. Miller  <Todd.Miller@courtesan.com>
5959
5960	* sudoers.cat, sudoers.man.in, sudoers.pod:
5961	Add missing single quotes around a colon in Runas_Spec definition.
5962	From Elias Benali.
5963	[ccc6ee4fca83]
5964
59652009-06-29  Todd C. Miller  <Todd.Miller@courtesan.com>
5966
5967	* sudo.man.in, sudoers.man.in:
5968	regen
5969	[546e75304ebf]
5970
5971	* redblack.c:
5972	In rbrepair, re-color the root or the first non-block node we find
5973	to be black. Re-coloring the root is probably not needed but won't
5974	hurt.
5975	[34d01ebe241b]
5976
5977	* sudo.cat, sudoers.cat:
5978	regen
5979	[bebf5a39f54f]
5980
59812009-06-26  Todd C. Miller  <Todd.Miller@courtesan.com>
5982
5983	* redblack.c:
5984	When repairing the tree, don't touch the root node.
5985	[9841f0d5d789]
5986
59872009-06-25  Todd C. Miller  <Todd.Miller@courtesan.com>
5988
5989	* set_perms.c:
5990	Protect call to setegid in runas_setup with #ifdef HAVE_SETEUID.
5991	Reported by Josef Schmid.
5992	[ed044b1eb879]
5993
59942009-06-23  Todd C. Miller  <Todd.Miller@courtesan.com>
5995
5996	* sudoers.pod:
5997	Document that we accept env_pam-style environment files
5998	[e3b545456352]
5999
6000	* env.c:
6001	Adapt to accept pam_env-style /etc/environment which allows shell-
6002	style lines such as: export EDITOR="/usr/bin/vi"
6003	[752eb75bf007]
6004
6005	* sudoers.pod:
6006	Make it clear that env_delete only works when !env_reset. From Lo??c
6007	Minier
6008	[3bd3f8e351ba]
6009
60102009-06-15  Todd C. Miller  <Todd.Miller@courtesan.com>
6011
6012	* sudo.pod, sudoers.pod:
6013	Add non-unix group bits, adapted from Quest
6014	[8ce427de8dea]
6015
6016	* Makefile.in:
6017	build the .cat page in the current working dir, not the src dir
6018	[00e87a307674]
6019
6020	* env.c:
6021	Return EINVAL in setenv() if var is NULL or the empty string to
6022	match glibc behavior.
6023	[23fd7c247142]
6024
60252009-06-13  Todd C. Miller  <Todd.Miller@courtesan.com>
6026
6027	* configure, configure.in:
6028	Use AS_HELP_STRING for AC_ARG_WITH and AC_ARG_ENABLE
6029	[fedd4a3e2a85]
6030
60312009-06-11  Todd C. Miller  <Todd.Miller@courtesan.com>
6032
6033	* sudo.cat, sudo.man.in, sudoers.cat, sudoers.ldap.cat,
6034	sudoers.ldap.man.in, sudoers.man.in, visudo.cat, visudo.man.in:
6035	regen
6036	[7b9f461a40b3]
6037
60382009-06-09  Todd C. Miller  <Todd.Miller@courtesan.com>
6039
6040	* INSTALL:
6041	Document --with-libvas and --with-libvas-rpath
6042	[a071e6d96c89]
6043
60442009-05-29  Todd C. Miller  <Todd.Miller@courtesan.com>
6045
6046	* ldap.c, sudoers.ldap.pod:
6047	For netscape-derived LDAP SDKs the cert and key paths may be a
6048	directory or a file. However, version 5.0 of the SDK only seems to
6049	support using a directory. If ldapssl_clientauth_init fails and the
6050	cert or key paths look like they could be files, strip off the last
6051	path element and try again.
6052	[ac4e49d83043]
6053
6054	* Makefile.in:
6055	Add non-Unix group .o to COMMON_OBJS and substitute in path to flex.
6056	[4547cc1a335f]
6057
60582009-05-27  Todd C. Miller  <Todd.Miller@courtesan.com>
6059
6060	* configure, configure.in, match.c, sudo.c, vasgroups.c:
6061	Update non-Unix group support from Quest, as reworked by me.
6062	[1abafce29dc6]
6063
6064	* toke.c:
6065	regen
6066	[01bfca9148b7]
6067
6068	* toke.l:
6069	Add support for escaped hex chars in names, e.g. \x20 for space.
6070	[3c7be8e58a39]
6071
60722009-05-25  Todd C. Miller  <Todd.Miller@courtesan.com>
6073
6074	* LICENSE, Makefile.in, aclocal.m4, alias.c, auth/aix_auth.c,
6075	auth/pam.c, auth/sudo_auth.c, auth/sudo_auth.h, check.c, env.c,
6076	fileops.c, glob.c, gram.y, interfaces.c, lbuf.c, ldap.c, logging.c,
6077	logging.h, match.c, parse.c, parse.h, pathnames.h.in, pwutil.c,
6078	set_perms.c, sudo.c, sudo.h, sudo.pod, sudo_nss.c, sudo_nss.h,
6079	sudo_usage.h.in, sudoers.ldap.pod, sudoers.pod, testsudoers.c,
6080	tgetpass.c, toke.l, visudo.c:
6081	Update copyright years.
6082	[e615f676c764]
6083
60842009-05-24  Todd C. Miller  <Todd.Miller@courtesan.com>
6085
6086	* interfaces.c, lbuf.c:
6087	Minor fixes for Minix-3
6088	[898c510d23f9]
6089
60902009-05-22  Todd C. Miller  <Todd.Miller@courtesan.com>
6091
6092	* set_perms.c:
6093	Handle getgroups() returning 0. Also add missing check for
6094	HAVE_GETGROUPS.
6095	[d73b958f9ffd]
6096
60972009-05-19  Todd C. Miller  <Todd.Miller@courtesan.com>
6098
6099	* Makefile.in, config.h.in, configure, configure.in, sudo.c,
6100	version.h, visudo.c:
6101	Replace version.h with PACKAGE_VERSION set via AC_INIT in configure.
6102	[5050579a264d]
6103
61042009-05-18  Todd C. Miller  <Todd.Miller@courtesan.com>
6105
6106	* set_perms.c:
6107	Remove group setting code in setusercontext case, we will do it
6108	ourselves later on in runas_setup. Set the gid after
6109	initgroups/setgroups is called, since on Mac OS X it seems to change
6110	the egid.
6111	[09dc21d8b42d]
6112
61132009-05-17  Todd C. Miller  <Todd.Miller@courtesan.com>
6114
6115	* LICENSE, Makefile.in, config.h.in, match.c, nonunix.h, sudo.c,
6116	vasgroups.c:
6117	Initial bits of non-unix group support using Quest Authentication
6118	Services
6119	[1eecab0ff27e]
6120
6121	* toke.c, toke.l:
6122	Accept %:foo as a non-Unix group
6123	[4c4b5dd899a6]
6124
6125	* toke.c, toke.l:
6126	Allow user/group to be double quoted in the case of non-Unix groups
6127	which contain spaces.
6128	[47a3d568b7e8]
6129
61302009-05-11  Todd C. Miller  <Todd.Miller@courtesan.com>
6131
6132	* match.c:
6133	Don't allow the user to specify the default runas user if their
6134	sudoers entry only allows them to run as a group.
6135	[4d726177227c]
6136
61372009-05-10  Todd C. Miller  <Todd.Miller@courtesan.com>
6138
6139	* sudo.c:
6140	Must call audit_success before we change uids.
6141	[04a9e6ce6e55]
6142
6143	* logging.c, set_perms.c, sudo.h, testsudoers.c:
6144	Add option for set_perm to not exit on failure and use this in the
6145	logging routines.
6146	[833dce7b7f42]
6147
6148	* parse.c:
6149	In -l mode, if the user is only allowed to run as a group, display
6150	the user's name, not root's before the allowed group.
6151	[ef92ff99d265]
6152
6153	* sudo.c:
6154	Fix -g mode, broken by rev 1.503 which had the side effect of
6155	setting the runas user to root unilaterally.
6156	[50a2f7df4385]
6157
61582009-05-08  Todd C. Miller  <Todd.Miller@courtesan.com>
6159
6160	* fileops.c:
6161	When unlocking a file with fcntl, use F_SETLK, not F_SETLKW.
6162	[30fbe832dcf3]
6163
6164	* pwutil.c:
6165	Only cache by the method we fetched for pwd and grp lookups.
6166	Previously we cached both by namd and id but this can cause problems
6167	for entries that share the same id. Also add more info in the error
6168	message in case the insert fails (which should now be impossible).
6169	[ef95a4f0bab5]
6170
61712009-04-30  Todd C. Miller  <Todd.Miller@courtesan.com>
6172
6173	* sudoers.pod:
6174	Add a clarification from Nick Sieger
6175	[1eadad329561]
6176
61772009-04-25  Todd C. Miller  <Todd.Miller@courtesan.com>
6178
6179	* env.c:
6180	Inline the setting of the environment string.
6181	[9515d11c6295]
6182
61832009-04-24  Todd C. Miller  <Todd.Miller@courtesan.com>
6184
6185	* env.c:
6186	setenv(3) in Linux treats a NUL value as the empty string setenv(3)
6187	in BSD doesn't return an error if the name has '=' in it, it just
6188	treats the '=' as end of string.
6189	[941260bf94d2]
6190
61912009-04-22  Todd C. Miller  <Todd.Miller@courtesan.com>
6192
6193	* toke.c, toke.l:
6194	Not all systems have d_namlen
6195	[e377b18d8e2d]
6196
61972009-04-20  Todd C. Miller  <Todd.Miller@courtesan.com>
6198
6199	* sudoers.pod:
6200	Fix up some pod2html issues.
6201	[823a1f10ab60]
6202
62032009-04-19  Todd C. Miller  <Todd.Miller@courtesan.com>
6204
6205	* interfaces.c:
6206	Check for NULL ifa_addr and ifa_netmask. Adapted from a diff from
6207	Quest Software.
6208	[73de36653131]
6209
6210	* sudoers.pod:
6211	Ignore files ending in '~' in sudo.d (emacs backup files)
6212	[7871fad702db]
6213
6214	* toke.c, toke.l:
6215	Ignore files ending in '~' in sudo.d (emacs backup files)
6216	[53fded2a469f]
6217
62182009-04-18  Todd C. Miller  <Todd.Miller@courtesan.com>
6219
6220	* sudoers.cat, sudoers.man.in, sudoers.pod, toke.c, toke.l:
6221	For #includedir, ignore any file containing a dot
6222	[a7daa1bce6c2]
6223
6224	* Makefile.in, version.h:
6225	Bump version
6226	[ef60f14ffc44]
6227
6228	* gram.c, gram.y, parse.c, parse.h, sudo.c, sudo.h, sudoers.cat,
6229	sudoers.man.in, sudoers.pod, testsudoers.c, toke.c, toke.l,
6230	visudo.c:
6231	Implement #includedir directive. Files in an includedir are not
6232	edited by visudo unless they contain a syntax error.
6233	[3923d85a6c79]
6234
6235	* ChangeLog:
6236	sync
6237	[8741ed61a78b] [SUDO_1_7_1]
6238
6239	* WHATSNEW:
6240	Forgot umask_override
6241	[7c86a21a5504]
6242
6243	* ChangeLog, TODO:
6244	sync
6245	[57339ca6bccf]
6246
62472009-04-16  Todd C. Miller  <Todd.Miller@courtesan.com>
6248
6249	* visudo.c:
6250	Rewind stream if we fdopen sudoers since it may not be at the
6251	beginning. Set the keepopen flag on already-open files too so the
6252	lexer doesn't close them out from under us.
6253	[61292d819aff]
6254
6255	* visudo.c:
6256	Print the proper file name when there is a parse error in an include
6257	file.
6258	[b0e85d4aedde]
6259
62602009-04-11  Todd C. Miller  <Todd.Miller@courtesan.com>
6261
6262	* WHATSNEW:
6263	Sync
6264	[997e5d485ea3]
6265
62662009-04-10  Todd C. Miller  <Todd.Miller@courtesan.com>
6267
6268	* configure, configure.in:
6269	Fix a warning when --without-ldap is specified.
6270	[d91fd9481b30]
6271
62722009-04-05  Todd C. Miller  <Todd.Miller@courtesan.com>
6273
6274	* alias.c, parse.h, visudo.c:
6275	Store aliases that we remove during check_aliases in a freelist and
6276	free them at the end so we don't leak memory.
6277	[805e2272f6a3]
6278
62792009-03-28  Todd C. Miller  <Todd.Miller@courtesan.com>
6280
6281	* visudo.c:
6282	Check aliases in -c mode too.
6283	[9199e188d9f2]
6284
6285	* alias.c, parse.h, visudo.c:
6286	Make alias_remove return the alias struct instead of freeing it
6287	directly. Fixes a use after free in alias_remove_recursive, the only
6288	consumer.
6289	[a04b61804800]
6290
6291	* alias.c, match.c, parse.c, parse.h, visudo.c:
6292	Rename find_alias -> alias_find for consistency.
6293	[48b0a82924f3]
6294
62952009-03-27  Todd C. Miller  <Todd.Miller@courtesan.com>
6296
6297	* visudo.c:
6298	When checking for unused aliases, recurse if the alias points to
6299	another alias.
6300	[2d4d1a7f3a41]
6301
63022009-03-16  Todd C. Miller  <Todd.Miller@courtesan.com>
6303
6304	* ldap.c:
6305	Back out rev 1.105 for now. Real ldapux_client.conf support will be
6306	done later after some refactoring.
6307	[8ad72e69b277]
6308
63092009-03-14  Todd C. Miller  <Todd.Miller@courtesan.com>
6310
6311	* ldap.c:
6312	Treat ldap_hostport the same as "host" for ldapux.
6313	[3281dcc66da8]
6314
6315	* configure, configure.in:
6316	Only check for ldap_sasl_interactive_bind_s if we can find sasl.h.
6317	Fixes compilation with ldapux.
6318	[ca1ed585ef0e]
6319
63202009-03-12  Todd C. Miller  <Todd.Miller@courtesan.com>
6321
6322	* fileops.c:
6323	fix char subscript
6324	[41e51f080d00]
6325
63262009-03-11  Todd C. Miller  <Todd.Miller@courtesan.com>
6327
6328	* Makefile.in:
6329	remove errant carriage returns
6330	[e9e258a31c7b]
6331
6332	* audit.c, env.c:
6333	fix K&R compilation
6334	[d182e8920f13]
6335
6336	* sudo.cat, sudo.man.in, sudoers.cat, sudoers.ldap.cat,
6337	sudoers.ldap.man.in, sudoers.man.in, visudo.cat, visudo.man.in:
6338	regen
6339	[791a5cbf04e5]
6340
63412009-03-10  Todd C. Miller  <Todd.Miller@courtesan.com>
6342
6343	* config.h.in:
6344	Add missing HAVE_BSM_AUDIT
6345	[49ad1bb96f04]
6346
6347	* WHATSNEW:
6348	Add 1.7.1 features
6349	[f107f1604c61]
6350
6351	* INSTALL:
6352	Mention --with-netsvc
6353	[d1e90d147795]
6354
6355	* sudoers.ldap.pod:
6356	Document netsvc.conf support
6357	[e78f8abce6af]
6358
6359	* configure, configure.in, pathnames.h.in, sudo.c, sudo_nss.c,
6360	sudo_nss.h:
6361	Add support for AIX netsvc.conf (like nsswitch.conf).
6362	[1df56a84dee5]
6363
63642009-03-08  Todd C. Miller  <Todd.Miller@courtesan.com>
6365
6366	* config.h.in, configure, configure.in, env.c:
6367	Add --enable-env-debug flag to enable environment sanity checks.
6368	[128cdd8832e7]
6369
6370	* sudoers.ldap.pod, sudoers.pod:
6371	Work around some pod2html issue.
6372	[e733b9609bd2]
6373
63742009-03-07  Todd C. Miller  <Todd.Miller@courtesan.com>
6375
6376	* env.c:
6377	Only sync environ for putenv, setenv, and unsetenv. We need to make
6378	sure that sudo_putenv and sudo_setenv only modify env.envp, not
6379	environ.
6380	[be3ac732243c]
6381
63822009-03-02  Todd C. Miller  <Todd.Miller@courtesan.com>
6383
6384	* env.c:
6385	Really fix UNSETENV_VOID
6386	[08ab7e882507]
6387
6388	* env.c:
6389	Fix unsetenv when UNSETENV_VOID
6390	[d3038b3f2f15]
6391
6392	* aclocal.m4, configure:
6393	Fix SUDO_FUNC_PUTENV_CONST
6394	[de35569c572b]
6395
6396	* ldap.c:
6397	tivoli-based ldap does not have ldapssl_err2string
6398	[c63fd90d5e99]
6399
6400	* configure:
6401	regen
6402	[f38f1ee828ad]
6403
64042009-03-01  Todd C. Miller  <Todd.Miller@courtesan.com>
6405
6406	* config.h.in, configure, configure.in, ldap.c:
6407	Add support for Tivoli-based LDAP start TLS as seen in AIX.
6408	Untested.
6409	[8f8771829f85]
6410
6411	* env.c:
6412	Add sanity checks for setenv/unsetenv
6413	[adbd1d95856b]
6414
6415	* Makefile.in:
6416	Include bsm_audit.h in the tarball
6417	[4a4aa02b2c32]
6418
6419	* Makefile.in, version.h:
6420	bump version for sudo 1.7.1
6421	[362c71d21595]
6422
6423	* aclocal.m4, auth/aix_auth.c, config.h.in, configure, configure.in,
6424	env.c, ldap.c, sudo.h:
6425	Replace sudo_setenv/sudo_unsetenv with calls to setenv/unsetenv and
6426	provide our own setenv/unsetenv/putenv that operates on own env
6427	pointer. Make sync_env() inline in setenv/unsetenv/putenv functions.
6428	[276edcd23032]
6429
64302009-02-25  Todd C. Miller  <Todd.Miller@courtesan.com>
6431
6432	* sudo.c:
6433	Make "sudoedit -h" work as expected
6434	[2bcbbb45d389]
6435
6436	* auth/pam.c:
6437	Make sure def_prompt is always defined. This is a workaround for
6438	pam configs that prompt for a password in the session but don't have
6439	an auth line. A better fix is to expand the sudo prompt earlier and
6440	set def_prompt to that when initializing.
6441	[ee073c04aec3]
6442
6443	* sudo.pod:
6444	Mention that the helper for -A may be graphical.
6445	[b64a940c4082]
6446
6447	* TROUBLESHOOTING:
6448	Document what happens if there is no tty.
6449	[313d58a856a5]
6450
6451	* sudo.c:
6452	cosmetic changes
6453	[894f5e3b0c3e]
6454
6455	* term.c:
6456	Fix term_restore
6457	[6c6315ff14bc]
6458
6459	* sudo.c:
6460	Fix "sudo -k" with no other args
6461	[59e94dc419c6]
6462
64632009-02-24  Todd C. Miller  <Todd.Miller@courtesan.com>
6464
6465	* check.c, sudo.c, sudo.pod, sudo_usage.h.in:
6466	Allow the -k flag to be specified in conjunction with a command or
6467	another option that may require authentication.
6468	[5960ff20355d]
6469
64702009-02-23  Todd C. Miller  <Todd.Miller@courtesan.com>
6471
6472	* configure, configure.in:
6473	Remove unneeded AC_CANONICAL_TARGET; from Diego E. 'Flameeyes'
6474	[e86ab69c4a57]
6475
6476	* Makefile.in:
6477	Parallel make fix. From Diego E. 'Flameeyes'
6478	[1289d7ee27db]
6479
64802009-02-21  Todd C. Miller  <Todd.Miller@courtesan.com>
6481
6482	* def_data.c, def_data.h, def_data.in, sudo.c, sudoers.pod:
6483	Implement umask_override
6484	[8b87a3f7c5aa]
6485
6486	* toke.c:
6487	regen
6488	[79d7ca9ac873]
6489
6490	* sudoers.pod, toke.l, visudo.c:
6491	Implement %h escape in sudoers include filenames.
6492	[a7f288dd64f0]
6493
6494	* audit.c:
6495	Need to include compat.h
6496	[c0dc07ce2f70]
6497
6498	* Makefile.in, audit.c, bsm_audit.c, bsm_audit.h, logging.h, sudo.c:
6499	Make audit_success and audit_failure generic functions in
6500	preparation for integrating linux audit support.
6501	[7df020a8fd6f]
6502
6503	* term.c:
6504	remove duplicate include
6505	[1dfcd01a7e46]
6506
65072009-02-20  Todd C. Miller  <Todd.Miller@courtesan.com>
6508
6509	* bsm_audit.c:
6510	Add missing include
6511	[fb56e08c37ee]
6512
6513	* sudo.c:
6514	May need to update the runas user after parsing command-based
6515	defaults.
6516	[246f130d7802]
6517
65182009-02-18  Todd C. Miller  <Todd.Miller@courtesan.com>
6519
6520	* glob.c:
6521	Add missing pair of braces introduced with character class support.
6522	[0e2afa2e03e9]
6523
65242009-02-15  Todd C. Miller  <Todd.Miller@courtesan.com>
6525
6526	* def_data.c, def_data.h, def_data.in, sudoers.pod, tgetpass.c:
6527	Rename pwstars to pwfeedback
6528	[a9f85a57ebac]
6529
65302009-02-11  Todd C. Miller  <Todd.Miller@courtesan.com>
6531
6532	* bsm_audit.c, bsm_audit.h:
6533	Add const to make MacOS happy.
6534	[4274432d6627]
6535
6536	* Makefile.in, auth/sudo_auth.c, bsm_audit.c, bsm_audit.h, configure,
6537	configure.in, sudo.c:
6538	Add bsm audit support from Christian S.J. Peron
6539	[bef61cd8693d]
6540
6541	* term.c:
6542	This is new code, no DARPA notice.
6543	[ec6ad09b9c23]
6544
65452009-02-10  Todd C. Miller  <Todd.Miller@courtesan.com>
6546
6547	* def_data.c, def_data.h, def_data.in, match.c, sudoers.pod:
6548	Rename simple_glob -> fast_glob
6549	[68d9ed803cc1]
6550
6551	* match.c:
6552	g/c unused var
6553	[693fa0464eb6]
6554
6555	* def_data.c, def_data.h, def_data.in, match.c, sudoers.pod:
6556	Add simple_glob option to use fnmatch() instead of glob(). This is
6557	useful when you need to specify patterns that reference network file
6558	systems.
6559	[77ba634f6949]
6560
6561	* tgetpass.c:
6562	add term_* proto
6563	[520f5149d073]
6564
6565	* sudoers.pod:
6566	mention glob()
6567	[ddaab8e03c52]
6568
65692009-02-09  Todd C. Miller  <Todd.Miller@courtesan.com>
6570
6571	* tgetpass.c:
6572	Delete any pwstars we wrote after the user hits return. That way
6573	there is no record on screen as to the user's password length.
6574	[fae25cda762b]
6575
65762009-02-08  Todd C. Miller  <Todd.Miller@courtesan.com>
6577
6578	* term.c:
6579	Move terminal setting bits from tgetpass.c to term.c
6580	[03d43325ee99]
6581
6582	* Makefile.in, def_data.c, def_data.h, def_data.in, sudoers.pod,
6583	tgetpass.c:
6584	Add pwstars sudoers option that causes sudo to print a star every
6585	time the user presses a key.
6586	[7aab417e184d]
6587
65882009-02-03  Todd C. Miller  <Todd.Miller@courtesan.com>
6589
6590	* Makefile.in:
6591	Fix up F<> brokenness for visudo.man.in and sudoers.ldap.man.in.
6592	[64f70e879816]
6593
65942009-01-27  Todd C. Miller  <Todd.Miller@courtesan.com>
6595
6596	* ldap.c:
6597	For ldap_search_ext_s() the sizelimit param should be 0, not -1, to
6598	indicate no limit. From Mark Janssen.
6599	[e2c5732d54f5]
6600
66012009-01-17  Todd C. Miller  <Todd.Miller@courtesan.com>
6602
6603	* toke.c, toke.l:
6604	Comments that begin with #- should not be parsed as uids.
6605	[a72a50f12f41]
6606
66072009-01-09  Todd C. Miller  <Todd.Miller@courtesan.com>
6608
6609	* sudo.c:
6610	Do not try to set the close on exec flag if we didn't actually open
6611	sudoers.
6612	[ece3ca256904]
6613
66142008-12-19  Todd C. Miller  <Todd.Miller@courtesan.com>
6615
6616	* ChangeLog:
6617	regen
6618	[e11f0e4c1bdd] [SUDO_1_7_0]
6619
66202008-12-14  Todd C. Miller  <Todd.Miller@courtesan.com>
6621
6622	* TODO:
6623	sync
6624	[5b8954462bb3]
6625
66262008-12-09  Todd C. Miller  <Todd.Miller@courtesan.com>
6627
6628	* auth/pam.c:
6629	Return PAM_AUTH_ERR instead of PAM_CONV_ERR if user enters ^C at the
6630	password prompt.
6631	[8563601cb3de]
6632
6633	* configure, configure.in:
6634	Don't try to build sudo_noexec.so on HP-UX with the bundled compiler
6635	as it cannot generate shared objects.
6636	[6d4262ef9669]
6637
6638	* emul/charclass.h, glob.c, lbuf.c, tgetpass.c:
6639	K&R compilation fixes
6640	[77921678d17c]
6641
6642	* parse.c:
6643	Use tq_foreach_fwd when checking pseudo-commands to make it clear
6644	that we are not short-circuiting on last match. When pwcheck is
6645	'all', initialize nopass to TRUE and override it with the first non-
6646	TRUE entry.
6647	[96b209f4778f]
6648
66492008-12-08  Todd C. Miller  <Todd.Miller@courtesan.com>
6650
6651	* parse.c:
6652	Do not short circuit pseudo commands when we get a match since,
6653	depending on the settings, we may need to examine all commands for
6654	tags.
6655	[fdbaf89d6f35]
6656
66572008-12-03  Todd C. Miller  <Todd.Miller@courtesan.com>
6658
6659	* sudoers.cat, sudoers.man.in:
6660	regen
6661	[1ecce7c1b841]
6662
6663	* sudoers.pod:
6664	hostnames may also contain wildcards
6665	[82b76695601c]
6666
6667	* Makefile.in:
6668	remove stamp-* files and linux core files in clean target
6669	[22003f091467]
6670
66712008-12-02  Todd C. Miller  <Todd.Miller@courtesan.com>
6672
6673	* auth/sudo_auth.h, config.h.in, configure, configure.in:
6674	Use HAVE_SIA_SES_INIT instead of HAVE_SIA for Digital UNIX
6675	[6905bede8410]
6676
66772008-11-26  Todd C. Miller  <Todd.Miller@courtesan.com>
6678
6679	* configure, configure.in:
6680	correctly enable SIA on Digital UNIX
6681	[a51881d13995]
6682
6683	* TODO:
6684	checkpoint
6685	[af0fe8d94d42]
6686
6687	* ChangeLog:
6688	sync
6689	[831f623cf99c]
6690
66912008-11-25  Todd C. Miller  <Todd.Miller@courtesan.com>
6692
6693	* check.c, sudo.h, tgetpass.c:
6694	Even if neither stdin nor stdout are ttys we may still have /dev/tty
6695	available to us.
6696	[20f306ba883b]
6697
66982008-11-24  Todd C. Miller  <Todd.Miller@courtesan.com>
6699
6700	* sudoers.cat, sudoers.man.in:
6701	regen
6702	[76d97c4c318f]
6703
6704	* sudoers.pod:
6705	fix typos; Markus Lude
6706	[bff8bc1e2066]
6707
6708	* ChangeLog:
6709	sync
6710	[f108552531cd]
6711
6712	* toke.c:
6713	regen
6714	[de828413c67e]
6715
6716	* toke.l:
6717	Fix matching of a line that only consists of a comment char
6718	[09c953d8d5ca]
6719
67202008-11-22  Todd C. Miller  <Todd.Miller@courtesan.com>
6721
6722	* auth/pam.c:
6723	MacOS pam will retry conversation function if it fails so just treat
6724	^C as an empty password.
6725	[d056058930bc]
6726
6727	* visudo.c:
6728	When checking for alias use, also check defaults bindings.
6729	[2647f82c7dbd]
6730
6731	* redblack.c:
6732	unused var
6733	[b7ff71c17c18]
6734
6735	* redblack.c:
6736	Replace my rbdelete with Emin's version (which actually works ;-)
6737	[21b133dd0c72]
6738
67392008-11-19  Todd C. Miller  <Todd.Miller@courtesan.com>
6740
6741	* testsudoers.c:
6742	malloc debugging
6743	[0fb446fa3279]
6744
6745	* visudo.c:
6746	malloc options in devel mode for visudo too
6747	[98d06c6afeef]
6748
67492008-11-18  Todd C. Miller  <Todd.Miller@courtesan.com>
6750
6751	* sudo.c:
6752	fix compilation on non-C99; from Theo
6753	[7c304e16c536]
6754
6755	* visudo.c:
6756	fix check_aliases
6757	[83f30a3b1765]
6758
6759	* alias.c:
6760	when destroying an alias, free the correct data pointer
6761	[6e1a8bd86c01]
6762
6763	* auth/sudo_auth.h:
6764	add proto for aixauth_cleanup; from Dale King
6765	[eba94ffc8f63]
6766
67672008-11-15  Todd C. Miller  <Todd.Miller@courtesan.com>
6768
6769	* sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in, visudo.cat,
6770	visudo.man.in:
6771	regen
6772	[409fa57fff83]
6773
6774	* sudo.pod, sudoers.pod, visudo.pod:
6775	standardize on the term 'option' for command line options (not flag)
6776	[228caefc2e36]
6777
67782008-11-14  Todd C. Miller  <Todd.Miller@courtesan.com>
6779
6780	* INSTALL:
6781	Add note on configuring HP-UX pam
6782	[f7674a581baf]
6783
67842008-11-11  Todd C. Miller  <Todd.Miller@courtesan.com>
6785
6786	* check.c, sudo.c:
6787	Move tty checks into check_user() so we only do them if we actually
6788	need a password.
6789	[7d997d7106d6]
6790
6791	* sudo.c:
6792	Don't error out if no tty or askpass unless we actually need to
6793	authenticate.
6794	[9f23b83ed66c]
6795
67962008-11-10  Todd C. Miller  <Todd.Miller@courtesan.com>
6797
6798	* ChangeLog:
6799	regen
6800	[23f9aef32da6]
6801
6802	* pathnames.h.in, sudo.c:
6803	s/overriden/overridden/; from Tobias Stoeckmann
6804	[9f7459a8fac5]
6805
68062008-11-09  Todd C. Miller  <Todd.Miller@courtesan.com>
6807
6808	* WHATSNEW, visudo.c:
6809	check sudoers owner and mode in strict mode
6810	[a3468c5ac1c4]
6811
6812	* gram.c, toke.c:
6813	regen
6814	[7d6b515a5443]
6815
6816	* sudo.man.in, sudoers.man.in, visudo.man.in:
6817	Update copyright years.
6818	[52d340cb8cba]
6819
6820	* LICENSE, alias.c, alloc.c, auth/afs.c, auth/aix_auth.c,
6821	auth/bsdauth.c, auth/fwtk.c, auth/kerb4.c, auth/kerb5.c, auth/pam.c,
6822	auth/securid.c, auth/securid5.c, auth/sia.c, auth/sudo_auth.h,
6823	closefrom.c, compat.h, defaults.c, defaults.h, env.c, fileops.c,
6824	gettime.c, gram.y, ins_csops.h, insults.h, interfaces.c,
6825	interfaces.h, lbuf.c, license.pod, list.c, logging.c, logging.h,
6826	parse.c, parse.h, pwutil.c, redblack.c, redblack.h, snprintf.c,
6827	sudo.c, sudo.pod, sudo_edit.c, sudo_nss.h, sudoers.pod,
6828	testsudoers.c, toke.l, tsgetgrpw.c, utimes.c, version.h, visudo.c,
6829	visudo.pod, zero_bytes.c:
6830	Update copyright years.
6831	[b4e6bf2beafa]
6832
6833	* emul/charclass.h, fnmatch.c, glob.c:
6834	add my copyright
6835	[28681385014a]
6836
68372008-11-08  Todd C. Miller  <Todd.Miller@courtesan.com>
6838
6839	* toke.c, toke.l:
6840	The loop in fill_cmnd() was going one byte too far past the end,
6841	resulting in a NUL being written immediately after the buffer end.
6842	[a5a49d603cd7]
6843
6844	* UPGRADE, WHATSNEW:
6845	add sections on tgetpass changes
6846	[2e6929b6a102]
6847
6848	* tgetpass.c:
6849	Treat EOF w/o newline as an error.
6850	[aa02b1db9240]
6851
68522008-11-07  Todd C. Miller  <Todd.Miller@courtesan.com>
6853
6854	* parse.c:
6855	Fix "sudo -v" when NOPASSWD is set.
6856	[f4914711ea80]
6857
6858	* auth/bsdauth.c, auth/fwtk.c, auth/pam.c, auth/sudo_auth.c,
6859	auth/sudo_auth.h:
6860	No longer treat an empty password at the prompt as special. To quit
6861	out of sudo you now need to hit ^C at the password prompt.
6862	[980f760ad419]
6863
6864	* sudoers.cat, sudoers.man.in:
6865	regen
6866	[6ca21a2cd869]
6867
6868	* def_data.c, def_data.h, def_data.in, sudo.c, sudoers.pod:
6869	Sudo will now refuse to run if no tty is present unless the new
6870	visiblepw sudoers flag is set.
6871	[0cc56943252e]
6872
68732008-11-06  Todd C. Miller  <Todd.Miller@courtesan.com>
6874
6875	* aix.c:
6876	just use RLIM_INFINITY for RLIM_SAVED_MAX if RLIM_SAVED_MAX not
6877	defined
6878	[24fc6f712d5c]
6879
6880	* aix.c:
6881	fix fallback value for RLIM_SAVED_MAX
6882	[e09e04e1af89]
6883
6884	* auth/aix_auth.c, auth/sudo_auth.h:
6885	Move clearing of AUTHSTATE into aixauth_cleanup.
6886	[e14ae7bd259c]
6887
6888	* auth/aix_auth.c, env.c:
6889	Unset AUTHSTATE after calling authenticate() as it may not be
6890	correct for the user we are running the command as.
6891	[d14f68f1b0ab]
6892
6893	* isblank.c:
6894	Add isblank() function for systems without it. Needed for POSIX
6895	character class matching in fnmatch.c and glob.c.
6896	[16cba30b283f]
6897
68982008-11-05  Todd C. Miller  <Todd.Miller@courtesan.com>
6899
6900	* TROUBLESHOOTING:
6901	expound on sudo and cd
6902	[8e0fa9033637]
6903
69042008-11-04  Todd C. Miller  <Todd.Miller@courtesan.com>
6905
6906	* ChangeLog:
6907	regen
6908	[40cf320a10fc]
6909
6910	* sudoers.cat, sudoers.man.in:
6911	regen
6912	[7cac761ae2c6]
6913
6914	* sudoers.pod:
6915	mention defauts parse order
6916	[4e2ce86d1394]
6917
69182008-11-03  Todd C. Miller  <Todd.Miller@courtesan.com>
6919
6920	* Makefile.in, aclocal.m4, compat.h, configure:
6921	Add isblank() function for systems without it. Needed for POSIX
6922	character class matching in fnmatch.c and glob.c.
6923	[a1ab55da8424]
6924
6925	* Makefile.in:
6926	add emul/charclass.h to HDRS
6927	[7e8a019dcaa4]
6928
69292008-11-02  Todd C. Miller  <Todd.Miller@courtesan.com>
6930
6931	* TODO:
6932	checkpoint
6933	[afeb9bc1baed]
6934
6935	* defaults.c, parse.c, testsudoers.c, visudo.c:
6936	Move update_defaults into defaults.c and call it properly from
6937	visudo and testsudoers.
6938	[f4dbb369461f]
6939
6940	* defaults.c, interfaces.c, pwutil.c, sudo.c, sudo_edit.c, tgetpass.c,
6941	tsgetgrpw.c:
6942	use zero_bytes() instead of memset() for consistency
6943	[4cee0465f4a8]
6944
6945	* logging.c, mon_systrace.c, parse.c, sudo.c, sudo_edit.c, tgetpass.c,
6946	visudo.c:
6947	Zero out sigaction_t before use in case it has non-standard entries.
6948	[120092225459]
6949
6950	* match.c:
6951	quiet gcc
6952	[098a1df49b23]
6953
6954	* match.c:
6955	Short circuit glob() checks if basename(pattern) !=
6956	basename(command). Refactor code that checks for a command in a
6957	directory and use it in the glob case if the resolved pattern ends
6958	in a '/'.
6959	[3c46fd317acb]
6960
69612008-11-01  Todd C. Miller  <Todd.Miller@courtesan.com>
6962
6963	* defaults.h, parse.c, sudo.c, testsudoers.c, visudo.c:
6964	Defer setting runas defaults until after runaspw/gr is setup.
6965	[12e75ee49c0c]
6966
69672008-10-29  Todd C. Miller  <Todd.Miller@courtesan.com>
6968
6969	* match.c, sudo.c, testsudoers.c:
6970	Use MAXHOSTNAMELEN+1 when allocating host/domain name since some
6971	systems do not include space for the NUL in the size. Also manually
6972	NUL-terminate buffer from gethostname() since POSIX is wishy-washy
6973	on this.
6974	[7266ab3296a3]
6975
69762008-10-26  Todd C. Miller  <Todd.Miller@courtesan.com>
6977
6978	* sudo.c, sudoers.pod:
6979	When setting the umask, use the union of the user's umask and the
6980	default value set in sudoers so that we never lower the user's umask
6981	when running a command.
6982	[4e804b004e38]
6983
6984	* sudo.c:
6985	Don't try to read from a zero-length sudoers file. Remove the bogus
6986	Solaris work-around for EAGAIN. Since we now use fgetc() it should
6987	not be a problem.
6988	[bb8e5f68d944]
6989
69902008-10-25  Todd C. Miller  <Todd.Miller@courtesan.com>
6991
6992	* parse.c:
6993	In update_defaults() check the return value of user*_matches against
6994	ALLOW so we don't inadvertantly match on UNSPEC.
6995	[4e422fa1527e]
6996
69972008-10-24  Todd C. Miller  <Todd.Miller@courtesan.com>
6998
6999	* sudo.cat, sudo.man.in, sudoers.cat, sudoers.ldap.cat,
7000	sudoers.ldap.man.in, sudoers.man.in, visudo.cat, visudo.man.in:
7001	regen man pages; no more hyphenation
7002	[15de4fe2fe01]
7003
7004	* sudo.c:
7005	Don't error out on a zero-length sudoers file. With the advent of
7006	#include the user could create a situation where sudo is unusable.
7007	[6eb461319fa5]
7008
70092008-10-23  Todd C. Miller  <Todd.Miller@courtesan.com>
7010
7011	* auth/kerb5.c, config.h.in, configure, configure.in:
7012	Newer heimdal has 2-argument krb5_get_init_creds_opt_free() like MIT
7013	krb5. Really old heimdal has no krb5_get_init_creds_opt_alloc() at
7014	all. Add configure tests to handle all the cases.
7015	[4b554a98470d]
7016
70172008-10-08  Todd C. Miller  <Todd.Miller@courtesan.com>
7018
7019	* sudo.pod:
7020	resort ENVIRONMENT
7021	[f4f20f40653e]
7022
7023	* sudoers.pod:
7024	document sudoers_locale
7025	[0bffd2dbe806]
7026
7027	* sudo.pod, sudo_edit.c:
7028	add SUDO_EDITOR variable that sudoedit uses in preference to VISUAL
7029	or EDITOR
7030	[0ef8cb248cee]
7031
7032	* toke.c, toke.l:
7033	In fill_cmnd(), collapse any escaped sudo-specific characters.
7034	Allows character classes to be used in pathnames.
7035	[5685244c8e44]
7036
70372008-10-03  Todd C. Miller  <Todd.Miller@courtesan.com>
7038
7039	* lbuf.c:
7040	fix typo in non-C89 function declaration
7041	[99a7113b3a05]
7042
7043	* sudoers.pod:
7044	Mention POSIX characters classes now that out fnmatch() and glob()
7045	support them.
7046	[9c916f1230c3]
7047
7048	* sample.sudoers, sudoers.pod:
7049	Replace [A-z] (which won't match in UTF8) with [A-Za-z] which is
7050	locale agnostic.
7051	[a60a62bec244]
7052
7053	* parse.h:
7054	use __signed char if we are going to assign a negative value since
7055	on Power, char is unsigned by default
7056	[2877b319df17]
7057
7058	* config.h.in, configure, configure.in:
7059	Add tests for __signed char and signed char.
7060	[5eb874fdf1d4]
7061
7062	* aix.c:
7063	Fix AIX limit setting. getuserattr() returns values in disk blocks
7064	rather than bytes. The default hard stack size in newer AIX is
7065	RLIM_SAVED_MAX. From Dale King.
7066	[3db67415ecc3]
7067
70682008-09-26  Todd C. Miller  <Todd.Miller@courtesan.com>
7069
7070	* emul/charclass.h, fnmatch.c, glob.c:
7071	Add character class support to included glob(3) and fnmatch(3).
7072	[6b5b4ad77899]
7073
70742008-09-16  Todd C. Miller  <Todd.Miller@courtesan.com>
7075
7076	* emul/fnmatch.h:
7077	Remove UCB advertising clause and some compatibility defines.
7078	[2ade7bee74e1]
7079
70802008-09-14  Todd C. Miller  <Todd.Miller@courtesan.com>
7081
7082	* sudo_edit.c:
7083	Check EDITOR/VISUAL to make sure sudoedit is not re-invoking itself
7084	or sudo. This allows one to set EDITOR to sudoedit without getting
7085	into an infinite loop of sudoedit running itself until the path gets
7086	too big.
7087	[aa49ab68f82d]
7088
7089	* def_data.c, def_data.h, def_data.in, defaults.c, sudo.c:
7090	Add sudoers_locale Defaults option to override the default sudoers
7091	locale of "C".
7092	[0639886a35bf]
7093
70942008-09-13  Todd C. Miller  <Todd.Miller@courtesan.com>
7095
7096	* sudo.c:
7097	Set locale to system default except for during sudoers parse.
7098	[016dd2736728]
7099
71002008-09-12  Todd C. Miller  <Todd.Miller@courtesan.com>
7101
7102	* match.c:
7103	Redo change in 1.34 to use pointer arithmetic.
7104	[f9e7b63bb450]
7105
71062008-09-11  Todd C. Miller  <Todd.Miller@courtesan.com>
7107
7108	* match.c:
7109	Fix a dereference (read) of a freed pointer. Reported by Patrick
7110	Williams.
7111	[69877b633753]
7112
71132008-08-23  Todd C. Miller  <Todd.Miller@courtesan.com>
7114
7115	* sudo.c:
7116	Set locale to "C" to avoid interpretation issues with character
7117	ranges in sudoers. May want to make the locale a sudoers option in
7118	the future.
7119	[098a95de1746]
7120
71212008-08-20  Todd C. Miller  <Todd.Miller@courtesan.com>
7122
7123	* config.h.in:
7124	we no longer use setproctitle
7125	[c7f20fb747ea]
7126
7127	* sudo.h:
7128	remove #if 1
7129	[a368ee6816c6]
7130
7131	* LICENSE, mkstemp.c:
7132	Use my replacement mkstemp() from the mktemp package.
7133	[d07c2beb0f9e]
7134
71352008-07-12  Todd C. Miller  <Todd.Miller@courtesan.com>
7136
7137	* gram.c:
7138	regen with yacc skeleton bug fixed
7139	[24784571cbb8]
7140
7141	* sudoers.pod:
7142	Remove duplicate "as root". From Martin Toft.
7143	[97241acfee5e]
7144
71452008-07-02  Todd C. Miller  <Todd.Miller@courtesan.com>
7146
7147	* pwutil.c, sudo.c, sudo.h, testsudoers.c:
7148	Flesh out the fake passwd entry used for running commands as a uid
7149	not listed in the passwd database. Fixes an issue with some PAM
7150	modules.
7151	[a6648227f3f2]
7152
71532008-07-01  Todd C. Miller  <Todd.Miller@courtesan.com>
7154
7155	* sudo.c:
7156	Error out in -i mode if the user has no shell. This can happen when
7157	running commands as a uid with no password entry.
7158	[0c174bef36ff]
7159
71602008-06-26  Todd C. Miller  <Todd.Miller@courtesan.com>
7161
7162	* toke.c, toke.l:
7163	Better fix for line continuation inside double quotes. Now accepts
7164	whitespace between the backslash and the newline like the main
7165	lexer.
7166	[64efcdf86d31]
7167
71682008-06-25  Todd C. Miller  <Todd.Miller@courtesan.com>
7169
7170	* toke.c, toke.l:
7171	Fix line continuation in strings. It was only being honored if
7172	preceded by whitespace.
7173	[96c21271a3e4]
7174
71752008-06-22  Todd C. Miller  <Todd.Miller@courtesan.com>
7176
7177	* config.h.in, configure, configure.in, logging.c:
7178	Replace the double fork with a fork + daemonize.
7179	[328505441e67]
7180
71812008-06-21  Todd C. Miller  <Todd.Miller@courtesan.com>
7182
7183	* env.c, sudo.c:
7184	The -i flag should imply env_reset. This got broken in sudo 1.6.9.
7185	[3caedfeaec87]
7186
7187	* logging.c, sudo.c, sudo_edit.c, visudo.c:
7188	Change how the mailer is waited for. Instead of having a SIGCHLD
7189	handler, use the double fork trick to orphan the child that opens
7190	the pipe to sendmail. Fixes a problem running su on some Linux
7191	distros.
7192	[b59ce60a393d]
7193
71942008-06-20  Todd C. Miller  <Todd.Miller@courtesan.com>
7195
7196	* configure, configure.in:
7197	Fix configure test for dirfd() on Linux where DIR is opaque.
7198	[b8f729cdfecc]
7199
72002008-06-17  Todd C. Miller  <Todd.Miller@courtesan.com>
7201
7202	* tgetpass.c:
7203	Get rid of the QNX TCSAFLUSH -> TCSADRAIN hack. If QNX still has
7204	this problem we'll need to revisit this again.
7205	[c17fee8ad530]
7206
72072008-06-11  Todd C. Miller  <Todd.Miller@courtesan.com>
7208
7209	* logging.c:
7210	Ignore SIGPIPE instead of blocking it when piping to the mailer. If
7211	we only block the signal it may be delivered later when we unblock.
7212	Also, there is no need to block SIGCHLD since we no longer do the
7213	double fork. The normal SIGCHLD handler is sufficient.
7214	[e94a49e992e5]
7215
72162008-06-08  Todd C. Miller  <Todd.Miller@courtesan.com>
7217
7218	* configure, configure.in:
7219	Add description for NO_PAM_SESSION, from a redhat patch.
7220	[b9e4c939ec09]
7221
72222008-06-06  Todd C. Miller  <Todd.Miller@courtesan.com>
7223
7224	* sudo.cat, sudo.man.in, sudo.pod:
7225	Fix typos in -i usage
7226	[2d7ce5de0235]
7227
72282008-05-18  Todd C. Miller  <Todd.Miller@courtesan.com>
7229
7230	* configure, configure.in:
7231	Redo the test for dgettext() in a way that hopefully will work
7232	around the libintl_dgettext() undefined problem.
7233	[d27beb0cf85e]
7234
72352008-05-11  Todd C. Miller  <Todd.Miller@courtesan.com>
7236
7237	* schema.ActiveDirectory:
7238	change filename in comment
7239	[733da4ee9ac5]
7240
72412008-05-10  Todd C. Miller  <Todd.Miller@courtesan.com>
7242
7243	* Makefile.in, README.LDAP, sudoers.ldap.cat, sudoers.ldap.man.in,
7244	sudoers.ldap.pod:
7245	Reference schema.ActiveDirectory
7246	[d6aec537800e]
7247
72482008-05-09  Todd C. Miller  <Todd.Miller@courtesan.com>
7249
7250	* schema.OpenLDAP, schema.iPlanet:
7251	Mark sudoRunAs as deprecated.
7252	[00c50df807af]
7253
7254	* schema.ActiveDirectory:
7255	add sudoRunAsUser and sudoRunAsGroup
7256	[19bcce6f72fb]
7257
7258	* schema.ActiveDirectory:
7259	Active Directory schema by Chantal Paradis and Eric Paquet
7260	[06a09c92c6a5]
7261
72622008-05-08  Todd C. Miller  <Todd.Miller@courtesan.com>
7263
7264	* parse.c:
7265	remove an XXX that was fixed
7266	[b88038062fa2]
7267
7268	* ChangeLog:
7269	sync
7270	[8fc27c17270e]
7271
7272	* parse.c:
7273	Initialize tags to UNSPEC instead of def_* in "sudo -l" mode. This
7274	fixes a problem where the tag value printed was influenced by
7275	defaults set in the first pass through the parser.
7276	[588ccd630367]
7277
72782008-05-04  Todd C. Miller  <Todd.Miller@courtesan.com>
7279
7280	* Makefile.in, sudo.psf:
7281	No point in packaging the TODO file
7282	[9590248fffe1]
7283
7284	* ChangeLog:
7285	sync
7286	[152acf4c6813]
7287
72882008-05-03  Todd C. Miller  <Todd.Miller@courtesan.com>
7289
7290	* WHATSNEW, def_data.c, def_data.h, def_data.in, env.c, sudo.c,
7291	sudo.h, sudoers.cat, sudoers.man.in, sudoers.pod:
7292	Add env_file Defaults option that is similar to /etc/environment on
7293	some systems.
7294	[1daf53d51e18]
7295
72962008-05-02  Todd C. Miller  <Todd.Miller@courtesan.com>
7297
7298	* Makefile.in, README, TODO, WHATSNEW, sudo.cat, sudo.man.in,
7299	sudoers.cat, sudoers.ldap.cat, sudoers.ldap.man.in, sudoers.man.in,
7300	version.h, visudo.cat, visudo.man.in:
7301	change version to 1.7.0
7302	[d41d126b9bd8]
7303
7304	* UPGRADE:
7305	initial valgrind pass done
7306	[c59c3876d8ca]
7307
73082008-04-23  Todd C. Miller  <Todd.Miller@courtesan.com>
7309
7310	* ldap.c:
7311	Fix typo/think in sudo_ldap_read_secret() when storing the secret.
7312	[830d246c09b0]
7313
73142008-04-11  Todd C. Miller  <Todd.Miller@courtesan.com>
7315
7316	* ldap.c:
7317	define LDAPS_PORT if the system headers do not
7318	[247b12325701]
7319
73202008-04-10  Todd C. Miller  <Todd.Miller@courtesan.com>
7321
7322	* gram.c, gram.y:
7323	Fix another memory leak in init_parser().
7324	[7bba47deba11]
7325
7326	* configure, configure.in:
7327	There was a missing space before the ldap libs in SUDO_LIBS for some
7328	configurations.
7329	[7524cfc93759]
7330
7331	* alias.c, gram.c, gram.y, toke.c, toke.l:
7332	Clean up some memory leaks pointed out by valgrind.
7333	[a965866ece1a]
7334
73352008-04-07  Todd C. Miller  <Todd.Miller@courtesan.com>
7336
7337	* sudo.c:
7338	fix "sudo -s" broken by mode/flags breakout
7339	[acffe984d408]
7340
7341	* configure, configure.in:
7342	remove duplicate check for dgettext
7343	[58145529133c]
7344
73452008-04-05  Todd C. Miller  <Todd.Miller@courtesan.com>
7346
7347	* aix.c:
7348	Fall back to default stanza if no user-specific limit is found.
7349	[7b8cb29123ee]
7350
73512008-04-02  Todd C. Miller  <Todd.Miller@courtesan.com>
7352
7353	* snprintf.c:
7354	include stdint.h if present
7355	[f0ec38529306]
7356
7357	* snprintf.c:
7358	Use LLONG_MAX, not the old QUAD_MAX
7359	[01041ce508fb]
7360
73612008-04-01  Todd C. Miller  <Todd.Miller@courtesan.com>
7362
7363	* sudoers.ldap.pod:
7364	fix cut and pasto
7365	[34240fdef5ab]
7366
73672008-03-31  Todd C. Miller  <Todd.Miller@courtesan.com>
7368
7369	* pwutil.c:
7370	Add #ifdef PURITY
7371	[ce1b571ad526]
7372
73732008-03-30  Todd C. Miller  <Todd.Miller@courtesan.com>
7374
7375	* auth/bsdauth.c:
7376	remove useless cast
7377	[494f8a862e1d]
7378
73792008-03-27  Todd C. Miller  <Todd.Miller@courtesan.com>
7380
7381	* ChangeLog:
7382	sync
7383	[f5c97ffaabcc]
7384
7385	* TODO:
7386	sync
7387	[96ff1c44c182]
7388
7389	* sudo.h:
7390	Split MODE_* defines into primary and flags.
7391	[c02ee3027cb9]
7392
73932008-03-26  Todd C. Miller  <Todd.Miller@courtesan.com>
7394
7395	* aix.c:
7396	It turns out the logic for getting AIX limits is more convoluted
7397	than I realized and differs depending on whether the soft and/or
7398	hard limits are defined.
7399	[cf8d3f85d395]
7400
74012008-03-23  Todd C. Miller  <Todd.Miller@courtesan.com>
7402
7403	* Makefile.in, configure, configure.in:
7404	Back out AIX-specific change to set the sudo_noexec path to the .a
7405	file, we do really want to use the .so file. Since libtool doesn't
7406	do that correctly, just install the .so file ourselves in the
7407	Makefile.
7408	[05c6f33177d9]
7409
7410	* install-sh:
7411	If the file given to install is a path, only use the basename of the
7412	file when building the destination path.
7413	[695ba4e429ce]
7414
74152008-03-18  Todd C. Miller  <Todd.Miller@courtesan.com>
7416
7417	* sudo.c:
7418	parse_args() cleanup: Sort command line options in the getopt()
7419	switch The -U option requires a parameter Normalize a few ISSET
7420	calls Split mode into mode and flags and retire the now-obsolete
7421	excl variable
7422	[0d156835f861]
7423
7424	* WHATSNEW, check.c, sudo.c, sudo.cat, sudo.h, sudo.man.in, sudo.pod,
7425	sudo_usage.h.in:
7426	Add -n (non-interactive) flag.
7427	[e3e50400d32d]
7428
7429	* sudo.c:
7430	Move version printing, etc. into a separate function.
7431	[18c91b476e2c]
7432
7433	* sudo.c:
7434	Don't try to cleanup nsswitch if it has not been initialized.
7435	[aeb1ca1b399d]
7436
74372008-03-17  Todd C. Miller  <Todd.Miller@courtesan.com>
7438
7439	* logging.c:
7440	Block SIGPIPE in send_mail() so sudo is not killed by a problem
7441	executing the mailer.
7442	[f130e7924cca]
7443
74442008-03-14  Todd C. Miller  <Todd.Miller@courtesan.com>
7445
7446	* configure, configure.in:
7447	AIX shared libs end in .a, not .so.
7448	[a5deb07020d8]
7449
74502008-03-13  Todd C. Miller  <Todd.Miller@courtesan.com>
7451
7452	* env.c:
7453	Preserve HOME by default too. Matches documentation and previous
7454	behavior.
7455	[c16f17f1047c]
7456
74572008-03-12  Todd C. Miller  <Todd.Miller@courtesan.com>
7458
7459	* sudo.c:
7460	Use getopt() to parse the command line. We need to be able to
7461	intersperse env variables and options yet still honor "--"" which
7462	complicates things slightly.
7463	[60f271ce5c16]
7464
74652008-03-06  Todd C. Miller  <Todd.Miller@courtesan.com>
7466
7467	* ChangeLog:
7468	sync
7469	[685e67964eda]
7470
7471	* acsite.m4, configure, ltmain.sh:
7472	update to libtool-1.5.26
7473	[4c9a8c3d3b40]
7474
7475	* config.guess, config.sub:
7476	update from libtool-1.5.26 distribution
7477	[c6641aef2527]
7478
7479	* aix.c, sudo.h:
7480	attempt to fix compilation errors on AIX
7481	[edb13e5b2184]
7482
7483	* Makefile.in:
7484	fix typo in last commit
7485	[25ba7f7ceae4]
7486
7487	* Makefile.in:
7488	Add WHATSNEW file to the distribution
7489	[213f4115de8f]
7490
7491	* visudo.c:
7492	use warningx instead of fprintf(stderr, ...)
7493	[a3494b8ccb19]
7494
7495	* list.c:
7496	add DEBUG to list2tq
7497	[115d24a3000c]
7498
7499	* ChangeLog, TODO:
7500	sync
7501	[60e6f4d1fac0]
7502
7503	* WHATSNEW:
7504	mention mailfrom
7505	[e2498f9e18d6]
7506
7507	* Makefile.in, aix.c, config.h.in, configure, configure.in,
7508	set_perms.c, sudo.h:
7509	Add aix_setlimits() to set resource limits on AIX using a
7510	combination of getuserattr() and setrlimit(). Currently untested.
7511	[9b1441fd89ca]
7512
75132008-03-05  Todd C. Miller  <Todd.Miller@courtesan.com>
7514
7515	* def_data.c, def_data.h, def_data.in, logging.c, sudoers.cat,
7516	sudoers.man.in, sudoers.pod:
7517	Add mailfrom Defaults option that sets the value of the From: field
7518	in the warning/error mail. If unset the login name of the invoking
7519	user is used.
7520	[029b9f05d3d9]
7521
7522	* defaults.c:
7523	store a copy of _PATH_SUDO_ASKPASS in def_askpass that is freeable
7524	[a90e407d5e00]
7525
7526	* gram.c, gram.y:
7527	When adding a default, only call list2tq() once to do the list to tq
7528	conversion. It is not legal to call list2tq multiple times on the
7529	same list since list2tq consumes and modifies the list argument.
7530	[fbc25d245c4a]
7531
7532	* sudoers.ldap.cat, sudoers.ldap.man.in, sudoers.ldap.pod:
7533	comment out XXXs for now
7534	[595a1d43309d]
7535
7536	* WHATSNEW:
7537	mention askpass
7538	[b993e0837c22]
7539
75402008-03-04  Todd C. Miller  <Todd.Miller@courtesan.com>
7541
7542	* sudo.c:
7543	Error out if both -A and -S are specified Error out if -A is
7544	specified but no askpass is configured
7545	[24f1df2638f6]
7546
7547	* configure, configure.in:
7548	we are not going to ship a sudo-specific askpass
7549	[61949e7a3943]
7550
75512008-03-03  Todd C. Miller  <Todd.Miller@courtesan.com>
7552
7553	* sudo.h:
7554	fix definition of TGP_ASKPASS
7555	[0447c57ba4c3]
7556
7557	* def_data.c, def_data.in:
7558	make askpass boolean-capable
7559	[e0885893a325]
7560
7561	* INSTALL:
7562	document --with-askpass
7563	[c76e15ba97cf]
7564
7565	* sudo.cat, sudo.man.in, sudoers.cat, sudoers.ldap.cat,
7566	sudoers.man.in, visudo.cat:
7567	regen
7568	[8d16242980b7]
7569
75702008-03-02  Todd C. Miller  <Todd.Miller@courtesan.com>
7571
7572	* sudo.pod, sudo_usage.h.in, sudoers.pod:
7573	document -A and askpass
7574	[02c07505a78c]
7575
7576	* auth/sudo_auth.c, check.c, configure, configure.in, def_data.c,
7577	def_data.h, def_data.in, defaults.c, pathnames.h.in, sudo.c, sudo.h,
7578	sudo_usage.h.in, tgetpass.c:
7579	Add support for running a helper program to read the password when
7580	no tty is present (or when specified with the -A flag). TODO: docs.
7581	[05780f5f71fd]
7582
7583	* def_data.c, def_data.in:
7584	add missing printf format to SELinux role and type strings
7585	[2b32774715e7]
7586
75872008-02-27  Todd C. Miller  <Todd.Miller@courtesan.com>
7588
7589	* INSTALL, configure, configure.in:
7590	Disable use of gss_krb5_ccache_name() by default and add
7591	--enable-gss-krb5-ccache-name configure option to enable it. It
7592	seems that gss_krb5_ccache_name() doesn't work properly with some
7593	combinations of Heimdal and OpenLDAP.
7594	[f61ebd3b19bd]
7595
75962008-02-22  Todd C. Miller  <Todd.Miller@courtesan.com>
7597
7598	* selinux.c:
7599	Ignore setexeccon() failing in permissive mode. Also add a call to
7600	setkeycreatecon() (though this is probably insufficient). From Dan
7601	Walsh.
7602	[52564fc1c069]
7603
7604	* auth/pam.c:
7605	Only set std_prompt for the PAM_PROMPT_* cases. The conversation
7606	function may be called for non-password reading purposes so we must
7607	be careful not to use def_prompt in cases where it may not be set.
7608	[29d88ca575ba]
7609
76102008-02-20  Todd C. Miller  <Todd.Miller@courtesan.com>
7611
7612	* selinux.c:
7613	Don't free the new tty context, we need to keep it around when we
7614	restore the tty context after the command completes
7615	[5b4bd39b6ea8]
7616
76172008-02-19  Todd C. Miller  <Todd.Miller@courtesan.com>
7618
7619	* selinux.c:
7620	s/newrole/sudo/
7621	[21b8a96ff8df]
7622
7623	* sudo.man.pl, sudo.pod:
7624	Only put login_cap(3) in SEE ALSO section if we have login.conf
7625	support
7626	[05250ddff2c0]
7627
76282008-02-18  Todd C. Miller  <Todd.Miller@courtesan.com>
7629
7630	* sudo.cat, sudo.man.in, sudoers.cat, sudoers.ldap.cat,
7631	sudoers.ldap.man.in, sudoers.man.in, visudo.cat, visudo.man.in:
7632	regen
7633	[301e5c5ccdbe]
7634
7635	* sudoers.pod:
7636	Substitute in comment characters for lines partaining to login.conf,
7637	BSD auth and SELinux and only enable them if pertinent.
7638	[c1c98fa163ce]
7639
7640	* sudoers.man.pl:
7641	Substitute in comment characters for lines partaining to login.conf,
7642	BSD auth and SELinux and only enable them if pertinent.
7643	[6c88f30b878a]
7644
7645	* sudo.pod:
7646	Substitute in comment characters for lines partaining to login.conf,
7647	BSD auth and SELinux and only enable them if pertinent.
7648	[acdbdfd24e1d]
7649
7650	* sudo.man.pl:
7651	Substitute in comment characters for lines partaining to login.conf,
7652	BSD auth and SELinux and only enable them if pertinent.
7653	[0c56d4750ac3]
7654
7655	* Makefile.in, configure, configure.in:
7656	Substitute in comment characters for lines partaining to login.conf,
7657	BSD auth and SELinux and only enable them if pertinent.
7658	[9a02bd6a6658]
7659
7660	* Makefile.in, sudo.pod, sudoers.ldap.pod, sudoers.pod, visudo.pod:
7661	Remove the =cut on the first line (above the copyright notice) to
7662	quiet pod2man. Also remove the hackery in the FILES section and
7663	just deal with the fact that there will a newline between each
7664	pathname.
7665	[2ac1ab191835]
7666
76672008-02-17  Todd C. Miller  <Todd.Miller@courtesan.com>
7668
7669	* Makefile.in:
7670	run sudo.man.pl when generating sudo.man.in
7671	[859727369168]
7672
7673	* configure, configure.in, sudo.man.pl:
7674	comment out SELinux manual bits unless --with-selinux was specified
7675	[97ff4212b649]
7676
7677	* sudoers.pod:
7678	document role and type defaults for SELinux
7679	[870f303366b3]
7680
7681	* sudo.c, sudo.cat, sudo.man.in, sudo.pod, sudo_usage.h.in:
7682	Document "sudo -ll" and make "sudo -l -l" be equivalent.
7683	[3ce6dc429ea3]
7684
76852008-02-15  Todd C. Miller  <Todd.Miller@courtesan.com>
7686
7687	* configure, configure.in:
7688	Treat k*bsd*-gnu like Linux, not BSD. Fixes compilation problems on
7689	Debian GNU/kFreeBSD.
7690	[c4efa567a328]
7691
76922008-02-13  Todd C. Miller  <Todd.Miller@courtesan.com>
7693
7694	* auth/kerb5.c:
7695	Avoid Heimdal'isms introduced in the rev 1.32 rewrite of
7696	verify_krb_v5_tgt()
7697	[f80538e5a6fa]
7698
7699	* logging.c, logging.h, sudo.c:
7700	Remove dependence on VALIDATE_NOT_OK in logging functions. Split
7701	log_auth() into log_allowed() and log_denial() Replace mail_auth()
7702	with should_mail() and a call to send_mail()
7703	[58aac9997557]
7704
77052008-02-10  Todd C. Miller  <Todd.Miller@courtesan.com>
7706
7707	* ldap.c:
7708	Add debugging so we can tell if the krb5 ccache is accessible
7709	[c679322527bb]
7710
7711	* INSTALL:
7712	mention --with-selinux
7713	[9efbe0b52194]
7714
77152008-02-09  Todd C. Miller  <Todd.Miller@courtesan.com>
7716
7717	* configure:
7718	regen
7719	[467a834f867c]
7720
7721	* selinux.c:
7722	add Sudo tag
7723	[d004ee669bed]
7724
7725	* sudo.c, sudo.cat, sudo.h, sudo.man.in, sudo.pod, sudo_usage.h.in,
7726	sudoers.ldap.cat, sudoers.ldap.man.in, sudoers.ldap.pod,
7727	testsudoers.c, toke.c, toke.l:
7728	Add support for SELinux RBAC. Sudoers entries may specify a role
7729	and type. There are also role and type defaults that may be used.
7730	To make sure a transition occurs, when using RBAC commands are
7731	executed via the new sesh binary. Based on initial changes from Dan
7732	Walsh.
7733	[1d4abfe2c004]
7734
7735	* sesh.c:
7736	Add support for SELinux RBAC. Sudoers entries may specify a role
7737	and type. There are also role and type defaults that may be used.
7738	To make sure a transition occurs, when using RBAC commands are
7739	executed via the new sesh binary. Based on initial changes from Dan
7740	Walsh.
7741	[1e3b395ce049]
7742
7743	* Makefile.in, config.h.in, configure.in, def_data.c, def_data.h,
7744	def_data.in, gram.c, gram.h, gram.y, ldap.c, parse.c, parse.h,
7745	pathnames.h.in, selinux.c:
7746	Add support for SELinux RBAC. Sudoers entries may specify a role
7747	and type. There are also role and type defaults that may be used.
7748	To make sure a transition occurs, when using RBAC commands are
7749	executed via the new sesh binary. Based on initial changes from Dan
7750	Walsh.
7751	[6b421948286e]
7752
77532008-02-08  Todd C. Miller  <Todd.Miller@courtesan.com>
7754
7755	* lbuf.c, ldap.c, parse.c, sudo.c, sudo.h, sudo_nss.c:
7756	Add long list (sudo -ll) support for printing verbose LDAP and
7757	sudoers file entries. Still need to update manual.
7758	[2875be37935c]
7759
77602008-02-03  Todd C. Miller  <Todd.Miller@courtesan.com>
7761
7762	* ldap.c, parse.c, sudo.h, sudo_nss.c, sudo_nss.h:
7763	Unify the -l output for file and ldap based sudoers and use lbufs
7764	for both. The ldap output does not currently include options that
7765	cannot be represented as tags. This will be remedied in a long list
7766	output mode to come.
7767	[b2e429456596]
7768
77692008-01-27  Todd C. Miller  <Todd.Miller@courtesan.com>
7770
7771	* set_perms.c:
7772	Use a specific error message for errno == EAGAIN when setuid() et al
7773	fails. On Linux systems setuid() will fail with errno set to EAGAIN
7774	if changing to the new uid would result in a resource limit
7775	violation.
7776	[08d0aecd9f03]
7777
7778	* sudo.c:
7779	Unlimit nproc on Linux systems where calling the setuid() family of
7780	syscalls causes the nroc resource limit to be checked. The limits
7781	will be reset by pam_limits.so when PAM is used. In the non-PAM
7782	case the nproc limit will remain unlimited but there doesn't seem to
7783	be a way around that other than having sudo parse
7784	/etc/security/limits.conf directly.
7785	[df024b415a8d]
7786
7787	* env.c, sudo.c, sudo.pod:
7788	Only read /etc/environment on Linux and AIX
7789	[90669e2aefdb]
7790
77912008-01-23  Todd C. Miller  <Todd.Miller@courtesan.com>
7792
7793	* configure, configure.in:
7794	Use SUDO_DEFINE_UNQUOTED instead of AC_DEFINE_UNQUOTED to prevent
7795	ldap.conf and ldap.secret paths from going into config.h. Avoid
7796	single quotes in variable expansion when using SUDO_DEFINE_UNQUOTED
7797	since in some versions of bash they will end up literally in the
7798	resulting define.
7799	[25390f3ef10a]
7800
78012008-01-21  Todd C. Miller  <Todd.Miller@courtesan.com>
7802
7803	* README.LDAP:
7804	mention --with-nsswitch=no
7805	[c509df927263]
7806
7807	* configure, configure.in:
7808	ldap_ssl.h depends on ldap.h being included first
7809	[d96d90e9b21f]
7810
7811	* config.h.in, configure, configure.in, ldap.c:
7812	Include ldap_ssl.h if we can find it. Needed for the
7813	ldapssl_set_strength defines on HP-UX at least.
7814	[9e530470948a]
7815
7816	* sudoers.ldap.pod:
7817	sync
7818	[b9d101f4673a]
7819
7820	* TODO:
7821	sync
7822	[2ce951b2ecd0]
7823
7824	* sudo.cat, sudo.man.in, sudoers.cat, sudoers.ldap.cat,
7825	sudoers.ldap.man.in, sudoers.man.in, visudo.cat, visudo.man.in:
7826	regen
7827	[b61d793987e0]
7828
7829	* Makefile.in:
7830	Use 78n line length when formatting cat pages.
7831	[761bee9d5759]
7832
7833	* README.LDAP:
7834	Remove redundant info that is now in sudoers.ldap.pod
7835	[01828dcce59e]
7836
78372008-01-20  Todd C. Miller  <Todd.Miller@courtesan.com>
7838
7839	* sudoers.ldap.cat, sudoers.ldap.man.in, sudoers.ldap.pod:
7840	Reorganize the first section a bit. Substitute the proper path for
7841	/etc/sudoers.
7842	[11ae165e065d]
7843
7844	* sudoers.ldap.cat, sudoers.ldap.man.in, sudoers.ldap.pod:
7845	Substitute values for ldap.conf, ldap.secret and nsswitch.conf Move
7846	schema into EXAMPLES
7847	[ab6509d1dde7]
7848
7849	* configure, configure.in:
7850	Substitute values for ldap.conf, ldap.secret and nsswitch.conf into
7851	sudoers.ldap.man.
7852	[6e689972f465]
7853
7854	* configure, configure.in:
7855	substitute for sudoers.ldap.man
7856	[5a4a25766dee]
7857
7858	* Makefile.in:
7859	Fix cut & pasto introduced when adding sudoers.ldap man page.
7860	[a7b069af8894]
7861
7862	* sudoers.ldap.cat, sudoers.ldap.man.in, sudoers.ldap.pod:
7863	Fill in some of the missing pieces. Still needs some reorganization
7864	and editing.
7865	[5e7331722166]
7866
78672008-01-19  Todd C. Miller  <Todd.Miller@courtesan.com>
7868
7869	* Makefile.in, sudoers.ldap.cat, sudoers.ldap.man.in,
7870	sudoers.ldap.pod:
7871	Beginnings of a sudoers.ldap man page. Currently, much of the
7872	information is adapted from README.LDAP.
7873	[aad28c8a922d]
7874
78752008-01-18  Todd C. Miller  <Todd.Miller@courtesan.com>
7876
7877	* pwutil.c:
7878	When copying gr_mem we must guarantee that the storage space for
7879	gr_mem is properly aligned. The simplest way to do this is to
7880	simply store gr_mem directly after struct group. This is not a
7881	problem for gr_passwd or gr_name as they are simple strings.
7882	[af58fc76f1ed]
7883
7884	* ldap.c:
7885	Fix a typo/thinko in one of the calls to
7886	sudo_ldap_check_user_netgroup(). From Marco van Wieringen.
7887	[70b2eb8097f5]
7888
78892008-01-17  Todd C. Miller  <Todd.Miller@courtesan.com>
7890
7891	* config.h.in, configure, configure.in, ldap.c:
7892	include <mps/ldap_ssl.h> in ldap.c if available
7893	[34346206ef16]
7894
78952008-01-16  Todd C. Miller  <Todd.Miller@courtesan.com>
7896
7897	* gram.c, gram.y:
7898	Make sure we define SIZE_MAX for yacc's skeleton.c
7899	[d8a45c7a3c42]
7900
7901	* tgetpass.c:
7902	Use TCSAFLUSH when restoring terminal settings (and echo) to
7903	guarantee that any pending output is discarded
7904	[549a184479e5]
7905
79062008-01-15  Todd C. Miller  <Todd.Miller@courtesan.com>
7907
7908	* sudoers:
7909	no longer need to specify SETENV when user has sudo ALL
7910	[3051b41f8032]
7911
7912	* testsudoers.c:
7913	sync user_args size calculation with sudo.c Add -g group option,
7914	renaming old -g to -G Add set_runasgr() and set_runaspw() and use
7915	them
7916	[0850325180f0]
7917
7918	* sudo.c, sudo.h:
7919	Make set_runaspw static void
7920	[5d44d7a340ce]
7921
7922	* testsudoers.c, visudo.c:
7923	g/c set_runaspw stub
7924	[79ebb5e2cc38]
7925
7926	* configure, configure.in:
7927	Don't add -llber twice.
7928	[4356d302eef4]
7929
79302008-01-14  Todd C. Miller  <Todd.Miller@courtesan.com>
7931
7932	* ldap.c:
7933	fix typo
7934	[249cecc557e9]
7935
79362008-01-13  Todd C. Miller  <Todd.Miller@courtesan.com>
7937
7938	* gram.c:
7939	regen
7940	[2f94ea375b67]
7941
7942	* configure, configure.in:
7943	Fix check that determines whether -llber is required.
7944	[6afa99523379]
7945
7946	* README.LDAP, config.h.in, configure, configure.in, ldap.c:
7947	For netscape-based LDAP, use ldapssl_set_strength() to implement the
7948	checkpeer ldap.conf option.
7949	[16ae24d73795]
7950
7951	* auth/kerb5.c:
7952	Delay krb5_cc_initialize() until we actually need to use the cred
7953	cache, which is what krb5_verify_user() does. Better cleanup on
7954	failure.
7955	[d12e5f1695b8]
7956
79572008-01-12  Todd C. Miller  <Todd.Miller@courtesan.com>
7958
7959	* auth/kerb5.c:
7960	Rewrite verify_krb_v5_tgt() based on what heimdal's
7961	krb5_verify_user() does.
7962	[05b5815f86c9]
7963
79642008-01-09  Todd C. Miller  <Todd.Miller@courtesan.com>
7965
7966	* gram.c:
7967	The U suffix on constants is an ANSI feature
7968	[c6dfce3167f1]
7969
7970	* configure, configure.in:
7971	Add check for ber_set_option() in -llber
7972	[43d0c0566074]
7973
79742008-01-07  Todd C. Miller  <Todd.Miller@courtesan.com>
7975
7976	* README.LDAP:
7977	default if no nsswitch.conf is files only
7978	[c13001d9c998]
7979
79802008-01-06  Todd C. Miller  <Todd.Miller@courtesan.com>
7981
7982	* README.LDAP:
7983	don't tell people to mail aaron about LDAP stuff
7984	[8165ec1ef0c6]
7985
7986	* README.LDAP:
7987	timelimit and bind_timelimit
7988	[44f74cbed167]
7989
7990	* ChangeLog:
7991	sync
7992	[aba1a0ab02bd]
7993
7994	* ldap.c:
7995	Move ldap.secret reading into a separate function.
7996	[1948acc9f7a4]
7997
7998	* check.c:
7999	user_runas -> runas_pw
8000	[334490fc2bae]
8001
80022008-01-05  Todd C. Miller  <Todd.Miller@courtesan.com>
8003
8004	* TODO:
8005	sync
8006	[c7b165cc47c6]
8007
8008	* check.c, sudo.pod, sudoers.pod:
8009	Add and document the %p escape in the password prompt. Based on a
8010	patch from Patrick Schoenfeld.
8011	[3972d4f31ffa]
8012
8013	* ldap.c:
8014	Check strlcpy() return values.
8015	[9b42f3ae8ff1]
8016
8017	* ldap.c:
8018	refactor ldap binding code into sudo_ldap_bind_s()
8019	[cb0c66a4d955]
8020
8021	* README.LDAP:
8022	Make it clear that host and uri can take multiple parameters. URI is
8023	now supported for more than just openldap nsswitch.conf does't
8024	accept "compat"
8025	[f610dea656d6]
8026
8027	* sudo.c:
8028	comment cleanup and update (c) year
8029	[6cd69c810ca5]
8030
8031	* parse.c, sudo_nss.c:
8032	Move display_privs() and display_cmnd() from parse.c to sudo_nss.c.
8033	This should make it possible to build an LDAP-only sudo binary.
8034	[61c3f27066a0]
8035
8036	* ldap.c, parse.c, sudo.c, sudo.h, sudo_nss.h:
8037	Improve chaining of multiple sudoers sources by passing in the
8038	previous return value to the next in the chain
8039	[2c0b722b1b2d]
8040
8041	* gram.y:
8042	Free up parser data structures in sudo_file_close().
8043	[2251531d4519]
8044
8045	* gram.c, parse.c:
8046	Free up parser data structures in sudo_file_close().
8047	[8371f130f401]
8048
8049	* ldap.c:
8050	Parse uri ourself if no ldap_initialize() is present Use
8051	ldap_create() instead of deprecated ldap_init() Use
8052	ldap_sasl_bind_s() instead of deprecated ldap_simple_bind_s()
8053	[85d3825b1953]
8054
8055	* config.h.in, configure, configure.in:
8056	Add check for ldap_sasl_bind_s() Remove -DLDAP_DEPRECATED from
8057	CFLAGS
8058	[240524512bc5]
8059
80602008-01-04  Todd C. Miller  <Todd.Miller@courtesan.com>
8061
8062	* config.h.in, configure, configure.in:
8063	add check for ldap_create
8064	[3089badd73b8]
8065
80662008-01-03  Todd C. Miller  <Todd.Miller@courtesan.com>
8067
8068	* config.h.in, configure, configure.in, ldap.c:
8069	Add sudo_ldap_get_first_rdn() to return the first rdn of an entry's
8070	dn using the mechanism appropriate for the LDAP SDK in use. Use
8071	ldap_unbind_ext_s() instead of deprecated ldap_unbind_s(). Emulate
8072	ldap_unbind_ext_s() and ldap_search_ext_s() for SDK's without them.
8073	[6deeca3d00cc]
8074
8075	* lbuf.c:
8076	include unistd.h
8077	[8419ed0bae7f]
8078
8079	* config.h.in, configure.in:
8080	fix typo in mtim_getnsec
8081	[2d5f21230a60]
8082
80832008-01-02  Todd C. Miller  <Todd.Miller@courtesan.com>
8084
8085	* config.h.in, configure, configure.in:
8086	add check for st__tim in struct stat as used by SCO
8087	[587060ea2a89]
8088
8089	* ldap.c:
8090	use ldap_search_ext_s instead of deprecated ldap_search_s
8091	[5fc44fe3b44c]
8092
8093	* Makefile.in, TODO, sudo.cat, sudo.man.in:
8094	add sudo_nss.h to HDRS
8095	[86f01a70ff29]
8096
8097	* ldap.c:
8098	Replace deprecated ldap_explode_dn() with calls to ldap_str2dn() and
8099	ldap_rdn2str().
8100	[aa217002cfae]
8101
81022008-01-01  Todd C. Miller  <Todd.Miller@courtesan.com>
8103
8104	* ldap.c:
8105	Use ldap_get_values_len()/ldap_value_free_len() instead of the
8106	deprecated ldap_get_values()/ldap_value_free().
8107	[e22dceb85e57]
8108
8109	* ChangeLog:
8110	sync
8111	[adad27b36107]
8112
8113	* TODO:
8114	sync
8115	[c449eb47e0ef]
8116
8117	* gettime.c, sudo.c:
8118	Remove some already fixed XXXs
8119	[532788d0e6da]
8120
8121	* ldap.c:
8122	Same return value as non-existent sudoers if LDAP was unable to
8123	connect.
8124	[5819810e8e4e]
8125
8126	* sudo.pod:
8127	mention /etc/environment
8128	[ea8e6102f853]
8129
8130	* README.LDAP, UPGRADE, WHATSNEW:
8131	Update to reflect recent developments.
8132	[ed1fb026fe77]
8133
8134	* sudo.c:
8135	Print nsswitch.conf, ldap.conf and ldap.secret paths in -V output.
8136	[55b68a58260d]
8137
8138	* ldap.c:
8139	When building up a query don't list groups in the aux group vector
8140	that are the same as the passwd file group. On most systems the
8141	first gid in the group vector is the same as the passwd entry gid.
8142	[4bb51e297e0d]
8143
8144	* env.c, ldap.c:
8145	Define LDAPNOINIT before calling ldap_init(), etc. to disable user
8146	ldaprc and system defaults that could affect how LDAP works.
8147	[ce5036440db2]
8148
8149	* INSTALL, configure, configure.in, pathnames.h.in, sudo.c,
8150	sudo_nss.c, sudo_nss.h:
8151	Rename read_nss -> sudo_read_nss Add --with-nsswitch to allow users
8152	to specify nsswitch.conf path or disable it. If --with-nsswitch=no
8153	but --with-ldap, order is LDAP, then sudoers. Fix --with-ldap-conf-
8154	file and --with-ldap-secret-file
8155	[ea5d7704381f]
8156
8157	* parse.c:
8158	Honor def_ignore_local_sudoers
8159	[f38e1121fae1]
8160
81612007-12-31  Todd C. Miller  <Todd.Miller@courtesan.com>
8162
8163	* ldap.c:
8164	no longer need to check def_ignore_local_sudoers here
8165	[fce2a72f96fb]
8166
8167	* parse.c:
8168	Refactor group vector resetting into a function and also call it
8169	from display_cmnd. Stop after the first sucessful match in
8170	display_cmnd. Print a newline between each display_privs method.
8171	[981b37b5adff]
8172
8173	* parse.c:
8174	fix double free introduced in rev 1.218
8175	[c574b02d8747]
8176
8177	* ldap.c:
8178	belt and suspenders; zero out result after freeing it
8179	[7732988d4620]
8180
8181	* env.c, fileops.c, ldap.c, sudo.h, sudo_nss.c:
8182	Refactor line reading into a separate function, sudo_parseln(),
8183	which removes comments, leading/trailing whitespace and newlines.
8184	May want to rethink the use of sudo_parseln() for /etc/ldap.secret
8185	[61d9068f0645]
8186
8187	* parse.c, sudo.c:
8188	Make the inability to read the sudoers file a non-fatal error if
8189	there are other sudoers sources available. sudoers_file_lookup now
8190	returns "not OK" if sudoers was not present
8191	[643babf597a8]
8192
8193	* ldap.c:
8194	make it clear that the global options are from LDAP
8195	[9ff950349463]
8196
8197	* logging.c:
8198	allocate proper amount of space for error string
8199	[8bebb7d46d19]
8200
8201	* sudo_nss.c, sudo_nss.h:
8202	actual sudo nss code
8203	[5bd7d52d7738]
8204
8205	* ldap.c, parse.c, sudo.c, sudo.h:
8206	nss-ify display_privs and display_cmnd.
8207	[cccfdd3253f2]
8208
8209	* defaults.c, parse.c, testsudoers.c, visudo.c:
8210	move update_defaults() to parse.c
8211	[ace144b958a9]
8212
8213	* Makefile.in, ldap.c, list.c, parse.c, parse.h, sudo.c, sudo.h:
8214	Use nsswitch to hide some sudoers vs. ldap implementation details
8215	and reduce the number of #ifdef LDAP TODO: fix display routines and
8216	error handling
8217	[6225edde89a6]
8218
82192007-12-28  Todd C. Miller  <Todd.Miller@courtesan.com>
8220
8221	* Makefile.in, README.LDAP, ldap.c, pathnames.h.in, sudo.c, sudo.h:
8222	First cut at nsswitch.conf support. Further reorganizaton and
8223	related changes are forthcoming.
8224	[717f59d0790b]
8225
82262007-12-21  Todd C. Miller  <Todd.Miller@courtesan.com>
8227
8228	* env.c, pathnames.h.in, sudo.c, sudo.h:
8229	Add support for reading and /etc/environment file. Still needs to
8230	be documented and should probably only applies to OSes that have it
8231	(AIX and Linux, maybe others).
8232	[15d3edae27e4]
8233
8234	* ldap.c:
8235	include limits.h
8236	[e19875ef0f82]
8237
82382007-12-20  Todd C. Miller  <Todd.Miller@courtesan.com>
8239
8240	* WHATSNEW:
8241	reword LDAP SASL
8242	[7ec3c4ec31b5]
8243
82442007-12-19  Todd C. Miller  <Todd.Miller@courtesan.com>
8245
8246	* TODO:
8247	sync
8248	[87c5a7aea7bf]
8249
8250	* README.LDAP:
8251	Add an example sudoRole, clarify netscape vs. openldap a bit more
8252	[6f96c0ca8107]
8253
8254	* README.LDAP:
8255	Be clear on what is OpenLDAP vs. Netscape-derived
8256	[a33c8314dec5]
8257
8258	* config.h.in, configure, configure.in, ldap.c:
8259	Use ldapssl_init() for ldaps support instead of trying to do it
8260	manually with ldap_init() + ldapssl_install_routines(). Use tls_cert
8261	and tls_key for cert7.db and key3.db respectively. Don't print
8262	debugging info for options that are not set. Add warning if
8263	start_tls specified when not supported.
8264	[abb62dc7e4a3]
8265
8266	* ldap.c:
8267	fix compilation on solaris
8268	[03d449684e80]
8269
8270	* Makefile.in:
8271	add missing .h and .c files for missing lib objs
8272	[8b37825bdfc7]
8273
82742007-12-18  Todd C. Miller  <Todd.Miller@courtesan.com>
8275
8276	* ldap.c:
8277	fix LDAP_OPT_NETWORK_TIMEOUT setting
8278	[226eba89c0ad]
8279
8280	* ldap.c:
8281	fix compilation on Solaris
8282	[917d47639eb6]
8283
82842007-12-17  Todd C. Miller  <Todd.Miller@courtesan.com>
8285
8286	* configure, configure.in:
8287	fix typo
8288	[009d5c81b225]
8289
8290	* README.LDAP:
8291	try to clear up which variables are for OpenLDAP and which are for
8292	netscape-derived SDKs
8293	[f8d9823ee73c]
8294
8295	* config.h.in, configure, configure.in, ldap.c:
8296	Add support for "ssl on" in both netscape and openldap flavors. Only
8297	the OpenLDAP flavor has been tested.
8298	[952745829ec5]
8299
8300	* logging.c, sudo.c, sudo.h:
8301	Call cleanup() before exit in log_error() instead of calling
8302	sudo_ldap_close() directly. ldap_conn can now be static to sudo.c
8303	[da02d1b67a2c]
8304
8305	* sudo.c:
8306	ld -> ldap_conn
8307	[01afa6d927cc]
8308
83092007-12-16  Todd C. Miller  <Todd.Miller@courtesan.com>
8310
8311	* logging.c, sudo.c, sudo.h:
8312	Better ldap cleanup.
8313	[25b9abe2d617]
8314
8315	* ldap.c:
8316	Distinguish between LDAP conf settings that are connection-specific
8317	(which take an ld pointer) and those that are default settings
8318	(which do not).
8319	[d48dc6c9c3b4]
8320
83212007-12-14  Todd C. Miller  <Todd.Miller@courtesan.com>
8322
8323	* ldap.c:
8324	Improved warnings on error.
8325	[c8dce7b4feb4]
8326
8327	* ldap.c:
8328	Make ldap config table driven and set the config *after* we open the
8329	connection.
8330	[d9698b5a2681]
8331
83322007-12-13  Todd C. Miller  <Todd.Miller@courtesan.com>
8333
8334	* ldap.c:
8335	fix LDAP_OPT_X_CONNECT_TIMEOUT compat define
8336	[598c6df06660]
8337
8338	* configure, configure.in:
8339	some operating systems need to link with -lkrb5support when using
8340	krb5
8341	[8896365dde9e]
8342
83432007-12-10  Todd C. Miller  <Todd.Miller@courtesan.com>
8344
8345	* WHATSNEW:
8346	minor update
8347	[acfeeb7f4886]
8348
8349	* sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in:
8350	regen
8351	[a3c6699674f9]
8352
83532007-12-08  Todd C. Miller  <Todd.Miller@courtesan.com>
8354
8355	* ChangeLog, TODO:
8356	sync
8357	[138e99b925ee]
8358
8359	* ldap.c, schema.OpenLDAP, schema.iPlanet, sudoers2ldif:
8360	add -g support for LDAP
8361	[8fc27dbe9287]
8362
83632007-12-03  Todd C. Miller  <Todd.Miller@courtesan.com>
8364
8365	* WHATSNEW, sudo.c, sudo.pod, sudo_usage.h.in:
8366	The -i and -s flags can now take an optional command.
8367	[6afec104ee77]
8368
83692007-12-02  Todd C. Miller  <Todd.Miller@courtesan.com>
8370
8371	* auth/pam.c, def_data.c, def_data.h, def_data.in, sudo.c, sudo.pod,
8372	sudoers.pod:
8373	Add passprompt_override flag to sudoers that will cause the prompt
8374	to be overridden in all cases. This flag is also set when the user
8375	specifies the -p flag.
8376	[e4c5402131a6]
8377
8378	* sudo.c:
8379	Move setting of login class until after sudoers has been parsed. Set
8380	NewArgv[0] for -i after runas_pw has been set.
8381	[62a48c8c56fa]
8382
8383	* configure, configure.in:
8384	Move the dgettext check.
8385	[5fd8a4712d1c]
8386
83872007-12-01  Todd C. Miller  <Todd.Miller@courtesan.com>
8388
8389	* auth/pam.c, config.h.in, configure, configure.in:
8390	Add basic support for looking up the string "Password: " in the PAM
8391	localized text db. This allows us to determine whether the PAM
8392	prompt is the default "Password: " one even if it has been
8393	localized.
8394
8395	TODO: concatenate non-std PAM prompts and user-specified sudo
8396	prompts.
8397	[81c25a415d41]
8398
83992007-11-27  Todd C. Miller  <Todd.Miller@courtesan.com>
8400
8401	* Makefile.in, config.h.in, configure, configure.in, parse.c,
8402	set_perms.c, sudo.c, sudo.h:
8403	Use AC_FUNC_GETGROUPS instead of a home-grown attempt that was
8404	insufficient.
8405	[1cce6ec1a91e]
8406
8407	* acsite.m4, configure, interfaces.c, memrchr.c:
8408	Fix typos; Martynas Venckus
8409	[be1233cca11a]
8410
84112007-11-26  Todd C. Miller  <Todd.Miller@courtesan.com>
8412
8413	* set_perms.c:
8414	Don't assume runas_pw is set; it may not be in the -g case.
8415	[aa11bd2193ac]
8416
84172007-11-25  Todd C. Miller  <Todd.Miller@courtesan.com>
8418
8419	* logging.c, set_perms.c:
8420	Set aux group vector for PERM_RUNAS and restore group vector for
8421	PERM_ROOT if we previously changed it. Stash the runas group vector
8422	so we don't have to call initgroups more than once. Also add no-op
8423	check to check_perms.
8424	[53837fc755f7]
8425
84262007-11-21  Todd C. Miller  <Todd.Miller@courtesan.com>
8427
8428	* WHATSNEW, check.c, def_data.in, defaults.c, gram.c, gram.h, gram.y,
8429	ldap.c, logging.c, match.c, mon_systrace.c, parse.c, parse.h,
8430	pwutil.c, set_perms.c, sudo.c, sudo.cat, sudo.h, sudo.man.in,
8431	sudo.pod, sudo_usage.h.in, sudoers.cat, sudoers.man.in, sudoers.pod,
8432	testsudoers.c, visudo.c, visudo.cat, visudo.man.in:
8433	Add support for runas groups. This allows the user to run a command
8434	with a different effective group. If the -g option is specified
8435	without -u the command will be run as the current user (only the
8436	group will change). the -g and -u options may be used together.
8437	TODO: implement runas group for ldap improve runas group
8438	documentation add testsudoers support
8439	[9019309df6d0]
8440
8441	* configure, configure.in:
8442	fix setting of mandir
8443	[2c60f269399f]
8444
8445	* sudo.pod, sudoers.pod:
8446	document that ALL implies SETENV
8447	[bcc8e5b703b9]
8448
8449	* ldap.c:
8450	s/setenv_ok/setenv_implied/g
8451	[f005df2c2eea]
8452
8453	* ldap.c:
8454	hostname_matches() returns TRUE on match in sudo 1.7.
8455	[c3d4377b6e8b]
8456
8457	* ldap.c:
8458	use strcmp, not strcasecmp when comparing ALL
8459	[e486024574a1]
8460
8461	* ldap.c:
8462	Make sudo ALL imply setenv. Note that unlike with file-based
8463	sudoers this does affect all the commands in the sudoRole.
8464	[bc12f54321d1]
8465
8466	* gram.c, gram.y, parse.c, parse.h:
8467	sudo "ALL" now implies the SETENV tag but, unlike an explicit tag,
8468	it is not passed on to other commands in the list.
8469	[026e2cb40680]
8470
8471	* visudo.c:
8472	Add missing sudo_setpwent() and sudo_setgrent() calls. Also use
8473	sudo_getpwuid() instead of getpwuid().
8474	[86f30a8fbd49]
8475
84762007-11-15  Todd C. Miller  <Todd.Miller@courtesan.com>
8477
8478	* sudoers:
8479	Expand on the dangers of not using visudo to edit sudoers.
8480	[e434e8057d02]
8481
84822007-11-08  Todd C. Miller  <Todd.Miller@courtesan.com>
8483
8484	* parse.c:
8485	Don't quote *?[]! on output since the lexer does not strip off the
8486	backslash when reading those in.
8487	[561da4a13afa]
8488
84892007-11-07  Todd C. Miller  <Todd.Miller@courtesan.com>
8490
8491	* glob.c:
8492	expand "u_foo" types to "unsigned foo" to avoid compatibility
8493	issues.
8494	[b0d7c64d78c3]
8495
84962007-11-04  Todd C. Miller  <Todd.Miller@courtesan.com>
8497
8498	* logging.c:
8499	Refactor log line generation in to new_logline().
8500	[6a9b9730615d]
8501
85022007-10-25  Todd C. Miller  <Todd.Miller@courtesan.com>
8503
8504	* TROUBLESHOOTING:
8505	fix typo
8506	[9e19d4f86e47]
8507
85082007-10-24  Todd C. Miller  <Todd.Miller@courtesan.com>
8509
8510	* config.h.in, configure, configure.in, interfaces.c, interfaces.h,
8511	match.c:
8512	Add configure check for struct in6_addr instead of relying on
8513	AF_INET6 since some systems define AF_INET6 but do not include IPv6
8514	support.
8515	[e24082c416bd]
8516
85172007-10-21  Todd C. Miller  <Todd.Miller@courtesan.com>
8518
8519	* configure, configure.in:
8520	Fix block to add -lutil for FreeBSD and NetBSD when logincap is in
8521	use.
8522	[76a9df4a63be]
8523
85242007-10-20  Todd C. Miller  <Todd.Miller@courtesan.com>
8525
8526	* configure, configure.in:
8527	POSIX states that struct timespec be declared in time.h so check
8528	there regardless of the value of TIME_WITH_SYS_TIME.
8529	[e42c55ec9daf]
8530
85312007-10-17  Todd C. Miller  <Todd.Miller@courtesan.com>
8532
8533	* tgetpass.c:
8534	Instead of defining a macro to call the appropriate method for
8535	turning on/off echo, just define tc[gs]etattr() and the related
8536	defines that use the correct terminal ioctls if needed. Also go back
8537	to using TCSAFLUSH instead of TCSADRAIN on all but QNX.
8538	[5dfb2379d995]
8539
85402007-10-09  Todd C. Miller  <Todd.Miller@courtesan.com>
8541
8542	* Makefile.in:
8543	g/c @ALLOCA@
8544	[e6946c2e3820]
8545
8546	* configure:
8547	regen
8548	[9bac7159a138]
8549
8550	* INSTALL, auth/pam.c, config.h.in, configure.in:
8551	Add --disable-pam-session configure option to disable calling
8552	pam_{open,close}_session. May work around bugs in some PAM
8553	implementations.
8554	[273d0fdb4a9d]
8555
85562007-10-08  Todd C. Miller  <Todd.Miller@courtesan.com>
8557
8558	* tgetpass.c:
8559	quiet gcc warnings
8560	[325565c5a579]
8561
8562	* tgetpass.c:
8563	Avoid printing the prompt if we are already backgrounded. E.g. if
8564	the user runs "sudo foo &" from the shell. In this case, the call
8565	to tcsetattr() will cause SIGTTOU to be delivered.
8566	[db2139a8d8b8]
8567
85682007-09-15  Todd C. Miller  <Todd.Miller@courtesan.com>
8569
8570	* def_data.c, def_data.h, def_data.in:
8571	Reorder things such that the definition of env_reset come right
8572	before the env variable lists.
8573	[e0d8e22a581a]
8574
8575	* parse.h:
8576	Shrink type and seqno in struct alias from int to u_short
8577	[9425263dd565]
8578
8579	* alias.c, match.c, parse.c, parse.h:
8580	Add a sequence number in the aliases for loop detection. If we find
8581	an alias with the seqno already set to the current (global) value we
8582	know we've visited it before so ignore it.
8583	[301a0548ffff]
8584
85852007-09-13  Todd C. Miller  <Todd.Miller@courtesan.com>
8586
8587	* TODO, auth/pam.c, sudo.c, sudo.h:
8588	PAM wants the full tty path so add user_ttypath which holds the full
8589	path to the tty or is NULL if no tty was present.
8590	[c7c1dd4b36c8]
8591
8592	* auth/pam.c:
8593	Set PAM_RHOST to work around a bug in Solaris 7 and lower that
8594	results in a segv.
8595	[3a8865b3a357]
8596
85972007-09-11  Todd C. Miller  <Todd.Miller@courtesan.com>
8598
8599	* gram.c:
8600	regen
8601	[5647be127950]
8602
8603	* alias.c, defaults.c, gram.y, list.c, list.h, match.c, parse.c,
8604	parse.h, testsudoers.c, visudo.c:
8605	rename lh_ -> tq_
8606	[8f500c542c4a]
8607
86082007-09-10  Todd C. Miller  <Todd.Miller@courtesan.com>
8609
8610	* alloc.c:
8611	remove some useless casts
8612	[409a448b23f5]
8613
8614	* alloc.c:
8615	pull in inttypes.h for SIZE_MAX; we avoid stdint.h since inttypes.h
8616	predates the final C99 spec and the standard specifies that it shall
8617	include stdint.h anyway
8618	[ae478fdef61a]
8619
86202007-09-06  Todd C. Miller  <Todd.Miller@courtesan.com>
8621
8622	* Makefile.in, alloca.c, configure.in:
8623	Since we ship with a pre-generated parser there is no need to ship a
8624	bogus alloca implementation.
8625	[3f611a7cc0e5]
8626
8627	* configure:
8628	regen
8629	[771eccf5269c]
8630
8631	* configure.in:
8632	remove initial setting of CHECKSIA, we require that it be unset if
8633	not used
8634	[a2e91adc5aa2]
8635
8636	* Makefile.in:
8637	add list.c to SRCS
8638	[7db0e56cf5b9]
8639
8640	* configure:
8641	regen
8642	[3716ec30172e]
8643
8644	* configure.in:
8645	only do SIA checks on Digital Unix
8646	[6a96e1af2597]
8647
86482007-09-05  Todd C. Miller  <Todd.Miller@courtesan.com>
8649
8650	* sudoers.cat, sudoers.man.in:
8651	regen
8652	[ac1dc29de72b]
8653
8654	* ChangeLog, TODO:
8655	sync
8656	[781effce0a2d]
8657
8658	* auth/kerb5.c:
8659	Remove call to krb5_cc_register() as it is not needed for modern
8660	kerb5.
8661	[351b8b764f16]
8662
8663	* configure:
8664	regen
8665	[ac21dbcc9c2c]
8666
8667	* aclocal.m4, configure.in:
8668	New method for setting the default authentication type and avoiding
8669	conflicts in auth types.
8670	[5fb15be11f78]
8671
8672	* match.c, parse.c, testsudoers.c:
8673	Each entry in a cmndlist now has an associated runaslist so no need
8674	to keep track of the most recent non-NULL one.
8675	[582e015786b0]
8676
86772007-09-04  Todd C. Miller  <Todd.Miller@courtesan.com>
8678
8679	* ldap.c:
8680	back out partial ldaps support mistakenly committed
8681	[357703e94b2d]
8682
8683	* ldap.c:
8684	Add support for unix groups and netgroups in sudoRunas
8685	[2f04eb91c6d0]
8686
86872007-09-03  Todd C. Miller  <Todd.Miller@courtesan.com>
8688
8689	* sudo_edit.c:
8690	Fix sudoedit of a non-existent file. From Tilo Stritzky.
8691	[a5488a03bddd]
8692
86932007-09-02  Todd C. Miller  <Todd.Miller@courtesan.com>
8694
8695	* configure:
8696	regen
8697	[541177376ee1]
8698
8699	* INSTALL:
8700	update --passprompt escape info
8701	[6d57db4cd538]
8702
8703	* configure.in:
8704	remove now-bogus comment and update copyright date
8705	[6a4af45fa331]
8706
8707	* configure.in:
8708	Fix up use of with_passwd
8709	[7c79d8640f77]
8710
8711	* acsite.m4, config.guess, config.sub, configure.in, ltmain.sh:
8712	Update to autoconf-2.61 andf libtool-1.5.24
8713	[045259b0b439]
8714
8715	* Makefile.in:
8716	"cmp -s" not just cmp Add @datarootdir@ to quiet autoconf-2.61
8717	[f5b6a7afb817]
8718
87192007-09-01  Todd C. Miller  <Todd.Miller@courtesan.com>
8720
8721	* gram.c:
8722	regen
8723	[b5b78e71d2cb]
8724
8725	* gram.y:
8726	move tags and runaslist propagation to be earlier
8727	[94f7805f4489]
8728
8729	* visudo.c:
8730	If -f flag given use the permissions of the original file as a
8731	template
8732	[9303d22bddb0]
8733
8734	* gram.y:
8735	prevent a double free() when re-initing the parser
8736	[5b3907c4de5a]
8737
87382007-08-31  Todd C. Miller  <Todd.Miller@courtesan.com>
8739
8740	* configure:
8741	regen
8742	[49a90b19a17d]
8743
8744	* aclocal.m4, alias.c, alloc.c, auth/API, auth/afs.c, auth/bsdauth.c,
8745	auth/kerb4.c, auth/kerb5.c, auth/pam.c, auth/securid.c,
8746	auth/securid5.c, auth/sia.c, auth/sudo_auth.h, config.h.in,
8747	configure.in, env.c, ldap.c, list.c, list.h, memrchr.c, parse.c,
8748	parse.h, pwutil.c, redblack.c, redblack.h, snprintf.c, sudo.c,
8749	sudo.h, testsudoers.c, visudo.c, zero_bytes.c:
8750	Remove support for compilers that don't support void *
8751	[35e1d01ae197]
8752
8753	* gram.c:
8754	regen
8755	[70ce412a458a]
8756
8757	* Makefile.in, alias.c, defaults.c, gram.y, list.c, list.h, match.c,
8758	parse.c, parse.h, testsudoers.c, visudo.c:
8759	Move list manipulation macros to list.h and create C versions of the
8760	more complex ones in list.c. The names have been down-cased so they
8761	appear more like normal functions.
8762	[9cea0e281148]
8763
8764	* Makefile.in:
8765	Fix cmp command when regenerating parser. Make gram.o the first
8766	dependency for all programs so gram.h will be generated before
8767	anything that needs it.
8768	[429ea065abf1]
8769
8770	* gram.y, parse.h:
8771	Convert NEW_DEFAULT anf NEW_MEMBER into static functions.
8772	[2f3433833589]
8773
8774	* match.c, parse.c, testsudoers.c:
8775	Use LH_FOREACH_REV when checking permission and short-circuit on the
8776	first non-UNSPEC hit we get for the command. This means that
8777	instead of cycling through the all the parsed sudoers entries we
8778	start at the end and work backwards and quit after the first
8779	positive or negative match.
8780	[881474532f3e]
8781
8782	* gram.c:
8783	regen
8784	[9152a19d4188]
8785
8786	* defaults.c, gram.y, parse.c, parse.h, testsudoers.c, visudo.c:
8787	Change list head macros to take a pointer, not a struct.
8788	[054f1dcce4cc]
8789
8790	* gram.c:
8791	regen
8792	[be154aae6235]
8793
8794	* gram.y:
8795	Propagate the runasspec from one command to the next in a cmndspec.
8796	[4957b1cb03a3]
8797
87982007-08-30  Todd C. Miller  <Todd.Miller@courtesan.com>
8799
8800	* match.c:
8801	Replace has_meta() with a macro that calls strpbrk().
8802	[a2e58846a542]
8803
8804	* regen
8805	[5a932a5c9451]
8806
8807	* alias.c, defaults.c, gram.y, match.c, parse.c, parse.h,
8808	testsudoers.c, visudo.c:
8809	Use a list head struct when storing the semi-circular lists and
8810	convert to tail queues in the process. This will allow us to
8811	reverse foreach loops more easily and it makes it clearer which
8812	functions expect a list as opposed to a single member.
8813
8814	Add macros for manipulating lists. Some of these should become
8815	functions.
8816
8817	When freeing up a list, just pop off the last item in the queue
8818	instead of going from head to tail. This is simpler since we don't
8819	have to stash a pointer to the next member, we always just use the
8820	last one in the queue until the queue is empty.
8821
8822	Rename match functions that take a list to have list in the name.
8823	Break cmnd_matches() into cmnd_matches() and cmndlist_matches.
8824	[7c37b271607a]
8825
8826	* parse.c:
8827	Fix pasto, append "!" not negated (which is an int) for sudo -l
8828	output.
8829	[93a444c3997f]
8830
8831	* Makefile.in:
8832	Remove the dependency of gram .h on gram.y, the .c dependency is
8833	enough. Only move y.tab.h to gram.h if it is different; avoids
8834	needless rebuilding.
8835	[67bf4ea2a2e5]
8836
88372007-08-27  Todd C. Miller  <Todd.Miller@courtesan.com>
8838
8839	* sudoers.pod:
8840	Defaults lines may be associated with lists of users, hosts,
8841	commands and runas users, not just single entries.
8842	[795effacb6be]
8843
88442007-08-26  Todd C. Miller  <Todd.Miller@courtesan.com>
8845
8846	* Makefile.in:
8847	Revert the "cmp" portion of the last diff, it doesn't make sense.
8848	[26f34bf4e2e3]
8849
8850	* Makefile.in:
8851	Remove *.lo for clean: When generating the parser, only move the
8852	generated files into place if they differ from the existing ones.
8853	[84673fea371b]
8854
88552007-08-25  Todd C. Miller  <Todd.Miller@courtesan.com>
8856
8857	* toke.c, toke.l:
8858	Replace IPV6 regexp with a much simpler (readable) one and add an
8859	extra check when it matches to make sure we have a valid address.
8860	[592e9f690556]
8861
8862	* match.c:
8863	Fix thinko introduced when merging IPV6 support.
8864	[da38cd5eb8c7]
8865
88662007-08-24  Todd C. Miller  <Todd.Miller@courtesan.com>
8867
8868	* HISTORY, LICENSE:
8869	regen
8870	[0d7b27b90634]
8871
8872	* license.pod:
8873	add 2007
8874	[510e5048ae1a]
8875
8876	* UPGRADE:
8877	mention #uid vs. comment pitfall
8878	[4d2861898bcc]
8879
8880	* acsite.m4:
8881	Merge in a patch from the libtool cvs that fixes a problem with the
8882	latest autoconf. From Stepan Kasal.
8883	[0c279ae7df3e]
8884
8885	* parse.h:
8886	Back out he XOR swap trick, it is slower than a temp variable on
8887	modern CPUs.
8888	[91c4b024e317]
8889
8890	* gram.c:
8891	regen
8892	[cb6d4106fb74]
8893
8894	* gram.y, parse.h:
8895	Convert the tail queue to a semi-circle queue and use the XOR swap
8896	trick to swap the prev pointers during append.
8897	[8bf4d9fbee58]
8898
88992007-08-23  Todd C. Miller  <Todd.Miller@courtesan.com>
8900
8901	* parse.h:
8902	remove useless statement
8903	[421ec1dd73e6]
8904
8905	* toke.c, toke.l:
8906	Refactor #include parsing into a separate function and return
8907	unparsed chars (such as newline or comment) back to the lexer.
8908	[64166917aa3d]
8909
89102007-08-22  Todd C. Miller  <Todd.Miller@courtesan.com>
8911
8912	* WHATSNEW:
8913	mention better uid support
8914	[56f510e7f2ec]
8915
8916	* sudoers.pod:
8917	Users may now consist of a uid.
8918	[5fd31b2c55ed]
8919
8920	* gram.c, gram.h, toke.c:
8921	regen
8922	[599e58af6dc1]
8923
8924	* parse.c:
8925	Use lbuf_append_quoted() for sudo -l output to quote characters that
8926	would require quoting in sudoers.
8927	[3132d05c990a]
8928
8929	* lbuf.c, lbuf.h:
8930	Add lbuf_append_quoted() which takes a set of characters which
8931	should be quoted with a backslash when displayed.
8932	[ab09bebb1d65]
8933
8934	* toke.l:
8935	Require that the first character after a comment not be a digit or a
8936	dash. This allows us to remove the GOTRUNAS state and treat
8937	uid/gids similar to other words. It also means that we can now
8938	specify uids in User_Lists and a User_Spec may now contain a uid.
8939	[461fe01f8392]
8940
8941	* gram.y, toke.l:
8942	Replace RUNAS token with '(' and ')' tokens to make the runas
8943	portion of the grammar more natural.
8944	[e0c383b4684d]
8945
8946	* BUGS:
8947	The BUGS file is history
8948	[4d9a809585c7]
8949
8950	* Makefile.in, README:
8951	The BUGS file is history
8952	[d9500e261172]
8953
89542007-08-21  Todd C. Miller  <Todd.Miller@courtesan.com>
8955
8956	* toke.c, toke.l:
8957	Allow comments after a RunasAlias as long as the character after the
8958	pound sign isn't a digit or a dash.
8959	[d7f3bd94eeda]
8960
8961	* WHATSNEW:
8962	Glob support was back-ported to 1.6.9
8963	[d1d5cfd46228]
8964
89652007-08-20  Todd C. Miller  <Todd.Miller@courtesan.com>
8966
8967	* Makefile.in:
8968	remove sudo_usage.h in distclean
8969	[df05ce9c4127]
8970
8971	* parse.c:
8972	If a Defaults value contains a blank, double-quote the string.
8973	[9057a910daad]
8974
8975	* toke.c, toke.l:
8976	Properly deal with Defaults double-quoted strings that span multiple
8977	lines using the line continuation char. Previously, the entire
8978	thing, including the continuation char, newline, and spaces was
8979	stored as-is.
8980	[4a4e8eacefe6]
8981
8982	* sudo.c:
8983	Be consistent when using single quotes and backticks.
8984	[d010b83a0fa1]
8985
89862007-08-19  Todd C. Miller  <Todd.Miller@courtesan.com>
8987
8988	* Makefile.in, configure, configure.in, lbuf.c, lbuf.h, parse.c,
8989	sudo.c, sudo_usage.h.in:
8990	Add new linebuf code to do appends of dynamically allocated strings
8991	and word-wrapped output. Currently used for sudo's usage() and sudo
8992	-l output. Sudo usage strings are now in sudo_usage.h which is
8993	generated at configure time.
8994	[4dfd0ee8d961]
8995
89962007-08-18  Todd C. Miller  <Todd.Miller@courtesan.com>
8997
8998	* parse.c, sudo.c, sudo.h:
8999	Fix line wrapping in usage() and use the actual tty width instead of
9000	assuming 80.
9001	[700eab37c5a6]
9002
90032007-08-17  Todd C. Miller  <Todd.Miller@courtesan.com>
9004
9005	* history.pod:
9006	some more info
9007	[8140112a8ae1]
9008
9009	* history.pod:
9010	Mentioned Chris Jepeway's parser and also the new one that is in
9011	sudo 1.7.
9012	[2132d00f0597]
9013
90142007-08-16  Todd C. Miller  <Todd.Miller@courtesan.com>
9015
9016	* sudo.pod, visudo.pod:
9017	For the options list, add flag args where appropriate and increase
9018	the indent level so there is room for them.
9019	[2b60fb572e12]
9020
90212007-08-15  Todd C. Miller  <Todd.Miller@courtesan.com>
9022
9023	* parse.c:
9024	Fix some spacing in "sudo -l" and add a comment about some bogosity
9025	in the line wrapping.
9026	[b59b056f5ee2]
9027
9028	* sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in, visudo.cat,
9029	visudo.man.in:
9030	regen
9031	[5fb719f18ebc]
9032
9033	* INSTALL, Makefile.in, WHATSNEW, config.h.in, configure.in,
9034	def_data.c, def_data.h, def_data.in, gram.c, gram.h, gram.y,
9035	parse.c, parse.h, pathnames.h.in, sudo.c, sudo.h, sudoers.pod,
9036	testsudoers.c, toke.c, toke.l:
9037	Remove monitor support until there is a versino of systrace that
9038	uses a lookaside buffer (or we have a better mechanism to use).
9039	[61ff76878e4a]
9040
9041	* config.h.in, configure, configure.in, sudo.c:
9042	use getaddrinfo() instead of gethostbyname() if it is available
9043	[cc33c136aa6a]
9044
90452007-08-14  Todd C. Miller  <Todd.Miller@courtesan.com>
9046
9047	* parse.c, sudo.c:
9048	Deal with OSes where sizeof(gid_t) < sizeof(int).
9049	[130a89cbdfba]
9050
9051	* interfaces.c:
9052	repair non-getifaddrs() code after ipv6 integration
9053	[7ae7a89e2236]
9054
9055	* sudo.c:
9056	If we can open sudoers but fail to read the first byte, close the
9057	file stream before trying again.
9058	[6f31272fae7b]
9059
90602007-08-13  Todd C. Miller  <Todd.Miller@courtesan.com>
9061
9062	* toke.c:
9063	regen
9064	[4d7afe0aa6fa]
9065
9066	* gram.y, interfaces.c, interfaces.h, match.c, sudoers.pod, toke.l:
9067	Add IPv6 support; adapted from patches by YOSHIFUJI Hideaki
9068	[4e6ff2965a42]
9069
9070	* sudo.pod, sudoers.pod, visudo.pod:
9071	Add some missing markup Update copyright
9072	[7e6d3c686b5e]
9073
90742007-08-12  Todd C. Miller  <Todd.Miller@courtesan.com>
9075
9076	* configure, configure.in:
9077	fix sudo_noexec extension which got broken in the libtool update
9078	[3a5b447df861]
9079
90802007-08-10  Todd C. Miller  <Todd.Miller@courtesan.com>
9081
9082	* Makefile.in:
9083	explicitly specify -Tascii to nroff
9084	[45c8da4cbefe]
9085
90862007-08-08  Todd C. Miller  <Todd.Miller@courtesan.com>
9087
9088	* logging.c:
9089	remove an ANSI-ism that crept in
9090	[29086f87b2ca]
9091
90922007-08-07  Todd C. Miller  <Todd.Miller@courtesan.com>
9093
9094	* sudo.pod:
9095	Adjust list indents Prevent -- from being turned into an em dash Use
9096	a list for the environment instead of a literal paragraph
9097	[c3abcd8f76f4]
9098
9099	* visudo.pod:
9100	Use a list for the environment instead of an indented literal
9101	paragraph.
9102	[0ffcfcb7349f]
9103
9104	* sudoers.pod:
9105	Adjust list indentation
9106	[615c89e3123a]
9107
9108	* license.pod:
9109	add =head3
9110	[8b2e0d38c0bd]
9111
91122007-08-06  Todd C. Miller  <Todd.Miller@courtesan.com>
9113
9114	* sudo.pod:
9115	mention that when specifying a uid for the -u option the shell may
9116	require that the # be escaped
9117	[3e3a17bff150]
9118
91192007-08-02  Todd C. Miller  <Todd.Miller@courtesan.com>
9120
9121	* match.c:
9122	Fix off by one in group matching.
9123	[b529602b7fba]
9124
91252007-07-31  Todd C. Miller  <Todd.Miller@courtesan.com>
9126
9127	* env.c:
9128	Fix typo: PYTHONINSPEC should be PYTHONINSPECT. From David Krause.
9129	[ffbf8907c6e7]
9130
91312007-07-30  Todd C. Miller  <Todd.Miller@courtesan.com>
9132
9133	* configure, configure.in:
9134	Add missing define of HAVE_GSS_KRB5_CCACHE_NAME for the
9135	-lgssapi_krb5 case.
9136	[2b85a89c2252]
9137
9138	* aclocal.m4, configure, configure.in:
9139	Fix link tests such that new gcc doesn't optimize away the test.
9140	[83484ec95cba]
9141
91422007-07-29  Todd C. Miller  <Todd.Miller@courtesan.com>
9143
9144	* sudo.pod, sudoers.pod, visudo.pod:
9145	add missing over/back
9146	[251a12c89b91]
9147
9148	* sudo.pod, sudoers.pod, visudo.pod:
9149	Change FILES section to use =item
9150	[60b9efc3a0b2]
9151
9152	* env.c:
9153	Add back allocation of the env struct in rebuild_env but save a copy
9154	of the old pointer and free it before returning.
9155	[1100cd4fa997]
9156
9157	* env.c:
9158	Don't init the private environment in rebuild_env() since it may
9159	have already been done implicitly sudo_setenv/sudo_unsetenv.
9160
9161	Multiply length by sizeof(char *) in memcpy/memmove when copying the
9162	environment so we copy the full thing.
9163
9164	Add missing set of parens so we deref the right pointer in
9165	sudo_unsetenv when searching for a matching variable.
9166	[9086a8f756b1]
9167
91682007-07-26  Todd C. Miller  <Todd.Miller@courtesan.com>
9169
9170	* sudo.pod, sudoers.pod, visudo.pod:
9171	Use file markup for paths in the FILES section
9172	[940d99f731f2]
9173
9174	* sudo.pod, sudoers.pod, visudo.pod:
9175	Don't capitalize sudo/visudo
9176	[f067a455d44b]
9177
9178	* sudoers.pod:
9179	Sort sudoers options; based on a diff from Igor Sobrado.
9180	[a9b9befe85ac]
9181
91822007-07-25  Todd C. Miller  <Todd.Miller@courtesan.com>
9183
9184	* sudo.pod, sudoers.pod, visudo.pod:
9185	Use 8 and 5 instead of @mansectsu@ and @mansectform@ since the
9186	latter confuses pod2man. The Makefile rules for the .man.in file
9187	will add @mansectsu@ and @mansectform@ back in after pod2man is done
9188	anyway.
9189	[b50ea0db727c]
9190
91912007-07-22  Todd C. Miller  <Todd.Miller@courtesan.com>
9192
9193	* LICENSE, Makefile.in, license.pod:
9194	Move license info to pod format
9195	[25bdd82e592b]
9196
9197	* configure, configure.in, sudoers.pod:
9198	Substitute value of path_info into sudoers man page.
9199	[9ba661a82798]
9200
9201	* WHATSNEW:
9202	remove features that were back-ported to 1.6.9
9203	[e76d756cbe65]
9204
9205	* sudo.c, sudo.pod, visudo.c, visudo.pod:
9206	Sort SYNOPSIS and sync usage. From Igor Sobrado.
9207	[4970386c9e54]
9208
9209	* env.c:
9210	Only need sudo_setenv/sudo_unsetenv if we are going to use
9211	ldap_sasl_interactive_bind_s() but don't have
9212	gss_krb5_ccache_name().
9213	[f1a73d8b35c5]
9214
9215	* ChangeLog:
9216	rebuild without branch info
9217	[5d5a33494677]
9218
9219	* Makefile.in:
9220	Add ChangeLog target
9221	[a702034fdd89]
9222
9223	* auth/pam.c:
9224	Run cleanup code if the user hits ^C at the password prompt.
9225	[9cf87768e921]
9226
9227	* auth/pam.c:
9228	Some versions of pam_lastlog have a bug that will cause a crash if
9229	PAM_TTY is not set so if there is no tty, set PAM_TTY to the empty
9230	string.
9231	[5b63f6c88866]
9232
92332007-07-20  Todd C. Miller  <Todd.Miller@courtesan.com>
9234
9235	* Makefile.in:
9236	ChageLog not Changelog
9237	[1243d8473ceb]
9238
9239	* ChangeLog:
9240	sync
9241	[d887df98c6b0]
9242
9243	* Makefile.in:
9244	CHANGE -> Changelog
9245	[917738df30dd]
9246
9247	* TODO:
9248	sync
9249	[cd382f7d1948]
9250
92512007-07-19  Todd C. Miller  <Todd.Miller@courtesan.com>
9252
9253	* config.h.in, configure, configure.in, ldap.c:
9254	Add configure hooks for gss_krb5_ccache_name() and the gssapi
9255	headers.
9256	[139606209991]
9257
92582007-07-18  Todd C. Miller  <Todd.Miller@courtesan.com>
9259
9260	* env.c, sudo.c:
9261	rebuild_env() and insert_env_vars() no longer return environment
9262	pointer, they set environ directly.
9263
9264	No longer need to pass around an envp pointer since we just operate
9265	on environ now.
9266
9267	Add dosync argument to insert_env() that indicates whether it should
9268	reset environ when realloc()ing env.envp.
9269
9270	Use an initial size of 128 for the environment.
9271	[4735fd5fddb8]
9272
9273	* env.c:
9274	Split sudo_setenv() into an external version and a version only for
9275	use by rebuild_env().
9276	[fda7d655adb1]
9277
92782007-07-16  Todd C. Miller  <Todd.Miller@courtesan.com>
9279
9280	* ldap.c:
9281	Add support for using gss_krb5_ccache_name() instead of setting
9282	KRB5CCNAME. Also use sudo_unsetenv() in the non-
9283	gss_krb5_ccache_name() case if there was no KRB5CCNAME in the
9284	original environment. TODO: configure setup for
9285	gss_krb5_ccache_name()
9286	[fcafa5a49caf]
9287
9288	* README.LDAP:
9289	add krb5_ccname
9290	[fceb8f883886]
9291
9292	* README.LDAP, ldap.c:
9293	Add support for sasl_secprops in ldap.conf
9294	[1f06f4bf7347]
9295
9296	* env.c, sudo.h:
9297	Add sudo_unsetenv() and refactor private env syncing code into
9298	sync_env().
9299	[045ecb3fd22b]
9300
9301	* README.LDAP, ldap.c:
9302	The ldap.conf variable is sasl_auth_id not sasl_authid.
9303	[a5f98491311b]
9304
93052007-07-15  Todd C. Miller  <Todd.Miller@courtesan.com>
9306
9307	* ldap.c, sudo.c, sudo.h:
9308	Add support for krb5_ccname in ldap.conf. If specified, it will
9309	override the default value of KRB5CCNAME in the environment for the
9310	duration of the call to ldap_sasl_interactive_bind_s().
9311	[b08a10c3045b]
9312
9313	* env.c, sudo.h:
9314	Remove format_env() Add sudo_setenv() to replace most format_env() +
9315	insert_env() combinations. insert_env() no longer takes a struct
9316	environment *
9317	[131da52f43f3]
9318
9319	* ldap.c:
9320	Fix use_sasl vs. rootuse_sasl logic.
9321	[0c0417b6918c]
9322
9323	* README.LDAP, config.h.in, configure, configure.in, ldap.c:
9324	Add support for SASL auth when connecting to an LDAP server. Adapted
9325	from a diff by Tom McLaughlin.
9326	[a6285f1356ea]
9327
93282007-07-14  Todd C. Miller  <Todd.Miller@courtesan.com>
9329
9330	* configure, configure.in:
9331	Only enable AIX or BSD auth if no other exclusive auth method has
9332	been chosen. Allows people to e.g., use PAM on AIX without adding
9333	--without-aixauth. A better solution is needed to deal with default
9334	authentication since if a non-exclusive method is chosen we will
9335	still get an error.
9336	[83f7afdc0ec3]
9337
93382007-07-11  Todd C. Miller  <Todd.Miller@courtesan.com>
9339
9340	* HISTORY, Makefile.in, history.pod:
9341	Generate HISTORY from history.pod (which is also used for web pages)
9342	[60bcd5164931]
9343
93442007-07-09  Todd C. Miller  <Todd.Miller@courtesan.com>
9345
9346	* sudo.man.in, sudoers.man.in:
9347	regen
9348	[63956a366191]
9349
9350	* sudo.pod:
9351	Better explanation of environment handling in the sudo man page.
9352	[6c247742f7ee]
9353
9354	* env.c, sudo.c:
9355	Defer setting user-specified env vars until after authentication.
9356	[4750b79323ee]
9357
9358	* env.c:
9359	honor def_default_path for PATH set on the command line
9360	[6db31d9b6d65]
9361
9362	* env.c, sudo.c, sudo.pod, sudoers.pod:
9363	Allow user to set environment variables on the command line as long
9364	as they are allowed by env_keep and env_check. Ie: apply the same
9365	restrictions as normal environment variables. TODO: deal with
9366	secure_path
9367	[26c0da3840cf]
9368
93692007-07-08  Todd C. Miller  <Todd.Miller@courtesan.com>
9370
9371	* sudo.c, sudo_edit.c:
9372	Call rebuild_env() in call cases. Pass original envp to sudo_edit().
9373	Don't allow -E or env var setting in sudoedit mode. More accurate
9374	usage() when called as sudoedit.
9375	[a4af20658361]
9376
9377	* ldap.c:
9378	warn -> warning
9379	[d87d1192b048]
9380
9381	* sudo.pod:
9382	add -c option to sudoedit synopsis
9383	[15b596a7e2db]
9384
9385	* TODO:
9386	udpate to reality
9387	[e2f8fde89db1]
9388
9389	* parse.c:
9390	Use ALLOW/DENY instead of TRUE/FALSE when dealing with the return
9391	value from {user,host,runas,cmnd}_matches(). Rename *matches
9392	variables -> *match. Purely cosmetic.
9393	[e54a44c00a88]
9394
9395	* parse.c:
9396	Move setting of FLAG_NO_CHECK into the if(pwflag) block. No change
9397	in behavior.
9398	[c6272b4f2127]
9399
9400	* sudoers:
9401	add SETENV tag
9402	[3a3066bb6788]
9403
94042007-07-06  Todd C. Miller  <Todd.Miller@courtesan.com>
9405
9406	* parse.c:
9407	Make pwcheck local to the pwflag block. Use pwcheck even if user
9408	didn't match since Defaults options may still apply.
9409	[45da9efbbafd]
9410
9411	* check.c, sudo.c:
9412	Do not update timestamp if user not validated by sudoers.
9413	[a4a9d4364827]
9414
9415	* set_perms.c:
9416	for PERM_RUNAS, set the egid to the runas user's gid and restore to
9417	the user's original in PERM_ROOT
9418	[1514bfb32847]
9419
9420	* logging.c, mon_systrace.c, set_perms.c, sudo.h:
9421	PERM_FULL_ROOT is now no different than PERM_ROOT so remove
9422	PERM_FULL_ROOT
9423	[b9d047a3178c]
9424
9425	* check.c:
9426	don't check timestamp mtime if we are just going to remove it
9427	[5d2470bc6cbd]
9428
9429	* sudoers.pod:
9430	Move sudoers defaults parameters into their own section.
9431	[54701fbc0ff3]
9432
9433	* testsudoers.c:
9434	Reduce a level of indent by a few placed continue statements.
9435	[5d5a9838c8ef]
9436
9437	* parse.c:
9438	Make matching but negated commands/hosts/runas entries override a
9439	previous match as expected. Also reduce some levels of indent by a
9440	few placed continue statements.
9441	[dd59fa4b91a1]
9442
94432007-07-05  Todd C. Miller  <Todd.Miller@courtesan.com>
9444
9445	* parse.c:
9446	Print default runas in "sudo -l" if sudoers don't specify one.
9447	[07d408c400bd]
9448
9449	* match.c:
9450	Less hacky way of testing whether the domain was set.
9451	[a537059776e5]
9452
94532007-07-04  Todd C. Miller  <Todd.Miller@courtesan.com>
9454
9455	* INSTALL:
9456	Mention pam-devel and openldap-devel for Linux
9457	[9e708c54ecc3]
9458
94592007-07-03  Todd C. Miller  <Todd.Miller@courtesan.com>
9460
9461	* README.LDAP:
9462	or vs. are
9463	[abe8c0f3a410]
9464
94652007-07-01  Todd C. Miller  <Todd.Miller@courtesan.com>
9466
9467	* sudo.c:
9468	fix typo in Solaris project support
9469	[2ffeb2d80959]
9470
9471	* HISTORY:
9472	update
9473	[df162b36f120]
9474
9475	* sudo.c:
9476	Make -- on the command line match the manual page. The implied shell
9477	case has been simplified as a result.
9478	[cd217a1f6694]
9479
94802007-06-28  Todd C. Miller  <Todd.Miller@courtesan.com>
9481
9482	* sudoers2ldif:
9483	add simplistic support for sudoRunas; note that if a sudoers entry
9484	contains multiple Runas users, all will apply to the sudoRole
9485	[65b11421f5c8]
9486
9487	* sudoers2ldif:
9488	honor SETENV and NOSETENV tags
9489	[2c0d5ba7a09b]
9490
94912007-06-24  Todd C. Miller  <Todd.Miller@courtesan.com>
9492
9493	* mon_systrace.c:
9494	Redo setting of user_args. We now build up a private copy of argv
9495	first and then replace the NULs?with spaces.
9496	[ccbba72ea112]
9497
9498	* mon_systrace.c:
9499	getcwd() returns NULL on failure, not 0 on success
9500	[88cd9e66e530]
9501
9502	* mon_systrace.c:
9503	allow chunksiz to reach 1 before erroring out
9504	[619d68f14964]
9505
9506	* sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in, visudo.cat,
9507	visudo.man.in:
9508	regen
9509	[8db512d3caf0]
9510
95112007-06-23  Todd C. Miller  <Todd.Miller@courtesan.com>
9512
9513	* def_data.c, def_data.h, def_data.in, env.c, gram.c, gram.h, gram.y,
9514	logging.c, parse.c, parse.h, sudo.c, sudo.h, sudo.pod, sudoers.pod,
9515	toke.c, toke.l:
9516	Add support for setting environment variables on the command line.
9517	This is only allowed if the setenv sudoers options is enabled or if
9518	the command is prefixed with the SETENV tag.
9519	[5744caebd969]
9520
9521	* README.LDAP:
9522	replace Aaron's email address with the sudo-workers list
9523	[2ffce5f9afc0]
9524
9525	* configure:
9526	regen
9527	[8013dff82c0c]
9528
95292007-06-22  Todd C. Miller  <Todd.Miller@courtesan.com>
9530
9531	* schema.OpenLDAP, schema.iPlanet:
9532	Break schema out into separate files.
9533	[15e598e4c60b]
9534
9535	* Makefile.in, README.LDAP:
9536	Break schema out into separate files.
9537	[1a53966ca1fa]
9538
95392007-06-21  Todd C. Miller  <Todd.Miller@courtesan.com>
9540
9541	* auth/aix_auth.c:
9542	free message if set by authenticate()
9543	[849c220c1236]
9544
9545	* match.c:
9546	deal with NULL gr_mem
9547	[49e4d74f0bbe]
9548
95492007-06-20  Todd C. Miller  <Todd.Miller@courtesan.com>
9550
9551	* config.h.in:
9552	regen
9553	[fead999ad3e9]
9554
9555	* configure.in:
9556	add template for HAVE_PROJECT_H
9557	[e6c42c2eaad1]
9558
9559	* closefrom.c:
9560	include fcntl.h
9561	[54d98b382f03]
9562
95632007-06-19  Todd C. Miller  <Todd.Miller@courtesan.com>
9564
9565	* INSTALL:
9566	mention --with-project
9567	[d3ea3baad7c5]
9568
9569	* config.h.in, configure.in, sudo.c:
9570	Add Solaris 10 "project" support. From Michael Brantley.
9571	[f14f3c8c6554]
9572
9573	* sudoers.pod:
9574	fix typo
9575	[50db81a19787]
9576
9577	* configure:
9578	regen
9579	[ea71afd3e564]
9580
9581	* configure.in:
9582	Fix preservation of LDFLAGS in the LDAP case.
9583	[40a3a47e8059]
9584
9585	* memrchr.c:
9586	Remove dependecy on NULL
9587	[c957ae5e1733]
9588
9589	* configure:
9590	regen
9591	[4955ce0c6912]
9592
9593	* aclocal.m4, configure.in:
9594	Can't use the regular autoconf fnmatch() check since we need
9595	FNM_CASEFOLD so go back to our custom one.
9596	[f10d76237486]
9597
9598	* env.c:
9599	Fix preserving of variables in env_keep.
9600	[d040049d6b84]
9601
9602	* env.c:
9603	add XAUTHORIZATION
9604	[0d589a5fe015]
9605
9606	* UPGRADE:
9607	expand upon env resetting and mention that it began in 1.6.9 not
9608	1.7.
9609	[dba251655c76]
9610
9611	* sudoers.pod:
9612	Update descriptions of env_keep and env_check to match current
9613	reality.
9614	[dba77357954b]
9615
96162007-06-18  Todd C. Miller  <Todd.Miller@courtesan.com>
9617
9618	* env.c:
9619	Add LINGUAS to initial_checkenv_table. Add COLORS, HOSTNAME,
9620	LS_COLORS, MAIL, PS1, PS2, XAUTHORITY to intial_keepenv_table.
9621	[eec4632bd190]
9622
9623	* env.c, logging.c:
9624	Treat USERNAME environemnt variable like LOGNAME/USER
9625	[09f52dcfd70c]
9626
9627	* env.c:
9628	Don't need to populate keepenv table with the contents of the
9629	checkenv table.
9630	[527a14afd973]
9631
9632	* sudo.c:
9633	Don't force sudo into the C locale.
9634	[8a5bd301ef96]
9635
9636	* env.c:
9637	Make env_check apply when env_reset it true. Environment variables
9638	are passed through unless they contain '/' or '%'. There is no need
9639	to have a variable in both env_check and env_keep.
9640	[840c802721e4]
9641
96422007-06-16  Todd C. Miller  <Todd.Miller@courtesan.com>
9643
9644	* visudo.c:
9645	Remove an duplicate lock_file() call and add a comment.
9646	[5af9dcdf0eb6]
9647
9648	* UPGRADE:
9649	Add sudo 1.6.9 upgrade note.
9650	[1585149f2914]
9651
96522007-06-14  Todd C. Miller  <Todd.Miller@courtesan.com>
9653
9654	* interfaces.c:
9655	Solaris will return EINVAL if the buffer used in SIOCGIFCONF is too
9656	small. From Klaus Wagner.
9657	[d6899fc44f77]
9658
9659	* logging.c, sudo.h:
9660	Redo the long syslog line splitting based on a patch from Eygene
9661	Ryabinkin. Include memrchr() for systems without it.
9662	[66a50e8d553a]
9663
9664	* memrchr.c:
9665	Redo the long syslog line splitting based on a patch from Eygene
9666	Ryabinkin. Include memrchr() for systems without it.
9667	[2f6702b7d41b]
9668
9669	* Makefile.in, config.h.in, configure, configure.in:
9670	Redo the long syslog line splitting based on a patch from Eygene
9671	Ryabinkin. Include memrchr() for systems without it.
9672	[407a46190921]
9673
9674	* configure.in:
9675	Since we need to be able to convert timespec to timeval for utimes()
9676	the last 3 digits in the tv_nsec are not significant. This makes the
9677	sudoedit file date comparison work again.
9678	[9d0258849fa9]
9679
96802007-06-13  Todd C. Miller  <Todd.Miller@courtesan.com>
9681
9682	* aclocal.m4, configure, configure.in:
9683	Add SUDO_ADD_AUTH macro to deal with adding things to AUTH_OBJS.
9684	This deals with exclusive authentication methods in a simple way.
9685	[7d70072c0f35]
9686
96872007-06-12  Todd C. Miller  <Todd.Miller@courtesan.com>
9688
9689	* LICENSE:
9690	mkstemp.c is BSD code too.
9691	[29e236d98162]
9692
9693	* sudo.pod, sudoers.pod, visudo.pod:
9694	No commercial support for now.
9695	[7c76b3e192dd]
9696
96972007-06-11  Todd C. Miller  <Todd.Miller@courtesan.com>
9698
9699	* sudo.c:
9700	cleanenv() is no more.
9701	[518080514408]
9702
97032007-06-10  Todd C. Miller  <Todd.Miller@courtesan.com>
9704
9705	* ChangeLog:
9706	Display branch info in Changelog
9707	[44e3b27427c7]
9708
9709	* utimes.c:
9710	Include config.h early so we have it for TIME_WITH_SYS_TIME
9711	[4bf1a00d0703]
9712
9713	* ChangeLog:
9714	Fix Changelog generation and update.
9715	[6e960dbcbece]
9716
97172007-06-09  Todd C. Miller  <Todd.Miller@courtesan.com>
9718
9719	* closefrom.c:
9720	Use /proc/self/fd instead of /proc/$$/fd
9721
9722	Move old-style fd closing into closefrom_fallback() and call that if
9723	/proc/self/fd doesn't exist or the F_CLOSEM fcntl() fails
9724	[faa7e4810758]
9725
9726	* auth/kerb5.c, config.h.in, configure.in:
9727	o use krb5_verify_user() if available instead of doing it by hand o
9728	use krb5_init_secure_context() if we have it o pass an encryption
9729	type of 0 to krb5_kt_read_service_key() instead of
9730	ENCTYPE_DES_CBC_MD5 to let kerberos choose.
9731	[df7acf72bd7c]
9732
9733	* env.c:
9734	Check TERM and COLORTERM for '%' and '/' characters. From Debian.
9735	[f92d05197e40]
9736
9737	* configure.in:
9738	Fix closefrom() substitution in the Makefile
9739	[b642b13fcc5c]
9740
9741	* TROUBLESHOOTING:
9742	Mention alternate sudo pronunciation.
9743	[7c71dc73409f]
9744
97452007-06-07  Todd C. Miller  <Todd.Miller@courtesan.com>
9746
9747	* env.c:
9748	Remove KRB5_KTNAME from environment. Allow COLORTERM.
9749	[70f35a79f780]
9750
9751	* auth/kerb5.c:
9752	If we cannot get a valid service key using the default keytab it is
9753	a fatal error. Fixes a bug where sudo could be tricked into
9754	allowing access when it should not by a fake KDC. From Thor Lancelot
9755	Simon.
9756	[a3ae6a47cb23]
9757
97582007-05-12  Todd C. Miller  <Todd.Miller@courtesan.com>
9759
9760	* aclocal.m4, configure, configure.in:
9761	Update long long checks to use AC_CHECK_TYPES and to cache values.
9762	[047318eaaeb2]
9763
9764	* aclocal.m4, configure.in:
9765	Use AC_FUNC_FNMATCH instead of a homebrew fnmatch checker. We can't
9766	use AC_REPLACE_FNMATCH since that assumes replacing with GNU
9767	fnmatch.
9768	[80513a1003ea]
9769
97702007-05-11  Todd C. Miller  <Todd.Miller@courtesan.com>
9771
9772	* configure, configure.in:
9773	Add closefrom() to LIB_OBJS not SUDO_OBJS if it is missing since we
9774	need it for visudo now too.
9775	[50837c7c2b5e]
9776
97772007-04-24  Todd C. Miller  <Todd.Miller@courtesan.com>
9778
9779	* sudoers.pod:
9780	Attempt to clarify the bit talking about network numbers w/o
9781	netmasks.
9782	[211e68c1d034]
9783
9784	* sudo.pod:
9785	Clarify timestamp dir ownership sentence.
9786	[9178f132c7f7]
9787
97882007-04-20  Todd C. Miller  <Todd.Miller@courtesan.com>
9789
9790	* auth/pam.c:
9791	Linux PAM now defines __LINUX_PAM__, not __LIBPAM_VERSION. From
9792	Dmitry V. Levin.
9793	[81fce91667bc]
9794
97952007-04-16  Todd C. Miller  <Todd.Miller@courtesan.com>
9796
9797	* sudo.c:
9798	-i is also one of the mutually exclusive options to list it in the
9799	warning message. Noted by Chris Pepper.
9800	[7da73fb248e9]
9801
98022007-04-12  Todd C. Miller  <Todd.Miller@courtesan.com>
9803
9804	* visudo.pod:
9805	The sudoers variable is env_editor, not enveditor. From Jean-
9806	Francois Saucier.
9807	[2a86ec09a6db]
9808
98092007-03-29  Todd C. Miller  <Todd.Miller@courtesan.com>
9810
9811	* redblack.c:
9812	I tracked down the original author so credit him and include his
9813	license info.
9814	[3733553a1bba]
9815
98162007-02-06  Todd C. Miller  <Todd.Miller@courtesan.com>
9817
9818	* sudo.cat, sudo.man.in, sudo.pod, sudoers.cat, sudoers.man.in,
9819	sudoers.pod:
9820	Fix typos; from Jason McIntyre.
9821	[1ee4ce2512f2]
9822
9823	* logging.c:
9824	Restore signal mask before calling reapchild(). Fixes a possible
9825	race condition that could prevent sudo from properly waiting for the
9826	child.
9827	[9ee4192385dc]
9828
98292007-01-31  Todd C. Miller  <Todd.Miller@courtesan.com>
9830
9831	* pwutil.c:
9832	Don't declare pw_free() if we are not going to use it.
9833	[adb79a4289ca]
9834
9835	* env.c:
9836	Add NOEXEC support for AIX 5.3 which supports LDR_PRELOAD and
9837	LDR_PRELOAD64. The 64-bit version is not currently supported.
9838	Remove zero_env() prototype as it no longer exists.
9839	[b4fe65027fb6]
9840
98412006-12-11  Todd C. Miller  <Todd.Miller@courtesan.com>
9842
9843	* logging.c:
9844	Add "Auto-Submitted: auto-generated" line to sudo mail for rfc 3834.
9845	[78002ad90f7b]
9846
98472006-09-29  Todd C. Miller  <Todd.Miller@courtesan.com>
9848
9849	* auth/pam.c:
9850	If the user enters ^C at the password prompt, abort instead of
9851	trying to authenticate with an empty password (which causes an
9852	annoying delay).
9853	[da3f27b747c7]
9854
98552006-08-17  Todd C. Miller  <Todd.Miller@courtesan.com>
9856
9857	* closefrom.c, config.h.in, configure, configure.in:
9858	Add fcntl F_CLOSEM support to closefrom(); adapted from a diff by
9859	Darren Tucker.
9860	[0331b7780759]
9861
9862	* pwutil.c:
9863	pw_free() is only used by sudo_freepwcache() so ifdef it out too.
9864	[0014c0d9eeba]
9865
98662006-08-04  Todd C. Miller  <Todd.Miller@courtesan.com>
9867
9868	* config.guess, config.sub:
9869	Update to latest versions from cvs.savannah.gnu.org
9870	[aa0143101c20]
9871
98722006-07-31  Todd C. Miller  <Todd.Miller@courtesan.com>
9873
9874	* pwutil.c, sudo_edit.c:
9875	Move password/group cache cleaning out of sudo_end{pw,grp}ent() so
9876	we can close the passwd/group files early.
9877	[559074bd7eb7]
9878
9879	* config.h.in, configure, configure.in, set_perms.c:
9880	Add seteuid() flavor of set_perms() for systems without setreuid()
9881	or setresuid() that have a working seteuid(). Tested on Darwin.
9882	[508d8da99189]
9883
98842006-07-30  Todd C. Miller  <Todd.Miller@courtesan.com>
9885
9886	* mon_systrace.c:
9887	systrace_read() returns ssize_t
9888	[9f97d1d1a59d]
9889
9890	* configure, configure.in:
9891	Fix typo, -lldap vs. -ldap; from Tim Knox.
9892	[a8cc43c3bb2a]
9893
98942006-07-28  Todd C. Miller  <Todd.Miller@courtesan.com>
9895
9896	* HISTORY:
9897	Fix typo; Matt Ackeret
9898	[86964ee3dfbd]
9899
99002006-07-17  Todd C. Miller  <Todd.Miller@courtesan.com>
9901
9902	* sudo.c:
9903	Print sudoers path in -V mode for root.
9904	[dc43f2d75bd9]
9905
99062006-06-15  Todd C. Miller  <Todd.Miller@courtesan.com>
9907
9908	* ldap.c:
9909	Do a sub tree search instead of a base search (one level in the tree
9910	only) for sudo right objects. This allows system administrators to
9911	categorize the rights in a tree to make them easier to manage.
9912	[6d2d9abf996e]
9913
99142005-12-28  Todd C. Miller  <Todd.Miller@courtesan.com>
9915
9916	* sudo.pod:
9917	fix typo
9918	[1473413bcbda]
9919
99202005-12-04  Todd C. Miller  <Todd.Miller@courtesan.com>
9921
9922	* ldap.c:
9923	Convert GET_OPT and GET_OPTI to use just 2 args. Add timelimit and
9924	bind_timelimit support; adapted from gentoo.
9925	[afc816093026]
9926
99272005-11-23  Todd C. Miller  <Todd.Miller@courtesan.com>
9928
9929	* ldap.c:
9930	Support comments that start in the middle of a line
9931	[c25df6ee3db8]
9932
9933	* configure, configure.in:
9934	Define LDAP_DEPRECATED until we start using ldap_get_values_len()
9935	[ee249bfe230a]
9936
99372005-11-18  Todd C. Miller  <Todd.Miller@courtesan.com>
9938
9939	* closefrom.c:
9940	Silence gcc -Wsign-compare; djm@openbsd.org
9941	[28769ce6418d]
9942
9943	* error.c, sudo.c, sudo.h, testsudoers.c, visudo.c:
9944	cleanup() now takes an int as an arg so it can be used as a signal
9945	handler too.
9946	[2bb0df34d09c]
9947
9948	* sudo.c:
9949	Make a copy of the shell field in the passwd struct for NewArgv to
9950	avoid a use after free situation after sudo_endpwent() is called.
9951	[5dcc9ffd362e]
9952
99532005-11-17  Todd C. Miller  <Todd.Miller@courtesan.com>
9954
9955	* config.h.in, configure, configure.in:
9956	Add mkstemp() for those poor souls without it.
9957	[5fdd02e863e0]
9958
9959	* mkstemp.c:
9960	Add mkstemp() for those poor souls without it.
9961	[c99401207860]
9962
9963	* Makefile.in:
9964	Add mkstemp() for those poor souls without it.
9965	[9c1cf2678f24]
9966
99672005-11-15  Todd C. Miller  <Todd.Miller@courtesan.com>
9968
9969	* env.c:
9970	Add PERL5DB to list of environment variables to remove.
9971	[7375c27ecf75]
9972
99732005-11-13  Todd C. Miller  <Todd.Miller@courtesan.com>
9974
9975	* mon_systrace.c, mon_systrace.h:
9976	Instead of calling the check function twice with a state cookie use
9977	separate check/log functions.
9978
9979	Check more ioctl() calls for failure.
9980
9981	systrace_{read,write} now return the number of bytes read/written or
9982	-1 on error.
9983	[3dc8946d90e9]
9984
9985	* env.c:
9986	Add more environment variables to remove; from gentoo linux Add some
9987	comments about what bad env variables go to what (more to do)
9988	[6918110a6b82]
9989
99902005-11-11  Todd C. Miller  <Todd.Miller@courtesan.com>
9991
9992	* sudo.c, sudo_edit.c:
9993	Move sudo_end{gr,pw}ent() until just before the exec since they free
9994	up our cached copy of the passwd structs, including sudo_user and
9995	sudo_runas. Fixes a use-after-free bug.
9996	[54de3778bad0]
9997
9998	* visudo.c:
9999	Close all fd's before executing editor.
10000	[4fcc05e1bec8]
10001
10002	* sudo.c:
10003	Enable malloc debugging on OpenBSD when SUDO_DEVEL is set.
10004	[ef0e8ffa5c9f]
10005
10006	* check.c:
10007	Fix fd leak when lecture file option is enabled. From Jerry Brown
10008	[ce97f9207cd8]
10009
100102005-11-07  Todd C. Miller  <Todd.Miller@courtesan.com>
10011
10012	* env.c:
10013	Add PERLLIB, PERL5LIB and PERL5OPT to the default list of
10014	environment variables to remove. From Charles Morris
10015	[c96e1367d1c1]
10016
100172005-11-01  Todd C. Miller  <Todd.Miller@courtesan.com>
10018
10019	* env.c:
10020	add JAVA_TOOL_OPTIONS to initial_badenv_table for java 5
10021	[72a6a1571226]
10022
100232005-10-28  Todd C. Miller  <Todd.Miller@courtesan.com>
10024
10025	* env.c:
10026	add PS4 and SHELLOPTS to initial_badenv_table for bash
10027	[89dfb3f318f3]
10028
100292005-08-15  Todd C. Miller  <Todd.Miller@courtesan.com>
10030
10031	* sudoers.pod:
10032	Fix typo; Toby Peterson
10033	[b7a3222b23f4]
10034
100352005-08-02  Todd C. Miller  <Todd.Miller@courtesan.com>
10036
10037	* tsgetgrpw.c:
10038	Make return buffers static so they don't get clobbered
10039	[13323a39b9f5]
10040
100412005-07-28  Todd C. Miller  <Todd.Miller@courtesan.com>
10042
10043	* auth/securid5.c:
10044	Fix securid5 authentication, was not checking for ACM_OK. Also add
10045	default cases for the two switch()es. Problem noted by ccon at
10046	worldbank
10047	[14091e418333]
10048
100492005-06-27  Todd C. Miller  <Todd.Miller@courtesan.com>
10050
10051	* ldap.c:
10052	Remove ncat() in favor of just counting bytes and pre-allocating
10053	what is needed.
10054	[25b8712adb61]
10055
100562005-06-26  Todd C. Miller  <Todd.Miller@courtesan.com>
10057
10058	* ldap.c:
10059	Fix up some comments Add missing fclose() for the rootbinddn case
10060	[ae95c8a89711]
10061
10062	* ldap.c:
10063	align struct ldap_config
10064	[35d0d64c76f8]
10065
10066	* ldap.c:
10067	use LINE_MAX for max conf file line size
10068	[da116cb8853d]
10069
10070	* pathnames.h.in:
10071	add _PATH_LDAP_SECRET
10072	[128b04ecfab7]
10073
10074	* README.LDAP:
10075	Mention rootbinddn Give example ou=SUDOers container
10076	[852edc69bd1c]
10077
100782005-06-25  Todd C. Miller  <Todd.Miller@courtesan.com>
10079
10080	* INSTALL, configure, configure.in, ldap.c:
10081	Support rootbinddn in ldap.conf
10082	[1615c91522a1]
10083
10084	* env.c, sudo.pod, sudoers.pod:
10085	Preserve DISPLAY environment variable by default.
10086	[05f503d5f438]
10087
10088	* acsite.m4, configure:
10089	set need_lib_prefix=no for all cases; this is safe for LD_PRELOAD
10090	[18a04dea8d05]
10091
10092	* acsite.m4, configure:
10093	set need_version=no for all cases; this is safe for LD_PRELOAD
10094	[b542560e1a73]
10095
10096	* aclocal.m4:
10097	typo
10098	[c040df0fcd5a]
10099
10100	* configure, configure.in:
10101	Add dragonfly
10102	[f13794618636]
10103
10104	* auth/pam.c:
10105	Fix call to pam_end() when pam_open_session() fails.
10106	[0be47cdfdef1]
10107
10108	* configure:
10109	regen
10110	[7f5c13b4b800]
10111
10112	* acsite.m4:
10113	rebuild acsite.m4 from libtool 1.9f libtool.m4 ltoptions.m4
10114	ltsugar.m4 ltversion.m4
10115	[a7ba9fd1a2ab]
10116
10117	* config.guess, config.sub, ltmain.sh:
10118	merge in local changes: config.guess: o better openbsd support
10119	config.sub: o hiuxmpp support ltmain.sh o remove requirement that
10120	libs must begin with "lib" o don't print a bunch of crap about
10121	library installs o don't run ldconfig
10122	[f4149f2c720f]
10123
10124	* config.guess, config.sub, ltmain.sh:
10125	libtool 1.9f
10126	[82a534e7121f]
10127
10128	* configure.in:
10129	Update with autoupdate and make minor changes for libtool 1.9f
10130	[11b5ae5c1428]
10131
101322005-06-23  Todd C. Miller  <Todd.Miller@courtesan.com>
10133
10134	* parse.c:
10135	don't call sudo_ldap_display_cmnd if ldap not setup
10136	[8bcf6c094ffe]
10137
10138	* sudo_edit.c, visudo.c:
10139	Move declatation of struct timespec to its own include files for
10140	systems without it since it needs time_t defined.
10141	[b95c333299a0]
10142
10143	* gettime.c:
10144	Move declatation of struct timespec to its own include files for
10145	systems without it since it needs time_t defined.
10146	[021b4569cc0c]
10147
10148	* fileops.c:
10149	Move declatation of struct timespec to its own include files for
10150	systems without it since it needs time_t defined.
10151	[dd8573b2ee7d]
10152
10153	* emul/timespec.h:
10154	Move declatation of struct timespec to its own include files for
10155	systems without it since it needs time_t defined.
10156	[f95137771564]
10157
10158	* check.c, compat.h:
10159	Move declatation of struct timespec to its own include files for
10160	systems without it since it needs time_t defined.
10161	[2ef2ace8fe85]
10162
10163	* ldap.c:
10164	Don't set safe_cmnd for the "sudo ALL" case.
10165	[ad7fa9e07da0]
10166
101672005-05-27  Todd C. Miller  <Todd.Miller@courtesan.com>
10168
10169	* auth/pam.c:
10170	Call pam_open_session() and pam_close_session() to give pam_limits a
10171	chance to run. Idea from Karel Zak.
10172	[fed46d471350]
10173
101742005-04-24  Todd C. Miller  <Todd.Miller@courtesan.com>
10175
10176	* check.c, sudo.c:
10177	Add explicit cast from mode_t -> u_int in printf to silence warnings
10178	on Solaris
10179	[17bb961fe22d]
10180
10181	* parse.c:
10182	include grp.h to silence a warning on Solaris
10183	[14386fbab640]
10184
101852005-04-23  Todd C. Miller  <Todd.Miller@courtesan.com>
10186
10187	* parse.c:
10188	Fix printing of += and -= defaults.
10189	[a667604c56cd]
10190
101912005-04-17  Todd C. Miller  <Todd.Miller@courtesan.com>
10192
10193	* mon_systrace.c:
10194	Sanity check number of syscall args with argsize. Not really needed
10195	but a little paranoia never hurts.
10196	[6bb455a2c2d6]
10197
10198	* mon_systrace.c, mon_systrace.h:
10199	Don't do pointer arithmetic on void * Use int, not size_t/ssize_t
10200	for systrace lengths (since it uses int)
10201	[3cafccffcffd]
10202
102032005-04-16  Todd C. Miller  <Todd.Miller@courtesan.com>
10204
10205	* mon_systrace.c:
10206	Add some memsets for paranoia Fix namespace collsion w/ error Check
10207	rval of decode_args() and update_env() Remove improper setting of
10208	validated variable
10209	[3d385158354d]
10210
102112005-04-12  Todd C. Miller  <Todd.Miller@courtesan.com>
10212
10213	* parse.c, sudo.c, sudo.h:
10214	In -l mode, only check local sudoers file if def_ignore_sudoers is
10215	not set and call LDAP versions from display_privs() and
10216	display_cmnd() instead of directly from main(). Because of this we
10217	need to defer closing the ldap connection until after -l processing
10218	has ocurred and we must pass in the ldap pointer to display_privs()
10219	and display_cmnd().
10220	[1dfc2e8c9f2b]
10221
10222	* ldap.c:
10223	Reorganize LDAP code to better match normal sudoers parsing.
10224	Instead of storing strings for later printing in -l mode we do
10225	another query since the authenticating user and the user being
10226	listed may not be the same (the new -U flag). Also add support for
10227	"sudo -l command".
10228
10229	There is still a fair bit if duplicated code that can probably be
10230	refactored.
10231	[e9568f19bde5]
10232
102332005-04-11  Todd C. Miller  <Todd.Miller@courtesan.com>
10234
10235	* ldap.c:
10236	Replace pass variable with do_netgr for better readability.
10237	[1bba841b6e79]
10238
10239	* ldap.c:
10240	use DPRINTF macro
10241	[02b159b66bb5]
10242
10243	* ldap.c:
10244	estrdup, not strdup
10245	[22cdee7973c1]
10246
102472005-04-10  Todd C. Miller  <Todd.Miller@courtesan.com>
10248
10249	* parse.c:
10250	Add macro to test if the tag changed to improve readability.
10251	[4e11b4819556]
10252
10253	* parse.c:
10254	Avoid printing defaults header if there are no defaults to print...
10255	[41a28627df03]
10256
10257	* glob.c:
10258	Fix a warning on systems without strlcpy().
10259	[6814e0f0e4f4]
10260
10261	* pwutil.c:
10262	Use macros where possible for sudo_grdup() like sudo_pwdup().
10263	[30f201ff35cd]
10264
102652005-04-08  Todd C. Miller  <Todd.Miller@courtesan.com>
10266
10267	* utimes.c:
10268	It is possible for tv_usec to hold >= 1000000 usecs so add in
10269	tv_usec / 1000000.
10270	[794ac4d53a65]
10271
102722005-03-30  Todd C. Miller  <Todd.Miller@courtesan.com>
10273
10274	* auth/kerb5.c:
10275	The component in krb5_principal_get_comp_string() should be 1, not 0
10276	for Heimdal. From Alex Plotnick.
10277	[fefa351c5044]
10278
102792005-03-29  Todd C. Miller  <Todd.Miller@courtesan.com>
10280
10281	* alias.c, alloc.c, check.c, defaults.c, find_path.c, gram.c, gram.y,
10282	interfaces.c, ldap.c, logging.c, match.c, mon_systrace.c, pwutil.c,
10283	redblack.c, sudo.c, sudo.h, toke.c, toke.l, visudo.c:
10284	Add efree() for consistency with emalloc() et al. Allows us to rely
10285	on C89 behavior (free(NULL) is valid) even on K&R.
10286	[7876bb80d87c]
10287
10288	* parse.c, sudo.c:
10289	Move initgroups() for -U option into display_privs() so group
10290	matching in sudoers works correctly.
10291	[b074428ad2ca]
10292
102932005-03-27  Todd C. Miller  <Todd.Miller@courtesan.com>
10294
10295	* ldap.c:
10296	Removed duplicate call to ldap_unbind_s introduced along with
10297	sudo_ldap_close.
10298	[19acc1c20f7c]
10299
10300	* parse.c:
10301	Add missing space in Defaults printing
10302	[95d2935bf6d4]
10303
103042005-03-25  Todd C. Miller  <Todd.Miller@courtesan.com>
10305
10306	* pwutil.c:
10307	Sync sudo_pwdup with OpenBSD changes: use macros for size computaton
10308	and string copies.
10309	[6b6b241495e5]
10310
103112005-03-19  Todd C. Miller  <Todd.Miller@courtesan.com>
10312
10313	* pwutil.c:
10314	Zero old pw_passwd before replacing with version from shadow file.
10315	[3251b349dfe1]
10316
10317	* configure, configure.in:
10318	Only attempt shadow password detection if PAM is not being used Add
10319	shadow_* variables to make shadow password detection more generic.
10320	[d498a3423ac9]
10321
10322	* configure.in:
10323	Use OSDEFS for os-specific -D_FOO_BAR stuff rather than CPPFLAGS
10324	[04d55bbd5e35]
10325
103262005-03-13  Todd C. Miller  <Todd.Miller@courtesan.com>
10327
10328	* sudoers.pod:
10329	use a non-breaking space to avoid a double space after e.g.
10330	[11cdb54bdf7b]
10331
10332	* sudo.pod:
10333	commna, not colon after e.g.
10334	[8d5875ff72e0]
10335
103362005-03-12  Todd C. Miller  <Todd.Miller@courtesan.com>
10337
10338	* sudo_noexec.c:
10339	Add __ variants of the exec functions. GNU libc at least uses
10340	__execve() internally.
10341	[d1880473d790]
10342
10343	* indent.pro:
10344	Match reality a bit more.
10345	[633e3fa875a7]
10346
10347	* pwutil.c:
10348	Missed piece from rev. 1.6, fix sudo_getpwnam() too.
10349	[128f7b21c2ee]
10350
10351	* pwutil.c:
10352	Store shadow password after making a local copy of struct passwd in
10353	case normal and shadow routines use the same internal buffer in
10354	libc.
10355	[f806052a6ffc]
10356
103572005-03-11  Todd C. Miller  <Todd.Miller@courtesan.com>
10358
10359	* alloc.c, logging.c:
10360	Make varargs usage consistent with the rest of the code.
10361	[3d45affc9851]
10362
103632005-03-10  Todd C. Miller  <Todd.Miller@courtesan.com>
10364
10365	* sudo_noexec.c:
10366	Wrap more of the exec family since on Linux the others do not appear
10367	to go through the normal execve() path.
10368	[8167769b4e19]
10369
10370	* visudo.c:
10371	make print_unused static like proto says
10372	[ecf10e1bae55]
10373
10374	* glob.c:
10375	silence a warning on K&R systems
10376	[2e00425f1a5c]
10377
10378	* alias.c, error.c:
10379	make this build in K&R land
10380	[156f65f8525a]
10381
10382	* parse.c:
10383	make this build in K&R land
10384	[6fc9276889cb]
10385
103862005-03-08  Todd C. Miller  <Todd.Miller@courtesan.com>
10387
10388	* toke.c:
10389	regen
10390	[3b349748cd21]
10391
103922005-03-06  Todd C. Miller  <Todd.Miller@courtesan.com>
10393
10394	* ldap.c:
10395	return(foo) not return foo optimize _atobool() slightly
10396	[11d09d154ed5]
10397
10398	* ldap.c:
10399	Use TRUE/FALSE
10400	[53999320d98f]
10401
10402	* ldap.c:
10403	Reformat to match the rest of sudo's code.
10404	[1bd0f2afa0e7]
10405
10406	* sudo.pod:
10407	I am the primary author
10408	[5d311ecd85c6]
10409
104102005-02-23  Todd C. Miller  <Todd.Miller@courtesan.com>
10411
10412	* Makefile.in, README, RUNSON:
10413	The RUNSON file is toast--it confused too many people and really
10414	isn't needed in a configure-oriented world.
10415	[96a6ef7bbc08]
10416
10417	* INSTALL:
10418	alternate -> alternative
10419	[b65015c5d0a2]
10420
10421	* tgetpass.c:
10422	Use TCSADRAIN instead of TCSAFLUSH since some OSes have issues with
10423	TCSAFLUSH.
10424	[c66b4763ffdc]
10425
10426	* toke.l:
10427	Allow leading blanks before Defaults and Foo_Alias definitions
10428	[2add513d9277]
10429
10430	* Makefile.in:
10431	fix rules to build toke.o and gram.o in devel mode
10432	[96cbb414ebd3]
10433
104342005-02-20  Todd C. Miller  <Todd.Miller@courtesan.com>
10435
10436	* sudoers.pod:
10437	env_keep overrides set_logname
10438	[401877193a15]
10439
10440	* env.c:
10441	Fix disabling set_logname and make env_keep override set_logname.
10442	[0906e7a5ed93]
10443
10444	* compat.h, config.h.in, configure, configure.in:
10445	No longer need memmove()
10446	[43bdb6efe3f2]
10447
10448	* env.c, sudo.c:
10449	Just clean the environment once. This assumes that any further
10450	setenv/putenv will be able to handle the fact that we replaced
10451	environ with our own malloc'd copy but all the implementations I've
10452	checked do.
10453	[11658fe92ba2]
10454
104552005-02-16  Todd C. Miller  <Todd.Miller@courtesan.com>
10456
10457	* env.c, sudo.c:
10458	In -i mode, base the value of insert_env()'s dupcheck flag on
10459	DID_FOO flags. Move checks for $HOME resetting into rebuild_env()
10460	[8365b0bd0c71]
10461
104622005-02-13  Todd C. Miller  <Todd.Miller@courtesan.com>
10463
10464	* env.c, sudo.c:
10465	Move setting of user_path, user_shell, user_prompt and prev_user
10466	into init_vars() since user_shell at least is needed there.
10467	[37e22dce66e9]
10468
104692005-02-12  Todd C. Miller  <Todd.Miller@courtesan.com>
10470
10471	* Makefile.in:
10472	fix devel builds
10473	[9fbb15ef164c]
10474
10475	* sudo.c:
10476	Fix some printf format mismatches on error.
10477	[ffc1c3f11740]
10478
10479	* check.c:
10480	Fix some printf format mismatches on error.
10481	[7b3b508adf50]
10482
10483	* configure, gram.c, toke.c:
10484	regen
10485	[aa76f9d8b02a]
10486
10487	* Makefile.in, aclocal.m4, alias.c, alloc.c, auth/afs.c,
10488	auth/aix_auth.c, auth/bsdauth.c, auth/dce.c, auth/fwtk.c,
10489	auth/kerb4.c, auth/kerb5.c, auth/pam.c, auth/passwd.c,
10490	auth/rfc1938.c, auth/secureware.c, auth/securid.c, auth/securid5.c,
10491	auth/sia.c, auth/sudo_auth.c, auth/sudo_auth.h, check.c,
10492	closefrom.c, compat.h, configure.in, defaults.c, defaults.h,
10493	emul/utime.h, env.c, error.c, fileops.c, find_path.c, getprogname.c,
10494	getspwuid.c, gettime.c, goodpath.c, gram.y, interfaces.c,
10495	interfaces.h, ldap.c, logging.c, logging.h, match.c, mon_systrace.c,
10496	parse.c, redblack.c, redblack.h, set_perms.c, sigaction.c,
10497	snprintf.c, strcasecmp.c, strerror.c, strlcat.c, strlcpy.c, sudo.c,
10498	sudo.h, sudo.pod, sudo_edit.c, sudo_noexec.c, sudoers.pod,
10499	testsudoers.c, tgetpass.c, toke.l, utimes.c, version.h, visudo.c,
10500	visudo.pod, zero_bytes.c:
10501	Update copyright years.
10502	[0610c3654739]
10503
10504	* Makefile.binary.in:
10505	Update copyright years.
10506	[d78ffc9f2e2b]
10507
10508	* LICENSE:
10509	Update copyright years.
10510	[f60473bca4b1]
10511
10512	* BUGS, INSTALL, INSTALL.binary, Makefile.in, README, configure.in:
10513	version 1.7
10514	[aa977a544ca1]
10515
10516	* WHATSNEW:
10517	What's new in sudo 1.7, based on the 1.7 CHANGES entries.
10518	[ecfcf7269c14]
10519
105202005-02-11  Todd C. Miller  <Todd.Miller@courtesan.com>
10521
10522	* compat.h, logging.h, sudo.h:
10523	Add __printflike and use it with gcc to warn about printf-like
10524	format mismatches
10525	[b192ad4a0548]
10526
105272005-02-10  Todd C. Miller  <Todd.Miller@courtesan.com>
10528
10529	* CHANGES, ChangeLog:
10530	Replaced CHANGES file with ChangeLog generated from cvs logs
10531	[d9ace9dab98f]
10532
10533	* set_perms.c:
10534	Use warning/error instead of perror/fatal.
10535	[e33259df7738]
10536
10537	* config.guess:
10538	Update OpenBSD section
10539	[9d2c23de6801]
10540
10541	* UPGRADE:
10542	Add upgrading noted for 1.7
10543	[1fb6b6d6df07]
10544
10545	* env.c, sudo.c, sudoers.pod:
10546	Instead of zeroing out the environment, just prune out entries based
10547	on the env_delete and env_check lists. Base building up the new
10548	environment on the current environment and the variables we removed
10549	initially.
10550	[fc192df8fd15]
10551
10552	* config.h.in, configure, configure.in, sudo.c:
10553	Set locale to "C" if locales are supported, just to be safe.
10554	[91fbaa98f02e]
10555
10556	* toke.c, toke.l:
10557	Cast?argument to ctype functions to unsigned char.
10558	[e096b4d65796]
10559
105602005-02-08  Todd C. Miller  <Todd.Miller@courtesan.com>
10561
10562	* env.c:
10563	correct value for DID_USER
10564	[b5b05d36ec15]
10565
10566	* error.c, fnmatch.c, getcwd.c, glob.c, snprintf.c:
10567	#include <compat.h> not "compat.h"
10568	[7a0ad9a0ccd7]
10569
10570	* defaults.c:
10571	Reset the environment by default.
10572	[4ecc6423e0f0]
10573
10574	* sudo.c:
10575	Alloc an extra slot in NewArgv. Removes the need to malloc an new
10576	vector if execve() fails.
10577	[83dfb6f584a7]
10578
105792005-02-07  Todd C. Miller  <Todd.Miller@courtesan.com>
10580
10581	* INSTALL, config.h.in, configure, configure.in, sudo.c:
10582	Use execve(2) and wrap the command in sh if we get ENOEXEC.
10583	[c0c6af4e2a21]
10584
105852005-02-06  Todd C. Miller  <Todd.Miller@courtesan.com>
10586
10587	* sudo_noexec.c:
10588	Only include time.h on systems that lack struct timespec which gets
10589	defind in compat.h (using time_t).
10590	[e373e518b4cb]
10591
10592	* sudo_noexec.c:
10593	Include time.h for time_t in compat.h for systems w/o struct
10594	timespec.
10595	[a34b5637e458]
10596
10597	* compat.h, config.h.in, configure, configure.in:
10598	use bcopy on systems w/o memmove
10599	[f835eafd78c6]
10600
10601	* compat.h:
10602	__attribute__((__unused__)) doesn't work in gcc 2.7.2.1 so limit its
10603	use to gcc >= 2.8.
10604	[1cb9a4e58566]
10605
10606	* Makefile.in:
10607	Add explicit rule to build sudo_noexec.lo
10608	[df1dfcf8dd77]
10609
106102005-02-05  Todd C. Miller  <Todd.Miller@courtesan.com>
10611
10612	* INSTALL.configure, Makefile.in:
10613	No longer depend on VPATH; pointed out a bunch of missed
10614	dependencies.
10615	[601a45d4af6b]
10616
10617	* TROUBLESHOOTING:
10618	Help for PAM when account section is missing
10619	[9b8221256756]
10620
10621	* auth/pam.c:
10622	Give user a clue when there is a missing "account" section in the
10623	PAM config.
10624	[2529625c0495]
10625
10626	* auth/pam.c:
10627	Better error handling.
10628	[518c9bda23d8]
10629
10630	* config.h.in, configure, configure.in:
10631	Move _FOO_SOURCE to CPPFLAGS so it takes effect as early as
10632	possible. Silences a warning about isblank() on linux.
10633	[19c94d7ecdc8]
10634
10635	* auth/pam.c:
10636	Fix typo (missing comma) that caused an incorrect number of args to
10637	be passed to log_error().
10638	[0099dfec560f]
10639
106402005-02-01  Todd C. Miller  <Todd.Miller@courtesan.com>
10641
10642	* pwutil.c:
10643	Don't try to destroy a tree we didn't create.
10644	[d43c4fe03aa4]
10645
106462005-01-27  Todd C. Miller  <Todd.Miller@courtesan.com>
10647
10648	* alias.c, alloc.c, auth/afs.c, auth/aix_auth.c, auth/bsdauth.c,
10649	auth/dce.c, auth/fwtk.c, auth/kerb4.c, auth/kerb5.c, auth/pam.c,
10650	auth/passwd.c, auth/rfc1938.c, auth/secureware.c, auth/securid.c,
10651	auth/securid5.c, auth/sia.c, auth/sudo_auth.c, check.c, closefrom.c,
10652	compat.h, defaults.c, env.c, error.c, fileops.c, find_path.c,
10653	fnmatch.c, getcwd.c, getprogname.c, getspwuid.c, gettime.c,
10654	goodpath.c, gram.c, gram.y, interfaces.c, ldap.c, logging.c,
10655	match.c, mon_systrace.c, parse.c, pwutil.c, set_perms.c,
10656	sigaction.c, snprintf.c, strcasecmp.c, strerror.c, strlcat.c,
10657	strlcpy.c, sudo.c, sudo_edit.c, sudo_noexec.c, testsudoers.c,
10658	tgetpass.c, toke.c, toke.l, utimes.c, visudo.c, zero_bytes.c:
10659	Add __unused to rcsids
10660	[ad6b4ac45705]
10661
106622005-01-21  Todd C. Miller  <Todd.Miller@courtesan.com>
10663
10664	* configure, configure.in:
10665	Fix error message when mixing invalid auth types
10666	[68069b3ff5bc]
10667
10668	* INSTALL:
10669	PAM, AIX auth, BSD auth and login_cap are now on by default if the
10670	OS supports them.
10671	[4e44e9098cf0]
10672
10673	* auth/sudo_auth.h, config.h.in:
10674	s/HAVE_AUTHENTICATE/HAVE_AIXAUTH/g
10675	[2d569b43b23e]
10676
10677	* configure.in:
10678	Better checking for conflicting authentication methods Display the
10679	authentication methods used at the end of configure Rename --with-
10680	authenticate -> --with-aixauth Use --with-aixauth, --with-bsdauth,
10681	--with-pam, --with-logincap by default on systems that support them
10682	unless disabled. Add OSMAJOR variable that replaces old OSREV; now
10683	OSREV has full version number
10684	[a21115b6fe9f]
10685
106862005-01-18  Todd C. Miller  <Todd.Miller@courtesan.com>
10687
10688	* def_data.c, def_data.in, sudo.c, sudoers.pod:
10689	s/-O/-C/
10690	[ee73f1b81923]
10691
106922005-01-14  Todd C. Miller  <Todd.Miller@courtesan.com>
10693
10694	* configure.in:
10695	Replace: test -n "$FOO" || FOO="bar"
10696
10697	With: : ${FOO='bar'}
10698	[37552d9054fc]
10699
107002005-01-09  Todd C. Miller  <Todd.Miller@courtesan.com>
10701
10702	* pwutil.c, testsudoers.c, tsgetgrpw.c:
10703	Use function pointers to only call private passwd/group routines
10704	when using a nonstandard passwd/group file.
10705	[215908681dfb]
10706
107072005-01-06  Todd C. Miller  <Todd.Miller@courtesan.com>
10708
10709	* CHANGES:
10710	sync
10711	[2e55c03f5790]
10712
10713	* tsgetgrpw.c:
10714	Can't use strtok() since it doesn't handle empty fields so add
10715	getpwent()/getgrent() functions and call those.
10716	[bdaa5b0db70e]
10717
107182005-01-05  Todd C. Miller  <Todd.Miller@courtesan.com>
10719
10720	* Makefile.in:
10721	Fix dummied out toke.c and gram.c dependencies.
10722	[4b909c8b2ebe]
10723
10724	* Makefile.in:
10725	Rename PARSESRCS -> GENERATED since it is only used in the clean
10726	target Add devdir variable and use it to specify the path to parser
10727	sources
10728	[f27b3f41ca23]
10729
10730	* configure:
10731	regen
10732	[22c6435dbd46]
10733
10734	* configure.in:
10735	Add a devdir variables that defaults to $(srcdir) and is set to . if
10736	--devel was specified. Allows for proper dependecies building the
10737	parser.
10738	[a36d694c6d21]
10739
10740	* testsudoers.c:
10741	Add support for custom passwd/group files.
10742	[296549ff4b87]
10743
10744	* Makefile.in:
10745	Build private copy of pwutil.o for testsudoers with MYPW defined so
10746	it uses our own passwd/group routines.
10747	[bafa54ec78ca]
10748
10749	* visudo.c:
10750	Remove sudo_*{pw,gr}* stubs and add sudo_setspent/sudo_endspent
10751	stubs instead. We can now just use the caching sudo_*{pw,gr}*
10752	functions in pwutil.c Add comment about wanting to call
10753	sudo_endpwent/sudo_endgrent in cleanup()
10754	[7e59d6b5510d]
10755
10756	* tsgetgrpw.c:
10757	Remove caching; we will just use what is in pwutil.c Use global
10758	buffers for passwd/group structs Rename functions from sudo_* to
10759	my_*
10760	[8c1e068f574c]
10761
10762	* logging.c, sudo.c:
10763	g/c pwcache_init/pwcache_destroy
10764	[60a24909b947]
10765
10766	* sudo.h:
10767	Undo last commit and add sudo_setspent and sudo_endspent instead.
10768	[bac80db08296]
10769
10770	* getspwuid.c, pwutil.c:
10771	Move all but the shadow stuff from getspwuid.c to pwutil.c and
10772	pwcache_get and pwcache_put as they are no longer needed. Also add
10773	preprocessor magic to use private versions of the passwd and group
10774	routines if MYPW is defined (for use by testsudoers).
10775	[a16b8678a426]
10776
10777	* tsgetgrpw.c:
10778	zero out struct passwd/group before filling it in so if there are
10779	fields we don't handle they end up as 0.
10780	[274cb6a93301]
10781
10782	* logging.c, sudo.c, sudo.h, testsudoers.c, visudo.c:
10783	Adapt to pwutil.c
10784	[43ebd04c8b82]
10785
10786	* Makefile.in:
10787	Add tsgetgrpw.c and pwutil.c Rename the *OBJ variables for better
10788	readability.
10789	[7f88c6061e2d]
10790
10791	* tsgetgrpw.c:
10792	Passwd and group lookup routines for testsudoers that support
10793	alternate passwd and group files.
10794	[d7803101d34e]
10795
10796	* getspwuid.c, pwutil.c:
10797	Split off pw/gr cache and dup code into its own file. This allows
10798	visudo and testsudoers to use the pw/gr cache too.
10799	[ef333d3ffedf]
10800
108012005-01-02  Todd C. Miller  <Todd.Miller@courtesan.com>
10802
10803	* parse.c:
10804	Print Defaults info in "sudo -l" output and wrap lines based on the
10805	terminal width.
10806	[e559eae4250e]
10807
108082005-01-01  Todd C. Miller  <Todd.Miller@courtesan.com>
10809
10810	* match.c, testsudoers.c, visudo.c:
10811	Only check group vector in usergr_matches() if we are matching the
10812	invoking or list user. Always check the group members, even if
10813	there was a group vector.
10814	[d0c7ceb2a041]
10815
108162004-12-17  Todd C. Miller  <Todd.Miller@courtesan.com>
10817
10818	* LICENSE, Makefile.in, fnmatch.3:
10819	No longer bundle fnmatch.3
10820	[72db4a4ff4e1]
10821
10822	* CHANGES, TODO:
10823	checkpoint
10824	[e92781bfd99c]
10825
108262004-12-16  Todd C. Miller  <Todd.Miller@courtesan.com>
10827
10828	* sudo.c:
10829	sort usage
10830	[15e3b876ec2c]
10831
10832	* sudo.pod:
10833	Sort command line options
10834	[c1fa56584bc4]
10835
10836	* def_data.c, def_data.h, def_data.in, defaults.c, logging.c, sudo.c,
10837	sudo.pod, sudoers.pod:
10838	Add closefrom sudoers option to start closing at a point other than
10839	3. Add closefrom_override sudoers option and -C sudo flag to allow
10840	the user to specify a different closefrom starting point.
10841	[370652b099d1]
10842
10843	* pathnames.h.in:
10844	Add _PATH_DEVNULL for those without it.
10845	[0c4c3e0ceb8b]
10846
10847	* LICENSE:
10848	no more UCB strcasecmp
10849	[397a6298e07f]
10850
10851	* strcasecmp.c:
10852	replace BSD licensed one with version derived from pdksh
10853	[d7cfda8c57a2]
10854
108552004-12-10  Todd C. Miller  <Todd.Miller@courtesan.com>
10856
10857	* sudo.c:
10858	Fix last commit.
10859	[7afb9a180532]
10860
10861	* sudo.c:
10862	Make sure stdin, stdout and stderr are open and dup them to
10863	/dev/null if not.
10864	[590f387068bd]
10865
108662004-12-03  Todd C. Miller  <Todd.Miller@courtesan.com>
10867
10868	* ldap.c, mon_systrace.c, sudo.c, sudo.h:
10869	add sudo_ldap_close
10870	[4273a36765a7]
10871
10872	* fileops.c, gettime.c, sudo.c, sudo_edit.c, utimes.c, visudo.c:
10873	Use TIME_WITH_SYS_TIME
10874	[c32b59bf15fb]
10875
10876	* config.h.in, configure, configure.in:
10877	Add TIME_WITH_SYS_TIME_H
10878	[57cb146f451d]
10879
108802004-12-02  Todd C. Miller  <Todd.Miller@courtesan.com>
10881
10882	* env.c:
10883	Add missing braces to avoid DYLD_FORCE_FLAT_NAMESPACE being set
10884	unconditionally on darwin. From Toby Peterson.
10885	[d69959681c87]
10886
10887	* getspwuid.c:
10888	Check rbinsert() return value. In the case of faked up entries
10889	there is usually a negative response cached that we need to
10890	overwrite.
10891
10892	In pwfree() don't try to zero out a NULL pw_passwd pointer.
10893	[00b32d1a48c1]
10894
10895	* mon_systrace.c:
10896	Use the double fork trick to avoid the monitor process being waited
10897	for by the main program run through sudo.
10898	[e0ce556712ff]
10899
109002004-11-29  Todd C. Miller  <Todd.Miller@courtesan.com>
10901
10902	* sudo.c:
10903	Call initgroups() in -U mode so group matches work normally.
10904	[2235bea15283]
10905
10906	* def_data.h, mkdefaults:
10907	Don't print a trailing comma for the last entry in enum def_tupple
10908	[c43a96bb31df]
10909
109102004-11-28  Todd C. Miller  <Todd.Miller@courtesan.com>
10911
10912	* sudoers.cat, sudoers.man.in, sudoers.pod:
10913	Mention values when lecture, listpw and verifypw are used in boolean
10914	context.
10915	[a0b5c0abaccf]
10916
10917	* def_data.c, def_data.in:
10918	verifypw when used in a boolean TRUE context should be "all", not
10919	"any".
10920	[2eb076ddd5e2]
10921
109222004-11-26  Todd C. Miller  <Todd.Miller@courtesan.com>
10923
10924	* def_data.in, defaults.c:
10925	Allow tuples that can be used as booleans to be used as boolean
10926	TRUE. In this case the 2nd possible value of the tuple is used for
10927	TRUE.
10928	[bd99aa77e88b]
10929
109302004-11-25  Todd C. Miller  <Todd.Miller@courtesan.com>
10931
10932	* configure, configure.in:
10933	Correct the test for 2-parameter timespecsub
10934	[d41c9cb26b97]
10935
10936	* sudo.h:
10937	Add strub struct definitions for passwd, timeval and timespec
10938	[c4ce5c43d8c5]
10939
10940	* config.h.in, configure, configure.in, sudo_edit.c, visudo.c:
10941	Add check for 2-argument form of timespecsub (FreeBSD and BSD/OS)
10942	and fix a typo in the gettimeofday check.
10943	[8ac9893057ce]
10944
109452004-11-24  Todd C. Miller  <Todd.Miller@courtesan.com>
10946
10947	* match.c, testsudoers.c:
10948	Deal with user_stat being NULL as it is for visudo and testsudoers.
10949	[3605a6ff64d0]
10950
10951	* parse.c, sudo.c, sudo.cat, sudo.h, sudo.man.in, sudo.pod:
10952	Add -U option to use in conjunction with -l instead of -u. Add
10953	support for "sudo -l command" to test a specific command.
10954	[99638789d415]
10955
10956	* gram.c, gram.y, sudo.c:
10957	Set safe_cmnd after sudoers_lookup() if it has not been set.
10958	Previously it was set by sudo "ALL" in the parser but at that point
10959	the fully-qualified pathname has not yet been found.
10960	[ac30d98f8225]
10961
109622004-11-23  Todd C. Miller  <Todd.Miller@courtesan.com>
10963
10964	* parse.c, testsudoers.c:
10965	Correctly handle multiple privileges per userspec and runas
10966	inheritence.
10967	[a98a965181af]
10968
109692004-11-21  Todd C. Miller  <Todd.Miller@courtesan.com>
10970
10971	* defaults.c:
10972	Zero out sd_un for each entry in sudo_defs_table in init_defaults.
10973	[031d3cd4a848]
10974
109752004-11-19  Todd C. Miller  <Todd.Miller@courtesan.com>
10976
10977	* toke.c, toke.l:
10978	make per-command defaults work with sudoedit
10979	[e56fe33db916]
10980
10981	* ldap.c, parse.c, sudo.c, sudo.h:
10982	Remove the FLAG_NOPASS, FLAG_NOEXEC and FLAG_MONITOR flags.
10983	Instead, we just set the approriate defaults variable.
10984	[756eeecc1d86]
10985
10986	* sample.sudoers, sudoers.cat, sudoers.man.in, sudoers.pod:
10987	Document per-command Defaults.
10988	[92a0f84b91c1]
10989
10990	* defaults.c, defaults.h, gram.c, gram.h, gram.y, mon_systrace.c,
10991	sudo.c, testsudoers.c, toke.c, toke.l, visudo.c:
10992	Add support for command-specific Defaults entries. E.g.
10993	Defaults!/usr/bin/vi noexec
10994	[be3d52bf01cf]
10995
10996	* defaults.c, match.c, parse.c, parse.h, testsudoers.c:
10997	Change an occurence of user_matches() -> runas_matches() missed
10998	previously runas_matches(), host_matches() and cmnd_matches() only
10999	really need to pass in a list of members. user_matches() still
11000	needs to pass in a passwd struct because of "sudo -l"
11001	[833b22fc6fa0]
11002
11003	* parse.c:
11004	Check def_authenticate, def_noexec and def_monitor when setting
11005	return flags. XXX May be better to just set the defaults directly
11006	and get rid of those flags.
11007	[b6db22b59d69]
11008
11009	* alias.c, alloc.c, auth/afs.c, auth/aix_auth.c, auth/bsdauth.c,
11010	auth/dce.c, auth/fwtk.c, auth/kerb4.c, auth/kerb5.c, auth/pam.c,
11011	auth/passwd.c, auth/rfc1938.c, auth/secureware.c, auth/securid.c,
11012	auth/securid5.c, auth/sia.c, auth/sudo_auth.c, check.c, closefrom.c,
11013	defaults.c, env.c, error.c, fileops.c, find_path.c, fnmatch.c,
11014	getcwd.c, getprogname.c, getspwuid.c, gettime.c, glob.c, goodpath.c,
11015	gram.c, gram.y, interfaces.c, ldap.c, logging.c, match.c,
11016	mon_systrace.c, parse.c, redblack.c, set_perms.c, snprintf.c,
11017	strcasecmp.c, strerror.c, strlcat.c, strlcpy.c, sudo.c, sudo_edit.c,
11018	sudo_noexec.c, testsudoers.c, tgetpass.c, toke.c, toke.l, utimes.c,
11019	visudo.c, zero_bytes.c:
11020	Use: #include <config.h> Not: #include "config.h" That way we get
11021	the correct config.h when build dir != src dir
11022	[97e5670a442b]
11023
11024	* Makefile.in:
11025	Back out part of rev 1.263; fix -I order
11026	[197ea01cad5d]
11027
11028	* toke.c, toke.l:
11029	More robust parsing if #include; could be much better still.
11030	[31bc3cd8f045]
11031
11032	* sudo_edit.c, visudo.c:
11033	Make arg splitting in visudo and sudoedit consistent.
11034	[7bc74485f246]
11035
11036	* Makefile.in, alias.c, gram.c, gram.y, parse.h:
11037	Split alias routines out into their own file.
11038	[d90f633cf9ae]
11039
11040	* error.h:
11041	__attribute__ is already defined in compat.h
11042	[676ed3fe9203]
11043
11044	* visudo.c:
11045	quit() should not be __noreturn__ as it is non-void on some
11046	platforms.
11047	[e528c2b6ba10]
11048
11049	* auth/fwtk.c, auth/rfc1938.c, auth/securid.c, auth/securid5.c:
11050	Add local error/warning functions like err/warn but that call an
11051	additional cleanup routine in the error case. This means we no
11052	longer need to compile a special version of alloc.o for visudo.
11053	[e78e8aae882e]
11054
11055	* parse.h:
11056	Clarify comments about the data structures
11057	[ae894e266701]
11058
110592004-11-18  Todd C. Miller  <Todd.Miller@courtesan.com>
11060
11061	* visudo.c:
11062	Add support for VISUAL and EDITOR containing command line args. If
11063	env_editor is not set any args in VISUAL and EDITOR are ignored.
11064	Arguments are also now supported in def_editor.
11065	[ff7303b8e298]
11066
110672004-11-17  Todd C. Miller  <Todd.Miller@courtesan.com>
11068
11069	* parse.h:
11070	alias_matches() is no more
11071	[b59825e28084]
11072
11073	* CHANGES, TODO:
11074	sync
11075	[2b8f5f63c1de]
11076
11077	* Makefile.in:
11078	When regenerating the parser, don't replace gram.h unless it has
11079	changed.
11080	[819949668018]
11081
11082	* Makefile.in:
11083	remove Makefile.binary for distclean
11084	[351eec8d00b2]
11085
11086	* env.c:
11087	Preserve KRB5CCNAME in zero_env() and add a paranoia check to make
11088	sure we can't overflow new_env.
11089	[3284d17b9c6d]
11090
11091	* sudo_edit.c:
11092	paranoia when stripping trailing slashes from tempdir.
11093	[012f1aa2b81f]
11094
11095	* sudo.c:
11096	Set user_ngroups to 0 if getgroups() returns an error.
11097	[c46d43e9449a]
11098
110992004-11-16  Todd C. Miller  <Todd.Miller@courtesan.com>
11100
11101	* config.h.in, configure, configure.in, sudo.c:
11102	Add configure check for getgroups()
11103	[5d8a214e2cef]
11104
11105	* ldap.c:
11106	Use supplementary group vector in struct sudo_user.
11107	[3d0c463c034d]
11108
11109	* match.c:
11110	Only do string comparisons on the group members if there is no
11111	supplemental group list.
11112	[be1c8362f7ef]
11113
11114	* CHANGES, TODO:
11115	sync
11116	[db188bc5b975]
11117
11118	* sudo_edit.c:
11119	On Digital UNIX _PATH_VAR_TMP doesn't end with a trailing slash so
11120	chop off any trailing slashes we see and add an explicit one.
11121	[e1b477dafee1]
11122
11123	* match.c:
11124	remove bogus XXX comment
11125	[8aecb8a28d40]
11126
11127	* match.c:
11128	Get rid of alias_matches and correctly fall through to the non-alias
11129	cases when there is no alias with the specified name.
11130	[2cd555246f09]
11131
11132	* getspwuid.c:
11133	Cache non-existent passwd/group entries too.
11134	[8de9a467d271]
11135
11136	* gram.c:
11137	regen
11138	[9ece18c58f36]
11139
11140	* getspwuid.c:
11141	fix typo
11142	[9a7ae371eac1]
11143
11144	* check.c, getspwuid.c, glob.c, ldap.c, logging.c, match.c,
11145	mon_systrace.h, sudo.c, sudo.h, testsudoers.c, visudo.c:
11146	Implement group caching and use the passwd and group caches
11147	throughout.
11148	[f1d8c5015169]
11149
111502004-11-15  Todd C. Miller  <Todd.Miller@courtesan.com>
11151
11152	* match.c:
11153	Properly negate the return value of alias_matches() when
11154	appropriate.
11155	[ce59c4ce77ad]
11156
11157	* match.c:
11158	Make hostname_matches() return TRUE for a match, else FALSE like the
11159	caller expects.
11160	[1dc03902d3a2]
11161
11162	* Makefile.in:
11163	Add missing dependencies on gram.h
11164	[4f94bbb1d50c]
11165
11166	* match.c:
11167	Use runas_matches in alias_matches() now that we have it.
11168	[284d22e91178]
11169
11170	* parse.c, parse.h:
11171	Expand aliases in "sudo -l" mode
11172	[f67a38b79c44]
11173
11174	* gram.y, match.c:
11175	Use ALIAS for the member type when storing an alias instead of
11176	HOSTALIAS/RUNASALIAS/CMNDALIAS/USERALIAS since match.c relies on the
11177	more generic type. Expand runas_matches instead of calling
11178	user_matches() inside of it since user_matches() looks up
11179	USERALIASes, not RUNASALIASes.
11180	[52004d75232b]
11181
11182	* CHANGES, getspwuid.c:
11183	Paranoia; zero out pw_passwd before freeing passwd entry.
11184	[bd1b22638f00]
11185
11186	* LICENSE, Makefile.in, alloc.c, check.c, config.h.in, configure,
11187	configure.in, defaults.c, emul/err.h, env.c, err.c, error.c,
11188	error.h, find_path.c, interfaces.c, logging.c, mon_systrace.c,
11189	sudo.c, sudo.h, sudo_edit.c, testsudoers.c, visudo.c:
11190	Add local error/warning functions like err/warn but that call an
11191	additional cleanup routine in the error case. This means we no
11192	longer need to compile a special version of alloc.o for visudo.
11193	[25000b676cfe]
11194
11195	* match.c:
11196	Use userpw_matches() to compare usernames, not strcmp(), since the
11197	latter checks for "#uid".
11198	[fcbe4b859f66]
11199
11200	* getspwuid.c, mon_systrace.c, mon_systrace.h, sudo.c:
11201	Cache passwd db entries in 2 reb-black trees; one indexed by uid,
11202	the other by user name. The data returned from the cache should be
11203	considered read-only and is destroyed by sudo_endpwent().
11204	[ee2418ff3f86]
11205
11206	* match.c:
11207	add cast to uid_t
11208	[eb6415302d84]
11209
11210	* gram.y:
11211	missing free in alias_destroy
11212	[572ecb680ad8]
11213
11214	* redblack.c:
11215	Can't use rbapply() for rbdestroy since the destructor is passed a
11216	data pointer, not a node pointer.
11217	[11ce713830c0]
11218
11219	* getspwuid.c, logging.c, sudo.c, sudo.h:
11220	Create and use private versions of setpwent() and endpwent() that
11221	set/end the shadow password file too.
11222	[616bc76d23bf]
11223
11224	* gram.c, gram.h, gram.y, match.c, parse.h, testsudoers.c, visudo.c:
11225	Store aliases in a red-black tree.
11226	[ce017d540416]
11227
11228	* Makefile.in, redblack.c, redblack.h:
11229	red-black tree implementation
11230	[cd5586e8f48b]
11231
11232	* visudo.c:
11233	Edit all sudoers file if there were unused or undefined aliases and
11234	we are in strict mode.
11235	[b6d5f5bb7262]
11236
112372004-11-12  Todd C. Miller  <Todd.Miller@courtesan.com>
11238
11239	* CHANGES, def_data.c, def_data.h, def_data.in, defaults.c, env.c,
11240	find_path.c, sudoers.cat, sudoers.man.in, sudoers.pod, visudo.c:
11241	Bring back the "secure_path" Defaults option now that Defaults take
11242	effect before the path is searched.
11243	[2e52c0e27606]
11244
112452004-11-11  Todd C. Miller  <Todd.Miller@courtesan.com>
11246
11247	* logging.c, parse.c:
11248	A user can always list their own entries, even with -u. Better error
11249	message when failing to list another user's entries.
11250	[e2e24deb0071]
11251
11252	* parse.c, sudo.c, sudo.h:
11253	The syntax to list another user's entries is now "-u otheruser -l".
11254	Only root or users with sudo "ALL" may list other user's entries.
11255	[3c0657e8f5fe]
11256
11257	* sudo.cat, sudo.man.in, sudo.pod:
11258	Update env variable info in SECURITY NOTES
11259	[299716071024]
11260
11261	* env.c:
11262	strip CDPATH too
11263	[9b97643b26f9]
11264
11265	* env.c:
11266	strip exported bash functions from the environment.
11267	[9e5090c8284f]
11268
112692004-10-27  Todd C. Miller  <Todd.Miller@courtesan.com>
11270
11271	* sudo.c:
11272	Only reset sudo_user.pw based on SUDO_USER environment variables for
11273	real commands and sudoedit. This avoids a confusing message when a
11274	user tries "sudo -l" or "sudo -v" and is denied.
11275	[3ea6d0053274]
11276
11277	* gram.c, gram.y, parse.h:
11278	Extend LIST_APPEND to deal with appending lists too
11279	[d963e42f622f]
11280
112812004-10-26  Todd C. Miller  <Todd.Miller@courtesan.com>
11282
11283	* logging.c:
11284	Convert some bitwise AND to ISSET
11285	[130dc40d268e]
11286
11287	* lex.yy.c, toke.c:
11288	toke.c replaces lex.yy.c
11289	[048858df79e7]
11290
11291	* CHANGES, TODO:
11292	sync
11293	[d19e7abf251c]
11294
11295	* BUGS:
11296	new parser fixes most of the outstanding bugs
11297	[0891f66e3758]
11298
11299	* configure:
11300	regen
11301	[1a3358cc7283]
11302
11303	* visudo.c:
11304	Rework for the new parser. Now checks for unused aliases in sudoers.
11305	[ad462ede3094]
11306
11307	* testsudoers.c:
11308	Rewrite for the new parser. Now supports a -d flag (dump) and adds
11309	a -h flag (host). It now defaults to the local hostname unless
11310	otherwise specified.
11311	[1b69685cc601]
11312
11313	* sudo.h:
11314	Add new prototypes. Remove NOMATCH/UNSPEC (now in parse.h)
11315	[2e4fb3abfef0]
11316
11317	* sudo.c:
11318	Update for new parse. We now call find_path() *after* we have
11319	updated the global defaults based on sudoers. Also adds support for
11320	listing other user's privs if you are root.
11321	[cf3db9fc3024]
11322
11323	* mon_systrace.c:
11324	Working LDAP support; also remove a now-unneeded rewind().
11325	[649ecf1baf6b]
11326
11327	* logging.c, logging.h:
11328	Add NO_STDERR flag.
11329	[6cb935af94e0]
11330
11331	* ldap.c:
11332	Split sudo_ldap_check() into three pieces: sudo_ldap_open(),
11333	udo_ldap_update_defaults() and sudo_ldap_check(). This allows us to
11334	connecto to LDAP, apply the default options, find the command in the
11335	user's path, and then check whether the user is allowed to run it.
11336	The important thing here is that the default runas user may be
11337	specified as a default option and that needs to be set before we
11338	search for the command.
11339	[fc0426abc6f1]
11340
11341	* ldap.c:
11342	Add casts to unsigned char for isspace() to quiet a gcc warning.
11343	[e5358e3df439]
11344
11345	* defaults.h:
11346	Add prototype for update_defaults()
11347	[564dac3db74e]
11348
11349	* defaults.c:
11350	Don't warn about line numbers now that we operate on a set of data
11351	structures (or LDAP) and not a file.
11352	[bcd9ffb9b67c]
11353
11354	* config.h.in:
11355	No long use lsearch()
11356	[9d048c587319]
11357
11358	* Makefile.in:
11359	Update for new and changed file names.
11360	[6f424a7c4515]
11361
11362	* LICENSE:
11363	no more BSD lsearch.c
11364	[463a96d89026]
11365
11366	* match.c:
11367	foo_matches() routines now live in match.c Added user_matches(),
11368	runas_matches(), host_matches(), cmnd_matches() and alias_matches()
11369	that operate on the parsed sudoers file.
11370	[b14da8a0567e]
11371
11372	* parse.lex, toke.l:
11373	Move parse.lex -> toke.l Rename buffer_frob() -> switch_buffer()
11374	WORD no longer needs to exclude '@' kill yywrap()
11375	[a922294eb7b7]
11376
11377	* gram.c, gram.h, gram.y, parse.c, parse.h, parse.yacc, sudo.tab.c,
11378	sudo.tab.h:
11379	Rewritten parser that converts sudoers into a set of data
11380	structures. This eliminates ordering issues and makes it possible to
11381	apply sudoers Defaults entries before searching for the command.
11382	[30d2ec4d203c]
11383
11384	* configure.in, emul/search.h, lsearch.c:
11385	We won't be using lsearch() any longer.
11386	[29c4d54bfac0]
11387
11388	* ldap.c:
11389	sudo should not send mail if someone who runs 'sudo -l' has no
11390	entry.
11391	[6fc27a69fd9c]
11392
11393	* sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in, visudo.cat,
11394	visudo.man.in:
11395	regen
11396	[8166347917f3]
11397
11398	* visudo.pod:
11399	Update warnings to match new visudo
11400	[004c0766798f]
11401
11402	* sudoers.pod:
11403	The new parser doesn't have the old ordering constraints.
11404	[ffd43bd08661]
11405
11406	* sudo.pod:
11407	Document that -l now takes an optional username argument
11408	[278f9557de8b]
11409
114102004-10-25  Todd C. Miller  <Todd.Miller@courtesan.com>
11411
11412	* RUNSON:
11413	AIX 5.2.0.0 works
11414	[523acd29d858]
11415
11416	* ldap.c:
11417	If LDAP_OPT_SUCCESS is not defined, use LDAP_SUCCESS instead. Fixes
11418	a compilation problem with Solaris 9's native LDAP.
11419
11420	Set FLAG_MONITOR when needed.
11421	[35824ade672d]
11422
114232004-10-23  Todd C. Miller  <Todd.Miller@courtesan.com>
11424
11425	* mon_systrace.c:
11426	Call sudo_goodpath() *after* changing the cwd to match the traced
11427	process. Fixes relative paths.
11428	[12ee111d0ad7]
11429
114302004-10-21  Todd C. Miller  <Todd.Miller@courtesan.com>
11431
11432	* testsudoers.c:
11433	Kill set_perms() stub--it is no longer needed.
11434	[116ed702935d]
11435
114362004-10-13  Todd C. Miller  <Todd.Miller@courtesan.com>
11437
11438	* sudoers.cat, sudoers.man.in, sudoers.pod:
11439	stay_setuid now requires set_reuid() or setresuid()
11440	[8511f67e25d5]
11441
11442	* INSTALL, PORTING, TROUBLESHOOTING, config.h.in, configure,
11443	configure.in, set_perms.c, sudo.c, sudo.h:
11444	Kill use of POSIX saved uids; they aren't worth bothering with.
11445	[b3b1f19f18c1]
11446
114472004-10-07  Todd C. Miller  <Todd.Miller@courtesan.com>
11448
11449	* glob.c:
11450	remove call to issetugid()
11451	[63f2e492c08f]
11452
11453	* sudoers.cat, sudoers.man.in, sudoers.pod:
11454	Remove warning about wildcards. Now that we use glob() the bug is
11455	fixed.
11456	[b15729d32266]
11457
11458	* parse.c:
11459	Use glob(3) instead of fnmatch(3) for matching pathnames and stat
11460	each result that matches the basename of the user's command. This
11461	makes "cd /usr/bin ; sudo ./blah" work when sudoers allows
11462	/usr/bin/blah. Fixes bug #143.
11463	[e31eb6310340]
11464
11465	* config.h.in, configure, configure.in:
11466	Define HAVE_EXTENDED_GLOB for extended glob (GLOB_TILDE and
11467	GLOB_BRACE)
11468	[677ed6661e17]
11469
11470	* config.h.in, configure, configure.in:
11471	Check for a glob() that supports GLOB_BRACE and GLOB_TILDE
11472	[aaa2329dd266]
11473
11474	* LICENSE:
11475	reference glob
11476	[bedc9a923423]
11477
11478	* glob.c:
11479	4.4BSD glob(3) with fixes from OpenBSD and some unneeded extensions
11480	removed.
11481	[81799451473c]
11482
11483	* emul/glob.h:
11484	4.4BSD glob(3) with fixes from OpenBSD and some unneeded extensions
11485	removed.
11486	[0335cf31fb1e]
11487
114882004-10-05  Todd C. Miller  <Todd.Miller@courtesan.com>
11489
11490	* mon_systrace.c:
11491	Just return if STRIOCINJECT or STRIOCREPLACE fail. It probably
11492	means we are out of space in the stack gap...
11493	[5b02b702021e]
11494
11495	* CHANGES:
11496	sync
11497	[be3826273e56]
11498
11499	* mon_systrace.c:
11500	Take a stab at ldap sudoers support here.
11501	[9d023695b0de]
11502
11503	* mon_systrace.c, mon_systrace.h:
11504	Detach from tracee on SIGHUP, SIGINT and SIGTERM. Now "sudo reboot"
11505	doesn't cause reboot to inadvertanly kill itself.
11506	[d4aab2365610]
11507
11508	* mon_systrace.c:
11509	put "monitor" in the proctitle, not "systrace"
11510	[9a9025767d86]
11511
11512	* mon_systrace.c:
11513	When modifying the environment, don't replace envp when we can get
11514	away with just rewriting pointers in the traced process.
11515	[c03622f7a2e2]
11516
11517	* mon_systrace.c, mon_systrace.h:
11518	Add environment updating via STRIOCINJECT (if available).
11519	[037291016870]
11520
11521	* sudoers.cat, sudoers.man.in:
11522	regen
11523	[869acc511046]
11524
115252004-10-04  Todd C. Miller  <Todd.Miller@courtesan.com>
11526
11527	* lex.yy.c:
11528	regen
11529	[4e61a9bd3c97]
11530
11531	* parse.lex:
11532	Fix bug introduced in unput() removal; want yyless(0) not yyless(1)
11533	[b70d7bd6e147]
11534
11535	* mon_systrace.c:
11536	Include file is now mon_systrace.h
11537	[ead4e36d92ae]
11538
11539	* Makefile.in, configure, configure.in, def_data.c, def_data.h,
11540	def_data.in, lex.yy.c, parse.c, parse.h, parse.lex, parse.yacc,
11541	sudo.c, sudo.h, sudo.tab.c, sudo.tab.h, sudoers.pod:
11542	No longer call it tracing, it is now "monitoring" which should be
11543	more a obvious name to non-hackers.
11544	[aa811ded0789]
11545
115462004-10-01  Todd C. Miller  <Todd.Miller@courtesan.com>
11547
11548	* mon_systrace.c, mon_systrace.h:
11549	Fix some XXX
11550	[a271072dacc6]
11551
11552	* mon_systrace.c, mon_systrace.h:
11553	No need to include syscall.h, use 1024 as the max # of entries (the
11554	max that systrace(4) allows).
11555
11556	Only need to use SYSTR_POLICY_ASSIGN once
11557
11558	Change check_syscall() -> find_handler() and have it return the
11559	handler instead of just running it. We need this since handler now
11560	have two parts: one part that generates and answer and another that
11561	gets called after the answer is accepted (to do logging).
11562
11563	Add some missing check_exec for emul execv
11564	[a89d243f0525]
11565
11566	* sample.pam, sample.sudoers, sample.syslog.conf, sudoers:
11567	Add $Sudo$ tags.
11568	[6f3fedb0daba]
11569
11570	* config.h.in:
11571	Add missing HAVE_LINUX_SYSTRACE_H
11572	[ff75ab7bfc53]
11573
11574	* Makefile.in:
11575	add trace_systrace.o dependency
11576	[88a408668ab2]
11577
115782004-09-30  Todd C. Miller  <Todd.Miller@courtesan.com>
11579
11580	* configure, configure.in:
11581	Also look for systrace.h in /usr/include/linux
11582	[98b98b436cf3]
11583
11584	* mon_systrace.c, mon_systrace.h:
11585	Move all struct defs and prototypes into trace_systrace.h and mark
11586	all but systace_attach() static.
11587	[85511253b570]
11588
11589	* mon_systrace.c, mon_systrace.h:
11590	Add support for tracing emulations. At the moment, all emulations
11591	are compiled in. It might make sense to #ifdef them in the future,
11592	though this impeeds readability.
11593	[87bb50abf277]
11594
11595	* Makefile.in, configure, configure.in:
11596	rename systrace.c -> trace_systrace.c
11597	[31cfa4407d93]
11598
11599	* parse.yacc, sudo.tab.c:
11600	Allow this to build with a K&R compiler again
11601	[32876af5bb98]
11602
11603	* TODO:
11604	sync
11605	[46865bd70f7c]
11606
11607	* compat.h, sudo.c, visudo.c:
11608	Use __attribute__((__noreturn__))
11609	[65bbad71fe89]
11610
11611	* visudo.c:
11612	Exit() takes a negative value to indicate it was not called via
11613	signal.
11614	[b93032ed7b60]
11615
11616	* sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in, visudo.cat,
11617	visudo.man.in:
11618	regen
11619	[45bcf4661558]
11620
11621	* Makefile.in, visudo.c:
11622	Define Err() and Errx() that are like err() and errx() but call
11623	Exit() instead of exit(). Build private copy of alloc.o for visudo
11624	that calls Err() and Errx().
11625	[c6d02bf42edd]
11626
116272004-09-29  Todd C. Miller  <Todd.Miller@courtesan.com>
11628
11629	* lex.yy.c, sudo.tab.c:
11630	regen
11631	[39de7e7c59da]
11632
11633	* CHANGES:
11634	sync
11635	[ba481d9ed1aa]
11636
11637	* visudo.c:
11638	Overhaul visudo for editing multiple files: o visudo has been
11639	broken out into functions (more work needed here) o each file is
11640	now edited before sudoers is re-parsed o if a #include line is
11641	added that file will be edited too
11642
11643	TODO: o cleanup temp files when exiting via err() or errx() o
11644	continue breaking things out into separate functions
11645	[80c35cf534eb]
11646
11647	* parse.lex, sudo.c, sudo.h, testsudoers.c, visudo.c:
11648	Add keepopen arg to open_sudoers that open_sudoers can use to
11649	indicate to the caller that the fd should not be closed when it is
11650	done with it. To be used by visudo to keep locked fds from being
11651	closed prematurely (and thus losing the lock).
11652	[f330fe632470]
11653
11654	* parse.yacc, sudo.c:
11655	Add errorfile global that contains the name of the file that caused
11656	the error.
11657	[98079c7a37ed]
11658
11659	* parse.lex:
11660	return COMMENT to yacc grammar for a #include line
11661	[2024a8de4fa8]
11662
11663	* parse.lex:
11664	Remove us of unput() in favor of yyless() which is cheaper.
11665	[c61291902beb]
11666
11667	* parse.yacc:
11668	Allow an empty sudoers file.
11669	[62fb111db2e7]
11670
116712004-09-28  Todd C. Miller  <Todd.Miller@courtesan.com>
11672
11673	* mon_systrace.c:
11674	Rewind sudoers_fp now that sudoers_lookup() doesn't do it for us.
11675	[9e15869ef597]
11676
11677	* lex.yy.c, sudo.tab.c:
11678	regen
11679	[c29bdd43bfad]
11680
11681	* visudo.c:
11682	Do signal setup before calling edit_sudoers(). Don't shadow the
11683	"quiet" global.
11684	[74252efd09ff]
11685
11686	* visudo.c:
11687	If a sudoers file includes other files, edit those too. Does not yes
11688	deal with creating the new includes files itself.
11689	[06af7b9c173f]
11690
11691	* testsudoers.c:
11692	init_parser now takes a path
11693	[b5ee186eb192]
11694
11695	* parse.c, parse.h, parse.lex, parse.yacc:
11696	More scaffolding for dealing with multiple sudoers files: o
11697	init_parser() now takes a path used to populate the sudoers global
11698	o the sudoers global is used to print the correct file in yyerror()
11699	o when switching to a new sudoers file, perserve old file name and
11700	line number
11701	[d9be4970b8bd]
11702
11703	* Makefile.in, pathnames.h.in:
11704	Kill _PATH_SUDOERS_TMP; it is not meaningful now that we can have
11705	multiple sudoers files.
11706	[6ccc4e921c43]
11707
11708	* parse.c, sudo.c:
11709	Rewind sudoers_fp in open_sudoers() instead of sudoers_lookup() so
11710	we start at the right file position when reading include files.
11711	[91fcb961e7a4]
11712
11713	* sudoers.pod:
11714	document #include
11715	[fbb92a25a726]
11716
11717	* lex.yy.c:
11718	regen
11719	[50cd7a4c9dff]
11720
11721	* parse.lex:
11722	Add max depth of 128 for the include stack to avoid loops.
11723
11724	Since yyerror() doesn't stop parsing, pass return values back to
11725	yylex and call yyterminate() on error.
11726	[e79dbffb729d]
11727
117282004-09-27  Todd C. Miller  <Todd.Miller@courtesan.com>
11729
11730	* sudoers.pod:
11731	document tracing
11732	[165a467eadd8]
11733
11734	* sudo.pod:
11735	Mention PREVENTING SHELL ESCAPES section of sudoers man page
11736	[3217ccecd834]
11737
11738	* lex.yy.c, sudo.tab.c:
11739	regen
11740	[fbd58d1d3a76]
11741
11742	* parse.lex:
11743	Add support for #include in sudoers (visudo support TBD)
11744	[a78015ca81af]
11745
11746	* parse.yacc:
11747	make yyerror()'s argument const
11748	[7d8e168c019a]
11749
11750	* testsudoers.c, visudo.c:
11751	Add open_sudoers() stubs.
11752	[087466787198]
11753
11754	* sudo.c, sudo.h:
11755	Rename check_sudoers() open_sudoers() and make it return a FILE *
11756	[142fc511fc65]
11757
117582004-09-26  Todd C. Miller  <Todd.Miller@courtesan.com>
11759
11760	* BUGS, INSTALL, INSTALL.binary, Makefile.in, README, configure.in,
11761	version.h:
11762	Crank version
11763	[1adc3f839480]
11764
11765	* Makefile.in, sudo.psf:
11766	Better HP-UX depot construction
11767	[2d952b000e63]
11768
117692004-09-25  Todd C. Miller  <Todd.Miller@courtesan.com>
11770
11771	* mon_systrace.c:
11772	o Made children global so check_exec() can lookup a child. o
11773	Replaced uid in struct childinfo with struct passwd * (for runas) o
11774	new_child() now takes a parent pid so the runas info can be
11775	inherited o Added find_child() to lookup a child by its pid o
11776	update_child() now fills in a struct passwd o Converted the big
11777	if/else mess in set_policy to a switch o Syscalls that change uid
11778	are now "ask" so we get SYSTR_MSG_UGID events
11779	[29b9ea3f09a3]
11780
11781	* getspwuid.c:
11782	Add flag to sudo_pwdup that indicates whether or not to lookup the
11783	shadow password. Will be used to a struct passwd that has the
11784	shadow password already filled in.
11785	[e19d43dd7238]
11786
11787	* mon_systrace.c:
11788	add missing increment of addr in read_string()
11789	[f9eb0f060cb6]
11790
11791	* mon_systrace.c:
11792	Remove bogus call to update_child() and some cosmetic fixes
11793	[701ab0b97fef]
11794
11795	* mon_systrace.c:
11796	Don't leak /dev/systrace fd to tracee Make initialized global for
11797	simplicity If STRIOCATTACH returns EBUSY we are already being traced
11798	Check for user_args == NULL in setproctitle() call Add missing calls
11799	to STRIOCANSWER
11800	[1956edf9bc3a]
11801
11802	* sudo.c:
11803	g/c sudo_pwdup proto
11804	[b7c4d6249ecb]
11805
11806	* Makefile.in, sudo.psf:
11807	Add target for building a depot file
11808	[357019efd99b]
11809
11810	* mon_systrace.c:
11811	trim includes
11812	[501534428471]
11813
118142004-09-24  Todd C. Miller  <Todd.Miller@courtesan.com>
11815
11816	* lex.yy.c, sudo.tab.c, sudo.tab.h:
11817	regen
11818	[52fd250c6986]
11819
11820	* INSTALL:
11821	document --with-systrace
11822	[79623927c94e]
11823
11824	* config.h.in, configure, configure.in:
11825	Add check for setproctitle
11826	[1730cf1c26ed]
11827
11828	* mon_systrace.c:
11829	pass struct str_msg_ask in to syscall checker so it can set the
11830	error code
11831	[1703fd2fdef6]
11832
11833	* mon_systrace.c:
11834	systrace(4) support for sudo. On systems with the systrace(4)
11835	kernel facility (OpenBSD, NetBSD, Linux w/ patches) sudo can
11836	intercept exec calls and check the exec args against the sudoers
11837	file. In other words, sudo can now control subcommands and shell
11838	escapes.
11839	[928c9217c386]
11840
11841	* sudo.c, sudo.h:
11842	Call systrace_attach() if FLAG_TRACE is set.
11843	[014ba9402fa5]
11844
11845	* parse.c, parse.h, parse.lex, parse.yacc, sudo.h:
11846	Add trace Defaults option and TRACE/NOTRACE tags and set FLAG_TRACE
11847	[a99904db5e56]
11848
11849	* parse.c, sudo.c:
11850	Don't close sudoers_fp, keep it open and set close on exec flag
11851	instead.
11852	[43a9fec60bee]
11853
11854	* def_data.c, def_data.h, def_data.in:
11855	Add trace option
11856	[5b643b86730a]
11857
11858	* Makefile.in:
11859	Add systrace
11860	[47a0519c427c]
11861
11862	* INSTALL:
11863	SunOS /bin/sh blows up with configure
11864	[005a23cc5615]
11865
11866	* configure, configure.in:
11867	Include sys/param.h before systrace.h
11868	[9345bc8efecf]
11869
11870	* configure:
11871	regen
11872	[a8f53fcbb254]
11873
11874	* pathnames.h.in:
11875	_PATH_DEV_SYSTRACE
11876	[d2ad1e492a00]
11877
11878	* configure.in:
11879	line up options in --help
11880	[fa51f2821d09]
11881
11882	* config.h.in, configure.in:
11883	Add --with-systrace
11884	[a264d54bc413]
11885
118862004-09-23  Todd C. Miller  <Todd.Miller@courtesan.com>
11887
11888	* configure:
11889	regen
11890	[a4dad0bcc523]
11891
11892	* aclocal.m4, configure.in:
11893	make this work with autoconf-2.59
11894	[c4a92b6a684a]
11895
118962004-09-16  Todd C. Miller  <Todd.Miller@courtesan.com>
11897
11898	* sudo_edit.c:
11899	Simplify logic around open & stat of files and do sanity on edited
11900	file even if we lack fstat (still racable but worth doing).
11901	[adda65ade70c]
11902
119032004-09-15  Todd C. Miller  <Todd.Miller@courtesan.com>
11904
11905	* HISTORY:
11906	Add support url
11907	[bf6590fbde9f]
11908
11909	* Makefile.in:
11910	versino 1.6.8p1
11911	[b84ebfaf1552] [SUDO_1_6_8p1]
11912
11913	* CHANGES:
11914	more changes for 1.6.8p1
11915	[e23a9c0393b6]
11916
11917	* version.h:
11918	1.6.8p1
11919	[872f14504b5f]
11920
11921	* CHANGES, sudo_edit.c:
11922	Add sanity check so we don't try to edit something other than a
11923	regular file.
11924	[350134ec6d4e]
11925
119262004-09-15  Aaron Spangler  <aaron777@gmail.com>
11927
11928	* CHANGES:
11929	sync
11930	[3091ca9eae00]
11931
11932	* INSTALL:
11933	document --with-ldap-conf-file
11934	[0e2cd6b896f1]
11935
119362004-09-14  Todd C. Miller  <Todd.Miller@courtesan.com>
11937
11938	* CHANGES, ins_csops.h:
11939	political correctness strikes again
11940	[428e8bc77f55]
11941
11942	* RUNSON:
11943	sync
11944	[27f44bd423dc]
11945
119462004-09-12  Todd C. Miller  <Todd.Miller@courtesan.com>
11947
11948	* Makefile.binary.in, Makefile.in:
11949	Install sudoedit man link
11950	[19a55234fc1f]
11951
11952	* INSTALL:
11953	Update PAM note and mention where HP-UX users can download gcc
11954	binaries.
11955	[d37cdbbabfd4]
11956
11957	* Makefile.in:
11958	libtool wants to install stuff from .libs so fake one up for binary
11959	installations.
11960	[a681bc6fcfba]
11961
11962	* Makefile.binary.in:
11963	rm -f old sudoedit link instead of using ln -f set LIBTOOL correctly
11964	[3e0c4b3372cc]
11965
11966	* Makefile.in:
11967	Deal with "uname -m" having slashes in it rm -f old sudoedit link
11968	instead of using ln -f
11969	[cff33fb97e5b]
11970
11971	* Makefile.binary, Makefile.binary.in:
11972	Makefile.binary -> Makefile.binary.in for config.status substitution
11973	Add support for installing noexec bits
11974	[37d8bb3483c6]
11975
11976	* Makefile.in:
11977	Copy noexec bits into binary dists too No longer use my old arch
11978	script for making binary dists
11979	[e7058bab9e33]
11980
11981	* Makefile.binary:
11982	Install sudoedit link.
11983	[417d1e101711]
11984
119852004-09-11  Todd C. Miller  <Todd.Miller@courtesan.com>
11986
11987	* emul/utime.h:
11988	avoid __P so there is no need for compat.h to be included
11989	[6d8d1f1abf7d]
11990
11991	* utimes.c:
11992	Don't use HAVE_UTIME_H before including config.h.
11993	[013b7bb61181]
11994
119952004-09-10  Todd C. Miller  <Todd.Miller@courtesan.com>
11996
11997	* compat.h:
11998	Fix Solatis futimes macro
11999	[d4eda2ca0d29]
12000
120012004-09-09  Todd C. Miller  <Todd.Miller@courtesan.com>
12002
12003	* sudo_edit.c:
12004	Rename ots -> omtim for improved readability.
12005	[127ca5bb297c]
12006
120072004-09-08  Todd C. Miller  <Todd.Miller@courtesan.com>
12008
12009	* sudo_edit.c:
12010	Redo changes in revision 1.7. Don't really need to keep the temp
12011	file open; re-opening it with the invoking user's euid is
12012	sufficient.
12013	[55a883165a95]
12014
12015	* CHANGES:
12016	sync
12017	[9015b291170d]
12018
12019	* sudo.cat, sudo.man.in:
12020	regen
12021	[c0313f6ed783]
12022
12023	* sudo.pod:
12024	back out revision 1.70; it is no long applicable
12025	[b641d503aff6]
12026
12027	* env.c:
12028	Let the loader initialize nep
12029	[bec192139b02]
12030
12031	* config.h.in, configure, configure.in:
12032	Removed unneed check for fchown Add check for gettimeofday Move
12033	autoheader template stuff into separate AH_TEMPLATE lines
12034	[bfc0edbd43f2]
12035
12036	* check.c, compat.h, fileops.c, sudo.h, sudo_edit.c, visudo.c:
12037	Use timespec throughout.
12038	[1a178a23b69b]
12039
12040	* Makefile.in:
12041	gettime.[co]
12042	[6aeb48a7ab7f]
12043
12044	* gettime.c:
12045	function to return the current time in a struct timespec
12046	[bf8eb12cb63f]
12047
12048	* utimes.c:
12049	Not a darpa-sponsored file.
12050	[121ce5e2036c]
12051
120522004-09-07  Todd C. Miller  <Todd.Miller@courtesan.com>
12053
12054	* compat.h, config.h.in, configure, configure.in:
12055	Add a check for struct timespec and provide it for those without.
12056	[42124055030d]
12057
12058	* config.h.in, configure, configure.in, sudo_edit.c:
12059	Add checks for st_mtim and st_mtimespec and add macros for pulling
12060	the mtime sec and nsec out of struct stat. These are used in
12061	sudo_edit() to better tell whether or not the file has changed.
12062	[23debfbb3fab]
12063
12064	* check.c, fileops.c, sudo.h, sudo_edit.c, visudo.c:
12065	Add an extra param to touch() for nsec
12066	[56f7a4ba8ddb]
12067
12068	* sudo_edit.c:
12069	Call mkstemp() as the in invoking user so we don't have to chown the
12070	file later. Only touch() the temp file if we can do it via the file
12071	descriptor. Don't check for modification of the temp file if we lack
12072	fstat(). Catch errors read()ing the temp file.
12073	[665f52c70836]
12074
12075	* fileops.c:
12076	If path is NULL and fd == -1 return -1.
12077	[757a518a824c]
12078
12079	* sudo_edit.c:
12080	closefrom() is overkill, the only extra fds are the ones we opened
12081	so just close those in the child.
12082	[f361c9d2a1f4]
12083
12084	* Makefile.in, aclocal.m4, check.c, compat.h, config.h.in, configure,
12085	configure.in, fileops.c, sudo.h, sudo_edit.c, utime.c, utimes.c,
12086	visudo.c:
12087	Use utimes() and futimes() instead of utime() in touch(), emulating
12088	as needed. Not all systems are able to support setting the times of
12089	an fd so touch() takes both an fd and a file name as arguments.
12090	[3d9276f29717]
12091
120922004-09-07  Aaron Spangler  <aaron777@gmail.com>
12093
12094	* env.c:
12095	Rare SEGV
12096	[8995f828782d]
12097
120982004-09-06  Todd C. Miller  <Todd.Miller@courtesan.com>
12099
12100	* sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in, visudo.cat,
12101	visudo.man.in:
12102	regen
12103	[b8e9406711c5]
12104
12105	* sudo.pod, sudoers.pod, visudo.pod:
12106	Add SUPPORT section and re-order some of the sections to match the
12107	order we use in OpenBSD.
12108	[fa37bd917e2c]
12109
121102004-09-06  Aaron Spangler  <aaron777@gmail.com>
12111
12112	* env.c:
12113	Openldap ~/.ldaprc fix
12114	[1a37afe6850f]
12115
121162004-09-06  Todd C. Miller  <Todd.Miller@courtesan.com>
12117
12118	* sudo.pod:
12119	Talk about how the editor must write its changes to the original
12120	file and not just use rename(2).
12121	[c55ed91c5ee9]
12122
12123	* CHANGES:
12124	sync
12125	[62af26bd37a2]
12126
12127	* sudo_edit.c:
12128	Keep the temp file open instead of re-opening after the editor has
12129	exited.
12130	[de41eeb6dcf2]
12131
12132	* sample.pam:
12133	Update for current redhat/fedora core.
12134	[8cf083077333]
12135
121362004-09-03  Aaron Spangler  <aaron777@gmail.com>
12137
12138	* README.LDAP:
12139	tls_ examples
12140	[ba783d88a034]
12141
121422004-09-02  Aaron Spangler  <aaron777@gmail.com>
12143
12144	* ldap.c:
12145	config tls_* options
12146	[0b0e0797b3b9]
12147
121482004-08-29  Todd C. Miller  <Todd.Miller@courtesan.com>
12149
12150	* configure, configure.in:
12151	No need for -lcrypt when using pam.
12152	[41fff3a53e68]
12153
121542004-08-27  Todd C. Miller  <Todd.Miller@courtesan.com>
12155
12156	* configure:
12157	regen
12158	[75820aecce2c]
12159
121602004-08-27  Aaron Spangler  <aaron777@gmail.com>
12161
12162	* configure.in, ldap.c, pathnames.h.in:
12163	Allow --with-ldap-conf-file option to override LDAP_CONF
12164	[c9909bc484a5]
12165
12166	* ldap.c:
12167	cleanup debug message
12168	[1f6ca4824d8d]
12169
121702004-08-26  Aaron Spangler  <aaron777@gmail.com>
12171
12172	* README.LDAP:
12173	more config info
12174	[f2e7147fd507]
12175
121762004-08-24  Todd C. Miller  <Todd.Miller@courtesan.com>
12177
12178	* TODO, find_path.c, goodpath.c, parse.c, sudo.c, sudo.h, visudo.c:
12179	Add cmnd_base to struct sudo_user and set it in init_vars(). Add
12180	cmnd_stat to struct sudo_user and set it in sudo_goodpath(). No
12181	longer use gross statics in command_matches(). Also rename some
12182	variables for improved clarity.
12183	[7169a6c7bea4]
12184
121852004-08-21  Todd C. Miller  <Todd.Miller@courtesan.com>
12186
12187	* INSTALL:
12188	document HP's crippled compiler deficiency.
12189	[c405ea5a8d4c]
12190
12191	* INSTALL:
12192	Fix some thinkos in --with-editor and --with-env-editor
12193	descriptions. Noticed by Norihiko Murase.
12194	[dd781de1c985]
12195
12196	* configure, configure.in:
12197	--with-noexec takes an optional PATH argument.
12198	[8f6ab77f22cc]
12199
12200	* INSTALL:
12201	document --with-noexec
12202	[50cb1fc627ce]
12203
122042004-08-17  Todd C. Miller  <Todd.Miller@courtesan.com>
12205
12206	* RUNSON, TODO:
12207	sync
12208	[f2503bd13373] [SUDO_1_6_8]
12209
12210	* sudo_edit.c:
12211	Better warning message when sudoedit is unable to write to the
12212	destination file.
12213	[f78c18f2ffa8]
12214
12215	* sudo.cat, sudo.man.in:
12216	regen
12217	[7e2bf63d6d9a]
12218
12219	* sudo.pod:
12220	Don't italicize the string "sudoedit"
12221	[c691643bd269]
12222
122232004-08-16  Todd C. Miller  <Todd.Miller@courtesan.com>
12224
12225	* HISTORY:
12226	Mention GratiSoft.
12227	[dc53de581b2d]
12228
122292004-08-11  Todd C. Miller  <Todd.Miller@courtesan.com>
12230
12231	* sudo.tab.c:
12232	regen
12233	[8ae0484dfc38]
12234
12235	* parse.yacc:
12236	Reset used_runas to FALSE when re-intializing the parser.
12237	[b7403f353a02]
12238
122392004-08-09  Todd C. Miller  <Todd.Miller@courtesan.com>
12240
12241	* config.guess:
12242	Correct OpenBSD mips support
12243	[314fc7afc165]
12244
12245	* config.guess:
12246	Add OpenBSD/mips
12247	[ac87d0a773ef]
12248
122492004-08-07  Aaron Spangler  <aaron777@gmail.com>
12250
12251	* README.LDAP:
12252	More behavior notes
12253	[13be1d212b47]
12254
12255	* README.LDAP:
12256	Updates on current behavior
12257	[d498a8866d6f]
12258
122592004-08-06  Todd C. Miller  <Todd.Miller@courtesan.com>
12260
12261	* sudoers.pod:
12262	=back does not take an indentlevel (makes no difference to formatted
12263	files).
12264	[9c8523bb382a]
12265
12266	* sudo.pod:
12267	=back does not take an indentlevel (makes no difference to formatted
12268	files).
12269	[e5f479e24fa8]
12270
12271	* CHANGES:
12272	new
12273	[2dbd9aba8b33]
12274
12275	* sudo.c:
12276	Consistency. Use same error for bad -u #uid when targetpw is set as
12277	we do when a bad -u username is specified.
12278	[922961c4a9d6]
12279
12280	* TODO:
12281	Add checksum idea from Steve Mancini
12282	[e6ece1b766ba]
12283
12284	* sudoers.cat, sudoers.man.in:
12285	regen
12286	[370d2317829f]
12287
12288	* sudo.cat, sudo.man.in:
12289	regen
12290	[f93d41fc38b1]
12291
12292	* sudo.pod, sudoers.pod:
12293	Document the restriction on uids specified via -u when targetpw is
12294	set.
12295	[878fedb455db]
12296
12297	* sudo.c:
12298	Error out when targetpw is enabled and sudo is run with -u #uid but
12299	#uid does not exist in the passwd database. We can't do target
12300	authentication when the target is not in passwd!
12301	[27c5888c86eb]
12302
12303	* sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in:
12304	regen
12305	[ceb65711050c]
12306
12307	* TODO:
12308	Some more todo for the next release.
12309	[7b7417be7601]
12310
12311	* INSTALL:
12312	Make it clear that PAM should be used for DCE support when possible.
12313	[7502029fd385]
12314
12315	* sudoers.pod:
12316	o Document problems with wildcards and relative paths. o Make the
12317	order requirements more prominent. o Change a "set" to "reset" for
12318	clarity.
12319	[bacdd181b33f]
12320
123212004-08-05  Todd C. Miller  <Todd.Miller@courtesan.com>
12322
12323	* sudo.pod:
12324	Mention --with-secure-path, not SECURE_PATH.
12325	[41283ddde5e1]
12326
123272004-08-03  Aaron Spangler  <aaron777@gmail.com>
12328
12329	* ldap.c:
12330	reflect changes to parse.c
12331	[8880fe9b724d]
12332
123332004-08-02  Todd C. Miller  <Todd.Miller@courtesan.com>
12334
12335	* sudo.tab.c:
12336	regen
12337	[a57658ca9177]
12338
12339	* parse.c, parse.h, testsudoers.c, visudo.c:
12340	Don't pass user_cmnd and user_args to command_matches(), just use
12341	the globals there. Since we keep state with statics anyway it is
12342	misleading to pretend that passing in different cmnd and cmnd_args
12343	will work.
12344	[0a2544991fd6]
12345
12346	* parse.yacc:
12347	Don't pass user_cmnd and user_args to command_matches(), just use
12348	the globals there. Since we keep state with statics anyway it is
12349	misleading to pretend that passing in different cmnd and cmnd_args
12350	will work.
12351	[a4910bf6032b]
12352
12353	* parse.c:
12354	Fix a bug introduced in rev. 1.149. When checking for pseudo-
12355	commands check for a '/' anywhere in cmnd, not just the first
12356	character.
12357	[ce98142f03ca]
12358
123592004-07-31  Aaron Spangler  <aaron777@gmail.com>
12360
12361	* sudo.man.in, sudo.pod:
12362	Clarification thanks to Olivier Blin <oblin@mandrakesoft.com>
12363	[a91800e094b1]
12364
12365	* sudoers.man.in, sudoers.pod:
12366	Add ignore_local_sudoers
12367	[741ddcbf7083]
12368
12369	* README.LDAP:
12370	Sun One schema definition by Andreas.Bussjaeger@t-systems.com and
12371	janth@moldung.no
12372	[742c02e07cd9]
12373
123742004-07-29  Todd C. Miller  <Todd.Miller@courtesan.com>
12375
12376	* CHANGES:
12377	typo
12378	[e7cdefbd7a9a]
12379
123802004-07-23  Todd C. Miller  <Todd.Miller@courtesan.com>
12381
12382	* CHANGES:
12383	sync
12384	[734dafc4a85e]
12385
12386	* parse.c:
12387	Parse sudoers file as PERM_RUNAS not PERM_ROOT and remove a useless
12388	PERM_SUDOERS. Restore to PERM_ROOT upon exit of the parse.
12389	[151b7f593568]
12390
123912004-07-08  Todd C. Miller  <Todd.Miller@courtesan.com>
12392
12393	* CHANGES:
12394	PAM change
12395	[d8fb6d6a22d0]
12396
123972004-07-08  Aaron Spangler  <aaron777@gmail.com>
12398
12399	* ldap.c:
12400	Better debugging of ALL command
12401	[9db3e84029dc]
12402
124032004-07-08  Todd C. Miller  <Todd.Miller@courtesan.com>
12404
12405	* parse.c:
12406	When matching for "sudoedit" in sudoers check both the command the
12407	user typed *and* the command that is listed in the sudoers entry.
12408	[f36ca1f94095]
12409
124102004-07-04  Aaron Spangler  <aaron777@gmail.com>
12411
12412	* ldap.c:
12413	Added !command feature
12414	[ed539574611b]
12415
124162004-06-28  Todd C. Miller  <Todd.Miller@courtesan.com>
12417
12418	* auth/pam.c:
12419	Use pam_acct_mgmt() to check for disabled accounts; Brian Farrell
12420	[2be8e0e8813a]
12421
124222004-06-11  Todd C. Miller  <Todd.Miller@courtesan.com>
12423
12424	* LICENSE:
12425	License is ISC-style, not BSD-style
12426	[ac0589e1dd5d]
12427
12428	* CHANGES:
12429	sync
12430	[16058a30f404]
12431
124322004-06-10  Todd C. Miller  <Todd.Miller@courtesan.com>
12433
12434	* sudo.cat, sudo.man.in:
12435	regen
12436	[8820eb9c809b]
12437
12438	* sudo.pod:
12439	o Update some out of date bits to reality o Change the shell promt
12440	in examples to bourne-shell style o Clarify some details o Add a
12441	CAVEAT about "sudo cd /foo"
12442	[b0af373214b6]
12443
12444	* check.c:
12445	Don't ask for a password if invoking user == target user.
12446	[dd5c96141132]
12447
12448	* sudo.c:
12449	typo in comment
12450	[278d20f9b249]
12451
124522004-06-08  Todd C. Miller  <Todd.Miller@courtesan.com>
12453
12454	* sudoers.cat, sudoers.man.in:
12455	regen
12456	[9036c6f39eff]
12457
12458	* sudoers.pod:
12459	Expand on NOEXEC a little.
12460	[9a13756aebe4]
12461
12462	* TODO:
12463	sync
12464	[8d2c1af48de8]
12465
12466	* visudo.cat, visudo.man.in:
12467	regen
12468	[3921f01607c8]
12469
12470	* sudo.tab.c:
12471	regen
12472	[9338c3d68250]
12473
12474	* visudo.pod:
12475	Add a check in visudo for runas_default being set after it has
12476	already been used.
12477	[6700358d7ad8]
12478
12479	* CHANGES, parse.yacc, visudo.c:
12480	Add a check in visudo for runas_default being set after it has
12481	already been used.
12482	[803560986a8a]
12483
12484	* sudo.tab.c:
12485	regen
12486	[b60636e2cf63]
12487
12488	* parse.yacc:
12489	Add a MATCHED macro for testing whether foo_matches has been set to
12490	TRUE or FALSE. This is more readable than checking for >=0 or < 0.
12491	Doesn't change the actual code generated.
12492	[f376da8ccdc8]
12493
124942004-06-07  Todd C. Miller  <Todd.Miller@courtesan.com>
12495
12496	* sudoers.cat:
12497	regen
12498	[6cceb6d6c9bd]
12499
12500	* sudoers.man.in:
12501	regen
12502	[5acd12b730b3]
12503
12504	* sudoers.pod:
12505	Correct description of where Defaults specs should go.
12506	[6b11ff53d7ad]
12507
12508	* sudoers:
12509	Correct description of where Defaults specs should go.
12510	[868db857630d]
12511
12512	* testsudoers.c, visudo.c:
12513	update (c) year
12514	[272c8a53604c]
12515
12516	* logging.h:
12517	update (c) year
12518	[3cec76d400ce]
12519
12520	* ldap.c:
12521	update (c) year
12522	[f264632488a0]
12523
12524	* find_path.c:
12525	update (c) year
12526	[40c227af9227]
12527
12528	* auth/pam.c:
12529	update (c) year
12530	[87149e0eed50]
12531
12532	* auth/bsdauth.c, auth/kerb5.c:
12533	update (c) year
12534	[d72eb434c068]
12535
125362004-06-06  Todd C. Miller  <Todd.Miller@courtesan.com>
12537
12538	* sudo.tab.c:
12539	regen
12540	[83408d9e9d2e]
12541
12542	* auth/bsdauth.c, auth/kerb5.c, auth/pam.c, visudo.c:
12543	Remove trailing spaces, no actual code changes.
12544	[4c3bf2819293]
12545
12546	* tgetpass.c:
12547	Remove trailing spaces, no actual code changes.
12548	[96f6e0a24c26]
12549
12550	* ldap.c, logging.h, parse.c, parse.yacc, sudo.c, testsudoers.c:
12551	Remove trailing spaces, no actual code changes.
12552	[c7075d1cbed5]
12553
12554	* getcwd.c:
12555	Remove trailing spaces, no actual code changes.
12556	[776cc0374547]
12557
12558	* find_path.c:
12559	Remove trailing spaces, no actual code changes.
12560	[7ed7099f3c71]
12561
12562	* compat.h, defaults.c, env.c:
12563	Remove trailing spaces, no actual code changes.
12564	[893e83c33795]
12565
12566	* check.c:
12567	Remove trailing spaces, no actual code changes.
12568	[f77750f8803b]
12569
12570	* sudo.tab.c:
12571	regen
12572	[62e0ed883b31]
12573
12574	* parse.yacc:
12575	Fix a >=0 that should be <0 that was improperly converted when
12576	UNSPEC was added.
12577	[ad1531a55a49]
12578
12579	* parse.yacc:
12580	Add do {} while(0) around pop macro Set cmnd_matches to UNSPEC, not
12581	NOMATCH when resetting it.
12582	[ae017a12870a]
12583
12584	* parse.yacc:
12585	Fix pastos introduced in SETNMATCH addition.
12586	[6ea1c9d80681]
12587
125882004-06-05  Todd C. Miller  <Todd.Miller@courtesan.com>
12589
12590	* README.LDAP:
12591	Update for configure changes
12592	[637a635da287]
12593
12594	* sudo.tab.c:
12595	regen
12596	[4753c2788713]
12597
12598	* sudo.h:
12599	Add NOMATCH and UNSPEC defines (-1 and -2 respectively) and use
12600	these in parse.yacc. Also in parse.yacc initialize the *_matches
12601	vars to UNSPEC and add two macros, SETMATCH and SETNMATCH for use
12602	when setting *_matches to a value that may be
12603	NOMATCH/UNSPEC/TRUE/FALSE.
12604	[2ba622e15a4d]
12605
12606	* parse.yacc:
12607	Add NOMATCH and UNSPEC defines (-1 and -2 respectively) and use
12608	these in parse.yacc. Also in parse.yacc initialize the *_matches
12609	vars to UNSPEC and add two macros, SETMATCH and SETNMATCH for use
12610	when setting *_matches to a value that may be
12611	NOMATCH/UNSPEC/TRUE/FALSE.
12612	[746b519e41a6]
12613
12614	* parse.yacc:
12615	Initialize runas to -2, not -1 since we need to be able to
12616	distinguish between the initialized value and the value of a non-
12617	match when passing along the runas value to multiple commands.
12618
12619	The result of this is that an unmatched runas is now set to -1, not
12620	0. This is required now that parse.c treats a FALSE value for runas
12621	as being explicitly denied.
12622	[7791ed3621f6]
12623
126242004-06-03  Todd C. Miller  <Todd.Miller@courtesan.com>
12625
12626	* sudo.c, visudo.c:
12627	Error out if argc < 1.
12628	[ce6b2a9eda3c]
12629
12630	* getprogname.c:
12631	Error out if argc < 1.
12632	[c566cce8dc78]
12633
12634	* configure, configure.in:
12635	Add tests for what libs we need to link with for ldap and for
12636	whether or not lber.h needs to be explicitly included.
12637	[b2e9729cc4e7]
12638
126392004-06-03  Aaron Spangler  <aaron777@gmail.com>
12640
12641	* ldap.c:
12642	Solaris native LDAP build fix
12643	[39929e40eb11]
12644
126452004-06-01  Todd C. Miller  <Todd.Miller@courtesan.com>
12646
12647	* ldap.c:
12648	Set edn to NULL is ldap_get_dn() fails to avoid potential use of an
12649	unset variable.
12650	[6a4c20a66f98]
12651
12652	* sudo.h:
12653	Add prototype for sudo_ldap_list_matches
12654	[443b007a8dab]
12655
12656	* configure, configure.in:
12657	Better check for dirfd macro--we now set HAVE_DIRFD for the macro
12658	version too. Added check for dd_fd in `DIR' if no dirfd is found;
12659	this is now used to confitionally define the dirfd macro in
12660	compat.h.
12661	[567656978f7e]
12662
12663	* config.h.in:
12664	Better check for dirfd macro--we now set HAVE_DIRFD for the macro
12665	version too. Added check for dd_fd in `DIR' if no dirfd is found;
12666	this is now used to confitionally define the dirfd macro in
12667	compat.h.
12668	[34eace4faec8]
12669
12670	* compat.h:
12671	Better check for dirfd macro--we now set HAVE_DIRFD for the macro
12672	version too. Added check for dd_fd in `DIR' if no dirfd is found;
12673	this is now used to confitionally define the dirfd macro in
12674	compat.h.
12675	[8d50ff1bbf2a]
12676
12677	* closefrom.c:
12678	Only check /proc/$$/fd if we have the dirfd function/macro.
12679	[15e3ccce7553]
12680
12681	* compat.h, config.h.in, configure, configure.in:
12682	Add a check for a dirfd() function (like Linux) and add a dirfd
12683	macro in compat.h if there is no dirfd() function or macro.
12684	[1e95756edb50]
12685
12686	* closefrom.c, getcwd.c:
12687	dirfd() is now defined in compat.h as needed.
12688	[bb1d79271188]
12689
12690	* CHANGES:
12691	Clarify closefrom() note.
12692	[f4e4a5508dda]
12693
12694	* parse.c:
12695	When checking for a command in the directory, only copy the base dir
12696	once.
12697	[7a3276808b87]
12698
12699	* closefrom.c:
12700	If there is a /proc/$$/fd directory, behave like the Solaris
12701	closefrom() and only close the descriptors listed therein.
12702	[19de23779e84]
12703
12704	* alloc.c:
12705	compat.h guarantees INT_MAX is defined.
12706	[1bf0c79d4606]
12707
12708	* compat.h:
12709	Add definitions of OPEN_MAX and INT_MAX for those without it and
12710	remove definition of RLIM_INFINITY (now unused).
12711	[f827d1ebf96e]
12712
12713	* CHANGES, alloc.c, check.c, compat.h, find_path.c, getcwd.c, parse.c,
12714	sudo.c, sudo.h, visudo.c:
12715	Use PATH_MAX, not MAXPATHLEN since the former is standardized.
12716	[59788f211c24]
12717
127182004-05-31  Todd C. Miller  <Todd.Miller@courtesan.com>
12719
12720	* CHANGES:
12721	sync
12722	[d32fa124f1ad]
12723
12724	* RUNSON:
12725	Add some entries that were mailed in a while ago
12726	[ff8d5bfec54e]
12727
12728	* closefrom.c:
12729	o sysconf returns a long, not an int. o check for negative return
12730	value from sysconf/getdtablesize and use OPEN_MAX in this case. o
12731	define OPEN_MAX to 256 for those without it (a fair guess...)
12732	[ccf81ae6deb2]
12733
127342004-05-30  Todd C. Miller  <Todd.Miller@courtesan.com>
12735
12736	* UPGRADE:
12737	Mention change in parse order for RunAs entries.
12738	[dc73b0bca617]
12739
12740	* configure:
12741	regen
12742	[07cce8e0534e]
12743
127442004-05-29  Todd C. Miller  <Todd.Miller@courtesan.com>
12745
12746	* INSTALL, README.LDAP, config.h.in, configure.in:
12747	o --with-ldap now takes an optional dir as a parameter o added
12748	check for ldap_initialize() and start_tls_s()
12749	[2b846c7974c6]
12750
12751	* README.LDAP:
12752	Fix some typos, word choice and formatting issues.
12753	[00dc8ca84b10]
12754
127552004-05-28  Todd C. Miller  <Todd.Miller@courtesan.com>
12756
12757	* tgetpass.c:
12758	Use SA_INTERRUPT so SunOS works correctly, avoid stdio and just use
12759	read/write as it is simpler.
12760	[30f5446ee8b0]
12761
12762	* configure, configure.in:
12763	Remove hack overriding cross-compiler check. It should no longer be
12764	needed.
12765	[22a6cbd88608]
12766
12767	* compat.h:
12768	Remove select() compat bits since we no longer use select().
12769	[d7bbf7cd36f5]
12770
12771	* CHANGES, tgetpass.c:
12772	Use alarm() instead of select() for the timeout for systems that
12773	don't fully/properly implement select().
12774	[d7cc60f15800]
12775
127762004-05-27  Todd C. Miller  <Todd.Miller@courtesan.com>
12777
12778	* CHANGES:
12779	synbc
12780	[132a39788e07]
12781
12782	* RUNSON:
12783	update
12784	[61ef508380c6]
12785
12786	* set_perms.c:
12787	Deal with systems that have no way of setting the effective uid such
12788	as nsr-tandem-nsk.
12789	[306e00e9b5a4]
12790
12791	* configure, configure.in:
12792	Define NO_SAVED_IDS if we don't find seteuid()
12793	[8588f18345cf]
12794
12795	* config.h.in, configure, configure.in:
12796	Add back check for setreuid() since NSK doesn't have it.
12797	[43127bd703d1]
12798
12799	* sudoers.cat, sudoers.man.in:
12800	regen
12801	[af4f4b20e422]
12802
12803	* CHANGES:
12804	sync
12805	[29ca3b699c24]
12806
12807	* BUGS:
12808	sync
12809	[3593f17f72ed]
12810
12811	* parse.c:
12812	In sudoers_lookup() return VALIDATE_NOT_OK if the runas user was
12813	explicitly denied and the command matched. This fixes a long-
12814	standing bug and makes: foo machine = (ALL) /usr/bin/blah
12815	foo machine = (!bar) /usr/bin/blah
12816
12817	equivalent to: foo machine = (ALL, !bar) /usr/bin/blah
12818	[2f5ee244985a]
12819
12820	* sudoers.pod:
12821	Clarify mail_noperm
12822	[3238b2d41989]
12823
128242004-05-20  Aaron Spangler  <aaron777@gmail.com>
12825
12826	* Makefile.in:
12827	Missing DESTDIR in make install for sudo_noexec.la
12828	[91431e821525]
12829
128302004-05-17  Todd C. Miller  <Todd.Miller@courtesan.com>
12831
12832	* sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in, visudo.cat,
12833	visudo.man.in:
12834	regen
12835	[cdfde0dcb556]
12836
12837	* TODO:
12838	sync
12839	[4799b7d8b62c]
12840
12841	* sudoers.pod:
12842	Remove fastboot/fasthalt (who still remembers these?) and add a
12843	minimal sudoedit example.
12844	[19d299f233cd]
12845
12846	* sample.sudoers:
12847	Remove fastboot/fasthalt (who still remembers these?) and add a
12848	minimal sudoedit example.
12849	[b1bca73d6250]
12850
12851	* UPGRADE, sudo.c, visudo.c:
12852	filesystem -> file system
12853	[1e1afaf30469]
12854
12855	* TROUBLESHOOTING:
12856	filesystem -> file system
12857	[39fb594e9338]
12858
12859	* CHANGES, INSTALL:
12860	filesystem -> file system
12861	[85948b608ffe]
12862
12863	* sudo.pod, sudoers.pod:
12864	Fix some minor typos and formatting goofs
12865	[e94d243a0b90]
12866
12867	* lex.yy.c:
12868	regen
12869	[2eed0ab1f4c4]
12870
12871	* visudo.pod:
12872	remove my email addr
12873	[b63262c0389b]
12874
12875	* sudo.pod, sudoers.pod, visudo.pod:
12876	Use @mansectform@ and @mansectsu@ everywhere Make man page
12877	references links with L<>
12878	[f459f4b9ddb9]
12879
12880	* parse.lex:
12881	Accept quoted globbing characters and pass them verbatim for
12882	fnmatch()
12883	[8248b86e9380]
12884
12885	* UPGRADE:
12886	Document that /tmp/.odus is gone.
12887	[3667b66af5bb]
12888
12889	* pathnames.h.in:
12890	No longer use /tmp/.odus as a possible timestamp dir unless
12891	specifically configured to do so. Instead, if no /var/run exists,
12892	use /var/adm/sudo or /usr/adm/sudo.
12893	[48d94c9f9ad4]
12894
12895	* configure:
12896	No longer use /tmp/.odus as a possible timestamp dir unless
12897	specifically configured to do so. Instead, if no /var/run exists,
12898	use /var/adm/sudo or /usr/adm/sudo.
12899	[058d7b8cf07b]
12900
12901	* aclocal.m4:
12902	No longer use /tmp/.odus as a possible timestamp dir unless
12903	specifically configured to do so. Instead, if no /var/run exists,
12904	use /var/adm/sudo or /usr/adm/sudo.
12905	[cf52c4c2803f]
12906
12907	* CHANGES:
12908	No longer use /tmp/.odus as a possible timestamp dir unless
12909	specifically configured to do so. Instead, if no /var/run exists,
12910	use /var/adm/sudo or /usr/adm/sudo.
12911	[6058c4cefcec]
12912
12913	* set_perms.c, sudo.c, tgetpass.c, visudo.c:
12914	Preliminary changes to support nsr-tandem-nsk. Based on patches
12915	from Tom Bates.
12916	[2e5f81834383]
12917
12918	* logging.c:
12919	Preliminary changes to support nsr-tandem-nsk. Based on patches
12920	from Tom Bates.
12921	[934bbe6872b6]
12922
12923	* check.c, compat.h:
12924	Preliminary changes to support nsr-tandem-nsk. Based on patches
12925	from Tom Bates.
12926	[390b698b5924]
12927
129282004-05-16  Todd C. Miller  <Todd.Miller@courtesan.com>
12929
12930	* CHANGES:
12931	There was no 1.6.7p6.
12932	[8013d2e6b062]
12933
12934	* BUGS, CHANGES:
12935	sync
12936	[c38b41f32857]
12937
12938	* Makefile.in:
12939	add missing files to DISTFILES
12940	[e6a80ad03039]
12941
12942	* sudo.cat, sudoers.cat, visudo.cat:
12943	regen
12944	[027bc9746dd5]
12945
12946	* sudoers.man.in:
12947	regen
12948	[f5e85ef686cf]
12949
12950	* Makefile.in:
12951	Fix some line wrap and update (c) year
12952	[bad1f46aa1ca]
12953
129542004-04-28  Aaron Spangler  <aaron777@gmail.com>
12955
12956	* README.LDAP:
12957	Build Note
12958	[7a061248249b]
12959
129602004-04-07  Aaron Spangler  <aaron777@gmail.com>
12961
12962	* Makefile.in:
12963	Fix install-dirs
12964	[be0726dd92e7]
12965
129662004-04-05  Todd C. Miller  <Todd.Miller@courtesan.com>
12967
12968	* sudo.tab.c:
12969	regen
12970	[3f4f0d1ab8b9]
12971
12972	* visudo.c:
12973	In Exit() when used as a signal handler, emsg is a pointer so
12974	sizeof() is wrong so make it a #define instead. Also avoid using a
12975	negative exit value. Found by Aaron Campbell
12976	[78716a3a3fdc]
12977
129782004-03-24  Todd C. Miller  <Todd.Miller@courtesan.com>
12979
12980	* sudoers.pod:
12981	Remove bogus sentence about uids in a User_List. Document usernames
12982	vs. uid parsing in a Runas_List.
12983	[7ca510b5031c]
12984
12985	* parse.c, parse.h, parse.yacc, sudo.c, testsudoers.c, visudo.c:
12986	If the user specified a uid with the -u flag and the uid exists in
12987	the passwd file, set runas_user to the name, not the uid.
12988
12989	When comparing usernames in sudoers, if a name is really a uid
12990	(starts with '#') compare it numerically to pw_uid.
12991	[8d6935d04673]
12992
129932004-03-22  Todd C. Miller  <Todd.Miller@courtesan.com>
12994
12995	* auth/kerb5.c:
12996	krb5_mcc_ops should be const; Johnny C. Lam
12997	[aa8c753e426e]
12998
129992004-02-28  Aaron Spangler  <aaron777@gmail.com>
13000
13001	* CHANGES, config.h.in, ldap.c:
13002	Added start_tls support
13003	[7ef864c15b69]
13004
130052004-02-14  Todd C. Miller  <Todd.Miller@courtesan.com>
13006
13007	* Makefile.in:
13008	Clean up libtool stuff for 'make distclean' and add def_data.c,
13009	def_data.h to PARSESRCS.
13010	[bf9bb6bb06ab]
13011
130122004-02-14  Aaron Spangler  <aaron777@gmail.com>
13013
13014	* strlcat.c, strlcpy.c:
13015	Un-Fix last license munge
13016	[42654b77ac71]
13017
130182004-02-13  Todd C. Miller  <Todd.Miller@courtesan.com>
13019
13020	* configure:
13021	regen
13022	[e4de6b23a4dc]
13023
13024	* CHANGES, RUNSON, TODO:
13025	checkpoint
13026	[94e1ace84d5c]
13027
13028	* lex.yy.c, sudo.tab.c:
13029	regen
13030	[8ce784505643]
13031
13032	* auth/passwd.c, auth/rfc1938.c, auth/secureware.c, auth/securid.c,
13033	auth/securid5.c, auth/sia.c, auth/sudo_auth.c, auth/sudo_auth.h,
13034	emul/search.h, emul/utime.h:
13035	More to a less restrictive, ISC-style license.
13036	[a31b20e48003]
13037
13038	* auth/kerb5.c, auth/pam.c:
13039	More to a less restrictive, ISC-style license.
13040	[e41f92b41216]
13041
13042	* auth/dce.c, auth/fwtk.c, auth/kerb4.c:
13043	More to a less restrictive, ISC-style license.
13044	[87534c164a52]
13045
13046	* auth/bsdauth.c:
13047	More to a less restrictive, ISC-style license.
13048	[e21be6594b58]
13049
13050	* auth/afs.c, auth/aix_auth.c, zero_bytes.c:
13051	More to a less restrictive, ISC-style license.
13052	[6d234be91c5e]
13053
13054	* sudoers.man.in, sudoers.pod, testsudoers.c, tgetpass.c, visudo.c,
13055	visudo.man.in, visudo.pod:
13056	More to a less restrictive, ISC-style license.
13057	[b02aea324fd6]
13058
13059	* sudo_noexec.c:
13060	More to a less restrictive, ISC-style license.
13061	[a6da7631e0b2]
13062
13063	* strlcat.c, strlcpy.c, sudo.c, sudo.h, sudo.man.in, sudo.pod,
13064	sudo_edit.c:
13065	More to a less restrictive, ISC-style license.
13066	[71cdcc241e94]
13067
13068	* sigaction.c, strerror.c:
13069	More to a less restrictive, ISC-style license.
13070	[4bccdedca58a]
13071
13072	* ldap.c, logging.c, logging.h, parse.c, parse.h, pathnames.h.in,
13073	set_perms.c:
13074	More to a less restrictive, ISC-style license.
13075	[64d772d70ab3]
13076
13077	* getspwuid.c, goodpath.c, ins_2001.h, ins_classic.h, ins_csops.h,
13078	ins_goons.h, insults.h, interfaces.c, interfaces.h:
13079	More to a less restrictive, ISC-style license.
13080	[520381c60a54]
13081
13082	* find_path.c, getprogname.c:
13083	More to a less restrictive, ISC-style license.
13084	[f605d5eab6f1]
13085
13086	* fileops.c:
13087	More to a less restrictive, ISC-style license.
13088	[4129a8b38a67]
13089
13090	* env.c:
13091	More to a less restrictive, ISC-style license.
13092	[d5bd859757de]
13093
13094	* defaults.h:
13095	More to a less restrictive, ISC-style license.
13096	[008f5d5743f5]
13097
13098	* LICENSE, Makefile.in, alloc.c, check.c, closefrom.c, compat.h,
13099	defaults.c:
13100	More to a less restrictive, ISC-style license.
13101	[d8d7bfc8a18b]
13102
13103	* utime.c, version.h:
13104	More to a less restrictive, ISC-style license.
13105	[e2e038ad8209]
13106
13107	* parse.lex, parse.yacc:
13108	More to a less restrictive, ISC-style license.
13109	[2f5942e847a1]
13110
13111	* Makefile.binary:
13112	More to a less restrictive, ISC-style license.
13113	[1ed561734535]
13114
131152004-02-13  Aaron Spangler  <aaron777@gmail.com>
13116
13117	* sudoers2ldif:
13118	Merged in LDAP Support
13119	[3994c4d05947]
13120
13121	* ldap.c, sudo.c, sudo.h:
13122	Merged in LDAP Support
13123	[547eaa346fcc]
13124
13125	* def_data.c, def_data.h, def_data.in:
13126	Merged in LDAP Support
13127	[8fb255280e42]
13128
13129	* CHANGES, Makefile.in, README.LDAP, config.h.in, configure.in:
13130	Merged in LDAP Support
13131	[1038092a161e]
13132
131332004-02-08  Todd C. Miller  <Todd.Miller@courtesan.com>
13134
13135	* sudo.h, sudo_noexec.c:
13136	Only do "extern int errno" if errno is not a macro.
13137	[b2e02a08be8b]
13138
131392004-02-06  Todd C. Miller  <Todd.Miller@courtesan.com>
13140
13141	* set_perms.c:
13142	setreuid(0, 0) fails on QNX if the euid is not already 0 so set the
13143	euid first, then just call setuid(0) to set the real uid too.
13144	[f08546e2e0ee]
13145
13146	* set_perms.c:
13147	Use setresuid() and setreuid() for PERM_RUNAS when appropriate
13148	instead of seteuid() which may not exist.
13149	[ba508581befb]
13150
131512004-02-04  Todd C. Miller  <Todd.Miller@courtesan.com>
13152
13153	* LICENSE:
13154	2004
13155	[37425513a342]
13156
13157	* INSTALL, config.h.in, configure, configure.in, ins_classic.h:
13158	Add --with-pc-insults configure option
13159	[7daa5294c17b]
13160
13161	* visudo.man.in:
13162	Prefer VISUAL over EDITOR like old vipw did.
13163	[996252a4ab65]
13164
131652004-02-01  Todd C. Miller  <Todd.Miller@courtesan.com>
13166
13167	* sudo.man.in, sudoers.man.in:
13168	regen
13169	[a247f1c52eb9]
13170
13171	* sudoers.pod:
13172	Add a note that noexec is not a cure-all.
13173	[9e7fc535367d]
13174
13175	* sudoers.pod:
13176	Mention that disabling "root_sudo" is pretty pointless.
13177	[f38a415afba0]
13178
13179	* configure, configure.in:
13180	Substitute for root_sudo in sudoers.pod
13181	[ce483cfc86be]
13182
13183	* sudo.pod:
13184	Add sudoedit to the NAME section
13185	[51bc453ec2f6]
13186
13187	* sudoers.pod:
13188	Document that fact that setting ignore_dot in sudoers has no effect
13189	due to the fact that find_path() is called *before* sudoers is read.
13190	[6808df7e417c]
13191
131922004-01-30  Todd C. Miller  <Todd.Miller@courtesan.com>
13193
13194	* sudo_edit.c:
13195	Do not require _PATH_USRTMP to be set.
13196	[546f3270dd10]
13197
13198	* BUGS, CHANGES, TODO:
13199	sync
13200	[4205ddeab781]
13201
13202	* sudo.man.in:
13203	regen
13204	[e2143690a88a]
13205
13206	* sudo.pod:
13207	Clarify that when sudo is run by root with the SUDO_USER variable
13208	set, the sudoers lookup happens for root and not the SUDO_USER user.
13209	[47207bec1bdf]
13210
132112004-01-29  Todd C. Miller  <Todd.Miller@courtesan.com>
13212
13213	* auth/pam.c, auth/sudo_auth.c, interfaces.c, logging.c, parse.c,
13214	set_perms.c, sigaction.c, sudo.c, tgetpass.c:
13215	Use the SET, CLR and ISSET macros.
13216	[a8b0d7f1e8fd]
13217
13218	* fnmatch.c:
13219	Use the SET, CLR and ISSET macros.
13220	[1afbcba22ba6]
13221
13222	* defaults.c, env.c:
13223	Use the SET, CLR and ISSET macros.
13224	[2f39431e0a49]
13225
13226	* interfaces.h:
13227	MAIN was replaced with _SUDO_MAIN some time ago.
13228	[ea1b38f2ac9d]
13229
13230	* sudo.c:
13231	Don't look at prev_user until after we've parsed sudoers and done
13232	the password check. That way, if sudo/sudoedit is run from a root
13233	process that was invoked by sudo, we check sudoers for root, not the
13234	previous user. This makes sudoedit much more useful and means that
13235	for the sudo case, we get correct logging on who actually ran the
13236	command.
13237	[431dfbf20552]
13238
132392004-01-23  Todd C. Miller  <Todd.Miller@courtesan.com>
13240
13241	* sudo_edit.c:
13242	Add a comment describing why we need to be notified about our child
13243	stopping.
13244	[0bec3ce4b49d]
13245
132462004-01-22  Todd C. Miller  <Todd.Miller@courtesan.com>
13247
13248	* def_data.c, def_data.in:
13249	Update the noexec variable descriptions
13250	[9cb7f1aa0e57]
13251
13252	* sudoers.man.in, sudoers.pod:
13253	noexec now replaces more than just execve()
13254	[23cbdc0ee95c]
13255
13256	* sudo_noexec.c:
13257	Alas, all the world does not go through execve(2). Many systems
13258	still have an execv(2) system call, Linux 2.6 provides fexecve(2)
13259	and it is not uncommon for libc to have underscore ('_') versions of
13260	the functions to be used internally by the library. Instead of
13261	stubbing all these out by hand, define a macro and let it do the
13262	work. Extra exec functions pointed out by Reznic Valery.
13263	[9fa0cd871b0c]
13264
13265	* sudo.c, sudo_edit.c:
13266	Fix suspending the editor in -e mode. Because we do a fork() first
13267	we need to be notified when the child has been stopped and then send
13268	that same signal to ourself so the shell can do its job control
13269	thing.
13270	[773165eb6057]
13271
13272	* visudo.c:
13273	Use WIFEXITED and WEXITSTATUS macros. If there are systems out
13274	there that want to run sudo that still don't support these we can
13275	try to deal with that later.
13276	[6af68e4aff60]
13277
13278	* lex.yy.c:
13279	regen
13280	[403435317d5d]
13281
13282	* sudo.man.in, sudo.pod, sudoers.man.in, sudoers.pod:
13283	Document sudo -e / sudoedit
13284	[a80f6ea910af]
13285
13286	* configure, configure.in:
13287	fix typo
13288	[5020fcdc27f4]
13289
13290	* config.h.in, configure.in:
13291	Add SET/CLR/ISSET
13292	[03ff57286e7e]
13293
132942004-01-21  Todd C. Miller  <Todd.Miller@courtesan.com>
13295
13296	* sudo.c:
13297	Allow non-exclusive flags when invoked as sudoedit. Pretty print the
13298	long usage() line to not wrap (assumes 80 char display)
13299	[3941fa4004bb]
13300
13301	* Makefile.in, sudo.c:
13302	If sudo is invoked as "sudoedit" the -e flag is implied and no other
13303	flags are permitted.
13304	[929670b01293]
13305
13306	* sudo.h:
13307	Add a new flag, -e, that makes it possible to give users the ability
13308	to edit files with the editor of their choice as the invoking user,
13309	not the runas user. Temporary files are used for the actual edit
13310	and the temp file is copied over the original after the editor is
13311	done.
13312	[c4051414c1f4]
13313
13314	* Makefile.in, parse.c, parse.lex, sudo.c, sudo_edit.c:
13315	Add a new flag, -e, that makes it possible to give users the ability
13316	to edit files with the editor of their choice as the invoking user,
13317	not the runas user. Temporary files are used for the actual edit
13318	and the temp file is copied over the original after the editor is
13319	done.
13320	[37ac05c8ac3c]
13321
13322	* env.c, sudo.c:
13323	If real uid == 0 and the SUDO_USER environment variables is set, use
13324	that to determine the invoking user's true identity. That way the
13325	proper info gets logged by someone who has done "sudo su" but still
13326	uses sudo to as root. We can't do this for non-root users since
13327	that would open up a security hole, though perhaps it would be
13328	acceptable to use getlogin(2) on OSes where this a system call (and
13329	doesn't just look in the utmp file).
13330	[c2f9198708a1]
13331
13332	* pathnames.h.in:
13333	Add _PATH_TMP, _PATH_VARTMP and _PATH_USRTMP
13334	[7d9e5768df93]
13335
13336	* config.h.in, configure, configure.in:
13337	Add check for fchown(2)
13338	[a85df18798ed]
13339
133402004-01-20  Todd C. Miller  <Todd.Miller@courtesan.com>
13341
13342	* sudo.c:
13343	Back out portions of the -i commit that set NewArgv[0] in
13344	set_runaspw. It is far to late to set NewArgv[0] there and will have
13345	no effect anyway as cmnd and safe_cmnd have already been set.
13346	[c2d343430c1c]
13347
13348	* visudo.c, visudo.pod:
13349	Prefer VISUAL over EDITOR like old vipw did.
13350	[ae32f477cea3]
13351
133522004-01-19  Todd C. Miller  <Todd.Miller@courtesan.com>
13353
13354	* env.c, sudo.c:
13355	In -i mode always set new environment based on the runas user's
13356	passwd entry.
13357	[fa653b7887a8]
13358
133592004-01-18  Todd C. Miller  <Todd.Miller@courtesan.com>
13360
13361	* sudo.man.in, sudo.pod:
13362	Document the new -i flag and sync SYNOPSIS section with usage() in
13363	sudo.c. Also sort the flags in the OPTIONS section.
13364	[6aabc0ffc47e]
13365
13366	* sudo.c, sudo.h:
13367	o Add -i that acts similar to "su -", based on patches from David J.
13368	MacKenzie o Sort the flags in the usage message
13369	[c0fe7d6beffd]
13370
13371	* sudoers.man.in, sudoers.pod:
13372	Add a missing @runas_default@ substitution.
13373	[60516fe2d090]
13374
133752004-01-17  Todd C. Miller  <Todd.Miller@courtesan.com>
13376
13377	* sudo.c:
13378	Change euid to runas user before calling find_path().
13379	Unfortunately, though runas_user can be modified in sudoers we
13380	haven't parsed sudoers yet.
13381	[f469fdf2e313]
13382
13383	* sudoers.man.in, sudoers.pod:
13384	Add missing defintion of Parameter_List and use single pipes in the
13385	Defaults EBNF definition.
13386	[f7bed6e909bf]
13387
13388	* sudo.c:
13389	Fix a bug when set_runaspw() is used as a callback. We don't want
13390	to reset the contents of runas_pw if the user specified a user via
13391	the -u flag.
13392
13393	Avoid unnecessary passwd lookups in set_authpw(). In most cases we
13394	already have the info in runas_pw.
13395	[efc35623ba09]
13396
133972004-01-16  Todd C. Miller  <Todd.Miller@courtesan.com>
13398
13399	* check.c:
13400	Add Stan Lee / Uncle Ben quote to the lecture from RedHat
13401	[ebd5a76ccd7e]
13402
13403	* sudo.h:
13404	Update sudo_getepw() proto and add one for set_runaspw()
13405	[6ed65795c17f]
13406
13407	* parse.c:
13408	If we can't stat the command as root, try as the runas user instead.
13409	[ae713fca0e15]
13410
13411	* testsudoers.c, visudo.c:
13412	Add stub set_runaspw() function
13413	[42aa37050053]
13414
13415	* sudo.c:
13416	Add set_runaspw() function to fill in runas_pw. This will be used
13417	as a callback to update runas_pw when the runas user changes.
13418	[e570aa0088d0]
13419
13420	* env.c, sudo.c:
13421	PERM_RUNAS -> PERM_FULL_RUNAS
13422	[51eec6f9e89a]
13423
13424	* set_perms.c, sudo.h:
13425	Rename PERM_RUNAS -> PERM_FULL_RUNAS and add a PERM_RUNAS that just
13426	changes the euid.
13427	[877c6fe4d12c]
13428
13429	* getspwuid.c:
13430	Make sudo_pwdup() act like OpenBSD pw_dup() and allocate memory in
13431	one chunk for easy free()ing. Also change it from static to extern.
13432	[ab503260a7ec]
13433
13434	* defaults.c, defaults.h:
13435	Add callback support
13436	[a61c4ca983fb]
13437
13438	* mkdefaults:
13439	Add a callback field and use it for runas_default
13440	[96b69c27df5e]
13441
13442	* def_data.c, def_data.in:
13443	Add a callback field and use it for runas_default
13444	[d3e9f06872b8]
13445
134462004-01-15  Todd C. Miller  <Todd.Miller@courtesan.com>
13447
13448	* auth/fwtk.c:
13449	Add support for chalnecho and display server responses used by fwtk
13450	>= 2.0
13451	[b1870f7aaf0d]
13452
134532004-01-12  Todd C. Miller  <Todd.Miller@courtesan.com>
13454
13455	* sudoers.man.in, sudoers.pod:
13456	ld.so is ld.so.1 on solaris
13457	[2bf9a123fa4c]
13458
13459	* Makefile.in, config.h.in, configure, configure.in, sudo.c, sudo.h:
13460	Use closefrom() instead of doing the equivalent inline.
13461	[7e3ef6072884]
13462
13463	* closefrom.c:
13464	closefrom(3) for systems w/o it
13465	[35caf58bb636]
13466
134672004-01-09  Todd C. Miller  <Todd.Miller@courtesan.com>
13468
13469	* sudoers.man.in:
13470	Update from .pod file.
13471	[d4c94fc0e0c9]
13472
13473	* configure, configure.in:
13474	Substitute noexec_file for the sudoers man page
13475	[203d3376a551]
13476
13477	* sudo.man.in, sudo.pod:
13478	Mention noexec
13479	[014375ddbb06]
13480
13481	* sudoers.man.in, sudoers.pod:
13482	Document noexec
13483	[49a65d06201f]
13484
13485	* auth/pam.c, config.h.in, configure.in:
13486	Move PAM_CONST macro definition from config.h to pam.c where it
13487	belongs. We can't have this in config.h since that gets included too
13488	early.
13489	[e64748071637]
13490
13491	* auth/pam.c, config.h.in, configure, configure.in:
13492	Some PAM implementations put their headers in /usr/include/pam
13493	instead of /usr/include/security.
13494	[8cc749e9575c]
13495
13496	* configure.in:
13497	I missed changing the EXEC macro -> EXECV here when I changed this
13498	in config.h.in and sudo.c a while ago.
13499	[6f5afac7789f]
13500
13501	* acsite.m4:
13502	OpenBSD vax/m88k/hppa don't do shared libs
13503	[e4901d958bb7]
13504
13505	* configure, configure.in:
13506	o merge the hpux case entries into a single entry w/ its own sub-
13507	case statement. o HP-UX >= 11 support getspnam(), use it in
13508	preference to getprpwuid()
13509	[0caad428894e]
13510
13511	* configure, configure.in:
13512	eval $shrext so that it expands nicely on MacOS X
13513	[40419343eef8]
13514
13515	* Makefile.in:
13516	Don't lie about making a module, it does the wrong thing on mach
13517	[7629b28f5688]
13518
13519	* ltmain.sh:
13520	Remove requirement that libs must begin with "lib". They don't when
13521	we point directly at the lib using LD_PRELOAD or its equivalent.
13522	[d66f3de6ec85]
13523
13524	* acsite.m4:
13525	Disable support for c++, f77 and java. We don't need it, it takes a
13526	lot of time, and it hosed our check for shared lib support.
13527	[4f5749c52ce4]
13528
13529	* configure:
13530	regen
13531	[160865e9d15f]
13532
13533	* configure.in:
13534	Call AC_ENABLE_SHARED and check the status of enable_shared to know
13535	when shared libs are available.
13536	[42504c1668fc]
13537
13538	* acsite.m4:
13539	Duh, OpenBSD suports shared libs too
13540	[8e3cd9417475]
13541
13542	* config.h.in, configure.in:
13543	Only OpenPAM and Linux PAM use const qualifiers.
13544	[b2f76476e866]
13545
13546	* configure, configure.in:
13547	o No need to check for sed, libtool config does that for us o move
13548	check for --with-noexec until after libtool magic is run so we can
13549	use $can_build_shared and $shrext
13550	[668c656e89cc]
13551
13552	* ltmain.sh:
13553	Don't print a bunch of crap about library installs since we are not
13554	really installing a library.
13555	[83fbcad29fe4]
13556
13557	* env.c:
13558	Make format_env() varargs Add noexec support for Darwin, MacOS X,
13559	Irix, and Tru64
13560	[468885d75d10]
13561
13562	* acsite.m4, ltconfig, ltmain.sh:
13563	Update to libtool 1.5 with local changes: o no ldconfig in the
13564	finish step o assume no libprefix or version is needed
13565	[4961cffc3797]
13566
13567	* sudo_noexec.c:
13568	Fix compilation under K&R
13569	[8b309bf0b1b2]
13570
135712004-01-06  Todd C. Miller  <Todd.Miller@courtesan.com>
13572
13573	* CHANGES:
13574	checkpoint
13575	[3c368badab32]
13576
13577	* sudo_noexec.c:
13578	stub execve() that just returns EACCES; used for noexec
13579	functionality
13580	[1297acae283a]
13581
13582	* sudo.tab.h:
13583	Regen w/ updated byacc from OpenBSD; fixes a gcc 3.2 issue with
13584	generated code.
13585	[dcab78c49273]
13586
13587	* sudo.tab.c:
13588	Regen w/ updated byacc from OpenBSD; fixes a gcc 3.2 issue with
13589	generated code.
13590	[0a61c735eabe]
13591
135922004-01-05  Todd C. Miller  <Todd.Miller@courtesan.com>
13593
13594	* def_data.c, def_data.h, def_data.in:
13595	Move the environment defaults to the end and shorten a few of the
13596	descriptions.
13597	[66787b9c612c]
13598
13599	* configure, configure.in:
13600	no shared libs on ultris or convexos
13601	[2c5f3c456e32]
13602
13603	* Makefile.in, configure, configure.in:
13604	Build sudo_noexec shared object using libtool; could use some
13605	cleanup.
13606	[373f483555dd]
13607
13608	* acsite.m4, ltconfig, ltmain.sh:
13609	libtool scaffolding
13610	[c903a42e3d90]
13611
13612	* parse.yacc, sudo.tab.c:
13613	Merge the NOPASSWD/PASSWD and NOEXEC/EXEC rules so that order is not
13614	important.
13615	[c6e8a34639a4]
13616
13617	* defaults.c, env.c, lex.yy.c, parse.c, parse.h, parse.lex,
13618	parse.yacc, pathnames.h.in, sudo.c, sudo.h, sudo.tab.c:
13619	update copyright year
13620	[a16372ae1711]
13621
13622	* configure, configure.in, defaults.c, env.c, pathnames.h.in:
13623	Add _PATH_SUDO_NOEXEC and corresponding --with-noexec configure
13624	option. The default value of noexec_file is set to this.
13625	[7d88e1d3c494]
13626
13627	* def_data.c, def_data.h, def_data.in, env.c, lex.yy.c, parse.c,
13628	parse.h, parse.lex, parse.yacc, sudo.c, sudo.h, sudo.tab.c,
13629	sudo.tab.h:
13630	Add support for preloading a shared object containing a dummy
13631	execve() function that just sets error and returns -1. This adds a
13632	"noexec_file" option to load the filename as well as a "noexec" flag
13633	to enable it unconditionally. There is also a NOEXEC tag that can
13634	be attached to specific commands and an EXEC tag to disable it.
13635	[c8b6712feb91]
13636
13637	* mkdefaults:
13638	add missing newline to usage statement
13639	[e84746618362]
13640
13641	* config.h.in, sudo.c:
13642	Rename EXEC macro -> EXECV
13643	[ddaa0c027299]
13644
13645	* logging.c:
13646	Don't truncate usernames to 8 characters in the log message.
13647	[f62a20f27075]
13648
13649	* check.c, sudoers.man.in, sudoers.pod:
13650	Update copyright year
13651	[ca9964054085]
13652
13653	* check.c, def_data.c, def_data.h, def_data.in, sudoers.man.in,
13654	sudoers.pod:
13655	Add a new option, lecture_file, that can be used to point to a
13656	custom sudo lecture.
13657	[940133231216]
13658
136592003-12-31  Todd C. Miller  <Todd.Miller@courtesan.com>
13660
13661	* auth/aix_auth.c, auth/bsdauth.c, auth/fwtk.c, auth/pam.c,
13662	auth/sudo_auth.c:
13663	Add a zero_bytes() function to do the equivalent of bzero in such a
13664	way that will heopfully not be optimized away by sneaky compilers.
13665	[161b6d74bfb4]
13666
13667	* zero_bytes.c:
13668	Add a zero_bytes() function to do the equivalent of bzero in such a
13669	way that will heopfully not be optimized away by sneaky compilers.
13670	[d035abf0af94]
13671
13672	* Makefile.in, sudo.h:
13673	Add a zero_bytes() function to do the equivalent of bzero in such a
13674	way that will heopfully not be optimized away by sneaky compilers.
13675	[ff136de3e255]
13676
13677	* err.c:
13678	Use #ifdef __STDC__, not #if __STDC__.
13679	[6889dd6bc51a]
13680
136812003-12-30  Todd C. Miller  <Todd.Miller@courtesan.com>
13682
13683	* mkdefaults:
13684	Always put at least one space between the def_* macro name and its
13685	definition.
13686	[6b3ad0e6619a]
13687
13688	* configure, configure.in:
13689	Adjust code for --without-lecture to match new values.
13690	[062aa788a6b9]
13691
13692	* visudo.man.in:
13693	regen after pasto fix
13694	[3deec16906c0]
13695
13696	* sudoers.man.in, sudoers.pod:
13697	Document that "lecture" has changed from a flag to a tuple.
13698	[e2c03062b533]
13699
13700	* check.c, def_data.c, def_data.h, def_data.in, defaults.c,
13701	defaults.h, logging.c, mkdefaults, parse.c, sudo.c, sudo.h:
13702	Add support for tuples in def_data.in; these are implemented as an
13703	enum type. Currently there is only a single tuple enum but in the
13704	future we may have one tuple enum per T_TUPLE entry in def_data.in.
13705	Currently listpw, verifypw and lecture are tuples. This avoids the
13706	need to have two entries (one ival, one str) for pwflags and syslog
13707	values.
13708
13709	lecture is now a tuple with the following values: never, once,
13710	always
13711
13712	We no longer use both an int and string entry for syslog facilities
13713	and priorities. Instead, there are logfac2str() and logpri2str()
13714	functions that get used when we need to print the string values.
13715	[5293f946c836]
13716
13717	* auth/aix_auth.c, auth/bsdauth.c, auth/fwtk.c, auth/pam.c,
13718	auth/rfc1938.c, auth/securid5.c, auth/sia.c, auth/sudo_auth.c,
13719	check.c, def_data.h, defaults.c, defaults.h, env.c, find_path.c,
13720	logging.c, mkdefaults, parse.c, parse.yacc, set_perms.c, sudo.c,
13721	sudo.tab.c, visudo.c:
13722	Create def_* macros for each defaults value so we no longer need the
13723	def_{flag,ival,str,list,mode} macros (which have been removed). This
13724	is a step toward more flexible data types in def_data.in.
13725	[009c02934106]
13726
13727	* TODO:
13728	checkpoint
13729	[0a99a4bb5d15]
13730
137312003-12-23  Todd C. Miller  <Todd.Miller@courtesan.com>
13732
13733	* sudo.c:
13734	If we are in -k/-K mode, just spew to stderr. It is not unusual for
13735	users to place "sudo -k" in a .logout file which can cause sudo to
13736	be run during reboot after the YP/NIS/NIS+/LDAP/etc daemon has died.
13737	Previously, this would result in useless mail and logging.
13738	[d282e7ed63af]
13739
137402003-12-16  Todd C. Miller  <Todd.Miller@courtesan.com>
13741
13742	* visudo.pod:
13743	fix pasto in VISUAL description
13744	[1c6a6148b5f9]
13745
137462003-12-10  Todd C. Miller  <Todd.Miller@courtesan.com>
13747
13748	* configure:
13749	regen
13750	[f44312c63799]
13751
13752	* CHANGES:
13753	checkpoint
13754	[0c42e38f78d5]
13755
13756	* TROUBLESHOOTING:
13757	Some OSes (like Solaris) allow export w/ nosuid too
13758	[973ce85ffa12]
13759
137602003-08-12  Todd C. Miller  <Todd.Miller@courtesan.com>
13761
13762	* compat.h:
13763	We don't use FD_ZERO anymore so just define FD_SET (if not already
13764	there).
13765	[d1c8c11905cd]
13766
137672003-06-29  Todd C. Miller  <Todd.Miller@courtesan.com>
13768
13769	* auth/pam.c:
13770	Fix a core dump on Solaris by preserving the pam_handle_t we used
13771	during authentication for pam_prep_user(). If we didn't
13772	authenticate (ie: ticket still valid), we call pam_init() from
13773	pam_prep_user(). This is something of a hack; it may be better to
13774	change the auth API and add an auth_final() function that acts like
13775	pam_prep_user().
13776	[f787de49b175]
13777
137782003-06-21  Todd C. Miller  <Todd.Miller@courtesan.com>
13779
13780	* set_perms.c:
13781	Add explicit declaration of printerr variable in function header
13782	(was defaulting to int which is OK but oh so K&R :-). From Theo.
13783	[492c2358783f]
13784
137852003-06-09  Todd C. Miller  <Todd.Miller@courtesan.com>
13786
13787	* config.h.in, configure.in:
13788	s/HAVE_STOW/USE_STOW/
13789	[4b99e1824ece]
13790
13791	* logging.c:
13792	Also exit waitpid() loop when pid == 0. Fixes a problem where the
13793	sudo process would spin eating up CPU until sendmail finished when
13794	it has to send mail.
13795	[ec3d5792b9b4]
13796
137972003-05-30  Todd C. Miller  <Todd.Miller@courtesan.com>
13798
13799	* fnmatch.c:
13800	Remove advertising clause, UCB has disavowed it
13801	[43a26bbd6628]
13802
13803	* fnmatch.3:
13804	Remove advertising clause, UCB has disavowed it
13805	[3ff24291bcfa]
13806
138072003-05-22  Todd C. Miller  <Todd.Miller@courtesan.com>
13808
13809	* parse.c:
13810	Don't assume that getgrnam() calls don't modify contents of struct
13811	passwd returned by getpwnam(). On FreeBSD w/ NIS this can happen.
13812	Based on a patch from Kirk Webb.
13813	[5574c68f60f3]
13814
138152003-05-06  Todd C. Miller  <Todd.Miller@courtesan.com>
13816
13817	* configure.in:
13818	missing ;;
13819	[22378f2a9d31]
13820
13821	* configure.in:
13822	darwin has a broken setreuid() in at least some versions
13823	[d572aed930d2]
13824
13825	* env.c:
13826	Fix an off by one error when reallocating the environment; Kevin Pye
13827	[3d98e7cf097a]
13828
138292003-04-30  Todd C. Miller  <Todd.Miller@courtesan.com>
13830
13831	* sudoers.pod:
13832	Fix User_Spec definition; SEKINE Tatsuo
13833	[49b0da65e090]
13834
138352003-04-28  Todd C. Miller  <Todd.Miller@courtesan.com>
13836
13837	* HISTORY:
13838	More info on the early days from Coggs.
13839	[9381ca10b06b]
13840
138412003-04-21  Todd C. Miller  <Todd.Miller@courtesan.com>
13842
13843	* auth/kerb5.c:
13844	remove errant semicolon that prevented compilation under heimdal
13845	[d2f2bb73a598]
13846
138472003-04-16  Todd C. Miller  <Todd.Miller@courtesan.com>
13848
13849	* testsudoers.c, tgetpass.c, visudo.c, visudo.man.in, visudo.pod:
13850	add DARPA credit on affected files
13851	[7020785ee50d]
13852
13853	* sudoers.pod:
13854	add DARPA credit on affected files
13855	[83b46318750b]
13856
13857	* sigaction.c, strerror.c, sudo.c, sudo.h, sudo.man.in, sudo.pod,
13858	sudoers.man.in:
13859	add DARPA credit on affected files
13860	[d8adf1c2ba22]
13861
13862	* set_perms.c:
13863	add DARPA credit on affected files
13864	[3d79fdabb582]
13865
13866	* pathnames.h.in:
13867	add DARPA credit on affected files
13868	[e334cdda422f]
13869
13870	* logging.c, parse.c:
13871	add DARPA credit on affected files
13872	[8f75f822755b]
13873
13874	* auth/passwd.c, auth/rfc1938.c, auth/secureware.c, auth/securid.c,
13875	auth/securid5.c, auth/sia.c, auth/sudo_auth.c, fileops.c,
13876	find_path.c, getprogname.c, getspwuid.c, goodpath.c, interfaces.c,
13877	interfaces.h:
13878	add DARPA credit on affected files
13879	[da66e28fb3f5]
13880
13881	* auth/kerb5.c, auth/pam.c:
13882	add DARPA credit on affected files
13883	[15da3021b49c]
13884
13885	* auth/afs.c, auth/aix_auth.c, auth/bsdauth.c, auth/dce.c,
13886	auth/fwtk.c, auth/kerb4.c, parse.lex, parse.yacc, utime.c,
13887	version.h:
13888	add DARPA credit on affected files
13889	[868d54cbddea]
13890
13891	* env.c:
13892	add DARPA credit on affected files
13893	[90239f51ef0a]
13894
13895	* defaults.c, defaults.h:
13896	add DARPA credit on affected files
13897	[6a64205fd1eb]
13898
13899	* compat.h:
13900	add DARPA credit on affected files
13901	[316a735783c4]
13902
13903	* Makefile.in, alloc.c, check.c:
13904	add DARPA credit on affected files
13905	[cd939e05c810]
13906
13907	* LICENSE:
13908	slightly different wording for the darpa credit
13909	[e468909c4a21]
13910
139112003-04-15  Todd C. Miller  <Todd.Miller@courtesan.com>
13912
13913	* LICENSE:
13914	Add DARPA credit
13915	[8eb20e2cd63e]
13916
139172003-04-14  Todd C. Miller  <Todd.Miller@courtesan.com>
13918
13919	* auth/kerb5.c:
13920	Use krb5_princ_component() instead of krb5_princ_realm() for MIT
13921	Kerberos like we did before I messed things up ;-)
13922
13923	Use krb5_principal_get_comp_string() to do the same thing w/
13924	Heimdal. I'm not sure if the component should be 0 or 1 in this
13925	case.
13926
13927	#define ENCTYPE_DES_CBC_MD5 ETYPE_DES_CBC_MD5 for Heimdal since
13928	older versions lack ENCTYPE_DES_CBC_MD5. This is gross and there
13929	should be a configure check for this I guess.
13930	[74919a3933fe]
13931
139322003-04-13  Todd C. Miller  <Todd.Miller@courtesan.com>
13933
13934	* sample.sudoers:
13935	builtin -> built-in; Jason McIntyre
13936	[027f2187923e]
13937
13938	* TROUBLESHOOTING, config.h.in, configure, configure.in:
13939	builtin -> built-in; Jason McIntyre
13940	[70b81ac48943]
13941
13942	* sudoers.pod:
13943	built in -> built-in; Jason McIntyre
13944	[da658ef5138d]
13945
139462003-04-09  Todd C. Miller  <Todd.Miller@courtesan.com>
13947
13948	* CHANGES:
13949	checkpoint for 1.6.7p3
13950	[da85f989fadf]
13951
13952	* HISTORY:
13953	Update info on the early years @ SUNY-Buffalo from Cliff Spencer.
13954	Amazingly, sudo source from 1985 is available via groups.google.com
13955	[39e0fc85b89f]
13956
13957	* sudo.c:
13958	Don't change rl.rlim_max for RLIMIT_CORE. We need only set
13959	rl.rlim_cur to 0 to turn off core dumps. This may be needed for the
13960	RLIMIT_CORE restoration on some OSes.
13961	[7e2c1a7adfd8]
13962
139632003-04-04  Todd C. Miller  <Todd.Miller@courtesan.com>
13964
13965	* auth/kerb5.c:
13966	Make this compile on Heimdal and MIT Kerberos 5
13967	[44c07d615868]
13968
13969	* config.h.in, configure, configure.in:
13970	Check for heimdal even if we found krb5-config and define
13971	HAVE_HEIMDAL.
13972	[aba0126f0059]
13973
13974	* auth/kerb5.c:
13975	Replace ETYPE_DES_CBC_MD5 with ENCTYPE_DES_CBC_MD5. The former is
13976	no longer defined by MIT kerb5 (though it used to be and indeed
13977	remains so in Heimdal).
13978	[e5a6c64d7cd5]
13979
139802003-04-03  Todd C. Miller  <Todd.Miller@courtesan.com>
13981
13982	* mkinstalldirs:
13983	Remove newer stuff that passes multiple (possibly duplicate)
13984	directories to "mkdir -p" since that seems to break on Tru64 Unix at
13985	least. This basically brings back what shipped with sudo 1.6.6.
13986	[f2a1abd872b3]
13987
139882003-04-02  Todd C. Miller  <Todd.Miller@courtesan.com>
13989
13990	* auth/kerb5.c:
13991	Correct number of args to krb5_principal_get_realm() and fix an
13992	unclosed comment that hid the bug.
13993	[0b37f8ce7824]
13994
13995	* configure:
13996	regen
13997	[1876cb840fe0]
13998
13999	* configure.in:
14000	++version
14001	[480aff7c048e]
14002
14003	* README:
14004	++version
14005	[488e0bbff613]
14006
14007	* Makefile.in:
14008	++version
14009	[97ef63cedc38]
14010
14011	* INSTALL.binary:
14012	++version
14013	[a506204e77d0]
14014
14015	* INSTALL:
14016	++version
14017	[555aeba5c2bf]
14018
14019	* CHANGES, version.h:
14020	++version
14021	[f66985a64063]
14022
14023	* BUGS:
14024	++version
14025	[ea3573432412]
14026
14027	* configure.in:
14028	use krb5-config to determine Kerberos V details if it exists
14029	[7b46bbdaf774]
14030
14031	* alloc.c, auth/fwtk.c, auth/rfc1938.c, auth/securid.c,
14032	auth/securid5.c, auth/sia.c, check.c, compat.h, defaults.c, env.c,
14033	find_path.c, interfaces.c, logging.c, parse.c, sudo.c, sudo.h,
14034	testsudoers.c, visudo.c:
14035	Use warn/err and getprogname() throughout. The main exception is
14036	openlog(). Since the admin may be filtering logs based on the
14037	program name in the log files, hard code this to "sudo".
14038	[9f180d015cfa]
14039
14040	* Makefile.in:
14041	Add getprogname.c and err.c
14042	[d411c54a07dc]
14043
14044	* configure:
14045	regen
14046	[6d585d391acc]
14047
14048	* config.h.in, configure.in:
14049	Add checks for getprognam(), __progname and err.h
14050	[bcbccf61d34a]
14051
14052	* emul/err.h:
14053	For systems withour err/warn functions.
14054	[1b33118884d9]
14055
14056	* err.c:
14057	For systems withour err/warn functions.
14058	[26721f6b041f]
14059
14060	* getprogname.c:
14061	For systems neither getprogname() nor __progname; uses Argv[0].
14062	[841cf42af1eb]
14063
140642003-04-01  Todd C. Miller  <Todd.Miller@courtesan.com>
14065
14066	* CHANGES:
14067	checkpoint for 1.6.7p1
14068	[5bfdaf441dce]
14069
14070	* sudo.c, testsudoers.c:
14071	fix strlcpy() rval check (innocuous)
14072	[e05ac7e0d1f3]
14073
14074	* check.c:
14075	oflow detection in expand_prompt() was faulty (false positives). The
14076	count was based on strlcat() return value which includes the length
14077	of the entire string.
14078	[086c5a0acb25]
14079
140802003-03-31  Todd C. Miller  <Todd.Miller@courtesan.com>
14081
14082	* RUNSON, TODO:
14083	checkpoint for the sudo 1.6.7 release
14084	[096bab4da29a] [SUDO_1_6_7]
14085
14086	* CHANGES:
14087	checkpoint for the sudo 1.6.7 release
14088	[87322187ed78]
14089
140902003-03-24  Todd C. Miller  <Todd.Miller@courtesan.com>
14091
14092	* logging.c:
14093	g/c unused variable
14094	[c57cd4a17765]
14095
14096	* configure:
14097	regen
14098	[e7c1f581dfac]
14099
14100	* configure.in:
14101	use man sections 8 and 5 for csops
14102	[87de581bda88]
14103
141042003-03-21  Todd C. Miller  <Todd.Miller@courtesan.com>
14105
14106	* configure:
14107	regen
14108	[cb1433a9c7a1]
14109
14110	* configure.in:
14111	Add -lskey or -lopie directly to SUDO_LIBS instead of having
14112	AC_CHECK_LIB() add them to LIBS. Fixes visudo linkage.
14113	[ac5667978939]
14114
14115	* configure:
14116	regen
14117	[638459118a2a]
14118
14119	* configure.in:
14120	Add --with-blibpath for AIX. An alternate libpath may be specified
14121	or
14122	-blibpath support can be disabled. Also change conifgure such that
14123	-blibpath is not specified if no -L libpaths were added to
14124	SUDO_LDFLAGS.
14125	[c7d17b480cad]
14126
14127	* aclocal.m4:
14128	Add --with-blibpath for AIX. An alternate libpath may be specified
14129	or
14130	-blibpath support can be disabled. Also change conifgure such that
14131	-blibpath is not specified if no -L libpaths were added to
14132	SUDO_LDFLAGS.
14133	[37022e991575]
14134
14135	* INSTALL:
14136	Add --with-blibpath for AIX. An alternate libpath may be specified
14137	or
14138	-blibpath support can be disabled. Also change conifgure such that
14139	-blibpath is not specified if no -L libpaths were added to
14140	SUDO_LDFLAGS.
14141	[4b4bbe5bbe1b]
14142
14143	* configure.in:
14144	add AIX blibpath support
14145	[16ba788bf086]
14146
14147	* INSTALL, configure.in:
14148	--with-skey and --with-opie now take an option directory argument
14149	This obsoletes a --with-csops hack (/tools/cs/skey)
14150
14151	Also remove the remaining direct uses of "echo"
14152	[5b4986a90c03]
14153
141542003-03-20  Todd C. Miller  <Todd.Miller@courtesan.com>
14155
14156	* configure.in:
14157	Detect KTH Kerberos IV and deal with it. Also make -lroken optional
14158	for KTH Kerberos IV and V.
14159	[119f97b48e18]
14160
14161	* aclocal.m4:
14162	Add SUDO_APPEND_LIBPATH function that add -L/path/to/dir (and
14163	-R/path/to/dir if $with_rpath) to the specified variable.
14164	[e55e49d076ce]
14165
14166	* INSTALL, configure.in:
14167	Add -R/path/to/libs for Solaris and SVR4. There is a new configure
14168	option, --with-rpath to control this behavior.
14169	[d4730c5399ab]
14170
14171	* configure.in:
14172	for kerb4 put libdes after libkrb on the link line
14173	[5c566100eab6]
14174
14175	* auth/kerb4.c:
14176	typo
14177	[6541b72b64a3]
14178
14179	* configure.in:
14180	fix kerberos lib check when a path is specified
14181	[ae833a914c6f]
14182
14183	* logging.c:
14184	Fix boolean thinko in SIGCHLD reaper and call reapchild after
14185	sending mail instead of doing a conditional sudo_waitpid.
14186	[86fa9a35df5a]
14187
141882003-03-19  Todd C. Miller  <Todd.Miller@courtesan.com>
14189
14190	* configure:
14191	regen
14192	[e6275cf528ba]
14193
14194	* configure.in:
14195	replace =DIR with [=DIR] where sensible
14196	[c39a59173b38]
14197
14198	* configure.in:
14199	o Use AC_MSG_* instead of "echo" o New Kerberos include/lib
14200	detection based on openssh's configure.in
14201	[5b7a340912df]
14202
14203	* INSTALL:
14204	--with-kerb4 and --with-kerb5 now take an optional argument.
14205	[71ed87fc9c64]
14206
142072003-03-16  Todd C. Miller  <Todd.Miller@courtesan.com>
14208
14209	* auth/securid.c:
14210	Kill remaining strcpy(), the programmer's guide says username is 32
14211	bytes.
14212	[bdba70fcd08d]
14213
14214	* auth/kerb4.c:
14215	trat uid_t as unsigned long for printf and use snprintf, not sprintf
14216	[8072f5f8966d]
14217
14218	* auth/rfc1938.c:
14219	use snprintf
14220	[fc0c70c665fe]
14221
142222003-03-15  Todd C. Miller  <Todd.Miller@courtesan.com>
14223
14224	* auth/afs.c, auth/aix_auth.c, auth/bsdauth.c, auth/dce.c,
14225	auth/fwtk.c, auth/kerb4.c, auth/kerb5.c, auth/pam.c, auth/passwd.c,
14226	auth/rfc1938.c, auth/sudo_auth.c:
14227	update copyright year
14228	[b0a10ccb1d0e]
14229
14230	* sudo.man.in, sudoers.man.in, visudo.man.in:
14231	update copyright year
14232	[8fce0034eb51]
14233
14234	* LICENSE, Makefile.in, aclocal.m4, alloc.c, check.c, compat.h,
14235	configure.in, env.c, find_path.c, interfaces.c, logging.c, parse.c,
14236	parse.lex, parse.yacc, set_perms.c, sudo.c, sudo.h, sudo.pod,
14237	sudoers.pod, testsudoers.c, version.h, visudo.c, visudo.pod:
14238	update copyright year
14239	[d541e75fe520]
14240
14241	* check.c, env.c, sudo.c:
14242	Cast [ug]ids to unsigned long and printf with %lu
14243	[2ede64d3592b]
14244
14245	* configure:
14246	regen
14247	[c7c3245bdf3e]
14248
14249	* configure.in:
14250	correct error messages for --with-sudoers-{mode,uid,gid}
14251	[77fc15b1c9db]
14252
14253	* alloc.c:
14254	make the malloc(0) error specific to each function to aid tracking
14255	down bugs.
14256	[a58c34374b4b]
14257
14258	* alloc.c:
14259	deal with platforms where size_t is signed and there is no SIZE_MAX
14260	or SIZE_T_MAX
14261	[7192abb4ab4e]
14262
14263	* auth/kerb5.c:
14264	Make this compile w/ Heimdal and fix some gcc warnings.
14265	[f52f026f31c2]
14266
14267	* sudo.c:
14268	Use stat_sudoers macro so --with-stow can work
14269	[c3674735c139]
14270
14271	* INSTALL, config.h.in, configure, configure.in:
14272	Add support for --with-stow based on patches from Robert Uhl
14273	[b274cc1dd52c]
14274
14275	* env.c:
14276	fix indentation
14277	[110d9f1721b1]
14278
14279	* configure.in:
14280	back out rev 1.352
14281	[1eee91c83f11]
14282
14283	* lex.yy.c:
14284	regen
14285	[72fba1c9590b]
14286
14287	* parse.lex:
14288	use strlcpy, not strncpy
14289	[4faccbaeccef]
14290
14291	* set_perms.c:
14292	Fix typo; check pw_uid, not pw_gid after setusercontext() failure.
14293	[33bf0d18fdc1]
14294
14295	* logging.c:
14296	use pid_t
14297	[3e0536993d2c]
14298
142992003-03-14  Todd C. Miller  <Todd.Miller@courtesan.com>
14300
14301	* strlcat.c, strlcpy.c:
14302	Make gcc shutup about unused rcsid
14303	[1669a0c74e9e]
14304
14305	* interfaces.c:
14306	Move the n == 0 check for the non-getifaddrs cas
14307	[2460be061b2a]
14308
14309	* auth/rfc1938.c:
14310	skeychallenge() on NetBSD take a size parameter
14311	[05acc2012801]
14312
14313	* configure:
14314	regen
14315	[24bccf4749e8]
14316
14317	* configure.in:
14318	put -ldl after -lpam, not before; fixes static linking on Linux
14319	[7f06b7b2b4d8]
14320
14321	* interfaces.c:
14322	Avoid malloc(0) and fix the loop invariant for the getifaddrs()
14323	case.
14324	[239a55068646]
14325
14326	* sudo.cat, sudoers.cat, visudo.cat:
14327	regen
14328	[4a2eed3981ca]
14329
14330	* sudo.man.in, sudoers.man.in, visudo.man.in:
14331	regen
14332	[2c96ea2cf930]
14333
14334	* Makefile.in:
14335	Preserve copyright notice from .pod file in .man.in file
14336	[519fbd09aebc]
14337
14338	* visudo.pod:
14339	Add sudoers(5) to SEE ALSO
14340	[77ecfe3aedf1]
14341
143422003-03-13  Todd C. Miller  <Todd.Miller@courtesan.com>
14343
14344	* lex.yy.c:
14345	regen
14346	[6f5751ce0b74]
14347
14348	* parse.lex:
14349	Don't assume libc can realloc() a NULL string. If malloc/realloc
14350	fails, make sure we just return; yyerror() is not terminal.
14351	[1b8618623708]
14352
14353	* lex.yy.c:
14354	regen
14355	[5d31b46191c6]
14356
14357	* parse.lex:
14358	simplify fill_args a little and use strlcpy for paranoia
14359	[0ea35a55542b]
14360
14361	* sudo.tab.c:
14362	regen
14363	[5a8d508d708b]
14364
14365	* check.c, env.c, find_path.c, parse.c, parse.yacc, sudo.c,
14366	testsudoers.c:
14367	Use strlc{at,py} for paranoia's sake and exit on overflow. In all
14368	cases the strings were either pre-allocated to the correct size of
14369	length checks were done before the copy but a little paranoia can go
14370	a long way.
14371	[e73d28f1d14e]
14372
14373	* sudo.h:
14374	Add strlc{at,py} protos
14375	[748ffc7fc7f4]
14376
14377	* env.c, interfaces.c:
14378	Use erealloc3()
14379	[47f2cb46aba8]
14380
14381	* configure:
14382	regen
14383	[e7e2fb79f935]
14384
14385	* alloc.c:
14386	Oflow test of nmemb > SIZE_MAX / size is fine (don't need >=). Use
14387	memcpy() instead of strcpy() in estrdup() so this is strcpy()-free.
14388	[7e0fa4d6fc1d]
14389
14390	* sudo.c:
14391	snprintf() a uid as %lu, not %ld to match the MAX_UID_T_LEN test in
14392	configure.
14393	[09ea4d3959e9]
14394
14395	* aclocal.m4:
14396	In MAX_UID_T_LEN test cast uid_t to unsigned long, just unsigned.
14397	[31b4fdfdb8bf]
14398
143992003-03-12  Todd C. Miller  <Todd.Miller@courtesan.com>
14400
14401	* sudo.c:
14402	Use snprintf() for paranoia
14403	[a2659ceb46de]
14404
14405	* parse.yacc:
14406	Use emalloc2 and erealloc3
14407	[90a069842401]
14408
14409	* Makefile.in:
14410	strlc{at,py} for those w/o it
14411	[bac82dc916ee]
14412
14413	* strlcat.c, strlcpy.c:
14414	stlc{at,py} for those w/o it.
14415	[ce7254f5db09]
14416
14417	* config.h.in, configure, configure.in:
14418	Add stlc{at,py} for those w/o it.
14419	[00f08219657a]
14420
14421	* alloc.c, sudo.h:
14422	Add erealloc3(), a realloc() version of emalloc2().
14423	[c96eaf08bbed]
14424
14425	* interfaces.c, sudo.c:
14426	Use emalloc2() to allocate N things of a certain size.
14427	[1e0aba365555]
14428
14429	* alloc.c, sudo.h:
14430	Add emalloc2() -- like calloc() but w/o the bzero and with
14431	error/oflow checking.
14432	[292150bc4153]
14433
14434	* alloc.c:
14435	Error out on malloc(0); suggested by theo
14436	[995279e81326]
14437
144382003-03-10  Todd C. Miller  <Todd.Miller@courtesan.com>
14439
14440	* configure, configure.in:
14441	fix a typo; David Krause
14442	[f161213a17ab]
14443
144442003-03-07  Todd C. Miller  <Todd.Miller@courtesan.com>
14445
14446	* sudo.pod:
14447	fix typo
14448	[3ae5ad9a351a]
14449
144502003-03-04  Todd C. Miller  <Todd.Miller@courtesan.com>
14451
14452	* env.c:
14453	Remove DYLD_ from the environment for MacOS X; from bbraun
14454	[38caad5a3935]
14455
144562003-03-01  Todd C. Miller  <Todd.Miller@courtesan.com>
14457
14458	* config.h.in, configure.in:
14459	not not; Anil Madhavapeddy
14460	[d4f4f0bfc66b]
14461
144622003-01-23  Todd C. Miller  <Todd.Miller@courtesan.com>
14463
14464	* sudo.pod, sudoers.pod, visudo.pod:
14465	typos; jmc@openbsd.org
14466	[868c0f09bf9e]
14467
144682003-01-20  Todd C. Miller  <Todd.Miller@courtesan.com>
14469
14470	* parse.yacc:
14471	Add some missing ';' rule terminators that bison warns about.
14472	[535b0b8dcce5]
14473
14474	* config.sub:
14475	fix typo I introduced in last merge
14476	[81db4e4f43fe]
14477
14478	* configure:
14479	regenerate with autoconf 2.57
14480	[ca0c1e9564f8]
14481
14482	* config.h.in:
14483	Add missing "$HOME"
14484	[209186197ad1]
14485
14486	* configure.in:
14487	Add some more square backets to make autoconf 2.57 happy
14488	[b5639c14faf7]
14489
14490	* config.sub, mkinstalldirs:
14491	Updates from autoconf-2.57
14492	[36be35eb331b]
14493
14494	* config.guess:
14495	Updates from autoconf-2.57
14496	[ea0f8ca622af]
14497
144982003-01-17  Todd C. Miller  <Todd.Miller@courtesan.com>
14499
14500	* sudo.tab.h:
14501	regen
14502	[13a65a421567]
14503
14504	* lex.yy.c, sudo.tab.c:
14505	regen
14506	[0b529db7cb6d]
14507
14508	* parse.lex, parse.yacc, sudoers.pod:
14509	Add support for Defaults>RunasUser
14510	[20d726373175]
14511
145122003-01-07  Todd C. Miller  <Todd.Miller@courtesan.com>
14513
14514	* visudo.c:
14515	fclose() yyin after each yyparse() is done and use fopen() instead
14516	of using freopen().
14517	[587f8a2df857]
14518
14519	* parse.lex:
14520	Better fix for sudoers files w/o a newline before EOF. It looks
14521	like the issue is that yyrestart() does not reset the start
14522	condition to INITIAL which is an issue since we parse sudoers
14523	multiple times.
14524	[920f8326968a]
14525
145262003-01-06  Todd C. Miller  <Todd.Miller@courtesan.com>
14527
14528	* parse.lex:
14529	Work around what appears to be a flex bug when dealing with files
14530	that lack a final newline before EOF. This adds a rule to match EOF
14531	in the non-initial states which resets the state to INITIAL and
14532	throws an error.
14533	[b94943bb1f81]
14534
14535	* visudo.c:
14536	o The parser needs sudoers to end with a newline but some editors
14537	(emacs) may not add one. Check for a missing newline at EOF and
14538	add one if needed. o Set quiet flag during initial sudoers parse (to
14539	get options) o Move yyrestart() call and always use freopen() to
14540	open yyin after initial sudoers parse.
14541	[12d12f9b07aa]
14542
145432002-12-15  Todd C. Miller  <Todd.Miller@courtesan.com>
14544
14545	* set_perms.c:
14546	Fix pasto/thinko in setresgid()/setregid() usage. Want to set
14547	effective gid, not real gid, when reading sudoers.
14548	[c7d18b810fcd]
14549
14550	* set_perms.c:
14551	don't compile set_perms_posix if we have setreuid or setresuid
14552	[b9cea7a81a29]
14553
145542002-12-14  Todd C. Miller  <Todd.Miller@courtesan.com>
14555
14556	* sudo.pod, sudoers.pod:
14557	document new prompt escapes
14558	[2f088076b640]
14559
14560	* check.c:
14561	Add %U and %H escapes and redo prompt rewriting. "%%" now gets
14562	collapsed to "%" as was originally intended. This also gets rid of
14563	lastchar (does lookahead instead of lookback) which should simplify
14564	the logic slightly.
14565	[4b707b77b3c7]
14566
145672002-12-13  Todd C. Miller  <Todd.Miller@courtesan.com>
14568
14569	* tgetpass.c:
14570	Write the prompt *after* turning off echo to avoid some password
14571	characters being echoed on heavily-loaded machines with fast
14572	typists.
14573	[d38c57775915]
14574
14575	* config.sub:
14576	Add support for mipseb; wiz@danbala.tuwien.ac.at
14577	[cfdac87ed5c8]
14578
14579	* configure.in:
14580	Fix IRIX fallout from name changes in man dir/sect Makefile
14581	variables. Patch from erici AT motown DOT cc DOT utexas DOT edu
14582	[9a7618755c23]
14583
14584	* auth/pam.c:
14585	Keep a local copy of tgetpass_flags so we don't add in TGP_ECHO to
14586	the global copy. Problem noted by Peter Pentchev.
14587	[d0a3e189cb06]
14588
145892002-11-28  Todd C. Miller  <Todd.Miller@courtesan.com>
14590
14591	* sudo.tab.c:
14592	regen
14593	[23b931359087]
14594
14595	* parse.yacc:
14596	Add missing yyerror() calls; YYERROR does not seem to call this for
14597	us.
14598	[0be7aeb3ac57]
14599
146002002-11-26  Todd C. Miller  <Todd.Miller@courtesan.com>
14601
14602	* sudo.c:
14603	fix typo in comment; Pedro Bastos
14604	[d7406c460e99]
14605
146062002-11-22  Todd C. Miller  <Todd.Miller@courtesan.com>
14607
14608	* INSTALL:
14609	document --disable-setresuid
14610	[fbd03d03a027]
14611
14612	* auth/aix_auth.c, auth/bsdauth.c, auth/fwtk.c, auth/pam.c,
14613	auth/sudo_auth.c:
14614	Sprinkle some volatile qualifiers to prevent over-enthusiastic
14615	optimizers from removing memset() calls.
14616	[5370ac0e6129]
14617
14618	* logging.c, parse.yacc:
14619	minor sign fixes pointed out by gcc -Wsign-compare
14620	[db872438337f]
14621
14622	* set_perms.c, sudo.c, sudo.h:
14623	Revamp set_perms. We now use a version based on setresuid() or
14624	setreuid() when possible since that allows us to support the
14625	stay_setuid option and we always know exactly what the semantics
14626	will be (various Linux kernels have broken POSIX saved uid support).
14627	[523bc212396c]
14628
14629	* config.h.in, configure:
14630	regen from configure.in
14631	[351877ea2624]
14632
14633	* configure.in:
14634	Add checks for setresuid() and a way to disable using it
14635	[a5b21653d169]
14636
14637	* compat.h:
14638	No long need to emulate set*[ug]id() via setres[ug]id() or
14639	setre[ug]id(). The new set_perms stuff only uses things it knows are
14640	there.
14641	[47884bd5d1d9]
14642
14643	* sudo.c:
14644	Before exec, restore state of signal handlers to be the same as when
14645	we were initialy invoked instead of just reseting to SIG_DFL. Fixes
14646	a problem when using sudo with nohup. Based on a patch from Paul
14647	Markham.
14648	[f8f5a1484faa]
14649
14650	* sudo.c:
14651	o timestamp_uid should be uid_t, not int o clarify error message
14652	when sudo is run by root and no_root_sudo is set
14653	[19dda0734264]
14654
146552002-09-19  Todd C. Miller  <Todd.Miller@courtesan.com>
14656
14657	* README:
14658	update ftp link for bison
14659	[98bc191016e3]
14660
146612002-07-20  Todd C. Miller  <Todd.Miller@courtesan.com>
14662
14663	* set_perms.c:
14664	Error out if setusercontext() fails and the runas user is not root.
14665	[089f9ade4686]
14666
146672002-05-20  Todd C. Miller  <Todd.Miller@courtesan.com>
14668
14669	* auth/securid5.c:
14670	Fix rcsid
14671	[07e9e85dcc2f]
14672
14673	* configure.in:
14674	Fix SecurID API test
14675	[5ec201f454a5]
14676
146772002-05-17  Todd C. Miller  <Todd.Miller@courtesan.com>
14678
14679	* env.c:
14680	typo in comment
14681	[9d385c9ac533]
14682
14683	* configure.in:
14684	securid5 stuff needs pthreads. Just adding -lpthread is suboptimal
14685	but I don't see a better way at the moment.
14686	[f89e55cbb313]
14687
14688	* Makefile.in, auth/securid5.c:
14689	SecurID API version 5 support from Michael Stroucken
14690	[68500ac7e531]
14691
14692	* configure.in:
14693	Add check for SecurID 5.0 API
14694	[1ee242e6de6b]
14695
146962002-05-08  Todd C. Miller  <Todd.Miller@courtesan.com>
14697
14698	* strerror.c:
14699	We actually do still need config.h to get the 'const' definition for
14700	K&R C.
14701	[d9c982032d85]
14702
147032002-05-05  Todd C. Miller  <Todd.Miller@courtesan.com>
14704
14705	* configure:
14706	regen with autoconf 2.5.3
14707	[c71fc086eef5]
14708
14709	* configure.in:
14710	Don't set sysconfdir to '/etc' if the user has specified a --prefix.
14711	[d90da1efafd9]
14712
14713	* configure.in:
14714	Some fixes for autoconf 2.53 from Robert Uhl o don't AC_SUBST
14715	LIBOBJS o force a 4th arg for AC_CHECK_HEADER() to workaround a bug
14716	[dd67afefa90d]
14717
14718	* env.c, sudo.c, sudo.h:
14719	No need for dump_badenv() now that dump_defaults() knows how to dump
14720	lists.
14721	[6bcda468501d]
14722
14723	* BUGS, INSTALL, INSTALL.binary, Makefile.in, README, configure.in,
14724	version.h:
14725	++version
14726	[44e3b8f95f0b]
14727
14728	* sudoers.pod:
14729	document timestampowner
14730	[37ebd69e9dd1]
14731
14732	* check.c:
14733	Don't call set_perms() when doing timestamp stuff unless
14734	timestamp_uid != 0.
14735	[63a63d41d18c]
14736
14737	* auth/sudo_auth.c, check.c, logging.c, parse.c, set_perms.c, sudo.c,
14738	sudo.h, testsudoers.c:
14739	g/c second arg to set_perms--it is no longer used
14740	[7ac4ce50c612]
14741
147422002-05-03  Todd C. Miller  <Todd.Miller@courtesan.com>
14743
14744	* check.c, set_perms.c, sudo.c, sudo.h:
14745	Add support for non-root timestamp dirs. This allows the timestamp
14746	dir to be shared via NFS (though this is not recommended).
14747	[faa83dd2b7fb]
14748
14749	* def_data.c, def_data.h, def_data.in:
14750	Add timestampowner, "Owner of the authentication timestamp dir"
14751	[d47640d4c86a]
14752
147532002-05-02  Todd C. Miller  <Todd.Miller@courtesan.com>
14754
14755	* env.c:
14756	Don't try to pre-compute the size of the new envp, just allocate
14757	space up front and realloc as needed. Changes to the new env
14758	pointer must all be made through insert_env() which now keeps track
14759	of spaced used and allocates as needed.
14760	[39bc934a9f2c]
14761
147622002-04-26  Todd C. Miller  <Todd.Miller@courtesan.com>
14763
14764	* configure:
14765	regen
14766	[0e12c09bb790]
14767
14768	* configure.in:
14769	Fix two typo/pastos; from jrj@purdue.edu
14770	[b718a4bf1181]
14771
147722002-04-25  Todd C. Miller  <Todd.Miller@courtesan.com>
14773
14774	* INSTALL.binary, README:
14775	++version
14776	[a1e33027278c] [SUDO_1_6_6]
14777
14778	* configure, sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in,
14779	visudo.cat, visudo.man.in:
14780	regen
14781	[19eb2be283ef]
14782
14783	* CHANGES, RUNSON, TODO:
14784	Sync with 1.6.6
14785	[2ff9a9087f63]
14786
14787	* check.c:
14788	The the loop used to expand %h and %u, the lastchar variable was not
14789	being initialized. This means that if the last char in the prompt
14790	is '%' and the first char is 'h' or 'u' a extra copy of the host or
14791	user name would be copied, for which space had not been allocated.
14792	[b2e27197857d]
14793
147942002-04-18  Todd C. Miller  <Todd.Miller@courtesan.com>
14795
14796	* BUGS, INSTALL, Makefile.in, configure.in, version.h:
14797	crank version to 1.6.6
14798	[cfd08689e597]
14799
14800	* auth/afs.c:
14801	#undef VOID to get rid of an AFS warning
14802	[b40760564dc1]
14803
14804	* env.c:
14805	Use easprintf instead of emalloc + sprintf for some things.
14806	[e7bfe2e69a03]
14807
148082002-03-16  Todd C. Miller  <Todd.Miller@courtesan.com>
14809
14810	* lex.yy.c, sudo.tab.c:
14811	regen
14812	[35327104383d]
14813
14814	* parse.c, parse.lex, parse.yacc, testsudoers.c:
14815	Remove Chris Jepeway's email address so people don't bug him ;-)
14816	[c03410747a69]
14817
148182002-03-12  Todd C. Miller  <Todd.Miller@courtesan.com>
14819
14820	* sudo.c:
14821	Move endpwent() to be after set_perms(PERM_RUNAS, ...) and also call
14822	endgrent() at the same time.
14823	[28b6097d5d1a]
14824
148252002-02-22  Todd C. Miller  <Todd.Miller@courtesan.com>
14826
14827	* INSTALL:
14828	Make it clear which configure options take arguments.
14829	[38529e7efad0]
14830
148312002-01-25  Todd C. Miller  <Todd.Miller@courtesan.com>
14832
14833	* compat.h:
14834	HP-UX 9.x has RLIMIT_* but no RLIM_INFINITY. If there is no
14835	RLIM_INFINITY, just pretend it is -1. This works because we only
14836	check for RLIM_INFINITY and do not set anything to that value.
14837	[53173d34e6eb]
14838
148392002-01-22  Todd C. Miller  <Todd.Miller@courtesan.com>
14840
14841	* auth/pam.c:
14842	Zero and free allocated memory when there is a conversation error.
14843	[e342133db579]
14844
14845	* auth/bsdauth.c:
14846	Use sigaction() not signal()
14847	[126c2790561f]
14848
14849	* INSTALL:
14850	Mention that some linux kernels have broken POSIX saved ID support
14851	[571ef1a893d3]
14852
14853	* CHANGES:
14854	checkpoint for 1.6.5p2
14855	[9e9e456f7f43]
14856
14857	* configure:
14858	regen
14859	[d53703a46708]
14860
14861	* configure.in:
14862	Add --disable-setreuid flag
14863	[3b9f2679cb55]
14864
14865	* INSTALL:
14866	Document new --disable-setreuid option and change description for
14867	--disable-saved-ids to match new error message.
14868	[14fd3e5f60a5]
14869
14870	* set_perms.c:
14871	fatal() now takes an argument that determines whether or not to call
14872	perror().
14873	[d826b25e62ff]
14874
14875	* TROUBLESHOOTING:
14876	Update for new error messages from set_perms()
14877	[78007c3f76a9]
14878
14879	* PORTING:
14880	Update for new error messages from set_perms()
14881	[60c545a6bcff]
14882
148832002-01-21  Todd C. Miller  <Todd.Miller@courtesan.com>
14884
14885	* auth/pam.c:
14886	Make this compile w/o warnings
14887	[b90843a29af5]
14888
14889	* auth/pam.c:
14890	Mention that we can't use pam_acct_mgmt()
14891	[1dfc5a6e0479]
14892
14893	* auth/aix_auth.c, auth/bsdauth.c, auth/fwtk.c, auth/pam.c:
14894	The user's password was not zeroed after use when AIX
14895	authentication, BSD authentication, FWTK or PAM was in use.
14896	[b18fff30b1e7]
14897
148982002-01-20  Todd C. Miller  <Todd.Miller@courtesan.com>
14899
14900	* auth/pam.c:
14901	Avoid giving PAM a NULL password response, use the empty string
14902	instead. This avoids a log warning when the user hits ^C at the
14903	password prompt when PAM is in use.
14904	[c3315805e4e4]
14905
14906	* auth/pam.c:
14907	Don't check the return value of pam_setcred(). In Linux-PAM 0.75
14908	pam_setcred() returns the last saved return code, not the return
14909	code for the setcred module. Because we haven't called
14910	pam_authenticate(), this is not set and so pam_setcred() returns
14911	PAM_PERM_DENIED.
14912	[73db145fa179]
14913
14914	* Makefile.in:
14915	Don't need a '/' between $(DESTDIR) and a directory.
14916	[0901ca618176]
14917
14918	* Makefile.binary:
14919	Don't need a '/' between $(DESTDIR) and a directory.
14920	[cd7eb6098b87]
14921
149222002-01-18  Todd C. Miller  <Todd.Miller@courtesan.com>
14923
14924	* configure:
14925	regen
14926	[41b12c039282]
14927
14928	* configure.in:
14929	o BSDi also has a bogus setreuid() o Old FreeBSD has a bogus
14930	setreuid() o new NetBSD has a real setreuid() o add check for
14931	freeifaddrs() if getifaddrs() exists.
14932	[a82ee3b01733]
14933
14934	* config.h.in, interfaces.c:
14935	Older BSDi releases lack freeifaddrs() so add a test for that and if
14936	it is not present just use free().
14937	[6270671ea9d5]
14938
149392002-01-17  Todd C. Miller  <Todd.Miller@courtesan.com>
14940
14941	* CHANGES, RUNSON:
14942	Checkpoint for 1.6.5p1
14943	[26134ecf9b36]
14944
14945	* auth/passwd.c:
14946	Return AUTH_FAILURE in passwd_init() if skeyaccess() denies access
14947	to normal passwords, not AUTH_FATAL (which just causes an exit).
14948	[785e0f4bc0e2]
14949
14950	* visudo.c:
14951	Don't use memory after it has been freed.
14952	[c60492739fdb]
14953
14954	* auth/passwd.c:
14955	skeyaccess() wants a struct passwd * not a char *; Patch from
14956	Phillip E. Lobbes
14957	[65a1d3806fcd] [SUDO_1_6_5]
14958
14959	* BUGS:
14960	++version
14961	[b2e1825e692e]
14962
14963	* CHANGES, RUNSON, TODO:
14964	checkpoint for sudo 1.6.5
14965	[d730945622e7]
14966
149672002-01-16  Todd C. Miller  <Todd.Miller@courtesan.com>
14968
14969	* configure:
14970	regen
14971	[49744c403ac9]
14972
14973	* INSTALL, INSTALL.binary, Makefile.in, README, configure.in:
14974	version 1.6.5
14975	[ec30a5f7fc45]
14976
14977	* sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in, visudo.cat,
14978	visudo.man.in:
14979	sudo version 1.6.5
14980	[458a3bed535d]
14981
14982	* logging.c:
14983	o when invoking the mailer as root use a hard-coded environment that
14984	doesn't include any info from the user's environment. Basically
14985	paranoia.
14986
14987	o Add support for the NO_ROOT_MAILER compile-time option and run the
14988	mailer as the user and not root if NO_ROOT_MAILER is defined.
14989	[4df351ec92ce]
14990
14991	* set_perms.c, sudo.h:
14992	Bring back PERM_FULL_USER
14993	[edb6039bb284]
14994
14995	* configure:
14996	regen
14997	[3eb2943afa03]
14998
14999	* version.h:
15000	version 1.6.5
15001	[044fc9a0c72b]
15002
15003	* INSTALL, config.h.in, configure.in:
15004	Add --disable-root-mailer option to run the mailer as the user and
15005	not root.
15006	[e9f805397963]
15007
15008	* CHANGES:
15009	checkpoint for 1.6.4p2
15010	[b58aae5aa98a]
15011
15012	* PORTING:
15013	Mention the "seteuid(0): Operation not permitted" problem here too
15014	just for good measure.
15015	[90135b37a691]
15016
150172002-01-15  Todd C. Miller  <Todd.Miller@courtesan.com>
15018
15019	* env.c, getspwuid.c, sudo.c:
15020	The SHELL environment variable was preserved from the user's
15021	environment instead of being reset based on the passwd database when
15022	the "env_reset" option was used. Now it is reset as it should be.
15023	[300066ef3c71]
15024
15025	* configure:
15026	regen
15027	[a47d779e6552]
15028
15029	* INSTALL, TROUBLESHOOTING, config.h.in, configure.in, set_perms.c,
15030	sudo.c:
15031	Add a configure option to turn off use of POSIX saved IDs
15032	[fb18cc8e94d0]
15033
15034	* configure:
15035	regen
15036	[d4f2f20025b6]
15037
15038	* configure.in:
15039	add --with-efence option
15040	[45c4f33a8e88]
15041
15042	* sudo.c:
15043	Only OR in MODE_RESET_HOME if MODE_RUN is set. Fixes a problem where
15044	"sudo -l" would not work if always_set_home was set.
15045	[c3a6de6c4800]
15046
15047	* lex.yy.c:
15048	regen
15049	[417424452998]
15050
15051	* parse.lex:
15052	Quoted commas were not being treated correctly in command line
15053	arguments.
15054	[753415541b37]
15055
15056	* sudo.c:
15057	o Move the call to rebuild_env() until after MODE_RESET_HOME is set.
15058	Otherwise, the set_home option has no effect.
15059
15060	o Fix use of freed memory when the "fqdn" flag is set. This was
15061	introduced by the fix for the "segv when gethostbynam() fails" bug.
15062	Also, we no longer call set_fqdn() if the "fqdn" flag is not set so
15063	there is no need to check the "fqdn" flag in set_fqdn() itself.
15064	[4b6a4245c04e]
15065
15066	* env.c:
15067	Add 'continue' statements to optimize the switch statement. From
15068	Solar.
15069	[a82c76975ae5]
15070
150712002-01-13  Todd C. Miller  <Todd.Miller@courtesan.com>
15072
15073	* sudoers.cat, sudoers.man.in:
15074	Regen from new sudoers.pod
15075	[6ecc07b3d0e1] [SUDO_1_6_4]
15076
15077	* sudoers.pod:
15078	Add caveat about stay_setuid flag
15079	[9d228a7bea1b]
15080
15081	* sudo.c:
15082	If set_perms == set_perms_posix and the stay_setuid flag is not set,
15083	set all uids to 0 and use set_perms_fallback().
15084	[c4e54d1ec86f]
15085
15086	* set_perms.c, sudo.h:
15087	Remove PERM_FULL_USER (which is no longer used) and add
15088	PERM_FULL_ROOT (used when exec'ing the mailer).
15089	[15406c522ea2]
15090
15091	* logging.c:
15092	Use set_perms(PERM_FULL_ROOT, 0) before exec'ing the mailer since we
15093	never want to run the mailer setuid.
15094	[2294853e0666]
15095
150962002-01-12  Todd C. Miller  <Todd.Miller@courtesan.com>
15097
15098	* sudo.cat, sudo.man.in, sudo.pod, visudo.cat, visudo.man.in,
15099	visudo.pod:
15100	Use sudo.ws instead of courtesan.com in URLs
15101	[55204002a308]
15102
15103	* Makefile.binary, Makefile.in:
15104	Fix mansect substitution
15105	[b7b5cbc3aa91]
15106
15107	* Makefile.in:
15108	Substitute man sections in Makefile.binary
15109	[040deb785e56]
15110
15111	* Makefile.binary:
15112	Sync install targets with Makefile.in and substitute in man
15113	sections.
15114	[77882a275281]
15115
15116	* INSTALL, INSTALL.binary:
15117	version is 1.6.4
15118	[0f87aabbcb70]
15119
15120	* Makefile.in:
15121	Repair bindist target
15122	[8d43bfe7e2d1]
15123
15124	* CHANGES:
15125	sync for 1.6.4
15126	[13ca3d4a0a72]
15127
151282002-01-10  Todd C. Miller  <Todd.Miller@courtesan.com>
15129
15130	* install-sh:
15131	Fix case where neither whoami nor id are found
15132	[424dd270bc47]
15133
151342002-01-09  Todd C. Miller  <Todd.Miller@courtesan.com>
15135
15136	* install-sh:
15137	If neither whoami nor id exists, just assume we are root.
15138	[2d2644e42c53]
15139
15140	* alloc.c:
15141	Add explicit cast to (VOID *) on malloc/realloc. Seems to be needed
15142	on AIX which for some reason isn't pulling in the malloc prototype.
15143	[231440d2ee3b]
15144
151452002-01-08  Todd C. Miller  <Todd.Miller@courtesan.com>
15146
15147	* Makefile.in, aclocal.m4, compat.h, parse.c, sudo.c:
15148	(c) 2002
15149	[700e3b41a68e]
15150
15151	* CHANGES:
15152	checkpoint
15153	[33e604bd8d5b]
15154
15155	* sudo.c:
15156	Defer assigning new environment until right before the exec.
15157	[f13c49e75c1c]
15158
15159	* parse.c:
15160	kill extra blank line
15161	[12ef22e9dae3]
15162
151632002-01-07  Todd C. Miller  <Todd.Miller@courtesan.com>
15164
15165	* configure:
15166	regen
15167	[a6cd2d788f74]
15168
15169	* configure.in:
15170	Use -O not -O2 for m88k-motorola-sysv* since motorola gcc-derived
15171	compiler doesn't recognise -O2.
15172	[5234aa543692]
15173
15174	* HISTORY:
15175	Clarify origins of Root Group sudo a bit based on info from
15176	billp@rootgroup.com
15177	[4deef01c4208]
15178
151792002-01-03  Todd C. Miller  <Todd.Miller@courtesan.com>
15180
15181	* LICENSE:
15182	2002
15183	[6c8e089dbd1a]
15184
15185	* CHANGES:
15186	checkpoint for 1.6.4rc1
15187	[3349eb87a49f]
15188
151892002-01-02  Todd C. Miller  <Todd.Miller@courtesan.com>
15190
15191	* config.h.in:
15192	now generated via autoheader
15193	[84657d303cb9]
15194
15195	* configure:
15196	regen
15197	[207bfa6a13f6]
15198
15199	* compat.h:
15200	Move in some stuff that was previously in config.h.
15201	[e576d8b6480f]
15202
15203	* aclocal.m4, configure.in:
15204	Add info for autoheader.
15205	[0549cd5da27c]
15206
152072002-01-01  Todd C. Miller  <Todd.Miller@courtesan.com>
15208
15209	* Makefile.in:
15210	o Add DESTDIR support o Use -M, -O, and -G instead of -m, -o, and
15211	-g to facilitate non-root installs
15212	[619216038f56]
15213
15214	* install-sh:
15215	Add -M option (like -m but only for root) If we can't find "whoami",
15216	use "id" w/ some sed.
15217	[b39121c8b792]
15218
15219	* configure:
15220	regen
15221	[b39b93ff9804]
15222
15223	* configure.in:
15224	allow user to always override mansectsu and mansectform
15225	[0fca5e63bd90]
15226
152272001-12-31  Todd C. Miller  <Todd.Miller@courtesan.com>
15228
15229	* mkinstalldirs:
15230	update from autoconf 2.52
15231	[07bd75a508c3]
15232
15233	* config.guess, config.sub:
15234	Update from autoconf 2.52
15235	[857b90fe31b7]
15236
15237	* configure:
15238	regen with autoconf 2.52
15239	[08e7d1ea2aeb]
15240
15241	* configure.in:
15242	o Call AC_PROG_CC_STDC to find out how to run the compiler in ANSI
15243	mode o Remove compiler-specific checks for HP-UX now that we use
15244	AC_PROG_CC_STDC
15245	[d433a70b6208]
15246
15247	* RUNSON:
15248	Checkpoint
15249	[babf6d2235d1]
15250
15251	* auth/pam.c:
15252	o Add pam_prep_user function to call pam_setcred() for the target
15253	user; on Linux this often sets resource limits. o When calling
15254	pam_end(), try to convert the auth->result to a PAM_FOO value.
15255	This is a hack--we really need to stash the last PAM_FOO value
15256	received and use that instead.
15257	[6ad6f340dd2a]
15258
15259	* set_perms.c, sudo.h:
15260	o Add pam_prep_user function to call pam_setcred() for the target
15261	user; on Linux this often sets resource limits.
15262	[67795421ac82]
15263
15264	* env.c:
15265	Fix off by one error in number of bytes allocated via malloc (does
15266	not affected any released version of sudo).
15267	[5f5915360111]
15268
152692001-12-30  Todd C. Miller  <Todd.Miller@courtesan.com>
15270
15271	* lex.yy.c:
15272	regen
15273	[8208c0277775]
15274
15275	* parse.lex:
15276	Allow '@', '(', ')', ':' in arguments to a defaults variable w/o
15277	requiring that they be quoted.
15278	[ae59bc8f68dd]
15279
15280	* sudoers.cat, sudoers.man.in, sudoers.pod:
15281	Mention that no double quotes are needed when
15282	adding/deleting/assigning a single value to a list.
15283	[25efc940a1f0]
15284
15285	* Makefile.in:
15286	Don't rely on mkdefaults being executable, call perl explicitly.
15287	[6edc97ba5f1d]
15288
15289	* sudo.tab.c:
15290	regen
15291	[49130b2e7e4d]
15292
15293	* parse.yacc:
15294	Remove some XXX that are no longer relevant.
15295	[d460ac0d3767]
15296
15297	* defaults.c:
15298	o Roll our own loop instead of using strpbrk() for better
15299	grokability o When adding to a list we must malloc() and use
15300	memcpy(), not strdup() since we must only copy len bytes from str.
15301	[649bef08e1f0]
15302
153032001-12-21  Todd C. Miller  <Todd.Miller@courtesan.com>
15304
15305	* sudo.tab.c:
15306	regen
15307	[f0bbf2c38c0e]
15308
15309	* parse.yacc:
15310	typo in comment
15311	[2563711ff593]
15312
153132001-12-19  Todd C. Miller  <Todd.Miller@courtesan.com>
15314
15315	* CHANGES:
15316	checkpoint
15317	[a6d8a29fb30e]
15318
15319	* configure:
15320	regen
15321	[bdfcaaf3bd13]
15322
15323	* configure.in:
15324	avoid the -g flag unless --with-devel was specified
15325	[a976707bef30]
15326
15327	* Makefile.in:
15328	mkdefaults, def_data.in and sigaction.c were missing from the
15329	tarball
15330	[6917ffbaa412]
15331
15332	* Makefile.in:
15333	def_data.c was missing
15334	[87c78b11453d]
15335
153362001-12-18  Todd C. Miller  <Todd.Miller@courtesan.com>
15337
15338	* env.c:
15339	Fix setting of $USER and $LOGNAME in the non-reset_env case. Also
15340	allow HOME, SHELL, LOGNAME, and USER to be specified in keep_env
15341	[fc8698e6a45e]
15342
15343	* TODO:
15344	Another TODO item
15345	[6f251d6cd466]
15346
15347	* sudoers:
15348	Add comment for Default section so folks know where it should go.
15349	[7edba626f392]
15350
153512001-12-17  Todd C. Miller  <Todd.Miller@courtesan.com>
15352
15353	* tgetpass.c:
15354	Use TCSETAF, not TCSETA to set terminal in termio case
15355	[fbd172f6c5d3]
15356
15357	* sudoers.cat, sudoers.man.in:
15358	regen from sudoers.pod
15359	[64edd2de816e]
15360
15361	* sudoers.pod:
15362	o Typo, Runas_User_List should be Runas_List o a User_List can not
15363	contain a uid o mention that the Defaults section should come after
15364	Alias definitions but before the user specifications
15365	[54070ba2092b]
15366
153672001-12-15  Todd C. Miller  <Todd.Miller@courtesan.com>
15368
15369	* sudoers.cat, sudoers.man.in:
15370	regen
15371	[e62d1d97693c]
15372
15373	* sudoers.pod:
15374	Fix listpw and verifypw sections, they were not being formatted
15375	properly.
15376	[123868c2f3e9]
15377
15378	* sudoers.cat, sudoers.man.in:
15379	regen
15380	[f94841f8b374]
15381
15382	* sudoers.pod:
15383	fix typos
15384	[f278f1c1184e]
15385
15386	* configure:
15387	regen
15388	[d2270049ba9f]
15389
15390	* config.h.in, configure.in:
15391	use AC_SYS_POSIX_TERMIOS instead of rolling our own
15392	[c1a13f1354b9]
15393
15394	* README:
15395	Reference sudo.ws not courtesan.com
15396	[ca13be67ebd7]
15397
15398	* PORTING:
15399	Add notes on shadow passwords
15400	[aa13863f2314]
15401
15402	* BUGS:
15403	In list mode (sudo -l), characters escaped with a backslash are
15404	shown verbatim with the backslash.
15405	[1a75a2858be2]
15406
15407	* sudoers:
15408	Add simple examples from OpenBSD (Marc Espie)
15409	[3ae9a9ae4125]
15410
15411	* tgetpass.c:
15412	Catch SIGTTIN and SIGTTOU too and treat them like SIGTSTP.
15413	[f8817699ee10]
15414
15415	* CHANGES:
15416	minor prettyification
15417	[f523587929b9]
15418
15419	* CHANGES:
15420	Updated change log
15421	[39d9010ee7a8]
15422
15423	* testsudoers.c:
15424	Fix CIDR handling here too.
15425	[c91db8344c32]
15426
15427	* auth/pam.c:
15428	Apparently a NULL response is OK
15429	[83bae61078d9]
15430
15431	* TODO:
15432	Checkpoint for upcoming beta release
15433	[efb95c09df2a]
15434
15435	* TROUBLESHOOTING:
15436	Many people believe that adding a runas spec should obviate the need
15437	for the -u flag. It does not.
15438	[c698bad85b0e]
15439
15440	* RUNSON:
15441	checkpoint update for upcoming 1.6.4 beta
15442	[009e465a0a45]
15443
15444	* config.h.in:
15445	o Add HAVE_STDLIB_H and HAVE_MEMORY_H o Define HAVE_STRINGS_H even
15446	if HAVE_STRING_H is defined -- this is safe now
15447	[d27c035f4e14]
15448
15449	* PORTING:
15450	Add signals section
15451	[2d24c13cb3c8]
15452
15453	* configure:
15454	regen
15455	[2b80a939e2ed]
15456
15457	* configure.in:
15458	Fix check for sigaction_t
15459	[6fa41c89ab20]
15460
15461	* sudo.c:
15462	XXX - should call find_path() as runas user, not root. Can't do
15463	that until the parser changes though.
15464	[f0b4f85651bd]
15465
15466	* sudo.c:
15467	If find_path() fails as root, try again as the invoking user (useful
15468	for NFS). Idea from Chip Capelik.
15469	[e03fa7872692]
15470
15471	* sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in:
15472	Regenerate after pod file changes
15473	[48e4bd75ec21]
15474
15475	* def_data.c, def_data.h, def_data.in, set_perms.c, sudo.c, sudo.h,
15476	sudo.pod, sudoers.pod:
15477	Add new sudoers option "preserve_groups". Previously sudo would not
15478	call initgroups() if the target user was root. Now it always calls
15479	initgroups() unless the -P command line option or the
15480	"preserve_groups" sudoers option is set. Idea from TJ Saunders.
15481	[4f730359f101]
15482
154832001-12-14  Todd C. Miller  <Todd.Miller@courtesan.com>
15484
15485	* compat.h, config.h.in:
15486	Use new HAVE_SIGACTION_T define
15487	[dfb25f3cae5b]
15488
15489	* logging.c:
15490	Fix compilation on K&C
15491	[7355e3275e34]
15492
15493	* configure:
15494	regen
15495	[a710584f92f0]
15496
15497	* configure.in:
15498	Add check for sigaction_t -- IRIX already defines this so don't
15499	redefine it.
15500	[df9c5737f6da]
15501
15502	* snprintf.c:
15503	fix typo
15504	[3d782b8134c8]
15505
15506	* interfaces.c:
15507	need stdlib.h here too
15508	[c789d8973ab2]
15509
15510	* configure:
15511	regen
15512	[44822856bf46]
15513
15514	* configure.in:
15515	Remove redundant checks for string.h, strings.h and unistd.h
15516	[933c94f8bbf4]
15517
15518	* sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in, visudo.cat,
15519	visudo.man.in:
15520	Regen from pod files
15521	[ad18c590f638]
15522
15523	* BUGS:
15524	Update for 1.6.4
15525	[26bc88b69d22]
15526
15527	* configure, lex.yy.c, sudo.tab.c:
15528	regen
15529	[bef89fd6fa2d]
15530
15531	* strerror.c:
15532	Return EINVAL if errnum > sys_nerr
15533	[0512374e6661]
15534
15535	* auth/sudo_auth.h:
15536	o Update copyright year
15537	[a877016db6e2]
15538
15539	* LICENSE, Makefile.binary, Makefile.in, aclocal.m4, compat.h,
15540	config.h.in, defaults.h, interfaces.h, pathnames.h.in, sudo.h,
15541	sudo.pod:
15542	o Update copyright year
15543	[e15a1b39039f]
15544
15545	* configure.in:
15546	o Don't define STDC_HEADERS unconditionally for IRIX o Update
15547	copyright year
15548	[82a8cb819e07]
15549
15550	* README:
15551	update version
15552	[d82e523a16b4]
15553
15554	* auth/afs.c, auth/aix_auth.c, auth/bsdauth.c, auth/dce.c,
15555	auth/fwtk.c, auth/kerb4.c, auth/kerb5.c, auth/pam.c, auth/passwd.c,
15556	auth/rfc1938.c, auth/secureware.c, auth/securid.c, auth/sia.c,
15557	auth/sudo_auth.c, logging.c, parse.c, parse.lex, parse.yacc,
15558	set_perms.c, snprintf.c, sudo.c, testsudoers.c, tgetpass.c, utime.c,
15559	visudo.c:
15560	o Reorder some headers and use STDC_HEADERS define properly o Update
15561	copyright year
15562	[fe39f76b3795]
15563
15564	* lsearch.c:
15565	o Reorder some headers and use STDC_HEADERS define properly o Update
15566	copyright year
15567	[764ba3d4fa13]
15568
15569	* getspwuid.c, goodpath.c, interfaces.c:
15570	o Reorder some headers and use STDC_HEADERS define properly o Update
15571	copyright year
15572	[fb46d46140d4]
15573
15574	* getcwd.c:
15575	o Reorder some headers and use STDC_HEADERS define properly o Update
15576	copyright year
15577	[b199d70ac7ab]
15578
15579	* alloc.c, check.c, defaults.c, env.c, fileops.c, find_path.c,
15580	fnmatch.c:
15581	o Reorder some headers and use STDC_HEADERS define properly o Update
15582	copyright year
15583	[dab8f192a3ed]
15584
15585	* configure:
15586	regen
15587	[156658f25cea]
15588
15589	* tgetpass.c:
15590	flags set in signal handlers should be volatile sig_atomic_t
15591	[c22931a5535e]
15592
15593	* config.h.in, configure.in:
15594	Add checks for volatile and sig_atomic_t
15595	[b03b3341381d]
15596
15597	* configure, lex.yy.c:
15598	regen
15599	[ed9daba88217]
15600
15601	* def_data.c, def_data.h, def_data.in, defaults.c, env.c, find_path.c,
15602	sudo.c, sudoers.pod:
15603	Remove "secure_path" Defaults option since it cannot work with the
15604	existing parser.
15605	[c9e54a0f5971]
15606
15607	* find_path.c, sudo.c:
15608	Unset "secure_path" if user_is_exempt()
15609	[fb7544565ae8]
15610
15611	* env.c, pathnames.h.in:
15612	o Remove assumption that PATH and TERM are not listed in env_keep o
15613	If no PATH is in the environment use a default value o If TERM is
15614	not set in the non-reset case also give it a default value.
15615	[c987eb7df268]
15616
15617	* aclocal.m4, configure.in, defaults.c, pathnames.h.in:
15618	_PATH_SENDMAIL -> _PATH_SUDO_SENDMAIL so --without-sendmail works on
15619	systems that define in paths.h
15620	[51865b0cdebf]
15621
15622	* auth/passwd.c, auth/sudo_auth.c, auth/sudo_auth.h:
15623	Add support for skeyaccess(3) if it is present in libskey.
15624	[8add77c7d3e7]
15625
156262001-12-13  Todd C. Miller  <Todd.Miller@courtesan.com>
15627
15628	* sudo.c:
15629	Only need to do 'lc = login_getclass(NULL)' if lc == NULL
15630	[5a3d3cbf2c6d]
15631
15632	* parse.lex:
15633	'\\' is a perfectly legal character to have in a command line
15634	argument.
15635	[c15a466ef00e]
15636
15637	* sudo.c:
15638	o Defer call to set_fqdn() until it is safe to use log_error() o
15639	Don't print errno string value if gethostbyname fails, it is not
15640	relevant
15641	[c0c6bcf08bcb]
15642
15643	* parse.c:
15644	Fix CIDR -> in_addr_t conversion.
15645	[2f307ebeb63f]
15646
156472001-12-12  Todd C. Miller  <Todd.Miller@courtesan.com>
15648
15649	* sudoers.pod:
15650	Remove an extra "User_List" in the User_Spec definition From
15651	ybertrand AT snoopymail.com
15652	[97bde59ea280]
15653
15654	* parse.c:
15655	Make 'listpw=never' work for users who are not explicitly mentioned
15656	in sudoers.
15657	[258f0f30a428]
15658
15659	* sudoers.pod:
15660	Remove gratuitous '=' in EBNF grammar; era AT iki.fi
15661	[4b0f03872ee1]
15662
15663	* sudoers.pod:
15664	Document new list Defaults type and convert env_keep and env_delete
15665	to lists. Document new env_check option.
15666	[a07f1f079fe3]
15667
15668	* lex.yy.c, sudo.tab.c, sudo.tab.h:
15669	regen parser
15670	[e39ac6c6581b]
15671
15672	* parse.lex:
15673	Don't let '#' appear in a {WORD} and restrict #foo in a Runas spec
15674	to #[0-9-]+.
15675	[69c5388908f3]
15676
15677	* configure:
15678	regen
15679	[0f1877b88cb3]
15680
15681	* aclocal.m4:
15682	Simpler SUDO_FUNC_ISBLANK that uses AC_TRY_LINK
15683	[6545503ae361]
15684
15685	* config.h.in, configure.in:
15686	Add check for skeyaccess(3)
15687	[6caf69fe6359]
15688
15689	* visudo.pod:
15690	Document new -c, -f, and -q options
15691	[13d0203c21d3]
15692
15693	* visudo.c:
15694	o Add -f option (alternate sudoers file) o Convert to use getopt(3)
15695	[4c2b664d617d]
15696
15697	* configure:
15698	regen
15699	[6d5bd932e7b5]
15700
15701	* aclocal.m4, config.h.in, configure.in:
15702	Add check for isblank and a replacement macro if it doesn't exist.
15703	[b524f5e4f953]
15704
157052001-12-11  Todd C. Miller  <Todd.Miller@courtesan.com>
15706
15707	* visudo.c:
15708	In check-only mode, don't create sudoers if it does not already
15709	exist.
15710	[c748a2d5acad]
15711
15712	* parse.yacc:
15713	o Add a new token, DEFVAR, to indicate a Defaults variable name o
15714	Add support for "+=" and "-=" list operators o replace some 1 and 0
15715	with TRUE and FALSE for greater legibility.
15716	[554cb174b37e]
15717
15718	* parse.lex:
15719	o Use exclusive start conditions to remove some ambiguity in the
15720	lexer. Also reorder some things for clarity. o Add support for
15721	"+=" and "-=" list operators. o Use the new DEFVAR token to denote
15722	a Defaults variable name.
15723	[3a2cf8323e26]
15724
15725	* sudo.h:
15726	Prototype init_envtables()
15727	[b74916469dab]
15728
15729	* env.c:
15730	o Convert environment handling to use lists instead of strings.
15731	This greatly simplifies routines that need to do "foreach" type
15732	operations. o Add new init_envtables() function to set env_check
15733	and env_delete defaults based on initial_badenv_table and
15734	initial_checkenv_table (formerly sudo_badenv_table).
15735	[0a8b404658b6]
15736
15737	* defaults.c, defaults.h:
15738	o Add a new LIST type and functions to manipulate it. o This is for
15739	use with environment handling variables. o Call new
15740	init_envtables() routine inside init_defaults() to initialize the
15741	environment lists.
15742	[ae73e64f0902]
15743
15744	* def_data.c, def_data.h, def_data.in:
15745	Convert environment options to use the new LIST type and add a new
15746	one, env_check that only deletes if the sanity check fails.
15747	[3019503936de]
15748
15749	* testsudoers.c:
15750	Add dummy version of init_envtables()
15751	[9d9e3ee609d9]
15752
15753	* parse.yacc:
15754	honor quiet mode
15755	[8330fba6167c]
15756
15757	* visudo.c:
15758	Add check-only mode
15759	[dab411bc8c35]
15760
15761	* mkdefaults:
15762	Fix generation of entries with NULL descriptions.
15763	[ea75b9fed02e]
15764
157652001-12-09  Todd C. Miller  <Todd.Miller@courtesan.com>
15766
15767	* tgetpass.c:
15768	Use sigaction_t and quiet a gcc warning.
15769	[6f67d719c452]
15770
15771	* sudo.c:
15772	Must reset signal handlers before we exec
15773	[300418120e1a]
15774
15775	* auth/aix_auth.c, auth/bsdauth.c, auth/fwtk.c, auth/pam.c,
15776	auth/sudo_auth.c:
15777	Be carefule now that tgetpass() can return NULL (user hit ^C). PAM
15778	version needs testing. Set SIGTSTP to SIG_DFL during password entry
15779	so user can suspend us.
15780	[00304aa58747]
15781
15782	* tgetpass.c:
15783	Add support for interrupting/suspending tgetpass via keyboard input.
15784	If you suspend sudo from the password prompt and resume it will re-
15785	prompt you.
15786	[4af2b5101d32]
15787
15788	* sudo.c:
15789	Don't block keyboard interrupt signals, just set them to SIG_IGN.
15790	[d46d7f67ef6b]
15791
157922001-12-08  Todd C. Miller  <Todd.Miller@courtesan.com>
15793
15794	* config.h.in:
15795	add back HAVE_SIGACTION
15796	[c9c7702c603e]
15797
15798	* configure:
15799	regen
15800	[09fe669d337f]
15801
15802	* config.h.in, configure.in, logging.c, sudo.c, visudo.c:
15803	Kill POSIX_SIGNALS define and old signal support now that we emulate
15804	POSIX ones Also be sure to correctly initialize struct sigaction.
15805	[4bc2a6dbb2be]
15806
15807	* strerror.c:
15808	Don't need config.h or "#ifndef HAVE_STRERROR" wrapper.
15809	[1ad64a19f328]
15810
15811	* compat.h:
15812	Add scaffolding for POSIX signal emulation
15813	[945861d4c93b]
15814
15815	* sigaction.c:
15816	o Add missing ';' so this compiles o Can't use NULL since we don't
15817	include stdio.h
15818	[04d0cac7438f]
15819
15820	* sigaction.c:
15821	Emulate sigaction() using sigvec()
15822	[d0b54a989875]
15823
158242001-11-13  Todd C. Miller  <Todd.Miller@courtesan.com>
15825
15826	* sudoers.pod:
15827	Document new behavior of negative values of timestamp_timeout Fix a
15828	typo
15829	[4c0716570d01]
15830
15831	* sudo.pod:
15832	Add security note about command not being logged after 'sudo su' and
15833	friends.
15834	[43294851a33c]
15835
15836	* sudo.pod:
15837	Mention that -V prints default values when run as root, including
15838	the list of environment variables to clear.
15839	[d9e5e550a8c3]
15840
15841	* Makefile.in:
15842	Run pod2man with --quotes=none to avoid stupid quoting of C<>
15843	entries.
15844	[997b23c35dbe]
15845
158462001-11-12  Todd C. Miller  <Todd.Miller@courtesan.com>
15847
15848	* auth/sudo_auth.c, def_data.c, def_data.h, def_data.in, sudoers.pod:
15849	Add mail_badpass option Also modify mail_always behavior to also
15850	send mail when the password is wrong
15851	[838d40ccafce]
15852
15853	* env.c, sudo.c, sudo.h:
15854	Dump default bad env table when 'sudo -V' is run by root.
15855	[f67f1b8048b0]
15856
15857	* sudoers.pod:
15858	document env_delete
15859	[d74f893663a2]
15860
15861	* env.c:
15862	Add support for '*' in env_keep when not resetting the environment
15863	(ie: the normal case).
15864	[fd4fb62ea8fd]
15865
15866	* env.c:
15867	Add env_delete variable that lets the user replace/add to the
15868	bad_env_table. Allow '*' wildcard in env_keep entries.
15869	[aa728bc35e29]
15870
158712001-11-06  Todd C. Miller  <Todd.Miller@courtesan.com>
15872
15873	* mkinstalldirs:
15874	Force umask to 022 to guarantee sane directory permissions.
15875	[9ab3cfe70569]
15876
158772001-11-02  Todd C. Miller  <Todd.Miller@courtesan.com>
15878
15879	* Makefile.in:
15880	add sudo.tab.h and sudo.tab.c to sudo.tab.o dependency
15881	[671010465e6f]
15882
15883	* mkdefaults:
15884	fix breakage in last commit
15885	[8318f8851e56]
15886
15887	* Makefile.in:
15888	acsite.m4 -> aclocal.m4
15889	[30c146873a01]
15890
15891	* check.c:
15892	fix I_TS_TIMEOUT vs. I_TIMESTAMP_TIMEOUT pasto in previous commit
15893	[4dc8b39954da]
15894
15895	* def_data.c:
15896	regenerated from def_data.in
15897	[915ea16ce1eb]
15898
15899	* check.c, defaults.c, defaults.h:
15900	Add new T_UINT type that most things use instead of T_INT If
15901	timestamp_timeout is < 0 then treat the ticket as never expiring (to
15902	be expired manually by the user).
15903	[3a3a636a2a5d]
15904
15905	* def_data.in:
15906	change most T_INT -> T_UINT
15907	[a2228d2457af]
15908
15909	* mkdefaults:
15910	fix warning when no args
15911	[ca70a5394af5]
15912
15913	* visudo.c:
15914	Change 2 Exit() -> exit() Avoid stdio in Exit() and call _exit() if
15915	we are a signal handler. We no longer print the signal number but
15916	the user can just check the exit value for that.
15917	[dc424f631fef]
15918
159192001-10-16  Todd C. Miller  <Todd.Miller@courtesan.com>
15920
15921	* logging.c:
15922	when setting up pipes in child process check for case where stdin ==
15923	pipe fd 0
15924	[518112d76184]
15925
159262001-10-11  Todd C. Miller  <Todd.Miller@courtesan.com>
15927
15928	* visudo.c:
15929	Ignore editor exit value since XPG4 says vi's exit value is the
15930	count of editing errors made (failed searches, etc).
15931	[b9d952284865]
15932
159332001-10-05  Todd C. Miller  <Todd.Miller@courtesan.com>
15934
15935	* configure:
15936	regen
15937	[cb3aa586f03b]
15938
15939	* configure.in:
15940	sco now is identified by config.guess as *-sco-*
15941	[46664bbdea61]
15942
15943	* configure.in:
15944	Check for getspnam() in -lgen if not in -lc for UnixWare.
15945	[0f152ad1ba93]
15946
159472001-09-18  Todd C. Miller  <Todd.Miller@courtesan.com>
15948
15949	* sudoers.pod, visudo.pod:
15950	"upper case" -> "uppercase"
15951	[f9151f232326]
15952
15953	* sudoers.pod:
15954	fix typos and grammar; pjanzen@foatdi.harvard.edu
15955	[2855d73d0237]
15956
159572001-08-28  Todd C. Miller  <Todd.Miller@courtesan.com>
15958
15959	* sudoers.pod:
15960	Missing word (specify); krapht@secureops.com
15961	[65523eb37a2c]
15962
159632001-08-23  Todd C. Miller  <Todd.Miller@courtesan.com>
15964
15965	* sudo.c:
15966	If we fail to lookup a login class, apply the default one.
15967	[d4869faa6816]
15968
15969	* logging.c:
15970	In log_error() free message, not logline unconditionally, then free
15971	logline if it is not the same as message. No function change but
15972	this mirrors how they are allocated.
15973	[565e5f6cc643]
15974
159752001-07-17  Todd C. Miller  <Todd.Miller@courtesan.com>
15976
15977	* configure:
15978	regenerate
15979	[834a48f548a2]
15980
15981	* configure.in:
15982	remove some backslash quotes that are unneeded
15983	[50d401d6e2ca]
15984
15985	* configure.in:
15986	o Tweaks to make this work with autoconf-2.50 o Use AC_LIBOBJ
15987	instead of changing LIBOBJS directly o Use AC_REPLACE_FUNCS where we
15988	can o Use AC_CHECK_FUNCS instead of AC_CHECK_FUNC so we don't have
15989	to AC_DEFINE things manually.
15990	[f502c5f15f92]
15991
15992	* config.guess, config.sub:
15993	Updated from autoconf-2.50
15994	[6140205915ef]
15995
159962001-05-22  Todd C. Miller  <Todd.Miller@courtesan.com>
15997
15998	* README:
15999	Update mailing list section. We use mailman now, not majordomo.
16000	[b9a8ca45e6dc]
16001
160022001-05-10  Todd C. Miller  <Todd.Miller@courtesan.com>
16003
16004	* getspwuid.c, logging.c, sudo.c:
16005	Use setpwent()/endpwent() + all the shadow variants to make sure we
16006	don't inadvertantly leak an fd to the child. Apparently Linux's
16007	shadow routines leave the fd open even if you don't call setspent().
16008	Reported by mike@gistnet.com; different patch used.
16009	[d33792ef6c01]
16010
160112001-04-13  Todd C. Miller  <Todd.Miller@courtesan.com>
16012
16013	* sudoers.pod:
16014	s/eg./e.g./
16015	[bd32a0acaf93]
16016
16017	* tgetpass.c:
16018	select() may return EAGAIN. If so, continue like we do for EINTR.
16019	[5f202c943818]
16020
16021	* logging.c:
16022	Fix a non-exploitable buffer overflow in the word splitting code.
16023	This should really be rewritten.
16024	[4c724363863a]
16025
16026	* Makefile.in:
16027	FAQ link goes away
16028	[1d26dd6c8972]
16029
16030	* INSTALL:
16031	Tell people to look in sample.syslog.conf for examples, not FAQ
16032	[affcae3f43ca]
16033
16034	* TROUBLESHOOTING:
16035	Update list of env vars that are cleared
16036	[234e56f1435a]
16037
16038	* sudo.c:
16039	remove struct env_table decl since that stuff has all moved to env.c
16040	[5dd923148777]
16041
160422001-04-04  Todd C. Miller  <Todd.Miller@courtesan.com>
16043
16044	* fileops.c:
16045	Fix a pasto in flock-style unlocking and include <sys/file.h> for
16046	flock on older systems; twetzel@gwdg.de
16047	[d5420d9d2861]
16048
16049	* configure:
16050	regen to get NeXT lockf/flock fix
16051	[d3ba6ed70e15]
16052
16053	* configure.in:
16054	force NeXT to use flock since lockf is broken
16055	[bd5391dca1bb]
16056
160572001-03-30  Todd C. Miller  <Todd.Miller@courtesan.com>
16058
16059	* check.c:
16060	Use stashed user_gid when checking against exempt gid since sudo
16061	sets its gid to a a value that makes sudoers readable. Previously
16062	if you used gid 0 as the exempt group everyone would be exempt. From
16063	Paul Kranenburg <pk@cs.few.eur.nl>
16064	[0b140cc3a817]
16065
160662001-03-29  Todd C. Miller  <Todd.Miller@courtesan.com>
16067
16068	* configure:
16069	regen
16070	[cc455408f32b]
16071
16072	* aclocal.m4:
16073	#include stdio.h in SUDO_CHECK_TYPE since IRIX 6 aparently defines
16074	some types (such as ssize_t) therein.
16075	[b6aee85ca331]
16076
160772001-03-02  Todd C. Miller  <Todd.Miller@courtesan.com>
16078
16079	* defaults.c:
16080	Fix negation of paths in a boolean context. Problem found by
16081	apt@UH.EDU
16082	[8aee217a7cdf]
16083
160842001-02-23  Todd C. Miller  <Todd.Miller@courtesan.com>
16085
16086	* visudo.c:
16087	pasto
16088	[ad32b277bf68]
16089
160902001-02-17  Todd C. Miller  <Todd.Miller@courtesan.com>
16091
16092	* visudo.c:
16093	SA_RESETHAND means the opposite of what I was thinking--oops To
16094	block all signals in old-style signals use ~0, not 0xffffffff
16095	[6ecdd793590a]
16096
160972001-02-04  Todd C. Miller  <Todd.Miller@courtesan.com>
16098
16099	* defaults.c:
16100	coerce difference of pointers to int when used in a string length
16101	printf format; deraadt@openbsd.org
16102	[a9d10f07180d]
16103
161042001-01-17  Todd C. Miller  <Todd.Miller@courtesan.com>
16105
16106	* visudo.c:
16107	Block all signals in Exit() to avoid a signal race. There is still
16108	a tiny window but I'm not going to worry about it.
16109	[6661805c0458]
16110
161112001-01-07  Todd C. Miller  <Todd.Miller@courtesan.com>
16112
16113	* env.c:
16114	glibc uses the LANGUAGE env var so clear that too; Solar Designer
16115	[d4ba95628afb]
16116
16117	* lex.yy.c:
16118	Regenerate with a fix to flex.skl that preserves errno from
16119	clobbering by isatty().
16120	[607eec736e19]
16121
161222000-12-31  Todd C. Miller  <Todd.Miller@courtesan.com>
16123
16124	* auth/aix_auth.c, auth/bsdauth.c, auth/fwtk.c, auth/pam.c,
16125	auth/sia.c, auth/sudo_auth.c:
16126	Some defaults I_ defines got renamed.
16127	[ec19b23caaf3]
16128
16129	* Makefile.in, check.c, def_data.c, def_data.h, def_data.in,
16130	defaults.c, defaults.h, env.c, logging.c, mkdefaults, parse.yacc,
16131	set_perms.c, sudo.c, sudo.tab.c:
16132	Move defaults info into its own files from which we generate .h and
16133	.c files. This makes adding or rearranging variables much simpler.
16134	[e91b880b5043]
16135
161362000-12-30  Todd C. Miller  <Todd.Miller@courtesan.com>
16137
16138	* configure, configure.in:
16139	fix typo in last commit
16140	[10a6ee2bae71]
16141
16142	* compat.h, config.h.in, configure, configure.in:
16143	Add check + emulation for setegid (like seteuid).
16144	[29492092bd2f]
16145
16146	* env.c:
16147	Make env_keep override badenv_table as documented Fix traversal of
16148	badenv_table (broken in last commit)
16149	[37c9f0d22673]
16150
16151	* set_perms.c, sudo.c, sudo.h:
16152	Don't try and build saved uid version of set_perms on systems w/o
16153	them. Rename set_perms_saved_uid() -> set_perms_posix() Make
16154	set_perms_setreuid simply be set_perms_fallback() and simply include
16155	the appropriate function at compile time (setreuid() vs. setuid()).
16156	[3107333c062c]
16157
16158	* sudoers.cat, sudoers.man.in, sudoers.pod:
16159	PATH is also preserved when env_reset is in effect
16160	[90e45c5711ff]
16161
16162	* CHANGES, Makefile.in, check.c, compat.h, config.h.in, configure,
16163	configure.in, defaults.c, defaults.h, env.c, find_path.c,
16164	getspwuid.c, set_perms.c, sudo.c, sudo.cat, sudo.h, sudo.man.in,
16165	sudo.pod, sudoers.cat, sudoers.man.in, sudoers.pod, testsudoers.c,
16166	visudo.c, visudo.cat, visudo.man.in:
16167	New Defaults options: o stay_setuid - sudo will remain setuid if
16168	system has saved uids or setreuid(2) o env_reset - reset the
16169	environment to a sane default o env_keep - preserve environment
16170	variables that would otherwise be cleared
16171
16172	No longer use getenv/putenv/setenv functions--do environment munging
16173	by hand. Potentially dangerous environment variables can be cleared
16174	only if they contain '/' pr '%' characters to protect buggy
16175	programs. Moved environment routines into env.c (new file)
16176	[c2f97651db4c]
16177
16178	* INSTALL:
16179	Clear up --without-passwd description
16180	[2f336dab6733]
16181
16182	* putenv.c, sudo_setenv.c:
16183	We now build up a new environment from scratch and assign it to
16184	"environ".
16185	[6ae6152f2238]
16186
161872000-12-19  Todd C. Miller  <Todd.Miller@courtesan.com>
16188
16189	* sudo.pod, visudo.pod:
16190	Grammatical fixes from Paul Janzen
16191	[e03ead2e56f8]
16192
161932000-12-15  Todd C. Miller  <Todd.Miller@courtesan.com>
16194
16195	* visudo.c:
16196	If there was a syntax error and the user just wants to quit, unlink
16197	sudoers if it is zero length.
16198	[74ba7921f520]
16199
16200	* visudo.c:
16201	'Q' means ignore parse error, not 'q'
16202	[e8d0e4491fe6]
16203
16204	* visudo.c:
16205	Open sudoers for writing with mode SUDOERS_MODE From Dimitry Andric
16206	<dim@xs4all.nl>
16207	[b24990a72491]
16208
162092000-12-13  Todd C. Miller  <Todd.Miller@courtesan.com>
16210
16211	* set_perms.c:
16212	Add missing #ifdef HAVE_LOGIN_CAP_H; ayamura@ayamura.org
16213	[41a8db10e076]
16214
162152000-12-09  Todd C. Miller  <Todd.Miller@courtesan.com>
16216
16217	* config.guess, config.sub:
16218	Darwin / Mac OS X support from Wilfredo Sanchez <wsanchez@apple.com>
16219	[6052da895d2e]
16220
162212000-11-03  Todd C. Miller  <Todd.Miller@courtesan.com>
16222
16223	* sudo.c, visudo.c:
16224	Use exit(127), not exit(-1)
16225	[9ff0c3eada34]
16226
16227	* Makefile.in, defaults.c, defaults.h, set_perms.c, sudo.c:
16228	Move set_perms() to its own file and use POSIX saved uid or
16229	setreuid() if available.
16230
16231	Added stay_setuid option for systems that have libraries that
16232	perform extra paranoia checks in system libraries for setuid
16233	programs (ie: anything with issetugid(2)).
16234	[28960f842698]
16235
16236	* sudo.c:
16237	strip more bits from the environment and add a facility for
16238	stripping things only if they contain '/' or '%' to address printf
16239	format string vulnerabilities in other programs.
16240	[b98d6375f299]
16241
162422000-11-02  Todd C. Miller  <Todd.Miller@courtesan.com>
16243
16244	* configure:
16245	regen
16246	[7e74e5c91049]
16247
16248	* configure.in:
16249	For NCR, add -lc89 to LIBS, not SUDO_LIBS and cache the existence of
16250	strcasecmp().
16251	[a418e9e70442]
16252
16253	* configure:
16254	regen
16255	[bbff244a52bc]
16256
16257	* configure.in:
16258	Check for strcasecmp(3) in -lc89 for NCR Unix
16259	[361c99576681]
16260
162612000-11-01  Todd C. Miller  <Todd.Miller@courtesan.com>
16262
16263	* config.h.in:
16264	Define HAVE_INNETGR #ifdef HAVE__INNETGR
16265	[473cdb92b6db]
16266
16267	* configure:
16268	regen
16269	[4e6364a195e0]
16270
16271	* compat.h, config.h.in, configure.in:
16272	Add check for _innetgr(3) since NCR systems have that instead of
16273	innetgr(3).
16274	[25e6852e7494]
16275
162762000-10-31  Todd C. Miller  <Todd.Miller@courtesan.com>
16277
16278	* auth/securid.c:
16279	check return value of creadcfg() call sd_close() after sd_auth()
16280	store username in sd->username so we don't rely on the USER env
16281	variable
16282	[d106b4f42722]
16283
162842000-10-30  Todd C. Miller  <Todd.Miller@courtesan.com>
16285
16286	* INSTALL:
16287	document --with-bsdauth
16288	[f1518ecc2ee9]
16289
16290	* configure:
16291	regen
16292	[dceb35071ea8]
16293
16294	* configure.in:
16295	--with-bsdauth assumes --with-logincap
16296	[4200778083fd]
16297
16298	* auth/bsdauth.c, auth/fwtk.c:
16299	When prompting for a response to a challenge, if the user just hits
16300	return then reprompt with echo turned on.
16301	[a539b6474a97]
16302
163032000-10-29  Todd C. Miller  <Todd.Miller@courtesan.com>
16304
16305	* sudo.c:
16306	Remove debugging code that should not have been committed, oops.
16307	[9862607b77a7]
16308
16309	* auth/bsdauth.c:
16310	Use lower-level routines and get the password ourselves. Checks for
16311	a challenge and if there is one echo is not turned off.
16312	[2d8fcd166baa]
16313
16314	* auth/pam.c, auth/sudo_auth.h:
16315	minor housekeeping, no real code changes
16316	[d0074a277fb4]
16317
163182000-10-27  Todd C. Miller  <Todd.Miller@courtesan.com>
16319
16320	* sudo.c:
16321	Fix a coredump in the logging functions if gethostname(2) fails by
16322	deferring the call to log_error() until things are better setup.
16323
16324	Fix return value of set_loginclass() in non-BSD-auth case.
16325
16326	Hard-code 'sudo' in the usage message so we can fit more options on
16327	a line
16328	[d9d1b7579818]
16329
16330	* logging.c:
16331	Fix errant ';' (typo) that broken MSG_ONLY
16332	[849b2276a470]
16333
163342000-10-26  Todd C. Miller  <Todd.Miller@courtesan.com>
16335
16336	* sudo.cat, sudo.man.in:
16337	regen
16338	[bb3c8c6704d1]
16339
16340	* sudo.pod:
16341	Document -a flag
16342	[e18316cebaac]
16343
16344	* Makefile.in, auth/bsdauth.c, auth/sudo_auth.h, config.h.in,
16345	configure, configure.in, getspwuid.c, sudo.c:
16346	Add support for BSD authentication.
16347	[f374cfd9ca0d]
16348
163492000-10-19  Todd C. Miller  <Todd.Miller@courtesan.com>
16350
16351	* sudoers.pod:
16352	Fix typo; from sato@complex.eng.hokudai.ac.jp
16353	[3085fee9766e]
16354
163552000-10-12  Todd C. Miller  <Todd.Miller@courtesan.com>
16356
16357	* sudoers.pod:
16358	Mention negating umask
16359	[c9e410294dae]
16360
16361	* defaults.c:
16362	Allow user to specify umask of 0777 (same as !umask)
16363	[bb771daa96fe]
16364
163652000-10-09  Todd C. Miller  <Todd.Miller@courtesan.com>
16366
16367	* sudo.pod, visudo.pod:
16368	Fix a typo and give a URL for the sudo history.
16369	[77f73199aedb]
16370
163712000-10-08  Todd C. Miller  <Todd.Miller@courtesan.com>
16372
16373	* defaults.c, sudo.pod:
16374	fix typos; pepper@reppep.com
16375	[5532c7421340]
16376
163772000-09-14  Todd C. Miller  <Todd.Miller@courtesan.com>
16378
16379	* sudo.c, sudo.h, sudo_setenv.c:
16380	sudo_setenv() now exits on memory alloc failure instead of returning
16381	-1.
16382	[71f1cf18f47b]
16383
163842000-09-07  Todd C. Miller  <Todd.Miller@courtesan.com>
16385
16386	* sudo.c:
16387	Strip out NLSPATH and PATH_LOCALE from the environment for FreeBSD
16388	and possibly others.
16389	[b69d985b0d22]
16390
16391	* logging.c:
16392	Don't use vsyslog(3) since HP-UX (and others?) lack it. This means
16393	that "%m" won't be expanded but we don't use that anyway since the
16394	logging routines may splat to stderr as well.
16395	[8d37a544d0c0]
16396
16397	* defaults.c, defaults.h, sudo.c, sudoers.cat, sudoers.man.in,
16398	sudoers.pod:
16399	Add always_set_home variable
16400	[dbcaff646e07]
16401
16402	* configure, configure.in:
16403	Have to hard code default values in help since the defaults are set
16404	_after_ the help stuff.
16405	[7b5d6d72f55c]
16406
164072000-08-31  Todd C. Miller  <Todd.Miller@courtesan.com>
16408
16409	* lex.yy.c, parse.lex:
16410	Allow special characters (including '#') to be embedded in pathnames
16411	if quoted by a '\\'. The quoted chars will be dealt with by
16412	fnmatch(). Unfortunately, 'sudo -l' still prints the '\\'.
16413	[3ed33cf09977]
16414
164152000-08-13  Todd C. Miller  <Todd.Miller@courtesan.com>
16416
16417	* install-sh:
16418	Better path searching for programs we need.
16419	[60517cb1f0d6]
16420
16421	* TROUBLESHOOTING:
16422	Add section on "C compiler cannot create executables" errors.
16423	[e4ada6eaee59]
16424
16425	* Makefile.binary, Makefile.in, version.h:
16426	Crank version
16427	[93d1bd5b7f5e]
16428
16429	* aclocal.m4, configure, configure.in, sudo.cat, sudo.man.in,
16430	sudo.pod, sudoers.cat, sudoers.man.in, sudoers.pod, visudo.cat,
16431	visudo.man.in, visudo.pod:
16432	Substitute values from configure into man pages.
16433	[619854c356c1]
16434
164352000-08-12  Todd C. Miller  <Todd.Miller@courtesan.com>
16436
16437	* parse.c, sudo.c:
16438	The listpw and verifypw sudoers options would not take effect
16439	because the value of the default was checked *before* sudoers was
16440	parsed. Instead of passing in the value of PWCHECK_* to
16441	sudoers_lookup(), pass in the arg for def_ival() so the check can be
16442	deferred until after sudoers is parsed.
16443	[4f596e358f72]
16444
164452000-08-11  Todd C. Miller  <Todd.Miller@courtesan.com>
16446
16447	* tgetpass.c:
16448	When writing prompt, no need to write the NUL as well;
16449	hag@linnaean.org
16450	[fbcdd7b431ee]
16451
164522000-06-09  Todd C. Miller  <Todd.Miller@courtesan.com>
16453
16454	* install-sh:
16455	When looking for chown, check in /sbin too
16456	[657ba6653f8c]
16457
164582000-06-05  Todd C. Miller  <Todd.Miller@courtesan.com>
16459
16460	* visudo.c:
16461	Remove extraneous call to init_defaults() and set runas_user to NULL
16462	betweem parses so init_defaults will reset it each time, thus
16463	avoiding a reference to free()d data.
16464	[7421fcd692af]
16465
164662000-06-04  Todd C. Miller  <Todd.Miller@courtesan.com>
16467
16468	* config.h.in, interfaces.c, interfaces.h, sudo.c:
16469	Add support for using getifaddrs() to get the list of ip addr /
16470	netmask pairs. Currently IPv4-only.
16471	[a35bc4f7306d]
16472
16473	* visudo.c:
16474	Add a missing check for UserEditor == NULL Add missing '+' before
16475	line number when invoking editor to fix a syntax error
16476	[f0d4635f6082]
16477
164782000-05-12  Todd C. Miller  <Todd.Miller@courtesan.com>
16479
16480	* sudo.c:
16481	Call clean_env very early in main() for paranoia's sake. Idea from
16482	Marc Esipovich.
16483	[f8d72ebd0115]
16484
164852000-05-10  Todd C. Miller  <Todd.Miller@courtesan.com>
16486
16487	* sudo.h:
16488	Update proto for evasprintf and easprintf
16489	[d147d6e58419]
16490
16491	* alloc.c:
16492	Make easprintf() and evasprintf() return an int.
16493	[b2ca5d089667]
16494
16495	* check.c:
16496	If the targetpw flag is set, use target username as part of the
16497	timestamp path. If tty tickets are in effect cat the tty and the
16498	target username with a ':' as the separator.
16499	[de11abc693c2]
16500
165012000-05-09  Todd C. Miller  <Todd.Miller@courtesan.com>
16502
16503	* auth/pam.c:
16504	Backout part of last change; setting PAM_USER to the invoking user
16505	breaks things like targetpw.
16506	[427218a7387f]
16507
16508	* auth/pam.c:
16509	set tty and username via pam_set_item
16510	[85d1922dbcc9]
16511
16512	* auth/sudo_auth.c, check.c, getspwuid.c, sudo.c, sudo.h:
16513	Fix root, runas, and target authentication for non-passwd file auth
16514	methods.
16515	[a14535e7b30c]
16516
165172000-04-22  Todd C. Miller  <Todd.Miller@courtesan.com>
16518
16519	* sudo.cat, sudo.man.in, sudo.pod, sudoers.cat, sudoers.man.in,
16520	sudoers.pod, visudo.cat, visudo.man.in, visudo.pod:
16521	Use B<-Z> not C<-Z> for command line flags in all places. This is
16522	more consistent and works around a bug in Pod::Man.
16523	[64b5a05f30c5]
16524
16525	* sudoers.cat, sudoers.man.in, sudoers.pod:
16526	Fix an occurence of 'semicolon' that should be 'colon'
16527	[4ea5aacae3fb]
16528
165292000-04-19  Todd C. Miller  <Todd.Miller@courtesan.com>
16530
16531	* configure, configure.in:
16532	Fix --with-badpri help line
16533	[3cc40977c043]
16534
165352000-04-17  Todd C. Miller  <Todd.Miller@courtesan.com>
16536
16537	* defaults.c, logging.c, sudo.c:
16538	Bracket calls to syslog with an openlog() and closelog() since some
16539	authentication methods (like PAM) may do their own logging via
16540	syslog. Since we don't use syslog much (usually just once per
16541	session) this doesn't really incur a performance penalty. It also
16542	Fixes a SEGV with pam_kafs.
16543	[fe1cc28529f6]
16544
165452000-04-15  Todd C. Miller  <Todd.Miller@courtesan.com>
16546
16547	* sudo.c:
16548	Fix -H flag. runas_homedir is only valid after
16549	set_perms(PERM_RUNAS, mode)
16550	[ce9b1c6f68a6]
16551
165522000-04-12  Todd C. Miller  <Todd.Miller@courtesan.com>
16553
16554	* INSTALL:
16555	Clarify the fact that insults are not enabled just by including them
16556	in the binary.
16557	[d5a31d48320c]
16558
165592000-04-07  Todd C. Miller  <Todd.Miller@courtesan.com>
16560
16561	* sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in, visudo.cat,
16562	visudo.man.in:
16563	Regenerated with perl 5.6.0 pod2man
16564	[21751433768b]
16565
16566	* Makefile.in:
16567	Give date string to pod2man since its default is ugly and it ain't
16568	got no alibi.
16569	[0080b2f6298f]
16570
16571	* Makefile.in:
16572	Do section substitution on the output of pod2man and remove hack
16573	needed for old pod2man.
16574	[1ef843d5c78b]
16575
16576	* sudo.pod, sudoers.pod, visudo.pod:
16577	Put back real man sections, we will do the substitution later.
16578	[f728c1abad7e]
16579
165802000-04-02  Todd C. Miller  <Todd.Miller@courtesan.com>
16581
16582	* configure, configure.in:
16583	Don't bother checking for the path to vi if user specified --with-
16584	editor
16585	[bf698487e0d5]
16586
165872000-04-01  Todd C. Miller  <Todd.Miller@courtesan.com>
16588
16589	* CHANGES, visudo.c:
16590	Visudo now does its own fork/exec instead of calling system(3).
16591	[99bbcd88863b]
16592
16593	* CHANGES, INSTALL, Makefile.in, sudoers.cat, sudoers.man.in,
16594	sudoers.pod, visudo.c:
16595	Visudo now checks for the existence of an editor and gives a
16596	sensible error if it does not exist.
16597
16598	The path to the editor for visudo is now a colon-separated list of
16599	allowable editors. If the user has $EDITOR set and it matches one
16600	of the allowed editors that editor will be used. If not, the first
16601	editor in the list that actually exists is used.
16602	[cc86eb9f5440]
16603
16604	* sudo.cat, sudo.man.in, sudo.pod:
16605	Clear up confusion wrt sudo's return value.
16606	[9385b12d8e79]
16607
166082000-03-27  Todd C. Miller  <Todd.Miller@courtesan.com>
16609
16610	* Makefile.in:
16611	Strip sudo and visudo for bindist target
16612	[a995ddd79177]
16613
16614	* sudo.cat, sudo.man.in, sudo.pod, sudoers.cat, sudoers.man.in,
16615	sudoers.pod, visudo.cat, visudo.man.in, visudo.pod:
16616	Use @mansectsu@ and @mansectform@ in the man page bodies as well.
16617	[5eb9e60a726f] [SUDO_1_6_3]
16618
16619	* visudo.cat, visudo.man.in, visudo.pod:
16620	Typo: @sysconf@ -> @sysconfdir@
16621	[f07f52fcd099]
16622
16623	* Makefile.in:
16624	'make dist' should not cause any files to be modified so remove its
16625	dependencies.
16626	[7f44a2666a9c]
16627
16628	* CHANGES:
16629	Whoops, forgot to add release marker
16630	[16c0f16b35b8]
16631
166322000-03-26  Todd C. Miller  <Todd.Miller@courtesan.com>
16633
16634	* CHANGES:
16635	Final change for 1.6.3 (or so I hope)
16636	[473c89da6123]
16637
16638	* sudo.cat, sudoers.cat, visudo.cat:
16639	Use SYSV man sections since BSD systems will have nroff...
16640	[0a6bd154324e]
16641
166422000-03-24  Todd C. Miller  <Todd.Miller@courtesan.com>
16643
16644	* parse.yacc, sudo.tab.c:
16645	When checking to see if the host/user matches in a defaults spec,
16646	check against TRUE, not just non-zero since it might be -1.
16647	[41f2b7ad3fdd]
16648
16649	* configure, configure.in:
16650	OSF/1 puts file formats in section 4, not 5.
16651	[d77c1301afa9]
16652
16653	* CHANGES, INSTALL, sudo.c:
16654	Make login class support work on BSD/OS
16655	[e9bbe3c08ade]
16656
16657	* RUNSON:
16658	Update for 1.6.3
16659	[c40ce1d76c4d]
16660
16661	* configure, configure.in:
16662	If there is no inet_addr but there *is* an __inet_addr that's ok
16663	since inet_addr is probably just a macro then. The better thing to
16664	do would be to look for the macro, but this is fine for now.
16665	[1b8865ae4d68]
16666
16667	* configure, configure.in:
16668	Don't use shlicc for BSD/OS 4.x
16669	[83fbf6dedd2c]
16670
16671	* Makefile.in, configure, configure.in:
16672	*.man lives in cwd, *.cat lives in $(srcdir), add a @mansrcdir@
16673	configure variable so we can deal with this. Also, only remove *.man
16674	for 'distclean' not 'clean'.
16675	[30d56e6de214]
16676
16677	* sudo.c:
16678	set_loginclass() should be static like the proto says
16679	[d570a2d55fb8]
16680
166812000-03-23  Todd C. Miller  <Todd.Miller@courtesan.com>
16682
16683	* fnmatch.c:
16684	Add #ifdef __STDC__ around the rangematch function header to avoid
16685	promotion of test to int, thus violating the prototype. Gcc handles
16686	this gracefully but more std ANSI compilers will complain.
16687	[7d98c3e332b2]
16688
16689	* emul/fnmatch.h:
16690	Pull in newer fnmatch(3) that supports FNM_CASEFOLD
16691	[4e1320852f8b]
16692
16693	* aclocal.m4, configure, fnmatch.3, fnmatch.c:
16694	Pull in newer fnmatch(3) that supports FNM_CASEFOLD Check for
16695	FNM_CASEFOLD in configure
16696	[9ef952bf1896]
16697
16698	* CHANGES, TODO:
16699	update for 1.6.3
16700	[e4ba6368a0c5]
16701
16702	* sudo.tab.c, sudo.tab.h, testsudoers.c, visudo.c:
16703	Fully qualified hosts w/ wildcards were not matching the FQHOST
16704	token type. There's really no need for a separate token for fully-
16705	qualified vs. unqualified anymore so FQHOST is now history and
16706	hostname_matches now decides which hostname (short or long) to check
16707	based on whether or not the pattern contains a '.'.
16708	[fbd2887d9811]
16709
16710	* parse.h:
16711	Fully qualified hosts w/ wildcards were not matching the FQHOST
16712	token type. There's really no need for a separate token for fully-
16713	qualified vs. unqualified anymore so FQHOST is now history and
16714	hostname_matches now decides which hostname (short or long) to check
16715	based on whether or not the pattern contains a '.'.
16716	[dd7bbe223461]
16717
16718	* lex.yy.c, parse.c, parse.lex, parse.yacc:
16719	Fully qualified hosts w/ wildcards were not matching the FQHOST
16720	token type. There's really no need for a separate token for fully-
16721	qualified vs. unqualified anymore so FQHOST is now history and
16722	hostname_matches now decides which hostname (short or long) to check
16723	based on whether or not the pattern contains a '.'.
16724	[630d9d205397]
16725
16726	* parse.c, parse.h, parse.yacc, sudo.tab.c, sudoers.cat,
16727	sudoers.man.in, sudoers.pod, testsudoers.c, visudo.c:
16728	Add support for wildcards in the hostname.
16729	[d8d821ed4238]
16730
16731	* Makefile.in:
16732	Add targets for *.man.in, using config.status to generate *.man from
16733	*.man.in
16734	[640e50ede485]
16735
16736	* sudoers.cat, sudoers.man.in, sudoers.pod:
16737	Document set_logname option and enbolden refs to sudo and visudo.
16738	[9622b3a48707]
16739
16740	* INSTALL, Makefile.in, aclocal.m4, configure, configure.in, sudo.cat,
16741	sudo.man.in, sudo.pod, sudoers.cat, sudoers.man.in, sudoers.pod,
16742	visudo.cat, visudo.man.in, visudo.pod:
16743	Add FreeBSD login.conf support (untested on BSD/OS) based on a patch
16744	from Michael D. Marchionna. configure now does substitution on the
16745	man pages, allowing us to fix up the paths and set the section
16746	correctly. Based on an idea from Michael D. Marchionna.
16747	[463e928a0a2f]
16748
16749	* auth/passwd.c:
16750	Better fix for handling HP-UX aging info.
16751	[3950f42d8549]
16752
16753	* sudo.c:
16754	Add support for set_logname run-time default
16755	[c6a7cc76b8b4]
16756
16757	* sudo.man.in, sudoers.man.in, visudo.man.in:
16758	configure does substitution on these to produce *.man
16759	[b83fc3c1bfc9]
16760
16761	* sudo.man, sudoers.man, visudo.man:
16762	These files now get generated from *.man.in at configure time.
16763	[c499061f79e0]
16764
167652000-03-22  Todd C. Miller  <Todd.Miller@courtesan.com>
16766
16767	* defaults.c, defaults.h:
16768	Add set_logname option so users can turn off setting of LOGNAME/USER
16769	environment variables.
16770	[6316869180b8]
16771
16772	* lsearch.c, parse.c, testsudoers.c:
16773	kill register
16774	[6e104e653748]
16775
167762000-03-13  Todd C. Miller  <Todd.Miller@courtesan.com>
16777
16778	* auth/passwd.c:
16779	HP-UX adds extra info at the end for password aging so when
16780	comparing the result of crypt to pw_passwd we only compare the first
16781	len(epass) bytes *unless* the user entered an empty string for a
16782	password.
16783	[3d24d4e4e889]
16784
16785	* logging.c:
16786	Get rid of grandchild hack, it was causing problems and there is
16787	really no need for it. This fixes a bug where we spin eating up CPU
16788	when the user runs a long-running process like a shell.
16789	[5743b10b1e81]
16790
167912000-03-07  Todd C. Miller  <Todd.Miller@courtesan.com>
16792
16793	* sudo.c:
16794	User can always specify a login class if he/she is already root.
16795	[710d160cef9f]
16796
16797	* config.h.in, configure, configure.in, defaults.c, defaults.h,
16798	sudo.c, sudo.h:
16799	FreeBSD login class (login.conf) support.
16800	[026b981d6328]
16801
168022000-03-06  Todd C. Miller  <Todd.Miller@courtesan.com>
16803
16804	* auth/sudo_auth.c:
16805	HAVE_SECUREWARE -> HAVE_GETPRPWNAM; fixes secureware support
16806	[9cd4929f1a78]
16807
168082000-03-03  Todd C. Miller  <Todd.Miller@courtesan.com>
16809
16810	* auth/passwd.c:
16811	Truncate unencrypted password to 8 chars if encrypted password is
16812	exactly 13 characters (indicateing standard a DES password). Many
16813	versions of crypt() do this for you, but not all (like HP-UX's).
16814	[a9d0259cb193]
16815
168162000-03-02  Todd C. Miller  <Todd.Miller@courtesan.com>
16817
16818	* INSTALL, RUNSON:
16819	Mention that gcc on dynix may have problems
16820	[77b97fa5bf1b]
16821
168222000-02-29  Todd C. Miller  <Todd.Miller@courtesan.com>
16823
16824	* Makefile.in:
16825	Link visudo with NET_LIBS since we now call syslog via defaults.c
16826	[9e3830b277cc]
16827
16828	* defaults.c:
16829	Use Argv[0] as the first arg to openlog() since visudo uses this
16830	too.
16831	[e61078f328ec]
16832
168332000-02-28  Todd C. Miller  <Todd.Miller@courtesan.com>
16834
16835	* sudo.c:
16836	Stash coredumpsize resource limit and retsore it before the exec()
16837	Otherwise the child ends up with a coredumpsize of 0.
16838	[f6a4783835a3]
16839
168402000-02-27  Todd C. Miller  <Todd.Miller@courtesan.com>
16841
16842	* sudo.cat, sudo.man, sudo.pod:
16843	document -S flag
16844	[3ebd805b7142]
16845
16846	* sudo.c:
16847	fix usage string
16848	[66b2dfa47fe8]
16849
16850	* CHANGES, RUNSON, TODO, auth/aix_auth.c, auth/fwtk.c, auth/pam.c,
16851	auth/sudo_auth.c, sudo.c, sudo.h, tgetpass.c:
16852	Added -S flag (read passwd from stdin) and tgetpass_flags global
16853	that holds flags to be passed in to tgetpass(). Change echo_off
16854	param to tgetpass() into a flags field. There are currently 2
16855	possible flags for tgetpass(): TGP_ECHO and TGP_STDIN. In
16856	tgetpass(), abstract the echo set/clear via macros and if (flags &
16857	TGP_ECHO) but echo is not set on the terminal, but sure to set it.
16858	[a4fcbb712cd0]
16859
16860	* tgetpass.c:
16861	Fixed a bug that caused an infinite loop when the password timeout
16862	was disabled.
16863	[2be1ffc5a39f]
16864
168652000-02-18  Todd C. Miller  <Todd.Miller@courtesan.com>
16866
16867	* CHANGES, defaults.c, defaults.h, getspwuid.c, sudo.c, sudo.h,
16868	sudoers.cat, sudoers.man, sudoers.pod, visudo.c:
16869	Add rootpw, runaspw, and targetpw options.
16870	[2d4563e46df7]
16871
16872	* CHANGES, defaults.c, sudoers.cat, sudoers.man, sudoers.pod,
16873	visudo.c:
16874	enveditor -> env_editor
16875	[ddc5f856e583]
16876
168772000-02-16  Todd C. Miller  <Todd.Miller@courtesan.com>
16878
16879	* BUGS, INSTALL, Makefile.in, README, configure, configure.in,
16880	sudo.cat, sudo.man, sudoers.cat, sudoers.man, version.h, visudo.cat,
16881	visudo.man:
16882	crank versino to 1.6.3
16883	[a5f7d3e74360]
16884
16885	* INSTALL, TODO, defaults.c, defaults.h, sudoers.cat, sudoers.man,
16886	sudoers.pod, visudo.c:
16887	Add 'editor' and 'enveditor' sudoers defaults and make visudo honor
16888	them. This means that visudo will now parse the sudoers file
16889	*before* it is edited so a bogus sudoers file will cause a warning
16890	to go to stderr. Also, visudo checks the variables once--it does not
16891	check them after each editor run since that could be confusing.
16892	[9f5af18e9212]
16893
168942000-02-15  Todd C. Miller  <Todd.Miller@courtesan.com>
16895
16896	* RUNSON:
16897	1.6.2 -> 1.6.2p1
16898	[e25b74f1d1af]
16899
16900	* check.c, sudo.c, sudo.h:
16901	Move user_is_exempt prototype into sudo.h
16902	[daf26a6ded8a]
16903
169042000-02-13  Todd C. Miller  <Todd.Miller@courtesan.com>
16905
16906	* configure, configure.in:
16907	Fix thinko, some && should have been || in the last commit
16908	[4b9b2d487ded]
16909
16910	* configure, configure.in:
16911	Don't initialized Makefile variables to be NULL since the user may
16912	want to import variables from their environment.
16913	[7be019f4422c]
16914
169152000-02-04  Todd C. Miller  <Todd.Miller@courtesan.com>
16916
16917	* configure, configure.in:
16918	typo
16919	[38f4d8971f0a]
16920
169212000-01-28  Todd C. Miller  <Todd.Miller@courtesan.com>
16922
16923	* sudo.tab.c:
16924	fix a yacc (skeleton.c) warning
16925	[a2da228a937b]
16926
169272000-01-27  Todd C. Miller  <Todd.Miller@courtesan.com>
16928
16929	* INSTALL, RUNSON, configure, configure.in:
16930	Make pam work on HP-UX 11.0;jaearick@colby.edu
16931	[b94de0ff6f42]
16932
16933	* CHANGES:
16934	recent changes; prepare for 1.6.2p1
16935	[b291635ea141]
16936
16937	* find_path.c:
16938	Don't apply SECURE_PATH if user is example; jmknoble@pobox.com
16939	[4306285c4f6e]
16940
169412000-01-26  Todd C. Miller  <Todd.Miller@courtesan.com>
16942
16943	* sudo.tab.c:
16944	Regen with yacc that has a memory leak plugged.
16945	[e26383a04eb7]
16946
16947	* sudoers.cat, sudoers.man, sudoers.pod:
16948	Expanded docs on sudoers 'defaults' options based on INSTALL file
16949	info.
16950	[54c3d62d6c74]
16951
16952	* INSTALL:
16953	Fix some while lies
16954	[d15311782150]
16955
169562000-01-24  Todd C. Miller  <Todd.Miller@courtesan.com>
16957
16958	* Makefile.in:
16959	When making a bindist, link FAQ to TROUBLESHOOTING instead of
16960	copying.
16961	[2d88a6ac88cf]
16962
16963	* sudoers.cat, sudoers.man, sudoers.pod:
16964	Add netgroup caveat
16965	[28d119f466e3] [SUDO_1_6_2]
16966
16967	* RUNSON:
16968	Last minute updates
16969	[89fb4ed22d52]
16970
16971	* TROUBLESHOOTING:
16972	PAM entry
16973	[a9fd59f39457]
16974
16975	* auth/pam.c:
16976	correct a comment
16977	[a29627225ba9]
16978
16979	* CHANGES, RUNSON:
16980	update for 1.6.2
16981	[b7f1c40ea732]
16982
16983	* auth/pam.c:
16984	Better detection of PAM errors and fix custom prompts with PAM.
16985	Based on patches from "Cloyce D. Spradling" <cloyce@headgear.org>
16986	[ff69234b94a5]
16987
169882000-01-20  Todd C. Miller  <Todd.Miller@courtesan.com>
16989
16990	* snprintf.c:
16991	Cast ULONG_MAX to unsigned long long when comparing to an unsigned
16992	long long value.
16993	[9d918c3a2ecd]
16994
169952000-01-19  Todd C. Miller  <Todd.Miller@courtesan.com>
16996
16997	* CHANGES, config.h.in, configure, configure.in, visudo.c:
16998	Fix sudoers locking in visudo. We now lock the sudoers file itself,
16999	not the temp file (since locking the temp file can foul up editors).
17000	The previous locking scheme didn't work because the fd was closed
17001	too early.
17002	[de2011bb11ed]
17003
17004	* config.h.in, configure, configure.in:
17005	Don't need test for ftruncate() any more.
17006	[e5f71c848104]
17007
17008	* configure, configure.in:
17009	Add a test for the -Aa flag w/ HP-UX's cc. Fixes compilation with
17010	the unbundled HP-UX cc.
17011	[2c373612c644]
17012
170132000-01-18  Todd C. Miller  <Todd.Miller@courtesan.com>
17014
17015	* sudoers.cat, sudoers.man, sudoers.pod:
17016	"a a" -> "a"; Aaron Campbell <aaron@cs.dal.ca>
17017	[05360d2c314e]
17018
170192000-01-17  Todd C. Miller  <Todd.Miller@courtesan.com>
17020
17021	* LICENSE, Makefile.in, defaults.c, defaults.h, parse.c, parse.h,
17022	parse.yacc, sudo.c, sudo.h, sudoers.pod, testsudoers.c, tgetpass.c,
17023	version.h, visudo.c:
17024	update copyright year on changed files
17025	[5792a2a28a4c]
17026
17027	* RUNSON:
17028	updates
17029	[edf8f19aa403]
17030
17031	* CHANGES:
17032	aix fix
17033	[4d4a243b31e2]
17034
17035	* INSTALL:
17036	Crank version to 1.6.2
17037	[bcb5cb411624]
17038
17039	* configure:
17040	Crank version to 1.6.2
17041	[32a19f33427f]
17042
17043	* sudo.c:
17044	When using rlimit check for RLIM_INFINITY When computing the value
17045	of maxfd, use min(getdtablesize(), RLIMIT_NOFILE)
17046	[8c16166802e5]
17047
17048	* CHANGES:
17049	recent changes
17050	[09fc7112e44d]
17051
17052	* BUGS, Makefile.in, README, configure.in, sudo.cat, sudo.man,
17053	sudoers.cat, sudoers.man, version.h, visudo.cat, visudo.man:
17054	Crank version to 1.6.2
17055	[055fa61a7c61]
17056
17057	* INSTALL, defaults.c, defaults.h, sudo.c, sudo.h, sudoers.pod:
17058	Add 'shell_noargs' runtime option back in. We have to defer
17059	checking until after the sudoers file has been parsed but since
17060	there are now other options that operate that way this one can too.
17061	Based on a patch from bguillory@email.com.
17062	[231db7a007a6]
17063
17064	* defaults.c, defaults.h, parse.c, sudo.c, sudo.h:
17065	Add "listpw" and "verifypw" options.
17066	[190683bac878]
17067
17068	* sudoers.cat, sudoers.man, sudoers.pod:
17069	o Fix some typos/omissions o Add section on verifypw and listpw o
17070	Define how NOPASSWD interacts with the -v and -l flags
17071	[6feb7350eb79]
17072
170732000-01-14  Todd C. Miller  <Todd.Miller@courtesan.com>
17074
17075	* configure, configure.in:
17076	For HP-UX cc, add -Aa to CPPFLAGS. For HP-UX always add
17077	-D_HPUX_SOURCE to CPPFLAGS.
17078	[06cc35d89dc8]
17079
17080	* defaults.c, defaults.h:
17081	In struct sudo_defs_types, move the union to the end and don't
17082	initialize the union member since that only works with an ANSI
17083	compiler. We set the value of the union by hand in init_defaults()
17084	anyway. This allows sudo to compile on a K&R compiler again.
17085	[623487e1fcfa]
17086
170872000-01-11  Todd C. Miller  <Todd.Miller@courtesan.com>
17088
17089	* parse.c, parse.h, parse.yacc, sudo.tab.c, testsudoers.c, visudo.c:
17090	netgr_matches needs to check shost as well as host since they may be
17091	different.
17092	[3f43ace23d3e]
17093
17094	* tgetpass.c:
17095	End on \r as well as \n
17096	[cb7c6e6f4202]
17097
170982000-01-03  Todd C. Miller  <Todd.Miller@courtesan.com>
17099
17100	* sudo.c:
17101	Update statbuf.st_mode based on SUDOERS_MODE when we are chaning
17102	from 0400 to whatever SUDOERS_MODE is (converting from the old
17103	sudoers mode). Assumes that SUDOERS_MODE is less restrictive than
17104	0400 which should always be the case.
17105	[34cd83d49d20]
17106
17107	* parse.c, parse.yacc, sudo.c, sudo.h, sudo.tab.c:
17108	Make treatment of -l and -v sane wrt NOPASSWD flags. Now allow -l
17109	w/o a passwd if there is *any* entry for the user on the host with a
17110	NOPASSWD flag. For -v, only allow w/o a passwd if *all* entries for
17111	the user on the host w/ the specified runas user have the NOPASSWD
17112	flag set.
17113	[4b3b85697653]
17114
17115	* Makefile.in:
17116	add check target
17117	[3d24d34a76fd]
17118
171191999-12-16  Todd C. Miller  <Todd.Miller@courtesan.com>
17120
17121	* visudo.c:
17122	Treat EOF at whatnow prompt like 'x' instead of looping.
17123	[5deffc27114c]
17124
171251999-12-10  Todd C. Miller  <Todd.Miller@courtesan.com>
17126
17127	* CHANGES:
17128	recent changes
17129	[5836a9452568] [SUDO_1_6_1]
17130
171311999-12-09  Todd C. Miller  <Todd.Miller@courtesan.com>
17132
17133	* config.h.in, configure, configure.in, sudo.c:
17134	Add check for initgroups() since old SYSV lacks this.
17135	[657a6005a569]
17136
17137	* CHANGES, RUNSON, aclocal.m4, config.h.in, configure, configure.in,
17138	parse.c, testsudoers.c:
17139	o Kill HAVE_FNMATCH_H o Only define HAVE_FNMATCH if <fnmatch.h>
17140	exists.
17141	[17d081e917d6]
17142
171431999-12-06  Todd C. Miller  <Todd.Miller@courtesan.com>
17144
17145	* auth/sudo_auth.c:
17146	Don't allow insults to be enabled if the insults[] array is empty.
17147	Otherwise there would be division by zero.
17148	[b20c14db6029]
17149
17150	* insults.h:
17151	Don't allow insults to be enabled if the insults[] array is empty.
17152	Otherwise there would be division by zero.
17153	[028f130204b0]
17154
17155	* CHANGES, RUNSON:
17156	Don't allow insults to be enabled if the insults[] array is empty.
17157	Otherwise there would be division by zero.
17158	[974f4780254b]
17159
17160	* insults.h:
17161	Don't care about USE_INSULTS #define since the insult stuff may be
17162	overridden at runtime.
17163	[b873df8b299c]
17164
17165	* auth/sudo_auth.c:
17166	Honor insults flag.
17167	[756111640fdc]
17168
17169	* CHANGES, parse.c:
17170	Don't ask the user for a password if the user is not allowed to run
17171	the command and the authenticate flag (in sudoers) is false.
17172	[cea9fdc09c76]
17173
17174	* CHANGES, RUNSON, lex.yy.c, parse.lex:
17175	o Whenever we get a bare newline we change to the INITIAL state. o
17176	Enter GOTRUNAS when we see Runas_Alias
17177
17178	This allows #uid to work in a RunasAlias.
17179	[a475513e7c7a]
17180
171811999-12-05  Todd C. Miller  <Todd.Miller@courtesan.com>
17182
17183	* CHANGES, parse.yacc, sudo.tab.c:
17184	fix parsing of runas lists: o oprunasuser and runaslist now return a
17185	value o in a runasspec, if a runaslist does not return TRUE, set
17186	runas_matches to FALSE. Normally, a runaslist only returns FALSE
17187	for explicitly denied users. o since runaslist does not modify the
17188	stack there is no need for a push/pop in runasalias.
17189	[82b305b34a8c]
17190
17191	* check.c, sudo.c:
17192	Don't kill the user's tickets until after sudoers has been parsed
17193	since tty_tickets and ticket_dir could be set in sudoers.
17194	[f43e25367f3a]
17195
17196	* BUGS, CHANGES, Makefile.binary, Makefile.in, README, RUNSON,
17197	configure, configure.in, sudo.cat, sudo.man, sudoers.cat,
17198	sudoers.man, tgetpass.c, version.h, visudo.cat, visudo.man:
17199	crank version to 1.6
17200	[95f8bdcf9bb2]
17201
17202	* testsudoers.c:
17203	add set_fqdn() stub
17204	[bbc81af5b41a]
17205
172061999-12-02  Todd C. Miller  <Todd.Miller@courtesan.com>
17207
17208	* INSTALL, defaults.c, defaults.h, sudo.c, sudo.h, sudoers.cat,
17209	sudoers.man, sudoers.pod, visudo.c:
17210	o Kill shell_noargs option, it cannot work since the command needs
17211	to be set before sudoers is parsed. o Fix the "set_home" sudoers
17212	option (only worked at compile time). o Fix "fqdn" sudoers option.
17213	We now set host/shost via set_fqdn which gets called when the
17214	"fqdn" option is set in sudoers. o Move the openlog() to
17215	store_syslogfac() so this gets overridden correctly from the
17216	sudoers file.
17217	[3dca861f0f5d]
17218
17219	* auth/securid.c:
17220	SecurID support should compile now.
17221	[a544e5c6ea34]
17222
172231999-11-29  Todd C. Miller  <Todd.Miller@courtesan.com>
17224
17225	* sudo.cat, sudo.man, sudo.pod, sudoers.cat, sudoers.man, visudo.cat,
17226	visudo.man, visudo.pod:
17227	fix some syntactic goofs
17228	[b3451f0d5239]
17229
172301999-11-28  Todd C. Miller  <Todd.Miller@courtesan.com>
17231
17232	* Makefile.in, sudo.html, sudoers.html, visudo.html:
17233	No longer need the .html files as they are generated automatically
17234	on the web site.
17235	[1b4aa4204584]
17236
17237	* CHANGES, LICENSE:
17238	kill characters that made wml unhappy
17239	[b988fbc6da56]
17240
17241	* HISTORY:
17242	typo
17243	[a418963f7fce]
17244
172451999-11-25  Todd C. Miller  <Todd.Miller@courtesan.com>
17246
17247	* README:
17248	majordomo@cs.colorado.edu -> majordomo@courtesan.com
17249	[5d151e8ffd3b]
17250
17251	* Makefile.in, configure:
17252	Wrap script execution w/ /bin/sh for the benefit of ctm
17253	[3a9c4766b2c3]
17254
172551999-11-24  Todd C. Miller  <Todd.Miller@courtesan.com>
17256
17257	* sudo.c:
17258	Make the -s flag be exclusive too. Also reorder the flags in the
17259	exclusive usage message so they are alphabetical.
17260	[4c7af200db34]
17261
172621999-11-23  Todd C. Miller  <Todd.Miller@courtesan.com>
17263
17264	* auth/pam.c:
17265	make pam errors other than PAM_PERM_DENIED fatal
17266	[64bcb3fd2baf]
17267
17268	* auth/API:
17269	fix typo
17270	[f3134c88b12e]
17271
17272	* INSTALL:
17273	make it clear that /etc/pam.d/sudo is required on linux
17274	[213cc3eaad82]
17275
17276	* auth/pam.c:
17277	fix a warning on redhat and spew an error if pam_authenticate()
17278	returns an error other than AUTH_SUCCESS or PAM_PERM_DENIED
17279	[7e46dd19da89]
17280
17281	* sudo.cat, sudo.html, sudo.man, sudo.pod:
17282	Be very clear that the password required is the user's not root's
17283	[a6da127347e5]
17284
172851999-11-20  Todd C. Miller  <Todd.Miller@courtesan.com>
17286
17287	* Makefile.in:
17288	add sample.syslog.conf to DISTFILES and BINFILES
17289	[8661c27c007e]
17290
172911999-11-19  Todd C. Miller  <Todd.Miller@courtesan.com>
17292
17293	* RUNSON:
17294	updates from Brian Jackson + some formatting
17295	[6d31c6fa63f8]
17296
172971999-11-18  Todd C. Miller  <Todd.Miller@courtesan.com>
17298
17299	* INSTALL.binary, Makefile.binary, README, RUNSON:
17300	o One RUNSon update o Changes for automating real binary releases
17301	[dd9585f4406c]
17302
17303	* Makefile.in:
17304	Add bindist target
17305	[546ed3fa94bb]
17306
173071999-11-16  Todd C. Miller  <Todd.Miller@courtesan.com>
17308
17309	* TROUBLESHOOTING:
17310	talk about run-time options in addition to compile-time options
17311	[1eb813ff0a9a] [SUDO_1_6_0]
17312
17313	* CHANGES:
17314	fix typos
17315	[65e92bb70a7b]
17316
17317	* sudo.c:
17318	need sys/time.h if HAVE_SETRLIMIT
17319	[ce31655a8a60]
17320
17321	* PORTING, README, RUNSON, sudo.c, sudo.cat, sudo.html, sudo.man,
17322	sudo.pod, visudo.cat, visudo.html, visudo.man, visudo.pod:
17323	get rid of references to sudo-bugs. Now mention the web site or the
17324	sudo@ alias
17325	[a9db861fd8c6]
17326
17327	* sudoers.html:
17328	repair pod2html damage
17329	[62ece4277f1f]
17330
17331	* RUNSON, TODO:
17332	Update for 1.6 release
17333	[98569c57ba2a]
17334
17335	* sudoers.cat, sudoers.html, sudoers.man, sudoers.pod:
17336	Add warning about using ALL in a command context.
17337	[6c77685ab280]
17338
173391999-11-09  Todd C. Miller  <Todd.Miller@courtesan.com>
17340
17341	* visudo.c:
17342	Call yyrestart() on a parse error to reset the lexer state.
17343	[1370a27acdb2]
17344
17345	* lex.yy.c, parse.lex:
17346	Don't need YY_FLUSH_BUFFER after all Move yyrestart() into visudo.c
17347	since it might not get called in yywrap if we get a parse error
17348	(and we only reread the file on error anyway).
17349	[37f4b449e28e]
17350
17351	* lex.yy.c, parse.lex:
17352	Call YY_FLUSH_BUFFER macro in yywrap() to clean up any buffers that
17353	might still exist. Call yyrestart() instead of using the deprecated
17354	YY_NEW_FILE macro.
17355	[7d0d873046c6]
17356
17357	* lex.yy.c, parse.lex:
17358	flex doesn't need %N table size declarations
17359	[268b020fd60a]
17360
17361	* sudoers.cat, sudoers.html, sudoers.man, sudoers.pod:
17362	Mention what characters need to be escaped in names.
17363	[72ccbb6b0f31]
17364
173651999-11-08  Todd C. Miller  <Todd.Miller@courtesan.com>
17366
17367	* configure:
17368	regen
17369	[65827abb5c7b]
17370
17371	* INSTALL:
17372	clarify Mac OS X entry
17373	[8da1549a71f5]
17374
17375	* RUNSON:
17376	update
17377	[0cff8df7459f]
17378
17379	* configure.in:
17380	o Use AC_MSG_ERROR throughout o Check syslog configure options for
17381	danity
17382	[4cb81e642e5c]
17383
173841999-11-05  Todd C. Miller  <Todd.Miller@courtesan.com>
17385
17386	* defaults.c:
17387	Fix printing of type T_MODE in dump_defaults()
17388	[a868bb6f5515]
17389
17390	* strcasecmp.c:
17391	missing sys/types.h
17392	[ca694ca325b6]
17393
17394	* INSTALL:
17395	Break out options that may be overridden at run time into their own
17396	section. Add a not about Max OS X and correct some lies.
17397	[d8bcfd120593]
17398
173991999-11-04  Todd C. Miller  <Todd.Miller@courtesan.com>
17400
17401	* CHANGES, config.h.in, configure, configure.in, sudo.c:
17402	o Now use getrlimit to find the highest fd when closing all non-std
17403	fd's o Turn off core dumps via setrlimit for the sake of paranoia
17404	[dd9f651b6def]
17405
17406	* RUNSON:
17407	updates
17408	[f581841fe615]
17409
174101999-11-01  Todd C. Miller  <Todd.Miller@courtesan.com>
17411
17412	* CHANGES:
17413	updates
17414	[553baa1d44c7]
17415
17416	* tgetpass.c:
17417	When read()'ing, do a single character at a time to be sure we don't
17418	go oast the newline.
17419	[907d33f55bb4]
17420
17421	* sudo.c:
17422	For the sudo_root option, check against user_uid, not getuid() since
17423	at this point, ruid == euid == 0.
17424	[92d5c51939b4]
17425
17426	* RUNSON:
17427	some updates
17428	[e3ed0c1f312b]
17429
17430	* logging.h:
17431	Fix compilation problem when --with-logging=file was specified.
17432	This means that syslog is now required to build sudo but that should
17433	not be a problem. If it is it can be fixed trivially with a
17434	configure check for syslog() or syslog.h.
17435	[839a4b069190]
17436
17437	* tgetpass.c:
17438	Make this work again for things like "sudo echo hi | more" where the
17439	tty gets put into character at a time mode. We read until we read
17440	end of line or we run out of space (similar to fgets(3)).
17441	[c8f746df2e63]
17442
174431999-10-20  Todd C. Miller  <Todd.Miller@courtesan.com>
17444
17445	* sudoers.cat, sudoers.html, sudoers.man, sudoers.pod:
17446	change ital to bold
17447	[f860978e530a]
17448
17449	* RUNSON:
17450	update
17451	[9bcfbb405568]
17452
174531999-10-16  Todd C. Miller  <Todd.Miller@courtesan.com>
17454
17455	* defaults.c:
17456	Error out if syslog parameters are given without a value. For
17457	Ultrix or 4.2BSD "syslog" is allowed without a value since there are
17458	no facilities in the 4.2BSD syslog.
17459	[69e7a686f5f0]
17460
174611999-10-15  Todd C. Miller  <Todd.Miller@courtesan.com>
17462
17463	* defaults.c:
17464	Ignore the syslog facility for systems w/ old syslog like Ultrix.
17465	[5c250adbbb84]
17466
17467	* TROUBLESHOOTING:
17468	people with "." early in their path can have problems running sudo
17469	from the build dir ;-)
17470	[20a1744a24a4]
17471
174721999-10-13  Todd C. Miller  <Todd.Miller@courtesan.com>
17473
17474	* sudo.cat, sudo.html, sudo.man, sudo.pod:
17475	Remove -r realm option
17476	[127caa537f95]
17477
17478	* auth/kerb5.c, auth/sudo_auth.c, auth/sudo_auth.h, configure,
17479	configure.in, sudo.c:
17480	New krb5 code from Frank Cusack <fcusack@iconnet.net>.
17481	[7177a3893a62]
17482
17483	* CHANGES:
17484	update to reality
17485	[766cfbb512d6]
17486
174871999-10-12  Todd C. Miller  <Todd.Miller@courtesan.com>
17488
17489	* auth/fwtk.c:
17490	include <auth.h> to get function prototypes.
17491	[d6c7c12d09fe]
17492
17493	* sudo.cat, sudo.html, sudo.man, sudo.pod:
17494	document -L flag
17495	[dc803e1ce0d7]
17496
174971999-10-11  Todd C. Miller  <Todd.Miller@courtesan.com>
17498
17499	* sudo.c:
17500	in set_perms(), always call setuid(0) before changing the ruid/euid
17501	so we always know it will succeed.
17502	[8cced1b862bf]
17503
17504	* defaults.h:
17505	#undef T_FOO to avoid conflicts with system defines (like on
17506	ULTRIX).
17507	[d9f0aac092b0]
17508
17509	* TODO, sample.sudoers, sudoers.cat, sudoers.html, sudoers.man,
17510	sudoers.pod:
17511	Docuement "Defaults" lines in /etc/sudoers. Still needs some
17512	fleshing out but this is a start.
17513	[521a1e629bbc]
17514
175151999-10-10  Todd C. Miller  <Todd.Miller@courtesan.com>
17516
17517	* use strtol, not strtoul since not everyone has not strtoul
17518	[988462f093cc]
17519
17520	* defaults.c:
17521	use strtol, not strtoul since not everyone has not strtoul
17522	[fce835ce62e3]
17523
17524	* lex.yy.c, parse.lex:
17525	last {WORD} rule should only apply in the INITIAL state
17526	[9b57570bfa83]
17527
17528	* lex.yy.c, parse.lex:
17529	o Add support for escaped characters in the WORD macro o Modify
17530	fill() to squash escape chars
17531	[87572d59e4e0]
17532
17533	* defaults.c, defaults.h:
17534	o Add T_PATH flag to allow simple sanity checks for default values
17535	that are supposed to be pathnames. o Fix a duplicate free when
17536	visudo finds an error.
17537	[bdc6855a6c6d]
17538
175391999-10-09  Todd C. Miller  <Todd.Miller@courtesan.com>
17540
17541	* defaults.c, defaults.h, logging.c:
17542	mail_if_foo -> mail_foo
17543	[cbee9415875d]
17544
175451999-10-08  Todd C. Miller  <Todd.Miller@courtesan.com>
17546
17547	* compat.h, defaults.c, defaults.h, sudo.c, tgetpass.c:
17548	o Add requiretty option o Move O_NOCTTY to compat.h
17549	[65b8bf0e1795]
17550
17551	* logging.c:
17552	The exit() in log_error() was mistakenly removed in a previous
17553	version. Put it back...
17554	[9473449130a4]
17555
175561999-10-07  Todd C. Miller  <Todd.Miller@courtesan.com>
17557
17558	* INSTALL, TODO, auth/aix_auth.c, auth/fwtk.c, auth/pam.c,
17559	auth/rfc1938.c, auth/sia.c, auth/sudo_auth.c, check.c, config.h.in,
17560	configure, configure.in, defaults.c, defaults.h, find_path.c,
17561	getspwuid.c, logging.c, parse.yacc, sudo.c, sudo.tab.c:
17562	o Change defaults stuff to put the value right in the struct. o
17563	Implement mailer_flags o Store syslog stuff both in int and string
17564	form. Setting the string form magically updates the int version.
17565	o Add boolean attribute to strings where it makes sense to say !foo
17566	[4698953f9a36]
17567
17568	* tgetpass.c:
17569	add O_NOCTTY when opening /dev/tty just in case
17570	[4c6d1d1bb300]
17571
175721999-10-06  Todd C. Miller  <Todd.Miller@courtesan.com>
17573
17574	* auth/API:
17575	cleanup function no longer takes a status arg
17576	[0819edbfe7f8]
17577
17578	* INSTALL:
17579	the the
17580	[19aadb65ea28]
17581
175821999-09-15  Todd C. Miller  <Todd.Miller@courtesan.com>
17583
17584	* TODO, config.h.in, configure, configure.in, logging.c:
17585	Use strftime() instead of ctime() if it is available.
17586	[fb60ea63b514]
17587
175881999-09-14  Todd C. Miller  <Todd.Miller@courtesan.com>
17589
17590	* defaults.c:
17591	fix copyright date
17592	[4a53b54aa72f]
17593
17594	* RUNSON:
17595	update ReliantUNIX entry
17596	[de618a4f67d9]
17597
17598	* defaults.c, defaults.h, logging.c:
17599	add log_year option
17600	[251a9e20568a]
17601
17602	* configure, configure.in:
17603	add --without-sendmail to help output
17604	[93162f199902]
17605
17606	* configure, configure.in:
17607	enforce an otctal arg for --with-suoders-mode
17608	[45e1b04ccad3]
17609
176101999-09-08  Todd C. Miller  <Todd.Miller@courtesan.com>
17611
17612	* BUGS, INSTALL, Makefile.in, TODO, aclocal.m4, auth/aix_auth.c,
17613	auth/fwtk.c, auth/kerb5.c, auth/pam.c, auth/rfc1938.c, auth/sia.c,
17614	auth/sudo_auth.c, check.c, config.h.in, configure, configure.in,
17615	defaults.c, defaults.h, find_path.c, lex.yy.c, logging.c, parse.h,
17616	parse.lex, parse.yacc, sudo.c, sudo.h, sudo.tab.c, sudo.tab.h,
17617	testsudoers.c, version.c, visudo.c:
17618	Add support for "Defaults" line in sudoers to make configuration
17619	variables changable at runtime (and on a global, per-host and per-
17620	user basis). Both the names and the internal representation are
17621	still subject to change. It was necessary to make sudo_user.runas
17622	but a char ** instead of a char * since this value can be changed by
17623	a Defaults line. There is a similar (but more complicated) issue
17624	with sudo_user.prompt but it is handled differently at the moment.
17625
17626	Add a "-L" flag to list the name of options with their descriptions.
17627	This may only be temporary.
17628
17629	Move some prototypes to parse.h
17630
17631	Be much less restrictive on what is allowed for a username.
17632	[f71abf7ba80c]
17633
17634	* sample.syslog.conf:
17635	Add more info
17636	[e952e6f42d4d]
17637
176381999-09-04  Todd C. Miller  <Todd.Miller@courtesan.com>
17639
17640	* LICENSE, fnmatch.3, fnmatch.c, getcwd.c, lsearch.c, snprintf.c,
17641	strcasecmp.c:
17642	UCB has dropped the advertising clause from their license.
17643	[a5602b36a341]
17644
176451999-08-31  Todd C. Miller  <Todd.Miller@courtesan.com>
17646
17647	* auth/sudo_auth.h:
17648	move dce_verofy proto to correct section
17649	[972c815af558]
17650
17651	* auth/dce.c:
17652	remove XXX
17653	[820631855be0]
17654
176551999-08-28  Todd C. Miller  <Todd.Miller@courtesan.com>
17656
17657	* emul/fnmatch.h:
17658	Add fnmatch() prototype
17659	[79e84576d92a]
17660
17661	* fnmatch.c, parse.c, testsudoers.c:
17662	Move inclusion of emul/fnmatch.h to be after sudo.h for __P
17663	[1182c89fa811]
17664
17665	* sudo.h:
17666	add strcasecmp proto
17667	[512d1d8a6a0c]
17668
17669	* auth/sudo_auth.c:
17670	add check for case where there are no auth methods
17671	[e4af2b91b43e]
17672
17673	* configure, configure.in:
17674	Define _XOPEN_EXTENDED_SOURCE on AIX and __USE_FIXED_PROTOTYPES__ on
17675	SunOS4 w/ gcc
17676	[746ce8bcec23]
17677
17678	* getspwuid.c, lex.yy.c, parse.lex, parse.yacc, sudo.tab.c:
17679	include strings.h everywhere we include string.h
17680	[6f7d5d437e7b]
17681
17682	* version.c:
17683	nicer output when showing auth methods
17684	[0eac4b977f9d]
17685
17686	* version.c:
17687	Add support for SEND_MAIL_WHEN_NO_HOST
17688	[9f20a3a3fae6]
17689
17690	* config.h.in, configure, configure.in:
17691	Add _GNU_SOURCE for Linux
17692	[c7bd8c511847]
17693
17694	* lex.yy.c, parse.lex:
17695	fix definition of OCTECT
17696	[4af30e63244d]
17697
17698	* configure, configure.in:
17699	aix_auth.o not authenticate.o
17700	[fe95dfb08df4]
17701
177021999-08-27  Todd C. Miller  <Todd.Miller@courtesan.com>
17703
17704	* sudo.c:
17705	Only block SIGINT, SIGQUIT, SIGTSTP (which can be generated from the
17706	keyboard). Since we run with ruid/euid == 0 the user can't really
17707	signal us in nasty ways.
17708	[a7f6487c0f48]
17709
17710	* visudo.c:
17711	Don't need to worry about catching too many signals since we do
17712	locking on the tmp file. If a lockfile is really stale, it will be
17713	detected and overwritten.
17714	[28983db3e749]
17715
17716	* INSTALL, Makefile.in:
17717	include auth/API in tarball
17718	[014991600252]
17719
17720	* auth/sudo_auth.c:
17721	move memset() of plaintext pw outside of verify loop and only do the
17722	memset if we are *not* in standalone mode.
17723	[66f8e87567e2]
17724
17725	* auth/sudo_auth.c, auth/sudo_auth.h:
17726	DCE is not a standalone method
17727	[34963e2d8a1b]
17728
17729	* sudo.c:
17730	fix --enable-noargs-shell
17731	[4234062abbb0]
17732
17733	* snprintf.c:
17734	"#ifdef __STDC__" not "#if __STDC__" (I missed one)
17735	[c430b80454c6]
17736
17737	* auth/fwtk.c, auth/sia.c:
17738	_cleanup() function returns an int.
17739	[d1a1cc071ec1]
17740
17741	* auth/dce.c:
17742	there were still some return(0)'s hanging around, make them
17743	AUTH_FAILURE
17744	[1002aa1962c3]
17745
17746	* parse.c:
17747	typo in comment
17748	[5abc410dbfd2]
17749
17750	* version.c:
17751	add missing semicolon
17752	[a262283b52a5]
17753
17754	* auth/sudo_auth.h:
17755	missing backslash
17756	[bf89f6bd2900]
17757
177581999-08-26  Todd C. Miller  <Todd.Miller@courtesan.com>
17759
17760	* CHANGES, config.h.in, configure, configure.in:
17761	Kill _XOPEN_EXTENDED_SOURCE -- causes problems on some OSes
17762	[f1a9bca0cf67]
17763
17764	* Makefile.in:
17765	add parse.h to HDRS
17766	[a3d054987766]
17767
17768	* Makefile.in, configure, configure.in:
17769	Kill VISUDO_LIBS and VISUDO_LDFLAGS. Add LIBS, NET_LIBS, and
17770	LDFLAGS. Common libs go in LIBS, commong ld flags go in LDFLAGS and
17771	network libs like -lsocket, -lnsl go in NET_LIBS. This allows
17772	testsudoers to build on Solaris and is a bit cleaner in general.
17773	[4e6239e97002]
17774
17775	* UPGRADE:
17776	mention ptmp -> sudoers.tmp
17777	[ec3baa0fe8a1]
17778
17779	* config.h.in, configure, configure.in:
17780	Define _XOPEN_SOURCE_EXTENDED not _XOPEN_SOURCE
17781	[6f93dc7f39f5]
17782
17783	* RUNSON:
17784	add 2 reports
17785	[ce0fcc00ee4e]
17786
17787	* auth/kerb5.c:
17788	Minor changes, mostly cosmetic. verify_krb_v5_tgt() changed to
17789	return a value more like a system function
17790	[0dd56aa21424]
17791
17792	* auth/dce.c:
17793	Add an XXX
17794	[58fc8562c212]
17795
17796	* TODO:
17797	more things todo!
17798	[5a459d0cf339]
17799
17800	* sample.sudoers:
17801	update based on what is in the man page
17802	[1a0477db96fa]
17803
17804	* parse.yacc, sudo.tab.c:
17805	minor change to first line printed in -l mode
17806	[69eb57d96952]
17807
17808	* sudo.cat, sudo.html, sudo.man, sudo.pod:
17809	rename "ENVIRONMENT VARIABLES" section to "ENVIRONMENT" to be more
17810	standard and add "EXAMPLES" section
17811	[7e543335ebe1]
17812
17813	* visudo.cat, visudo.html, visudo.man, visudo.pod:
17814	rename "ENVIRONMENT VARIABLES" section to "ENVIRONMENT" to be more
17815	standard
17816	[f82d87ed65c2]
17817
17818	* logging.c, parse.c, sudo.h:
17819	add FLAG_NO_CHECK
17820	[c7d69176a2d7]
17821
17822	* lex.yy.c, parse.lex:
17823	make an OCTET really be limited to 0-255
17824	[6ee568dd6a02]
17825
17826	* UPGRADE:
17827	mention timestamp changes
17828	[e44d5302bf60]
17829
17830	* PORTING:
17831	cosmetic cleanup
17832	[36fa3a2664dd]
17833
17834	* sudoers.cat, sudoers.html, sudoers.man, sudoers.pod:
17835	new sudoers(8) man page
17836	[e674d06283d0]
17837
178381999-08-24  Todd C. Miller  <Todd.Miller@courtesan.com>
17839
17840	* version.c:
17841	Update comments about syslog name tables
17842	[63830a782dcb]
17843
17844	* CHANGES, LICENSE, Makefile.in, configure, configure.in, parse.yacc,
17845	strcasecmp.c, sudo.tab.c:
17846	include strcasecmp() for those without it
17847	[a0d8e2488bbc]
17848
17849	* sample.sudoers:
17850	Use the : operator some more and fix a typo
17851	[18804c70da86]
17852
17853	* HISTORY:
17854	update the history of sudo
17855	[9d9b3d5279b3]
17856
17857	* parse.c, parse.lex, testsudoers.c:
17858	CIDR-style netmask support
17859	[768644467353]
17860
17861	* CHANGES:
17862	recent changes
17863	[a4319e9d07cb]
17864
17865	* sudo.tab.c, sudo.tab.h:
17866	these should be generated with byacc, not bison
17867	[f57b9489b752]
17868
17869	* lex.yy.c:
17870	regen
17871	[522461f95dfa]
17872
17873	* parse.h, parse.yacc, sudo.tab.c, sudo.tab.h:
17874	In "sudo -l" mode, the type of the stored (expanded) alias was not
17875	stored with the contents. This could lead to incorrect output if
17876	the sudoers file had different alias types with the same name.
17877	Normal parsing (ie: not in '-l' mode) is unaffected.
17878	[823fe2bc4b79]
17879
178801999-08-23  Todd C. Miller  <Todd.Miller@courtesan.com>
17881
17882	* configure, configure.in:
17883	define _XOPEN_SOURCE to get at crypt() proto on some systems
17884	[1b3769b86fb9]
17885
178861999-08-22  Todd C. Miller  <Todd.Miller@courtesan.com>
17887
17888	* snprintf.c:
17889	fix comment
17890	[fc1264df00f7]
17891
17892	* tgetpass.c:
17893	don't need limits.h
17894	[f1631829af45]
17895
17896	* snprintf.c:
17897	kill bogus reference to vfprintf
17898	[a0b99b25d389]
17899
17900	* sample.sudoers, sudoers:
17901	better examples
17902	[b4d87ea64cc8]
17903
17904	* snprintf.c:
17905	Add some const in the K&R defs. This is safe since we define const
17906	away if the compiler doesn't grok it.
17907	[614d6e83d45e]
17908
17909	* aclocal.m4, configure:
17910	Better test for working long long support. Ultrix compiler supports
17911	basic long long but not all operations on them.
17912	[5da1508710ed]
17913
17914	* aclocal.m4, auth/secureware.c, config.h.in, configure, getspwuid.c,
17915	snprintf.c, sudo.c:
17916	Add check for LONG_IS_QUAD #undef MAXINT before including
17917	hpsecurity.h to silence an HP-UX warning Check for U?LONG_LONG_MAX
17918	in snprintf.c and use LONG_IS_QUAD
17919	[a1f7993367fc]
17920
179211999-08-21  Todd C. Miller  <Todd.Miller@courtesan.com>
17922
17923	* LICENSE, aclocal.m4, config.h.in, configure, configure.in,
17924	snprintf.c:
17925	UCB-derived snprintf + asprintf support. Supports quads if the
17926	compiler does. No floating point yet, perhaps later...
17927	[0caf05aba945]
17928
179291999-08-20  Todd C. Miller  <Todd.Miller@courtesan.com>
17930
17931	* auth/API, auth/sudo_auth.c, auth/sudo_auth.h, check.c, find_path.c,
17932	goodpath.c, logging.c, parse.c, sudo.c:
17933	Run most of the code as root, not the invoking user. It doesn't
17934	really gain us anything to run as the user since an attacker can
17935	just have an setuid(0) in their egg. Running as root solves
17936	potential problems wrt signalling.
17937	[408e530dda01]
17938
17939	* sudo.tab.c:
17940	regen
17941	[f8cfb37e37de]
17942
179431999-08-19  Todd C. Miller  <Todd.Miller@courtesan.com>
17944
17945	* logging.c, sudo.c:
17946	Don't wait for child to finish in log_error(), let the signal
17947	handler get it if we are still running, else let init reap it for
17948	us. The extra time it takes to wait lets the user know that mail is
17949	being sent.
17950
17951	Install SIGCHLD handler in main() and for POSIX signals, block
17952	everything
17953	*except* SIGCHLD.
17954	[d2b6ab0ef3be]
17955
17956	* INSTALL, config.h.in, configure, configure.in, logging.c, parse.c,
17957	parse.yacc, sudo.c, sudo.h:
17958	sudoers_lookup() now returns a bitmap instead of an int. This makes
17959	it possible to express things like "failed to validate because user
17960	not listed for this host". Some thigns that were previously
17961	VALIDATE_FOO are now FLAG_FOO. This may change later on.
17962
17963	Reorganized code in log_auth() and sudo.c to deal with above
17964	changes.
17965
17966	Safer versions of push/pushcp with in the do { ... } while (0) style
17967
17968	parse.yacc now saves info on the stack to allow parse.c to determine
17969	if a user was listed, but not for the host he/she tried to run on.
17970
17971	Added --with-mail-if-no-host option
17972	[63326cb01efc]
17973
179741999-08-17  Todd C. Miller  <Todd.Miller@courtesan.com>
17975
17976	* parse.yacc, sudo.h, sudo.tab.c, visudo.c, visudo.cat, visudo.html,
17977	visudo.man, visudo.pod:
17978	o NewArgv and NewArgc don't need to be externally visible. o If
17979	pedantic > 1, it is a parse error. o Add -s (strict) option to
17980	visudo which sets pedantic to 2.
17981	[5d7d81b55cd5]
17982
17983	* HISTORY, INSTALL:
17984	Just have sudo-bugs contact info in one place
17985	[e7f6588ea683]
17986
17987	* sudo.cat, sudo.html, sudo.man, sudo.pod:
17988	Add BUGS section
17989	[6607d96ea510]
17990
17991	* Makefile.in, configure, configure.in:
17992	Add testsudoers to default build target if --with-devel Don't clean
17993	generated parser files unless "distclean".
17994	[5827b769dc57]
17995
17996	* parse.yacc, sudo.tab.c:
17997	In pedantic mode we need to save *all* the aliases, not just those
17998	that match, or we get spurious warnings.
17999	[24f5b1f0e1de]
18000
18001	* TROUBLESHOOTING:
18002	reference samples.sylog.conf
18003	[11841668380a]
18004
180051999-08-14  Todd C. Miller  <Todd.Miller@courtesan.com>
18006
18007	* sample.syslog.conf:
18008	Sample entries for syslog.conf
18009	[0f7697d878a1]
18010
18011	* CHANGES:
18012	recent changes
18013	[8bca8810c6bd]
18014
18015	* auth/API, auth/afs.c, auth/aix_auth.c, auth/dce.c, auth/fwtk.c,
18016	auth/kerb4.c, auth/kerb5.c, auth/pam.c, auth/passwd.c,
18017	auth/rfc1938.c, auth/secureware.c, auth/securid.c, auth/sia.c,
18018	auth/sudo_auth.c, auth/sudo_auth.h:
18019	In struct sudo_auth, turn need_root and configured into flags and
18020	add a flag to specify an auth method is running alone (the only
18021	one). Pass auth methods their sudo_auth pointer, not the data
18022	pointer. This allows us to get at the flags and tell if we are the
18023	only auth method. That, in turn, allows the method to be able to
18024	decide what should/should not be a fatal error. Currently only
18025	rfc1938 uses it this way, which allows us to kill the OTP_ONLY
18026	define and te hackery that went with it. With access to the
18027	sudo_auth struct, methods can also get at a string holding their
18028	cannonical name (useful in error messages).
18029	[b7e320fc6511]
18030
18031	* INSTALL, Makefile.in, README, config.h.in, configure, configure.in,
18032	getspwuid.c, lex.yy.c, parse.lex, parse.yacc, sudo.tab.c,
18033	sudo.tab.h:
18034	o --with-otp deprecated, use --without-passwd instead o real
18035	dependencies in the Makefile o --with-devel option to enable yacc,
18036	lex, and -Wall o style -- "foo -> bar" becomes "foo->bar" o ALL goes
18037	back to being a token, not a string but don't leak memory o rename
18038	hsotspec -> host in parse.yacc
18039	[912c45226cb2]
18040
180411999-08-12  Todd C. Miller  <Todd.Miller@courtesan.com>
18042
18043	* BUGS, CHANGES:
18044	recent changes
18045	[801fa6e55687]
18046
18047	* auth/sudo_auth.c, configure, configure.in, interfaces.c, snprintf.c,
18048	sudo.c, sudo.h:
18049	o Digital UNIX needs to check for *snprintf() before -ldb is added
18050	to LIBS since -ldb includes a bogus snprintf(). o Add forward refs
18051	for struct mbuf and struct rtentry for Digital UNIX. o Reorder some
18052	functions in snprintf.c to fix -Wall o Add missing includes to fix
18053	more -Wall
18054	[8d207203e126]
18055
18056	* INSTALL, auth/sudo_auth.c, check.c, config.h.in, configure,
18057	configure.in, parse.yacc, sudo.tab.c, testsudoers.c, version.c,
18058	visudo.c:
18059	o Add a "pedentic" flag to the parser. This makes sudo warn in
18060	cases where an alias may be used before it is defined. Only turned
18061	on for visudo and testsudoers. o Add --disable-authentication option
18062	that makes sudo not require authentication by default. The PASSWD
18063	tag can be used to require authentication for an entry. We no
18064	longer overload --without-passwd.
18065	[f307e09adf98]
18066
18067	* lex.yy.c, parse.lex:
18068	Break 'WORD' regexp def into HOSTNAME and USERNAME. These days a
18069	username can contain just about anything so be very permissive. Also
18070	drop the unused \. punctuation.
18071	[06a50614ff89]
18072
180731999-08-09  Todd C. Miller  <Todd.Miller@courtesan.com>
18074
18075	* parse.yacc, sudo.tab.c:
18076	o add a 'val' element to aliasinfo struct and move -> parse.h o
18077	find_alias() now returns an aliasinfo * instead of boolean o
18078	add_alias() now takes a value parameter to store in the
18079	aliasinfo.val o The cmnd, hostspec, runasuser, and user rules now
18080	return: 1) positive match 0) negative match (due to '!')
18081	-1) no match This means setting $$ explicitly in all cases, which I
18082	should have done in the first place. It also means that we always
18083	store a value that is != -1 and when we see a '!' we can set
18084	*_matches to !rv if rv != -1. The upshot of all of this is that '!'
18085	now works the way it should in lists and some of the rules are more
18086	uniform and sensible.
18087	[ad8e73b5d581]
18088
18089	* Makefile.in:
18090	add parse.h dependency
18091	[4ccccd464d30]
18092
18093	* parse.h:
18094	kill unused *_matched macros
18095	[02cba6dcb732]
18096
18097	* parse.yacc:
18098	Allow a list of users as the first thing in a user spec, not just a
18099	single entry. This makes things more uniform, though it does allow
18100	you to write user specs that are hard to read.
18101	[3c4c91c508ca]
18102
18103	* sudo.tab.c:
18104	parse.yacc
18105	[feca81881bb6]
18106
18107	* configure:
18108	regen
18109	[6f247010bb3b]
18110
18111	* configure.in:
18112	fix check for crypt() in libufc
18113	[82770736f4b0]
18114
181151999-08-07  Todd C. Miller  <Todd.Miller@courtesan.com>
18116
18117	* README:
18118	sudo-users list now exists
18119	[4716d2bb0bbf]
18120
18121	* INSTALL, PORTING, README, TODO, TROUBLESHOOTING:
18122	Update to reality.
18123	[1eda2d57e42a]
18124
18125	* CHANGES, Makefile.in, TODO, TROUBLESHOOTING, check.c, compat.h,
18126	config.h.in, configure, configure.in, fileops.c, logging.c, sudo.h,
18127	version.c, visudo.c:
18128	o Move lock_file() and touch() into fileops.c so visudo can use them
18129	o Visudo now locks the sudoers temp file instead of bailing when the
18130	temp file already exists. This fixes the problem of stale temp
18131	files but it does *require* that you not try to put the temp file in
18132	a world-writable directory. This shoud not be an issue as the temp
18133	file should live in the same dir as sudoers. o Visudo now only
18134	installs the temp file as sudoers if it changed.
18135	[2517cd06c070]
18136
181371999-08-06  Todd C. Miller  <Todd.Miller@courtesan.com>
18138
18139	* logging.c:
18140	add fcntl locking
18141	[c304adeaf515]
18142
18143	* config.h.in, configure, configure.in, logging.c:
18144	Lock the log file.
18145	[d8652704fbdf]
18146
18147	* Makefile.in, TROUBLESHOOTING, parse.c, pathnames.h.in, sudo.c,
18148	visudo.c, visudo.cat, visudo.html, visudo.man, visudo.pod:
18149	o /etc/stmp -> /etc/sudoers.tmp since solaris uses stmp as shadow
18150	temp file o _PATH_SUDO_SUDOERS -> _PATH_SUDOERS and _PATH_SUDO_STMP
18151	-> _PATH_SUDOERS_TMP
18152	[68cad8975807]
18153
181541999-08-05  Todd C. Miller  <Todd.Miller@courtesan.com>
18155
18156	* INSTALL, check.c, config.h.in, configure, configure.in, version.c:
18157	o Kill *_MESSAGE and replace with NO_LECTURE o Add more things to
18158	root sudo -V config reporting
18159	[cdd2613a9dcf]
18160
18161	* configure, configure.in:
18162	aix_auth.o not authenticate.o
18163	[d972e35f6730]
18164
18165	* config.h.in:
18166	Add --with-goodpri and --with-badpri configure options to specify
18167	the syslog priority to use.
18168	[2595ae50ab86]
18169
18170	* INSTALL, configure, configure.in, logging.h:
18171	Add --with-goodpri and --with-badpri configure options to specify
18172	the syslog priority to use.
18173	[8276ee9b2b49]
18174
18175	* compat.h:
18176	kill crufty AIX stuff
18177	[a4f35ef9854e]
18178
18179	* Makefile.in:
18180	Sigh, some versions of make (like Solaris's) don't deal with $< like
18181	I would expect. Both GNU and BSD makes get this right but... So, we
18182	just expand $< inline at the cost of some ugliness.
18183	[b1b456f8801f]
18184
18185	* version.c:
18186	If the invoking user is root, sudo will now print configure info in
18187	-V mode. Currently just prints logging info, to be expanded later.
18188	[392f7ed99267]
18189
18190	* logging.c, logging.h, sudo.c, sudo.h:
18191	o new defines for syslog facility and priority o use new
18192	print_version() functino for -V mode
18193	[78abc5142985]
18194
18195	* check.c:
18196	Don't need version.c
18197	[db9a830ad893]
18198
18199	* aclocal.m4, config.h.in, configure, configure.in:
18200	Add check for syslog facilities and priorities tables in syslog.h
18201	[b86213e5fc5c]
18202
18203	* Makefile.in:
18204	o authenticate -> aix_auth o add version.c
18205	[44b6b9a8d0f5]
18206
18207	* auth/sudo_auth.c:
18208	Missed a prompt -> user_prompt conversion
18209	[e4c60b1f210c]
18210
182111999-08-04  Todd C. Miller  <Todd.Miller@courtesan.com>
18212
18213	* TODO:
18214	sudo should lock its logfile
18215	[6d2830b28b07]
18216
18217	* parse.yacc, sudo.tab.c:
18218	o Add '!' correctly when expanding Aliases. o Add shortcut macros
18219	for append() to make things more readable. o The separator in
18220	append() is now a string instead of a char. o In append(), only
18221	prepend the separator if the last char is not a '!'. This is a
18222	hack but it greatly simplifies '!' handling. o In -l mode, Runas
18223	lists and NOPASSWD/PASSWD tags are now inherited across entries in
18224	a list (matches current behavior). o Fix formatting in -l mode such
18225	that items in a list are separated by a space. Greatlt improves
18226	readability. o Space for name field in struct aliasinfo is now
18227	allocated dyanically instead of using a (big) buffer. o In
18228	add_alias(), only search the list once (lsearch instead of lfind +
18229	lsearch)
18230	[51f7e07addb9]
18231
18232	* lex.yy.c, sudo.tab.c, sudo.tab.h:
18233	regen
18234	[5c19bb05dc21]
18235
18236	* configure, configure.in:
18237	Solais pam doesn't require anye xtra setup
18238	[a25ba03d91d1]
18239
18240	* parse.yacc:
18241	o Simpler '!' support now that the lexer deals with multiple !'s for
18242	us. o In the case of opFOO, have FOO give a boolean return value and
18243	set foo_matches in opFOO, not FOO. o Treat 'ALL' as a string since
18244	it gets fill()'d in parse.lex--fixes a small memory leak. In the
18245	long run it may be better to just fix parse.lex and make ALL back
18246	into a token. However, having it be a string is useful since it
18247	can be easily passed back to the parent rule if we so desire.
18248	[b3c64b443018]
18249
18250	* parse.lex:
18251	o Remove some unnecessary backslashes o collapse multiple !'s by
18252	using !+ and checking if yyleng is even or odd. this allows us to
18253	simplify ! handling in parse.yacc
18254	[76330e8da8e3]
18255
18256	* sudo.c:
18257	-u flag was being ignored
18258	[e30283207585]
18259
182601999-08-01  Todd C. Miller  <Todd.Miller@courtesan.com>
18261
18262	* Makefile.in:
18263	correct fix
18264	[a0e2377dec8f]
18265
18266	* Makefile.in:
18267	work around pod2man stupididy
18268	[7c755640b67f]
18269
18270	* Makefile.in:
18271	correct dependencies for .cat
18272	[5ed7b0653b68]
18273
18274	* sudo.cat, sudo.man, visudo.cat, visudo.man:
18275	regen
18276	[b74510dd6a0a]
18277
18278	* sudo.pod, visudo.pod:
18279	Add copyright Update to reality
18280	[188e9b046c15]
18281
18282	* parse.c, sudo.c, sudo.h:
18283	rename validate() to the more descriptive sudoers_lookup()
18284	[7a1cb652f379]
18285
18286	* auth/aix_auth.c:
18287	use tgetpass
18288	[b8ba5daec40a]
18289
182901999-07-31  Todd C. Miller  <Todd.Miller@courtesan.com>
18291
18292	* CHANGES:
18293	updates
18294	[e61460cdf4a0]
18295
18296	* HISTORY, INSTALL, Makefile.in, README, RUNSON, TROUBLESHOOTING,
18297	configure, configure.in, sudo.c:
18298	Sudo, not CU Sudo
18299	[9061b3573c0c]
18300
18301	* LICENSE:
18302	add 4th term to license similar to term 5 in the apache license
18303	[92712e895afb]
18304
18305	* emul/search.h, emul/utime.h:
18306	add 4th term to license similar to term 5 in the apache license
18307	[4f93a8b9396e]
18308
18309	* auth/afs.c, auth/aix_auth.c, auth/dce.c, auth/fwtk.c, auth/kerb4.c,
18310	auth/kerb5.c, auth/pam.c, auth/passwd.c, auth/rfc1938.c,
18311	auth/secureware.c, auth/securid.c, auth/sia.c, auth/sudo_auth.c,
18312	auth/sudo_auth.h, insults.h, interfaces.c, interfaces.h, lex.yy.c,
18313	logging.c, logging.h, parse.c, parse.h, parse.lex, parse.yacc,
18314	pathnames.h.in, putenv.c, strerror.c, sudo.c, sudo.h, sudo.tab.c,
18315	sudo_setenv.c, testsudoers.c, tgetpass.c, utime.c, version.h,
18316	visudo.c:
18317	add 4th term to license similar to term 5 in the apache license
18318	[afae9f2bf9ec]
18319
18320	* ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h:
18321	add 4th term to license similar to term 5 in the apache license
18322	[c389d3fdafac]
18323
18324	* Makefile.in, alloc.c, check.c, compat.h, config.h.in, find_path.c,
18325	getspwuid.c, goodpath.c:
18326	add 4th term to license similar to term 5 in the apache license
18327	[969e63dbd38e]
18328
18329	* LICENSE, aclocal.m4, auth/rfc1938.c, check.c, configure.in,
18330	insults.h, logging.c, sudo.c, sudo.h:
18331	there was a 1995 release too
18332	[5963fd89457a]
18333
183341999-07-28  Todd C. Miller  <Todd.Miller@courtesan.com>
18335
18336	* CHANGES:
18337	updates
18338	[254b794f16ab]
18339
18340	* check.c:
18341	Use dirs instead of files for timestamp. This allows tty and non-
18342	tty schemes to coexist reasonably. Note, however, that when you
18343	update a tty ticket, the mtime on the user dir gets updated as well.
18344	[44bfac32f799]
18345
18346	* configure, configure.in:
18347	Fix getprpwnam() checking on SCO. Need to link with "-lprot -lx"
18348	when linking test program, not just -lprot. Also add check for
18349	getspnam(). The SCO docs indicate that /etc/shadow can be used but
18350	this may be a lie.
18351	[2ba21d36cc1e]
18352
183531999-07-24  Todd C. Miller  <Todd.Miller@courtesan.com>
18354
18355	* auth/API:
18356	first cut at auth API description
18357	[3d10df021eb8]
18358
183591999-07-22  Todd C. Miller  <Todd.Miller@courtesan.com>
18360
18361	* auth/fwtk.c, auth/kerb4.c, auth/kerb5.c, auth/pam.c, auth/rfc1938.c,
18362	auth/secureware.c, auth/securid.c, auth/sudo_auth.c,
18363	auth/sudo_auth.h:
18364	auth API change. There is now an init method that gets run before
18365	the main loop. This allows auth routines to differentiate between
18366	initialization that happens once vs. setup that needs to run each
18367	time through the loop.
18368	[76df1c0d3478]
18369
18370	* auth/kerb5.c, logging.c:
18371	use easprintf() and evasprintf()
18372	[fd97d96dc12f]
18373
18374	* alloc.c, sudo.h:
18375	add easprintf() and evasprintf(), error checking versions of
18376	asprintf() and vasprintf()
18377	[f54385de20b7]
18378
18379	* TODO:
18380	remove 2 items. One done, one won't do.
18381	[64513b47bc7a]
18382
18383	* lex.yy.c, sudo.tab.c:
18384	regen
18385	[4aa299de2752]
18386
18387	* configure, sudo.cat, sudo.html, sudo.man, sudoers.html, visudo.cat,
18388	visudo.html, visudo.man:
18389	regen
18390	[553c0d1209be]
18391
18392	* CHANGES:
18393	new changes
18394	[d7be00b7e36b]
18395
18396	* sudo.pod:
18397	o Document -K flag and update meaning of -k flag. o BSD-style
18398	copyright o Document clearing of BIND resolver environment variables
18399	o Clarify bit about shared libs o suggest rc files create /tmp/.odus
18400	if your OS gives away files
18401	[4a4092be1455]
18402
18403	* visudo.pod:
18404	BSD license
18405	[ad0bfd0a4630]
18406
18407	* version.h:
18408	BSD-style copyright
18409	[ecc6479325be]
18410
18411	* tgetpass.c:
18412	o BSD copyright o no need to block signals, we now do that in main()
18413	o cosmetic changes
18414	[61958beda7ab]
18415
18416	* testsudoers.c, visudo.c:
18417	o BSD-style copyright o Use "struct sudo_user" instead of old
18418	globals. o some cometic cleanup
18419	[88c0c6924082]
18420
18421	* sudo_setenv.c:
18422	BSD-style copyright
18423	[df20290129a0]
18424
18425	* sudo.h:
18426	o BSD copyright o logging and parser bits moved to their own .h
18427	files o new "struct sudo_user" to encapsulate many of the old
18428	globals.
18429	[50fc86bf25cb]
18430
18431	* sudo.c:
18432	o no longer contains sudo 1.1/1.2 code o BSD copyright o use new
18433	logging routines o simplified flow of control o BIND resolver
18434	additions to badenv_table
18435	[8c53f15bfcb0]
18436
18437	* strerror.c:
18438	BSD-style copyright
18439	[7c906c3a82ac]
18440
18441	* snprintf.c:
18442	Now compiles on more K&R compilers
18443	[07ab1d3231c7]
18444
18445	* putenv.c:
18446	BSD-style copyright, cosmetic changes
18447	[c42371295881]
18448
18449	* pathnames.h.in:
18450	BSD-style copyright
18451	[e5c34ebd4cf1]
18452
18453	* parse.c, parse.h, parse.lex, parse.yacc:
18454	BSD-style copyright. Move parser-specific defines and structs into
18455	parse.h + other cosmetic changes
18456	[d3088efb6228]
18457
18458	* logging.h:
18459	defines for logging routines
18460	[13147941c02d]
18461
18462	* find_path.c, getspwuid.c, goodpath.c, interfaces.c:
18463	BSD-style copyright, cosmetic changes
18464	[e8205e91a4fa]
18465
18466	* ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h, insults.h,
18467	interfaces.h:
18468	BSD-style copyright
18469	[b9499da7cdce]
18470
18471	* configure.in:
18472	o tgetpass.c is no longer optional o kill DCE_OBJS, add AUTH_OBJS o
18473	kill --disable-tgetpass o add --without-passwd o changes to fill in
18474	AUTH_OBJS for new auth api o check for strerror(), v?snprintf() and
18475	v?asprintf() o replace --with-AuthSRV with --with-fwtk
18476	[9a3f39b9c128]
18477
18478	* config.h.in:
18479	BSD-style copyright. Remove USE_GETPASS and HAVE_UTIME_NULL. Add
18480	HAVE_FWTK, HAVE_STRERROR, HAVE_SNPRINTF, HAVE_VSNPRINTF,
18481	HAVE_ASPRINTF, HAVE_VASPRINTF, WITHOUT_PASSWD and NO_PASSWD
18482	[9a09054db53a]
18483
18484	* compat.h:
18485	BSD-style copyright; Add S_IFLNK and MIN/MAX id they are missing.
18486	[25509c566975]
18487
18488	* alloc.c:
18489	BSD-style copyright
18490	[4967be892363]
18491
18492	* TROUBLESHOOTING:
18493	no more --with-getpass
18494	[afd5b670c196]
18495
18496	* TODO:
18497	Take out things I've done...
18498	[375420c8270e]
18499
18500	* README:
18501	Refer to LICENSE
18502	[c486c8db30f6]
18503
18504	* PORTING:
18505	--with-getpass no longer exists
18506	[db48202df1bb]
18507
18508	* Makefile.in:
18509	BSD-style copyright. Update to reflect reality wrt new files and
18510	new auth modules.
18511	[61a2ca7940fb]
18512
18513	* INSTALL:
18514	Remove --with-AuthSRV and --disable-tgetpass. Add --with-fwtk and
18515	--without-passwd.
18516	[64e8f9e1c05e]
18517
18518	* HISTORY:
18519	Update history a bit
18520	[df60c0a871b8]
18521
18522	* COPYING, LICENSE:
18523	Now distributed under a BSD-style license
18524	[d1a184ccabe1]
18525
18526	* auth/sudo_auth.c:
18527	o BSD-style copyright o Add support for NO_PASSWD/WITHOUT_PASSWD
18528	options. o skey/opie replaced by rfc1938 code o new struct sudo_user
18529	global
18530	[891b57060868]
18531
18532	* auth/pam.c, auth/sia.c:
18533	BSD-style copyright and use new log functions
18534	[65c44445ea84]
18535
18536	* auth/kerb5.c:
18537	o BSD-style copyright o Use new log functiongs o Use asprintf() and
18538	snprintf() where sensible.
18539	[1ff0feaacf95]
18540
18541	* check.c:
18542	Rewrote all the old sudo 1.1/1.2 code. Timestamp handling is now
18543	done more reasonably--better sanity checks and tty-based stamps are
18544	now done as files in a directory with the same name as the invoking
18545	user, eg. /var/run/sudo/millert/ttyp1. It is not currently possible
18546	to mix tty and non-tty based ticket schemes but this may change in
18547	the future (it requires sudo to use a directory instead of a file in
18548	the non-tty case). Also, ``sudo -k'' now sets the ticket back to
18549	the epoch and ``sudo -K'' really deletes the file. That way you
18550	don't get the lecture again just because you killed your ticket in
18551	.logout. BSD-style copyright now.
18552	[ec3460f85be8]
18553
18554	* logging.c:
18555	o rewritten logging routines. log_error() now takes printf-style
18556	varargs and log_auth() for the return value of validate(). o BSD-
18557	style copyright
18558	[438292025c4e]
18559
18560	* auth.c, check_sia.c, dce_pwent.c, secureware.c:
18561	superceded by new auth API
18562	[412060590da7]
18563
18564	* auth/kerb4.c:
18565	BSD-style copyright
18566	[cc4e800833c7]
18567
18568	* auth/fwtk.c:
18569	Use snprintf() where it makes sense and add a BSD-style copyright
18570	[1b7502388a74]
18571
18572	* auth/afs.c, auth/aix_auth.c, auth/dce.c, auth/passwd.c,
18573	auth/rfc1938.c, auth/secureware.c, auth/securid.c, auth/sudo_auth.h:
18574	BSD-style copyright
18575	[42583bedae5c]
18576
18577	* emul/utime.h, utime.c:
18578	BSD-style copyright
18579	[3985c90aba47]
18580
18581	* emul/search.h:
18582	this has been rewritten so use my BSD-style copyright
18583	[176df1b0de6f]
18584
185851999-07-15  Todd C. Miller  <Todd.Miller@courtesan.com>
18586
18587	* snprintf.c:
18588	include malloc.h if no stdlib.h
18589	[7b123f1d1d03]
18590
18591	* snprintf.c:
18592	KTH snprintf()/asprintf() for systems w/o them
18593	[3ca9aefb9d01]
18594
18595	* strerror.c:
18596	strerror() for systems w/o it
18597	[7f0bd8a1c1b4]
18598
185991999-07-12  Todd C. Miller  <Todd.Miller@courtesan.com>
18600
18601	* visudo.c:
18602	stylistic changes
18603	[6f99aceb7170]
18604
18605	* parse.c, parse.lex, parse.yacc:
18606	Add contribution info in the main comment
18607	[e50cec10acd6]
18608
186091999-07-11  Todd C. Miller  <Todd.Miller@courtesan.com>
18610
18611	* auth/pam.c:
18612	remove missed ref to PAM_nullpw
18613	[a43e59692cdb]
18614
18615	* auth/sudo_auth.h:
18616	pasto
18617	[891ff138ab89]
18618
18619	* auth/kerb5.c:
18620	more or less complete now--still untested
18621	[21036732faa0]
18622
18623	* auth/afs.c, auth/pam.c:
18624	don't use user_name macro, it will go away
18625	[def7cf727349]
18626
18627	* auth/opie.c, auth/rfc1938.c, auth/skey.c, auth/sudo_auth.h:
18628	combine skey/opie code into rfc1938.c
18629	[44d88ca93d3e]
18630
18631	* auth/dce.c, auth/sudo_auth.h:
18632	DCE authentication method; basically unchanged from dce_pwent.c
18633	[4d468473dd6f]
18634
18635	* auth/aix_auth.c, auth/sudo_auth.h:
18636	AIX authenticate() support. Could probably be much better
18637	[000013321a33]
18638
18639	* auth/sia.c:
18640	Fix an uninitialized variable and some cleanup. Now works (tested)
18641	[fd6ad88ff055]
18642
18643	* auth/sia.c, auth/sudo_auth.h:
18644	SIA support for digital unix
18645	[5335f3e70eab]
18646
18647	* auth/pam.c:
18648	don't use prompt global, it will go away
18649	[fadd22dd6ce4]
18650
18651	* auth/secureware.c:
18652	correct copyright years
18653	[6aa07c49f51b]
18654
18655	* auth/afs.c, auth/fwtk.c, auth/kerb4.c, auth/kerb5.c, auth/opie.c,
18656	auth/pam.c, auth/passwd.c, auth/secureware.c, auth/securid.c,
18657	auth/skey.c, auth/sudo_auth.c, auth/sudo_auth.h:
18658	New authentication API and methods
18659	[9debe9b59c79]
18660
186611999-07-08  Todd C. Miller  <Todd.Miller@courtesan.com>
18662
18663	* sudo.tab.c:
18664	regen
18665	[84578e82c1a6]
18666
18667	* parse.yacc:
18668	only save an entry if user_matches && host_matches, even if the
18669	stack is empty (fix for previous commit)
18670	[00984b078d8a]
18671
18672	* sudo.tab.c:
18673	regen
18674	[66acf160b4b7]
18675
18676	* parse.yacc:
18677	1) Always save an entry on the stack if it is empty. This fixes the
18678	-l and -v flags that were broken by earlier parser changes.
18679
18680	2) In a Runas list, don't negate FALSE -> TRUE since that would make
18681	!foo match any time the user specified a runas user (via -u) other
18682	than foo.
18683	[f322eb54b015]
18684
18685	* testsudoers.c:
18686	interfaces and num_interfaces are now auto, not extern
18687	[113add5c6518]
18688
186891999-07-07  Todd C. Miller  <Todd.Miller@courtesan.com>
18690
18691	* auth.c:
18692	use a static global to keep stae about empty passwords
18693	[bc02e30807d8]
18694
18695	* check_sia.c:
18696	make PASSWORD_NOT_CORRECT logging consistent with other modules
18697	[21962549d5fd]
18698
186991999-07-05  Todd C. Miller  <Todd.Miller@courtesan.com>
18700
18701	* auth.c:
18702	PAM prompt code was wrong, looks like we have to kludge it after
18703	all.
18704	[91f246155ead]
18705
18706	* auth.c:
18707	In the PAM code, when a user hits return at the first password
18708	prompt, exit without a warning just like the normal auth code
18709	[918f59bacdb7]
18710
18711	* configure, configure.in:
18712	kludge around cross-compiler false positives
18713	[5e5fc8356400]
18714
18715	* auth.c, check.c, check_sia.c, logging.c, sudo.h, tgetpass.c:
18716	New (correct) PAM code Tgetpass now takes an echo flag for use with
18717	PAM_PROMPT_ECHO_ON Block SIGINT and SIGTSTP during auth remove a
18718	useless umask setting Change error from BAD_ALLOCATION ->
18719	BAD_AUTH_INIT (for use with sia/PAM) Some cosmetic changes to auth.c
18720	for consistency
18721	[e71397f09dd8]
18722
18723	* sudo.c:
18724	Some -Wall and kill some trailing spaces
18725	[8229b43d5c4e]
18726
18727	* configure.in:
18728	define -D__EXTENSIONS__ for solaris so we get crypt() proto
18729	[7533e4436cab]
18730
187311999-06-22  Todd C. Miller  <Todd.Miller@courtesan.com>
18732
18733	* RUNSON:
18734	add Dynix 4.4.4
18735	[b69f773efbce]
18736
18737	* INSTALL, config.h.in, configure, configure.in:
18738	for kerberos V < version, fall back on old kerb4 auth code
18739	[d685ed3a1d8e]
18740
18741	* INSTALL:
18742	clarify some things
18743	[2f5ba2e8e53a]
18744
18745	* UPGRADE, sudoers.cat, sudoers.man, sudoers.pod:
18746	typos
18747	[8925a109c093]
18748
187491999-06-14  Todd C. Miller  <Todd.Miller@courtesan.com>
18750
18751	* sudo.c:
18752	mention why DONT_LEAK_PATH_INFO is not the default
18753	[0346260cb4ec]
18754
187551999-06-03  Todd C. Miller  <Todd.Miller@courtesan.com>
18756
18757	* tgetpass.c:
18758	Fix open(2) return value checking, was NULL for fopen, should be -1
18759	for open
18760	[355878bf6d8a]
18761
18762	* configure:
18763	regen
18764	[68bf82871862]
18765
18766	* configure.in:
18767	better wording for solaris pam notice
18768	[04e88c7a6c42]
18769
18770	* CHANGES:
18771	document recent changes
18772	[7c922c5622ef]
18773
18774	* TROUBLESHOOTING:
18775	Update shadow password section
18776	[e8448bae7d66]
18777
18778	* auth.c:
18779	move authentication code from check.c to auth.c
18780	[e9f6ecae2399]
18781
18782	* Makefile.in, check.c, sudo.h:
18783	move authentication code to auth.c
18784	[124cded85f46]
18785
187861999-05-17  Todd C. Miller  <Todd.Miller@courtesan.com>
18787
18788	* Makefile.in, check.c, check_sia.c, compat.h, find_path.c,
18789	getspwuid.c, goodpath.c, interfaces.c, interfaces.h, lex.yy.c,
18790	logging.c, parse.c, parse.lex, parse.yacc, secureware.c, sudo.c,
18791	sudo.h, sudo.tab.c, sudo_setenv.c, testsudoers.c, tgetpass.c,
18792	visudo.c:
18793	Move interface-related defines to interfaces.h so we don't have to
18794	include <netinet/in.h> everywhere.
18795	[e7599d8ea0bf]
18796
187971999-05-14  Todd C. Miller  <Todd.Miller@courtesan.com>
18798
18799	* CHANGES, INSTALL, TODO, check.c, compat.h, getspwuid.c, logging.c,
18800	parse.yacc, sudo.c, sudo.tab.c, tgetpass.c:
18801	o Replace _PASSWD_LEN braindeath with our own SUDO_MAX_PASS. It
18802	turns out the old DES crypt does the right thing with passwords
18803	longert than 8 characters. o Fix common typo (necesary ->
18804	necessary) o Update TODO list
18805	[ad75007a6f13]
18806
188071999-05-03  Todd C. Miller  <Todd.Miller@courtesan.com>
18808
18809	* sudo.c:
18810	set $LOGNAME when we set $USER
18811	[391596210fd7]
18812
188131999-04-27  Todd C. Miller  <Todd.Miller@courtesan.com>
18814
18815	* INSTALL:
18816	add comment about digital unix and interfaces.c warning with gcc
18817	[e20f815901cc]
18818
188191999-04-15  Todd C. Miller  <Todd.Miller@courtesan.com>
18820
18821	* sample.sudoers:
18822	use modern paths and give examples for some of the new parser
18823	features
18824	[e7b2e507c695]
18825
188261999-04-10  Todd C. Miller  <Todd.Miller@courtesan.com>
18827
18828	* parse.c:
18829	fix comment
18830	[5eb0d005a65f]
18831
18832	* alloc.c, check.c, check_sia.c, dce_pwent.c, find_path.c,
18833	getspwuid.c, goodpath.c, interfaces.c, lex.yy.c, logging.c, parse.c,
18834	parse.lex, parse.yacc, putenv.c, secureware.c, sudo.c, sudo.tab.c,
18835	sudo_setenv.c, testsudoers.c, tgetpass.c, utime.c, visudo.c:
18836	Function names should be flush with the start of the line so they
18837	can be found trivially in an editor and with grep
18838	[3c400abde574]
18839
18840	* find_path.c, interfaces.c, lex.yy.c, parse.c, parse.lex, parse.yacc,
18841	sudo.c, sudo.tab.c, testsudoers.c, tgetpass.c, visudo.c:
18842	free(3) is already void, no need to cast it
18843	[6981e1ebda0f]
18844
18845	* logging.c, sudo.c, sudo.h:
18846	catch case where cmnd_safe is not set (this should not be possible)
18847	[3e1e3038546c]
18848
18849	* CHANGES, logging.c, parse.c, parse.yacc, sudo.c, sudo.h, sudo.tab.c,
18850	testsudoers.c, visudo.c:
18851	Stash the "safe" path (ie: the one listed in sudoers) to the command
18852	instead of stashing the struct stat. Should be safer.
18853	[aa2883fcf57e]
18854
188551999-04-08  Todd C. Miller  <Todd.Miller@courtesan.com>
18856
18857	* INSTALL, Makefile.in, UPGRADE:
18858	notes on updating from an earlier release
18859	[df9fffa4ab2c]
18860
18861	* CHANGES:
18862	updated
18863	[574f5065d15a]
18864
188651999-04-07  Todd C. Miller  <Todd.Miller@courtesan.com>
18866
18867	* parse.yacc, sudo.tab.c, sudo.tab.h, sudoers.cat, sudoers.html,
18868	sudoers.man, sudoers.pod:
18869	You can now specifiy a host list instead of just a host or alias.
18870	Ie: user = host1,host2,ALIAS,!host3 my_command now works.
18871	[e3942bb78021]
18872
18873	* testsudoers.c:
18874	Quiet -Wall
18875	[a3edc8b08c3a]
18876
18877	* parse.yacc, sudo.tab.c:
18878	Move the push from the beginning of cmndspec to the end. This means
18879	we no longer have to do a push at the end of privilege, just reset
18880	some values.
18881	[8ea66e5860c6]
18882
18883	* sudoers.cat, sudoers.html, sudoers.man, sudoers.pod:
18884	runas-lists and NOPASSWD/PASSWD modifiers are now sticky and you can
18885	use "!" most everywhere
18886	[aadae4d1c9d5]
18887
188881999-04-06  Todd C. Miller  <Todd.Miller@courtesan.com>
18889
18890	* sudoers.pod:
18891	modernize paths and update su example based on sample.sudoers one
18892	[3f6a37e16c83]
18893
18894	* sample.sudoers:
18895	New runas semantics
18896	[756ee92865b7]
18897
18898	* CHANGES, Makefile.in, alloc.c, config.h.in, configure, configure.in,
18899	strdup.c, sudo.h:
18900	In estrdup(), do the malloc ourselves so we don't need to rely on
18901	the system strdup(3) which may or may not exist. There is now no
18902	need to provide strdup() for those w/o it. Also, the prototype for
18903	estrdup() was wrong, it returns char * and its param is const.
18904	[5f1f984da8e3]
18905
18906	* getcwd.c:
18907	$Sudo tag
18908	[e4188a35e68c]
18909
18910	* check.c:
18911	buf should be prompt; Michael Robokoff <mrobo@networkcs.com>
18912	[2aec87c86cde]
18913
18914	* CHANGES, TODO, parse.yacc, sudo.tab.c:
18915	It is now possible to use the '!' operator in a runas list as well
18916	as in a Cmnd_Alias, Host_Alias and User_Alias.
18917	[a4fdaabda990]
18918
18919	* logging.c, sudo.h:
18920	Kill GLOBAL_NO_SPW_ENT (not used) and crank GLOBAL_PROBLEM
18921	[73d0376785ae]
18922
18923	* sudo.h:
18924	Definitions of *_matched were wrong--user top, not top-2 as
18925	subscript.
18926	[5f8350a57362]
18927
18928	* logging.c, parse.c, parse.yacc, sudo.c, sudo.h, sudo.tab.c:
18929	Add VALIDATE_NOT_OK_NOPASS for when user is not allowed to run a
18930	command but the NOPASSWD flag was set. Make runasspec, runaslist,
18931	runasuser, and nopasswd typeless in parse.yacc Add support for '!'
18932	in the runas list Fix double printing of '%' and '+' for groups and
18933	netgroups respectively Add *_matched macros (no need for local stack
18934	variable). Should only be used directly after a pop (since top must
18935	be >= 2).
18936	[392b1400c4e6]
18937
18938	* aclocal.m4, configure.in:
18939	Add copyright, somewhat silly
18940	[55c2cdd82dca]
18941
189421999-04-05  Todd C. Miller  <Todd.Miller@courtesan.com>
18943
18944	* BUGS, INSTALL, Makefile.in, README, alloc.c, check.c, check_sia.c,
18945	compat.h, config.h.in, configure, configure.in, dce_pwent.c,
18946	emul/utime.h, find_path.c, getspwuid.c, goodpath.c, ins_2001.h,
18947	ins_classic.h, ins_csops.h, ins_goons.h, insults.h, interfaces.c,
18948	lex.yy.c, logging.c, parse.c, parse.lex, parse.yacc, pathnames.h.in,
18949	putenv.c, secureware.c, strdup.c, sudo.c, sudo.cat, sudo.h,
18950	sudo.man, sudo.tab.c, sudo_setenv.c, sudoers.cat, sudoers.man,
18951	testsudoers.c, tgetpass.c, utime.c, version.h, visudo.c, visudo.cat,
18952	visudo.man:
18953	Crank version to 1.6 and combine copyright statements
18954	[0e1c791658ae]
18955
18956	* sample.sudoers:
18957	Use ! not ^ to do negation
18958	[1480a0761730]
18959
18960	* lex.yy.c, sudo.tab.c:
18961	regen
18962	[89ca5a46684b]
18963
18964	* parse.lex, parse.yacc:
18965	Make runas and NOPASSWD tags persistent across entris in a command
18966	list. Add a PASSWD tag to reverse NOPASSWD. When you override a
18967	runas or *PASSWD tag the value given becomes the new default for the
18968	rest of the command list.
18969	[f1bbb4066542]
18970
189711999-04-02  Todd C. Miller  <Todd.Miller@courtesan.com>
18972
18973	* CHANGES, RUNSON:
18974	update for 1.5.9
18975	[a1ae9d4a7d54] [SUDO_1_5_9]
18976
18977	* visudo.c:
18978	Shift return value of system(3) by 8 to get real exit value and if
18979	it is not 1 or 0 print the retval along with the error message.
18980	[c1ff50d743fb]
18981
189821999-03-30  Todd C. Miller  <Todd.Miller@courtesan.com>
18983
18984	* Makefile.in:
18985	testsudoers needs LIBOBJS too
18986	[972571b4e4bf]
18987
18988	* parse.c, parse.yacc, sudo.tab.c:
18989	Fix another parser bug. For a sudoers entry like this: millert
18990	ALL=/bin/ls,(daemon) !/bin/ls sudo would not allow millert to run ls
18991	as root.
18992	[51968e1eb33d]
18993
18994	* CHANGES:
18995	new change
18996	[271c6110bb62]
18997
18998	* parse.yacc, sudo.tab.c:
18999	Save entries that match a ! command on the matching stack too
19000	[5afb5107116c]
19001
19002	* sudo.c:
19003	Make sudo's usage info better when mutually exclusive args are given
19004	and don't rely on argument order to detect this; nick@zeta.org.au
19005	[2422753c88fd]
19006
190071999-03-29  Todd C. Miller  <Todd.Miller@courtesan.com>
19008
19009	* CHANGES, Makefile.in, RUNSON:
19010	updates from CU
19011	[b37381e3dafb]
19012
19013	* Makefile.in:
19014	use gzip
19015	[94a64e52a166]
19016
19017	* parse.yacc, sudo.tab.c:
19018	Fix off by one error introduced in *alloc changes
19019	[95ede581153a]
19020
19021	* BUGS, CHANGES, INSTALL, Makefile.in, README, alloc.c, check.c,
19022	check_sia.c, compat.h, config.h.in, configure, configure.in,
19023	dce_pwent.c, emul/utime.h, find_path.c, getspwuid.c, goodpath.c,
19024	ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h, insults.h,
19025	interfaces.c, lex.yy.c, logging.c, parse.c, parse.lex, parse.yacc,
19026	pathnames.h.in, putenv.c, secureware.c, strdup.c, sudo.c, sudo.cat,
19027	sudo.h, sudo.man, sudo.tab.c, sudo_setenv.c, sudoers.cat,
19028	sudoers.man, testsudoers.c, tgetpass.c, utime.c, version.h,
19029	visudo.c, visudo.cat, visudo.html, visudo.man, visudo.pod:
19030	++version
19031	[c6d88f024e37]
19032
19033	* Makefile.in, check.c, find_path.c, getspwuid.c, goodpath.c,
19034	interfaces.c, lex.yy.c, logging.c, parse.c, parse.lex, parse.yacc,
19035	putenv.c, secureware.c, strdup.c, sudo.c, sudo.h, sudo.tab.c,
19036	sudo_setenv.c, testsudoers.c, utime.c, visudo.c:
19037	Use emalloc/erealloc/estrdup
19038	[44221d97361a]
19039
19040	* alloc.c:
19041	error checking memory allocation routines
19042	[5f8c1e7bbc71]
19043
19044	* parse.yacc, sudo.tab.c:
19045	Still not right, this fixes it for real
19046	[ad553b6f5339]
19047
19048	* parse.yacc, sudo.tab.c:
19049	Fix for previous commit
19050	[4d6f989f9bf2]
19051
19052	* CHANGES, INSTALL, parse.yacc:
19053	Fix a parser bug that was exposed when mixing different runas specs
19054	and ! commands. For example: millert ALL=(daemon)
19055	/usr/bin/whoami,!/bin/ls would allow millert to run whoami as root
19056	as well as daemon when it should just allow daemon. The problem was
19057	that comma-separated commands in a list shared the same entry on the
19058	matching stack. Now they get their own entry iff there is a full
19059	match. It may be better to just make the runas spec persistent
19060	across all commands in a list like the user and host entries of the
19061	matching stack. However, since that is a fairly major change it
19062	should gets its own minor rev increase.
19063	[c4b939cdcc8e]
19064
190651999-03-28  Todd C. Miller  <Todd.Miller@courtesan.com>
19066
19067	* check.c, config.h.in:
19068	Simplify PAM code and fix a PAM-related warning on Linux
19069	[2468399523b6]
19070
190711999-03-26  Todd C. Miller  <Todd.Miller@courtesan.com>
19072
19073	* CHANGES:
19074	updates
19075	[29d4a997769c]
19076
19077	* sample.sudoers:
19078	better su entry
19079	[76d8285a72ba]
19080
19081	* configure:
19082	regen
19083	[b7450cc6975d]
19084
19085	* check.c, configure.in:
19086	new pam code that works on solaris, should work on linux too;
19087	aelberg@home.com
19088	[84c16c0ff259]
19089
190901999-03-19  Todd C. Miller  <Todd.Miller@courtesan.com>
19091
19092	* RUNSON:
19093	more entries
19094	[b6bef8660759]
19095
19096	* config.h.in:
19097	only include strings.h if there is no string.h
19098	[b66054a32b00]
19099
191001999-03-17  Todd C. Miller  <Todd.Miller@courtesan.com>
19101
19102	* config.guess:
19103	Sinix is now being called ReliantUNIX; bjjackso@us.oracle.com
19104	[c086d2fe63af]
19105
191061999-03-13  Todd C. Miller  <Todd.Miller@courtesan.com>
19107
19108	* sudo.c:
19109	shost must be set before log functions are called #ifdef HOST_IN_LOG
19110	[d49a7944358f]
19111
191121999-03-07  Todd C. Miller  <Todd.Miller@courtesan.com>
19113
19114	* CHANGES, lex.yy.c, parse.lex:
19115	Fix a bug wrt quoting characters in command args. Stop processing
19116	an arg when you hit a backslash so the quoted-character detection
19117	can catch it.
19118	[2281438d7f41]
19119
191201999-02-26  Todd C. Miller  <Todd.Miller@courtesan.com>
19121
19122	* interfaces.c:
19123	include sys/time.h; aparently AIX needs it. ppz@cdu.elektra.ru
19124	[31118a9e9916]
19125
191261999-02-24  Todd C. Miller  <Todd.Miller@courtesan.com>
19127
19128	* configure, configure.in:
19129	add missing case statement so --without-sendmail works
19130	[ca25614f7dd9]
19131
191321999-02-23  Todd C. Miller  <Todd.Miller@courtesan.com>
19133
19134	* CHANGES:
19135	more
19136	[4d70e44f7f93]
19137
191381999-02-22  Todd C. Miller  <Todd.Miller@courtesan.com>
19139
19140	* configure, configure.in:
19141	only search for -lsun in irix <= 4.x
19142	[e604238317b1]
19143
19144	* configure, configure.in:
19145	back out last configure.in change now that I've hacked autoconf to
19146	fix the real problem and add a missing newline
19147	[2dabf59a79b5]
19148
19149	* CHANGES:
19150	updated
19151	[bb35d526552f]
19152
19153	* getcwd.c:
19154	add def of dirfd() for those without it
19155	[95f0173d8441]
19156
19157	* configure, configure.in:
19158	When falling back to checking for socket() when linking with
19159	"-lsocket -lnsl" check for main() instead since autoconf has already
19160	cached the results of checking for socket() in -lsocket. This is
19161	really an autoconf bug as it should use the extra libs as part of
19162	the cache variable name.
19163	[a845f8b710ad]
19164
19165	* configure.in:
19166	typo
19167	[a7d62f62a478]
19168
191691999-02-21  Todd C. Miller  <Todd.Miller@courtesan.com>
19170
19171	* configure.in:
19172	fix occurrence of $with_timeout that should be
19173	$with_password_timeout; Michael.Neef@neuroinformatik.ruhr-uni-
19174	bochum.de
19175	[8c4da2cf73d1]
19176
191771999-02-17  Todd C. Miller  <Todd.Miller@courtesan.com>
19178
19179	* sudo.cat, sudo.html, sudo.man, sudo.pod:
19180	fix grammar; espie@openbsd.org
19181	[7031d9dfbc3e] [SUDO_1_5_8]
19182
191831999-02-11  Todd C. Miller  <Todd.Miller@courtesan.com>
19184
19185	* parse.yacc, sudo.c, testsudoers.c:
19186	add cast for strdup in places it does not have it
19187	[7ce4478d3b0f]
19188
191891999-02-09  Todd C. Miller  <Todd.Miller@courtesan.com>
19190
19191	* configure, configure.in:
19192	define for_BSD_TYPES irix
19193	[858337ff4af8]
19194
191951999-02-07  Todd C. Miller  <Todd.Miller@courtesan.com>
19196
19197	* Makefile.in, sudo.cat, sudo.html, sudo.man, sudo.pod:
19198	Make it clear that it is the user's password, not root's, that we
19199	want.
19200	[ae0f51b35ee4]
19201
19202	* check.c, sudo.h:
19203	If the user enters an empty password and really has no password,
19204	accept the empty password they entered. Perviously, they could
19205	enter anything
19206	*but* an empty password. Also, add GETPASS macro that calls either
19207	tgetpass() or getpass() depending on how sudo was configured.
19208	Problem noted by jdg@maths.qmw.ac.uk
19209	[2fde21ce94c1]
19210
192111999-02-03  Todd C. Miller  <Todd.Miller@courtesan.com>
19212
19213	* Makefile.in, check.c, check_sia.c, compat.h, config.h.in,
19214	dce_pwent.c, emul/utime.h, find_path.c, getspwuid.c, goodpath.c,
19215	ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h, insults.h,
19216	interfaces.c, logging.c, parse.c, parse.lex, parse.yacc,
19217	pathnames.h.in, putenv.c, secureware.c, strdup.c, sudo.c, sudo.h,
19218	sudo_setenv.c, testsudoers.c, tgetpass.c, utime.c, version.h,
19219	visudo.c:
19220	add explicate copyright
19221	[d3b4449834a5]
19222
19223	* CHANGES:
19224	mention -lsocket, -lnsl configure changes
19225	[9140af4ad8ae]
19226
192271999-02-02  Todd C. Miller  <Todd.Miller@courtesan.com>
19228
19229	* sudo.c:
19230	Don't clobber errno after calling check_sudoers().
19231	[59bd581b2654]
19232
192331999-02-01  Todd C. Miller  <Todd.Miller@courtesan.com>
19234
19235	* configure, configure.in:
19236	When linking with both -lsocket and -lnsl be sure to do so in that
19237	order. Also, when we can't find socket() or inet_addr() and have to
19238	try linking with both libs, issue a warning.
19239	[0ee547163067]
19240
19241	* sudo.cat, sudo.man, sudo.pod:
19242	clarify bad timestamp and fmt
19243	[70e42cf56c75]
19244
192451999-01-23  Todd C. Miller  <Todd.Miller@courtesan.com>
19246
19247	* INSTALL, RUNSON:
19248	be clear that pam is linux-only and add a RUNSON entry
19249	[7fdeab875e0d]
19250
192511999-01-22  Todd C. Miller  <Todd.Miller@courtesan.com>
19252
19253	* CHANGES, INSTALL, configure, configure.in:
19254	fix and correctly document --with-umask; problem noted by
19255	adap@adap.org
19256	[11cd0481d63a]
19257
192581999-01-20  Todd C. Miller  <Todd.Miller@courtesan.com>
19259
19260	* configure, configure.in:
19261	only use /usr/{man,catman}/local to store man pages if suer didn't
19262	override prefix or mandir
19263	[781ad2cbe9be]
19264
19265	* INSTALL, configure, configure.in:
19266	fix typo, make --with-SecurID take an arg
19267	[026a9b4014fc]
19268
192691999-01-19  Todd C. Miller  <Todd.Miller@courtesan.com>
19270
19271	* RUNSON:
19272	updates from users
19273	[2286982b31e6]
19274
19275	* CHANGES, INSTALL, check.c, configure, configure.in:
19276	FWTK 'authsrv' support from Kevin Kadow <kadow@MSG.NET>
19277	[23aa4e5c6b02]
19278
19279	* configure, configure.in:
19280	better fix for the problem of unresolved symbols in -lnsl or
19281	-lsocket
19282	[82fe70fc287f]
19283
19284	* configure, configure.in:
19285	when checking for functions in -lnsl and -lsocket link with both of
19286	them to avoid unresolved symbols on some weirdo systems
19287	[1734a591808e]
19288
192891999-01-18  Todd C. Miller  <Todd.Miller@courtesan.com>
19290
19291	* BUGS, CHANGES, RUNSON, TODO:
19292	old changes that didn't make it into RCS before the RCS->CVS switch
19293	[846eb2b8f9aa]
19294
192951999-01-17  Todd C. Miller  <Todd.Miller@courtesan.com>
19296
19297	* Makefile.in, check.c, check_sia.c, compat.h, config.h.in,
19298	configure.in, dce_pwent.c, emul/search.h, emul/utime.h, find_path.c,
19299	getspwuid.c, goodpath.c, ins_2001.h, ins_classic.h, ins_csops.h,
19300	ins_goons.h, insults.h, interfaces.c, lex.yy.c, logging.c,
19301	lsearch.c, parse.c, parse.lex, parse.yacc, pathnames.h.in, putenv.c,
19302	secureware.c, strdup.c, sudo.c, sudo.pod, sudo_setenv.c,
19303	sudoers.pod, testsudoers.c, tgetpass.c, utime.c, visudo.c,
19304	visudo.pod:
19305	add sudo tags
19306	[962f81eaa5ab]
19307
19308	* sudo.h:
19309	testing Sudo tag
19310	[e84cbc521129]
19311
19312	* version.h:
19313	testing Sudo tag
19314	[a8c3a3998b88]
19315
19316	* BUGS, INSTALL, Makefile.in, README, check.c, check_sia.c, compat.h,
19317	config.h.in, configure, configure.in, dce_pwent.c, emul/utime.h,
19318	find_path.c, getspwuid.c, goodpath.c, ins_2001.h, ins_classic.h,
19319	ins_csops.h, ins_goons.h, insults.h, interfaces.c, lex.yy.c,
19320	logging.c, parse.c, parse.lex, parse.yacc, pathnames.h.in, putenv.c,
19321	secureware.c, strdup.c, sudo.c, sudo.cat, sudo.h, sudo.man,
19322	sudo_setenv.c, sudoers.cat, sudoers.man, testsudoers.c, tgetpass.c,
19323	utime.c, version.h, visudo.c, visudo.cat, visudo.man:
19324	crank version and regen files
19325	[23eacf00a1a4]
19326
19327	* Makefile.in:
19328	kill rcs goop in update_version and fix now that version is a const
19329	[e6e50bd8d1e1]
19330
19331	* INSTALL, check.c, config.h.in, configure, configure.in, logging.c,
19332	sudo.c, sudo.h, sudo.pod:
19333	kerb5 support from fcusack@iconnet.net
19334	[8134027986e2]
19335
19336	* realpath.c, sudo_realpath.c:
19337	we no longer use realpath
19338	[0f5f64abc646]
19339
19340	* qualify.c:
19341	replaced by find_path.c
19342	[9e32a87e09c4]
19343
19344	* options.h:
19345	all options are now configure flags
19346	[ee6bd9610102]
19347
19348	* lex.yy.c:
19349	regen
19350	[bdbf8a18161f]
19351
19352	* getwd.c:
19353	superceded by getcwd.c
19354	[1e54ee0990b4]
19355
19356	* getpass.c:
19357	superceded by tgetpass.c
19358	[4e0d1edc30e3]
19359
19360	* SUPPORTED:
19361	superceded by RUNSON
19362	[854c5a21cb53]
19363
19364	* OPTIONS:
19365	No longer used now that we have configure options for everything.
19366	[9b1ae1c89259]
19367
19368	* configure:
19369	regen based on configure.in
19370	[3a4d73936973]
19371
19372	* sudo.cat, sudo.html, sudo.man, sudoers.cat, sudoers.html,
19373	sudoers.man, visudo.cat, visudo.html, visudo.man:
19374	regen based on sudo.pod, sudoers.pod, and visudo.pod
19375	[c267beb90778]
19376
193771998-12-11  Todd C. Miller  <Todd.Miller@courtesan.com>
19378
19379	* check.c:
19380	fix tty tickets in remove_timestamp (didn't use ':')
19381	[fd964a74a32b]
19382
193831998-12-07  Todd C. Miller  <Todd.Miller@courtesan.com>
19384
19385	* interfaces.c:
19386	close sock when we are done with it
19387	[95de0380f8a4]
19388
193891998-11-28  Todd C. Miller  <Todd.Miller@courtesan.com>
19390
19391	* parse.yacc:
19392	never say "error on line -1"
19393	[361db1491121]
19394
193951998-11-24  Todd C. Miller  <Todd.Miller@courtesan.com>
19396
19397	* configure.in:
19398	check for -lnsl before -lsocket
19399	[8e966d6bbcb5]
19400
19401	* configure.in:
19402	quote '[', ']' used in ranges correctly
19403	[fa4f9c6ff651]
19404
194051998-11-21  Todd C. Miller  <Todd.Miller@courtesan.com>
19406
19407	* config.h.in:
19408	add missing NO_ROOT_SUDO noted by drno@tsd.edu
19409	[c969f25d1667]
19410
194111998-11-20  Todd C. Miller  <Todd.Miller@courtesan.com>
19412
19413	* version.h:
19414	1.5.7
19415	[7a22de0bc148]
19416
19417	* INSTALL:
19418	more info for 1.5.7
19419	[30ad9e784799]
19420
19421	* README:
19422	update for 1.5.7
19423	[cd03a0a27cd2]
19424
19425	* parse.yacc:
19426	make increases of cm_list_size and ga_list_size be similar to
19427	increases of stacksize (ie: >= not > in initial compare).
19428	[6bd450a896c7]
19429
19430	* parse.yacc:
19431	when we get a syntax error, report it for the previous line since
19432	that's generally where the error occurred.
19433	[c4ac84058f0b]
19434
194351998-11-18  Todd C. Miller  <Todd.Miller@courtesan.com>
19436
19437	* config.h.in, configure.in, interfaces.c:
19438	add back check for sys/sockio.h but only use it if SIOCGIFCONF is
19439	not defined
19440	[d197f31fd1e4] [SUDO_1_5_7]
19441
19442	* config.h.in:
19443	define BSD_COMP for svr4
19444	[87ac1147ff79]
19445
19446	* check.c, check_sia.c, find_path.c, getcwd.c, getspwuid.c,
19447	goodpath.c, interfaces.c, logging.c, lsearch.c, parse.c, parse.lex,
19448	parse.yacc, putenv.c, secureware.c, strdup.c, sudo.c, sudo_setenv.c,
19449	testsudoers.c, tgetpass.c, utime.c, visudo.c:
19450	more -Wall
19451	[d98e2d32db2a]
19452
19453	* configure.in:
19454	kill check for sockio,h
19455	[4399779014c1]
19456
19457	* config.h.in:
19458	no more HAVE_SYS_SOCKIO_H
19459	[67484528e347]
19460
19461	* check.c, check_sia.c, find_path.c, getcwd.c, getspwuid.c,
19462	goodpath.c, interfaces.c, logging.c, lsearch.c, parse.c, parse.lex,
19463	parse.yacc, putenv.c, secureware.c, strdup.c, sudo.c, sudo_setenv.c,
19464	testsudoers.c, tgetpass.c, utime.c, visudo.c:
19465	-Wall
19466	[2b7e83976788]
19467
194681998-11-16  Todd C. Miller  <Todd.Miller@courtesan.com>
19469
19470	* sudo.c:
19471	add missing inform_user()
19472	[8689528c6d55]
19473
194741998-11-14  Todd C. Miller  <Todd.Miller@courtesan.com>
19475
19476	* find_path.c:
19477	return NOT_FOUND if given fully qualified path and it does not exist
19478	previously it would perror(ENOENT) which bypasses the option to not
19479	leak path info
19480	[ccbc3d0130ae]
19481
19482	* configure.in:
19483	for kerb5, check for -lkerb4, fall back on -lkrb for kerb, check for
19484	-ldes
19485	[c77d3b484ece]
19486
194871998-11-13  Todd C. Miller  <Todd.Miller@courtesan.com>
19488
19489	* INSTALL:
19490	tty tickets are user:tty now
19491	[a53a303a614d]
19492
19493	* check.c:
19494	when using tty tickets make it user:tty not user.tty as a username
19495	could have a '.' in it
19496	[3160b3f5c890]
19497
194981998-11-10  Todd C. Miller  <Todd.Miller@courtesan.com>
19499
19500	* sudo.c:
19501	add "ignoring foo found in ." for auth successful case
19502	[24257169e0bd]
19503
195041998-11-09  Todd C. Miller  <Todd.Miller@courtesan.com>
19505
19506	* sudo.c:
19507	add missing printf param
19508	[8c905124f777]
19509
195101998-11-08  Todd C. Miller  <Todd.Miller@courtesan.com>
19511
19512	* INSTALL, config.h.in, configure.in, find_path.c, sudo.c, sudo.h:
19513	go back to printing "command not found" unless --disable-path-info
19514	specified. Also, tell user when we ignore '.' in their path and it
19515	would have been used but for --with-ignore-dot.
19516	[066e118c11e4]
19517
19518	* check.c, sudo.c:
19519	Only one space after a colon, not two, in printf's
19520	[38452f4c8007]
19521
195221998-11-05  Todd C. Miller  <Todd.Miller@courtesan.com>
19523
19524	* sudo.pod:
19525	document setting $USER
19526	[80557fe6aede]
19527
19528	* check.c:
19529	fix bugs with prompt expansion
19530	[44c4fca5f009]
19531
19532	* sudo.c:
19533	set $USER for root too
19534	[4b525e1c6269]
19535
195361998-11-04  Todd C. Miller  <Todd.Miller@courtesan.com>
19537
19538	* getspwuid.c:
19539	typo
19540	[5107446f43e0]
19541
19542	* configure.in:
19543	HP-UX's iscomsec is in -lsec, not libc
19544	[03c9f700b795]
19545
19546	* configure.in:
19547	remove some entries in the OS case statement that did nothing
19548	[ea96e7e0f624]
19549
19550	* TROUBLESHOOTING:
19551	add "cd" section and flush out syslog section
19552	[5107f7363b78]
19553
19554	* Makefile.in:
19555	no more sudo-lex.yy.c
19556	[ed50826efbbc]
19557
19558	* check_sia.c:
19559	add custom prompt support
19560	[6a285cea10b7]
19561
19562	* testsudoers.c:
19563	kill perror("malloc") since we already have a good error messages
19564	pw_ent -> pw for brevity
19565	[eee31052921e]
19566
19567	* sudo.c:
19568	kill perror("malloc") since we already have a good error messages
19569	pw_ent -> pw for brevity set $USER if -u specified
19570	[9f3753461f8a]
19571
19572	* parse.yacc:
19573	kill perror("malloc") since we already have a good error messages
19574	[849459088ac3]
19575
19576	* parse.c:
19577	kill perror("malloc") since we already have a good error messages
19578	pw_ent -> pw for brevity when checking if %group matches, look up
19579	user in password file so that %groups works in a RunAs spec.
19580	[0489b4ecc59a]
19581
19582	* logging.c:
19583	kill perror("malloc") since we already have a good error messages
19584	[3191a18b3526]
19585
19586	* check.c, getspwuid.c, interfaces.c:
19587	kill perror("malloc") since we already have a good error messages
19588	pw_ent -> pw for brevity
19589	[7193fdb38cf9]
19590
195911998-11-03  Todd C. Miller  <Todd.Miller@courtesan.com>
19592
19593	* tgetpass.c:
19594	the prompt is expanded before tgetpass is called
19595	[0f408f508041]
19596
19597	* sudo.h:
19598	tgetpass now has the same args as getpass again
19599	[b6778cd9d79f]
19600
19601	* getspwuid.c:
19602	add iscomsec, issecure support
19603	[007be7ec7ae7]
19604
19605	* check.c:
19606	we now expand any %h or %u in the prompt before passing to tgetpass
19607	[f3db8c9ee387]
19608
19609	* configure.in:
19610	add check for syslog(3) in -lsocket, -lnsl, -linet
19611	[5a96f902ce00]
19612
19613	* config.h.in:
19614	add HAVE_ISCOMSEC and HAVE_ISSECURE
19615	[f640b0d4cf05]
19616
19617	* configure.in:
19618	add check for iscomsec in HP-UX
19619	[b28b249040f0]
19620
19621	* configure.in:
19622	check for issecure if we have getpwanam on SunOS some options are
19623	incompatible with DUNIX SIA check for dispcrypt on DUNIX
19624	[a49d05d9c913]
19625
196261998-10-25  Todd C. Miller  <Todd.Miller@courtesan.com>
19627
19628	* config.h.in:
19629	add HAVE_DISPCRYPT
19630	[7376d543d8d6]
19631
19632	* secureware.c:
19633	add back support for non-dispcrypt based checking for older DUNIX
19634	[977b98e936be]
19635
19636	* INSTALL:
19637	sia changes
19638	[c5387c06e30f]
19639
19640	* configure.in:
19641	SIA becomes the default on Digital UNIX now havbe --disable-sia to
19642	turn it off...
19643	[3b647558ea13]
19644
19645	* check.c:
19646	move local includes after system ones
19647	[b2abad4c4aef]
19648
196491998-10-24  Todd C. Miller  <Todd.Miller@courtesan.com>
19650
19651	* check.c, check_sia.c, sudo.h:
19652	add pass_warn() which prints out INCORRECT_PASSWORD or an insult to
19653	stderr
19654	[547cbf299661]
19655
19656	* check_sia.c:
19657	fix while loop in sia_attempt_auth() that checks the password. Only
19658	the first iteration was working.
19659	[1886fd1ac831]
19660
196611998-10-22  Todd C. Miller  <Todd.Miller@courtesan.com>
19662
19663	* aclocal.m4:
19664	don't trust UID_MAX or MAXUID
19665	[2aeddb1654d8]
19666
19667	* configure.in:
19668	fix two pastos
19669	[c18f0a10b75d]
19670
19671	* configure.in:
19672	fix typo
19673	[1eb3190ef12d]
19674
19675	* getspwuid.c, secureware.c:
19676	init crypt_type to INT_MAX since it is legal to be negative in DUNX
19677	5.0
19678	[cefbde04822d]
19679
19680	* configure.in:
19681	for secureware on dunix, use -lsecurity -ldb -laud -lm but check for
19682	-ldb since DUNX < 4.0 lacks it
19683	[e6b11d971068]
19684
196851998-10-21  Todd C. Miller  <Todd.Miller@courtesan.com>
19686
19687	* check.c, compat.h, config.h.in, configure.in, getspwuid.c,
19688	secureware.c, sudo.c, tgetpass.c:
19689	getprpwuid is broken in HP-UX 10.20 at least (it sleeps for 2
19690	minutes if the shadow files don't exist).
19691	[2f297d095004]
19692
196931998-10-20  Todd C. Miller  <Todd.Miller@courtesan.com>
19694
19695	* INSTALL:
19696	updated --with-editor blurb
19697	[77d8a3ea7328]
19698
19699	* TROUBLESHOOTING:
19700	tell how to put sudoers in a different dir
19701	[456cd20eb1d0]
19702
19703	* configure.in:
19704	add missing quotes around $with_editor
19705	[22881748ab1b]
19706
19707	* configure.in:
19708	typo in --with-editor bits
19709	[ab6964580681]
19710
19711	* INSTALL:
19712	I don't expect it to work on Solaris
19713	[1c2fceaaf56e]
19714
19715	* check.c:
19716	add back security/pam_misc.h
19717	[6ffd30033c1e]
19718
197191998-10-19  Todd C. Miller  <Todd.Miller@courtesan.com>
19720
19721	* INSTALL:
19722	remove dunix note since configure checks for this now
19723	[e9904512b8e8]
19724
19725	* configure.in:
19726	add check for broken dunix prot.h (4.0 < 4.0D is bad)
19727	[8a4c1e6aef3b]
19728
19729	* getspwuid.c, secureware.c, tgetpass.c:
19730	new dunix shadow code, use dispcrypt(3)
19731	[1b936bc7268c]
19732
19733	* config.h.in:
19734	add HAVE_INITPRIVS
19735	[4369f4c4f914]
19736
19737	* sudo.c:
19738	call initprivs() if we have it for getprpwuid later on
19739	[11cf5915d826]
19740
19741	* Makefile.in:
19742	clean pathnames.h too
19743	[5f1df3262613]
19744
19745	* configure.in:
19746	quote "Sorry, try again." with [] since it has a comma in it set
19747	LIBS when we add stuff to SUDO_LIBS set SECUREWARE when we find
19748	getprpwuid() so we can check for bigcrypt, set_auth_parameters, and
19749	initprivs later.
19750	[e226b0a3f250]
19751
19752	* INSTALL:
19753	update Digital UNIX note about acl.h
19754	[80132b71d73a]
19755
19756	* INSTALL:
19757	add --with-sia
19758	--without-root-sudo -> --disable-root-sudo some reordering
19759	[198386358818]
19760
19761	* secureware.c:
19762	add whitespace
19763	[4aadaf1a54b0]
19764
19765	* Makefile.in, check.c, config.h.in, configure.in, logging.c, sudo.h:
19766	add SIA support
19767	[fa3ddbb9cc51]
19768
19769	* check_sia.c:
19770	Initial revision
19771	[2968551d40e4]
19772
197731998-10-18  Todd C. Miller  <Todd.Miller@courtesan.com>
19774
19775	* configure.in:
19776	when checking for -lsocket, -lnsl, and -linet, check for the
19777	specific functions we need from them.
19778	[8d33e64362a3]
19779
19780	* config.h.in, sudo.h:
19781	move Syslog_* defs into sudo.h
19782	[03d1774f25c7]
19783
19784	* Makefile.in, sudo.h:
19785	added check_secureware
19786	[e46e3cbb9a97]
19787
19788	* configure.in:
19789	finished adding AC_MSG_CHECKING and AC_MSG_RESULT bits
19790	[dbefe1856503]
19791
19792	* insults.h:
19793	don't define CLASSIC_INSULTS and CSOPS_INSULTS if no other sets
19794	defined. configure now does that for us
19795	[e4520ea0581f]
19796
19797	* configure.in:
19798	move some --with options around change a bunch of echo's to
19799	AC_MSG_CHECKING, AC_MSG_RESULT pairs
19800	[ffdf6869fdd7]
19801
19802	* configure.in:
19803	change $with_foo-bar -> $with_foo_bar kill extra " that caused a
19804	syntax error add some echo verbage
19805	[3278c49bf74b]
19806
198071998-10-17  Todd C. Miller  <Todd.Miller@courtesan.com>
19808
19809	* check.c:
19810	moved SecureWare stuff into secureware.c
19811	[42d3d3ac35dc]
19812
19813	* secureware.c:
19814	Initial revision
19815	[aa7f72a249cf]
19816
19817	* INSTALL:
19818	update url to solaris gcc bins
19819	[36a3eb668777]
19820
19821	* INSTALL:
19822	change option formatter and flesh out someentries
19823	[6fbd1db4a8ad]
19824
19825	* TROUBLESHOOTING, sudo.pod, visudo.pod:
19826	environmental variable -> environment variable
19827	[6f14d708e32d]
19828
19829	* BUGS:
19830	everything is now done via configure
19831	[c217858f58ab]
19832
19833	* README:
19834	prev rev was 1.5.6
19835	[7b4177103c35]
19836
19837	* Makefile.in:
19838	passing SUDOERS_MODE, SUDOERS_UID, SUDOERS_GID correctly
19839	[31c6b0a5e0e2]
19840
19841	* config.h.in:
19842	SUDOERS_MODE, SUDOERS_UID, SUDOERS_GID now come from the Makefile
19843	[d406a1ef6d25]
19844
19845	* Makefile.in:
19846	merge OSDEFS and OPTIONS into DEFS get sudoers_uid, sudoers_gid,
19847	sudoers_mode from configure
19848	[1c509500655a]
19849
19850	* configure.in:
19851	SUDOERS_MODE, SUDOERS_UID, and SUDOERS_GID now get substituted into
19852	the Makefile, not config.h
19853	[d4482f1492fe]
19854
19855	* INSTALL:
19856	document all --with/--enable options
19857	[22d81b312d7f]
19858
198591998-10-15  Todd C. Miller  <Todd.Miller@courtesan.com>
19860
19861	* insults.h:
19862	options.h is no more
19863	[560946a33f7f]
19864
19865	* config.h.in:
19866	assimilated options.h
19867	[dd8ce74613c1]
19868
19869	* configure.in:
19870	moved options from options.h to configure
19871	[d39662f71b4e]
19872
19873	* check.c, find_path.c, getspwuid.c, goodpath.c, interfaces.c,
19874	logging.c, parse.c, parse.lex, parse.yacc, sudo.c, sudo.pod,
19875	sudo_setenv.c, visudo.c:
19876	no more options.h
19877	[43924bf0858d]
19878
19879	* INSTALL, Makefile.in, PORTING, TROUBLESHOOTING:
19880	remove references to options.h
19881	[ef3474295395]
19882
19883	* dce_pwent.c, interfaces.c, sudo.c:
19884	kill sys/time.h
19885	[4d833f0034e4]
19886
19887	* tgetpass.c:
19888	if select return < -1 still prompt for pw
19889	[e0009e5c93a2]
19890
19891	* options.h:
19892	convert LOGGING, LOGFAC, MAXLOGFILELEN, IGNORE_DOT_PATH into
19893	configure options
19894	[e60a1e546516]
19895
19896	* parse.c:
19897	FAST_MATCH is no longer an optino
19898	[c448dbb3464b]
19899
19900	* check.c:
19901	remove_timestamp() if timestamp is preposterous
19902	[70d9a86c6ecd]
19903
19904	* options.h:
19905	convert more options to --with/--enable
19906	[34646d9b09dc]
19907
19908	* INSTALL, aclocal.m4:
19909	logfile -> logpath
19910	[42de502bc637]
19911
19912	* configure.in:
19913	convert more options into --with and --enable
19914	[92d0898c9844]
19915
19916	* tgetpass.c:
19917	catch EINTR in select and restart
19918	[f045d2f234d7]
19919
19920	* logging.c:
19921	sys/errno -> errno
19922	[7f0c5beab6f2]
19923
199241998-09-24  Todd C. Miller  <Todd.Miller@courtesan.com>
19925
19926	* sudo.c:
19927	UMASK -> SUDO_UMASK.
19928	[48f308661514]
19929
19930	* check.c, logging.c:
19931	time.h, not sys/time.h
19932	[91de049c79e4]
19933
199341998-09-21  Todd C. Miller  <Todd.Miller@courtesan.com>
19935
19936	* logging.c:
19937	MAILER -> _PATH_SENDMAIL
19938	[df65d6896639]
19939
19940	* INSTALL, configure.in:
19941	no more --with-C2, now it is --disable-shadow
19942	[18bfcab3b9ab]
19943
19944	* aclocal.m4, check.c, compat.h, config.h.in, configure.in,
19945	getspwuid.c, sudo.c, tgetpass.c:
19946	new shadow password scheme. Always include shadow support if the
19947	platform supports it and the user did not disable it via configure
19948	[2135d93bb4a9]
19949
199501998-09-20  Todd C. Miller  <Todd.Miller@courtesan.com>
19951
19952	* configure.in:
19953	--with-getpass -> --{enable,disable}-tgetpass
19954	[451b33fdd4c7]
19955
19956	* Makefile.in:
19957	pathnames.h -> pathnames.h.in
19958	[b109022eca69]
19959
19960	* check.c:
19961	fix version string
19962	[761b25c314ea]
19963
19964	* check.c:
19965	move pam_conv to be static to auth function remove pam_misc.h
19966	(solaris doesn't have one)
19967	[a682e4da987a]
19968
19969	* aclocal.m4:
19970	_CONFIG_PATH_* -> _PATH_* or _PATH_SUDO_* kill SUDO_PROG_PWD
19971	[e6005d0599b5]
19972
19973	* configure.in:
19974	munge pathnames.h.in -> pathnames.h kill SUDO_PROG_PWD
19975	[24c0ac2155ef]
19976
19977	* pathnames.h.in:
19978	convert to pathnames.h.in
19979	[013bddf7f684]
19980
199811998-09-19  Todd C. Miller  <Todd.Miller@courtesan.com>
19982
19983	* configure.in:
19984	fix typo in sysv4 matching case /.
19985	[2994c4f88cf5]
19986
199871998-09-18  Todd C. Miller  <Todd.Miller@courtesan.com>
19988
19989	* check.c:
19990	pam stuff needs to run as root, not user, for shadow passwords
19991	[d94ff75de503]
19992
199931998-09-17  Todd C. Miller  <Todd.Miller@courtesan.com>
19994
19995	* BUGS, INSTALL, README, configure.in:
19996	updated version
19997	[775adc7de7ac]
19998
19999	* Makefile.in, check.c, compat.h, config.h.in, dce_pwent.c,
20000	emul/utime.h, find_path.c, getspwuid.c, goodpath.c, ins_2001.h,
20001	ins_classic.h, ins_csops.h, ins_goons.h, insults.h, interfaces.c,
20002	logging.c, options.h, parse.c, parse.lex, parse.yacc,
20003	pathnames.h.in, putenv.c, strdup.c, sudo.c, sudo.h, sudo_setenv.c,
20004	testsudoers.c, tgetpass.c, utime.c, visudo.c:
20005	updated version
20006	[5ca599fb6b93]
20007
20008	* check.c:
20009	user version.h for long message
20010	[47a52ac7e542]
20011
20012	* check.c:
20013	this is version 1.5.6
20014	[8451ac79eee2]
20015
200161998-09-16  Todd C. Miller  <Todd.Miller@courtesan.com>
20017
20018	* Makefile.in:
20019	remove errant backslash
20020	[0222a8a650ff]
20021
200221998-09-15  Todd C. Miller  <Todd.Miller@courtesan.com>
20023
20024	* options.h, parse.yacc, pathnames.h.in:
20025	fix version string
20026	[fdee73255d64] [SUDO_1_5_6]
20027
20028	* BUGS, CHANGES, TODO:
20029	updtaed for 1.5.6
20030	[752443bf7f26]
20031
20032	* RUNSON:
20033	updated for 1.5.6
20034	[0f878123fe6a]
20035
200361998-09-14  Todd C. Miller  <Todd.Miller@courtesan.com>
20037
20038	* interfaces.c:
20039	kill unused localhost_mask var copy if name to ifr_tmp after we zero
20040	it
20041	[8e89c364cef2]
20042
200431998-09-13  Todd C. Miller  <Todd.Miller@courtesan.com>
20044
20045	* INSTALL:
20046	Better description of new vs. old sudoers modes fix some typos
20047	better description of /usr/ucb/cc gotchas on slowaris
20048	[c00b2a6fc1e8]
20049
20050	* Makefile.in:
20051	add sample.pam
20052	[ec7f6cc19b00]
20053
20054	* sudo.c:
20055	set NewArgv[0] to user_shell, not basename(user_shell)
20056	[1e907cbc9f7b]
20057
200581998-09-12  Todd C. Miller  <Todd.Miller@courtesan.com>
20059
20060	* README:
20061	mention TROUBLESHOOTING more fix some typos
20062	[2c2e6907d4a4]
20063
20064	* configure.in:
20065	move --enable/--disable to be after --with
20066	[9b30097f76c1]
20067
20068	* INSTALL:
20069	document --enable/--disable
20070	[c522362e38a8]
20071
20072	* INSTALL:
20073	document --with-pam
20074	[7e38932c78ac]
20075
200761998-09-11  Todd C. Miller  <Todd.Miller@courtesan.com>
20077
20078	* configure.in:
20079	Add message for pam users
20080	[d224f277e3cd]
20081
20082	* sample.pam:
20083	Initial revision
20084	[3a84d7045f54]
20085
20086	* config.h.in:
20087	fix HAVE_PAM
20088	[2f0f303ebd88]
20089
20090	* check.c, config.h.in, configure.in:
20091	pam support, from Gary Calvin <GCalvin@kenwoodusa.com>
20092	[ea3e0a72d707]
20093
200941998-09-10  Todd C. Miller  <Todd.Miller@courtesan.com>
20095
20096	* config.h.in:
20097	add HOST_IN_LOG and WRAP_LOG
20098	[822c36eeb6a8]
20099
20100	* logging.c:
20101	add WRAP_LOG and HOST_IN_LOG
20102	[3cf6052bd27e]
20103
20104	* configure.in:
20105	add --enable-log-host and --enable-log-wrap
20106	[c968cc12b353]
20107
20108	* aclocal.m4:
20109	use AC_DEFINE_UNQUOTED for --with-logfile and --with-timedir
20110	[915fef7e11a1]
20111
201121998-09-09  Todd C. Miller  <Todd.Miller@courtesan.com>
20113
20114	* compat.h:
20115	add howmany macro
20116	[9107a057a7c8]
20117
20118	* tgetpass.c:
20119	include sys/param.h to get howmany macro
20120	[7e908b5e1f32]
20121
201221998-09-08  Todd C. Miller  <Todd.Miller@courtesan.com>
20123
20124	* OPTIONS, options.h, parse.yacc, sudo.c, testsudoers.c, visudo.c:
20125	add RUNAS_DEFAULT
20126	[1e76398ea3fd]
20127
201281998-09-07  Todd C. Miller  <Todd.Miller@courtesan.com>
20129
20130	* fnmatch.c:
20131	bring in stdio.h for NULL
20132	[69c016610cbb]
20133
20134	* aclocal.m4:
20135	allow /bin/{ksh,bach} and /usr/bin/{ksh,bash} as sh
20136	[15ab2972f8d0]
20137
20138	* sudo.c:
20139	use HAVE_SET_AUTH_PARAMETERS
20140	[8abfdc8c80f7]
20141
20142	* config.h.in:
20143	add HAVE_SET_AUTH_PARAMETERS
20144	[673a5ebd5539]
20145
20146	* configure.in:
20147	add *-*-hiuxmpp* add test for set_auth_parameters() if secureware
20148	[a401f5a7469a]
20149
20150	* config.sub:
20151	add support for HI-UX/MPP SR220001 02-03 0 SR2201
20152	[cb657b7acaae]
20153
20154	* interfaces.c:
20155	initialize previfname
20156	[26a1902f56dc]
20157
20158	* interfaces.c:
20159	Don't use SIOCGIFADDR, we don't need it Use SIOCGIFFLAGS if we have
20160	it check ifr_flags against IFF_UP and IFF_LOOPBACK instead of
20161	kludging it
20162	[fa5c890c313b]
20163
20164	* configure.in:
20165	typo
20166	[bff579fbe95c]
20167
20168	* Makefile.in:
20169	don't need special build line for sudo.tab.o
20170	[10c0a0a912e4]
20171
20172	* Makefile.in:
20173	don't clean sudo.tab.[ch]
20174	[c40d5968efbb]
20175
20176	* sudo.c:
20177	Sudo should prompt for a password before telling the user that a
20178	command could not be found.
20179	[d718c85a0047]
20180
20181	* BUGS:
20182	for 1.5.6
20183	[0cc1fe5b9129]
20184
20185	* INSTALL, README:
20186	no longer require yacc
20187	[d9096fc5b8b6]
20188
20189	* Makefile.in:
20190	typo
20191	[70feb1aefbd5]
20192
20193	* Makefile.in:
20194	y.tab -> sudo.tab include pre-yacc'd parse.yacc
20195	[cc802025fd44]
20196
20197	* parse.lex:
20198	include sudo.tab.h, not y.tab.h don't break out of command args if
20199	you get a '='
20200	[728ad26dbda5]
20201
20202	* insults.h:
20203	fix version ,
20204	[242bbce1b2d4]
20205
20206	* ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h:
20207	fix version
20208	[2bb9086fea1e]
20209
20210	* compat.h:
20211	fix version
20212	[7e634d498ce6]
20213
20214	* getcwd.c:
20215	getcwd(3) from OpenBSD for those without it.
20216	[6c68d0df8f6c]
20217
20218	* sudo.h:
20219	HAVE_GETWD -> HAVE_GETCWD
20220	[2ad1e64d60c0]
20221
20222	* configure.in:
20223	pretend sunos doesn't have getcwd(3) since it opens a pipe to
20224	getpwd!
20225	[677992ba5a6a]
20226
20227	* parse.c:
20228	use NAMLEN() macro
20229	[8f5685aa3165]
20230
20231	* fnmatch.c:
20232	remove duplicate include of string.h
20233	[6024f3051ac3]
20234
20235	* configure.in:
20236	call SUDO_TYPE_DEV_T and SUDO_TYPE_INO_T
20237	[3d82a9c22cc2]
20238
20239	* aclocal.m4:
20240	add SUDO_TYPE_DEV_T and SUDO_TYPE_INO_T
20241	[53fbc47282f9]
20242
20243	* config.h.in:
20244	add dev_t and ino_t
20245	[5929bb0c7e1a]
20246
202471998-07-28  Todd C. Miller  <Todd.Miller@courtesan.com>
20248
20249	* check.c:
20250	fix OTP_ONLY for opie
20251	[7edcfa78f2ec]
20252
202531998-06-24  Todd C. Miller  <Todd.Miller@courtesan.com>
20254
20255	* testsudoers.c, tgetpass.c:
20256	include stdlib.h for malloc proto
20257	[c9f4b99a2fe9]
20258
202591998-05-19  Todd C. Miller  <Todd.Miller@courtesan.com>
20260
20261	* Makefile.in:
20262	make update_version saner
20263	[d522f93ee04a]
20264
20265	* config.h.in:
20266	add HAVE_WAITPID, HAVE_WAIT3, and sudo_waitpid()
20267	[c9a2d21dc608]
20268
20269	* configure.in:
20270	check for waitpid and wait3 or no waitpid
20271	[1f18c3224184]
20272
20273	* logging.c:
20274	used waitpid or wait3 if we have 'em
20275	[391c3279ee65]
20276
202771998-05-02  Todd C. Miller  <Todd.Miller@courtesan.com>
20278
20279	* visudo.c:
20280	fix some fprintf args, ariel@oz.engr.sgi.com (Ariel Faigon)
20281	[fbf53b18178f]
20282
202831998-04-28  Todd C. Miller  <Todd.Miller@courtesan.com>
20284
20285	* configure.in:
20286	don't need to explicately mention -lsocket -lnsl for sequent
20287	[1898dc055352]
20288
202891998-04-25  Todd C. Miller  <Todd.Miller@courtesan.com>
20290
20291	* configure.in:
20292	dynix should not link with -linet
20293	[278a4b9cfe2a]
20294
202951998-04-10  Todd C. Miller  <Todd.Miller@courtesan.com>
20296
20297	* INSTALL:
20298	mention that HP-UX doesn't ship with yacc
20299	[bde5147198c0]
20300
203011998-04-07  Todd C. Miller  <Todd.Miller@courtesan.com>
20302
20303	* check.c:
20304	ignore kerberos if we can't get the local realm
20305	[1e311a091a27]
20306
203071998-04-06  Todd C. Miller  <Todd.Miller@courtesan.com>
20308
20309	* BUGS, INSTALL, README, configure.in:
20310	++version
20311	[499ffc746018]
20312
20313	* version.h:
20314	++
20315	[35ba1ee01bd3]
20316
20317	* Makefile.in, check.c, config.h.in, dce_pwent.c, emul/utime.h,
20318	find_path.c, getcwd.c, getspwuid.c, goodpath.c, interfaces.c,
20319	logging.c, parse.c, parse.lex, putenv.c, strdup.c, sudo.c, sudo.h,
20320	sudo_setenv.c, testsudoers.c, tgetpass.c, utime.c, visudo.c:
20321	updated version
20322	[b4990a513f31]
20323
20324	* check.c, sudo.h:
20325	fix version
20326	[5710795834e8]
20327
20328	* getcwd.c:
20329	don't use popen/pclose. Do it inline.
20330	[29e57b0646a4]
20331
20332	* lsearch.c:
20333	add rcsid
20334	[b2b55c39858d]
20335
20336	* sudo.c:
20337	typo
20338	[d381ac39ed0f]
20339
20340	* check.c, compat.h, ins_2001.h, ins_classic.h, ins_csops.h,
20341	ins_goons.h, insults.h, options.h, parse.yacc, pathnames.h.in,
20342	sudo.h:
20343	updated version
20344	[462d6e1a2d75]
20345
20346	* check.c, find_path.c, parse.c, sudo.c, testsudoers.c:
20347	MAX* + 1 -> MAX*
20348	[2c2eeb78d34f]
20349
20350	* Makefile.in:
20351	getwd.c -> getcwd.c
20352	[7d718c32fc02]
20353
20354	* config.h.in:
20355	kill HAVE_GETWD
20356	[6ad3d702343f]
20357
20358	* configure.in:
20359	getcwd, not getwd
20360	[33e5b9841f58]
20361
20362	* getcwd.c:
20363	use MAX* not MAX* + 1 always run pwd as using getwd() defeats the
20364	purpose
20365	[24e58d340161]
20366
203671998-03-31  Todd C. Miller  <Todd.Miller@courtesan.com>
20368
20369	* OPTIONS, options.h:
20370	add STUB_LOAD_INTERFACES
20371	[d747cb23ca83]
20372
20373	* Makefile.in, check.c, compat.h, config.h.in, dce_pwent.c,
20374	emul/utime.h, find_path.c, getspwuid.c, getwd.c, goodpath.c,
20375	ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h, insults.h,
20376	interfaces.c, logging.c, options.h, parse.c, parse.lex, parse.yacc,
20377	pathnames.h.in, putenv.c, strdup.c, sudo.c, sudo.h, sudo_setenv.c,
20378	testsudoers.c, tgetpass.c, utime.c, visudo.c:
20379	updated version
20380	[0798229312cc]
20381
20382	* configure.in:
20383	support *-ccur-sysv4 and fix two typos
20384	[24a823ad7cc9]
20385
203861998-03-28  Todd C. Miller  <Todd.Miller@courtesan.com>
20387
20388	* configure.in:
20389	don't echo about with_logfile and with_timedir
20390	[31e4a1e2d9ad]
20391
20392	* INSTALL:
20393	document --with-logfile and --with-timedir
20394	[674f811a40e0]
20395
20396	* aclocal.m4:
20397	support --with-logfile and --with-timedir
20398	[2fc36b35db12]
20399
20400	* configure.in:
20401	Add --with-logfile and --with-timedir
20402	[09045bf07e29]
20403
20404	* sudo.c:
20405	change size computation of NewArgv for UNICOS
20406	[b50df07da3a1]
20407
204081998-02-19  Todd C. Miller  <Todd.Miller@courtesan.com>
20409
20410	* configure.in:
20411	treate -*-sysv4* like *-*-svr4
20412	[471b7ef4dbf2]
20413
204141998-02-18  Todd C. Miller  <Todd.Miller@courtesan.com>
20415
20416	* configure.in:
20417	fix spacing for --with-authenticate help
20418	[8321cb37c410]
20419
20420	* Makefile.in, check.c, compat.h, config.h.in, dce_pwent.c,
20421	emul/utime.h, find_path.c, getspwuid.c, getwd.c, goodpath.c,
20422	ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h, insults.h,
20423	interfaces.c, logging.c, options.h, parse.c, parse.lex, parse.yacc,
20424	pathnames.h.in, putenv.c, strdup.c, sudo.c, sudo.h, sudo_setenv.c,
20425	testsudoers.c, tgetpass.c, utime.c, visudo.c:
20426	updated version
20427	[dc1ab97312eb]
20428
20429	* parse.yacc:
20430	fix off by one error in push macro
20431	[bece59c8c3a9]
20432
204331998-02-17  Todd C. Miller  <Todd.Miller@courtesan.com>
20434
20435	* configure.in:
20436	removed bogus alloca hack
20437	[a68dd720462d]
20438
20439	* check.c:
20440	added AIX 4.x authenticate() support
20441	[12985eb448a0]
20442
20443	* parse.yacc:
20444	include alloca.h if using bison and not gcc and it exists. fixes an
20445	alloca problem on hpux 10.x
20446	[e3b5c4f26072]
20447
20448	* INSTALL:
20449	mention --with-authenticate
20450	[78a1c96820e7]
20451
20452	* configure.in:
20453	added AIX authenticate() support
20454	[c983193ec252]
20455
20456	* config.h.in:
20457	add HAVE_AUTHENTICATE
20458	[7b0e5f5db5d9]
20459
20460	* interfaces.c:
20461	dynamically size ifconf buffer
20462	[10afb0e9b2f9]
20463
20464	* configure.in:
20465	quote '[' and ']'
20466	[8fc38a4defad]
20467
20468	* Makefile.in, check.c, compat.h, config.h.in, dce_pwent.c,
20469	emul/utime.h, find_path.c, getspwuid.c, getwd.c, goodpath.c,
20470	ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h, insults.h,
20471	logging.c, options.h, parse.c, parse.lex, parse.yacc,
20472	pathnames.h.in, putenv.c, strdup.c, sudo.c, sudo.h, sudo_setenv.c,
20473	testsudoers.c, tgetpass.c, utime.c, visudo.c:
20474	updated version
20475	[5f66de71ec61]
20476
20477	* visudo.pod:
20478	add ERRORS section
20479	[3df3edb73cf6]
20480
204811998-02-16  Todd C. Miller  <Todd.Miller@courtesan.com>
20482
20483	* TROUBLESHOOTING:
20484	add busy stmp file explanation
20485	[6c555d469b6f]
20486
204871998-02-15  Todd C. Miller  <Todd.Miller@courtesan.com>
20488
20489	* configure.in:
20490	the name of the cached var that signals whether or not you are cross
20491	compiling changed. It is now ac_cv_prog_cc_cross
20492	[123911c0658c]
20493
204941998-02-11  Todd C. Miller  <Todd.Miller@courtesan.com>
20495
20496	* INSTALL:
20497	mention glibc 2.07 is fixed wrt lsearch()\.
20498	[ded758524582]
20499
205001998-02-07  Todd C. Miller  <Todd.Miller@courtesan.com>
20501
20502	* sample.sudoers, sudoers.pod:
20503	better example of su but not root su
20504	[b3199610be21]
20505
205061998-02-06  Todd C. Miller  <Todd.Miller@courtesan.com>
20507
20508	* Makefile.in, check.c, compat.h, config.h.in, dce_pwent.c,
20509	emul/utime.h, find_path.c, getspwuid.c, getwd.c, goodpath.c,
20510	ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h, insults.h,
20511	interfaces.c, logging.c, options.h, parse.c, parse.lex, parse.yacc,
20512	pathnames.h.in, putenv.c, strdup.c, sudo.c, sudo.h, sudo_setenv.c,
20513	testsudoers.c, tgetpass.c, utime.c, visudo.c:
20514	updated version
20515	[46922b84e86b]
20516
20517	* Makefile.in:
20518	correct regexp for updating version
20519	[8032728b2a8a]
20520
20521	* tgetpass.c:
20522	remove bogus flush of stderr spew prompt before turning off echo.
20523	Seems to fix a weird problem where if sudo complained about a bogus
20524	stamp file the user would sometimes not have a chance to enter a
20525	password
20526	[7aa1493cc141]
20527
20528	* check.c:
20529	fix bogus flush of stderr
20530	[6d047871c5e8]
20531
20532	* sudo.c:
20533	close fd's <=2 not <=3 and move that chunk of code up
20534	[553e4faac195]
20535
20536	* configure.in:
20537	support hpux1[0-9] not just hpux10
20538	[5a34a000ff8a]
20539
205401998-01-30  Todd C. Miller  <Todd.Miller@courtesan.com>
20541
20542	* parse.c:
20543	set sudoers_fp to nil after closing
20544	[221a8b4bbf34]
20545
205461998-01-24  Todd C. Miller  <Todd.Miller@courtesan.com>
20547
20548	* config.guess, config.sub:
20549	updated from autoconf 2.12
20550	[6fc86a0fc61b]
20551
20552	* configure.in:
20553	add *-*-svr4 rule
20554	[38f0427f7c9d]
20555
205561998-01-23  Todd C. Miller  <Todd.Miller@courtesan.com>
20557
20558	* tgetpass.c:
20559	fix select usage for high fd's (dynamically allocate readfds)
20560	[c2d1f76e0321]
20561
20562	* check.c:
20563	kill extra whitespace
20564	[d784b6c9c514]
20565
20566	* sudo.c:
20567	do an initgroups() before running a command, unless the target user
20568	is root.
20569	[4ca561287480]
20570
205711998-01-22  Todd C. Miller  <Todd.Miller@courtesan.com>
20572
20573	* TROUBLESHOOTING:
20574	tell people to use tabs, not spaces, in syslog.conf
20575	[8ae90a205134]
20576
205771998-01-21  Todd C. Miller  <Todd.Miller@courtesan.com>
20578
20579	* Makefile.in, config.h.in, dce_pwent.c, emul/utime.h, getwd.c,
20580	parse.lex, putenv.c, strdup.c, testsudoers.c, utime.c:
20581	updated version
20582	[4d855ff5de26]
20583
20584	* check.c, find_path.c, getspwuid.c, goodpath.c, interfaces.c,
20585	logging.c, parse.c, sudo.c, sudo_setenv.c, tgetpass.c, visudo.c:
20586	updated version
20587	[8e007e178b33]
20588
20589	* compat.h, ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h,
20590	insults.h, options.h, parse.yacc, pathnames.h.in, sudo.h:
20591	updated version
20592	[9ddea5c8814d]
20593
20594	* Makefile.in:
20595	more tweaks to update_version
20596	[047698752855]
20597
20598	* Makefile.in:
20599	fixed up update_version rule
20600	[47b6fa34b77f]
20601
20602	* configure.in:
20603	++version
20604	[c1ca664e30b7]
20605
20606	* Makefile.in:
20607	removed supe of check.c
20608	[8f340a05296a]
20609
20610	* INSTALL:
20611	++version I missed
20612	[a298e6c17491]
20613
20614	* RUNSON:
20615	updated
20616	[a14f6057bc15]
20617
20618	* BUGS, INSTALL, Makefile.in, README, check.c, compat.h, config.h.in,
20619	dce_pwent.c, emul/utime.h, find_path.c, getspwuid.c, getwd.c,
20620	goodpath.c, ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h,
20621	insults.h, interfaces.c, logging.c, options.h, parse.c, parse.lex,
20622	parse.yacc, pathnames.h.in, putenv.c, strdup.c, sudo.c, sudo.h,
20623	sudo_setenv.c, testsudoers.c, tgetpass.c, utime.c, version.h,
20624	visudo.c:
20625	updated version
20626	[02231b1a3ab3]
20627
20628	* CHANGES:
20629	updated for 1.5.5
20630	[634e5fcaf40b]
20631
20632	* Makefile.in:
20633	add rules to update version stuff in files so I don't need to do it
20634	by hand
20635	[3620ad60485a]
20636
20637	* sudo.h:
20638	sudoers_fp is now extern
20639	[88c6e9b9ea84]
20640
20641	* sudo.c:
20642	in check_sudoers, cache the sudoers file handle in sudoers_fp so we
20643	don't have to open it again in the parse. This may help with weird
20644	solaris problems where EAGAIN sometime occurrs.
20645	[d3c26451ed1d]
20646
20647	* parse.c:
20648	sudoers file open is now done only in check_sudoers() so we just do
20649	a rewind() instead of an open. May help people on solaris who were
20650	getting EAGAIN.
20651	[c8b8c7722fa5]
20652
206531998-01-16  Todd C. Miller  <Todd.Miller@courtesan.com>
20654
20655	* INSTALL:
20656	mention that newer glibc is fixed
20657	[20f06f5d3ef3]
20658
206591998-01-13  Todd C. Miller  <Todd.Miller@courtesan.com>
20660
20661	* sudo.c:
20662	newer irix uses _RLDN32_* envariables for 32-bit binaries so ignore
20663	_RLD* instead of _RLD_*
20664	[1e22c588d602]
20665
20666	* parse.c:
20667	typo
20668	[d0b7cb85f08a]
20669
20670	* parse.c:
20671	fix that bug for real
20672	[5a6eeca6d04b]
20673
20674	* INSTALL:
20675	document Linux's libc6 brokenness.
20676	[0246c1aa64ee]
20677
20678	* parse.yacc:
20679	-Wall
20680	[d0e452fb1e2d]
20681
20682	* RUNSON:
20683	updated
20684	[4949a1bbd0a9] [SUDO_1_5_4]
20685
20686	* TROUBLESHOOTING:
20687	remind people to HUP syslogd
20688	[590962faa4f0]
20689
20690	* Makefile.in:
20691	add -O flag to tar
20692	[622d02de339d]
20693
20694	* RUNSON:
20695	updated
20696	[a72930d6e615]
20697
20698	* TODO:
20699	updated
20700	[4a51bd458390]
20701
20702	* sudo.pod:
20703	remove author's email addr. people should mail sudo-bugs
20704	[9b6bbdb3a6d9]
20705
20706	* INSTALL:
20707	fix version
20708	[246274c6c8af]
20709
20710	* README, check.c, compat.h, config.h.in, configure.in, dce_pwent.c,
20711	find_path.c, getspwuid.c, getwd.c, goodpath.c, ins_2001.h,
20712	ins_classic.h, ins_csops.h, ins_goons.h, insults.h, interfaces.c,
20713	logging.c, options.h, parse.c, parse.lex, parse.yacc,
20714	pathnames.h.in, putenv.c, strdup.c, sudo.c, sudo.h, sudo_setenv.c,
20715	testsudoers.c, tgetpass.c, utime.c, version.h, visudo.c:
20716	++version
20717	[f532ff4ee766]
20718
20719	* RUNSON:
20720	updated
20721	[62d5c71358b5]
20722
20723	* INSTALL, Makefile.in:
20724	++version
20725	[1a7c7628edfc]
20726
20727	* CHANGES:
20728	updated fort 1.5.4
20729	[7e4873508c99]
20730
20731	* check.c:
20732	exit(1) if user enters no passwd
20733	[f382c0e35e4e]
20734
20735	* BUGS:
20736	++version
20737	[fab6a867ab67]
20738
20739	* parse.c:
20740	commands can start with ./* not just /* -- fixes a serious security
20741	hole.
20742	[244d2fe35ee3]
20743
207441997-12-21  Todd C. Miller  <Todd.Miller@courtesan.com>
20745
20746	* sudo.c:
20747	Don't set the tty variable to NULL when we lack a tty, leave it as
20748	"unknown".
20749	[193b26daba03]
20750
207511997-11-23  Todd C. Miller  <Todd.Miller@courtesan.com>
20752
20753	* sample.sudoers:
20754	fix usage of (username) in conjunction with , and !
20755	[7ae68607f68f]
20756
20757	* visudo.c:
20758	catch the case where the user is not in the passwd file
20759	[31650258deb0]
20760
20761	* tgetpass.c:
20762	use fileno(input) + 1 instead of getdtablesize() as the nfds arg to
20763	select(2)
20764	[60ab2d9a9ee8]
20765
20766	* sudo.c:
20767	define tty global to an initial value to avoid dumping core in
20768	logging functions when passwd file is unavailable.
20769	[77056c7bc908]
20770
20771	* sudo.c:
20772	do the set_perms(PERM_USER, sudo_mode) after we have gotten the
20773	passwd entry
20774	[1fdb8e579a5a]
20775
20776	* sudo.pod:
20777	talk about problem of ALL
20778	[1cd1905c9f6f]
20779
207801997-10-10  Todd C. Miller  <Todd.Miller@courtesan.com>
20781
20782	* README:
20783	new web location
20784	[d24dc26f6da5]
20785
20786	* INSTALL:
20787	fdesc bug is fixed in Open/Net BSD
20788	[7d4d81b08ac3]
20789
20790	* HISTORY:
20791	updates from Nieusma
20792	[3a43769a1b78]
20793
207941997-10-09  Todd C. Miller  <Todd.Miller@courtesan.com>
20795
20796	* dce_pwent.c:
20797	move compat.h after the system includes
20798	[5ea43a5968ac]
20799
208001997-08-06  Todd C. Miller  <Todd.Miller@courtesan.com>
20801
20802	* logging.c:
20803	save errno from being clobbered by wait(). From Theo
20804	[f2d1c48cd592]
20805
208061997-05-21  Todd C. Miller  <Todd.Miller@courtesan.com>
20807
20808	* compat.h:
20809	fix an occurence of setresuid -> setreuid (typo)
20810	[394de35c9b1c]
20811
208121997-03-19  Todd C. Miller  <Todd.Miller@courtesan.com>
20813
20814	* install-sh:
20815	check for path to strip
20816	[2b7ef824bd55]
20817
208181997-01-16  Todd C. Miller  <Todd.Miller@courtesan.com>
20819
20820	* logging.c:
20821	deal with maxfilelen < 0 case
20822	[f0af095178d7]
20823
20824	* OPTIONS:
20825	fixed descriptin
20826	[629f60bd4b5f]
20827
208281996-12-12  Todd C. Miller  <Todd.Miller@courtesan.com>
20829
20830	* sudo.c:
20831	correct error message if mode/owner wrong and not statable by owner
20832	but is statable by root.
20833	[cb631ce2e85e]
20834
208351996-11-23  Todd C. Miller  <Todd.Miller@courtesan.com>
20836
20837	* config.guess, config.sub:
20838	autoconf 2.11
20839	[f3cbe59e0756]
20840
208411996-11-16  Todd C. Miller  <Todd.Miller@courtesan.com>
20842
20843	* CHANGES, RUNSON, TODO:
20844	sudo 1.5.3.
20845	[2be3229b8626]
20846
208471996-11-14  Todd C. Miller  <Todd.Miller@courtesan.com>
20848
20849	* parse.yacc, sudo.h:
20850	command_alias -> generic_alias
20851	[c404ca8c510d] [SUDO_1_5_3]
20852
20853	* sample.sudoers:
20854	added Runas_Alias example and fixed syntax errors
20855	[c304053f4a8a]
20856
20857	* OPTIONS, options.h:
20858	updated MAILSUBJECT
20859	[18d1573fcd2a]
20860
20861	* logging.c:
20862	added %h expansion
20863	[a4bff9b284fd]
20864
20865	* INSTALL, Makefile.in, README, check.c, compat.h, config.h.in,
20866	configure.in, dce_pwent.c, find_path.c, getspwuid.c, getwd.c,
20867	goodpath.c, ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h,
20868	insults.h, interfaces.c, logging.c, options.h, parse.c, parse.lex,
20869	parse.yacc, pathnames.h.in, putenv.c, strdup.c, sudo.c, sudo.h,
20870	sudo_setenv.c, testsudoers.c, tgetpass.c, utime.c, version.h,
20871	visudo.c:
20872	++version
20873	[211ff20f956f]
20874
20875	* BUGS, emul/utime.h:
20876	++version
20877	[cde5376579e3]
20878
20879	* sudoers.pod:
20880	document Runas_Alias
20881	[b1a58f28fb2c]
20882
20883	* visudo.pod:
20884	q (uid) -> Q
20885	[d256649a0e6b]
20886
20887	* visudo.c:
20888	buffer oflow checking q (uit) -> Q if yyparse() fails drop into
20889	whatnow
20890	[1cb183d15626]
20891
20892	* parse.yacc:
20893	add size params to sprintf
20894	[9228f698921f]
20895
20896	* parse.lex:
20897	allow trailing space after '\\' but before '\n'
20898	[f51dbbf69fdf]
20899
20900	* find_path.c:
20901	off by one error in path size check
20902	[a6d75ccd7632]
20903
20904	* check.c:
20905	sprintf paranoia
20906	[3ffb12d198dd]
20907
209081996-11-12  Todd C. Miller  <Todd.Miller@courtesan.com>
20909
20910	* parse.yacc:
20911	fixed more_aliases
20912	[aab12f2a50af]
20913
20914	* visudo.c:
20915	now warns if killed by signal ./
20916	[310c186a0fd7]
20917
209181996-11-11  Todd C. Miller  <Todd.Miller@courtesan.com>
20919
20920	* parse.yacc:
20921	fix Runas_Alias stuff Alias's in runas list now get expanded (but it
20922	is gross)
20923	[45590b83120f]
20924
20925	* sudo.c:
20926	Can now deal with SUDOERS_UID == 0 and SUDOERS_MODE == 0400
20927	[d53e01c14c58]
20928
20929	* parse.yacc:
20930	add Runas_Alias support change FOO to FOO_ALIAS (ie: USER_ALIAS)
20931	[7a4a040aae2d]
20932
20933	* parse.lex:
20934	Add Runas_Alias and simplify a rule.
20935	[6f794a769a37]
20936
20937	* parse.yacc:
20938	always store User_Alias's since they can be used inside of a runas
20939	list. Sigh. Really need a Runas_Alias instead.
20940	[3bab058a873e]
20941
209421996-10-30  Todd C. Miller  <Todd.Miller@courtesan.com>
20943
20944	* visudo.c:
20945	deal with case where there is no sudoers file
20946	[fa38b3bb244d]
20947
209481996-10-12  Todd C. Miller  <Todd.Miller@courtesan.com>
20949
20950	* TROUBLESHOOTING:
20951	added one
20952	[e61346d06725]
20953
209541996-10-11  Todd C. Miller  <Todd.Miller@courtesan.com>
20955
20956	* HISTORY, testsudoers.c:
20957	developement -> development
20958	[4df55e293941]
20959
20960	* INSTALL:
20961	added a note
20962	[3845fb83dbc0]
20963
20964	* RUNSON:
20965	for 1.5.2
20966	[5489b7298942]
20967
20968	* CHANGES:
20969	updated
20970	[0741834929e6]
20971
209721996-10-10  Todd C. Miller  <Todd.Miller@courtesan.com>
20973
20974	* PORTING:
20975	removed seteuid() notes
20976	[1010a60f281d] [SUDO_1_5_2]
20977
209781996-10-09  Todd C. Miller  <Todd.Miller@courtesan.com>
20979
20980	* compat.h:
20981	better seteuid() emulatino
20982	[e807623b662c]
20983
20984	* configure.in:
20985	added check for seteuid
20986	[8cf9fabc6f4f]
20987
20988	* config.h.in:
20989	added HAVE_SETEUID
20990	[596db46aa828]
20991
209921996-10-08  Todd C. Miller  <Todd.Miller@courtesan.com>
20993
20994	* configure.in:
20995	first stab at sequent support
20996	[b85a7bfcac76]
20997
20998	* config.h.in:
20999	added HAVE_SYS_SELECT_H
21000	[93ecdd042463]
21001
21002	* compat.h:
21003	sequent -> _SEQUENT_
21004	[63a38b6da98c]
21005
21006	* compat.h:
21007	added seteuid() macro for DYNIX
21008	[695bd63c5ea6]
21009
21010	* tgetpass.c:
21011	_AIX -> HAVE_SYS_SELECT_H
21012	[b31221211bc2]
21013
210141996-10-07  Todd C. Miller  <Todd.Miller@courtesan.com>
21015
21016	* BUGS, INSTALL, Makefile.in, OPTIONS, README, config.h.in, logging.c,
21017	parse.c, parse.lex, parse.yacc, putenv.c, strdup.c, sudo_setenv.c,
21018	testsudoers.c, tgetpass.c, utime.c, visudo.c:
21019	++version
21020	[8052992fd453]
21021
21022	* check.c, compat.h, dce_pwent.c, emul/utime.h, find_path.c,
21023	getspwuid.c, getwd.c, goodpath.c, ins_2001.h, ins_classic.h,
21024	ins_csops.h, ins_goons.h, insults.h, interfaces.c, options.h,
21025	pathnames.h.in, version.h:
21026	++version
21027	[f7ad15e1598a]
21028
21029	* sudo.pod:
21030	added -H and SUDO_PS1
21031	[bb965241e30c]
21032
21033	* configure.in:
21034	use SUDO_FUNC_FNMATCH
21035	[6a8350d85fb2]
21036
21037	* aclocal.m4:
21038	added SUDO_FUNC_FNMATCH
21039	[45b32c91c4ba]
21040
21041	* sudo.c:
21042	added -H flag
21043	[11ebc6872fd6]
21044
21045	* sudo.h:
21046	added MODE_RESET_HOME /
21047	[67a7f8bcbbd6]
21048
210491996-10-05  Todd C. Miller  <Todd.Miller@courtesan.com>
21050
21051	* INSTALL:
21052	mention OPIE
21053	[5723515d5bbd]
21054
21055	* options.h:
21056	SKEY -> OTP
21057	[c1d268130bc4]
21058
21059	* configure.in:
21060	added opie support
21061	[123872b41b20]
21062
21063	* compat.h, config.h.in:
21064	added HAVE_OPIE
21065	[528c71afc1e5]
21066
21067	* check.c:
21068	added HAVE_OPIE and changed to *_OTP_*
21069	[4c62f5db872a]
21070
21071	* OPTIONS:
21072	SKEY -> OTP
21073	[bd858e5e9652]
21074
210751996-10-04  Todd C. Miller  <Todd.Miller@courtesan.com>
21076
21077	* check.c:
21078	moved fclose() in skey stuff.
21079	[11f7dc8431a6]
21080
210811996-10-03  Todd C. Miller  <Todd.Miller@courtesan.com>
21082
21083	* putenv.c:
21084	index -> strchr remove unnecesary stuff
21085	[af2d05238062]
21086
21087	* check.c:
21088	now call skeychallenge() to get challenge instead of making one up
21089	ourselves. this way, we get extra goodies in the prompt.
21090	[49b770d98d3a]
21091
210921996-09-10  Todd C. Miller  <Todd.Miller@courtesan.com>
21093
21094	* CHANGES:
21095	added one
21096	[3f5149357e2a] [SUDO_1_5_1]
21097
21098	* parse.lex:
21099	allow logins to start with a number (YUCK!)
21100	[7ed7ef324741]
21101
211021996-09-08  Todd C. Miller  <Todd.Miller@courtesan.com>
21103
21104	* TROUBLESHOOTING:
21105	added soalris 2.5 vs 2.4 note
21106	[16160a251aae]
21107
21108	* configure.in:
21109	DUNIX doesn't need -lnsl
21110	[be924cc322c3]
21111
21112	* CHANGES:
21113	*** empty log message ***
21114	[1b2937521981]
21115
21116	* check.c, compat.h, config.h.in, dce_pwent.c, find_path.c,
21117	getspwuid.c, getwd.c, goodpath.c, ins_2001.h, ins_classic.h,
21118	ins_csops.h, ins_goons.h, insults.h, interfaces.c, logging.c,
21119	options.h, parse.c, parse.lex, parse.yacc, pathnames.h.in, putenv.c,
21120	strdup.c, sudo.c, sudo.h, sudo_setenv.c, testsudoers.c, tgetpass.c,
21121	utime.c, version.h, visudo.c:
21122	courtesan
21123	[5f203589bbfe]
21124
21125	* PORTING, README, RUNSON:
21126	courtesan
21127	[d72517f4937e]
21128
21129	* INSTALL, Makefile.in, TROUBLESHOOTING:
21130	courtesan
21131	[5c007e3c7a71]
21132
21133	* visudo.pod:
21134	*** empty log message ***
21135	[37ebe85bd4e1]
21136
21137	* sudo.pod, visudo.pod:
21138	courtesan
21139	[37f02e2130ea]
21140
211411996-09-07  Todd C. Miller  <Todd.Miller@courtesan.com>
21142
21143	* HISTORY:
21144	added courtesan ./
21145	[b01435226276]
21146
211471996-09-06  Todd C. Miller  <Todd.Miller@courtesan.com>
21148
21149	* sudo.c:
21150	added $SUDO_PROMPT support
21151	[cb1fa72c093d]
21152
211531996-09-04  Todd C. Miller  <Todd.Miller@courtesan.com>
21154
21155	* check.c:
21156	print long skey challemged to stderr, not stdout
21157	[750fc775b3b2]
21158
211591996-09-01  Todd C. Miller  <Todd.Miller@courtesan.com>
21160
21161	* CHANGES:
21162	updated for 1.5.1
21163	[9b615f393057]
21164
21165	* emul/utime.h:
21166	++version
21167	[a94de18deafb]
21168
211691996-08-31  Todd C. Miller  <Todd.Miller@courtesan.com>
21170
21171	* RUNSON:
21172	updated for 1.5.1
21173	[4092f20ab634]
21174
211751996-08-30  Todd C. Miller  <Todd.Miller@courtesan.com>
21176
21177	* check.c:
21178	use shost, not host for tgetpass
21179	[6061c49ff9be]
21180
21181	* sudo.pod:
21182	documented %u and %h
21183	[6d2922d29897]
21184
21185	* OPTIONS:
21186	documented %u and %h
21187	[1a71da13a864]
21188
21189	* configure.in:
21190	fixed typo
21191	[1230dec2b062]
21192
21193	* INSTALL, Makefile.in, README, check.c, compat.h, config.h.in,
21194	dce_pwent.c, find_path.c, getspwuid.c, getwd.c, goodpath.c,
21195	ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h, insults.h,
21196	interfaces.c, logging.c, options.h, parse.c, parse.lex, parse.yacc,
21197	pathnames.h.in, putenv.c, strdup.c, sudo.c, sudo.h, sudo_setenv.c,
21198	testsudoers.c, tgetpass.c, utime.c, version.h, visudo.c:
21199	++version
21200	[65ce8eabf77a]
21201
21202	* BUGS:
21203	++version
21204	[afecab53aab7]
21205
212061996-08-29  Todd C. Miller  <Todd.Miller@courtesan.com>
21207
21208	* Makefile.in, configure.in, version.h:
21209	++version
21210	[fb3ff940d672]
21211
21212	* sudo.h:
21213	new tgetpass() params
21214	[9eccc5b0f8ae]
21215
21216	* check.c:
21217	pass use and host to tgetpass
21218	[c56d9d13c401]
21219
21220	* tgetpass.c:
21221	added %u and %h escapes
21222	[04ae775d3e5d]
21223
21224	* OPTIONS, check.c, options.h:
21225	added NO_MESSAGE
21226	[3927dad19057]
21227
21228	* configure.in:
21229	added cray (unicos) support
21230	[1122210c5fb1]
21231
212321996-08-27  Todd C. Miller  <Todd.Miller@courtesan.com>
21233
21234	* OPTIONS, options.h, sudo.c:
21235	added SHELL_SETS_HOME
21236	[0b26909b0929]
21237
212381996-08-25  Todd C. Miller  <Todd.Miller@courtesan.com>
21239
21240	* INSTALL:
21241	added note about "make install"
21242	[7e56ea76d4b4]
21243
21244	* parse.yacc:
21245	changed length/size params from int to size_t
21246	[5654e5ceb1b3]
21247
21248	* OPTIONS:
21249	now get CSOPS insults as well by default
21250	[297323d0179a]
21251
21252	* insults.h:
21253	use csops insults too by default
21254	[07fafc136169]
21255
21256	* INSTALL, Makefile.in, README, config.h.in, configure.in, version.h:
21257	version = 1.5
21258	[4b8772b11e3b]
21259
21260	* sudo.c:
21261	added runas_homedir
21262	[b0e0d4417a15]
21263
21264	* TODO:
21265	updated for 1.5
21266	[66259df825d5]
21267
21268	* RUNSON:
21269	updated for 1.5
21270	[e08bc9ebfe95]
21271
21272	* CHANGES:
21273	1.5 release
21274	[8c16942fea41]
21275
21276	* INSTALL:
21277	added "upgrading" notes
21278	[210d968964ff]
21279
212801996-08-22  Todd C. Miller  <Todd.Miller@courtesan.com>
21281
21282	* visudo.c:
21283	now do chmod and chown after edit of temp file and before rename
21284	[de174e34faa7] [SUDO_1_5_0]
21285
212861996-08-18  Todd C. Miller  <Todd.Miller@courtesan.com>
21287
21288	* Makefile.in:
21289	++version added INSTALL.configure
21290	[c9e9214f52ae]
21291
21292	* configure.in, version.h:
21293	++version
21294	[5985abed3eb2]
21295
21296	* TROUBLESHOOTING:
21297	*** empty log message ***
21298	[d65c540ec52e]
21299
21300	* parse.yacc:
21301	added missing cast
21302	[e7247319a7d5]
21303
21304	* sudo.c:
21305	sets $HOME to pw_dir of runas user
21306	[d3f7f4d05752]
21307
21308	* sudo.pod:
21309	document $HOME change
21310	[854454d458c4]
21311
213121996-08-17  Todd C. Miller  <Todd.Miller@courtesan.com>
21313
21314	* sudo.pod:
21315	fixed up some wording
21316	[b0c8582f2c97]
21317
21318	* check.c, dce_pwent.c, find_path.c, getspwuid.c, getwd.c, goodpath.c,
21319	interfaces.c, logging.c, parse.c, parse.lex, parse.yacc, putenv.c,
21320	strdup.c, sudo.c, sudo_setenv.c, testsudoers.c, tgetpass.c, utime.c,
21321	visudo.c:
21322	++version
21323	[748be723fd8b]
21324
21325	* compat.h, ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h,
21326	insults.h, options.h, pathnames.h.in, sudo.h:
21327	++version
21328	[acdf8b1b2a1b]
21329
21330	* emul/utime.h:
21331	++version
21332	[b3f35298ab8d]
21333
21334	* sudo.h:
21335	name nad type changes
21336	[db24ab3da141]
21337
21338	* testsudoers.c:
21339	now works with new sudo
21340	[379346c42cc2]
21341
21342	* parse.yacc:
21343	fixed some XXX
21344	[f5fe4c990052]
21345
21346	* parse.yacc:
21347	some variable name changes + comment headers for functions.
21348	[3dc3bd9aa73d]
21349
21350	* tgetpass.c:
21351	added extra paren's to make compilers happy
21352	[9e4968a34d56]
21353
21354	* sudo.c:
21355	*** empty log message ***
21356	[70c924c1ed69]
21357
21358	* parse.c:
21359	now uses init_parser() if not in sudoers and tries "list" or
21360	"validate" scold but don't be nasty.
21361	[c0d8fb3f8c9e]
21362
21363	* TROUBLESHOOTING:
21364	now can use upper case login names
21365	[c772fffcefe5]
21366
21367	* visudo.c:
21368	now uses init_parser()
21369	[b9efae7243fd]
21370
21371	* INSTALL, README:
21372	updated
21373	[27dc8283fdc8]
21374
21375	* PORTING:
21376	added info about PASSWORD_TIMEOUT
21377	[980e15d892f8]
21378
21379	* INSTALL.configure:
21380	Initial revision
21381	[8292e89a08d3]
21382
21383	* BUGS:
21384	fixed a bug ,
21385	[c6e46f5624f9]
21386
21387	* parse.yacc:
21388	now dynamically allocates memory for the stacks -- no more
21389	overflows!
21390	[8615c35b6ad3]
21391
21392	* sudo.pod:
21393	-l now explands command aliases
21394	[39f45605935d]
21395
21396	* parse.yacc:
21397	hacks to expand command aliases for `sudo -l'
21398	[e4eb752608f9]
21399
21400	* sudo.c:
21401	remove $ENV and $BASH_ENV (dangerous in ksh, posix sh, and bash)
21402	[01327ca5084b]
21403
21404	* sudo.h:
21405	added struct command_alias
21406	[dd2f32764082]
21407
21408	* sudo.pod:
21409	fixed a bug
21410	[e708ff08d2eb]
21411
21412	* lsearch.c:
21413	in compar() key should be first arg
21414	[fc14c3fa62ee]
21415
214161996-08-15  Todd C. Miller  <Todd.Miller@courtesan.com>
21417
21418	* BUGS:
21419	fixed some bugs
21420	[639dfe425bd5]
21421
21422	* parse.yacc:
21423	can now deal with upcase HOST and USER names
21424	[c6aa7bcfb00d]
21425
21426	* sudo.c:
21427	don't yell too loudly at non-sudoers if they do "sudo -l"
21428	[4ef146128d89]
21429
21430	* sudo.pod:
21431	fixed thinko
21432	[830f2f0f22e7]
21433
21434	* parse.c:
21435	fix comment
21436	[d20ce9e17ddc]
21437
214381996-08-09  Todd C. Miller  <Todd.Miller@courtesan.com>
21439
21440	* parse.c, parse.yacc:
21441	added support for new `sudo -l' stuff
21442	[7dceaef3c733]
21443
21444	* sudo.c:
21445	now uses list_matches()
21446	[293364821b61]
21447
21448	* sudo.h:
21449	added struct sudo_match
21450	[b2684179d179]
21451
21452	* configure.in:
21453	now more -lgnumalloc
21454	[4f8ae42617d8]
21455
214561996-08-01  Todd C. Miller  <Todd.Miller@courtesan.com>
21457
21458	* install-sh:
21459	added more paths for chown and whoami
21460	[6e685a19426c]
21461
214621996-07-31  Todd C. Miller  <Todd.Miller@courtesan.com>
21463
21464	* check.c:
21465	typo
21466	[3adfa01c04bc]
21467
214681996-07-30  Todd C. Miller  <Todd.Miller@courtesan.com>
21469
21470	* aclocal.m4:
21471	fixed DUNIX check for shadow pw
21472	[c25324bcd27b]
21473
21474	* tgetpass.c:
21475	now only turn off echo if it is already on. this fixes a race when
21476	you use sudo in a pipelin
21477	[28388c2de21c]
21478
21479	* INSTALL:
21480	updated
21481	[b45ac9366b7e]
21482
21483	* configure.in:
21484	changed "test -z $foo && do_this" to if; then construct
21485	[2183c4426bca]
21486
214871996-07-29  Todd C. Miller  <Todd.Miller@courtesan.com>
21488
21489	* configure.in:
21490	added missing defines of SHADOW_TYPE
21491	[be89ea68a7f3]
21492
214931996-07-26  Todd C. Miller  <Todd.Miller@courtesan.com>
21494
21495	* check.c:
21496	protect AUTH_CRYPT_OLDCRYPT and AUTH_CRYPT_C1CRYPT since they are
21497	only in dunix 4.x
21498	[1e7c1c677263]
21499
21500	* getspwuid.c:
21501	added AUTH_CRYPT_C1CRYPT support
21502	[88d6b0058b20]
21503
21504	* parse.c:
21505	no longer return VALIDATE_NOT_OK if there was a runas that didn't
21506	match. Now we can have runas stuff on more than one line.
21507	[52b68920d7b7]
21508
21509	* getspwuid.c, sudo.c, tgetpass.c:
21510	use SHADOW_TYPE instead of HAVE_C2_SECURITY
21511	[cf401dfcbc06]
21512
21513	* configure.in:
21514	got rid of HAVE_C2_SECURITY SHADOW_TYPE is always defined to
21515	something
21516	[c7a233c4dd93]
21517
21518	* config.h.in:
21519	removed HAVE_C2_SECURITY added SPW_BSD
21520	[8314405e9754]
21521
21522	* compat.h:
21523	use SHADOW_TYPE instead of HAVE_C2_SECURITY
21524	[6f94870df17f]
21525
21526	* check.c:
21527	SHADOW_TYPE is always defined so just against its value
21528	[72c69a55d02f]
21529
21530	* aclocal.m4:
21531	added SUDO_CHECK_SHADOW_DUNIX
21532	[ef025ae9d496]
21533
215341996-07-25  Todd C. Miller  <Todd.Miller@courtesan.com>
21535
21536	* sudoers.pod:
21537	* -> ?* in one example added another instance of (runas) and one of
21538	NOPASSWD:
21539	[d74fe1dcbe7d]
21540
215411996-07-24  Todd C. Miller  <Todd.Miller@courtesan.com>
21542
21543	* configure.in:
21544	added back check for config.cache from other host type
21545	[0ba87871f585]
21546
21547	* parse.lex:
21548	removed an instance of \"
21549	[1e008d3709f6]
21550
21551	* sample.sudoers:
21552	added an example
21553	[dbfcf68ee330]
21554
21555	* sudoers.pod:
21556	updated wrt new wildcard matching
21557	[193fa44a475b]
21558
21559	* configure.in:
21560	new check for shadow passwords if we don't know anything
21561	[67465df7dc9a]
21562
21563	* aclocal.m4:
21564	new SUDO_CHECK_SHADOW_GENERIC
21565	[3563b16a41b8]
21566
21567	* configure.in:
21568	added back check for -lsocket (oops)
21569	[a80882ee1cb6]
21570
21571	* configure.in:
21572	better (working) check for shadow passwd type if we know to use C2.
21573	[3cdd2a59a641]
21574
21575	* configure.in:
21576	now uses AC_CANONICAL_HOST to figure out os type
21577	[80db7fe6e704]
21578
21579	* Makefile.in:
21580	added config.{guess,sub}
21581	[c6be7e3ca384]
21582
21583	* aclocal.m4:
21584	removed unused stuff to figure out os type
21585	[c9a0f3b57123]
21586
21587	* config.sub:
21588	added openbsd
21589	[bfc6bfec3668]
21590
21591	* config.sub:
21592	Initial revision
21593	[e6e06ce0d17d]
21594
21595	* config.guess:
21596	Initial revision
21597	[99dd06f79199]
21598
21599	* testsudoers.c:
21600	don't call fnmatch() with FNM_PATHNAME flag unless it can only be a
21601	pathname. need to check against sudoers_args even if user_args is
21602	nil
21603	[66e6cf77f5d6]
21604
21605	* parse.c:
21606	don't call fnmatch() with FNM_PATHNAME flag unless it can only be a
21607	pathname need to check against sudoers_args even if user_args is nil
21608	[74374df17311]
21609
216101996-07-23  Todd C. Miller  <Todd.Miller@courtesan.com>
21611
21612	* check.c:
21613	added support for AUTH_CRYPT_OLDCRYPT w/ DUNIX C2
21614	[cbb00261c415]
21615
21616	* testsudoers.c:
21617	now takes command line args and uses cmnd_args
21618	[f0c2fd35a527]
21619
21620	* parse.lex:
21621	fill_args was adding an extra leading space
21622	[692fc999b2e8]
21623
216241996-07-22  Todd C. Miller  <Todd.Miller@courtesan.com>
21625
21626	* visudo.c:
21627	fixed dummy command_matches()
21628	[93d9543db6e2]
21629
21630	* parse.yacc:
21631	fixed prototype
21632	[7b0addfbd429]
21633
21634	* sudo.h:
21635	added cmnd_args
21636	[8f47c4ae65ef]
21637
21638	* parse.yacc:
21639	now uses flat args string
21640	[016e65877da3]
21641
21642	* parse.c, parse.lex:
21643	now uses flat arg string
21644	[5b5f2e3f4c09]
21645
21646	* visudo.c:
21647	added cmnd_args def
21648	[876867134775]
21649
21650	* sudo.c:
21651	now sets cmnd_args global
21652	[e6fee70cb59b]
21653
21654	* logging.c:
21655	cmnd_args is now exported from sudo.[ch]
21656	[7a9cd36e356f]
21657
216581996-07-21  Todd C. Miller  <Todd.Miller@courtesan.com>
21659
21660	* parse.yacc:
21661	can't rely on cmnd_matches as much as I thought -- added some $$
21662	stuff back in to prevent namespace pollution problems.
21663	[3c45fedb5af3]
21664
21665	* parse.yacc:
21666	Simplified parse rules wrt runas and NOPASSWD (more consistent).
21667	[e6d838c8a4c7]
21668
216691996-07-20  Todd C. Miller  <Todd.Miller@courtesan.com>
21670
21671	* parse.lex:
21672	NOPASSWD may now have blanks before the ':' '(' only starts a
21673	'runas' if in the initial state to avoid collision with command args
21674	[c5c01172f499]
21675
21676	* configure.in:
21677	added checks for specific shadow passwd schemes
21678	[b7e3d1f7b84f]
21679
21680	* aclocal.m4:
21681	added routines to check for specific shadow passwd types
21682	[e5e1d19960a6]
21683
216841996-07-18  Todd C. Miller  <Todd.Miller@courtesan.com>
21685
21686	* configure.in:
21687	added support for ncr boxen
21688	[bea9dc5aae7f]
21689
21690	* aclocal.m4:
21691	added support for detecting ncr boxen
21692	[8653a158a924]
21693
216941996-07-16  Todd C. Miller  <Todd.Miller@courtesan.com>
21695
21696	* configure.in:
21697	added sinix support
21698	[5de2b2173ee1]
21699
217001996-07-14  Todd C. Miller  <Todd.Miller@courtesan.com>
21701
21702	* TROUBLESHOOTING:
21703	added info about "config.cache from other other" error.
21704	[845b10198e0b]
21705
21706	* aclocal.m4:
21707	now makes sure you don't have a config.cache file from another OS
21708	[4fe32571c021]
21709
21710	* configure.in:
21711	now sets $LIBS when needed to configure links with libs when doing
21712	tests hpux10 now uses SPW_SECUREWARE for C2 added check for
21713	bigcrypt(3) if SPW_SECUREWARE
21714	[2df6b8ca538f]
21715
21716	* getspwuid.c:
21717	fixed typo
21718	[fe1cb1d792d6]
21719
21720	* tgetpass.c:
21721	now include stuff for SPW_SECUREWARE to get AUTH_MAX_PASSWD_LENGTH
21722	[f71138372c07]
21723
21724	* getspwuid.c:
21725	no more SPW_HPUX10
21726	[cfdeb18bc16b]
21727
21728	* config.h.in:
21729	no more SPW_HPUX10 added HAVE_BIGCRYPT
21730	[00d296479a61]
21731
21732	* compat.h:
21733	now uses AUTH_MAX_PASSWD_LENGTH if SPW_SECUREWARE
21734	[6c6d9e680417]
21735
21736	* check.c:
21737	SPW_SECUREWARE now uses bigcrypt
21738	[be71fc66690f]
21739
217401996-07-13  Todd C. Miller  <Todd.Miller@courtesan.com>
21741
21742	* sample.sudoers:
21743	fixed 2 syntax errors
21744	[45eee19ef4ac]
21745
21746	* sudoers:
21747	root may now run ALL as ALL
21748	[1b54c6b9b212]
21749
217501996-07-12  Todd C. Miller  <Todd.Miller@courtesan.com>
21751
21752	* interfaces.c:
21753	fixed a typo/thinko that broke BSD's with sa_len
21754	[603438360126]
21755
217561996-07-08  Todd C. Miller  <Todd.Miller@courtesan.com>
21757
21758	* check.c, configure.in:
21759	updated AFS support
21760	[e572eb8d177a]
21761
21762	* TROUBLESHOOTING:
21763	added entry about /usr/ucb/cc
21764	[025b353aa9d3]
21765
21766	* INSTALL:
21767	prep no longer holds gcc binaries
21768	[8b0942958049]
21769
21770	* INSTALL:
21771	updated AFS note
21772	[7af6efd5abe4]
21773
21774	* Makefile.in:
21775	added @AFS_LIBS@
21776	[97b6fe6ad7d6]
21777
21778	* compat.h:
21779	AFS allows long passwords
21780	[5fb17122c302]
21781
21782	* testsudoers.c:
21783	fixed -u user support
21784	[b1a0c1648639]
21785
21786	* parse.c:
21787	sudo -v now groks VALIDATE_OK_NOPASS
21788	[74fc03fffe7e]
21789
21790	* parse.yacc:
21791	fixed no_passwd vs. runas_matched
21792	[549a9b791a6a]
21793
21794	* TROUBLESHOOTING:
21795	took out stuff about NFS-mounting since it is no longer an issue
21796	[d95ab7fbbc61]
21797
21798	* INSTALL:
21799	added --with-libraries > --with-libpath --with-incpath
21800	[d5d15a7a0f4c]
21801
21802	* parse.yacc:
21803	was setting runas_matches to -1 in wrong place
21804	[db2b1deb8d33]
21805
21806	* check.c:
21807	removed usersec.h which is not present in new AFS versions
21808	[618b016dd17f]
21809
21810	* tgetpass.c:
21811	now deals with timeout <= 0
21812	[ba53a1257255]
21813
21814	* OPTIONS:
21815	updated
21816	[75093bd8fdca]
21817
21818	* configure.in:
21819	BSD/OS >= 2.0 now uses shlicc instead of just gcc
21820	[ff6dbf7825c2]
21821
21822	* sudo.c:
21823	fixed backwards compatibility with sudo 1.4 sudoers mode for root
21824	readable/writable filesystems
21825	[2694ed627221]
21826
21827	* Makefile.in:
21828	now gives INSTALL -c flag
21829	[63db055a2fd1]
21830
21831	* parse.yacc:
21832	slightly simpler initialization of no_passwd and runas_matches
21833	[463a1b5fa323]
21834
21835	* testsudoers.c:
21836	added -u username support
21837	[38b072fcd6b3]
21838
21839	* configure.in:
21840	improved --with-libraries support
21841	[047dbc5f0af2]
21842
218431996-07-07  Todd C. Miller  <Todd.Miller@courtesan.com>
21844
21845	* configure.in:
21846	added --with-incpath, --with-libpath, --with-libraries
21847	[20f20d6c718c]
21848
21849	* parse.yacc:
21850	now initializes some fields that weren't getting set to -1 pretty
21851	gross -- need a rewrite.
21852	[021c160390c6]
21853
218541996-06-26  Todd C. Miller  <Todd.Miller@courtesan.com>
21855
21856	* alloca.c:
21857	removed emacs'isms
21858	[9d4ec2efe057]
21859
21860	* configure.in:
21861	no longer add -lPW to *_LIBS since we include alloca.c
21862	[a626d1bbea80]
21863
21864	* config.h.in:
21865	added HAVE_ALLOCA_H
21866	[15491e2a6cff]
21867
21868	* Makefile.in:
21869	added alloca.c
21870	[0400f25e1fe4]
21871
21872	* alloca.c:
21873	Initial revision
21874	[06d033aa4882]
21875
21876	* configure.in:
21877	++version
21878	[f52c0fb98f90]
21879
218801996-06-25  Todd C. Miller  <Todd.Miller@courtesan.com>
21881
21882	* sudo.c:
21883	now set uid to 1 instead of nobody for PERM_SUDOERS since nobody is
21884	not always set to a valid uid.
21885	[c2669f77704d]
21886
21887	* OPTIONS:
21888	fixed entry for SUDO_MODE
21889	[d7272f6035b8]
21890
21891	* sudo.c:
21892	Fixed NFS-mounted sudoers file under solaris both uid *and* gid were
21893	being set to -2. Now beat NFS to the punch and set uid to "nobody"
21894	ourselves, preserving group 0 to read sudoers.
21895	[b1fbc5dd1e34]
21896
21897	* parse.c:
21898	moved set_perms(PERM_ROOT) to be before yyparse()
21899	[7619d8080735]
21900
21901	* logging.c:
21902	fixed a typo
21903	[318acc48cde0]
21904
21905	* configure.in:
21906	no longer need AC_PROG_INSTALL
21907	[de01b1336dc8]
21908
21909	* Makefile.in:
21910	always use install-sh to avoid install(1)'s that use get{pw,gr}nam
21911	[ea2351986406]
21912
21913	* INSTALL:
21914	make clean -> make distclean
21915	[704a98e8ba10]
21916
219171996-06-20  Todd C. Miller  <Todd.Miller@courtesan.com>
21918
21919	* parse.yacc:
21920	removed some unnecsary if's
21921	[f00db6508132]
21922
21923	* Makefile.in, version.h:
21924	++version
21925	[bdb6740b24c8]
21926
21927	* parse.c, testsudoers.c:
21928	now includes netgroup.h
21929	[93f5a06352bc]
21930
21931	* interfaces.c:
21932	removed cats of ioctl to int since they didn't shut up -Wall
21933	[83e9f912cd7a]
21934
21935	* interfaces.c:
21936	explicately cast ioctl() to int since it it not always declared
21937	[2ff9294e469e]
21938
21939	* sudo.h:
21940	added declarations for yyparse() and yylex()
21941	[6071321ab771]
21942
21943	* parse.yacc:
21944	fixed an occurence of '==' -> '='
21945	[2c46d2e11d57]
21946
21947	* config.h.in, configure.in:
21948	added check for netgroup.h
21949	[73403050f4e3]
21950
21951	* sudo.c:
21952	fixed 2 compiler warnings
21953	[680929b0bd97]
21954
21955	* sudo.c:
21956	SHELL_IF_NO_ARGS caused core dump since NewArg[cv] weren't being
21957	initialized
21958	[18707ecd07c2]
21959
219601996-06-19  Todd C. Miller  <Todd.Miller@courtesan.com>
21961
21962	* sudo.pod:
21963	fixed a typo
21964	[e4b5c12aa130]
21965
219661996-06-17  Todd C. Miller  <Todd.Miller@courtesan.com>
21967
21968	* parse.yacc:
21969	fixed a formatting thingie
21970	[c79327b6f19b]
21971
21972	* parse.c, parse.yacc:
21973	fixed -u support with multiple user lists on a line
21974	[e4d1066adca2]
21975
21976	* configure.in:
21977	unixware needs -lgen
21978	[b5bf9bca63cc]
21979
21980	* README:
21981	updated ftp location
21982	[b25a033f7921]
21983
21984	* sudoers.pod:
21985	add net_addr/netmask support
21986	[674e83516d1e]
21987
21988	* sample.sudoers:
21989	added net_addr/mask example
21990	[774878e89b28]
21991
21992	* parse.c, parse.lex:
21993	added support for net_addr/netmask
21994	[e33de27325d8]
21995
219961996-06-16  Todd C. Miller  <Todd.Miller@courtesan.com>
21997
21998	* sudoers.pod:
21999	^ -> !
22000	[1a084950d6ef]
22001
220021996-06-15  Todd C. Miller  <Todd.Miller@courtesan.com>
22003
22004	* RUNSON:
22005	updated for 1.4.3
22006	[c82019025d09]
22007
22008	* CHANGES:
22009	udpated for 1.4.3
22010	[ceaa81adb8f0]
22011
22012	* BUGS, TODO, TROUBLESHOOTING:
22013	updated
22014	[ff94fae4b853]
22015
22016	* sample.sudoers:
22017	updated with examples of new stuff
22018	[99d0b4cb4c9c]
22019
22020	* INSTALL, README:
22021	++version
22022	[b763b80fe836]
22023
22024	* sudoers.pod:
22025	updated wrt -u and NOPASSWD
22026	[0b5b722ea0f4]
22027
22028	* sudo.pod:
22029	updated wrt -u and CAVEATS
22030	[71d5d53b5d18]
22031
220321996-06-09  Todd C. Miller  <Todd.Miller@courtesan.com>
22033
22034	* sudo.c:
22035	fixed usage()
22036	[114c7d09b550]
22037
22038	* parse.lex:
22039	now use :foo: character classes (makes no diff for generated lexer)
22040	[7b0aeb737a02]
22041
220421996-06-07  Todd C. Miller  <Todd.Miller@courtesan.com>
22043
22044	* check.c:
22045	fixed LONG_SKEY_PROMPT stuff
22046	[0efe78b4bdda]
22047
220481996-06-06  Todd C. Miller  <Todd.Miller@courtesan.com>
22049
22050	* visudo.c:
22051	fixed a comment
22052	[3d289017104b]
22053
22054	* lsearch.c:
22055	make more like NetBSD one -- now compiles w/o warnings
22056	[932206296a54]
22057
22058	* emul/search.h:
22059	fixed decls of lsearch()
22060	[c58cf4584c45]
22061
22062	* config.h.in, configure.in, getspwuid.c:
22063	added SPW_HPUX10
22064	[d74e5eaa5f17]
22065
22066	* check.c:
22067	hpux 10 uses bigcrypt() if C2
22068	[359eb63f4021]
22069
220701996-06-04  Todd C. Miller  <Todd.Miller@courtesan.com>
22071
22072	* parse.c:
22073	now always uses fnmatch to match args
22074	[a9d91f35256a]
22075
22076	* tgetpass.c:
22077	back to using stdio instead of raw i/o since that caused some
22078	problems
22079	[e7ce2bc92974]
22080
220811996-05-29  Todd C. Miller  <Todd.Miller@courtesan.com>
22082
22083	* sudo.c:
22084	now give usage warning if use -l,-v,-k with args
22085	[6b48180c4fea]
22086
220871996-05-28  Todd C. Miller  <Todd.Miller@courtesan.com>
22088
22089	* sudo.c:
22090	NewArgc is now set to 1 for -l, -v, -k
22091	[7497cb1416a8]
22092
22093	* sudo.c:
22094	now sets sudoers to correct group if mode is 0400
22095	[484c43d99718]
22096
22097	* install-sh:
22098	updated to version used by inn and bind
22099	[28683ad8725a]
22100
22101	* configure.in:
22102	now uses -lgnumalloc if it exists
22103	[3651ca4415a2]
22104
22105	* Makefile.in:
22106	"make install" now sets uid/gid and mode on sudoers if it exists
22107	[1f5216191ae9]
22108
22109	* sudo.c:
22110	rmeoved debugging statements
22111	[aeda278e2c26]
22112
22113	* parse.yacc:
22114	added a missing free()
22115	[592c9482a159]
22116
22117	* sudo.c:
22118	now uses user_gid instead of getegid (which was wrong anyway) to set
22119	SUDO_GID Now sets command line args in SUDO_COMMAND envariabled
22120	(logging.c depends on args being in the environment)
22121	[9f5328a3b942]
22122
22123	* logging.c:
22124	now uses SUDO_COMMAND envariable to get command args rather than
22125	building it up again.
22126	[7f8edc5bccb7]
22127
22128	* parse.c:
22129	now uses user_gid
22130	[4b9303ae45fe]
22131
22132	* sudo.c:
22133	fixed off by one error in allocation NewArgv
22134	[921ea1a4e7c6]
22135
22136	* parse.c:
22137	in sudoers, 'command ""' now means command with no args
22138	[a5273648ace2]
22139
22140	* configure.in:
22141	added check for fnmatch(3) and fnmatch.h
22142	[258916a7866f]
22143
22144	* config.h.in:
22145	added HAVE_FNMATCH
22146	[b9860d361e93]
22147
22148	* Makefile.in:
22149	replaced wildcat.* with fnmatch.*
22150	[03ad9ee21a1c]
22151
22152	* testsudoers.c:
22153	now uses fnmatch()
22154	[5a7f7de987a9]
22155
221561996-05-27  Todd C. Miller  <Todd.Miller@courtesan.com>
22157
22158	* parse.c:
22159	now uses fnmatch() instead of wildmat a trailing star (*) by itself
22160	now matches multiple args added support for wildcards in the
22161	pathname in sudoers
22162	[1f7fb950b868]
22163
221641996-05-25  Todd C. Miller  <Todd.Miller@courtesan.com>
22165
22166	* fnmatch.c:
22167	now includes compat.h and config.h
22168	[090206b95cf8]
22169
22170	* config.h.in:
22171	added HAVE_FNMATCH_H
22172	[90eb42150173]
22173
22174	* configure.in:
22175	now checks for alloca() (if needed by bison or dce) and links with
22176	-lPW if it contains alloca() and libv and compiler do not.
22177	[cfa2b3cef49a]
22178
22179	* emul/fnmatch.h, fnmatch.3, fnmatch.c:
22180	Initial revision
22181	[20b1f762a32a]
22182
221831996-04-29  Todd C. Miller  <Todd.Miller@courtesan.com>
22184
22185	* sudo.c:
22186	now fixes mode on sudoers if set to 0400 to aid in upgrade
22187	[d4bdfd521820]
22188
221891996-04-28  Todd C. Miller  <Todd.Miller@courtesan.com>
22190
22191	* Makefile.in:
22192	fixed pod2man usage
22193	[5adf2ec77b27]
22194
22195	* Makefile.in, configure.in, version.h:
22196	++version
22197	[b4029de876d0]
22198
22199	* testsudoers.c, visudo.c:
22200	runas_user is now initialized to "root"
22201	[8537d97bff39]
22202
22203	* sudo.h:
22204	removed PERM_FULL_ROOT
22205	[241f8bbf647f]
22206
22207	* sudo.c:
22208	runas_user defaults to "root" so no more need to PERM_RUNAS
22209	[fc0c0dfc72ba]
22210
22211	* parse.c:
22212	will now only running commands as root if there was no runas list
22213	(or if root is in the runas list)
22214	[40c587666c81]
22215
22216	* logging.c:
22217	now logs "USER=%s"
22218	[b733504c87fd]
22219
22220	* parse.yacc:
22221	runas_matches is now set to false if we get a negative match
22222	[5495b150b300]
22223
22224	* parse.lex:
22225	make #uid work + some minor cleanup
22226	[07851bbce03a]
22227
22228	* sample.sudoers:
22229	added support for NOPASSWD and "runas" from garp@opustel.com /
22230	[7a9c67b51fa5]
22231
22232	* visudo.c:
22233	added support for "runas" from garp@opustel.com replaced
22234	SUDOERS_OWNER with SUDOERS_UID, SUDOERS_GID added support for
22235	SUDOERS_MODE
22236	[e714209b9885]
22237
22238	* testsudoers.c:
22239	added support for "runas" from garp@opustel.com
22240	[b837f856da10]
22241
22242	* sudo.h:
22243	added support for NO_PASSWD and runas from garp@opustel.com replaced
22244	SUDOERS_OWNER with SUDOERS_UID and SUDOERS_GID and added support
22245	fro SUDOERS_MODE
22246	[cea6f26679b7]
22247
22248	* sudo.c:
22249	added support for NO_PASSWD and runas from garp@opustel.com replaced
22250	SUDOERS_OWNER with SUDOERS_UID and SUDOERS_GID and added support fro
22251	SUDOERS_MODE
22252	[61b5434237c5]
22253
22254	* parse.yacc:
22255	added support for NO_PASSWD and runas from garp@opustel.com
22256	[72ebd3056f22]
22257
22258	* parse.c, parse.lex:
22259	added support for NO_PASSWD and runas from garp@opustel.com
22260	[fef6dbdd114d]
22261
22262	* logging.c:
22263	added support for SUDOERS_WRONG_MODE and "runas"
22264	[e794efc2b443]
22265
22266	* configure.in:
22267	added --with-CC only link with -lshadow on linux (with shadow pw) if
22268	libc lacks getspnam()
22269	[3ecf4ae21002]
22270
22271	* OPTIONS, options.h:
22272	removed NO_PASSWD since it is not possible to do this in the sudoers
22273	file itself. Replaced SUDOERS_OWNER with SUDOERS_UID and
22274	SUDOERS_GID. Added SUDOERS_MODE.
22275	[2eaa4891ef48]
22276
22277	* Makefile.in:
22278	now uses SUDOERS_UID and SUDOERS_GID
22279	[8d615f0fdb2a]
22280
222811996-04-27  Todd C. Miller  <Todd.Miller@courtesan.com>
22282
22283	* INSTALL:
22284	added --with-CC
22285	[a1b8286a81b8]
22286
222871996-04-06  Todd C. Miller  <Todd.Miller@courtesan.com>
22288
22289	* parse.lex:
22290	added double quote support
22291	[a5e4fc7e3a2b]
22292
22293	* sudoers.pod:
22294	documented double quoting
22295	[c6ea47969a44]
22296
222971996-04-05  Todd C. Miller  <Todd.Miller@courtesan.com>
22298
22299	* mkinstalldirs:
22300	Initial revision
22301	[dcb86d65ad8f]
22302
22303	* check.c:
22304	fixed some indentation
22305	[4d1c5ab8072b]
22306
22307	* Makefile.in:
22308	fixed a typo
22309	[0d27eebc7227]
22310
22311	* Makefile.in:
22312	added install-dirs .
22313	[f499b99b8be7]
22314
223151996-04-04  Todd C. Miller  <Todd.Miller@courtesan.com>
22316
22317	* dce_pwent.c:
22318	new version from "Jeff A. Earickson" <jaearick@colby.edu>
22319	[422481be5fbd]
22320
223211996-04-03  Todd C. Miller  <Todd.Miller@courtesan.com>
22322
22323	* configure.in:
22324	$CSOPS -> $with_csops (whoops, missed one)
22325	[b04c6948130e]
22326
22327	* BUGS:
22328	updated
22329	[c4d5713e227d]
22330
22331	* parse.lex:
22332	FQHOST now has same constraints as non-FQHOST
22333	[e1c3bf2381d1]
22334
22335	* INSTALL:
22336	added note about OS's w/ shadow passwords turned on by default
22337	[166257f43be4]
22338
223391996-04-02  Todd C. Miller  <Todd.Miller@courtesan.com>
22340
22341	* configure.in:
22342	fixed a typo
22343	[e5c3e2e9a359]
22344
22345	* configure.in:
22346	added support for --without-THING sanitized shadow pw situtation by
22347	adding support for
22348	--without-C2
22349	[65dc6bf64cce]
22350
22351	* tgetpass.c:
22352	fixed a typo wrt placement of an end paren
22353	[a8780f818231]
22354
22355	* check.c:
22356	was closing an fd that may not have been opened
22357	[760271c7bdc9]
22358
223591996-03-22  Todd C. Miller  <Todd.Miller@courtesan.com>
22360
22361	* OPTIONS, options.h, sudo.c:
22362	added NO_PASSWD
22363	[28ff1dc93d7a]
22364
223651996-03-20  Todd C. Miller  <Todd.Miller@courtesan.com>
22366
22367	* configure.in:
22368	now always use shadow pw on some arches
22369	[069161ccffda]
22370
223711996-03-19  Todd C. Miller  <Todd.Miller@courtesan.com>
22372
22373	* configure.in:
22374	added pyramid support
22375	[a0eb57a3a531]
22376
22377	* configure.in:
22378	no longer check for C2 if alternate passwd method is used no longer
22379	check for some libs twice
22380	[2d0c3c902b40]
22381
22382	* parse.yacc:
22383	moved fqdn stuff into parse.lex (FQHOST)
22384	[d9c9abd481d8]
22385
22386	* parse.lex:
22387	added FQHOST rules
22388	[4a1695acff6d]
22389
22390	* tgetpass.c:
22391	now define TCSASOFT in necesary
22392	[3fac2e21c9ab]
22393
22394	* tgetpass.c:
22395	now uses read/write instead of stdio string goop to avoid problems
22396	with select(2)
22397	[67fd174e518c]
22398
22399	* OPTIONS, find_path.c, options.h:
22400	-DNO_DOT_PATH -> -DIGNORE_DOT_PATH
22401	[d05ba5100d28]
22402
224031996-03-17  Todd C. Miller  <Todd.Miller@courtesan.com>
22404
22405	* INSTALL:
22406	added note about no shadow auto-detect if using alternate auth
22407	schemes
22408	[b425592232a3]
22409
22410	* configure.in:
22411	don't check for C2 if AFS or DCE (unless they said --with-C2)
22412	[61342962171a]
22413
22414	* testsudoers.c:
22415	now groks shost
22416	[85dda17303f6]
22417
22418	* OPTIONS, find_path.c, options.h:
22419	added NO_DOT_PATH
22420	[c261ca1fb196]
22421
224221996-03-16  Todd C. Miller  <Todd.Miller@courtesan.com>
22423
22424	* find_path.c:
22425	checkdot now works correctly
22426	[3bc4835bb3e9]
22427
224281996-03-12  Todd C. Miller  <Todd.Miller@courtesan.com>
22429
22430	* configure.in:
22431	can't have DCE and C2 passwords both...
22432	[fb9a8ab7ca66]
22433
224341996-03-11  Todd C. Miller  <Todd.Miller@courtesan.com>
22435
22436	* parse.yacc, sudo.c, sudo.h, visudo.c:
22437	now uses shost even if not FQDN
22438	[87f7498b3a1f]
22439
22440	* configure.in:
22441	now looks for skey in /usr/lib and doesn't require libskey to be in
22442	/usr/local/lib just because skey.h is (for my netbsd box :-)
22443	[ceb1763e37d2]
22444
22445	* aclocal.m4, config.h.in, pathnames.h.in:
22446	_SUDO_PATH_ -> _CONFIG_PATH_
22447	[84d97ad13d75]
22448
22449	* aclocal.m4, sudo.pod:
22450	/var/run/.odus -> /var/run/sudo
22451	[922da220b8f5]
22452
22453	* pathnames.h.in:
22454	now uses _SUDO_PATH_TIMEDIR
22455	[5ecab0155fdf]
22456
22457	* OPTIONS:
22458	udpated FQDN
22459	[361b6f7440c0]
22460
22461	* aclocal.m4, configure.in:
22462	added SUDO_TIMEDIR
22463	[368c95c8c950]
22464
22465	* config.h.in:
22466	added _SUDO_PATH_TIMEDIR
22467	[3879864d808c]
22468
22469	* sudo.pod:
22470	updated wrt /var/run/sudo
22471	[9e14f2a429d3]
22472
22473	* sudo.c, sudo.h:
22474	added support for shost if FQDN
22475	[51a3f51a09a1]
22476
22477	* parse.yacc, visudo.c:
22478	now uses shost if FQDN
22479	[d19da2e92b42]
22480
22481	* check.c:
22482	Now use skeylookup() instead off skeychallenge()
22483	[4c7438bb2ae0]
22484
224851996-02-28  Todd C. Miller  <Todd.Miller@courtesan.com>
22486
22487	* logging.c:
22488	mail_argv should not contain ALERTMAIL as it includes "-t"
22489	[67ffaaa8f843]
22490
224911996-02-22  Todd C. Miller  <Todd.Miller@courtesan.com>
22492
22493	* INSTALL, Makefile.in, README, configure.in, version.h:
22494	++version
22495	[e08fd4a809fc]
22496
22497	* compat.h:
22498	added more _PASSWD_LEN stuff -- now uses PASS_MAX too
22499	[2f20c3153689]
22500
22501	* tgetpass.c:
22502	now includes limits.h moved _PASSWD_LEN -> compat.h
22503	[b1ca3cafdacc]
22504
225051996-02-06  Todd C. Miller  <Todd.Miller@courtesan.com>
22506
22507	* INSTALL, README:
22508	++version
22509	[3eacf32803f5]
22510
22511	* Makefile.in:
22512	++versoin
22513	[3b91c317630a]
22514
22515	* Makefile.in:
22516	fixed a typo
22517	[3661ac4a7803]
22518
22519	* configure.in:
22520	++version
22521	[60e842973745]
22522
225231996-02-05  Todd C. Miller  <Todd.Miller@courtesan.com>
22524
22525	* RUNSON:
22526	updated
22527	[def2c3c24195]
22528
22529	* CHANGES:
22530	done for 1.4.1 (I hope)
22531	[2ab543769a40]
22532
22533	* sudoers.pod:
22534	added info on wildcards
22535	[ce3bd41bc063]
22536
22537	* sample.sudoers:
22538	added wildcard example
22539	[762feb0577bd]
22540
22541	* Makefile.in:
22542	now uses *.pod to build *.man and *.cat & *.html
22543	[3ec14962028b]
22544
22545	* configure.in:
22546	addedSUDO_PROG_BSHELL !ll
22547	[3c80b320bf16]
22548
22549	* visudo.pod:
22550	fixed up some formatting
22551	[12166c434526]
22552
22553	* sudoers.pod:
22554	redid section describing sample sudoers stuff
22555	[b8065cceec71]
22556
22557	* sudo.pod:
22558	fixed some formatting
22559	[aa9a681add0f]
22560
22561	* getspwuid.c:
22562	now treats "" as bourne shell
22563	[30194a72ad56]
22564
22565	* Makefile.in:
22566	TESTOBJS nwo includes wildmat.o
22567	[86cc6500f84d]
22568
22569	* testsudoers.c:
22570	now works with NewArg[cv]
22571	[2f72674ce942]
22572
22573	* sudo.c:
22574	removed an XXX (fixed it in getspwuid.c)
22575	[e791ee0d1a68]
22576
22577	* aclocal.m4:
22578	added check for bourne shell
22579	[a2fd51676b8a]
22580
22581	* pathnames.h.in:
22582	added _PATH_BSHELL
22583	[e7c10011d47b]
22584
22585	* config.h.in:
22586	added _SUDO_PATH_BSHELL
22587	[6a1182898de9]
22588
225891996-02-04  Todd C. Miller  <Todd.Miller@courtesan.com>
22590
22591	* visudo.c:
22592	unixware vi returns 256 instead of 0
22593	[234ffc7c6786]
22594
22595	* INSTALL:
22596	added Linux note
22597	[5f85efcd2b58]
22598
22599	* logging.c:
22600	fixed up some XXX's. file log format now looks a little more like
22601	real syslog(3) format.
22602	[6df55707bfc3]
22603
22604	* README, TROUBLESHOOTING:
22605	updated wrt lex/flex
22606	[eb787d69156b]
22607
22608	* Makefile.in:
22609	commented out rule to build lex.yy.c from parse.lex since we ship
22610	with a pre-flex'd parser
22611	[7507e2ce4a95]
22612
22613	* parse.c, parse.yacc, visudo.c:
22614	path_matches -> command_matches
22615	[0bd469424f86]
22616
22617	* logging.c:
22618	eliminated some strcat()'s
22619	[9878a79bc374]
22620
22621	* configure.in:
22622	no longer checks for lex/flex (now assumes flex)
22623	[a086ccc73798]
22624
22625	* configure.in:
22626	now checks for $kerb_dir_candidate/krb.h instead of just
22627	kerb_dir_candidate
22628	[9133bc3c5208]
22629
226301996-02-03  Todd C. Miller  <Todd.Miller@courtesan.com>
22631
22632	* parse.yacc:
22633	now use a 'hook' expression instead of an iffy one :-)
22634	[9560df01b8c0]
22635
226361996-02-02  Todd C. Miller  <Todd.Miller@courtesan.com>
22637
22638	* visudo.c:
22639	now works with new sudo arg stuff
22640	[310a0d43ddad]
22641
22642	* parse.yacc:
22643	fixed dereferencing deadbeef
22644	[474ef8a8006b]
22645
22646	* sudo.c:
22647	changed an occurrence of Argv to NewArgv
22648	[205b012b7691]
22649
22650	* parse.lex:
22651	took out support for quoted commands since there is no need...
22652	[5c5036d353b1]
22653
22654	* parse.c:
22655	fixed a typo in a for() loop
22656	[7e8d5283c43b]
22657
22658	* logging.c:
22659	protected against dereferencing rogue pointers
22660	[56debd517717]
22661
22662	* sudo.c:
22663	now uses NewArgv amd NewArgc so cmnd_aegs is no longer needed this
22664	also allows us to eliminate some kludges in parse_args() and
22665	eliminate superfluous code.
22666	[5122f66ad150]
22667
22668	* logging.c:
22669	no longer uses cmnd_args, now uses NewArgv instead.
22670	[abddd23cf068]
22671
22672	* sudo.h:
22673	added struct sudo_command, NewArgc, and NewArgv removed cmnd_args
22674	(no longer used)
22675	[78410984fb05]
22676
22677	* Makefile.in:
22678	added wildmat.c to SRCS & SUDOBJS
22679	[3800efb41794]
22680
22681	* parse.yacc:
22682	COMMAND is now a struct containing the path and args
22683	[5c32822c5b94]
22684
22685	* parse.lex:
22686	replaced append() with fill_cmnd() and fill_args. command args from
22687	a sudoers entry are now stored in an arrary for easy matching.
22688	[a981d7f4eb0d]
22689
22690	* parse.c:
22691	command line args from sudoers file are now in an array like ones
22692	passed in from the command line
22693	[1d9e37e84519]
22694
226951996-02-01  Todd C. Miller  <Todd.Miller@courtesan.com>
22696
22697	* parse.c:
22698	wildwat stuff now works
22699	[49d16488531f]
22700
227011996-01-29  Todd C. Miller  <Todd.Miller@courtesan.com>
22702
22703	* version.h:
22704	++version
22705	[53e55463ef89]
22706
22707	* Makefile.in:
22708	++version added wildmat.*
22709	[0508297a4711]
22710
227111996-01-28  Todd C. Miller  <Todd.Miller@courtesan.com>
22712
22713	* parse.lex:
22714	added support for quoted commands (w/ or w/o args)
22715	[b9a637155673]
22716
227171996-01-22  Todd C. Miller  <Todd.Miller@courtesan.com>
22718
22719	* sudo.pod, visudo.pod:
22720	cleaned up formatting
22721	[4591d4195437]
22722
22723	* sudo.pod, visudo.pod:
22724	Initial revision
22725	[7564a8242750]
22726
227271996-01-21  Todd C. Miller  <Todd.Miller@courtesan.com>
22728
22729	* sudoers.pod:
22730	looks reasonable, could be mroe readable
22731	[a5be2d19d9e0]
22732
22733	* sudoers.pod:
22734	Initial revision
22735	[957888be31a6]
22736
227371996-01-16  Todd C. Miller  <Todd.Miller@courtesan.com>
22738
22739	* RUNSON:
22740	updated
22741	[633743aa924b]
22742
22743	* OPTIONS:
22744	updated NO_ROOT_SUDO entry
22745	[f1c15b1dec9e]
22746
227471996-01-15  Todd C. Miller  <Todd.Miller@courtesan.com>
22748
22749	* RUNSON:
22750	*** empty log message ***
22751	[5b63de579ff7] [SUDO_1_4_0]
22752
22753	* sudo.c:
22754	fixed SECURE_PATH
22755	[6002889f606d]
22756
22757	* RUNSON:
22758	udpa`ted for 1.4
22759	[6014a8592815]
22760
22761	* configure.in:
22762	AIX aixcrypt.exp now uses $(srcdir)
22763	[b0d57674fef4]
22764
22765	* TROUBLESHOOTING:
22766	added entry for anal ansi compilers
22767	[4193cec1c6b1]
22768
227691996-01-14  Todd C. Miller  <Todd.Miller@courtesan.com>
22770
22771	* INSTALL:
22772	added info on libcrypt_i for SCO
22773	[575497d56698]
22774
22775	* TODO:
22776	*** empty log message ***
22777	[d0aaf67b9913]
22778
22779	* sample.sudoers:
22780	added comments
22781	[a7773f7eda8d]
22782
22783	* TODO:
22784	1.4 release
22785	[1dade29e9fd9]
22786
22787	* CHANGES:
22788	++version
22789	[67241be40780]
22790
22791	* INSTALL, OPTIONS, README, config.h.in, configure.in:
22792	++version
22793	[2e0a37897f68]
22794
22795	* BUGS:
22796	++version and fixed ISC
22797	[78963f01a0e3]
22798
22799	* check.c, compat.h, dce_pwent.c, find_path.c, getspwuid.c, getwd.c,
22800	goodpath.c, ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h,
22801	insults.h, logging.c, options.h, pathnames.h.in, putenv.c, strdup.c,
22802	sudo.c, sudo.h, sudo_setenv.c, testsudoers.c, tgetpass.c, utime.c,
22803	visudo.c:
22804	++version
22805	[b6227f29b3d9]
22806
22807	* interfaces.c:
22808	added STUB_LOAD_INTERFACES ++version
22809	[d8150a3fd577]
22810
22811	* Makefile.in, emul/utime.h, parse.c, parse.lex, parse.yacc,
22812	version.h:
22813	++version
22814	[da9e90e69bdc]
22815
22816	* PORTING:
22817	added info about fd_set in tgetpass added info on interfaces.c
22818	[a39902febd17]
22819
228201996-01-11  Todd C. Miller  <Todd.Miller@courtesan.com>
22821
22822	* dce_pwent.c:
22823	added sudo header
22824	[fc0f2c48682e]
22825
22826	* tgetpass.c:
22827	fixed a typo
22828	[43d40b72ee8f]
22829
22830	* Makefile.in:
22831	tgetpass.o is now only linked in with sudo (not visudo)
22832	[7407c5ff11f8]
22833
228341996-01-09  Todd C. Miller  <Todd.Miller@courtesan.com>
22835
22836	* BUGS, INSTALL, Makefile.in, OPTIONS, README, config.h.in,
22837	configure.in:
22838	++version
22839	[9b82ad805d6b]
22840
22841	* emul/utime.h:
22842	added copyright notice
22843	[4380f16cd075]
22844
22845	* check.c, compat.h, find_path.c, getspwuid.c, getwd.c, goodpath.c,
22846	ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h, insults.h,
22847	interfaces.c, logging.c, options.h, parse.c, parse.lex, parse.yacc,
22848	pathnames.h.in, putenv.c, strdup.c, sudo.c, sudo.h, sudo_setenv.c,
22849	testsudoers.c, tgetpass.c, utime.c, version.h, visudo.c:
22850	++version
22851	[32717fdb5d05]
22852
22853	* tgetpass.c:
22854	minor cleanup and now includes sys/bsdtypes for svr4'ish boxen
22855	[326864428da2]
22856
22857	* configure.in:
22858	ISC now gets -lcrypt now check for sys/bsdtypes.h
22859	[e064799c054b]
22860
22861	* config.h.in:
22862	added check for sys/bsdtypes.h
22863	[9adb9533c363]
22864
228651996-01-07  Todd C. Miller  <Todd.Miller@courtesan.com>
22866
22867	* parse.yacc:
22868	removed debugging stuff (setting freed ptr to NULL)
22869	[02fe8eec63a0]
22870
22871	* TROUBLESHOOTING:
22872	added 2 entries
22873	[02884e2733e2]
22874
22875	* Makefile.in:
22876	added FAQ
22877	[074d8dfcf28d]
22878
22879	* TROUBLESHOOTING:
22880	added section on syslog
22881	[e6bc02a22b86]
22882
22883	* configure.in:
22884	added AC_ISC_POSIX for better ISC support
22885	[8436b3e12af2]
22886
22887	* config.h.in:
22888	fixed typo
22889	[f1b3922babf4]
22890
22891	* config.h.in:
22892	added define for _POSIX_SOURCE
22893	[ded6d92b34f9]
22894
228951996-01-04  Todd C. Miller  <Todd.Miller@courtesan.com>
22896
22897	* configure.in:
22898	fixed check for lsearch()
22899	[75baa5bc28a3]
22900
229011995-12-22  Todd C. Miller  <Todd.Miller@courtesan.com>
22902
22903	* interfaces.c:
22904	fixed for AIX now deal if num_interfaces == 0 (should not happen)
22905	[ae450e859227]
22906
229071995-12-20  Todd C. Miller  <Todd.Miller@courtesan.com>
22908
22909	* configure.in:
22910	now only define HAVE_LSEARCH if there is a corresponding search.h
22911	[8ce645c5d17f]
22912
22913	* interfaces.c:
22914	works on ISC again
22915	[ccac920d424c]
22916
229171995-12-18  Todd C. Miller  <Todd.Miller@courtesan.com>
22918
22919	* configure.in:
22920	now define HAVE_LSEARCH if we find lsearch() in libcompat
22921	[7343e4313a87]
22922
22923	* lsearch.c:
22924	char * -> const char *
22925	[1c0b11c2300a]
22926
22927	* configure.in:
22928	now looks in -lcompat for lsearch()
22929	[a1cc1d6fcd09]
22930
22931	* Makefile.in:
22932	remove sudo.core visudo.core for clan target
22933	[b523456a85df]
22934
22935	* aclocal.m4:
22936	added UID_MAX support in check for MAX_UID_T_LEN
22937	[7ab262b1173f]
22938
22939	* Makefile.in:
22940	fixed another occurence of sudo_getpwuid.*
22941	[fb5809c07da2]
22942
22943	* Makefile.in, getspwuid.c:
22944	sudo_getpwuid.c -> getspwuid.c
22945	[875f2ef808b4]
22946
22947	* configure.in:
22948	moved the "echo"
22949	[ad7b8f966076]
22950
22951	* BUGS, CHANGES, INSTALL, Makefile.in, OPTIONS, README, check.c,
22952	compat.h, config.h.in, configure.in, find_path.c, getspwuid.c,
22953	getwd.c, goodpath.c, ins_2001.h, ins_classic.h, ins_csops.h,
22954	ins_goons.h, insults.h, interfaces.c, logging.c, options.h, parse.c,
22955	parse.lex, parse.yacc, pathnames.h.in, putenv.c, strdup.c, sudo.c,
22956	sudo.h, sudo_setenv.c, testsudoers.c, tgetpass.c, utime.c,
22957	version.h, visudo.c:
22958	++version
22959	[ee57c6410ffa]
22960
22961	* testsudoers.c:
22962	added group support
22963	[54d8097df8bd]
22964
22965	* sample.sudoers:
22966	added group entry
22967	[50994d31fd49]
22968
22969	* sudoers.man:
22970	documented group support
22971	[0a16707f8fed]
22972
22973	* parse.c, parse.lex, parse.yacc, visudo.c:
22974	added group support
22975	[427218c879c8]
22976
229771995-12-15  Todd C. Miller  <Todd.Miller@courtesan.com>
22978
22979	* check.c:
22980	tkfile was too short and overflowed the kerberos realm
22981	[53823a1ff5af]
22982
229831995-12-11  Todd C. Miller  <Todd.Miller@courtesan.com>
22984
22985	* sudo.c:
22986	now copy command args directly from Argv
22987	[77408278b6fd]
22988
22989	* sudo.c:
22990	replaced code to copy cmnd_args so that is does not use realloc
22991	since most realloc()'s really stink
22992	[b29a0ff73fb6]
22993
229941995-12-08  Todd C. Miller  <Todd.Miller@courtesan.com>
22995
22996	* configure.in:
22997	syslog() fixed in hpux 10.01
22998	[2648e6f0cdb0]
22999
230001995-12-06  Todd C. Miller  <Todd.Miller@courtesan.com>
23001
23002	* configure.in:
23003	AC_CHECK_LIB() now sets SUDO_LIBS (and VISUDO_LIBS if appropriate)
23004	[8f108b8d8711]
23005
23006	* configure.in:
23007	better error if cannot find skey incs or libs
23008	[5887662ee9d3]
23009
23010	* aclocal.m4:
23011	now use a temp file for determining max len of uid_t in string form.
23012	the old hacky way broke on netbsd
23013	[b68f470fa9f8]
23014
23015	* sudo.c:
23016	added set of parens and a space
23017	[8a3d4826d022]
23018
230191995-12-05  Todd C. Miller  <Todd.Miller@courtesan.com>
23020
23021	* dce_pwent.c:
23022	fixes from Jeff Earickson <jaearick@colby.edu> ,
23023	[bde0f0b756ec]
23024
23025	* check.c:
23026	modified a comment
23027	[e2a97f1afbbe]
23028
23029	* Makefile.in:
23030	fixed up testsudoers target
23031	[d39c4e7bb609]
23032
23033	* configure.in:
23034	DCE changes from Jeff Earickson <jaearick@colby.edu> LIBS ->
23035	SUDO_LIBS and VISUDO_LIBS LDFLAGS -> SUDO_FDFLAGS and VISUDO_LDFLAGS
23036	[da7a1c433828]
23037
23038	* Makefile.in:
23039	LIBS -> SUDO_LIBS , VISUDO_LIBS LDFLAGS -> SUDO_LDFLAGS,
23040	VISUDO_LDFLAGS
23041	[4b69503e8487]
23042
230431995-11-28  Todd C. Miller  <Todd.Miller@courtesan.com>
23044
23045	* configure.in:
23046	fix for C2 on hpux 10 now uses -linet if it exists
23047	[8d300112263d]
23048
23049	* check.c:
23050	LONG_SKEY_PROMPT is less of a klusge /
23051	[dcc144abaac3]
23052
23053	* configure.in:
23054	fixed typos w/ dce stuff
23055	[f7dfd6d4e149]
23056
23057	* Makefile.in:
23058	added dce_pwent.c
23059	[79047acdc516]
23060
230611995-11-26  Todd C. Miller  <Todd.Miller@courtesan.com>
23062
23063	* INSTALL:
23064	amended section on combining authentication mechanisms
23065	[dc5138c7c716]
23066
23067	* PORTING:
23068	minor updates for 1.3.6
23069	[fe80c13bd994]
23070
23071	* TROUBLESHOOTING:
23072	added 2 more entries
23073	[c7201439a0f5]
23074
23075	* BUGS:
23076	updated for 1.3.6
23077	[979b414d2a2d]
23078
23079	* README:
23080	overhauled
23081	[3af8b60eb594]
23082
23083	* INSTALL:
23084	rewrote for sudo 1.3.6
23085	[b16027b9c726]
23086
23087	* TROUBLESHOOTING:
23088	added 3 entries
23089	[934c9ee3f153]
23090
230911995-11-25  Todd C. Miller  <Todd.Miller@courtesan.com>
23092
23093	* find_path.c, getspwuid.c, sudo.c:
23094	added explict casts for strdup since many includes don't prototype
23095	it. gag me.
23096	[3e19a11f2fcc]
23097
23098	* sudo.h:
23099	removed prototype for sudo_getpwuid() since convex C compiler choked
23100	on it.
23101	[c3ea74ca67b0]
23102
23103	* sudo.c:
23104	added prototype for sudo_getpwuid()
23105	[4a8e3cdc2b98]
23106
23107	* lsearch.c:
23108	now compiles on strict ANSI compilers
23109	[3ce5d72d0b08]
23110
23111	* check.c:
23112	added LONG_SKEY_PROMPT support
23113	[48a18b8a2332]
23114
23115	* Makefile.in:
23116	added extra $'s for make to eat up, yum.
23117	[2995b214e12b]
23118
23119	* OPTIONS, options.h:
23120	added LONG_SKEY_PROMPT
23121	[f23ae799b5a4]
23122
231231995-11-24  Todd C. Miller  <Todd.Miller@courtesan.com>
23124
23125	* check.c:
23126	s/key support now works with normal s/key as well as logdaemon
23127	[d67573f523bf]
23128
23129	* OPTIONS, options.h:
23130	added SKEY_ONLY
23131	[bbf07654e0de]
23132
23133	* compat.h:
23134	set _PASSWD_LEN to 256 for any of KERB4, DCE, SKEY
23135	[205895b96a36]
23136
23137	* INSTALL:
23138	added DCE note added more AIX notes
23139	[6345403b3522]
23140
23141	* sudo.c:
23142	now include pthread.h for DCE support
23143	[6fe02865f679]
23144
23145	* check.c:
23146	dce_pwent() is ok after all .,
23147	[d26a8746a55d]
23148
23149	* logging.c:
23150	now uses SYSLOG() macro that equates to either syslog() or
23151	syslog_wrapper
23152	[42ac4cff8045]
23153
23154	* dce_pwent.c:
23155	minor formatting changes. renamed check() to somthing less generic
23156	[71859f217be1]
23157
23158	* check.c, logging.c, parse.yacc, sudo.c, sudo.h, testsudoers.c,
23159	visudo.c:
23160	now uses user_pw_ent and simple macros to get at the contents
23161	[f4cbf3e7145a]
23162
231631995-11-23  Todd C. Miller  <Todd.Miller@courtesan.com>
23164
23165	* check.c:
23166	simpler dec unix C2 support
23167	[86bc8f75250e]
23168
23169	* getspwuid.c:
23170	now sets crypt_type for DEC unix C2
23171	[99aeadd18266]
23172
231731995-11-21  Todd C. Miller  <Todd.Miller@courtesan.com>
23174
23175	* configure.in:
23176	added csops paths for skey
23177	[b8ca672e2117]
23178
23179	* getspwuid.c:
23180	now includes string.h for strdup() prototype
23181	[3605259c3620]
23182
23183	* getspwuid.c:
23184	fixed a few typos
23185	[46c97e4ea417]
23186
23187	* check.c:
23188	now includes skey.h
23189	[11e611ce1b61]
23190
23191	* getspwuid.c:
23192	fixed up comments
23193	[223dac56f0c8]
23194
23195	* check.c:
23196	moved a lot of the shadow passwd crap to sudo_getpwuid()
23197	[97d8887fb7d3]
23198
23199	* sudo.c:
23200	now uses sudo_pw_ent
23201	[d014dadbef48]
23202
23203	* testsudoers.c:
23204	now uses sudo_pw_ent
23205	[d92936ed7e34]
23206
23207	* visudo.c:
23208	now sets sudo_pw_ent
23209	[ff75cdfcf8b3]
23210
23211	* getspwuid.c:
23212	Initial revision
23213	[6deb6df9d7bc]
23214
23215	* tgetpass.c:
23216	moved dce stuff into compat.h
23217	[1124284396e7]
23218
23219	* logging.c, sudo.h:
23220	now uses sudo_pw_ent
23221	[404ff20a5067]
23222
23223	* Makefile.in:
23224	added sudo_getpwuid.c
23225	[6666d0644512]
23226
23227	* compat.h:
23228	added dce support
23229	[3c3b36a7ce0e]
23230
23231	* parse.yacc:
23232	now uses sudo_pw_ent
23233	[9f5e8d11bd68]
23234
232351995-11-20  Todd C. Miller  <Todd.Miller@courtesan.com>
23236
23237	* check.c:
23238	fixed exempt_group stuff for OS's that don't put base gid in group
23239	vector
23240	[003f153bd396]
23241
23242	* check.c:
23243	S/Key support now works with sunos4 shadow passwords
23244	[1eb64a5efff1]
23245
23246	* Makefile.in:
23247	fixed clean rule
23248	[5695a2c62816]
23249
23250	* config.h.in, configure.in:
23251	added DCE support
23252	[f53c766c1947]
23253
23254	* tgetpass.c:
23255	DCE & KERB support
23256	[904cf436506a]
23257
23258	* check.c:
23259	first stab at dce support
23260	[aea5ca07b1e3]
23261
23262	* dce_pwent.c:
23263	now smells like sudo
23264	[8b3d609b49cd]
23265
23266	* dce_pwent.c:
23267	Initial revision
23268	[b573555f2399]
23269
23270	* check.c:
23271	skey'd sudo now works w/ normal password as well
23272	[8d038f9f6e94]
23273
232741995-11-19  Todd C. Miller  <Todd.Miller@courtesan.com>
23275
23276	* Makefile.in, OPTIONS, check.c, compat.h, config.h.in, find_path.c,
23277	getwd.c, goodpath.c, ins_2001.h, ins_classic.h, ins_csops.h,
23278	ins_goons.h, insults.h, interfaces.c, logging.c, options.h, parse.c,
23279	parse.lex, parse.yacc, pathnames.h.in, putenv.c, strdup.c, sudo.c,
23280	sudo.h, sudo_setenv.c, testsudoers.c, tgetpass.c, utime.c,
23281	version.h, visudo.c:
23282	updated version number
23283	[ba7e346d7904]
23284
23285	* README:
23286	updated to reflect version change
23287	[1d15cf1d8cc8]
23288
23289	* configure.in:
23290	--with options now line up ++version
23291	[08ebf625fbca]
23292
23293	* sudo.h:
23294	removed unecesary S/Key stuff
23295	[68188cba90af]
23296
23297	* configure.in:
23298	fixed S/Key support
23299	[f6d9cbc36618]
23300
23301	* Makefile.in:
23302	-I stuff now goes in CPPFLAGS
23303	[7b8e53c5b046]
23304
23305	* check.c:
23306	fixed SKey support
23307	[52c1a5cf4435]
23308
23309	* README:
23310	updated version
23311	[bed6498a10bb]
23312
23313	* OPTIONS:
23314	fixed description of EXEMPTGROUP
23315	[cfeead55edc2]
23316
23317	* sudo.c:
23318	more people use _RLD_ than just alphas...
23319	[6a3c7090a6f6]
23320
23321	* Makefile.in:
23322	replaced $man_prefix with $mandir
23323	[dc4b36a550e2]
23324
23325	* configure.in:
23326	fixed a typo
23327	[a38a4acddcaf]
23328
23329	* Makefile.in:
23330	now use more GNU'ish dir names
23331	[c5498391a520]
23332
23333	* configure.in:
23334	now set *dir correctly (can override from command line)
23335	[523ff98fd438]
23336
23337	* sudo.c:
23338	now deal with situations where we getwd() fails
23339	[88a9e61dccbb]
23340
233411995-11-17  Todd C. Miller  <Todd.Miller@courtesan.com>
23342
23343	* Makefile.in:
23344	added etc_dir, bin_dir, sbin_dir
23345	[75fd08d92842]
23346
23347	* configure.in:
23348	added sbin_dir
23349	[3cb318c0d8d1]
23350
23351	* Makefile.in:
23352	now ship a flex-generated lex.yy.c
23353	[4d083ed70dce]
23354
23355	* Makefile.in:
23356	now sets _PATH_SUDO_SUDOERS, _PATH_SUDO_STMP, SUDOERS_OWNER
23357	[4d51dc9c3780]
23358
23359	* pathnames.h.in:
23360	_PATH_SUDO_SUDOERS & _PATH_SUDO_STMP are now overridden via Makefile
23361	[773fd163d52f]
23362
23363	* options.h:
23364	no more error for redefining SUDOERS_OWNER
23365	[4ba336644c6a]
23366
23367	* OPTIONS:
23368	expanded SUDOERS_OWNER section
23369	[12fae405759e]
23370
233711995-11-16  Todd C. Miller  <Todd.Miller@courtesan.com>
23372
23373	* visudo.c:
23374	now warn if chown(2) failed
23375	[d0d1db6e3a1f]
23376
23377	* logging.c:
23378	better default warning for NO_SUDOERS_FILE
23379	[5260b458ac64]
23380
23381	* sudo.c:
23382	added missing set_perms() no more cryptic message if the sudoers
23383	file is zero length, now just give a parse error
23384	[b81ea724838a]
23385
23386	* logging.c:
23387	better diagnostics if NO_SUDOERS_FILE
23388	[877e878663c5]
23389
23390	* sudo.c:
23391	check_sudoers() now catches sudoers files that are not readable (but
23392	are stat'able).
23393	[fea05663b3de]
23394
233951995-11-13  Todd C. Miller  <Todd.Miller@courtesan.com>
23396
23397	* configure.in:
23398	now add -D__STDC__ for convex cc (not gcc)
23399	[c80fc53ff51b]
23400
23401	* configure.in:
23402	MAN_PREFIX -> man_prefix now sets prefix and exec_prefix
23403	[fe238226a057]
23404
23405	* Makefile.in:
23406	now uses exec_prefix & prefix from configure
23407	[f62fca5f56bd]
23408
23409	* find_path.c, getwd.c, goodpath.c, interfaces.c, logging.c, parse.c,
23410	parse.lex, parse.yacc, sudo.c, sudo.h, sudo_setenv.c, tgetpass.c,
23411	utime.c, visudo.c:
23412	options.h is now <> instead of "" so shadow build trees can have a
23413	custom copy of options.h
23414	[e6782676099c]
23415
23416	* check.c:
23417	user_is_exempt() is no longer a hack, it now uses getgrnam()
23418	[287f8d5356f7]
23419
23420	* options.h:
23421	EXEMPTGROUP is now "sudo"
23422	[61487304dbe1]
23423
23424	* configure.in:
23425	MAN_POSTINSTALL now contains a leading space
23426	[eaad4ac34012]
23427
23428	* Makefile.in:
23429	removed leading tab if @MAN_POSTINSTALL@ not defined now removes
23430	testsudoers in clean:
23431	[e01711baceb8]
23432
23433	* tgetpass.c:
23434	includes pwd.h to get _PASSWD_LEN definition
23435	[8ec174f263f1]
23436
234371995-10-30  Todd C. Miller  <Todd.Miller@courtesan.com>
23438
23439	* sudo.c:
23440	unset the KRB_CONF envariable if using kerberos so we don't get
23441	spoofed into using a bogus server
23442	[2561a0274fca]
23443
234441995-09-29  Todd C. Miller  <Todd.Miller@courtesan.com>
23445
23446	* parse.yacc:
23447	now explicately initialize match[] tp be FALSE
23448	[0e45e5c47766]
23449
234501995-09-23  Todd C. Miller  <Todd.Miller@courtesan.com>
23451
23452	* sudo.c:
23453	removed unused variable now passes -Wall
23454	[3452508bc16d]
23455
23456	* parse.yacc:
23457	yyerror and dumpaliases are now void's now passes -Wall
23458	[2769dfb51993]
23459
23460	* parse.lex:
23461	added prototype for yyerror
23462	[1f3f0c1b4ab4]
23463
23464	* check.c, logging.c, parse.c:
23465	now passes -Wall
23466	[eab57e5e81d2]
23467
23468	* interfaces.c:
23469	rmeoved unused cruft now passes -Wall
23470	[7a47e1866f4b]
23471
23472	* Makefile.in:
23473	fixed headers that moved to emul dir
23474	[e680c1e5049b]
23475
23476	* logging.c:
23477	fixed deref of nil pointer if no args
23478	[973b9bea432f]
23479
234801995-09-15  Todd C. Miller  <Todd.Miller@courtesan.com>
23481
23482	* OPTIONS:
23483	added a caveat to FQDN section
23484	[dcf6e2a5fff4]
23485
234861995-09-13  Todd C. Miller  <Todd.Miller@courtesan.com>
23487
23488	* Makefile.in:
23489	more $srcdir support for install targets
23490	[f6eac78436dd]
23491
23492	* find_path.c, interfaces.c, parse.c, parse.lex, parse.yacc, putenv.c,
23493	strdup.c, sudo.c, sudo_setenv.c, testsudoers.c, visudo.c:
23494	don't include malloc.h if we include stdlib.h
23495	[fca2ff307cd8]
23496
23497	* parse.yacc:
23498	local search.h now lives in emul
23499	[51c458904424]
23500
23501	* check.c, utime.c:
23502	local utime.h now lives in emul dir
23503	[f92fc9e8c8de]
23504
23505	* lsearch.c:
23506	local search.h now lives in emul
23507	[579efc407439]
23508
23509	* Makefile.in:
23510	added support for building in other than the sourcedir
23511	[2ab53a43f7d4]
23512
235131995-09-10  Todd C. Miller  <Todd.Miller@courtesan.com>
23514
23515	* OPTIONS:
23516	annotated CSOPS_INSULTS option
23517	[9e57d45a0afa]
23518
23519	* TROUBLESHOOTING:
23520	updated shadow passwords blurb
23521	[39b785bc7253]
23522
23523	* sudo.c:
23524	if SHELL_IF_NO_ARGS is set, "sudo -- foo" now runs a shell and
23525	passes along foo as the arguments
23526	[a91077aa8fc5]
23527
235281995-09-09  Todd C. Miller  <Todd.Miller@courtesan.com>
23529
23530	* parse.lex:
23531	collapsed pathname and dir sections into one -- its now less
23532	expensive
23533	[89caa03bec25]
23534
23535	* parse.lex:
23536	fixed spacing quoting [,:\\=] now works correctly append() and
23537	fill() now take args to make the above work
23538	[09d023d9ef3a]
23539
23540	* sudo.c:
23541	fixed a typo that caused commands with no tty on fd 0 but a tty on
23542	fd 1 to erroneously have "none" as their tty
23543	[07d2c0e7977c]
23544
235451995-09-04  Todd C. Miller  <Todd.Miller@courtesan.com>
23546
23547	* check.c:
23548	timestampfile is now a global static removed decl of timestampfile
23549	in remove_timestamp since we can just use the global one
23550	[f0cbdc6aab1c]
23551
23552	* check.c:
23553	created touch() to update timestamps added USE_TTY_TICKETS support
23554	(bit of a kludge)
23555	[cee1dd0318f8]
23556
23557	* compat.h:
23558	added _S_IFDIR and S_ISDIR
23559	[b4a51cc9628e]
23560
23561	* OPTIONS, options.h:
23562	added USE_TTY_TICKETS
23563	[b4e22f81f25e]
23564
23565	* parse.yacc:
23566	removed const from casts for lsearch() & lfind() to placate irix 4.x
23567	C compiler
23568	[5003081f76ea]
23569
235701995-09-03  Todd C. Miller  <Todd.Miller@courtesan.com>
23571
23572	* sudo.c:
23573	now only strip '/dev/' off of a tty if it starts with '/dev/'
23574	[7f62bcd24039]
23575
23576	* pathnames.h.in:
23577	added _PATH_DEV
23578	[6375f44d1910]
23579
23580	* configure.in:
23581	AC_HAVE_HEADERS -> AC_CHECK_HEADERS now check for tcgetattr only if
23582	have termios.h
23583	[9c60391235fd]
23584
23585	* tgetpass.c:
23586	fixed incorrect #ifdef termio uses "unsigned short" not int for
23587	c_?flag
23588	[d032e6a29845]
23589
23590	* parse.lex, parse.yacc:
23591	fixed a spelling error
23592	[cad6a944c7b1]
23593
23594	* Makefile.in:
23595	fixed typo
23596	[204a65403e7c]
23597
235981995-09-02  Todd C. Miller  <Todd.Miller@courtesan.com>
23599
23600	* Makefile.in:
23601	fixed a comment
23602	[268f760e57ad]
23603
23604	* parse.yacc:
23605	added dotcat() to cat 2 strings w/ a dot effeciently now that we
23606	dynamically allocate strings they need to be free()'d
23607	[ec2e2152f415]
23608
23609	* parse.lex:
23610	dynamically allocates space for strings
23611	[d10ac3533d66]
23612
23613	* sudo.h:
23614	no more MAXCOMMANDLENGTH
23615	[e2e1219bff8a]
23616
23617	* sudo.h:
23618	added decl of tty
23619	[c8ae81303ee5]
23620
23621	* logging.c, sudo.c:
23622	moved tty stuff into sudo.c
23623	[e028abefeb07]
23624
236251995-09-01  Todd C. Miller  <Todd.Miller@courtesan.com>
23626
23627	* parse.c:
23628	fixed a logic bug. Was denying a command if user gave command line
23629	args but there were none in the sudoers file which is wrong.
23630	[7489a99b8e8a]
23631
23632	* sudo.h:
23633	MAXCOMMMANDLEN dropped down to 1K
23634	[38ef54ba290b]
23635
23636	* parse.lex:
23637	return foo; -> return(foo);
23638	[0e8be1b57001]
23639
23640	* parse.yacc:
23641	fixed netgr_matches() prototype
23642	[e69f15910464]
23643
23644	* parse.lex:
23645	added support for escaping "termination" characters
23646	[8bd4ef50f35c]
23647
23648	* parse.c:
23649	buf is now of size MAXPATHLEN+1 since it never holds command args
23650	[2ce4b763058c]
23651
23652	* sudo.c:
23653	fixed comments
23654	[0c74a3d2ebb0]
23655
23656	* goodpath.c:
23657	fixed negation problem (doh!)
23658	[782814e3a2d1]
23659
23660	* parse.yacc:
23661	fixed 2nd parameter to lfind()
23662	[63d7b1623c08]
23663
23664	* parse.lex:
23665	now do bounds checking in fill() and append()
23666	[54381b563251]
23667
23668	* sudo.c:
23669	include netdb.h as we should added a missing void cast added
23670	SHELL_IF_NO_ARGS support now use realloc() properly. would fail if
23671	realloc actually moved the string instead of shrinking it
23672	[897ccdec9c06]
23673
23674	* sample.sudoers:
23675	updated with examples of new features
23676	[9b3ed00e8aa6]
23677
23678	* goodpath.c:
23679	now set errno to EACCES if not a regular file or not executable
23680	[2d069548a5ea]
23681
23682	* find_path.c:
23683	if given a fully-qualified or relative path we now check it with
23684	sudo_goodpath() and error out with the appropriate error message if
23685	the file does not exist or is not executable
23686	[590f89dd8dec]
23687
23688	* emul/search.h, lsearch.c:
23689	now use correct args for lfind
23690	[fccdcdbf020e]
23691
23692	* logging.c:
23693	added a comment
23694	[fab9f49708ea]
23695
23696	* insults.h:
23697	added in CSOps insults
23698	[ad8eb1862adc]
23699
23700	* ins_csops.h:
23701	Initial revision
23702	[de5a475ec018]
23703
23704	* tgetpass.c:
23705	added RCS id
23706	[c3ffd550a482]
23707
23708	* sudo.h:
23709	increased MAXCOMMANDLENGTH to 8k HAVE_GETCWD -> HAVE_GETWD
23710	[aba25c90d08a]
23711
23712	* OPTIONS:
23713	added CLASSIC_INSULTS, CSOPS_INSULTS, SHELL_IF_NO_ARGS
23714	[e27bd62e9ccf]
23715
23716	* sudo.c:
23717	fixed -k load_interfaces() now gets called if FQDN is set
23718	-p now works with -s
23719	[07ca2a34bae8]
23720
23721	* parse.c:
23722	don't try to stat() "pseudo commands" like "validate"
23723	[75527045984b]
23724
23725	* options.h:
23726	added CLASSIC_INSULTS added CSOPS_INSULTS added SHELL_IF_NO_ARGS
23727	[07b157a0eafd]
23728
23729	* configure.in:
23730	added SecurID support added other insults to --with-csops
23731	[6c992ceb244c]
23732
23733	* config.h.in:
23734	added HAVE_SECURID
23735	[e734ff617fe8]
23736
23737	* Makefile.in:
23738	added clobber target added ins_csops.h now gets CFLAGS from
23739	configure
23740	[d1e29c7cec25]
23741
23742	* aclocal.m4:
23743	relaxed SUDO_FULL_VOID
23744	[fb4084f27406]
23745
23746	* visudo.c:
23747	function comment blocks are now in same style as rest of code
23748	[04a2931354c5]
23749
23750	* testsudoers.c:
23751	added support for command line args in /etc/sudoers
23752	[bfe4e1bcc655]
23753
23754	* sudoers.man:
23755	updated to have command args in the sudoers file
23756	[1cd34355e9ea]
23757
23758	* sudo.man:
23759	added -s and -- flags added SHELL to ENVIRONMENT VARIABLES section
23760	[930b48023b68]
23761
237621995-08-19  Todd C. Miller  <Todd.Miller@courtesan.com>
23763
23764	* parse.yacc:
23765	PATH renamed to COMMAND
23766	[4e109a6de3cd]
23767
23768	* parse.lex:
23769	it is now a parse error for directories to have args attached to
23770	them
23771	[2ab10a146b54]
23772
23773	* logging.c:
23774	now say command args if telling user to buzz off
23775	[933de26ded8b]
23776
23777	* sudo.c:
23778	-s no longer indicates end of args sped up loading on cmnd_args in
23779	load_cmnd()
23780	[eac99a4da862]
23781
23782	* parse.c:
23783	removed an unreachable statement
23784	[634302623c49]
23785
23786	* parse.lex:
23787	made more efficient by pulling out the terminators when in GOTCMND
23788	state and making them their own rule
23789	[80798f1e1166]
23790
237911995-08-14  Todd C. Miller  <Todd.Miller@courtesan.com>
23792
23793	* sudo.h:
23794	removed MAXLOGLEN since it is no longer used
23795	[102824196b71]
23796
23797	* parse.lex:
23798	now allows command args
23799	[d29dfa1e5254]
23800
23801	* parse.c:
23802	now groks command arguments
23803	[6c414cb7f105]
23804
23805	* logging.c:
23806	now sets tty correctly when piped input
23807	[de46a30c0406]
23808
23809	* sudo.c:
23810	fixed loading of cmnd_args (was including command name too)
23811	[15319a425ea6]
23812
23813	* logging.c:
23814	fixed a core dump due to incorrect if construct
23815	[582363c7d7fa]
23816
238171995-08-13  Todd C. Miller  <Todd.Miller@courtesan.com>
23818
23819	* configure.in:
23820	only add -lsun is irix < 5 don't look for -lnsl or -lsocket if irix
23821	[da591fe9b931]
23822
23823	* aclocal.m4:
23824	fixed check for ISC
23825	[52e59f2082a7]
23826
23827	* sudo.c:
23828	now sets cmnd_args used by log_error() and that will be used by the
23829	parse to check against command args
23830	[c6804389723b]
23831
23832	* sudo.h:
23833	added cmnd_args
23834	[4d00446b4a8d]
23835
23836	* logging.c:
23837	now dynamically allocate logline since we can guess at its size
23838	[4bed8c8446aa]
23839
238401995-08-05  Todd C. Miller  <Todd.Miller@courtesan.com>
23841
23842	* logging.c:
23843	cleaned up a bunch of unnecesary #ifdef's eliminated a buffer remove
23844	"register" since the compiler knows more than I do now do a
23845	"basename" of the tty
23846	[3b1bbf0b3da1]
23847
238481995-07-31  Todd C. Miller  <Todd.Miller@courtesan.com>
23849
23850	* configure.in:
23851	++version
23852	[5ce552f9a5f1]
23853
23854	* sudo.h:
23855	added shell extern changed MODE_* to be bit masks to allow for
23856	several options together
23857	[06f9dc4f400c]
23858
23859	* sudo.c:
23860	added -s (shell) option made MODE_* masks so we can do bitwise & and
23861	| to see if multiple flags are set.
23862	[01f8143010ad]
23863
23864	* check.c:
23865	added securid support
23866	[909e078005fe]
23867
238681995-07-30  Todd C. Miller  <Todd.Miller@courtesan.com>
23869
23870	* logging.c:
23871	removed a bunch of unnecesary strncpy()'s and replaced with strcat()
23872	[644506b57d61]
23873
238741995-07-29  Todd C. Miller  <Todd.Miller@courtesan.com>
23875
23876	* Makefile.in, version.h:
23877	++version
23878	[3cd6f1fbc3d9]
23879
238801995-07-27  Todd C. Miller  <Todd.Miller@courtesan.com>
23881
23882	* parse.yacc:
23883	fixed free() of an uninitialized pointer (yuck)
23884	[8c404ee502ee]
23885
23886	* testsudoers.c:
23887	added netgr_matches
23888	[e7c9fa2f774c]
23889
23890	* parse.c:
23891	cleaned up netgr_matches
23892	[8108f00b810e]
23893
238941995-07-26  Todd C. Miller  <Todd.Miller@courtesan.com>
23895
23896	* RUNSON:
23897	updated for 1.3.4
23898	[4741704310a1]
23899
239001995-07-25  Todd C. Miller  <Todd.Miller@courtesan.com>
23901
23902	* Makefile.in:
23903	now installs sudoers.man -- really should clean this up though.
23904	[455631d45a1d]
23905
23906	* Makefile.in:
23907	added sudoers.cat and sudoers.man
23908	[0bdedd6c7363]
23909
23910	* sudo.man:
23911	pulled out stuff on the sudoers file format into a separate man page
23912	[de215d999cb9]
23913
23914	* sudoers.man:
23915	Initial revision
23916	[f25eafbb7095]
23917
23918	* HISTORY:
23919	fixed up my email address
23920	[254fbf80be74]
23921
23922	* configure.in:
23923	added checks for innetgr and getdomainname
23924	[24a99cb7e97e]
23925
23926	* visudo.c:
23927	added dummy netgr_matches function
23928	[1841ff2c01da]
23929
23930	* parse.c:
23931	added netgr_matches
23932	[ec90db6a97b8]
23933
23934	* parse.lex, parse.yacc:
23935	added NETGROUP support
23936	[c9dd93e3bc4b]
23937
23938	* config.h.in:
23939	added HAVE_INNETGR & HAVE_GETDOMAINNAME
23940	[14abd494d875]
23941
239421995-07-24  Todd C. Miller  <Todd.Miller@courtesan.com>
23943
23944	* sudo.c:
23945	rewrote clean_env() that has rm_env() builtin
23946	[55cb43818a95]
23947
239481995-07-23  Todd C. Miller  <Todd.Miller@courtesan.com>
23949
23950	* check.c:
23951	now cast uid to long in sprintf
23952	[b549eea40aeb]
23953
23954	* OPTIONS:
23955	added _INSULTS suffix to HAL & GOONS end
23956	[ed620d0aad30]
23957
23958	* options.h:
23959	added _INSULTS suffix to HAL & GOONS
23960	[9f72e9b83afd]
23961
23962	* ins_2001.h, ins_classic.h, ins_goons.h, insults.h:
23963	converted to new scheme of insult "unions" end
23964	[2f6d2b412132]
23965
23966	* sudo.c:
23967	now uses MAX_UID_T_LEN
23968	[c1df79e0f389]
23969
23970	* configure.in:
23971	added SUDO_UID_T_LEN !l
23972	[195f0b9f5f84]
23973
23974	* config.h.in:
23975	added MAX_UID_T_LEN
23976	[73f42ae4f14d]
23977
23978	* check.c:
23979	now use MAX_UID_T_LEN
23980	[df9c063234cb]
23981
23982	* aclocal.m4:
23983	added check for max len of uid_t fixed sco vs. isc check
23984	[d558f36d2223]
23985
239861995-07-19  Todd C. Miller  <Todd.Miller@courtesan.com>
23987
23988	* configure.in:
23989	corrected version
23990	[828dd1571e86]
23991
23992	* configure.in:
23993	added sco support
23994	[af1e2f616638]
23995
23996	* aclocal.m4:
23997	hack to check for sco
23998	[549ab99a9a43]
23999
24000	* interfaces.c:
24001	removed #include <net/route.h> since it was hosing some OS's
24002	[ac78a7c04005]
24003
240041995-07-18  Todd C. Miller  <Todd.Miller@courtesan.com>
24005
24006	* find_path.c:
24007	fixed prreadlink() prototype
24008	[b380fe1f2b11]
24009
24010	* check.c:
24011	added parens in #if's
24012	[e96ade691b82]
24013
24014	* configure.in:
24015	added SPW_ prefix
24016	[a302683a1483]
24017
24018	* sudo.h:
24019	moved SPW_* to config.h.in
24020	[6b3be70e34cf]
24021
24022	* sudo.c:
24023	added a set of parens
24024	[8188d735d695]
24025
24026	* config.h.in:
24027	added SPW_*
24028	[5ead6371cf60]
24029
24030	* sudo.h:
24031	added SPW_* reordered error codes
24032	[dead25b4ed0a]
24033
24034	* check.c:
24035	moved SPW_* to sudo.h
24036	[ca51fb04caf4]
24037
240381995-07-17  Todd C. Miller  <Todd.Miller@courtesan.com>
24039
24040	* sudo.c:
24041	SPW_AUTH -> SPW_SECUREWARE
24042	[6b512b2bc5dc]
24043
24044	* logging.c:
24045	GLOBAL_NO_AUTH_ENT -> GLOBAL_NO_SPW_ENT
24046	[defdd0944e2f]
24047
24048	* configure.in:
24049	AUTH -> SECUREWARE
24050	[d1f8a17001dd]
24051
24052	* check.c:
24053	SPW_AUTH -> SPW_SECUREWARE
24054	[af0e8d8b89b2]
24055
24056	* check.c:
24057	now uses SHADOW_TYPE to make shadow pw support more readable and
24058	modular. It's a start...
24059	[8c2a59667014]
24060
24061	* configure.in:
24062	added autodetection of shadow passwords
24063	[85f81fa54b1b]
24064
24065	* sudo.c:
24066	now uses SHADOW_TYPE define
24067	[355e5dc09b07]
24068
24069	* config.h.in:
24070	added SHADOW_TYPE which replaces SUNOS4 & __svr4__ defines
24071	[c0c06e83e483]
24072
24073	* aclocal.m4:
24074	added SUDO_CHECK_SHADOW
24075	[464301301639]
24076
240771995-07-12  Todd C. Miller  <Todd.Miller@courtesan.com>
24078
24079	* configure.in:
24080	define SVR4 for ISC define BROKEN_SYSLOG for hpux took out test for
24081	memmove() since we dno longer use it...
24082	[8aefa87d7d31]
24083
24084	* CHANGES:
24085	updated
24086	[ce97b3fd7182]
24087
24088	* logging.c:
24089	added BROKEN_SYSLOG support
24090	[a45c3bca36f6]
24091
24092	* config.h.in:
24093	added BROKEN_SYSLOG
24094	[6f6abf0a6268]
24095
24096	* check.c:
24097	now only bitch it timestamp > time_now + 2 * timeout to allow for a
24098	machine udpating its time from a server
24099	[546bc8d35325]
24100
24101	* sudo.man:
24102	added 2 security notes updated Nieusma's email addr
24103	[616756c56977]
24104
24105	* lsearch.c:
24106	changed a memmove() to memcpy() since we don't have to worry about
24107	overlapping segments.
24108	[30baa478526b]
24109
241101995-07-11  Todd C. Miller  <Todd.Miller@courtesan.com>
24111
24112	* interfaces.c:
24113	cleanup up the loop when interfaces are groped in so that it is
24114	readable
24115	[1fa39446bd69]
24116
24117	* Makefile.in, version.h:
24118	++version
24119	[b46bd2b1770f]
24120
241211995-07-09  Todd C. Miller  <Todd.Miller@courtesan.com>
24122
24123	* CHANGES:
24124	annotated 124-126
24125	[b82a2b3ec7ce]
24126
241271995-07-07  Todd C. Miller  <Todd.Miller@courtesan.com>
24128
24129	* check.c:
24130	fixed permissions check on /tmp/.odus
24131	[cc2431a65468]
24132
241331995-07-06  Todd C. Miller  <Todd.Miller@courtesan.com>
24134
24135	* check.c:
24136	fixed some comments
24137	[8896d09b4fda]
24138
24139	* check.c:
24140	now checks owner & mode of timedir also checks for bogus dates on
24141	timestamp file
24142	[a0fad5df5b0a]
24143
24144	* OPTIONS:
24145	updated TIMEOUT info
24146	[033cc22d9e04]
24147
24148	* logging.c, sudo.h:
24149	added BAD_STAMPDIR and BAD_STAMPFILE
24150	[31d9ce691101]
24151
24152	* compat.h:
24153	added definition of S_IRWXU
24154	[ff2dab091a9b]
24155
24156	* CHANGES:
24157	updated
24158	[a40df90284f1]
24159
241601995-07-03  Todd C. Miller  <Todd.Miller@courtesan.com>
24161
24162	* interfaces.c:
24163	added #ifdef to make it compile on strange arches
24164	[4a127f12afce]
24165
241661995-07-02  Todd C. Miller  <Todd.Miller@courtesan.com>
24167
24168	* aclocal.m4:
24169	fixed check for fulkl void impl.
24170	[b6f2a4a361d8]
24171
24172	* check.c:
24173	added mssing "static"
24174	[520552f2772b]
24175
24176	* insults.h:
24177	replaced #elif with #else #if constructs for ancient C compilers
24178	[39ab2d365b57]
24179
24180	* INSTALL:
24181	updated irix c2 & kerb5 info
24182	[ae79b99b4905]
24183
24184	* configure.in:
24185	added shadow pw support for irix
24186	[632469d9c528]
24187
241881995-07-01  Todd C. Miller  <Todd.Miller@courtesan.com>
24189
24190	* BUGS, TODO:
24191	updated
24192	[2a96bb18ac30]
24193
24194	* CHANGES:
24195	last changes for sudo 1.3.3
24196	[c1c0cd1034b8]
24197
24198	* configure.in:
24199	now calls SUDO_SOCK_SA_LEN
24200	[14ea78159d45]
24201
24202	* config.h.in:
24203	added HAVE_SA_LEN
24204	[cc2a346aa905]
24205
24206	* aclocal.m4:
24207	added SUDO_SOCK_SA_LEN
24208	[456a2025644a]
24209
24210	* interfaces.c:
24211	now works with ip implementations that use sa_len in sockaddr
24212	[90be6e028077]
24213
24214	* INSTALL:
24215	added note about buggy AIX compiler
24216	[c0f6d427e4e4]
24217
24218	* interfaces.c:
24219	now include sys/time.h for AIX
24220	[2510858ab38b]
24221
242221995-06-28  Todd C. Miller  <Todd.Miller@courtesan.com>
24223
24224	* Makefile.in:
24225	getcwd -> getwd
24226	[66085ebca98e]
24227
24228	* interfaces.c:
24229	now works for ISC and others. yay.
24230	[f336d4ffc927]
24231
242321995-06-26  Todd C. Miller  <Todd.Miller@courtesan.com>
24233
24234	* Makefile.in, version.h:
24235	version++
24236	[836cffc2078d]
24237
242381995-06-23  Todd C. Miller  <Todd.Miller@courtesan.com>
24239
24240	* aclocal.m4:
24241	fixed test for full void impl
24242	[fb004107e7b9]
24243
24244	* sudo.c:
24245	now check to see that st_dev is non-zero before assuming that we are
24246	being spoofed
24247	[1b0e1c30c506]
24248
242491995-06-20  Todd C. Miller  <Todd.Miller@courtesan.com>
24250
24251	* aclocal.m4, configure.in:
24252	SUDO_FUNC_UTIME_NULL -> AC_FUNC_UTIME_NULL
24253	[4953379bfb01]
24254
242551995-06-19  Todd C. Miller  <Todd.Miller@courtesan.com>
24256
24257	* aclocal.m4:
24258	fixed include file order for SUDO_FUNC_UTIME_POSIX
24259	[ff64ab7df44f]
24260
24261	* logging.c:
24262	added cast for ttyname()
24263	[444f05f56758]
24264
24265	* configure.in:
24266	fixed typo
24267	[de068e748431]
24268
24269	* check.c:
24270	now deal correctly with all known variation of utime() -- yippe
24271	[b778a4195a89]
24272
24273	* configure.in:
24274	added SUDO_FUNC_UTIME_POSIX
24275	[cf635f2269d6]
24276
24277	* aclocal.m4:
24278	added SUDO_FUNC_UTIME_NULL and SUDO_FUNC_UTIME_POSIX
24279	[d79593be4b73]
24280
24281	* config.h.in:
24282	added HAVE_UTIME_POSIX
24283	[c67b4ac0dca5]
24284
24285	* check.c:
24286	fixed a typo
24287	[b14df5680f59]
24288
24289	* check.c:
24290	no longer assume !HAVE_UTIME_NULL means old BSD utime()
24291	[0aeaf4b2f38b]
24292
24293	* check.c:
24294	fixed fascist C compiler warning
24295	[c61ddf2f1f93]
24296
24297	* interfaces.c:
24298	now set strioctl.ic_timout in STRSET() now initialize num_interfaces
24299	to 0 (just to be anal)
24300	[c54cc2ba0052]
24301
243021995-06-18  Todd C. Miller  <Todd.Miller@courtesan.com>
24303
24304	* sudo.h:
24305	increaed MAXLOGLEN by MAXPATHLEN to account for ttyname
24306	[74cf585a54fb]
24307
24308	* logging.c:
24309	added tty logging
24310	[e27d8dcfbd78]
24311
24312	* interfaces.c:
24313	reworked the ISC code
24314	[bcf57ce8ae69]
24315
24316	* Makefile.in, version.h:
24317	updated version
24318	[032941c9b94d]
24319
24320	* check.c:
24321	now expect old-style utime(3) if utime() can't take NULL as an arg
24322	[018dd4a73030]
24323
24324	* configure.in:
24325	added check for utime.h
24326	[0b76e8feb618]
24327
24328	* config.h.in:
24329	added HAVE_UTIME_H
24330	[62ee42feda46]
24331
24332	* Makefile.in:
24333	added CPPFLAGS STATIC_FLAGS -> LDFLAGS
24334	[fa3201d294e1]
24335
24336	* configure.in:
24337	now search for kerb libs and includes
24338	[cc332401e571]
24339
24340	* check.c:
24341	added support for utime(2)'s that can't take a NULL parameter
24342	[98797fedf69f]
24343
24344	* utime.c:
24345	moved HAVE_UTIME_NULL stuff to update_timestamp() where t belongs
24346	[6ce6d825fb44]
24347
24348	* configure.in:
24349	added utime(s) stuff
24350	[a2afb744403e]
24351
24352	* check.c:
24353	now use utime()
24354	[48902240a51e]
24355
24356	* config.h.in:
24357	added HAVE_UTIME and HAVE_UTIME_NULL
24358	[9a56ab65d4f4]
24359
243601995-06-17  Todd C. Miller  <Todd.Miller@courtesan.com>
24361
24362	* utime.c:
24363	now use HAVE_UTIME_NULL
24364	[e3944de09a92]
24365
24366	* emul/utime.h, utime.c:
24367	Initial revision
24368	[a2cbf2ef3427]
24369
24370	* check.c:
24371	need to setuid(0) to make kerb4 stuff work.
24372	[c6cfda4039d7]
24373
24374	* tgetpass.c:
24375	no more special case for kerberos
24376	[4a5c33145be9]
24377
24378	* config.h.in:
24379	took out setreuid and setresuid stuff added kerb5 stuff (use kerb4
24380	emulation)
24381	[a607ee43e650]
24382
24383	* compat.h:
24384	no longer need setreuid() emulation now set _PASSWD_LEN to 128 if
24385	kerberos
24386	[02fb274cc136]
24387
24388	* check.c:
24389	now use private ticket file for kerberos support to avoid trouncing
24390	on system one
24391	[28d8b6b812c7]
24392
243931995-06-15  Todd C. Miller  <Todd.Miller@courtesan.com>
24394
24395	* sudo.h:
24396	added SPOOF_ATTEMPT & cmnd_st
24397	[d3b42a1f4d0d]
24398
24399	* sudo.c:
24400	added anti-spoofing support
24401	[ab1e2aa44a57]
24402
24403	* parse.c:
24404	now use global cmnd_st
24405	[47018265a1a6]
24406
24407	* logging.c:
24408	added SPOOF_ATTEMPT suypport
24409	[7bbe9dd2a021]
24410
24411	* testsudoers.c, visudo.c:
24412	added void casts where appropriate
24413	[f191441ba333]
24414
24415	* parse.yacc:
24416	fixed up spacing and added void casts where appropriate
24417	[15d886fc809c]
24418
24419	* sudo.c:
24420	fixed problem with "-p prompt" but no args
24421	[6fc048261a3e]
24422
244231995-06-14  Todd C. Miller  <Todd.Miller@courtesan.com>
24424
24425	* sudo.man:
24426	added BUGS and annotated -l description
24427	[e5c506de2603]
24428
24429	* sudo.h:
24430	validate() now takes a flag
24431	[26627becc60a]
24432
24433	* sudo.c:
24434	validate() now takes a flag added -l
24435	[a4f7bb97fe54]
24436
24437	* parse.yacc:
24438	added support for -l
24439	[e7a9b10b0ad3]
24440
24441	* parse.c:
24442	validate() now takes a flag that says whether or not to check the
24443	command
24444	[9e1e67f4e281]
24445
244461995-06-08  Todd C. Miller  <Todd.Miller@courtesan.com>
24447
24448	* logging.c:
24449	now deals with Argv == 1
24450	[0acb637ab635]
24451
24452	* sudo.man:
24453	added -p option
24454	[e60382fc0561]
24455
24456	* sudo.c:
24457	added prompt support reworked parse_args()
24458	[2f605267ed4a]
24459
24460	* sudo.h:
24461	added prompt
24462	[5ab021bdb419]
24463
24464	* options.h:
24465	added PASSPROMPT
24466	[614727ff44a2]
24467
24468	* check.c:
24469	now use BUFSIZ as length of kerb password added kpass so pass is
24470	always a char * now use prompt global when asking for a password
24471	[76be09af784f]
24472
24473	* tgetpass.c:
24474	now use BUFSIZ as _PASSWD_LEN if using kerberos
24475	[1e907eed312b]
24476
24477	* OPTIONS:
24478	added PASSPROMPT
24479	[ddb2f405ce40]
24480
244811995-06-07  Todd C. Miller  <Todd.Miller@courtesan.com>
24482
24483	* configure.in:
24484	only look for -lufc or -lcrypt if crypt() not in libc
24485	[9717d315661f]
24486
24487	* check.c:
24488	don't exit on kerb error, just warn if k_errno == KDC_PR_UNKNOWN
24489	(unknown user) silently fail
24490	[2b48693d4ee9]
24491
24492	* INSTALL:
24493	added kerb4 note
24494	[986e393f740c]
24495
24496	* tgetpass.c:
24497	HAVE_KERBEROS -> HAVE_KERB4
24498	[e438bfb5e6aa]
24499
24500	* check.c:
24501	removed debugging printf
24502	[1cf9f5cbffa5]
24503
24504	* configure.in:
24505	KERBEROS -> KERB4 added checks for setreuid & setresuid
24506	[01e9945beb1e]
24507
24508	* config.h.in:
24509	HAVE_KERBEROS -> HAVE_KERB4 added HAVE_SETREUID and HAVE_SETRESUID
24510	[0e0bb5b8ac3e]
24511
24512	* compat.h:
24513	added deif of UID_NO_CHANGE & GID_NO_CHANGE added setreuid emulation
24514	with setresuid if applic
24515	[9dae24c47696]
24516
24517	* check.c:
24518	HAVE_KERBEROS -> HAVE_KERB4 now only do the stupid chown() hack if
24519	no setreuid() or a broken one
24520	[1fca642bdb8e]
24521
245221995-06-06  Todd C. Miller  <Todd.Miller@courtesan.com>
24523
24524	* configure.in:
24525	added kerberos support
24526	[da5639b9b8e7]
24527
24528	* config.h.in:
24529	added HAVE_KERBEROS
24530	[fcc5be550e65]
24531
24532	* tgetpass.c:
24533	added KERBEROS support (long passwords)
24534	[303ba6924dd2]
24535
24536	* check.c:
24537	added kerberos support
24538	[e40afe98fc1d]
24539
245401995-06-03  Todd C. Miller  <Todd.Miller@courtesan.com>
24541
24542	* sudo.h:
24543	added MODE_BACKGROUND
24544	[9b483c932016]
24545
24546	* sudo.man:
24547	escaped dashes added -b option
24548	[62e84f1a7714]
24549
24550	* sudo.c:
24551	added -b option
24552	[7e78aaefeb95]
24553
24554	* check.c:
24555	added crypt() for osf/1 3.x enhanced secuiry
24556	[e9aa5abdb7d5]
24557
24558	* configure.in:
24559	now check for -lcrypt
24560	[5cb9c67e9fa2]
24561
24562	* interfaces.c:
24563	added ENXIO like EADDRNOTAVAIL
24564	[74223bb1ba75]
24565
245661995-05-08  Todd C. Miller  <Todd.Miller@courtesan.com>
24567
24568	* configure.in:
24569	now emulate getwd(), not getcwd()
24570	[3e5439d9a5f4]
24571
24572	* sudo.c:
24573	getcwd() -> getwd()
24574	[6392a96a658e]
24575
24576	* getwd.c:
24577	getcwd -> getwd
24578	[1b0ab9bae11e]
24579
245801995-05-02  Todd C. Miller  <Todd.Miller@courtesan.com>
24581
24582	* ins_2001.h, ins_classic.h, ins_goons.h:
24583	Initial revision
24584	[86db60d8cf00]
24585
24586	* insults.h:
24587	broke out insults into separate include files
24588	[0a01993bd38a]
24589
24590	* OPTIONS, options.h:
24591	added GOONS
24592	[e283203c6515]
24593
24594	* Makefile.in:
24595	added ins_2001.h ins_classic.h ins_goons.h
24596	[2a39cd6a4cd2]
24597
24598	* Makefile.in, version.h:
24599	++version
24600	[05ebf4f5e41a]
24601
24602	* visudo.c:
24603	moved signal handler setup to setup_signals()
24604	[3dd976c04540]
24605
24606	* sudo.h:
24607	added load_interfaces()
24608	[af2d473b09e2]
24609
24610	* sudo.c:
24611	moved load_interfaces to interfaces.c
24612	[5c8c138e5d4c]
24613
24614	* parse.yacc:
24615	added clearaliases
24616	[aeb4ff301daa]
24617
24618	* OPTIONS, options.h:
24619	added FAST_MATCH
24620	[f49ea3d1b525]
24621
24622	* parse.lex:
24623	now uses clearaliases variable
24624	[a2dda415bf61]
24625
24626	* interfaces.c:
24627	Initial revision
24628	[a1990e3f5c69]
24629
24630	* Makefile.in:
24631	added interfaces.[co]
24632	[1e8e5984de97]
24633
24634	* testsudoers.c:
24635	now uses ip addrs and netmasks via load_interfaces()
24636	[54b8f7a6835e]
24637
24638	* sudo.c:
24639	now remove IFS instead of setting to "sane" value
24640	[ce7eec9f115e]
24641
246421995-05-01  Todd C. Miller  <Todd.Miller@courtesan.com>
24643
24644	* parse.c:
24645	added FAST_MATCH
24646	[816d4f5fe81a]
24647
246481995-04-30  Todd C. Miller  <Todd.Miller@courtesan.com>
24649
24650	* Makefile.in:
24651	sudo_goodpath.c-> goodpath.c
24652	[a5072c4e1de2]
24653
24654	* sudo.c:
24655	added Andy's new ISC changes
24656	[caa6bbee358e]
24657
246581995-04-14  Todd C. Miller  <Todd.Miller@courtesan.com>
24659
24660	* OPTIONS:
24661	added a sentence to SECURE_PATH info
24662	[cad6e1569d15]
24663
24664	* BUGS:
24665	added one
24666	[4b35cf699a83]
24667
24668	* CHANGES:
24669	updated
24670	[5fded9dc62f0]
24671
24672	* RUNSON:
24673	updated
24674	[33cb993cfd39]
24675
246761995-04-13  Todd C. Miller  <Todd.Miller@courtesan.com>
24677
24678	* RUNSON:
24679	updated for beta3
24680	[a05dc6a91995]
24681
24682	* Makefile.in, version.h:
24683	++version
24684	[54aaf3fadc75]
24685
24686	* aclocal.m4:
24687	sendmail is now looked for in /usr/ucblib
24688	[231ac1a4662f]
24689
24690	* sudo.c:
24691	fixed indentation
24692	[fb137400c8c2]
24693
24694	* aclocal.m4:
24695	fixed a typo
24696	[e03f1acc468b]
24697
24698	* sudo.c:
24699	updated ISC mods
24700	[070290d4754b]
24701
24702	* configure.in:
24703	added unixware case
24704	[e90250bae0d9]
24705
24706	* check.c:
24707	user_is_exempt is no longer hidden
24708	[1a341765b8af]
24709
24710	* RUNSON:
24711	updated
24712	[a9c4898b26dd]
24713
24714	* aclocal.m4:
24715	isc and riscos changes
24716	[98b5d86585d1]
24717
24718	* OPTIONS:
24719	added NOTE about new interaction of EXEMPTGROUP and SECURE_PATH
24720	[e1ecc464ce4b]
24721
24722	* Makefile.in:
24723	fixed a typo and added testsudoers stuff
24724	[435d60e163dc]
24725
24726	* testsudoers.c:
24727	Initial revision
24728	[6ce14a448662]
24729
247301995-04-12  Todd C. Miller  <Todd.Miller@courtesan.com>
24731
24732	* parse.yacc:
24733	applied fixed patch from Chris
24734	[cd6144203d13]
24735
247361995-04-11  Todd C. Miller  <Todd.Miller@courtesan.com>
24737
24738	* Makefile.in:
24739	fixed a typo
24740	[34f8a54ba041]
24741
24742	* parse.yacc:
24743	added a set of braces for bison
24744	[f0e43b938914]
24745
24746	* parse.yacc:
24747	merged in Chris' changes to dekludge the parser.
24748	[82d6e373ab1c]
24749
24750	* logging.c:
24751	send_mail() was calling find_path() which is wrong since find_path()
24752	stores cmnd in a static var. Anyhow, it doesn't make much sense
24753	since MAILER should always be fully qualified
24754	[6eae6a0b8098]
24755
247561995-04-10  Todd C. Miller  <Todd.Miller@courtesan.com>
24757
24758	* sample.sudoers:
24759	added User_Alias stuff
24760	[aaba8c8e918d]
24761
24762	* aclocal.m4:
24763	SUDO_NEXT now looks for /usr/lib/NextStep/software_version
24764	[52bd81f34b32]
24765
24766	* RUNSON:
24767	added DEC UNIX 3.0 w/ gcc
24768	[7daf570775b5]
24769
24770	* visudo.c:
24771	Exit was being used in places where exit should be used
24772	[6026a89c07ed]
24773
24774	* sudoers:
24775	added "User alias specification"
24776	[a487b6e234f8]
24777
24778	* parse.yacc:
24779	fixed probs caused by making nslots and naliases a size_t
24780	[0be919384f3f]
24781
24782	* RUNSON:
24783	added KSR, upped rev to 1.3.1b2
24784	[ce04ee6faadf]
24785
24786	* logging.c, parse.yacc:
24787	1024 -> BUFSIZ
24788	[cd6dda45fa11]
24789
24790	* parse.yacc:
24791	void * -> VOID * naliases and nslots are now size_t to appease
24792	lsearch on 64-bit machines
24793	[bf2f807c0dc1]
24794
247951995-04-09  Todd C. Miller  <Todd.Miller@courtesan.com>
24796
24797	* TODO:
24798	did a bunch of things and added a bunch :-)
24799	[42afd957b829]
24800
24801	* PORTING:
24802	updated
24803	[972f95c85776]
24804
24805	* visudo.man:
24806	closer to BSD manpage style
24807	[07ae88f50325]
24808
24809	* sudo.man:
24810	closer to standard BSD man format
24811	[372c28dcc135]
24812
24813	* compat.h, config.h.in, emul/search.h, insults.h, options.h,
24814	pathnames.h.in, sudo.h, version.h:
24815	added RCS id
24816	[c0ec90b81002]
24817
24818	* sudo.h:
24819	removed crufty #defines that are no longer used
24820	[35e2b4b477f0]
24821
24822	* BUGS:
24823	fixed a bug
24824	[5bb3e1bee85e]
24825
24826	* sudo.man:
24827	updated based on sudo changes
24828	[e65de1cae438]
24829
24830	* parse.yacc:
24831	now allow ALL keyword in User_Aliases now allow ALL keyword as well
24832	as a NAME or ALIAS
24833	[1fb31404dd0f]
24834
24835	* CHANGES:
24836	updated
24837	[b24018ac610b]
24838
24839	* sudo.c:
24840	now sets SUDO_COMMAND and SUDO_GID envariables.
24841	[e9d791557fb7]
24842
24843	* aclocal.m4:
24844	fixed bug with full void impl check
24845	[35715301023c]
24846
24847	* parse.yacc:
24848	fixed User_Alias supoprt
24849	[4c30dfbaaa07]
24850
24851	* parse.yacc:
24852	added stubs for User_Alias support
24853	[f4afbd247edf]
24854
24855	* sudo.c:
24856	now sets removes # bogus interfaces from num_interfaces
24857	[6f077fac9ab1]
24858
24859	* parse.lex:
24860	added User_Alias support
24861	[bc7997e5df85]
24862
248631995-04-08  Todd C. Miller  <Todd.Miller@courtesan.com>
24864
24865	* Makefile.in:
24866	removed extraneous TODO
24867	[bc87a3b14d6d]
24868
248691995-04-07  Todd C. Miller  <Todd.Miller@courtesan.com>
24870
24871	* visudo.c:
24872	ntwk_matches -> addr_matches
24873	[475044e288b8]
24874
24875	* parse.yacc:
24876	ntwk_matches -> addr_matches
24877	[dd1f4093fd2d]
24878
24879	* parse.c:
24880	ntwk_matches -> addr_matches now use inet_addr() not inet_network()
24881	(which expects octet boundaries) fixes for OSF (sizeof(int) !=
24882	sizeof(long))
24883	[acd2f556940f]
24884
24885	* sudo.c:
24886	took out debugging info
24887	[044023063eca]
24888
24889	* aclocal.m4:
24890	OS was being set to unknown before non-uname based host checks.
24891	This caused no checks to happen since $OS was not zero-length.
24892	[335a7267479d]
24893
24894	* sudo.c:
24895	fixed loading of interfaces struct still has debugging info in
24896	though
24897	[2d1a18998c1e]
24898
24899	* parse.c:
24900	fixed typo
24901	[175674a3a9fa]
24902
249031995-04-06  Todd C. Miller  <Todd.Miller@courtesan.com>
24904
24905	* Makefile.in:
24906	++version
24907	[55d191b5daa3]
24908
24909	* version.h:
24910	++
24911	[d7d1f115696a]
24912
24913	* visudo.c:
24914	removed extraneous extern decl of "top
24915	[50355621047d]
24916
24917	* visudo.c:
24918	now zeros "top"
24919	[4e683210345b]
24920
24921	* parse.yacc:
24922	removed parser_cleanup (no need for it now)
24923	[afa59f222b6c]
24924
24925	* parse.lex:
24926	now calls reset_aliases() directly
24927	[3a23cbd60fc0]
24928
249291995-04-04  Todd C. Miller  <Todd.Miller@courtesan.com>
24930
24931	* OPTIONS:
24932	added a sentence to SECURE_PATH description
24933	[c5bf75b85af0]
24934
24935	* parse.c:
24936	fixed my stupid bug where I used NAMLEN on something I wanted to
24937	just get the name from. argh.
24938	[111f460f6540]
24939
249401995-04-03  Todd C. Miller  <Todd.Miller@courtesan.com>
24941
24942	* lsearch.c:
24943	fixed argument order of memmove() that i hosed when converting from
24944	bcopy(). arghh.
24945	[2f5336045c8b]
24946
24947	* Makefile.in:
24948	finally fixed DISTFILES line
24949	[a1b419e73a63]
24950
24951	* Makefile.in:
24952	tabs -> spaces
24953	[280fb03e5764]
24954
24955	* Makefile.in:
24956	added missing files to DISTFILES
24957	[991fc1cd2263]
24958
24959	* Makefile.in:
24960	SUPPORTED -> RUNSON
24961	[7580e65b05fb]
24962
249631995-04-01  Todd C. Miller  <Todd.Miller@courtesan.com>
24964
24965	* TODO:
24966	updated
24967	[fe764a29c1cc]
24968
24969	* RUNSON:
24970	updated for pl5b1 release
24971	[aefc35bd2291]
24972
24973	* BUGS, TODO:
24974	updated
24975	[8f0ea249b687]
24976
24977	* check.c:
24978	fixed bug where if you hit return at first sudo prompt it would
24979	still log as a failure
24980	[24539c854692]
24981
24982	* CHANGES:
24983	updated
24984	[251cc7b3ede4]
24985
24986	* aclocal.m4:
24987	better test for bogus void * implementation
24988	[efe23180cb88]
24989
24990	* logging.c:
24991	added PASSWORDS_NOT_CORRECT
24992	[bd12c73f83f7]
24993
24994	* check.c:
24995	added PASSWORDS_NOT_CORRECT stuff]
24996	[90de391a979f]
24997
24998	* sudo.h:
24999	added PASSWORDS_NOT_CORRECT
25000	[727fbeb76fc5]
25001
25002	* tgetpass.c:
25003	moved pathnames.h
25004	[4f910e5a8df7]
25005
25006	* sudo.c:
25007	removed some unused vars and fixed up uid2str
25008	[70e92c7f9076]
25009
25010	* putenv.c:
25011	moved compat.h
25012	[b271091586f6]
25013
25014	* getcwd.c, getwd.c:
25015	added pathnames.h
25016	[6f25218f133f]
25017
250181995-03-31  Todd C. Miller  <Todd.Miller@courtesan.com>
25019
25020	* parse.yacc:
25021	fixed a typo I introduced in the last checkin :-(
25022	[62c3af75c4fe]
25023
25024	* parse.lex:
25025	can't have #ifdef's where N is defined so just do this the broken
25026	way for AIX
25027	[c5648a5594e4]
25028
25029	* parse.yacc:
25030	better hack from Chris (but still a hack)
25031	[6b6d8aed93f3]
25032
25033	* parse.lex:
25034	stupid hack for broken aix lex
25035	[efc3f9e5280e]
25036
25037	* tgetpass.c:
25038	now includes compat.h 
25039	[401822173f77]
25040
25041	* visudo.c:
25042	now includes fcntl.h
25043	[63865c2f8ac6]
25044
25045	* compat.h:
25046	added FD_SET and FD_ZERO for 4.2BSD
25047	[00c5597c0bb0]
25048
25049	* parse.yacc:
25050	dirty hack to fix parser bug. i don't really like this but it works
25051	for now...
25052	[5b8bbdc81569]
25053
25054	* sudo.c:
25055	uid2str is now static like the prototype says
25056	[f2a97b5cb870]
25057
250581995-03-30  Todd C. Miller  <Todd.Miller@courtesan.com>
25059
25060	* CHANGES, SUPPORTED, TODO, TROUBLESHOOTING:
25061	updated
25062	[6f79c3e92716]
25063
25064	* RUNSON:
25065	Initial revision
25066	[12a09ef9e884]
25067
25068	* sudo.c:
25069	check_sudoers now returns an error code and sudo calls inform_user
25070	and log_error based on the return value.
25071	[340eca188d9a]
25072
25073	* logging.c, sudo.h:
25074	added entries for new errors
25075	[6050d8542e1f]
25076
25077	* parse.c:
25078	now set uid to that of SUDOERS_OWNER while parsing sudoers file
25079	[3683c42bc9b0]
25080
25081	* Makefile.in:
25082	took out testsudoers 
25083	[65317d49db48]
25084
25085	* sudo.c:
25086	now explicately checks that it is setuid root
25087	[2fe1be60ef6a]
25088
25089	* sudo.c:
25090	If a user has no passwd entry sudo would segv (writing to a garbage
25091	pointer). Now allocate space before writing :-)
25092	[d08e7eb5e5ef]
25093
25094	* configure.in:
25095	reordered AC_CHECK_FUNCS
25096	[4c82e56c6f4f]
25097
25098	* config.h.in:
25099	fixed memset macro
25100	[77ede6b714ab]
25101
25102	* tgetpass.c, visudo.c:
25103	bzero -> memset
25104	[1a005bb322c8]
25105
25106	* logging.c:
25107	bzero -> memset when a parse error is logged the line number of the
25108	error is now logged too
25109	[a42d68047723]
25110
25111	* INSTALL:
25112	added Sunos to blurb about c2 security
25113	[af750a1d131e]
25114
25115	* configure.in:
25116	added a SUN4 define for C2 security
25117	[6ad5b23a3eb0]
25118
25119	* config.h.in:
25120	bcopy -> memmove bzero -> memset
25121	[5494460c8464]
25122
25123	* lsearch.c:
25124	bcopy -> memmove char * -> VOID *
25125	[a15f5c316e16]
25126
25127	* check.c:
25128	added support for sunos with C2 security
25129	[03fea5bb21e6]
25130
25131	* OPTIONS, options.h:
25132	reordered
25133	[1686265af3e1]
25134
25135	* pathnames.h.in:
25136	_PATH_SUDO_LOGFILE now set based on configure
25137	[5867b58e4a04]
25138
25139	* configure.in:
25140	added SUDO_LOGFILE and SUDO_TYPE_SIZE_T
25141	[1984d9fd1b5c]
25142
25143	* config.h.in:
25144	added _SUDO_PATH_LOGFILE
25145	[dd3eebe62580]
25146
25147	* aclocal.m4:
25148	added SUDO_LOGFILE to find where to put sudo.log added
25149	SUDO_CHECK_TYPE (just AC_CHECK_TYPE but checks unistd.h too) added
25150	SUDO_TYPE_SIZE_T (calls SUDO_CHECK_TYPE)
25151	[c589a515a99a]
25152
251531995-03-29  Todd C. Miller  <Todd.Miller@courtesan.com>
25154
25155	* TROUBLESHOOTING:
25156	Initial revision
25157	[f42f1baba3a8]
25158
25159	* sudo.c:
25160	now do set_perms(PERM_ROOT) before the getpwuid() in load_global()
25161	to work around a problem is trusted hpux shadow passwords. yuck.
25162	[ae1f13b54687]
25163
25164	* parse.yacc:
25165	backed out a change in malloc/realloc
25166	[ab868db0ad69]
25167
25168	* parse.yacc:
25169	now include stdlib.h
25170	[957eef0631eb]
25171
25172	* visudo.c:
25173	now do an freopen() of the stmp file so that yyin will always point
25174	to the same thing. This is important for flex since we are doing a
25175	YY_NEWFILE
25176	[44558922fd3e]
25177
25178	* parse.yacc:
25179	replaced yywrap() with parser_cleanup() since yywrap() needs to be
25180	in parse.lex to be able to use YY_NEW_FILE. sigh.
25181	[12dd09921074]
25182
25183	* parse.lex:
25184	now have a rule that matches anything that doesn't match an
25185	explicite rule. well, you know what i mean (. matches anything not
25186	yet matched). However, this means that there is input still queued
25187	up so we need to do a YY_NEW_FILE; in yywrap. So, yywrap has moved
25188	into parse.lex and it calls parser_cleanup() which is most of the
25189	old yywrap() sigh.
25190	[7f4042bc48d6]
25191
25192	* SUPPORTED:
25193	no longer used
25194	[8f220be4da94]
25195
25196	* getcwd.c, getwd.c:
25197	moved compat.h to be the last include file
25198	[9f3a65e2d485]
25199
25200	* parse.yacc:
25201	fixed type of aliascmp() args
25202	[1c27eb989bdf]
25203
25204	* find_path.c:
25205	NULL -> '\0'
25206	[5c8d8cf1692e]
25207
25208	* parse.yacc:
25209	added casts to lfind and lsearch args for irix
25210	[61027ddeecf8]
25211
25212	* Makefile.in:
25213	bsdinstall -> install-sh
25214	[61de6612c5a5]
25215
25216	* INSTALL:
25217	added info about make realclean
25218	[29c6324d727f]
25219
25220	* Makefile.in:
25221	updated VERSION added dependencies for visudo.cat
25222	[09077d7229d4]
25223
25224	* version.h:
25225	-> pl5b1
25226	[5d21c7ad1a41]
25227
25228	* sudo.c:
25229	took out -l
25230	[fc1478d81b38]
25231
25232	* Makefile.in:
25233	now there is a real visudo.man and visudo.cat
25234	[58aeac43a6dd]
25235
25236	* sudo.man:
25237	took out visudo stuff
25238	[4a6ac4393343]
25239
25240	* visudo.man:
25241	Initial revision
25242	[cba348843db8]
25243
25244	* parse.c, parse.lex, parse.yacc:
25245	updated copyright
25246	[ffa16b70944a]
25247
25248	* README:
25249	updated for pl5
25250	[a26e423e9e5f]
25251
25252	* sudo.man:
25253	updated Nieusma & Hieb email addresses
25254	[f0083e71989d]
25255
25256	* INSTALL:
25257	updated to include options.h and OPTIONS
25258	[ee59e2b76c94]
25259
25260	* CHANGES, TODO:
25261	updated
25262	[51e011ad5220]
25263
25264	* BUGS:
25265	eliminated bug #1 (yay)
25266	[e7e88515494e]
25267
25268	* configure.in:
25269	sunos no longer gets linked statically
25270	[2e5b3ff3108f]
25271
252721995-03-28  Todd C. Miller  <Todd.Miller@courtesan.com>
25273
25274	* parse.lex:
25275	prototype now uses __P()
25276	[68ecdcab4c70]
25277
25278	* parse.lex:
25279	make fill() non-ansi
25280	[d6509972260b]
25281
25282	* parse.c:
25283	made -v (validate) work
25284	[13c9d520638c]
25285
25286	* logging.c:
25287	now gives host
25288	[f04859cdba5a]
25289
25290	* find_path.c:
25291	don't check for execute/statable if fq or relative path given
25292	[4bbe851f3973]
25293
25294	* parse.c:
25295	added a cast
25296	[345c308f72f3]
25297
25298	* visudo.c:
25299	now include ctype.h for islower and tolower macros
25300	[582c0aa332d5]
25301
25302	* goodpath.c:
25303	moved _S_IFMT & _S_ISREG to compat.h
25304	[828e4ca4e7b4]
25305
25306	* sudo.c:
25307	moved a set of parens
25308	[5783474ecf37]
25309
25310	* strdup.c:
25311	now include compat.h
25312	[75e2036b94af]
25313
25314	* emul/search.h:
25315	void * -> VOID *
25316	[cedcfaf04161]
25317
25318	* parse.yacc:
25319	now cast malloc & realloc return vals added search for HAVE_LSEARCH
25320	now use strcmp if no strcasecmp available
25321	[d6a42bc3d4ae]
25322
25323	* lsearch.c:
25324	void * -> VOID *
25325	[886adc44f607]
25326
25327	* config.h.in:
25328	removed HAVE_FLEX added VOID added HAVE_DIRENT_H, HAVE_SYS_NDIR_H,
25329	HAVE_SYS_DIR_H, HAVE_NDIR_H added HAVE_LSEARCH
25330	[3b50d7fb4349]
25331
25332	* compat.h:
25333	added _S_IFMT, _S_IFREG, and S_ISREG
25334	[73d506c7d53c]
25335
25336	* aclocal.m4:
25337	took out SUDO_PROG_INSTALL 1.x to 2.x changes added echo and results
25338	to most SUDO_* macros
25339	[8442155f5936]
25340
25341	* Makefile.in:
25342	no more -I.
25343	[63462f195bd4]
25344
25345	* configure.in:
25346	various 1.x ro 2.x autoconf changes now check for strcasecmp now use
25347	AC_INSTALL_PROG instead of custom one added check for fully woorking
25348	void implementation
25349	[5ac6b6e6230f]
25350
25351	* Makefile.in:
25352	added lsearch & search.h visudo links into $(LIBOBJS)
25353	[bc119cda4598]
25354
25355	* aclocal.m4:
25356	partial 1.x to 2.x changes added SUDO_FULL_VOID
25357	[1194d01fa5c5]
25358
25359	* visudo.c:
25360	whatnow_help was prototyped to be static be was not declared as
25361	such
25362	[0f85489dd426]
25363
25364	* configure.in:
25365	autoconf 2.x changes took out HAVE_FLEX (no longer used) added check
25366	for dirent/dir/ndir.h
25367	[7408f3854948]
25368
25369	* parse.c:
25370	now use groovy gnu autoconf macro AC_HEADER_DIRENT
25371	[e465db9f5dfa]
25372
25373	* getcwd.c, getwd.c:
25374	MAXPATHLEN -> MAXPATHLEN+1
25375	[714d87424e21]
25376
25377	* emul/search.h, lsearch.c:
25378	Initial revision
25379	[55d79482c535]
25380
253811995-03-27  Todd C. Miller  <Todd.Miller@courtesan.com>
25382
25383	* parse.yacc:
25384	eliminated bison warnings
25385	[61ca0a96da22]
25386
25387	* parse.lex:
25388	added missing case
25389	[6be0f849747c]
25390
25391	* visudo.c:
25392	now iincludes signal.h
25393	[221e0fcc144f]
25394
25395	* parse.yacc:
25396	only clear data structures on a parse error
25397	[7b1c0f1a4527]
25398
25399	* visudo.c:
25400	whatnow() now gives help on invalid input
25401	[e5a4cd88c587]
25402
25403	* visudo.c:
25404	added a whatnow() function (sort of like mh)
25405	[932d9b145f1c]
25406
25407	* parse.yacc:
25408	kill_aliases -> reset_aliases yywrap() now cleans up by calling
25409	reset_aliases() and clearing top took reset stuff out of yyerror()
25410	since it doesn't beling there (and doesn't work anyway). errorlineno
25411	is now initially set to -1 so we can set it to the first error that
25412	occurrs (it was getting set to the last)
25413	[2f71f95a974c]
25414
25415	* parse.lex:
25416	added a void cast
25417	[18ae6042dce4]
25418
25419	* visudo.c:
25420	rewrote from scratch based on 4.3BSD vipw.c
25421	[2f6814f18576]
25422
254231995-03-26  Todd C. Miller  <Todd.Miller@courtesan.com>
25424
25425	* sudo.c, sudo.h:
25426	removed ocmnd
25427	[a31735f41ad4]
25428
25429	* sudo.h:
25430	no more sudo_realpath() and find_path() changed params
25431	[8e85c3b39159]
25432
25433	* sudo.c:
25434	find_path() changed since no more realpath()
25435	[b25366c7f2ee]
25436
25437	* parse.yacc:
25438	on error, errorlineno is set to the line where the error occurred
25439	added kill_aliases() to free the aliases struct now clean up in
25440	yyerror() so we can reparse cleanly
25441	[2342f578c27a]
25442
25443	* options.h, parse.c:
25444	no more USE_REALPATH
25445	[cfc59babeaff]
25446
25447	* logging.c:
25448	changed to use new find_path()
25449	[91c7a38e7751]
25450
25451	* find_path.c:
25452	removed all the realpath() stuff
25453	[cc21a43a8562]
25454
25455	* Makefile.in:
25456	sudo_realpath.c -> sudo_goodpath.c
25457	[03a9b1ddec2f]
25458
25459	* visudo.c:
25460	now works correctly with utk parser
25461	[08aa554a0ce8]
25462
25463	* goodpath.c:
25464	Initial revision
25465	[1ea607e1ffb2]
25466
25467	* sudo_realpath.c:
25468	eliminated a compiler warning
25469	[198bcccc55b6]
25470
25471	* sudo.c:
25472	elinated compiler warning
25473	[e2384f9a878b]
25474
25475	* sudo_realpath.c:
25476	added sudo_goodpath()
25477	[43878c4cc540]
25478
25479	* sudo.h:
25480	added prototype for sudo_goodpath
25481	[23e8627a2265]
25482
25483	* parse.c:
25484	added support for /sys/dir.h
25485	[eca897087741]
25486
25487	* options.h:
25488	USE_REALPATH turned off
25489	[620ac8b63d85]
25490
25491	* find_path.c:
25492	added calls to sudo_goodpath()
25493	[ad170904fbcd]
25494
25495	* configure.in:
25496	added check for dirent.h
25497	[7964a8c26855]
25498
25499	* config.h.in:
25500	added HAVE_DIRENT_H
25501	[1f785fec7e19]
25502
25503	* configure.in:
25504	added in linux shadow pass stuff 
25505	[e585a5785f50]
25506
255071995-03-24  Todd C. Miller  <Todd.Miller@courtesan.com>
25508
25509	* visudo.c:
25510	added back host, user, cmnd, parse_error
25511	[0ec19f3d64f4]
25512
25513	* visudo.c:
25514	added in utk changes plus some minor cosmetic changes
25515	[c5c1921c8a58]
25516
25517	* sudo.c, sudo_realpath.c:
25518	added void casts for printf's
25519	[9c6ff11c0082]
25520
25521	* options.h:
25522	added a define of USE_REALPATH
25523	[db3711c9efc5]
25524
25525	* configure.in:
25526	there is no more visudoers/Makefile
25527	[36e1bc1f78d0]
25528
25529	* Makefile.in:
25530	added in utk changes (visudo is now built from the toplevel)
25531	[76203d4b345d]
25532
25533	* find_path.c:
25534	added (void) casts to printf's
25535	[dd5cb1e060ac]
25536
25537	* parse.c, parse.lex, parse.yacc, sudo.h, sudo_realpath.c:
25538	merged in utk changes
25539	[35563307fd8e]
25540
255411995-03-23  Todd C. Miller  <Todd.Miller@courtesan.com>
25542
25543	* find_path.c:
25544	now check to see that what we are trying to run is a file (or a link
25545	to a file, we do a stat(2) so there is no diff)
25546	[05889c4bcace]
25547
255481995-03-13  Todd C. Miller  <Todd.Miller@courtesan.com>
25549
25550	* CHANGES:
25551	updated
25552	[3e8047bb26fb]
25553
25554	* Makefile.in:
25555	aclocal.m4 -> acsite.m4 make realclean updated for new autoconf 
25556	[0bdbaa7c4c7d]
25557
25558	* sudo.man:
25559	added myself as maintainer
25560	[77a9d75aab84]
25561
255621995-02-17  Todd C. Miller  <Todd.Miller@courtesan.com>
25563
25564	* sudo.c:
25565	changed setegid -> setgid
25566	[7f4788d73b6f]
25567
255681995-02-06  Todd C. Miller  <Todd.Miller@courtesan.com>
25569
25570	* configure.in:
25571	fixed the test for irix 5.x to skip bad libs
25572	[bfef896de013]
25573
25574	* aclocal.m4:
25575	now initialize OS and OSREV
25576	[cc302756e440]
25577
255781995-01-27  Todd C. Miller  <Todd.Miller@courtesan.com>
25579
25580	* configure.in:
25581	irix5 changes
25582	[ac985b23f5f2]
25583
25584	* configure.in:
25585	AC_WITH -> AC_ARG_WITH changes other misc changes for autoconf 2.1
25586	compatibility
25587	[0cf8c92a06d7]
25588
255891995-01-19  Todd C. Miller  <Todd.Miller@courtesan.com>
25590
25591	* visudo.c:
25592	use YY_NEW_FILE, not yyrestart since OSF flex doesn't do the righ
25593	thing wrt yyrestart (grrrr)
25594	[18e8eabfbb82]
25595
255961995-01-16  Todd C. Miller  <Todd.Miller@courtesan.com>
25597
25598	* Makefile.in:
25599	added visudoers/compat.h to DISTFILES
25600	[db23b574b034]
25601
25602	* configure.in:
25603	fixed an echo
25604	[7cbc0462b89d]
25605
25606	* sudo.c:
25607	added ocmnd declaration adjusted for find_path()'s new parameters
25608	[d929cd156474]
25609
25610	* sudo.h:
25611	added ocmnd extern adjusted find_path() prototype
25612	[e0004daf5d3c]
25613
25614	* parse.c:
25615	cmndcmp() now takes 3 arguments and checks against the qualified as
25616	well as the unqualified pathname. more code that should use
25617	cmndcmp() but did not, now does
25618	[6f70a8c17bee]
25619
25620	* options.h:
25621	added to a comment
25622	[7a78680426b2]
25623
25624	* logging.c:
25625	changed to use new find_path() parameter passing
25626	[840981d30db4]
25627
25628	* find_path.c:
25629	find_path() now takes 2 copyout parameters (one for the qualified
25630	pathname and one for the unqualified pathname). The third parameter
25631	may be NULL.
25632	[851503b005e9]
25633
25634	* configure.in:
25635	no longer munge pathnames.h
25636	[427d8796c5a9]
25637
25638	* pathnames.h.in:
25639	changed _PATH_* to use _SUDO_PATH_* (which are defined in config.h)
25640	as a result, pathnames.h does not need to be run through configure
25641	and the user can override the configured values easily.
25642	[2e378f2ebe88]
25643
25644	* config.h.in:
25645	added _SUDO_PATH_* entries
25646	[0857de7cebab]
25647
25648	* aclocal.m4:
25649	_PATH* -> _SUDO_PATH_*
25650	[7601193f56cc]
25651
25652	* Makefile.in:
25653	updated DISTFILES and HDRS .o's now depend on config.h
25654	[39d8601965cf]
25655
256561995-01-13  Todd C. Miller  <Todd.Miller@courtesan.com>
25657
25658	* compat.h:
25659	removed extraneous #endif
25660	[27d4c5f2ce7e]
25661
25662	* aclocal.m4:
25663	added SUDO_PROG_MV
25664	[76dda3bdd816]
25665
25666	* configure.in:
25667	added SUDO_PROG_MV added riscos and isc os types took out
25668	-DSHORT_MESSAGE from --with-csops since it is now the default
25669	[68c206ad976e]
25670
25671	* sudo.c:
25672	move the include of id.h to compat.h now includes options.h
25673	[45a1eaafb3a8]
25674
25675	* sudo.h:
25676	moved compatibility #defines to compat.h
25677	[0eee27057698]
25678
25679	* pathnames.h.in:
25680	added _PATH_MV
25681	[e830797ab320]
25682
25683	* config.h.in:
25684	move __P to compat.h
25685	[188e12e0ba93]
25686
25687	* getcwd.c, getwd.c, putenv.c:
25688	now includes compat.h
25689	[c72cb6d73981]
25690
25691	* compat.h:
25692	Initial revision
25693	[d4d2f359ae03]
25694
256951995-01-12  Todd C. Miller  <Todd.Miller@courtesan.com>
25696
25697	* sudo.h:
25698	pull user-configurable stuff out and put in options.h
25699	[ef929467b070]
25700
257011995-01-11  Todd C. Miller  <Todd.Miller@courtesan.com>
25702
25703	* parse.lex, parse.yacc, visudo.c:
25704	now includes options.h
25705	[e36d7c82add1]
25706
25707	* check.c, find_path.c, logging.c, parse.c, sudo_realpath.c,
25708	sudo_setenv.c:
25709	now includes options.h
25710	[f186ba03de07]
25711
25712	* Makefile.in:
25713	added visudoers/options.h
25714	[e5350c476494]
25715
25716	* OPTIONS, options.h:
25717	Initial revision
25718	[9b6b5001e318]
25719
25720	* Makefile.in:
25721	added OPTIONS and options.h
25722	[25448341e16a]
25723
25724	* logging.c:
25725	changed #ifdef's to use LOGGING and SLOG_SYSLOG/SLOG_FILE
25726	[5dd6385dd1d3]
25727
25728	* check.c, sudo.h:
25729	changed PASSWORD_TIMEOUT to minutes
25730	[0ec6aab98738]
25731
257321994-12-17  Todd C. Miller  <Todd.Miller@courtesan.com>
25733
25734	* visudo.c:
25735	now only do Editor +line_num if line_num != 0
25736	[b69f04b5e3c7]
25737
257381994-12-16  Todd C. Miller  <Todd.Miller@courtesan.com>
25739
25740	* visudo.c:
25741	now use mv if rename(2) fails
25742	[83210dca1bab]
25743
25744	* BUGS:
25745	added a visudo bug
25746	[d61a806f9aa7]
25747
25748	* check.c:
25749	expanded comment
25750	[641f2cba94cb]
25751
257521994-11-12  Todd C. Miller  <Todd.Miller@courtesan.com>
25753
25754	* check.c:
25755	fixed user_is_exempt to return 0 if EXEMPTGROUP is not set
25756	[7a11135039a8]
25757
257581994-11-10  Todd C. Miller  <Todd.Miller@courtesan.com>
25759
25760	* sudo.c:
25761	added mips & isc support
25762	[e258dc053119]
25763
25764	* parse.c:
25765	added support for non-root owned sudoers file
25766	[fea07e65a0fc]
25767
25768	* check.c:
25769	added exempt group support
25770	[928fb4bd9ad5]
25771
25772	* sudo.h:
25773	added set_perms() support added SUDOERS_OWNER so can have non-root
25774	own sudoers file added exempt group support added isc support
25775	[61c578d31fc1]
25776
25777	* visudo.c:
25778	now copy sudoers to temp file via read/write (not stdio) now chown
25779	new sudoers file to SUDOERS_OWNER
25780	[a5176c59df70]
25781
257821994-11-08  Todd C. Miller  <Todd.Miller@courtesan.com>
25783
25784	* configure.in:
25785	added skey support
25786	[35a8d2fabdb7]
25787
25788	* sudo_realpath.c:
25789	be_* -> setperms()
25790	[a1631d686e1c]
25791
25792	* sudo.h:
25793	fixed typo added set_perms support added skey support added
25794	seteuid()/setegid() emulation for AIX
25795	[c0c8d6771406]
25796
25797	* sudo.c:
25798	be_* -> setperms() now check to make sure sudoers file is owned by
25799	root nread/write by only root
25800	[13ab1e261f1a]
25801
25802	* logging.c, parse.c:
25803	be_* -> setperms()
25804	[21499d845c8f]
25805
25806	* check.c:
25807	be_* -> set_perms() added skey support
25808	[df51b56871c1]
25809
258101994-11-06  Todd C. Miller  <Todd.Miller@courtesan.com>
25811
25812	* Makefile.in:
25813	++version
25814	[3c1abbe4e43c]
25815
25816	* version.h:
25817	++
25818	[1d2f9b540a95]
25819
258201994-10-21  Todd C. Miller  <Todd.Miller@courtesan.com>
25821
25822	* sudo.c:
25823	now sets IFS
25824	[eabbb41b9f08]
25825
25826	* insults.h:
25827	fixed typo
25828	[c7997f19216e]
25829
258301994-10-15  Todd C. Miller  <Todd.Miller@courtesan.com>
25831
25832	* config.h.in:
25833	added HAVE_SKEY
25834	[da948ec4186b]
25835
258361994-10-04  Todd C. Miller  <Todd.Miller@courtesan.com>
25837
25838	* CHANGES:
25839	updated
25840	[f4b55ab007ea]
25841
25842	* Makefile.in:
25843	++version
25844	[0489068b8c95]
25845
25846	* version.h:
25847	++
25848	[d189faedf423]
25849
25850	* sudo.c:
25851	now bail if ARgv[1] > MAXPATHLEN
25852	[0cea8ecc9dc2]
25853
25854	* configure.in:
25855	added function check for tcgetattr(3)
25856	[e03289b22c2f]
25857
25858	* config.h.in:
25859	only define HAVE_TERMIOS_H if you have tcgetattr(3)
25860	[757eab83d1a2]
25861
25862	* config.h.in:
25863	added check for tcgetattr
25864	[c5ae92715930]
25865
258661994-09-26  Todd C. Miller  <Todd.Miller@courtesan.com>
25867
25868	* CHANGES:
25869	updated
25870	[cbc419883108]
25871
258721994-09-22  Todd C. Miller  <Todd.Miller@courtesan.com>
25873
25874	* parse.lex:
25875	now only include unistd.h for linux
25876	[e9adeab95ef0]
25877
258781994-09-21  Todd C. Miller  <Todd.Miller@courtesan.com>
25879
25880	* Makefile.in:
25881	added visudo.8 generation
25882	[d6a3f0f887f8]
25883
25884	* configure.in:
25885	added -Wl,-bI:./aixcrypt.exp to aix flags
25886	[72594a21edcf]
25887
258881994-09-20  Todd C. Miller  <Todd.Miller@courtesan.com>
25889
25890	* BUGS:
25891	added one
25892	[9993a349e096]
25893
25894	* CHANGES:
25895	updated
25896	[297b31ec4cdd]
25897
25898	* README:
25899	added mailing list info
25900	[10372f94a2b2]
25901
25902	* parse.yacc:
25903	now use sudolineno instead of yylineno fixed bison warnings
25904	[25a83e62057b]
25905
25906	* configure.in:
25907	now use -no_library_replacement for osf don't make a static binary
25908	for hpux >= 9.0
25909	[1fa7b892f1a3]
25910
25911	* tgetpass.c:
25912	added string.h/strings.h inclusion
25913	[71faa98fc0a1]
25914
25915	* config.h.in:
25916	added ssize_t def
25917	[406284bd1ac0]
25918
25919	* parse.lex:
25920	added inclusion of string.h/strings.h
25921	[6985b1df5d09]
25922
25923	* aclocal.m4:
25924	fixed uname | sed (needed to quote the '[')
25925	[4cd2d3415c1a]
25926
25927	* parse.lex:
25928	replaced yylineno with sudolineno fixed bison syntax errors
25929	[0bd31a5fab26]
25930
25931	* visudo.c:
25932	changed yylineno to sudolineno since yylineno cannot be counted
25933	upon.
25934	[38c30104d0ae]
25935
25936	* TODO:
25937	updated
25938	[5d4746f1a752]
25939
25940	* parse.c:
25941	added code to support command listings
25942	[030172e133fd]
25943
25944	* sudo.c:
25945	added code for -l flag
25946	[801dbbc82778]
25947
25948	* sudo.man:
25949	fixed typo added info for -l flag
25950	[8916ca945d65]
25951
25952	* configure.in:
25953	AC_SSIZE_T -> SUDO_SSIZE_T
25954	[c61f7f47013f]
25955
25956	* aclocal.m4:
25957	added SUDO_SSIZE_T
25958	[0ccdb77be84d]
25959
25960	* sudo.h:
25961	added MODE_LIST
25962	[9b2bd844c76c]
25963
25964	* configure.in:
25965	added AC_SSIZE_T
25966	[35cca208f9b5]
25967
25968	* find_path.c, sudo_realpath.c:
25969	readlink() is now declared as returning ssize~_t
25970	[0640a08d1407]
25971
25972	* configure.in:
25973	added -laud for OSF c2
25974	[b7539c905efc]
25975
259761994-09-02  Todd C. Miller  <Todd.Miller@courtesan.com>
25977
25978	* Makefile.in, visudo.c:
25979	changed sudo-bugs.cs.colorado.edu -> sudo-bugs@cs.colorado.edu
25980	[067fd9bcb5e1]
25981
25982	* config.h.in, parse.lex, parse.yacc, pathnames.h.in:
25983	changed sudo-bugs.cs.colorado.edu -> sudo-bugs@cs.colorado.edu
25984	[fc46e7c7110a]
25985
25986	* check.c, find_path.c, getcwd.c, getwd.c, insults.h, logging.c,
25987	parse.c, putenv.c, strdup.c, sudo.c, sudo.h, sudo_realpath.c,
25988	sudo_setenv.c, tgetpass.c, version.h:
25989	changed sudo-bugs.cs.colorado.edu -> sudo-bugs@cs.colorado.ed
25990	[d1d4fbc53a98]
25991
259921994-09-01  Todd C. Miller  <Todd.Miller@courtesan.com>
25993
25994	* Makefile.in:
25995	++version
25996	[b7066d97633f]
25997
25998	* version.h:
25999	++
26000	[65ec69d88110]
26001
26002	* logging.c:
26003	added host to alertmail messages
26004	[d973c19ce777]
26005
26006	* CHANGES, TODO:
26007	udpated
26008	[5a65eb16faeb]
26009
26010	* logging.c:
26011	fixed logging problem where mail would not say which user it was
26012	[35723edcc5d2]
26013
26014	* configure.in:
26015	added -laud for gcc if osf & c2
26016	[18f1e0ae5548]
26017
26018	* check.c:
26019	moved set_auth_parameters to sudo.c
26020	[d23112fe01db]
26021
26022	* sudo.c:
26023	added set_auth_parameters for osf
26024	[eb70f65214ac]
26025
26026	* configure.in:
26027	cleaned up -static stuff
26028	[01e9575f0422]
26029
26030	* Makefile.in:
26031	++version
26032	[7ac3bff5c770]
26033
26034	* version.h:
26035	++
26036	[10a4ff478469]
26037
26038	* sudo.c:
26039	changed setenv() to sudo_setenv()
26040	[40a78abb9946]
26041
26042	* check.c:
26043	fixed osf problem
26044	[3d69b118efb8]
26045
26046	* configure.in:
26047	added OSF C2 stuff
26048	[38cff3ad4093]
26049
26050	* CHANGES:
26051	updated
26052	[cd341dd0581a]
26053
26054	* check.c:
26055	added osf auth support & removed some extra spaces
26056	[a448cdd81514]
26057
26058	* INSTALL, SUPPORTED:
26059	added osf C2 stuff
26060	[f70484796146]
26061
260621994-08-31  Todd C. Miller  <Todd.Miller@courtesan.com>
26063
26064	* TODO:
26065	added 2 suggestions
26066	[695fbdbd86e6]
26067
26068	* Makefile.in:
26069	removed README.v1.3.1 and added VERSION stuff
26070	[f69403eb04c6]
26071
26072	* version.h:
26073	pl1
26074	[21580c0f8cb1]
26075
260761994-08-30  Todd C. Miller  <Todd.Miller@courtesan.com>
26077
26078	* version.h:
26079	1.3.1final
26080	[630114970298]
26081
26082	* Makefile.in:
26083	added HISTORY
26084	[901bff251614]
26085
26086	* sudo.man:
26087	mention HISTPRY file
26088	[86dbcfd4326e]
26089
26090	* sudo.c:
26091	use sizeof instead of a constant in 1 place
26092	[d819604c68ca]
26093
26094	* parse.yacc:
26095	added unistd.h
26096	[6f9500f9fe7e]
26097
26098	* parse.lex:
26099	added unistd.h
26100	[468b81a276eb]
26101
26102	* README:
26103	udpated
26104	[7e275618923a]
26105
26106	* HISTORY:
26107	Initial revision
26108	[5db1b0a3939b]
26109
261101994-08-17  Todd C. Miller  <Todd.Miller@courtesan.com>
26111
26112	* version.h:
26113	++
26114	[7dfbb4a810bb] [SUDO_1_3_1]
26115
26116	* CHANGES:
26117	updated
26118	[7820ee610bf8]
26119
26120	* sudo_setenv.c:
26121	added unistd.h include
26122	[30cf2b654525]
26123
261241994-08-16  Todd C. Miller  <Todd.Miller@courtesan.com>
26125
26126	* sudo.c:
26127	added sys/time.h for AIX
26128	[199fc8caf3a3]
26129
261301994-08-15  Todd C. Miller  <Todd.Miller@courtesan.com>
26131
26132	* configure.in:
26133	added check for -lsocket and sys/sockio.h
26134	[f9abfbb31031]
26135
26136	* config.h.in:
26137	took out libshadow check and added in sys/sockio.h check
26138	[0c4b0393ac80]
26139
26140	* sudo.c:
26141	now include sockio.h instead of ioctl.h if it exists "sudo -" now
26142	gets a better error message
26143	[53041bea5483]
26144
26145	* sample.sudoers:
26146	now has a dir and subnet entry
26147	[56b820f65438]
26148
261491994-08-13  Todd C. Miller  <Todd.Miller@courtesan.com>
26150
26151	* sudo.c:
26152	removed if_ether.h
26153	[b4f64507493e]
26154
26155	* TODO:
26156	added an item
26157	[ea2a1bb6922a]
26158
26159	* sudo.man:
26160	added network and ip addresses to man page
26161	[01c85016511f]
26162
26163	* sudo.c:
26164	no error if can't get interfaces or netmask since networking may not
26165	be in the kernel.
26166	[50b8890e2134]
26167
26168	* parse.c:
26169	nwo check for interfaces == NULL
26170	[dc1b3eef0db2]
26171
26172	* parse.c:
26173	fixed a bug that caused directory specs in a Cmnd_Alias to fail if
26174	the last entry in the spec failed (ie: it was only looking at the
26175	last entry). CLeaned things up by adding the cmndcmp() function--all
26176	neat & tidy
26177	[007e93578e5e]
26178
26179	* CHANGES:
26180	added one
26181	[40e8a2cef497]
26182
261831994-08-12  Todd C. Miller  <Todd.Miller@courtesan.com>
26184
26185	* sudo.c:
26186	now do two passes to skip bogus interfaces (lo0, etc)
26187	[465e30aecaf7]
26188
26189	* parse.lex, parse.yacc, visudo.c:
26190	added include of netinet/in.h
26191	[11e3816ed362]
26192
26193	* logging.c, sudo_realpath.c, sudo_setenv.c:
26194	added ninclude of netinet/in.h
26195	[daccfa40fe1e]
26196
26197	* check.c, find_path.c, getcwd.c, getwd.c:
26198	added include of netinet/in.h
26199	[0222f95e06ad]
26200
26201	* version.h:
26202	++
26203	[d6b0cfa35a38]
26204
26205	* sudo.h:
26206	added interfaces global
26207	[ba52fa8ad75e]
26208
26209	* parse.c:
26210	now uses new interfaces global
26211	[17473ad5ecba]
26212
26213	* sudo.c:
26214	now ip addresses are gleaned fw/o dns
26215	[8828bb2007e0]
26216
262171994-08-10  Todd C. Miller  <Todd.Miller@courtesan.com>
26218
26219	* sudo.c:
26220	added load_ip_addrs() to load the ip_addrs global var
26221	[60c825f04238]
26222
26223	* parse.c:
26224	added hostcmp() to compare hostnames, ip addrs, and network addrs
26225	[ab0e40e37537]
26226
26227	* sudo.h:
26228	added ip_addrs def added load_ip_addrs prototype
26229	[c41c565d0777]
26230
262311994-08-08  Todd C. Miller  <Todd.Miller@courtesan.com>
26232
26233	* CHANGES:
26234	updated
26235	[2a128dbe9bcb]
26236
26237	* Makefile.in:
26238	removed multiple entries in DISTFILES
26239	[2490f4f371e6]
26240
26241	* visudo.c:
26242	ansified the !STDC_HEADERS decls
26243	[646ba06d17ae]
26244
26245	* find_path.c, getcwd.c, getwd.c, putenv.c, strdup.c:
26246	don't do malloc decl if gnuc
26247	[f1bad1925f98]
26248
26249	* sudo.c:
26250	can't use getopt(3) since it munges args to the command to be run as
26251	root don't do malloc decl if gnuc
26252	[38e78f6da14e]
26253
26254	* find_path.c, getcwd.c, getwd.c, putenv.c, strdup.c, sudo.c,
26255	sudo_realpath.c, sudo_setenv.c:
26256	ansi-fied !STDC_HEADER function prottypes
26257	[51d8cad89976]
26258
26259	* getcwd.c, getwd.c:
26260	added missing paren
26261	[6a1fae70e27e]
26262
26263	* Makefile.in:
26264	added putenv.c to DISTFILES
26265	[a5e4523eabbb]
26266
26267	* sudo_setenv.c:
26268	added params to func decls when STDC_HEADERS is not defined now can
26269	count on putenv() being there
26270	[fd587796189b]
26271
26272	* sudo_realpath.c:
26273	took out errno decl since sudo.h does it for us fixed up a next cc
26274	warning added params to func decls when STDC_HEADERS is not defined
26275	[70fa5152ace6]
26276
26277	* sudo.h:
26278	took out environ extern added local declaratio of putenv() if local
26279	version is needed
26280	[a84bae6c020d]
26281
26282	* find_path.c, getcwd.c, getwd.c, strdup.c, sudo.c:
26283	added params to func decls when STDC_HEADERS is not defined
26284	[f406f0e47ac0]
26285
26286	* config.h.in:
26287	added memcpy check check to see that ansi vs bsd macros are ntot
26288	already defiend before defining (ie: avoid redefinition)
26289	[879ae026e19f]
26290
26291	* configure.in:
26292	removed fluff setenv check plus check w/ replace for putenv if also
26293	no setenv
26294	[e3c03814ad4b]
26295
26296	* putenv.c:
26297	Initial revision
26298	[3cff63e2dc1b]
26299
263001994-08-06  Todd C. Miller  <Todd.Miller@courtesan.com>
26301
26302	* sudo_setenv.c:
26303	Initial revision
26304	[4d637631fa6b]
26305
26306	* sudo.h:
26307	rm'd s realp[ath added sudo_realpath and sudo_setenv
26308	[07ba001ff57e]
26309
26310	* sudo.c:
26311	now use sudo_setenvc
26312	[fd81e04d5ef0]
26313
26314	* configure.in:
26315	added puteenv and setenv, removed realpath
26316	[27bfacfb513b]
26317
26318	* config.h.in:
26319	added putenv & setenv
26320	[515f14eaf6e4]
26321
26322	* Makefile.in:
26323	added sudo_setenv
26324	[217731a717c5]
26325
26326	* version.h:
26327	++
26328	[eadb346d7129]
26329
263301994-08-05  Todd C. Miller  <Todd.Miller@courtesan.com>
26331
26332	* configure.in:
26333	added MAN_POSTINSTALL and /usr/share/catman for irix
26334	[2a9496c1bdba]
26335
26336	* Makefile.in:
26337	added MAN_POSTINSTALL
26338	[89b0d4695529]
26339
26340	* CHANGES:
26341	added
26342	[48c021ba8a70]
26343
26344	* sudo.man:
26345	added SUDO_* plus new options
26346	[c0759cff5683]
26347
26348	* CHANGES:
26349	added one
26350	[7d44a3922d56]
26351
26352	* configure.in:
26353	took out shadow lib
26354	[07cf3de18701]
26355
26356	* TODO:
26357	adde done
26358	[a27a578e8afe]
26359
26360	* visudo.c:
26361	now use yyrestart() if flex now reset yylineno to 0
26362	[77d67ce0b677]
26363
26364	* Makefile.in:
26365	support for installing a cat page instead of a man page if no nroff
26366	[44671c0fc0fa]
26367
26368	* configure.in:
26369	now defines HAVE_FLEX fixed up man stuff so that it looks for nroff
26370	to determine whether or not to install a cat or man page
26371	[0562d069c135]
26372
26373	* config.h.in:
26374	added HAVE_FLEX
26375	[c5490bae39d3]
26376
26377	* sudo.c:
26378	not set ret to MODE_RUN initially
26379	[88b4983c195b]
26380
26381	* find_path.c:
26382	made command (and therefor cmnd dynamically allocated)
26383	[95b82e32b6de]
26384
26385	* TODO:
26386	did #8
26387	[fb6f41308cdf]
26388
26389	* version.h:
26390	++
26391	[14112ecab5ae]
26392
26393	* sudo_realpath.c:
26394	changed bufs from MAXPATHLEN to MAXPATHLEN+1
26395	[0ad4f34e55c0]
26396
26397	* sudo.h:
26398	added MODE_ removed validate_only and added remove_timestamp()
26399	[dd5f99c57728]
26400
26401	* sudo.c:
26402	usage() now takes an int (exit value) added parse_args() to parse
26403	command line arguments moved call to find_path() from load_globals
26404	to new function load_cmnd() removed validate_only global -- now use
26405	the concept of "modes" added -h and -k options
26406	[c3887090b28a]
26407
26408	* parse.c:
26409	no longer use global validate_only now checks for command called
26410	"validate" removed check for non-fully qualified commands since that
26411	is done by find_path
26412	[7d56fbd26369]
26413
26414	* find_path.c:
26415	changed MAXPATHLEN r to MAXPATHLEN+1
26416	[a86e8664d971]
26417
26418	* find_path.c:
26419	fixed off by one error with MAXPATHLEN and fixed a comment
26420	[58adcef8c981]
26421
26422	* check.c:
26423	check_timestamp no longer runs reminder(), it is implied in the
26424	return val added remove_timestamp()
26425	[42ab5a77066f]
26426
26427	* CHANGES:
26428	updated
26429	[8e69b31df024]
26430
264311994-08-04  Todd C. Miller  <Todd.Miller@courtesan.com>
26432
26433	* BUGS:
26434	fixed on
26435	[bc34f1ac4280]
26436
26437	* sudo_realpath.c:
26438	took out old_errno
26439	[a168d00a0768]
26440
26441	* CHANGES:
26442	updated
26443	[04ba80922df7]
26444
264451994-08-03  Todd C. Miller  <Todd.Miller@courtesan.com>
26446
26447	* logging.c:
26448	moved send_mail to after syslog
26449	[4d4188087834]
26450
26451	* sudo.c:
26452	now set SUDO_ envariables
26453	[e5963f1bd3bb]
26454
264551994-08-01  Todd C. Miller  <Todd.Miller@courtesan.com>
26456
26457	* version.h:
26458	++
26459	[2a4534845d8c]
26460
26461	* sudo_realpath.c:
26462	now print error if chdir fails
26463	[0d75c8973d49]
26464
26465	* find_path.c:
26466	removed an XXX
26467	[e2077bcb35aa]
26468
264691994-07-26  Todd C. Miller  <Todd.Miller@courtesan.com>
26470
26471	* CHANGES:
26472	updated
26473	[e30a2b39b41a]
26474
26475	* configure.in:
26476	no more static binaries for aix
26477	[77a0beb6bd80]
26478
264791994-07-25  Todd C. Miller  <Todd.Miller@courtesan.com>
26480
26481	* INSTALL:
26482	fixed typo
26483	[ba5e0d391bc4]
26484
26485	* sudo_realpath.c:
26486	took out stuff not needed for sudo now does be_root/be_user itself
26487	now uses cwd global
26488	[4f6d4641d793]
26489
26490	* version.h:
26491	+=2
26492	[97da927b297c]
26493
26494	* logging.c, sudo.c:
26495	be_root/be_user is now down in sudo_realpath()
26496	[f331662fa50f]
26497
26498	* logging.c, sudo.h:
26499	now works with 4.2BSD syslog (blech)
26500	[98e39d89dd36]
26501
26502	* find_path.c:
26503	now use sudo_realpath()
26504	[ab436a8ebd02]
26505
26506	* config.h.in:
26507	took out realpth() stuff since we now use sudo_realpath()
26508	[8de5ef9f6044]
26509
26510	* configure.in:
26511	ultrix enhanced sec
26512	[815fb7fffcc0]
26513
26514	* SUPPORTED:
26515	added ultrix enhanced sec.
26516	[6466766c8062]
26517
26518	* INSTALL:
26519	updated
26520	[d681a634297a]
26521
26522	* check.c:
26523	ultrix enhanced security suport
26524	[f10c8decbcc2]
26525
26526	* Makefile.in:
26527	added sudo_realpath.c
26528	[6b9bcd3be022]
26529
26530	* CHANGES:
26531	updated
26532	[2fa8084c1b53]
26533
26534	* tgetpass.c:
26535	increased passwd len to 24 for c2 security
26536	[ec64838be62d]
26537
26538	* BUGS:
26539	updated BUGS
26540	[ca00d8fec2ce]
26541
265421994-07-15  Todd C. Miller  <Todd.Miller@courtesan.com>
26543
26544	* check.c:
26545	now use user global var
26546	[568769719013]
26547
26548	* configure.in:
26549	took out -ls
26550	[490a44180d5f]
26551
265521994-07-14  Todd C. Miller  <Todd.Miller@courtesan.com>
26553
26554	* configure.in:
26555	added AFS libs
26556	[4fb40c8c01ba]
26557
26558	* sudo.h:
26559	user is now a char * added epasswd
26560	[27a919fafdfb]
26561
26562	* sudo.c:
26563	added tzset() to load_globals added epasswd (encrypted password)
26564	global made user dynamically allocated
26565	[b99ef9bdbfce]
26566
26567	* configure.in:
26568	added tzset test
26569	[27592dd1214b]
26570
26571	* config.h.in:
26572	added HAVE_TZSET
26573	[b13f4213f3d0]
26574
26575	* check.c:
26576	cleaned up encrypted passwd grab somewhat
26577	[c8ba9a4db38a]
26578
26579	* configure.in:
26580	fixed AFS typo
26581	[2bfcbce237b6]
26582
26583	* INSTALL:
26584	added AFS not
26585	[80c67329393c]
26586
26587	* CHANGES:
26588	udpated
26589	[2f09ecdd5d31]
26590
26591	* logging.c:
26592	can now log to both syslog & a file
26593	[4d5c0932bc01]
26594
26595	* sudo.h:
26596	added BOTH_LOGS
26597	[623c539be824]
26598
26599	* CHANGES:
26600	updated
26601	[a1c7f5ef3616]
26602
26603	* configure.in:
26604	--with-AFS
26605	[28718d8f5daf]
26606
26607	* config.h.in:
26608	added HAVE_AFS
26609	[2e32bb4e63e4]
26610
26611	* check.c:
26612	added afs changes
26613	[fe4d0ff320a2]
26614
26615	* sudo.h:
26616	removed AFS stuff :-)
26617	[a40387e6fa27]
26618
26619	* tgetpass.c:
26620	include sys/select for AIX
26621	[f32c5a8f2c84]
26622
26623	* sudo.h:
26624	added AFS
26625	[da2ab3dd0348]
26626
26627	* version.h:
26628	++
26629	[452d4dfe25af]
26630
266311994-07-07  Todd C. Miller  <Todd.Miller@courtesan.com>
26632
26633	* CHANGES, SUPPORTED:
26634	updated
26635	[e7dfe6f23a37]
26636
26637	* logging.c:
26638	can now have MAILER undefined
26639	[1d33b98b35e1]
26640
26641	* INSTALL:
26642	new sub-note about MAILER
26643	[d35c636a0574]
26644
26645	* sudo.man:
26646	added blurb about password timeout
26647	[70c2ee50de20]
26648
26649	* configure.in:
26650	convex c2 changes
26651	[367138a6232e]
26652
26653	* aclocal.m4:
26654	took out duplicate define of _CONVEX_SOURCE
26655	[647182138450]
26656
26657	* Makefile.in:
26658	added OSDEFS
26659	[7fdcd50602d1]
26660
26661	* config.h.in:
26662	added spaces
26663	[f2b8a05e48f3]
26664
26665	* tgetpass.c:
26666	added a goto if fgets fails
26667	[68a6586d9c45]
26668
26669	* sudo.h:
26670	use __hpux not hpux convex c2 stuff
26671	[5c377a8d5f34]
26672
26673	* sudo.c:
26674	use __hpux not hpux
26675	[9363bc0f9f9e]
26676
26677	* logging.c:
26678	convex c2 stuff
26679	[ea5630975ac4]
26680
26681	* config.h.in:
26682	define ansi-ish cpp os defines if non-ansi are defined for hpux &
26683	convex
26684	[664f53a5e786]
26685
26686	* INSTALL:
26687	updated to say we support sonvex C2
26688	[5f2f8b87013e]
26689
26690	* check.c:
26691	added convex c2 support
26692	[9a665d4918fa]
26693
266941994-07-01  Todd C. Miller  <Todd.Miller@courtesan.com>
26695
26696	* tgetpass.c:
26697	no more ioctl never returns NULL uses fgets() and select() to
26698	timeout
26699	[b333e6d63e97]
26700
267011994-06-29  Todd C. Miller  <Todd.Miller@courtesan.com>
26702
26703	* configure.in:
26704	things were testing -n "$GCC" instead of -z "$GCC"
26705	[059a9b15ede2]
26706
26707	* tgetpass.c:
26708	now works + uses fgets()
26709	[353d7ebcb7bb]
26710
267111994-06-28  Todd C. Miller  <Todd.Miller@courtesan.com>
26712
26713	* tgetpass.c:
26714	select doesn't seem to recognize a single '\n' as input waiting so
26715	we can;t use it, sigh.
26716	[f76e3218b835]
26717
267181994-06-26  Todd C. Miller  <Todd.Miller@courtesan.com>
26719
26720	* PORTING:
26721	updated tgetpass() blurb
26722	[95baac736b49]
26723
26724	* configure.in:
26725	added --with-getpass
26726	[42ac0bdf58ed]
26727
26728	* Makefile.in:
26729	added tgetpass stuff
26730	[e2b38c635663]
26731
26732	* tgetpass.c:
26733	now uses stdio
26734	[36af8ff66e35]
26735
26736	* version.h:
26737	++
26738	[4e81c9db19bd]
26739
267401994-06-24  Todd C. Miller  <Todd.Miller@courtesan.com>
26741
26742	* PORTING:
26743	updated ,.
26744	[54f523770a05]
26745
26746	* config.h.in:
26747	added USE_GETPASS && HAVE_C2_SECURITY
26748	[86b355cb2953]
26749
26750	* configure.in:
26751	fixed a test aded --with-C2 and --with-tgetpass
26752	[abf6181588ef]
26753
26754	* check.c:
26755	added hpux C2 shit
26756	[20d4177ffa88]
26757
26758	* Makefile.in:
26759	took out tgetpass.*
26760	[cc82fd9984b4]
26761
26762	* INSTALL:
26763	added C2 blurb
26764	[1d2bfc35e4b6]
26765
267661994-06-13  Todd C. Miller  <Todd.Miller@courtesan.com>
26767
26768	* configure.in:
26769	no termio(s) for ultrix since it is broken
26770	[d3e82e835350]
26771
26772	* check.c:
26773	added a space (yeah, anal)
26774	[05e4b31ca68c]
26775
26776	* realpath.c, sudo_realpath.c:
26777	fixed it (duh, rtfm)
26778	[f13097cb8cb6]
26779
267801994-06-08  Todd C. Miller  <Todd.Miller@courtesan.com>
26781
26782	* config.h.in:
26783	took out bsd signal stuff for irix
26784	[e179cdafc97a]
26785
26786	* visudo.c:
26787	comments in #endif
26788	[e3a629190f5e]
26789
26790	* configure.in:
26791	don't define BSD signals for irix
26792	[3ce57bffb7f0]
26793
26794	* TODO:
26795	did some...
26796	[274241cd0f74]
26797
26798	* CHANGES:
26799	updated
26800	[8f29fc755faf]
26801
26802	* realpath.c, sudo_realpath.c:
26803	took out unneeded code by changing where a strings was terminated
26804	[b5564d62d30e]
26805
268061994-06-07  Todd C. Miller  <Todd.Miller@courtesan.com>
26807
26808	* realpath.c, sudo_realpath.c:
26809	fix bug where /dirname would return NULL
26810	[b85f470daf26]
26811
26812	* sudo.h:
26813	move __P to config.h
26814	[7763c0ff3f28]
26815
26816	* getcwd.c, getwd.c, realpath.c, sudo_realpath.c:
26817	added errno definition
26818	[4cc9d2d9782a]
26819
26820	* config.h.in:
26821	added __P
26822	[ca06f5aa58f3]
26823
26824	* config.h.in:
26825	added HAVE_FCHDIR
26826	[206d714641e0]
26827
26828	* strdup.c:
26829	now include stdio
26830	[0d8458da0e1d]
26831
26832	* realpath.c, sudo_realpath.c:
26833	now works if no fchdir
26834	[e035911b6722]
26835
26836	* visudo.c:
26837	define SA_RESETHAND to null if not defined
26838	[afec03e84342]
26839
26840	* configure.in:
26841	added check & replace
26842	[c1a65481441c]
26843
26844	* configure.in:
26845	took out -static for nextstep -- it doesn't work
26846	[fa1a1a611743]
26847
268481994-06-06  Todd C. Miller  <Todd.Miller@courtesan.com>
26849
26850	* logging.c:
26851	moved #endif to where it belongs
26852	[07d3a8972097]
26853
26854	* SUPPORTED:
26855	correction
26856	[0c1ecba3e5a3]
26857
26858	* configure.in:
26859	now checks for strdup realpath getcwd bzero
26860	[f029a1917515]
26861
26862	* config.h.in:
26863	emulate bzero
26864	[d792352e44a3]
26865
26866	* visudo.c:
26867	added posic signals
26868	[2ed0005f90fc]
26869
26870	* tgetpass.c:
26871	bzero cast
26872	[6d91b1a1526f]
26873
26874	* logging.c:
26875	added posix signals
26876	[67ede9c22a05]
26877
26878	* configure.in:
26879	removed BROKEN_GETPASS added new srcs toreplace missing functions
26880	[cf44274bb1c8]
26881
26882	* config.h.in:
26883	added posix signal stuff
26884	[a3c1c98fe8ef]
26885
26886	* Makefile.in:
26887	added new srcs
26888	[b6a079afee47]
26889
26890	* visudo.c:
26891	updated useag
26892	[589ed091c44f]
26893
26894	* tgetpass.c:
26895	now uses posix signals
26896	[30f74964074f]
26897
26898	* PORTING:
26899	updated sto reflect major changes
26900	[bcfc309e017b]
26901
26902	* CHANGES, TODO:
26903	updated
26904	[23aacbd54278]
26905
26906	* tgetpass.c:
26907	uses sysconf() if available
26908	[a27431c90bab]
26909
26910	* sudo.h:
26911	added PASSWORD_TIMEOUT + prototypes for new functions
26912	[d7473c2f77c4]
26913
26914	* realpath.c, sudo_realpath.c:
26915	for those w/o this in libc
26916	[1e47aa7a9d46]
26917
26918	* getcwd.c, getwd.c:
26919	Initial revision
26920	[c90dea57a84f]
26921
26922	* find_path.c:
26923	rewrote to use realpath(3) - nis now all my code
26924	[d2c3bb8fb37d]
26925
26926	* config.h.in:
26927	added HAVE_REALPATH
26928	[02c10352a8c7]
26929
26930	* check.c:
26931	now use tgetpass
26932	[b5c021fc179f]
26933
26934	* Makefile.in:
26935	added LIBOBJS use tgetpass.c
26936	[230a7b3eeaa3]
26937
269381994-06-05  Todd C. Miller  <Todd.Miller@courtesan.com>
26939
26940	* tgetpass.c:
26941	works now :-)
26942	[025e7a3875ba]
26943
26944	* tgetpass.c:
26945	Initial revision
26946	[3316ab33b230]
26947
26948	* pathnames.h.in:
26949	added /dev/tty
26950	[29242585e53f]
26951
269521994-06-04  Todd C. Miller  <Todd.Miller@courtesan.com>
26953
26954	* version.h:
26955	incremented
26956	[f2e54b48280f]
26957
26958	* sudo.c:
26959	always use getcwd
26960	[c6068e8a4029]
26961
26962	* config.h.in:
26963	added check for getwd
26964	[ab1e102ad673]
26965
26966	* configure.in:
26967	replace strdup & realpath & getcwd if missing
26968	[b0eb14f2a1c3]
26969
26970	* pathnames.h.in:
26971	added _PATH_PWD
26972	[309d2388f69a]
26973
26974	* aclocal.m4:
26975	added SUDO_PROG_PWD
26976	[e16e85deb96c]
26977
26978	* strdup.c:
26979	Initial revision
26980	[810efdc15007]
26981
26982	* realpath.c, sudo_realpath.c:
26983	Initial revision
26984	[d85eee438e09]
26985
269861994-06-03  Todd C. Miller  <Todd.Miller@courtesan.com>
26987
26988	* configure.in:
26989	quoted quare brackets
26990	[d0e7ca111d98]
26991
269921994-06-02  Todd C. Miller  <Todd.Miller@courtesan.com>
26993
26994	* sudo.c:
26995	no need to strdup() a constant
26996	[a8c44712df9a]
26997
26998	* CHANGES:
26999	updated
27000	[71364129cca0]
27001
27002	* sudo.man:
27003	added validate
27004	[0bb198095a26]
27005
27006	* sudo.c:
27007	added -v to usage
27008	[31ea71f11dbb]
27009
27010	* parse.c, sudo.c, sudo.h:
27011	added validate_only stuff
27012	[9bcd853d3c90]
27013
270141994-05-30  Todd C. Miller  <Todd.Miller@courtesan.com>
27015
27016	* configure.in:
27017	now finds sed
27018	[6374bb0d3f28]
27019
27020	* aclocal.m4:
27021	$OSREV is now an int
27022	[ace0666d66cf]
27023
270241994-05-29  Todd C. Miller  <Todd.Miller@courtesan.com>
27025
27026	* configure.in:
27027	added mtxinu to caser
27028	[73a776887b16]
27029
27030	* sudo.h:
27031	added EXEC macro
27032	[2e8eb28b710a]
27033
27034	* sudo.c:
27035	now use the EXEC nmacro now only do a gethostbyname() if FQDN is set
27036	[56afb4f658d5]
27037
27038	* logging.c:
27039	changed mail_argv[] def now use EXEC() macro
27040	[ddcabd28edb1]
27041
27042	* check.c:
27043	took out crypt() definition
27044	[0e657724cf5f]
27045
27046	* version.h:
27047	upped the version
27048	[62c5d66119fc]
27049
27050	* configure.in:
27051	always look for -lnsl
27052	[d7b594f0313b]
27053
27054	* aclocal.m4:
27055	added an echo
27056	[1caae3491dc5]
27057
27058	* sudo.h:
27059	SHORT_MESSAGE is now the default
27060	[cfce35c3119a]
27061
27062	* config.h.in:
27063	fixed typo
27064	[6499a564bf75]
27065
27066	* configure.in:
27067	added missing AC_DEFINE(SVR4) for solaris
27068	[feef0b17b94f]
27069
27070	* sudo.man:
27071	documented the -v flag
27072	[a6429f2bc2cf]
27073
27074	* SUPPORTED:
27075	updated
27076	[088886e79540]
27077
27078	* check.c:
27079	proto-ized crypt()
27080	[801e4ff5b121]
27081
27082	* config.h.in:
27083	added LIBSHADOW undef
27084	[8df588e9ee2b]
27085
27086	* configure.in:
27087	nwo set OS to be lowercase
27088	[561ebed833e4]
27089
270901994-05-28  Todd C. Miller  <Todd.Miller@courtesan.com>
27091
27092	* configure.in:
27093	now use SUDO_OSTYPE to set $OS
27094	[0e60aee23098]
27095
27096	* aclocal.m4:
27097	now use uname to determine os
27098	[99705e58d400]
27099
27100	* visudo.c:
27101	added prototypes & moved sig handler around
27102	[1f0bc8d23b51]
27103
27104	* sudo.h:
27105	added prototyppes
27106	[be3935a2b163]
27107
27108	* check.c, logging.c, sudo.c:
27109	added prototypes
27110	[2079b4605ab8]
27111
27112	* parse.c:
27113	added comment
27114	[a34d147d8399]
27115
27116	* config.h.in:
27117	nwo use _BSD_SIGNALS not _BSD_COMPAT
27118	[63663195f047]
27119
27120	* aixcrypt.exp:
27121	Initial revision
27122	[890aed08357e]
27123
27124	* Makefile.in:
27125	added aixcrypt.exp
27126	[1005a183105f]
27127
27128	* parse.lex, parse.yacc:
27129	moved config.h to top of includes
27130	[9569c49aa5f3]
27131
271321994-05-25  Todd C. Miller  <Todd.Miller@courtesan.com>
27133
27134	* find_path.c:
27135	now don't bitch if get EACCESS (treat like EPERM)
27136	[dbeffb638de4]
27137
27138	* visudo.c:
27139	added -v flag and usage()
27140	[4d44ed60ed75]
27141
27142	* version.h:
27143	fixed a typo
27144	[cf3f9347ae41]
27145
27146	* sudo.c:
27147	cast Argv to a const for exec added -v flag
27148	[d11b6efc0e45]
27149
27150	* logging.c:
27151	mail_argv is now a const
27152	[93bb5d90bb6f]
27153
27154	* configure.in:
27155	only set RETSIGTYPE if it is not set already
27156	[c97aac260b77]
27157
27158	* aclocal.m4:
27159	now defines & STDC_HEADERS for Irix
27160	[9c2b24ad1fc5]
27161
27162	* Makefile.in:
27163	added version.h
27164	[9f79e880229a]
27165
27166	* insults.h, sudo.h:
27167	prevent multiple inclusion
27168	[d68c8a9243ce]
27169
27170	* version.h:
27171	Initial revision
27172	[dbb39c5ef8d9]
27173
27174	* parse.lex, parse.yacc:
27175	now includes config.h
27176	[f117e036a56b]
27177
27178	* aclocal.m4:
27179	now talks about sunos 4.x
27180	[c9054aa92d4e]
27181
27182	* visudo.c:
27183	calls to Exit now pass an arg
27184	[a92104670551]
27185
271861994-05-24  Todd C. Miller  <Todd.Miller@courtesan.com>
27187
27188	* visudo.c:
27189	signal handler now takes an int argument
27190	[26f480c41523]
27191
27192	* CHANGES:
27193	updated
27194	[8c166a9d796b]
27195
27196	* sudo.c:
27197	ok, the getcwd() is now *really* done as the user
27198	[ab86cf85134a]
27199
27200	* configure.in:
27201	changed AIX STATIC_FLAGS
27202	[b9c0a3ba5663]
27203
27204	* aclocal.m4:
27205	solaris now defines SVR4
27206	[c3e20cac96f5]
27207
27208	* sudo.h:
27209	added cwd and fixed stupid core dump that makes no sense. sigh.
27210	[7a9755436dbb]
27211
27212	* sudo.c:
27213	moved getcwd stuff into load_globals
27214	[ec2bc90df1f3]
27215
27216	* parse.c:
27217	took out externs that are in suod.h
27218	[93c4b3f856d7]
27219
27220	* logging.c:
27221	moved cwd into load_globals
27222	[050de754d228]
27223
27224	* find_path.c:
27225	moved cwd stuff
27226	[22f3f3b4c34d]
27227
27228	* Makefile.in:
27229	fixed make distclean & realclean
27230	[c9964d89bcef]
27231
27232	* TODO:
27233	updated .,
27234	[e513581ef0e3]
27235
27236	* CHANGES:
27237	added solaris changes
27238	[505d930daf27]
27239
27240	* aclocal.m4:
27241	added solaris changes, need to rework
27242	[33f20fb16c49]
27243
27244	* configure.in:
27245	cleaned up for solaris
27246	[2fb8cfa05d0f]
27247
27248	* logging.c:
27249	reinstall reapchild signal handler for non-bsd signals
27250	[3d1dc545113d]
27251
27252	* sudo.h:
27253	took out getdtablesize() emulation for HP-UX (no longer needed)
27254	[1fc83d170f34]
27255
27256	* sudo.c:
27257	support for HAVE_SYSCONF
27258	[50ca2a7a224a]
27259
27260	* visudo.c:
27261	added <fcntl.h> for solaris & reorg'd the includes + minor prettying
27262	up /
27263	[0a570e826dd4]
27264
27265	* config.h.in:
27266	added HAVE_SYSCONF
27267	[2b9a9f3a4e94]
27268
272691994-05-16  Todd C. Miller  <Todd.Miller@courtesan.com>
27270
27271	* configure.in:
27272	now tells you what os you are running /.
27273	[06c6332a895b]
27274
27275	* aclocal.m4:
27276	took out extra ','
27277	[e8c75ce59f4a]
27278
272791994-05-14  Todd C. Miller  <Todd.Miller@courtesan.com>
27280
27281	* config.h.in:
27282	added _BSD_COMPAT
27283	[73c5099806c2]
27284
27285	* aclocal.m4:
27286	fixed for irix5
27287	[1047d1f6c0eb]
27288
27289	* CHANGES:
27290	updated
27291	[1bc4969fee96]
27292
27293	* sudo.c:
27294	uid seinitialized to -2
27295	[8d7812b1878b]
27296
272971994-04-28  Todd C. Miller  <Todd.Miller@courtesan.com>
27298
27299	* sudo.c:
27300	now removes LIBPATH for AIX
27301	[075392eb1dd9]
27302
273031994-03-13  Todd C. Miller  <Todd.Miller@courtesan.com>
27304
27305	* configure.in:
27306	now uses ufc if it finds it
27307	[ab6ce30a5958]
27308
273091994-03-12  Todd C. Miller  <Todd.Miller@courtesan.com>
27310
27311	* sudo.h:
27312	no longer define yyval & yylval since yacc does it
27313	[09d250aea50a]
27314
27315	* parse.lex:
27316	now defines yylval as extenr
27317	[8ec2b88952bc]
27318
27319	* configure.in:
27320	BROKEN_GETPASS is now an OPTION
27321	[3714f4bb8312]
27322
27323	* config.h.in:
27324	took out BROKEN_GETPASS
27325	[9c4f6aa50137]
27326
27327	* Makefile.in:
27328	took out big comment
27329	[4c13cff0e556]
27330
27331	* README:
27332	updated
27333	[b8b9902b620d]
27334
27335	* Makefile.in:
27336	took out README.beta
27337	[ed2cd861e82b]
27338
27339	* SUPPORTED:
27340	Initial revision
27341	[2fffc51e6606]
27342
27343	* INSTALL:
27344	now reference SUPPORTED .,
27345	[d112c30be1f2]
27346
27347	* config.h.in:
27348	now check for convex OR __convex__
27349	[a0e5701a3069]
27350
27351	* aclocal.m4:
27352	now check for convex or __convex__
27353	[5dae2bfbe3bc]
27354
27355	* Makefile.in:
27356	added dist target
27357	[400a54de57db]
27358
27359	* aclocal.m4:
27360	use __convex__
27361	[58a19470ed0b]
27362
27363	* find_path.c:
27364	now use _S_* stat stuff to be ansi-like
27365	[28cce560e048]
27366
27367	* INSTALL:
27368	updated for configure directions
27369	[a034ccc7c30a]
27370
27371	* Makefile.in:
27372	distclean now removes config.h and pathnames.h
27373	[300f2349b4ab]
27374
27375	* CHANGES:
27376	updated
27377	[646f7e9430c1]
27378
27379	* TODO:
27380	fixed typoe
27381	[70fd6361b2bc]
27382
27383	* visudo.c:
27384	updated version
27385	[cf13d87d789f]
27386
27387	* Makefile.in:
27388	updated version
27389	[8c5dacc27a7a]
27390
27391	* config.h.in, pathnames.h.in:
27392	added copyright header
27393	[747ce3d3d6b7]
27394
27395	* check.c, find_path.c, insults.h, logging.c, parse.c, parse.lex,
27396	parse.yacc, sudo.c, sudo.h:
27397	udpated version
27398	[4751c39bad18]
27399
27400	* visudo.c:
27401	udpated to use configure + pathnames.h
27402	[d45dff76a1cd]
27403
27404	* aclocal.m4:
27405	updated
27406	[f05a367a55be]
27407
27408	* Makefile.in, config.h.in, configure.in:
27409	updated
27410	[524778598879]
27411
27412	* sudo.h:
27413	now works with configure
27414	[83fc40e533f4]
27415
27416	* check.c, find_path.c, getpass.c, logging.c, parse.c, sudo.c:
27417	updated to work with configure + pathnames.h
27418	[cb67fa6ab52d]
27419
27420	* Makefile.in:
27421	added LEXLIB
27422	[f43cad4ab0a2]
27423
274241994-03-10  Todd C. Miller  <Todd.Miller@courtesan.com>
27425
27426	* COPYING:
27427	updated gnu general licence to versio 2
27428	[2b0b56112ddc]
27429
27430	* config.h.in, pathnames.h.in:
27431	Initial revision
27432	[4b586f39ec2d]
27433
27434	* sudo.h:
27435	changed to work with configure
27436	[13f3506ddf16]
27437
274381994-03-09  Todd C. Miller  <Todd.Miller@courtesan.com>
27439
27440	* Makefile.in, aclocal.m4, configure.in:
27441	Initial revision
27442	[a8636ae77371]
27443
27444	* visudo.c:
27445	now uses defines used by configure
27446	[de438d118993]
27447
274481994-03-01  Todd C. Miller  <Todd.Miller@courtesan.com>
27449
27450	* find_path.c:
27451	sudo won't bitch about EPERM now, for real
27452	[ce26d9ef7e3f]
27453
274541994-02-28  Todd C. Miller  <Todd.Miller@courtesan.com>
27455
27456	* logging.c:
27457	renamed exec_argv to eliminate a libc name clash with ksros
27458	[bcb4350d8411]
27459
27460	* CHANGES:
27461	corrected
27462	[dae68d422efd]
27463
27464	* logging.c, sudo.c, sudo.h:
27465	execve -> execv
27466	[40cc2c4bdb15]
27467
27468	* TODO:
27469	upated
27470	[9275a8b8fc45]
27471
27472	* PORTING:
27473	added 2 mroe items
27474	[6cbb5c56993c]
27475
27476	* CHANGES:
27477	updated
27478	[73f34f8e571a]
27479
27480	* sudo.h:
27481	added UMASK and mode_t declaration
27482	[7c2015e1d171]
27483
27484	* sudo.c:
27485	added UMASK
27486	[d37be7523680]
27487
27488	* logging.c:
27489	now opens log file with mode 077
27490	[0825cc3ee841]
27491
27492	* check.c:
27493	saved current umask ans restores it
27494	[659c1aaae8e8]
27495
27496	* sudo.h:
27497	added MAXLOGFILELEN
27498	[34331c7dee90]
27499
27500	* logging.c:
27501	split long log lines. FOr syslog, split into multiple entries, for
27502	a log file, indent the extra for readability
27503	[72c9e4cdba6e]
27504
275051994-02-27  Todd C. Miller  <Todd.Miller@courtesan.com>
27506
27507	* CHANGES:
27508	added changes
27509	[81196833673d]
27510
27511	* sudo.h:
27512	MAXLOGLEN & MAXSYSLOGLEN are now different (as they should be)
27513	[1aa69e903840]
27514
275151994-02-25  Todd C. Miller  <Todd.Miller@courtesan.com>
27516
27517	* TODO:
27518	added input from Brett M Hogden <hogden@rge.com>
27519	[80f01fc88ce9]
27520
275211994-02-16  Todd C. Miller  <Todd.Miller@courtesan.com>
27522
27523	* sudo.c:
27524	added rmenv() to remove stuff from environ. can now uses execvp()
27525	OR execve() becuase of this.
27526	[e7fc2535bd67]
27527
27528	* logging.c:
27529	now uses execvp() OR execve()
27530	[56391aa1f99d]
27531
27532	* sudo.h:
27533	added USE_EXECVE
27534	[f21f38050b95]
27535
27536	* sudo.h:
27537	added environ
27538	[6b805e23c6f6]
27539
27540	* find_path.c:
27541	now ignore EPERM
27542	[c8fd7117a1d7]
27543
27544	* sudo.h:
27545	moved some func decls out of sudo.h and into sudo.c as statics /.
27546	[5f555c267d27]
27547
27548	* CHANGES:
27549	updated
27550	[431f478af320]
27551
27552	* sudo.h:
27553	took out Envp
27554	[6f722be7793d]
27555
275561994-02-14  Todd C. Miller  <Todd.Miller@courtesan.com>
27557
27558	* BUGS:
27559	Initial revision
27560	[4a8ecf0da95c]
27561
275621994-02-10  Todd C. Miller  <Todd.Miller@courtesan.com>
27563
27564	* CHANGES:
27565	added SECURE_PATH
27566	[1c72cb222609]
27567
27568	* sudo.c, sudo.h:
27569	added SECURE_PATH
27570	[5bf5357a63c5]
27571
27572	* sudo.h:
27573	added SECURE_PATH
27574	[3976a74405ac]
27575
27576	* INSTALL:
27577	added sample.sudoers note
27578	[1b395d29aaeb]
27579
27580	* sudoers:
27581	Initial revision
27582	[485888d07477]
27583
275841994-02-09  Todd C. Miller  <Todd.Miller@courtesan.com>
27585
27586	* find_path.c:
27587	fixed typo
27588	[bfc3cc4d41ca]
27589
27590	* PORTING:
27591	took out SAVED_UID garbage
27592	[b7c2d3469661] [SUDO_1_3_0]
27593
27594	* INSTALL:
27595	mentioned HAL
27596	[253d6695df90]
27597
27598	* sudo.h:
27599	added HAL line
27600	[29ec1a4ac6de]
27601
27602	* insults.h:
27603	added HAL insults
27604	[7d7c96d77c74]
27605
27606	* TODO:
27607	updated
27608	[aa2ed9790586]
27609
27610	* logging.c:
27611	more verbose error if mailer not found
27612	[fca47fd00cb6]
27613
27614	* check.c:
27615	now do getpwent as root for soem shadow password systems (bsdi)
27616	[e0339e110d46]
27617
276181994-02-08  Todd C. Miller  <Todd.Miller@courtesan.com>
27619
27620	* sudo.h:
27621	took out SAVED_UID garbade
27622	[fcb0e81dcdb5]
27623
27624	* sudo.c:
27625	took out SAVED_UID garbage since it don't work
27626	[507e9513e9c2]
27627
276281994-02-06  Todd C. Miller  <Todd.Miller@courtesan.com>
27629
27630	* README:
27631	updated
27632	[d2b6b253dae5]
27633
27634	* insults.h:
27635	added a missing space :-)
27636	[8940ea991f87]
27637
27638	* sudo.c, sudo.h:
27639	took out multimax cruft
27640	[c2606b365181]
27641
27642	* INSTALL:
27643	minor update
27644	[05fb6ee73131]
27645
27646	* PORTING:
27647	finished
27648	[c4ac47c84dc5]
27649
27650	* sudo.c:
27651	fixed a typo + indentation
27652	[7eab40aae8fa]
27653
276541994-02-05  Todd C. Miller  <Todd.Miller@courtesan.com>
27655
27656	* sudo.h:
27657	took outumoved some defines to the config file ,. ,.
27658	[defff05beb52]
27659
27660	* PORTING:
27661	Initial revision
27662	[c803e9127959]
27663
27664	* TODO:
27665	did #6
27666	[c6fa1c946c31]
27667
27668	* sudo.h:
27669	added HAS_SAVED_UID
27670	[6a88a39c0a07]
27671
27672	* sudo.c:
27673	put back AIX cruft
27674	[a24d2507ddd4]
27675
276761994-02-03  Todd C. Miller  <Todd.Miller@courtesan.com>
27677
27678	* sudo.c:
27679	aix changes
27680	[1663915f754a]
27681
276821994-02-02  Todd C. Miller  <Todd.Miller@courtesan.com>
27683
27684	* CHANGES:
27685	updated
27686	[a8cc73747cae]
27687
27688	* check.c, logging.c, parse.c, sudo.c, sudo.h:
27689	now is only root when abs necesary
27690	[3c9d12c5cdfe]
27691
27692	* check.c:
27693	added missing %s\n
27694	[609320b72d89]
27695
276961994-01-31  Todd C. Miller  <Todd.Miller@courtesan.com>
27697
27698	* install-sh:
27699	Initial revision
27700	[b5bba140a175]
27701
27702	* TODO:
27703	updated
27704	[c9d2eba602af]
27705
27706	* CHANGES:
27707	updated
27708	[932f1fc3bb14]
27709
27710	* sudo.c:
27711	now removed _RLD_* for alphas
27712	[54a36e648158]
27713
27714	* INSTALL:
27715	updated for new config scheme
27716	[61c8ae800444]
27717
27718	* find_path.c:
27719	more verbose eror messages
27720	[b4fd123db42d]
27721
277221994-01-27  Todd C. Miller  <Todd.Miller@courtesan.com>
27723
27724	* TODO:
27725	now have solaris
27726	[371002fbf266]
27727
27728	* sudo.h:
27729	define __svr4__ for SOLARIS
27730	[0b5cf5ed936d]
27731
27732	* check.c:
27733	added svr4 junk for shadow pws for solaris 2.x
27734	[91ed58f21618]
27735
27736	* check.c, sudo.c:
27737	took out setuid(0) and setreuid(udi) garbage. Its not needed since
27738	we start out setuid with the correct perms.
27739	[07689e782b0b]
27740
27741	* check.c, sudo.c, sudo.h:
27742	now use setreuid()
27743	[7d64d685d78e]
27744
277451994-01-26  Todd C. Miller  <Todd.Miller@courtesan.com>
27746
27747	* sudo.man:
27748	revised AUTHORS secrtion & added ENV_EDITOR stuff to VARIABLES
27749	sectoin
27750	[b26967b1e19b]
27751
27752	* visudo.c:
27753	now uses ENV_EDITOR if you want to use the EDITOR envar
27754	[a4f8fcb9bd1d]
27755
27756	* sudo.h:
27757	now uses ENV_EDITOR if you want to use the EDITOR envar >> .
27758	[028cc55c4328]
27759
277601993-12-07  Todd C. Miller  <Todd.Miller@courtesan.com>
27761
27762	* INSTALL:
27763	rewrote most of this
27764	[a6750923f9c9]
27765
27766	* README:
27767	minor update + spell fix
27768	[a411717a7249]
27769
27770	* sudo.h:
27771	added all options that are in the Makefile
27772	[6db3b3b841b3]
27773
27774	* getpass.c:
27775	now use USE_TERMIO #define for sgi & hpux
27776	[b91f89ae6be1]
27777
27778	* TODO:
27779	todo: posix sigs
27780	[4548a56eb2ef]
27781
277821993-12-06  Todd C. Miller  <Todd.Miller@courtesan.com>
27783
27784	* check.c, find_path.c:
27785	always include strings.h
27786	[1fc20bda92c0]
27787
27788	* visudo.c:
27789	added STATICEDITOR
27790	[0596f820716e]
27791
27792	* sudo.h:
27793	sgi has vi in /usr/bin too
27794	[94203b62bfd9]
27795
27796	* sudo.man:
27797	added VISUAL
27798	[87c2844c4cac]
27799
278001993-12-03  Todd C. Miller  <Todd.Miller@courtesan.com>
27801
27802	* sudo.h:
27803	sue /usr/bin/vi on some systems
27804	[e3ad9190f35e]
27805
27806	* sudo.c:
27807	fixed warning (include strings.h)
27808	[0b896de4d8a0]
27809
27810	* sudo.man:
27811	added John_Rouillard@dl5000.bc.edu's changes (new features)
27812	[f41b4205a8cf]
27813
27814	* CHANGES:
27815	changes from John_Rouillard@dl5000.bc.edu
27816	[6bdef8e948d5]
27817
27818	* visudo.c:
27819	added EDITOR envar
27820	[5c4bf716de21]
27821
27822	* check.c, find_path.c, parse.c, sudo.c:
27823	added patches from John_Rouillard directory spec
27824	uses EDITOR
27825	[f62a435f8c41]
27826
278271993-12-02  Todd C. Miller  <Todd.Miller@courtesan.com>
27828
27829	* getpass.c:
27830	added flush for hpux
27831	[07cfdd6a7b55]
27832
278331993-11-30  Todd C. Miller  <Todd.Miller@courtesan.com>
27834
27835	* sudo.c:
27836	no longer assume malloc returns a char *
27837	[7480bd2756f3]
27838
27839	* sudo.c:
27840	alpha change to remove LD_-like thing fixed SHLIB_PATH stuff -- now
27841	gets removed correctly
27842	[8587166c6ac8]
27843
27844	* sudo.h:
27845	added STD_HEADERS macro
27846	[480f5a9a516c]
27847
27848	* sudo.c:
27849	now uses STD_HEADERS macor for ansi
27850	[c5018806fd59]
27851
27852	* find_path.c:
27853	now uses STD_HEADERS macro
27854	[ad821e0788ea]
27855
27856	* check.c:
27857	niceties for C compiler bitches -- no real change
27858	[0fc0b1a5fb64]
27859
278601993-11-29  Todd C. Miller  <Todd.Miller@courtesan.com>
27861
27862	* visudo.c:
27863	now doesn't fclose a file never opened.
27864	[ee888ec9427d]
27865
278661993-11-28  Todd C. Miller  <Todd.Miller@courtesan.com>
27867
27868	* sudo.man:
27869	added visudo line
27870	[698d51c66407]
27871
27872	* sudo.man:
27873	added error stuff added me in there...
27874	[d202fd34b906]
27875
27876	* CHANGES:
27877	noted insults
27878	[998a22c2230c]
27879
27880	* INSTALL:
27881	added blurb about reading stuff
27882	[e71db100798f]
27883
27884	* sudo.h:
27885	added insults
27886	[c110431cec56]
27887
27888	* insults.h:
27889	corrected somments and removed newlines
27890	[493706fd488c]
27891
27892	* check.c:
27893	now uses insults
27894	[6d23cf06a0ef]
27895
27896	* insults.h:
27897	Initial revision
27898	[83153c26b4a3]
27899
27900	* INSTALL:
27901	added dec syslog note
27902	[555437273237]
27903
27904	* sample.sudoers:
27905	added real stuff in there
27906	[53442a7fba78]
27907
27908	* TODO:
27909	added a todo
27910	[c630472bd4dc]
27911
27912	* TODO:
27913	added one
27914	[806464453284]
27915
279161993-11-27  Todd C. Miller  <Todd.Miller@courtesan.com>
27917
27918	* sample.sudoers:
27919	Initial revision
27920	[7db0a9f1ca8f]
27921
27922	* sudo.man:
27923	updated with changes
27924	[d9bf254c6c08]
27925
27926	* sudo.man:
27927	Initial revision
27928	[dd6f11174ac6]
27929
27930	* indent.pro:
27931	Initial revision
27932	[dbfbb494fad9]
27933
27934	* CHANGES, COPYING, INSTALL, README, TODO:
27935	Initial revision
27936	[6d98f489a079]
27937
27938	* visudo.c:
27939	updated version number and took out jeff's old addr since it is no
27940	good
27941	[ee47c24818cb]
27942
27943	* check.c, find_path.c, logging.c, parse.c, parse.lex, parse.yacc,
27944	sudo.c, sudo.h:
27945	updated version number and took out jeff's email (since it is
27946	invalid)
27947	[54616458a52e]
27948
279491993-10-28  Todd C. Miller  <Todd.Miller@courtesan.com>
27950
27951	* check.c:
27952	added fflush()
27953	[145c881f4fb4]
27954
279551993-10-23  Todd C. Miller  <Todd.Miller@courtesan.com>
27956
27957	* find_path.c:
27958	now return NULL instead pfof exiting for nopnn-fatal errors
27959	[8bc74f8cb1ae]
27960
279611993-10-21  Todd C. Miller  <Todd.Miller@courtesan.com>
27962
27963	* check.c:
27964	new banner
27965	[5387ab2af516]
27966
27967	* parse.lex:
27968	now sudo.h gets included first
27969	[2acb01c18e18]
27970
279711993-10-18  Todd C. Miller  <Todd.Miller@courtesan.com>
27972
27973	* parse.lex:
27974	now can use flex
27975	[164d3839adf0]
27976
27977	* sudo.h:
27978	linux patch
27979	[f1b6b1b1a2ca]
27980
27981	* sudo.c:
27982	hpux 9 fix, removes SHLIB_PATH linux patch
27983	[67611dc1737f]
27984
27985	* check.c:
27986	linux diff
27987	[c24536682397]
27988
279891993-10-15  Todd C. Miller  <Todd.Miller@courtesan.com>
27990
27991	* find_path.c:
27992	stat now ignores EINVAL
27993	[c7761a5dc642]
27994
279951993-10-06  Todd C. Miller  <Todd.Miller@courtesan.com>
27996
27997	* find_path.c, sudo.c:
27998	now declare strdup as extern
27999	[6b7d6f8784b5]
28000
280011993-10-04  Todd C. Miller  <Todd.Miller@courtesan.com>
28002
28003	* visudo.c:
28004	reformatted with indent + by hand
28005	[9d43084e4990]
28006
28007	* check.c, find_path.c, getpass.c, logging.c, parse.c, sudo.c, sudo.h:
28008	used indent to "fix" coding style
28009	[489ffacbdc70]
28010
28011	* find_path.c:
28012	now checks '.' or '.' or '' in PATH -- but does it LAST should maybe
28013	move the code that does this into the loop body. makes it messier
28014	tho. hmmm.
28015	[c4d22b48da9a]
28016
280171993-09-08  Todd C. Miller  <Todd.Miller@courtesan.com>
28018
28019	* find_path.c:
28020	redid the fix for non-executable files in an easier to read way plus
28021	some minor aethetic changes
28022	[84fe337f1426]
28023
28024	* find_path.c:
28025	fixed bug with non-executable tings of same name in path introduced
28026	by checkig errno after stat(2).
28027	[c2a812cfcbc1]
28028
280291993-09-05  Todd C. Miller  <Todd.Miller@courtesan.com>
28030
28031	* sudo.c:
28032	fixed off by one error
28033	[fabb7cee0041]
28034
28035	* find_path.c:
28036	now handles decending below '/' correctly
28037	[5d2ddfc0b220]
28038
28039	* sudo.c:
28040	now actually builds Envp instead of munging envp
28041	[bdc4b08f6898]
28042
280431993-09-04  Todd C. Miller  <Todd.Miller@courtesan.com>
28044
28045	* parse.yacc:
28046	now includes sys/param.h
28047	[efbb494ab4de]
28048
28049	* visudo.c:
28050	now includes sys/param.h
28051	[ad6c91d59958]
28052
28053	* sudo.h:
28054	fixed ifndef -> ifdef
28055	[7aebe822d863]
28056
28057	* qualify.c:
28058	make more like find_path.c
28059	[853b2dab2e03]
28060
28061	* find_path.c:
28062	rewritten by millert
28063	[c6a043cc11b3]
28064
28065	* sudo.h:
28066	fixed MAXCOMMANDLENGTH now uses USE_CWD and NEED_STRDUP added info
28067	about new defines in the comment
28068	[39ffefce3aec]
28069
28070	* logging.c:
28071	now uses USE_CWD
28072	[fa0f3b118bb3]
28073
28074	* sudo.h:
28075	added delc for clean_envp() and Envp
28076	[a12034e300c2]
28077
28078	* sudo.c:
28079	now rips LD_* env vars out of envp and passed sanitized Envp to exec
28080	[d201a218e056]
28081
28082	* logging.c:
28083	now uses execve()
28084	[f3e01032cd33]
28085
28086	* find_path.c:
28087	ENOTDIR is ok now too (in case part of the path is bogus)
28088	[b5cbbb201bb5]
28089
28090	* qualify.c:
28091	now works correctly (ttaltotal rewrite)
28092	[0c25d64a5c68]
28093
28094	* parse.lex:
28095	now includes sys/param.h didn't match trailing / -- fix from
28096	rouilj@cs.umb.edu
28097	[b6363ba110af]
28098
280991993-06-11  Todd C. Miller  <Todd.Miller@courtesan.com>
28100
28101	* sudo.c:
28102	moved around the #ifndef _AIX
28103	[7d4330950c20]
28104
28105	* check.c, logging.c, parse.c:
28106	Initial revision
28107	[c101e9572d7f]
28108
281091993-03-20  Todd C. Miller  <Todd.Miller@courtesan.com>
28110
28111	* qualify.c:
28112	Initial revision
28113	[5a5f21d0e0bf]
28114
281151993-03-13  Todd C. Miller  <Todd.Miller@courtesan.com>
28116
28117	* find_path.c:
28118	now works if you do sudo bin/test
28119	[07835120ce43]
28120
28121	* find_path.c:
28122	works
28123	[c3da8b5efa20]
28124
281251993-03-02  Todd C. Miller  <Todd.Miller@courtesan.com>
28126
28127	* sudo.h:
28128	Initial revision
28129	[28a1caa38b72]
28130
28131	* visudo.c:
28132	Initial revision
28133	[0e5cd7c3cdbe]
28134
28135	* parse.lex, parse.yacc:
28136	Initial revision
28137	[5f2d0cccb06b]
28138
281391993-02-16  Todd C. Miller  <Todd.Miller@courtesan.com>
28140
28141	* sudo.c:
28142	took out errno.h
28143	[7466431a2655]
28144
28145	* sudo.c:
28146	now spews error if exec fails and exits with -1
28147	[e5c41ea725c1]
28148
28149	* sudo.c:
28150	Initial revision
28151	[8aeabe39a0c2]
28152
28153	* find_path.c:
28154	now only execs files with (an) executable bit set.
28155	[0a451f9c0e58]
28156
28157	* find_path.c:
28158	Initial revision
28159	[02a534891a35]
28160
281611993-02-15  Todd C. Miller  <Todd.Miller@courtesan.com>
28162
28163	* getpass.c:
28164	added nice comment
28165	[ea8b2aaa9389]
28166
28167	* getpass.c:
28168	now works on sgi's
28169	[bf2b7c6d0960]
28170
28171	* getpass.c:
28172	Initial revision
28173	[9f4de251c1b5]
28174
28175