]> granicus.if.org Git - sudo/log
sudo
14 years agoFix use after free when sending error messages. From Timo Juhani Lindfors
Todd C. Miller [Sat, 6 Feb 2010 17:43:26 +0000 (12:43 -0500)]
Fix use after free when sending error messages.  From Timo Juhani Lindfors

--HG--
branch : 1.7

15 years agoGenerate the ChangeLog as part of "make dist" instead of having it
Todd C. Miller [Mon, 18 Jan 2010 12:12:06 +0000 (07:12 -0500)]
Generate the ChangeLog as part of "make dist" instead of having it
in the repo.

--HG--
branch : 1.7

15 years agoGenerate correct ChangeLog for 1.7 branch.
Todd C. Miller [Mon, 18 Jan 2010 00:55:11 +0000 (19:55 -0500)]
Generate correct ChangeLog for 1.7 branch.

--HG--
branch : 1.7

15 years agoRemove CVS $Sudo$ tags.
Todd C. Miller [Mon, 18 Jan 2010 00:51:28 +0000 (19:51 -0500)]
Remove CVS $Sudo$ tags.

15 years agoupdate tags
convert-repo [Mon, 18 Jan 2010 05:45:25 +0000 (05:45 +0000)]
update tags

15 years agomake this match sudoers SYNOPSIS
Todd C. Miller [Sat, 26 Dec 2009 23:48:09 +0000 (23:48 +0000)]
make this match sudoers SYNOPSIS

15 years agoPrint a newline between Runas and Command-specific defaults in
Todd C. Miller [Sat, 26 Dec 2009 17:25:49 +0000 (17:25 +0000)]
Print a newline between Runas and Command-specific defaults in
sudo -l.

15 years agoUse SET and CLR macros in term_raw
Todd C. Miller [Sat, 26 Dec 2009 01:50:25 +0000 (01:50 +0000)]
Use SET and CLR macros in term_raw

15 years agoSet stdin to non-blocking mode early instead of in check_input.
Todd C. Miller [Sat, 26 Dec 2009 01:49:25 +0000 (01:49 +0000)]
Set stdin to non-blocking mode early instead of in check_input.
Use term_raw instead of term_cbreak since the data we get has
already been expanded via OPOST.

15 years agoEnable/disable all postprocessing instead of just nl->crnl processing
Todd C. Miller [Wed, 23 Dec 2009 23:53:04 +0000 (23:53 +0000)]
Enable/disable all postprocessing instead of just nl->crnl processing
since things like tab expansion matter too.  However, if stdout is
a tty leave postprocessing on in the pty since we run into problems
doing it only on the real stdout with .e.g nvi.

15 years agoIf tty_tickets is enabled and there is no tty, prompt for a password.
Todd C. Miller [Sat, 19 Dec 2009 23:04:58 +0000 (23:04 +0000)]
If tty_tickets is enabled and there is no tty, prompt for a password.
Do not lecture user for "sudo -k command" if user has a timestamp.

15 years agoDocument missing options: --with-efence and --with-bsm-audit
Todd C. Miller [Sat, 19 Dec 2009 21:57:33 +0000 (21:57 +0000)]
Document missing options: --with-efence and --with-bsm-audit

15 years agousername -> user name
Todd C. Miller [Sat, 19 Dec 2009 21:44:06 +0000 (21:44 +0000)]
username -> user name
groupname -> group name
hostname -> host name

15 years agofilename -> file name like the rest of the docs
Todd C. Miller [Sat, 19 Dec 2009 21:33:25 +0000 (21:33 +0000)]
filename -> file name like the rest of the docs

15 years agoFix printing of entries with multiple host entries on a single line.
Todd C. Miller [Thu, 17 Dec 2009 15:02:06 +0000 (15:02 +0000)]
Fix printing of entries with multiple host entries on a single line.

15 years agoMention that targetpw affects the timestamp file name.
Todd C. Miller [Mon, 14 Dec 2009 23:53:05 +0000 (23:53 +0000)]
Mention that targetpw affects the timestamp file name.

15 years agoAdd compress_transcript option.
Todd C. Miller [Mon, 14 Dec 2009 01:49:50 +0000 (01:49 +0000)]
Add compress_transcript option.

15 years agobump to 1.7.3b2
Todd C. Miller [Sun, 13 Dec 2009 22:26:32 +0000 (22:26 +0000)]
bump to 1.7.3b2

