aboutsummaryrefslogtreecommitdiff
path: root/src/cmd/upas/nfs/imap.c
diff options
context:
space:
mode:
authorDavid du Colombier <0intro@gmail.com>2011-11-28 09:21:01 -0500
committerRuss Cox <rsc@swtch.com>2011-11-28 09:21:01 -0500
commit0c9524b72197871c435464d064fdcc3dd5437581 (patch)
tree9cc2ad44b896b5918ee355722ee84e140c754510 /src/cmd/upas/nfs/imap.c
parent2fc68b6d8ebc0479318fa9764bfaa7ff58165fc3 (diff)
downloadplan9port-0c9524b72197871c435464d064fdcc3dd5437581.tar.gz
plan9port-0c9524b72197871c435464d064fdcc3dd5437581.tar.bz2
plan9port-0c9524b72197871c435464d064fdcc3dd5437581.zip
mailfs: add -u user argument
R=rsc CC=plan9port.codebot http://codereview.appspot.com/5435052
Diffstat (limited to 'src/cmd/upas/nfs/imap.c')
-rw-r--r--src/cmd/upas/nfs/imap.c10
1 files changed, 8 insertions, 2 deletions
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;
}