Fix -u, change meaning of $USER to be EQ -u etc..
commit09632731c912c468af672f8e8ac24d96ba3fab7f
authorSteffen "Daode" Nurpmeso <sdaoden@users.sf.net>
Wed, 4 Dec 2013 17:58:24 +0000 (4 18:58 +0100)
committerSteffen "Daode" Nurpmeso <sdaoden@users.sf.net>
Sat, 14 Dec 2013 23:39:24 +0000 (15 00:39 +0100)
tree5698b37d7d6f6de4cd34c077d176ed86289e8b9d
parente94d61a76725b3e5fd16e61d43df4234fbe7f7d1
Fix -u, change meaning of $USER to be EQ -u etc..

I broke -u a while ago.
That is bad, but handling of -u and $USER is terribly silly
all through the codebase anyway and in my opinion.
I.e., POSIX defines it so that it should only read the mailbox
of the given user, and NetBSD defines it that way.
However, the BSD codebase does in fact also use the "myname"
variable for elimination of alternates etc. etc.
This does not really make sense, so that we now do treat
-u so as that we *really* impersonate as the given user,
of course except that we do not switch the UID.

Behind the scenes the $USER environment variable has had
some influence, but rather silently.
This is also quite mysterious to me, and so i have decided
to change this to work just the very same as -u.

All of this means that we now have two systemcalls if $USER
is set (or -u is given), so as to decide wether we do incarnate
as someone else, but on the other hand we handle a bit more
correct than we did before.
*Because* we do not silently use some values here and there.

P.S.: while here, change main.c to no longer use magic constants
for ~/.mailrc and /tmp, and change main.c to s-it-mode.
auxlily.c
catd/en_US
extern.h
fio.c
lex.c
main.c
nail.1
nail.h