15 years agoBetter split of membership vs. traditional group check in user_in_group().
Todd C. Miller [Sun, 13 Dec 2009 22:24:34 +0000 (22:24 +0000)]
Better split of membership vs. traditional group check in user_in_group().
Allow user_ngroups to be < 0 if getgroups() fails.

15 years agoFix pasto and add default return value.
Todd C. Miller [Sat, 12 Dec 2009 16:27:02 +0000 (16:27 +0000)]
Fix pasto and add default return value.

15 years agorefactor group member checking into user_in_group()
Todd C. Miller [Sat, 12 Dec 2009 16:12:26 +0000 (16:12 +0000)]
refactor group member checking into user_in_group()

15 years agoAdd support for mbr_check_membership() as present in darwin.
Todd C. Miller [Sat, 12 Dec 2009 15:37:52 +0000 (15:37 +0000)]
Add support for mbr_check_membership() as present in darwin.

15 years agoRename label to be accurate
Todd C. Miller [Thu, 10 Dec 2009 19:37:56 +0000 (19:37 +0000)]
Rename label to be accurate

15 years agoTreat timestamp files from before we booted as old. Idea from and
Todd C. Miller [Thu, 10 Dec 2009 16:59:27 +0000 (16:59 +0000)]
Treat timestamp files from before we booted as old.  Idea from and
Apple patch.

15 years agoAllow the -u flag to be used in conjunction with the -v flag as per
Todd C. Miller [Wed, 9 Dec 2009 16:19:30 +0000 (16:19 +0000)]
Allow the -u flag to be used in conjunction with the -v flag as per
older versions of sudo.

15 years agofix typo in last commit
Todd C. Miller [Wed, 9 Dec 2009 16:05:02 +0000 (16:05 +0000)]
fix typo in last commit

15 years agoConvert fmt_first and fmt_confd into macros.
Todd C. Miller [Tue, 8 Dec 2009 22:19:49 +0000 (22:19 +0000)]
Convert fmt_first and fmt_confd into macros.

15 years agotimeouts can be floats now
Todd C. Miller [Tue, 8 Dec 2009 21:58:16 +0000 (21:58 +0000)]
timeouts can be floats now

15 years agoAdd support for floating point timeout values (e.g. 2.5 minutes).
Todd C. Miller [Tue, 8 Dec 2009 21:49:53 +0000 (21:49 +0000)]
Add support for floating point timeout values (e.g. 2.5 minutes).

15 years agoThe -L flag will be removed in sudo 1.7.4
Todd C. Miller [Mon, 7 Dec 2009 00:11:43 +0000 (00:11 +0000)]
The -L flag will be removed in sudo 1.7.4

15 years agoFix a bug due to order of operators.
Todd C. Miller [Sun, 6 Dec 2009 17:10:36 +0000 (17:10 +0000)]
Fix a bug due to order of operators.

15 years agocmnd_matches() already deals with negation so _cmndlist_matches() does
Todd C. Miller [Mon, 23 Nov 2009 15:56:14 +0000 (15:56 +0000)]
cmnd_matches() already deals with negation so _cmndlist_matches() does
not need to do so itself.  Fixes a bug with negated entries in a
Cmnd_List.

15 years agoDon't exit() from open_sudoers, just return NULL for all errors.
Todd C. Miller [Sun, 22 Nov 2009 16:12:38 +0000 (16:12 +0000)]
Don't exit() from open_sudoers, just return NULL for all errors.

15 years agoCan't rely on the shell sending us SIGCONT when transitioning from
Todd C. Miller [Sun, 22 Nov 2009 15:58:37 +0000 (15:58 +0000)]
Can't rely on the shell sending us SIGCONT when transitioning from
backgroup to foreground process.

15 years agoAdd missing extern def for parse_error
Todd C. Miller [Sun, 22 Nov 2009 14:54:04 +0000 (14:54 +0000)]
Add missing extern def for parse_error

15 years agoAvoid a parse error when #includedir doesn't find any files.
Todd C. Miller [Sat, 21 Nov 2009 00:11:50 +0000 (00:11 +0000)]
Avoid a parse error when #includedir doesn't find any files.
Closes bug #375

