xref: /plan9/sys/src/cmd/unix/u9fs/authrhosts.c (revision 9a747e4fd48b9f4522c70c07e8f882a15030f964)
1 #include <plan9.h>
2 #include <fcall.h>
3 #include <u9fs.h>
4 
5 /*
6  * return whether the user is authenticated.
7  * uses berkeley-style rhosts ``authentication''.
8  * this is only a good idea behind a firewall,
9  * where you trust your network, and even then
10  * not such a great idea.  it's grandfathered.
11  */
12 
13 static char*
rhostsauth(Fcall * rx,Fcall * tx)14 rhostsauth(Fcall *rx, Fcall *tx)
15 {
16 	USED(rx);
17 	USED(tx);
18 
19 	return "u9fs rhostsauth: no authentication required";
20 }
21 
22 static char*
rhostsattach(Fcall * rx,Fcall * tx)23 rhostsattach(Fcall *rx, Fcall *tx)
24 {
25 	USED(tx);
26 
27 	if(ruserok(remotehostname, 0, rx->uname, rx->uname) < 0){
28 		fprint(2, "ruserok(%s, %s) not okay\n", remotehostname, rx->uname);
29 		return "u9fs: rhosts authentication failed";
30 	}
31 	return 0;
32 }
33 
34 Auth authrhosts = {
35 	"rhosts",
36 	rhostsauth,
37 	rhostsattach,
38 };
39