vnfs: add -i flag to allow remote root

This commit is contained in:
Brian L. Stuart 2008-07-20 04:50:09 -04:00
parent 94e1f2a438
commit d63790eec8
4 changed files with 21 additions and 6 deletions

View file

@ -10,6 +10,8 @@
#include <nfs3.h>
#include "nfs3srv.h"
int insecure = 0;
static SunStatus
authunixunpack(SunRpc *rpc, SunAuthUnix *au)
{
@ -23,10 +25,12 @@ authunixunpack(SunRpc *rpc, SunAuthUnix *au)
ep = p+ai->ndata;
if(sunauthunixunpack(p, ep, &p, au) < 0)
return SunGarbageArgs;
if(au->uid == 0)
au->uid = -1;
if(au->gid == 0)
au->gid = -1;
if(!insecure){
if(au->uid == 0)
au->uid = -1;
if(au->gid == 0)
au->gid = -1;
}
return SunSuccess;
}

View file

@ -9,6 +9,8 @@ Nfs3Status fsreaddir(SunAuthUnix*, Nfs3Handle*, u32int, u64int, uchar**, u32int*
extern void nfs3proc(void*);
extern void mount3proc(void*);
extern int insecure;
enum
{
MaxDataSize = 8192

View file

@ -74,7 +74,7 @@ u64int unittoull(char*);
void
usage(void)
{
fprint(2, "usage: vnfs [-LLRVr] [-a addr] [-b blocksize] [-c cachesize] configfile\n");
fprint(2, "usage: vnfs [-LLRVir] [-a addr] [-b blocksize] [-c cachesize] configfile\n");
threadexitsall("usage");
}
@ -128,6 +128,9 @@ threadmain(int argc, char **argv)
case 'c':
cachesize = unittoull(EARGF(usage()));
break;
case 'i':
insecure = 1;
break;
case 'r':
srv->alwaysreject++;
break;