Commit Graph

24 Commits

Author SHA1 Message Date
christos
85c81c58a5 Jumbo mail patch from our anonymous user:
1) Use editline [optional]:
   Most of this code was borrowed from src/usr.bin/ftp.  It does the
   appropriate editing, history, and completion for all mail commands
   (from cmdtab[]) and also does editing on header strings ('~h' inside
   the mail editor).

2) '-B' flag:
   This will suppress the "To:" line passed to sendmail.  In most
   configurations it will lead to sendmail adding "To: undisclosed
   recipients;".  Currently, AFAIK mail requires at least one exposed
   recipient address.

3) Comments in rcfile:
   Currently, comments in .mailrc are only supported if the first
   (non-white) character on a line is '#' followed by white space,
   i.e., '#' is a 'nop' command.  This (trivial) patch allows the more
   normal/expected use of '#' as a comment character.  It does not
   respect quoting, so that might be an objection which I should fix.

4) Sendmail option editing:
   This adds the sendmail option string to the strings editable by the
   '~h' command within the mail editor.  Currently, you can only set
   this string from the command-line, which is particularly annoying
   when replying to mail.

5) Reply from:
   When replying to a message, grab the "To:" address from the message
   and, if there is only one such address and it does not match a list of
   allowed addresses (set in the "ReplyFrom" variable), pass it to
   sendmail as the "From:" address for the reply (with the '-f' option).
   I often make aliases for myself so that my primary address is not
   given out; if the alias gets out, I know who to blame.  Unfortunately,
   a reply to such a message would normally use the primary address
   without this patch.  A warning is displayed when this is going to
   happen so that it can be modified with '~h'.

6) CC and BCC lists:
   Allow '-c' and '-b' to accept white-space or ',' delimited lists.
   Currently, a white-space delimited list of addresses work, but a
   list of aliases will not get expanded.  For example, currently:

	mail -c "foo bar" christos

   will fail to send mail to 'foo' and 'bar' if these are mail aliases
   (in ~/.mailrc); sendmail aliases (in /etc/aliases) do work.

7) pipe command:
   This pipes the current message into a shell command.  I use this for
   quick decoding of uuencoded mail, but I can imagine it might be
   useful for decrypting encrypted mail, too.

8) show command:
   This command takes a list of variables and shows their values.  It
   is probably stupid as the 'set' command without any argument
   displays all variable values.  Of course, if there are a lot of
   variables you have to sift through the list for the one(s) you want.
2006-09-18 19:46:21 +00:00
christos
463f84da0a PR/32964: Johan Veenhuizen: implement the unalias command 2006-03-03 13:36:27 +00:00
christos
ed70dac6b1 add more const 2006-01-05 02:13:41 +00:00
christos
ca28631014 Pass lint completely. 2005-07-19 23:07:10 +00:00
christos
ece0fd5c87 WARNS=3 2005-07-19 01:38:38 +00:00
ross
405db788de Defensively rewrite a string moving loop.
Constify.
Check for an allocation error.
2003-10-31 01:25:54 +00:00
agc
89aaa1bb64 Move UCB-licensed code from 4-clause to 3-clause licence.
Patches provided by Joel Baker in PR 22365, verified by myself.
2003-08-07 11:13:06 +00:00
christos
c1587f4d47 bring in fixes from OpenBSD:
- use varargs properly.
- pid_t
- better handling of error conditions on forked jobs.
2003-03-29 21:41:04 +00:00
ross
ecb9aca3ae The print/Print pair just cries out for a corresponding save/Save feature,
so implement the "missing" Save command -- save all the headers.
2002-03-29 15:10:02 +00:00
wiz
240d8221ea Replace last tempnam() with mkstemp(), and remove the tempMail variable.
Inspired by OpenBSD.
mail(1) is now tempnam(3) free.
2002-03-06 17:36:44 +00:00
wiz
ad41eb4f49 Use strpbrk(3) instead of anyof(). 2002-03-05 19:25:16 +00:00
wiz
b127cccc2e ANSIfy, and minimal KNF. 2002-03-02 14:59:35 +00:00
christos
85ef06032c fix nested externs
rename raise to upcase to avoid clash with raise(3)
2001-02-05 02:07:52 +00:00
tron
baa67f49cc Rename send() to sendmessage() to avoid conflict with send(2) in "libc".
Patch supplied by Geoff Adams in PR bin/9385.
2000-02-10 12:34:42 +00:00
wsanchez
55ce51b29f Get rid of commons.
Rename vfree() to v_free() to avoid conflict in out libc's vfree().
1998-10-08 17:36:55 +00:00
mycroft
55ac0c2da3 const poisoning. 1998-07-26 21:58:46 +00:00
lukem
7c81c8f378 WARNSify, fix .Nm usage, deprecate register, use <err.h> 1997-10-19 05:02:57 +00:00
mikel
adaf168e3f add prototype for incfile() 1997-07-09 05:22:00 +00:00
phil
a8316bbccd Fixed bug where long lines (>1023 characters in current implementation)
were viewed as multiple lines by both standard input and ~<file.
Closes PR 3463.
1997-07-07 22:57:52 +00:00
tls
19d35cbcd9 Sync with 4.4BSD-Lite2 1996-12-28 07:10:57 +00:00
christos
88b833a7cd - Fix PR/105: Implement dot locking protocol and check return value of flock.
- Fix PR/2247: Don't call unknown users "ubluit". Issue an error message.
- Fix/add prototypes.
- Fix warnings.
- Use POSIX signal mask calls.
- RCSid police.
1996-06-08 19:48:09 +00:00
jtc
6f400e259c made cmdtab const 1996-02-19 21:54:32 +00:00
mycroft
b5c23110da undelete -> undeletecmd, to avoid conflict with syscall. 1994-12-28 13:16:12 +00:00
deraadt
2cb5542f38 4.4-lite, plus our mods 1994-06-29 05:09:04 +00:00