15 years agoInclude sudo.man.pl and sudoers.man.pl in the distribution tarball.
Todd C. Miller [Sat, 21 Nov 2009 00:03:52 +0000 (00:03 +0000)]
Include sudo.man.pl and sudoers.man.pl in the distribution tarball.

15 years agoStart command out in foreground mode if stdout is a tty. Works
Todd C. Miller [Sun, 15 Nov 2009 21:53:38 +0000 (21:53 +0000)]
Start command out in foreground mode if stdout is a tty.  Works
around issues with some curses-based programs that don't handle
tcsetattr getting interrupted by a signal.  Still allows us to
avoid hogging the tty if the command is part of a pipeline.

15 years agoUse a socketpair to pass signals from parent to child. Child will
Todd C. Miller [Sun, 15 Nov 2009 21:42:17 +0000 (21:42 +0000)]
Use a socketpair to pass signals from parent to child.  Child will
now pass command status change info back via the socketpair.  This
allows the parent to distinguish between signals it has been sent
directly and signals the command has received.  It also means the
parent can once again print the signal notifications to the tty so
all writes to the pty master occur in the parent.  The command is
now always started in background mode with tty signals handled
by the parent.

15 years agoFix a few typos in the descriptions; from Jeff Makey
Todd C. Miller [Wed, 4 Nov 2009 14:42:04 +0000 (14:42 +0000)]
Fix a few typos in the descriptions; from Jeff Makey
Only do the check for krb5_get_init_creds_opt_free() taking two
arguments if we find krb5_get_init_creds_opt_alloc().  Otherwise
we will get a false positive when using our own
krb5_get_init_creds_opt_free which takes only a single argument.

15 years agoRemove a spurious comma in the kerb5 bits.
Todd C. Miller [Tue, 3 Nov 2009 14:58:47 +0000 (14:58 +0000)]
Remove a spurious comma in the kerb5 bits.

15 years agoCall krb5_get_init_creds_opt_init() in our emulated
Todd C. Miller [Tue, 3 Nov 2009 14:51:20 +0000 (14:51 +0000)]
Call krb5_get_init_creds_opt_init() in our emulated
krb5_get_init_creds_opt_alloc() for MIT kerberos.

15 years agoAdd HAVE_ZLIB
Todd C. Miller [Sun, 1 Nov 2009 23:44:15 +0000 (23:44 +0000)]
Add HAVE_ZLIB

15 years agoNeed to ignore SIGTT{IN,OU} in child when running the command in the
Todd C. Miller [Sun, 1 Nov 2009 15:14:58 +0000 (15:14 +0000)]
Need to ignore SIGTT{IN,OU} in child when running the command in the
background.  Also some minor cleanup.

15 years agoInstead of calling sigsuspend when waiting for SIGUSR[12] from parent,
Todd C. Miller [Sat, 31 Oct 2009 17:40:19 +0000 (17:40 +0000)]
Instead of calling sigsuspend when waiting for SIGUSR[12] from parent,
install the signal handlers w/o SA_RESTART and let them interrupt waitpid().

15 years agoPass along SIGHUP and SIGTERM from parent to child.
Todd C. Miller [Sat, 31 Oct 2009 17:14:52 +0000 (17:14 +0000)]
Pass along SIGHUP and SIGTERM from parent to child.

15 years agoClose unused bits of script_fds in processes that don't need them.
Todd C. Miller [Sat, 31 Oct 2009 16:48:34 +0000 (16:48 +0000)]
Close unused bits of script_fds in processes that don't need them.
Restore default SIGCONT handler in child.

15 years agoUpdate foreground/background status in SIGCONT handler in parent process.
Todd C. Miller [Sat, 31 Oct 2009 16:45:59 +0000 (16:45 +0000)]
Update foreground/background status in SIGCONT handler in parent process.

15 years agoDefer setting terminal into raw mode until just before we fork()
Todd C. Miller [Sun, 25 Oct 2009 14:55:14 +0000 (14:55 +0000)]
Defer setting terminal into raw mode until just before we fork()
and only do it if sudo is the foreground process.
If we get SIGTT{IN,OU} and sudo is already in the foreground be sure
to set raw mode before continuing the child.

15 years agoFix handling of SIGTTOU/SIGTTIN in program being run. We now only
Todd C. Miller [Sat, 24 Oct 2009 18:43:16 +0000 (18:43 +0000)]
Fix handling of SIGTTOU/SIGTTIN in program being run.  We now only
give the command the controlling tty if the main sudo process is the
foreground process.

