Commit Graph

296 Commits

Author SHA1 Message Date
Todd C. Miller
10c3bb62c4 Make local includes consistent; use double quotes for local includes
except for generated ones where we use angle brackets.
Also g/c unused compat.h.
2010-09-07 16:45:19 -04:00
Todd C. Miller
8ec596c7d9 When matching the runas user and runas group (-u and -g command
line options), keep track of runas group and runas user matches
separately.  Only return a positive match if we have a match for
both runas user and runas group (if specified).
2010-09-06 07:56:15 -04:00
Todd C. Miller
df8ec6fc25 Add support for multiple URI lines by joining the contents and passing
the result to ldap_initialize.
2010-09-04 20:43:51 -04:00
Todd C. Miller
27f6558df9 Do not return -1 on error from the display functions; the caller
expects a return value >= 0.
2010-09-04 08:42:08 -04:00
Todd C. Miller
e7d56e16e2 Do not set both MODE_EDIT and MODE_RUN 2010-09-04 08:41:42 -04:00
Todd C. Miller
c31210d663 Add missing definition of timedir 2010-08-30 09:47:52 -04:00
Todd C. Miller
399381de99 Add #include of sys/types.h for .c files that include missing.h to
be sure that size_t and ssize_t are defined.
2010-08-30 09:14:41 -04:00
Todd C. Miller
7213f72054 Install sudoers file from the build dir not hte src dir. 2010-08-30 09:06:25 -04:00
Todd C. Miller
94de54b19d If runas_pw changes, reset the stashed runas aux group vector.
Otherwise, if runas_default is set in a per-command Defaults statement,
the command runs with root's aux group vector (i.e. the one that
was used when locating the command).
2010-08-26 11:40:04 -04:00
Todd C. Miller
209a210511 Add target to generate sudoers file
Remove generated sudoers file as part of distclean
2010-08-26 11:06:12 -04:00
Todd C. Miller
88f9fea400 g/c unused auth_pw extern definition 2010-08-21 10:02:50 -04:00
Todd C. Miller
256ee25ab5 Move get_auth() into check.c where it is actually used. 2010-08-21 08:48:35 -04:00
Todd C. Miller
a2694e9e26 Plug memory leak 2010-08-20 14:24:07 -04:00
Todd C. Miller
3d48cae18c Set dupcheck to TRUE when setting new HOME value if !env_reset but
always_set_home is true.  Prevents a duplicate HOME in the environment
(old value plus the new one) introduced in f421f8827340.
2010-08-18 15:26:26 -04:00
Todd C. Miller
598341d366 Substitute sysconfdir in the installed sudoers file to get the
correct path for sudoers.d.
2010-08-18 08:09:10 -04:00
Todd C. Miller
f454727bb8 Merge compat.h and missing.h into missing.h 2010-08-16 14:05:44 -04:00
Todd C. Miller
6ce5c4cd97 If the user hits ^C while a password is being read, error out before
reading any further passwords in the pam conversation function.
Otherwise, if multiple PAM auth methods are required, the user will
have to hit ^C for each one.
2010-08-14 10:18:49 -04:00
Todd C. Miller
151a2cab56 Update comment 2010-08-12 11:55:56 -04:00
Todd C. Miller
129cf8d992 sudoers.h includes sudo_plugin.h for us 2010-08-10 16:36:54 -04:00
Todd C. Miller
6bcd9efc0c Use gettimeofday() directly instead of via the gettime() wrapper. 2010-08-10 13:50:40 -04:00
Todd C. Miller
8dd8aa000e Remove some obsolete configure tests, ancient Unix systems are no
longer supported.
2010-08-10 13:44:05 -04:00
Todd C. Miller
d2cc4740c1 For non-standalone auth methods, stop reading the password if the
user enters ^C at the prompt.
2010-08-06 17:16:57 -04:00
Todd C. Miller
96cb890d53 No need to look up shadow password unless we are doing password-style
authentication.  This moves the shadow password lookup to the auth
functions that need it.
2010-08-06 13:55:33 -04:00
Todd C. Miller
cb1848fab1 Retain final passwd/group refs until the policy close() function.
Note that this doesn't get called in all cases so putting
this in a cleanup function is probably better.
2010-08-06 13:54:35 -04:00
Todd C. Miller
9f27401359 Fix mismerge 2010-08-06 13:53:17 -04:00
Todd C. Miller
640f79e13a When removing/resetting the timestamp file ignore the tty ticket contents. 2010-08-06 12:07:21 -04:00
Todd C. Miller
26526e667f delref sudo_user.pw, runas_pw and runas_gr immediately before we return. 2010-08-06 12:07:03 -04:00
Todd C. Miller
0186018d3d Reference count cached passwd and group structs. The cache holds
one reference itself and another is added by sudo_getgr{gid,nam}
and sudo_getpw{uid,nam}.  The final ref on the runas and user passwd
and group structs are persistent for now.
2010-08-04 09:58:50 -04:00
Todd C. Miller
ec57221017 Do not produce a warning for "sudo -k" if the ticket file does not
exist.
2010-08-03 15:16:57 -04:00
Todd C. Miller
65eec19bdc Instead of caching struct passwd and struct group in the red-black
tree, store a struct cache_item which includes both the key and
datum.  This allows us to user the actual name that was looked up
as the key instead of the contents of struct passwd or struct group.
This matters because the name in the database may not match what
we looked up, due either to case folding or truncation (historically
at 8 characters).  Also mark the disabled calls to sudo_freepwcache()
and sudo_freegrcache() as broken since we use cached data for things
like set_perms() and the logging functions.  Fixing this would
require making a copy of the structs for user and runas or adding
a reference count (better).
2010-08-03 15:15:45 -04:00
Todd C. Miller
4e74b389c2 Fix path to mkinstalldirs 2010-08-03 15:10:56 -04:00
Todd C. Miller
420db23714 Quiet gcc warnings on glibc systems that use warn_unused_result for
write(2) and others.
2010-08-03 11:17:56 -04:00
Todd C. Miller
1229406720 Add %option noinput 2010-08-02 18:17:51 -04:00
Todd C. Miller
6d0395ee68 Add support for Ubuntu admin flag file and enable it when building
Ubuntu packages.
2010-07-28 16:34:11 -04:00
Todd C. Miller
76ce69057e Add commented out SuSE-like targetpw settings 2010-07-28 16:28:14 -04:00
Todd C. Miller
5d06ad3b6b Some getline() implementations (FreeBSD 8.0) do not ignore the
length pointer when the line pointer is NULL as they should.
2010-07-27 10:48:35 -04:00
Todd C. Miller
c33bf93509 Don't need to check for *cp being non-zero, isdigit() will do that. 2010-07-27 10:12:24 -04:00
Todd C. Miller
18d25e96f0 Add setlocale() so the command line arguments that use floating
point work in different locales.  Since sudo now logs the timing
data in the C locale we must Parse the seconds in the timing file
manually instead of using strtod().  Furthermore, sudo 1.7.3 logged
the number of seconds with the user's locale so if the decimal point
is not '.' try using the locale-specific version.
2010-07-27 09:49:54 -04:00
Todd C. Miller
a3e4db1244 Use errorx() not error() for thingsthat don't set errno. 2010-07-27 07:50:43 -04:00
Todd C. Miller
c59ad3596c Create timedir as part of install-dirs target. 2010-07-26 14:26:54 -04:00
Todd C. Miller
4168fcf2dd sudo_pwdup() was not expanding an empty pw_shell to _PATH_BSHELL 2010-07-26 12:34:42 -04:00
Todd C. Miller
a346ba8df5 Add commented out Defaults entry for log_output 2010-07-25 13:12:49 -04:00
Todd C. Miller
aeac8822b4 Add PACKAGE_TARNAME for docdir 2010-07-22 07:58:02 -04:00
Todd C. Miller
092a6935e1 Install binary files with -b~ to make a backup.
Fixes "text file busy" error on HP-UX during install.
2010-07-23 11:23:53 -04:00
Todd C. Miller
c016ecf006 Install sudoers2ldif in the doc dir 2010-07-23 09:12:03 -04:00
Todd C. Miller
5183d6e594 Include time.h for struct timeval 2010-07-21 16:01:16 -04:00
Todd C. Miller
f45f57dca5 Add commented out line to add HOME to env_keep and add a warning
to the note about the HOME change in UPGRADE.
2010-07-21 09:51:43 -04:00
Todd C. Miller
d8acd34031 Add LINE_MAX define for those without it. 2010-07-20 15:34:30 -04:00
Todd C. Miller
2675524c32 The tty_tickets option is now on by default. 2010-07-20 13:20:53 -04:00
Todd C. Miller
ee7221f1fe Reset HOME when env_reset is enabled unless it is in env_keep 2010-07-19 15:35:47 -04:00