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