diff options
author | David du Colombier <0intro@gmail.com> | 2011-11-22 14:09:52 -0500 |
---|---|---|
committer | Russ Cox <rsc@swtch.com> | 2011-11-22 14:09:52 -0500 |
commit | 2fc68b6d8ebc0479318fa9764bfaa7ff58165fc3 (patch) | |
tree | 54dffbb8c5e8a15ad7670b5e6c932f06d191a218 /src/cmd/upas | |
parent | bd51695c9278f9321d420a43a16f575471f32476 (diff) | |
download | plan9port-2fc68b6d8ebc0479318fa9764bfaa7ff58165fc3.tar.gz plan9port-2fc68b6d8ebc0479318fa9764bfaa7ff58165fc3.tar.bz2 plan9port-2fc68b6d8ebc0479318fa9764bfaa7ff58165fc3.zip |
mailfs: small fixes and plan 9 support
R=rsc
CC=plan9port.codebot
http://codereview.appspot.com/5429044
Diffstat (limited to 'src/cmd/upas')
-rw-r--r-- | src/cmd/upas/nfs/a.h | 3 | ||||
-rw-r--r-- | src/cmd/upas/nfs/box.c | 4 | ||||
-rw-r--r-- | src/cmd/upas/nfs/fs.c | 10 | ||||
-rw-r--r-- | src/cmd/upas/nfs/imap.c | 21 | ||||
-rw-r--r-- | src/cmd/upas/nfs/imap.h | 1 | ||||
-rw-r--r-- | src/cmd/upas/nfs/thread.c | 1 |
6 files changed, 35 insertions, 5 deletions
diff --git a/src/cmd/upas/nfs/a.h b/src/cmd/upas/nfs/a.h index f30e51c1..bca2c962 100644 --- a/src/cmd/upas/nfs/a.h +++ b/src/cmd/upas/nfs/a.h @@ -6,6 +6,7 @@ #include <fcall.h> #include <plumb.h> #include <9p.h> +#include <ctype.h> enum { @@ -44,3 +45,5 @@ extern Imap *imap; #define erealloc realloc #define estrdup strdup +#pragma varargck type "$" Sx* +#pragma varargck type "Z" char* diff --git a/src/cmd/upas/nfs/box.c b/src/cmd/upas/nfs/box.c index f7a52bc5..202111f8 100644 --- a/src/cmd/upas/nfs/box.c +++ b/src/cmd/upas/nfs/box.c @@ -208,7 +208,11 @@ msgplumb(Msg *m, int delete) a[ai].next = nil; p.attr = a; +#ifdef PLAN9PORT snprint(buf, sizeof buf, "Mail/%s/%ud", m->box->name, m->id); +#else + snprint(buf, sizeof buf, "/mail/fs/%s/%ud", m->box->name, m->id); +#endif p.ndata = strlen(buf); p.data = buf; diff --git a/src/cmd/upas/nfs/fs.c b/src/cmd/upas/nfs/fs.c index fd44c964..ee5c2b9b 100644 --- a/src/cmd/upas/nfs/fs.c +++ b/src/cmd/upas/nfs/fs.c @@ -93,6 +93,7 @@ Srv fs; Qid rootqid; ulong t0; +#ifdef PLAN9PORT void responderror(Req *r) { @@ -101,6 +102,7 @@ responderror(Req *r) rerrstr(e, sizeof e); respond(r, e); } +#endif int qtype(Qid q) @@ -378,7 +380,8 @@ mkbody(Part *p, Qid q) { char *t; int len; - + + USED(q); if(p->msg->part[0] == p) t = p->rawbody; else @@ -571,7 +574,7 @@ filedata(int type, Box *box, Msg *msg, Part *part, char **pp, int *len, int *fre fmtstrinit(&fmt); if(part == msg->part[0]){ if(msg->date) - fmtprint(&fmt, "unixdate %lud %s", msg->date, ctime(msg->date)); + fmtprint(&fmt, "unixdate %ud %s", msg->date, ctime(msg->date)); if(msg->flags){ filedata(Qflags, box, msg, part, pp, nil, freeme, 0, ZQ); fmtprint(&fmt, "flags %s\n", buf); @@ -1202,7 +1205,8 @@ static void fsrecv(void *v) { Req *r; - + + USED(v); while((r = recvp(fsreqchan)) != nil){ switch(r->ifcall.type){ case Tattach: diff --git a/src/cmd/upas/nfs/imap.c b/src/cmd/upas/nfs/imap.c index e5b8e5ca..7523a447 100644 --- a/src/cmd/upas/nfs/imap.c +++ b/src/cmd/upas/nfs/imap.c @@ -754,12 +754,16 @@ imapdial(char *server, int mode) fd[0] = dup(p[0], -1); fd[1] = dup(p[0], -1); fd[2] = dup(2, -1); +#ifdef PLAN9PORT tmp = esmprint("%s:993", server); - if(threadspawnl(fd, "tlsclient", "tlsclient", tmp, nil) < 0 - && threadspawnl(fd, "/usr/sbin/stunnel3", "stunnel3", "-c", "-r", tmp, nil) < 0 + if(threadspawnl(fd, "/usr/sbin/stunnel3", "stunnel3", "-c", "-r", tmp, nil) < 0 && threadspawnl(fd, "/usr/bin/stunnel3", "stunnel3", "-c", "-r", tmp, nil) < 0 && threadspawnl(fd, "/usr/sbin/stunnel", "stunnel", "-c", "-r", tmp, nil) < 0 && threadspawnl(fd, "/usr/bin/stunnel", "stunnel", "-c", "-r", tmp, nil) < 0){ +#else + tmp = esmprint("tcp!%s!993", server); + if(threadspawnl(fd, "/bin/tlsclient", "tlsclient", tmp, nil) < 0){ +#endif free(tmp); close(p[0]); close(p[1]); @@ -1300,6 +1304,8 @@ xexists(Imap *z, Sx *sx) static void xflags(Imap *z, Sx *sx) { + USED(z); + USED(sx); /* * This response contains in sx->sx[2] the list of flags * that can be validly attached to messages in z->box. @@ -1311,6 +1317,7 @@ xflags(Imap *z, Sx *sx) static void xbye(Imap *z, Sx *sx) { + USED(sx); close(z->fd); z->fd = -1; z->connected = 0; @@ -1496,6 +1503,7 @@ copyaddrs(Sx *v) static void xmsgenvelope(Msg *msg, Sx *k, Sx *v) { + USED(k); hdrfree(msg->part[0]->hdr); msg->part[0]->hdr = parseenvelope(v); msgplumb(msg, 0); @@ -1601,6 +1609,7 @@ parsestructure(Part *part, Sx *v) static void xmsgbody(Msg *msg, Sx *k, Sx *v) { + USED(k); if(v->type != SxList){ warn("bad body: %$", v); return; @@ -1742,24 +1751,32 @@ xokuidvalidity(Imap *z, Sx *sx) static void xokpermflags(Imap *z, Sx *sx) { + USED(z); + USED(sx); /* z->permflags = parseflags(sx); */ } static void xokunseen(Imap *z, Sx *sx) { + USED(z); + USED(sx); /* z->unseen = sx->number; */ } static void xokreadwrite(Imap *z, Sx *sx) { + USED(z); + USED(sx); /* z->boxmode = ORDWR; */ } static void xokreadonly(Imap *z, Sx *sx) { + USED(z); + USED(sx); /* z->boxmode = OREAD; */ } diff --git a/src/cmd/upas/nfs/imap.h b/src/cmd/upas/nfs/imap.h index 3f3d2aa6..e5d9954e 100644 --- a/src/cmd/upas/nfs/imap.h +++ b/src/cmd/upas/nfs/imap.h @@ -1,4 +1,5 @@ typedef struct Imap Imap; +#pragma incomplete Imap void imapcheckbox(Imap *z, Box *b); Imap* imapconnect(char *server, int mode, char *root); diff --git a/src/cmd/upas/nfs/thread.c b/src/cmd/upas/nfs/thread.c index 710a33d7..bb40def1 100644 --- a/src/cmd/upas/nfs/thread.c +++ b/src/cmd/upas/nfs/thread.c @@ -24,6 +24,7 @@ mailproc(void *v) { New n; + USED(v); while(recv(mailthreadchan, &n) == 1) threadcreate(n.fn, n.arg, STACK); } |