Blame


1 be8b315d 2004-06-17 devnull #include <u.h>
2 be8b315d 2004-06-17 devnull #include <libc.h>
3 be8b315d 2004-06-17 devnull #include <auth.h>
4 be8b315d 2004-06-17 devnull #include "authlocal.h"
5 be8b315d 2004-06-17 devnull
6 be8b315d 2004-06-17 devnull int
7 be8b315d 2004-06-17 devnull amount(int fd, char *mntpt, int flags, char *aname)
8 be8b315d 2004-06-17 devnull {
9 be8b315d 2004-06-17 devnull int rv, afd;
10 be8b315d 2004-06-17 devnull AuthInfo *ai;
11 be8b315d 2004-06-17 devnull
12 be8b315d 2004-06-17 devnull afd = fauth(fd, aname);
13 be8b315d 2004-06-17 devnull if(afd >= 0){
14 be8b315d 2004-06-17 devnull ai = auth_proxy(afd, amount_getkey, "proto=p9any role=client");
15 be8b315d 2004-06-17 devnull if(ai != nil)
16 be8b315d 2004-06-17 devnull auth_freeAI(ai);
17 be8b315d 2004-06-17 devnull }
18 be8b315d 2004-06-17 devnull rv = mount(fd, afd, mntpt, flags, aname);
19 be8b315d 2004-06-17 devnull if(afd >= 0)
20 be8b315d 2004-06-17 devnull close(afd);
21 be8b315d 2004-06-17 devnull return rv;
22 be8b315d 2004-06-17 devnull }