vnfs: add -i flag to allow remote root
This commit is contained in:
parent
94e1f2a438
commit
d63790eec8
4 changed files with 21 additions and 6 deletions
|
|
@ -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;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue