Todd C. Miller
4abd2a6cf4
Merge in Solaris privilege support by Darren Moffat and John Zolnowsky
2012-07-26 13:49:21 -04:00
Todd C. Miller
f8f0021710
Add configure check for building PIE executables instead of doing
...
it in mkpkg.
2012-07-02 10:12:41 -04:00
Todd C. Miller
faf89fc792
It is safe to read in sudo.conf before calling user_info().
2012-06-27 15:17:18 -04:00
Todd C. Miller
9497df293a
Don't run regress tests or sudoers sanity check (using the newly-built
...
visudo) when cross compiling. Bug #560
2012-06-20 13:38:17 -04:00
Todd C. Miller
b0475b59dc
Remove extraneous backslash
2012-06-20 12:32:51 -04:00
Todd C. Miller
85c6078659
Simplify "sudo -s" argv rewriting.
2012-06-14 16:17:15 -04:00
Todd C. Miller
47abbb90a2
Don't use a map file for sudo_noexec.so since Solaris ld doesn't
...
allow '*' in the global section. The libtool export flag is now
added to LT_LDFLAGS instead of commenting/uncommenting lines.
2012-06-14 11:35:02 -04:00
Todd C. Miller
6f6b0dec6c
Use gcc's visibility attribute to specify when symbols are visible
...
or hidden, if available. If not available, use an ELF version
script if it is supported. If all else fails, fall back to using
libtool's -export-symbols.
2012-06-13 14:01:16 -04:00
Todd C. Miller
a8e0687ca9
Install shared objects with mode 0644 except on HP-UX which needs
...
the executable bit set.
2012-06-11 10:45:34 -04:00
Todd C. Miller
c131cb36f5
Make installed file modes consistent with the file modes in the
...
sudo package.
2012-06-11 10:17:19 -04:00
Todd C. Miller
61a3ed1c10
Install sudoedit and the sudoedit manual as symbolic links, not
...
hard links and package them as such.
2012-05-31 15:50:16 -04:00
Todd C. Miller
af9492d117
Provide unhooked version of getenv() and use it when looking up
...
DISPLAY and SUDO_ASKPASS in the environment.
2012-05-27 12:48:55 -04:00
Todd C. Miller
466a126c69
The pointer to the siginfo_t struct in a signal handler may be NULL.
2012-05-11 07:57:01 -04:00
Todd C. Miller
4455139d54
sync with translationproject.org
2012-05-08 10:57:07 -04:00
Todd C. Miller
64178f8b67
sync with translationproject.org
2012-05-03 15:46:39 -04:00
Todd C. Miller
4b8982ebde
regen
2012-04-24 13:42:28 -04:00
Todd C. Miller
0fbd5e1bc2
Fix the setutxent and endutxent compatibility defines (this time
...
correctly) when only setutent and endutent are available.
2012-04-23 20:04:26 -04:00
Todd C. Miller
23b7a1fa5c
Call the policy's init_session() function before we fork the child.
...
That way, the session is created and destroyed in the same process,
which is needed by some modules, such as pam_mount.
2012-04-23 16:38:16 -04:00
Todd C. Miller
ce9863358a
Add missing initialization of a sigaction structure when I/O logging.
...
Fixes a potential problem when suspending the command.
2012-04-23 14:56:31 -04:00
Todd C. Miller
3491dd8189
sync with translationproject.org
2012-04-23 08:12:36 -04:00
Todd C. Miller
886ee33603
Move struct passwd pointer into struct command details.
2012-04-21 13:37:46 -04:00
Todd C. Miller
f490ff2288
Do not pass libtool the -static-libtool-libs option when building
...
sudo and sesh. Otherwise, libtool may prefer a static version of
an installed library over a dynamic one when linking.
2012-04-20 09:41:18 -04:00
Todd C. Miller
4c36371ee1
Add German translation for sudo
...
Add Croatian translation for sudoers
2012-04-19 11:54:15 -04:00
Todd C. Miller
0ed6753914
Sort xgettext output by file name.
2012-04-16 12:55:11 -04:00
Todd C. Miller
cf3fce6651
Use AC_HEADER_MAJOR to determine where major/minor are defined.
2012-04-16 10:25:49 -04:00
Todd C. Miller
dbcd7222a1
Include sys/mkdev.h if present instead of sys/sysmacros.h for
...
minor(). This is needed on Solaris (at least) where the makedev
macros in sysmacros.h are obsolete and library functions should be
used instead.
2012-04-16 10:18:32 -04:00
Todd C. Miller
21eddb5d60
Add back buf and tty variables for _ttyname() case that were
...
inadvertantly removed.
2012-04-15 13:10:26 -04:00
Todd C. Miller
8db20e6ae9
remove some XXX
2012-04-13 16:16:10 -04:00
Todd C. Miller
48d3b5aad1
When looking for a device match, do a breadth-first search instead
...
of depth-first. We already special case /dev/pts/ so chances are
good that if it is not a pseudo-tty it is in the base of /dev/.
Also avoid a stat(2) when possible if struct dirent has d_type.
2012-04-13 16:00:32 -04:00
Todd C. Miller
5f969cc12a
Pass pid, ppid, sid, pgid and tcpgid to plugin in user_info list.
2012-04-13 15:18:40 -04:00
Todd C. Miller
89b90fa4cd
sync with translationproject.org
2012-04-13 14:17:26 -04:00
Todd C. Miller
8f8ede3d25
New Croatian and Galician translations from translationproject.org
2012-04-13 14:15:22 -04:00
Todd C. Miller
08ad578b7c
Add depth-first traversal of /dev/ for the /proc case when not /dev/pts/N
2012-04-13 12:54:03 -04:00
Todd C. Miller
83fc02bc97
Rototill code to determine the tty. For Linux, we now look up the
...
tty device in /proc/pid/stat instead of trying to open /proc/pid/fd/[0-2].
The sudo_ttyname_dev() function maps the given device number to a
string. On BSD, we can use devname(). On Solaris, _ttyname_dev()
does what we want.
TODO: write /dev/ traversal code for the generic sudo_ttyname_dev().
2012-04-11 14:48:08 -04:00
Todd C. Miller
271f3e2054
Define PRNODEV for those w/o it.
2012-04-10 16:12:08 -04:00
Todd C. Miller
11f13be0dd
Check for SVR4-style struct psinfo.pr_ttydev and use that to determine
...
the tty if std{in,out,err} are not ttys.
2012-04-10 15:53:41 -04:00
Todd C. Miller
2e59eafba6
Better support for SVR4-style /proc entries where we can't use
...
ttyname() on the /proc/pid/fd/[0-2] entries. We can, however,
attempt to map the device number back to the correct pseudo-tty
slave device.
2012-04-10 14:35:30 -04:00
Todd C. Miller
329e224db9
When trying to determine the tty name, check parent's stderr in
...
addition to its stdin and stdout.
2012-04-10 13:49:49 -04:00
Todd C. Miller
eb8274bdcc
Treat a tty read failure like EOF as it usually means the pty has
...
gone away. Handle write() on the tty returning EIO.
2012-04-10 10:18:59 -04:00
Todd C. Miller
df04ccb207
Linux select() may return ENOMEM if there is a kernel resource
...
shortage. Older Solaris select() may return EIO instead of EBADF
when the tty goes away. If we get an unhandled select() failure,
kill the child and exit cleanly.
2012-04-10 10:18:39 -04:00
Todd C. Miller
30fee3aade
Open /proc/pid/fd/[0-2] in non-blocking mode just in case we might
...
block in open.
2012-04-10 09:26:52 -04:00
Todd C. Miller
df067cac47
Allow the -k flag to be used along with the -i and -s flags.
2012-04-09 14:27:33 -04:00
Todd C. Miller
21f3e0deb2
sync with translationproject.org
2012-04-09 09:09:13 -04:00
Todd C. Miller
38ea65203a
Move ttysize.c to common so sudoreplay can use it.
2012-04-06 16:41:08 -04:00
Todd C. Miller
c8ce3a0a85
Log the process id in the debug file output. Since we don't want
...
to keep calling getpid(), stash the value at init time and when we
fork().
2012-04-06 15:20:16 -04:00
Todd C. Miller
bb898cd5df
Ignore SIGTTIN and SIGTTOU in main sudo process when I/O logging.
...
It is better to receive EIO from read()/write() than to be suspended
when we don't expect it. Fixes a problem when our terminal is
revoked which can happen when, e.g. our sshd is killed unceremoniously.
Also, only change the value of "alive" from true to false, never
from false to true. It is possible for us to receive notification
of the child having stopped after it is already dead. This does
not mean it has risen from the grave.
2012-04-06 12:45:30 -04:00
Todd C. Miller
b4acbc9fe0
Distinguish between signals we received from the parent vs. those
...
delivered explicitly to the monitor process in debugging info.
2012-04-06 12:40:13 -04:00
Todd C. Miller
2311fed457
Make this compile after last change.
2012-04-05 12:59:26 -04:00
Todd C. Miller
c0a75ce9d9
Don't try to restore the terminal if we are not the foreground
...
process. Otherwise, we may be stopped by SIGTTOU when we try to
update the terminal settings when cleaning up.
2012-04-05 12:40:51 -04:00
Todd C. Miller
6f4afc6652
If select() return EBADF in the main event loop, one of the ttys
...
must have gone away so perform any I/O we can and close the bad
fds.
2012-04-05 12:39:46 -04:00