My fork of https://tools.suckless.org/ii/
git clone https://git.inz.fi/ii
Log | Files | Refs | README | LICENSE

commit c68beccf597984396c7ef22dd5b1a8eed4ab69a1
parent 2bcd27c9e8bd1e4ce4da5af9218024736c1976e4
Author: Nico Golde <nion@suckless.org>
Date:   Sat, 16 Jun 2012 17:00:31 +0200

-k now points to an environment variable containing the password
MCHANGES | 5+++++
Mii.1 | 9++++-----
Mii.c | 2+-
3 files changed, 10 insertions(+), 6 deletions(-)

diff --git a/CHANGES b/CHANGES @@ -1,3 +1,8 @@ +1.7 (20XX-XX-XX) + - -k now specifies an environment variable that contains the + server key. This behaviour has been changed in order to not + expose the password in the process list. + 1.6 (2011-01-31): - fix regression introduced for handling unknown commands diff --git a/ii.1 b/ii.1 @@ -26,7 +26,7 @@ and ii creates a new channel directory with in and out file. .RB [ \-p .IR port ] .RB [ \-k -.IR password ] +.IR environment variable ] .RB [ \-i .IR prefix ] .RB [ \-n @@ -42,10 +42,9 @@ lets you override the default servername (irc.freenode.net) .BI \-p " port" lets you override the default port (6667) .TP -.BI \-k " password" -lets you use a password to authenticate your nick on the server -(be aware of the problem that this is visible in the process list, if you -don't want this use a query to submit your password) +.BI \-k " environment variable" +lets you specify an environment variable that contains your IRC password, e.g. IIPASS="foobar" ii -k FOOBAR. +This is done in order to prevent other users from eavesdropping the server password via the process list. .TP .BI \-i " prefix" lets you override the default irc path (~/irc) diff --git a/ii.c b/ii.c @@ -477,7 +477,7 @@ int main(int argc, char *argv[]) { case 's': host = argv[++i]; break; case 'p': port = strtol(argv[++i], NULL, 10); break; case 'n': snprintf(nick,sizeof(nick),"%s", argv[++i]); break; - case 'k': key = argv[++i]; break; + case 'k': key = getenv(argv[++i]); break; case 'f': fullname = argv[++i]; break; default: usage(); break; }