aboutsummaryrefslogtreecommitdiff
path: root/src/cmd/upas
diff options
context:
space:
mode:
authorDavid du Colombier <0intro@gmail.com>2011-11-22 14:09:52 -0500
committerRuss Cox <rsc@swtch.com>2011-11-22 14:09:52 -0500
commit2fc68b6d8ebc0479318fa9764bfaa7ff58165fc3 (patch)
tree54dffbb8c5e8a15ad7670b5e6c932f06d191a218 /src/cmd/upas
parentbd51695c9278f9321d420a43a16f575471f32476 (diff)
downloadplan9port-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.h3
-rw-r--r--src/cmd/upas/nfs/box.c4
-rw-r--r--src/cmd/upas/nfs/fs.c10
-rw-r--r--src/cmd/upas/nfs/imap.c21
-rw-r--r--src/cmd/upas/nfs/imap.h1
-rw-r--r--src/cmd/upas/nfs/thread.c1
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);
}