From 0c9524b72197871c435464d064fdcc3dd5437581 Mon Sep 17 00:00:00 2001 From: David du Colombier <0intro@gmail.com> Date: Mon, 28 Nov 2011 09:21:01 -0500 Subject: mailfs: add -u user argument R=rsc CC=plan9port.codebot http://codereview.appspot.com/5435052 --- src/cmd/upas/nfs/imap.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'src/cmd/upas/nfs/imap.c') diff --git a/src/cmd/upas/nfs/imap.c b/src/cmd/upas/nfs/imap.c index 7523a447..c2aed9a5 100644 --- a/src/cmd/upas/nfs/imap.c +++ b/src/cmd/upas/nfs/imap.c @@ -18,6 +18,7 @@ struct Imap int ticks; /* until boom! */ char* server; char* root; + char* user; int mode; int fd; Biobuf b; @@ -91,7 +92,7 @@ static Sx* zBrdsx(Imap*); */ Imap* -imapconnect(char *server, int mode, char *root) +imapconnect(char *server, int mode, char *root, char *user) { Imap *z; @@ -101,6 +102,7 @@ imapconnect(char *server, int mode, char *root) z = emalloc(sizeof *z); z->server = estrdup(server); z->mode = mode; + z->user = user; if(root) if(root[0] != 0 && root[strlen(root)-1] != '/') z->root = smprint("%s/", root); @@ -200,7 +202,11 @@ imaplogin(Imap *z) Sx *sx; UserPasswd *up; - if((up = auth_getuserpasswd(auth_getkey, "proto=pass role=client service=imap server=%q", z->server)) == nil){ + if(z->user != nil) + up = auth_getuserpasswd(auth_getkey, "proto=pass role=client service=imap server=%q user=%q", z->server, z->user); + else + up = auth_getuserpasswd(auth_getkey, "proto=pass role=client service=imap server=%q", z->server); + if(up == nil){ werrstr("getuserpasswd - %r"); return -1; } -- cgit v1.2.3