Warning: Attempt to read property "date" on null in /usr/local/www/websvn.planix.org/blame.php on line 247

Warning: Attempt to read property "msg" on null in /usr/local/www/websvn.planix.org/blame.php on line 247
WebSVN – planix.SVN – Blame – /os/branches/feature_tlsv12/sys/src/cmd/9nfs/nametest.c – Rev 2

Subversion Repositories planix.SVN

Rev

Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
2 - 1
#include "all.h"
2
 
3
void	mapinit(char*, char*);
4
 
5
int	debug;
6
int	rpcdebug;
7
int	style = 'u';
8
Biobuf *in;
9
Unixid *ids;
10
Unixid **pids;
11
Unixidmap *mp;
12
 
13
void
14
main(int argc, char **argv)
15
{
16
	int id, arc; char *arv[4];
17
	char *l, *name;
18
 
19
	chatty = 1;
20
	ARGBEGIN{
21
	case '9':
22
	case 'u':
23
		style = ARGC();
24
		break;
25
	case 'D':
26
		++debug;
27
		break;
28
	}ARGEND
29
	if(argc <= 0){
30
		ids = readunixids("/fd/0", style);
31
		if(ids)
32
			idprint(1, ids);
33
		exits(ids ? 0 : "readunixids");
34
	}
35
	mapinit(argv[0], 0);
36
	in = Bopen("/fd/0", OREAD);
37
	while(l = Brdline(in, '\n')){	/* assign = */
38
		l[Blinelen(in)-1] = 0;
39
		arc = strparse(l, nelem(arv), arv);
40
		if(arc <= 0)
41
			continue;
42
		switch(arv[0][0]){
43
		case 'r':
44
			if(arc < 2)
45
				continue;
46
			mapinit(arv[1], arv[2]);
47
			break;
48
		case 'i':
49
			if(arc < 2)
50
				continue;
51
			id = strtol(arv[1], 0, 10);
52
			name = id2name(pids, id);
53
			print("%d -> %s\n", id, name);
54
			break;
55
		case 'n':
56
			if(arc < 2)
57
				continue;
58
			name = arv[1];
59
			id = name2id(pids, name);
60
			print("%s -> %d\n", name, id);
61
			break;
62
		case 'p':
63
			print("server=%s, client=%s\n", mp->server, mp->client);
64
			break;
65
		case 'P':
66
			idprint(1, *pids);
67
			break;
68
		case 'u':
69
			pids = &mp->u.ids;
70
			print("users...\n");
71
			break;
72
		case 'g':
73
			pids = &mp->g.ids;
74
			print("groups...\n");
75
			break;
76
		}
77
	}
78
	exits(0);
79
}
80
 
81
void
82
mapinit(char *file, char *client)
83
{
84
	if(file){
85
		print("reading %s...\n", file);
86
		if(readunixidmaps(file) < 0)
87
			exits("readunixidmaps");
88
		if(!client)
89
		client = "nslocum.research.bell-labs.com";
90
	}
91
	print("client = %s...\n", client);
92
	mp = pair2idmap("bootes", client, 0);
93
	if(mp == 0){
94
		fprint(2, "%s: pair2idmap failed\n", argv0);
95
		exits("pair2idmap");
96
	}
97
	pids = &mp->u.ids;
98
	print("[users...]\n");
99
}