u9fs/authrhosts.c

40 lines
766 B
C

#include <plan9.h>
#include <fcall.h>
#include <u9fs.h>
#include <netdb.h>
/*
* return whether the user is authenticated.
* uses berkeley-style rhosts ``authentication''.
* this is only a good idea behind a firewall,
* where you trust your network, and even then
* not such a great idea. it's grandfathered.
*/
static char*
rhostsauth(Fcall *rx, Fcall *tx)
{
USED(rx);
USED(tx);
return "u9fs rhostsauth: no authentication required";
}
static char*
rhostsattach(Fcall *rx, Fcall *tx)
{
USED(tx);
if(ruserok(remotehostname, 0, rx->uname, rx->uname) < 0){
fprint(2, "ruserok(%s, %s) not okay\n", remotehostname, rx->uname);
return "u9fs: rhosts authentication failed";
}
return 0;
}
Auth authrhosts = {
"rhosts",
rhostsauth,
rhostsattach,
};