15 years agoDon't bother with sudo_waitpid() here for now.
Todd C. Miller [Sat, 24 Oct 2009 18:32:44 +0000 (18:32 +0000)]
Don't bother with sudo_waitpid() here for now.

15 years agofix non-zlib case
Todd C. Miller [Sat, 24 Oct 2009 13:16:40 +0000 (13:16 +0000)]
fix non-zlib case

15 years agoRemove non-wroking code that crept into rev 1.55
Todd C. Miller [Fri, 23 Oct 2009 11:40:22 +0000 (11:40 +0000)]
Remove non-wroking code that crept into rev 1.55

15 years agoFirst pass at zlib support for transcript data files
Todd C. Miller [Thu, 22 Oct 2009 23:50:16 +0000 (23:50 +0000)]
First pass at zlib support for transcript data files

15 years agoremove vestiges of ZLDFLAGS
Todd C. Miller [Thu, 22 Oct 2009 23:46:40 +0000 (23:46 +0000)]
remove vestiges of ZLDFLAGS

15 years agoAdd missing variable declaration for when TIOCSCTTY is not defined.
Todd C. Miller [Thu, 22 Oct 2009 14:53:13 +0000 (14:53 +0000)]
Add missing variable declaration for when TIOCSCTTY is not defined.
Need to include sys/termio.h for TIOCSCTTY on some systems.

15 years agowhen resuming command, send SIGCONT to its pgrp not just pid
Todd C. Miller [Thu, 22 Oct 2009 13:52:59 +0000 (13:52 +0000)]
when resuming command, send SIGCONT to its pgrp not just pid

15 years agoremove unused variable
Todd C. Miller [Thu, 22 Oct 2009 13:47:43 +0000 (13:47 +0000)]
remove unused variable

15 years agoinclude selinux.h for is_selinux_enabled() proto
Todd C. Miller [Thu, 22 Oct 2009 13:47:32 +0000 (13:47 +0000)]
include selinux.h for is_selinux_enabled() proto

15 years agoDon't use log_error() in the child process.
Todd C. Miller [Thu, 22 Oct 2009 13:40:41 +0000 (13:40 +0000)]
Don't use log_error() in the child process.

15 years agoDo I/O in parent instead of child since the parent can have both
Todd C. Miller [Thu, 22 Oct 2009 00:58:41 +0000 (00:58 +0000)]
Do I/O in parent instead of child since the parent can have both
/dev/tty as well as the pty fds open.  The child just sets things
up and waits for its grandchild and writes the signal description
to the pty master if the command was killed by a signal.

15 years agoMove two struct forward declarations from sudo.h to missing.h
Todd C. Miller [Sun, 18 Oct 2009 17:45:21 +0000 (17:45 +0000)]
Move two struct forward declarations from sudo.h to missing.h

15 years agoMake comment at the top of script_exec() match reality.
Todd C. Miller [Sun, 18 Oct 2009 17:32:44 +0000 (17:32 +0000)]
Make comment at the top of script_exec() match reality.

15 years agoif neither stdin nor stdout is a tty, check stderr
Todd C. Miller [Sun, 18 Oct 2009 15:38:06 +0000 (15:38 +0000)]
if neither stdin nor stdout is a tty, check stderr

15 years agoAdd back dependecy of gram.h on gram.y
Todd C. Miller [Sun, 18 Oct 2009 15:11:59 +0000 (15:11 +0000)]
Add back dependecy of gram.h on gram.y

15 years agoMake transcript mode work as long as we can figure out our tty, even if
Todd C. Miller [Sun, 18 Oct 2009 14:46:01 +0000 (14:46 +0000)]
Make transcript mode work as long as we can figure out our tty, even if
it is not stdin.  We'd like to use /dev/tty but that won't be valid after
the setsid().

15 years agoAdd support for IRIX-style dynamic ptys
Todd C. Miller [Sat, 17 Oct 2009 12:54:07 +0000 (12:54 +0000)]
Add support for IRIX-style dynamic ptys

15 years agoMove alloc.c protos into alloc.h
Todd C. Miller [Sat, 17 Oct 2009 12:17:16 +0000 (12:17 +0000)]
Move alloc.c protos into alloc.h

