Age | Commit message (Collapse) | Author |
|
Problem found by Mike Heffner of the FreeBSD project.
|
|
that is being output.
Make statusput() return an int and return -1 if ferror()
|
|
|
|
contains meta characters since people may expect their aliases to
work.
Instead, just remove the "kill(lock_pid, SIGTERM);" since lockspool
now does the right thing when the pipe is closed.
|
|
o check return values of malloc and friends
o use strdup() when sensible
|
|
|
|
|
|
o Style nits
o Use const to silent stupid -Wall warnings
o strnc{py,at} -> strlc{py,at}
o Use strpbrk() instead of homegrown anyof()
o Use NULL instead of #defines with 0 cast to a pointer
This still could use a proper audit
|
|
shell if it contains meta chars. Sneaky hack to work around a ksh
bug.
|
|
Instead, routines responsible to gathering user input (or in some
cases outputting data) catch the signals and set flags as needed.
Because of this some handlers are install without the SA_RESTART
flag so syscalls are not restarted and we can check the flag. All
signal handlers are now safe.
This should make the flow of control a bit more grokable but the
code is still ugly.
|
|
|
|
check the return value on writes for error.
Save and restore terminal modes when piping to a command so we end
up with a known good state if the command terminates uncleanly.
|
|
|
|
|
|
first char is a space. Patch from sacrificial-spam-address@horizon.com
|
|
in the input buffer. This prevents a rare buffer overflow on very long
header lines where one or more entries has a comment in it but the
entries have no space after the comma *and* the amount of extra space
needed to add a space after each comma is greater than the length of
the comments that will be removed. This is debian bug #108677
2) In skin(), use a temporary variable in the realloc() and don't
die if realloc() fails since its only purpose is to shrink the
buffer, not expand it (and thus is not fatal).
|
|
|
|
length of a username we can use that as part of the buffer size.
|
|
use volatile instead.
|
|
- edit and other interactive commands have no stdin (making the
command completely broken).
- messages with "From " line having date format with -0800 type of timezone
are not recognized correctly.
|
|
o escape From line with a leading '>' when needed
o only print To: address and Subject lines if actually present
o new variable 'allnet' to treat user@foo and user@bar as the same "user"
o folders command now takes an optional argument like ls.
o new "pipe" (|) command to pipe the message through an arbitrary command
o make header display format the same as SunOS 4.1.3 /usr/ucb/mail
o tilde commands work regardless of interactive mode.
o fix "read: Interrupted system call" error by retrying if EINTR
o expanded help file
Changes by me:
o read the help file via the PAGER as it is now more than 24 lines long
|
|
o escape From line with a leading '>' when needed
o only print To: address and Subject lines if actually present
o new variable 'allnet' to treat user@foo and user@bar as the same "user"
o folders command now takes an optional argument like ls.
o new "pipe" (|) command to pipe the message through an arbitrary command
o make header display format the same as SunOS 4.1.3 /usr/ucb/mail
o tilde commands work regardless of interactive mode.
o fix "read: Interrupted system call" error by retrying if EINTR
o expanded help file
Changes by me:
o read the help file via the PAGER as it is now more than 24 lines long
|
|
pages just needed their -width parameter tweaked to "Ds", which provides
a nice width of 6 constant characters. For consistency more than anything.
|
|
|
|
|
|
|
|
constant). These are not security holes but it is worth fixing
them anyway both for robustness and so folks looking for examples
in the tree are not misled into doing something potentially dangerous.
Furthermore, it is a bad idea to assume that pathnames will not
include '%' in them and that error routines don't return strings
with '%' in them (especially in light of the possibility of locales).
|
|
|
|
|
|
|
|
avoid shadowing the libc send(2); gadams@avernus.com
|
|
inc so the count of new messages is useful afterwards. This makes
mail behave more like the SunOS version in this respect.
|
|
|
|
of AT&T UNIX, not Version 6. Verified by strings(1)'ing a .dsk file (PDP-11
executable) containing the v5 sources, obtainable at gatekeeper.dec.com in the
directory /pub/DEC/sim/software. Idea from NetBSD PR/4790.
|
|
This prevents someone from sneaking arbitrary args to sendmail via
the Reply-To: or From: lines.
|
|
|
|
are as follows:", except in special cases.
|
|
|
|
- remove arguments from .Os macros
- remove arguments from .Nm macros, where appropriate
- some more Dq/Sq/Ql insanity
- still lots to do in the usr.bin tree... :/
|
|
first word ends in -ly
i.e., fully-qualified, newly-created, globally-visible, etc. are wrong
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ourselves instead of playing games with sigsuspend. This may fix PR 588.
|