tplan9.c - plan9port - [fork] Plan 9 from user space
HTML git clone git://src.adamsgaard.dk/plan9port
DIR Log
DIR Files
DIR Refs
DIR README
DIR LICENSE
---
tplan9.c (753B)
---
1 #include "std.h"
2 #include "dat.h"
3 #include <bio.h>
4
5 int
6 memrandom(void *p, int n)
7 {
8 uchar *cp;
9
10 for(cp = (uchar*)p; n > 0; n--)
11 *cp++ = fastrand();
12 return 0;
13 }
14
15 Attr*
16 addcap(Attr *a, char *from, Ticket *t)
17 {
18 return addattr(a, "cuid=%q suid=%q cap=''", t->cuid, t->suid);
19 }
20
21 int
22 _authdial(char *net, char *authdom)
23 {
24 return authdial(net, authdom);
25 }
26
27 Key*
28 plan9authkey(Attr *a)
29 {
30 char *dom;
31 Key *k;
32
33 /*
34 * The only important part of a is dom.
35 * We don't care, for example, about user name.
36 */
37 dom = strfindattr(a, "dom");
38 if(dom)
39 k = keylookup("proto=p9sk1 role=server user? dom=%q", dom);
40 else
41 k = keylookup("proto=p9sk1 role=server user? dom?");
42 if(k == nil)
43 werrstr("could not find plan 9 auth key dom %q", dom);
44 return k;
45 }