15 years agoMove prototypes for missing libc functions to missing.h
Todd C. Miller [Sat, 17 Oct 2009 12:14:21 +0000 (12:14 +0000)]
Move prototypes for missing libc functions to missing.h

15 years agoMove prototypes for missing libc functions to missing.h
Todd C. Miller [Sat, 17 Oct 2009 00:03:00 +0000 (00:03 +0000)]
Move prototypes for missing libc functions to missing.h

15 years agoDisable transcript support if no tcsetpgrp until we support older BSD-style
Todd C. Miller [Fri, 16 Oct 2009 13:52:47 +0000 (13:52 +0000)]
Disable transcript support if no tcsetpgrp until we support older BSD-style
job control.

15 years agoBreak out pty code into pty.c
Todd C. Miller [Fri, 16 Oct 2009 13:29:38 +0000 (13:29 +0000)]
Break out pty code into pty.c

15 years agoadd killpg macro if no killpg function
Todd C. Miller [Fri, 16 Oct 2009 12:11:10 +0000 (12:11 +0000)]
add killpg macro if no killpg function

15 years agoPush ptem and ldterm for STERAMS-based systems when allocating a pty.
Todd C. Miller [Fri, 16 Oct 2009 00:07:11 +0000 (00:07 +0000)]
Push ptem and ldterm for STERAMS-based systems when allocating a pty.

15 years agoSprinkle some more O_NOCTTY and call grantpt() before unlockpt()
Todd C. Miller [Thu, 15 Oct 2009 21:48:19 +0000 (21:48 +0000)]
Sprinkle some more O_NOCTTY and call grantpt() before unlockpt()

15 years agoCall tcgetpgrp() in the parent, not the child and have the child spin
Todd C. Miller [Thu, 15 Oct 2009 13:46:11 +0000 (13:46 +0000)]
Call tcgetpgrp() in the parent, not the child and have the child spin
until it is granted.  Fixes a race on darwin.

15 years agoOnly use TIOCNOTTY in the non-setsid case. If no TIOCSCTTY, just
Todd C. Miller [Thu, 15 Oct 2009 13:38:11 +0000 (13:38 +0000)]
Only use TIOCNOTTY in the non-setsid case.  If no TIOCSCTTY, just
reopen slave.

15 years agoIn script mode, if the command is killed by a signal, print the
Todd C. Miller [Wed, 14 Oct 2009 20:04:16 +0000 (20:04 +0000)]
In script mode, if the command is killed by a signal, print the
signal description as well as a core dump notification like the
shell does.

15 years agoAdd check for strsignal() and a simple implementation if it is not there but sys_sigl...
Todd C. Miller [Wed, 14 Oct 2009 20:04:04 +0000 (20:04 +0000)]
Add check for strsignal() and a simple implementation if it is not there but sys_siglist is

15 years agoAdd missing WUNTRACED and store the signal that stopped the grandchild
Todd C. Miller [Wed, 14 Oct 2009 13:37:23 +0000 (13:37 +0000)]
Add missing WUNTRACED and store the signal that stopped the grandchild
in suspended, not signo.

15 years agog/c unused code
Todd C. Miller [Wed, 14 Oct 2009 13:20:24 +0000 (13:20 +0000)]
g/c unused code

15 years agoAssociate the grandchild's pgrp with the tty instead of the child's
Todd C. Miller [Wed, 14 Oct 2009 13:01:04 +0000 (13:01 +0000)]
Associate the grandchild's pgrp with the tty instead of the child's
and just get suspend notifications via SIGCHLD instead of directly.
This fixes a hang with programs that try to set terminal attributes
and is more consistent with how the shell handles things.

15 years agoMove setpgid() of child into the parent side of the fork() where it
Todd C. Miller [Mon, 12 Oct 2009 14:30:46 +0000 (14:30 +0000)]
Move setpgid() of child into the parent side of the fork() where it
belongs.

15 years agofix typo
Todd C. Miller [Sun, 11 Oct 2009 22:02:02 +0000 (22:02 +0000)]
fix typo

15 years agoRun command in its own pgrp (like the shell does) for easier signalling.
Todd C. Miller [Sun, 11 Oct 2009 21:41:36 +0000 (21:41 +0000)]
Run command in its own pgrp (like the shell does) for easier signalling.
No need to relay SIGINT or SIGQUIT to parent, just send to grandchild.
Don't want grandchild stopped events in the child (only termination).
Flush output after suspending grandchild before signalling parent.

