Blame


1 941e1713 2006-02-15 devnull /*
2 941e1713 2006-02-15 devnull TO DO
3 941e1713 2006-02-15 devnull
4 941e1713 2006-02-15 devnull can get disposition info out of imap extended structure if needed
5 941e1713 2006-02-15 devnull sizes in stat/ls ?
6 941e1713 2006-02-15 devnull translate character sets in =? subjects
7 941e1713 2006-02-15 devnull
8 941e1713 2006-02-15 devnull fetch headers, bodies on demand
9 941e1713 2006-02-15 devnull
10 941e1713 2006-02-15 devnull cache headers, bodies on disk
11 941e1713 2006-02-15 devnull
12 941e1713 2006-02-15 devnull cache message information on disk across runs
13 941e1713 2006-02-15 devnull
14 941e1713 2006-02-15 devnull body.jpg
15 941e1713 2006-02-15 devnull
16 941e1713 2006-02-15 devnull */
17 941e1713 2006-02-15 devnull
18 941e1713 2006-02-15 devnull #include "a.h"
19 941e1713 2006-02-15 devnull
20 941e1713 2006-02-15 devnull Imap *imap;
21 941e1713 2006-02-15 devnull
22 941e1713 2006-02-15 devnull void
23 941e1713 2006-02-15 devnull usage(void)
24 941e1713 2006-02-15 devnull {
25 24726c81 2008-05-10 rsc fprint(2, "usage: mailfs [-DVtx] [-m mtpt] [-s srvname] [-r root] server\n");
26 941e1713 2006-02-15 devnull threadexitsall("usage");
27 941e1713 2006-02-15 devnull }
28 941e1713 2006-02-15 devnull
29 941e1713 2006-02-15 devnull void
30 941e1713 2006-02-15 devnull threadmain(int argc, char **argv)
31 941e1713 2006-02-15 devnull {
32 e84044be 2007-11-05 rsc char *server, *srvname, *root;
33 941e1713 2006-02-15 devnull int mode;
34 24726c81 2008-05-10 rsc char *mtpt;
35 941e1713 2006-02-15 devnull
36 25c82339 2006-05-21 devnull srvname = "mail";
37 e84044be 2007-11-05 rsc root = "";
38 941e1713 2006-02-15 devnull mode = Unencrypted;
39 24726c81 2008-05-10 rsc mtpt = nil;
40 941e1713 2006-02-15 devnull ARGBEGIN{
41 941e1713 2006-02-15 devnull default:
42 941e1713 2006-02-15 devnull usage();
43 941e1713 2006-02-15 devnull case 'D':
44 941e1713 2006-02-15 devnull chatty9p++;
45 941e1713 2006-02-15 devnull break;
46 941e1713 2006-02-15 devnull case 'V':
47 941e1713 2006-02-15 devnull chattyimap++;
48 941e1713 2006-02-15 devnull break;
49 24726c81 2008-05-10 rsc case 'm':
50 24726c81 2008-05-10 rsc mtpt = EARGF(usage());
51 24726c81 2008-05-10 rsc break;
52 25c82339 2006-05-21 devnull case 's':
53 25c82339 2006-05-21 devnull srvname = EARGF(usage());
54 25c82339 2006-05-21 devnull break;
55 941e1713 2006-02-15 devnull case 't':
56 941e1713 2006-02-15 devnull mode = Tls;
57 941e1713 2006-02-15 devnull break;
58 941e1713 2006-02-15 devnull case 'x':
59 941e1713 2006-02-15 devnull mode = Cmd;
60 941e1713 2006-02-15 devnull break;
61 e84044be 2007-11-05 rsc case 'r':
62 e84044be 2007-11-05 rsc root = EARGF(usage());
63 e84044be 2007-11-05 rsc break;
64 941e1713 2006-02-15 devnull }ARGEND
65 941e1713 2006-02-15 devnull
66 941e1713 2006-02-15 devnull quotefmtinstall();
67 941e1713 2006-02-15 devnull fmtinstall('$', sxfmt);
68 941e1713 2006-02-15 devnull
69 941e1713 2006-02-15 devnull if(argc != 1)
70 941e1713 2006-02-15 devnull usage();
71 941e1713 2006-02-15 devnull server = argv[0];
72 941e1713 2006-02-15 devnull
73 941e1713 2006-02-15 devnull mailthreadinit();
74 941e1713 2006-02-15 devnull boxinit();
75 941e1713 2006-02-15 devnull fsinit0();
76 941e1713 2006-02-15 devnull
77 e84044be 2007-11-05 rsc if((imap = imapconnect(server, mode, root)) == nil)
78 941e1713 2006-02-15 devnull sysfatal("imapconnect: %r");
79 24726c81 2008-05-10 rsc threadpostmountsrv(&fs, srvname, mtpt, 0);
80 941e1713 2006-02-15 devnull }
81 941e1713 2006-02-15 devnull