15 years agoBack out revision 1.34; the problem lies elsewhere.
Todd C. Miller [Sun, 11 Oct 2009 14:16:22 +0000 (14:16 +0000)]
Back out revision 1.34; the problem lies elsewhere.

15 years agoDon't set stdout to blocking mode when flushing remaining output. It
Todd C. Miller [Sun, 11 Oct 2009 14:13:35 +0000 (14:13 +0000)]
Don't set stdout to blocking mode when flushing remaining output.  It
can cause us to hang when trying to exit.  Need to investigate why.

15 years agoHandle SIGTTOU and remove some debugging.
Todd C. Miller [Sun, 11 Oct 2009 13:25:23 +0000 (13:25 +0000)]
Handle SIGTTOU and remove some debugging.

15 years agoBack out revision 1.10 as the signal that interrupts us may be
Todd C. Miller [Sun, 11 Oct 2009 13:02:06 +0000 (13:02 +0000)]
Back out revision 1.10 as the signal that interrupts us may be
SIGTTOU or SIGTTIN which the caller must handle.

15 years agoApparently we need to send SIGSTOP to the command as well as ourself
Todd C. Miller [Sun, 11 Oct 2009 12:42:03 +0000 (12:42 +0000)]
Apparently we need to send SIGSTOP to the command as well as ourself
when we get SIGTSTP, the kernel doesn't automatically stop the process
for us.

15 years agoUse an extra process to act as the glue bewteen the sessions
Todd C. Miller [Sun, 11 Oct 2009 12:27:11 +0000 (12:27 +0000)]
Use an extra process to act as the glue bewteen the sessions
associated with the user's controlling tty (what the shell uses)
and the tty that sudo is using to do its logging.  Basically, this
means that if we get, e.g. SIGTSTP from the process sudo is running,
we relay the signal to the parent so it's shell can do the job control.

15 years agoHandle getting/setting terminal attributes when the fd is in non-blocking
Todd C. Miller [Sun, 11 Oct 2009 12:24:31 +0000 (12:24 +0000)]
Handle getting/setting terminal attributes when the fd is in non-blocking
mode.

15 years agoAdd support for pausing and changing the speed in interactive mode.
Todd C. Miller [Wed, 7 Oct 2009 01:07:54 +0000 (01:07 +0000)]
Add support for pausing and changing the speed in interactive mode.

15 years agoAlready define O_NOCTTY in compat.h, don't need it here
Todd C. Miller [Wed, 7 Oct 2009 00:17:38 +0000 (00:17 +0000)]
Already define O_NOCTTY in compat.h, don't need it here

15 years agoAdd missing protos
Todd C. Miller [Tue, 6 Oct 2009 13:19:20 +0000 (13:19 +0000)]
Add missing protos

15 years agoAlways update the stashed mtime of the temp file instead of using what
Todd C. Miller [Wed, 30 Sep 2009 13:50:58 +0000 (13:50 +0000)]
Always update the stashed mtime of the temp file instead of using what
we have for the original because the time resolution of the filesystem the
temporary is on may not match that of the filesystem that holds the original.
Should fix bz #371 found by Philippe Levan.

15 years agoUse cbreak mode instead of raw mode and add signal handlers to restore
Todd C. Miller [Wed, 30 Sep 2009 02:13:19 +0000 (02:13 +0000)]
Use cbreak mode instead of raw mode and add signal handlers to restore
the tty on interrupt.

15 years agoRetain NL to NLCR conversion on the real tty and skip it on the pty
Todd C. Miller [Wed, 30 Sep 2009 02:12:35 +0000 (02:12 +0000)]
Retain NL to NLCR conversion on the real tty and skip it on the pty
we allocate.  That way, if stdout is not a pty there are no extra carriage
returns.

15 years agoFix log_output(); just pass in a string and a length.
Todd C. Miller [Wed, 30 Sep 2009 02:00:16 +0000 (02:00 +0000)]
Fix log_output(); just pass in a string and a length.

15 years agodo not use errno when complaining out lack of a tty
Todd C. Miller [Mon, 28 Sep 2009 11:44:26 +0000 (11:44 +0000)]
do not use errno when complaining out lack of a tty