diff options
author | Jeremy Allison <jra@samba.org> | 2003-08-12 04:28:22 +0000 |
---|---|---|
committer | Jeremy Allison <jra@samba.org> | 2003-08-12 04:28:22 +0000 |
commit | 4511b334a8f68048d176dd381b9f1a3530a0a8cd (patch) | |
tree | 6261a44475a4ecc46e8be5906f1131706e7b5fd9 | |
parent | aed1610ec22bb3eb283f548892fb9e00917df5f7 (diff) | |
download | samba-4511b334a8f68048d176dd381b9f1a3530a0a8cd.tar.gz samba-4511b334a8f68048d176dd381b9f1a3530a0a8cd.tar.bz2 samba-4511b334a8f68048d176dd381b9f1a3530a0a8cd.zip |
Test invalid map system, map hidden, create mask, force create mask
parameters. Fix return code for Samba 4 torture tester.
Jeremy.
(This used to be commit c043835c878ff062cb6eede02334f9e0ebb01050)
-rw-r--r-- | source3/smbd/reply.c | 2 | ||||
-rw-r--r-- | source3/utils/testparm.c | 21 |
2 files changed, 22 insertions, 1 deletions
diff --git a/source3/smbd/reply.c b/source3/smbd/reply.c index 71312295f4..869123a1fe 100644 --- a/source3/smbd/reply.c +++ b/source3/smbd/reply.c @@ -1229,7 +1229,7 @@ static NTSTATUS can_delete(char *fname,connection_struct *conn, int dirtype) return NT_STATUS_CANNOT_DELETE; } if ((fmode & ~dirtype) & (aHIDDEN | aSYSTEM)) - return NT_STATUS_CANNOT_DELETE; + return NT_STATUS_NO_SUCH_FILE; /* We need a better way to return NT status codes from open... */ unix_ERR_class = 0; diff --git a/source3/utils/testparm.c b/source3/utils/testparm.c index 16918ecd4a..bb89e4ebf2 100644 --- a/source3/utils/testparm.c +++ b/source3/utils/testparm.c @@ -287,6 +287,27 @@ via the %%o substitution. With encrypted passwords this is not possible.\n", lp_ Level II oplocks can only be set if oplocks are also set.\n", lp_servicename(s) ); } + + if (lp_map_hidden(s) && !(lp_create_mask(s) & S_IXOTH)) { + printf("Invalid combination of parameters for service %s. \ + Map hidden can only work if create mask includes octal 01 (S_IXOTH).\n", + lp_servicename(s) ); + } + if (lp_map_hidden(s) && (lp_force_create_mode(s) & S_IXOTH)) { + printf("Invalid combination of parameters for service %s. \ + Map hidden can only work if force create mode excludes octal 01 (S_IXOTH).\n", + lp_servicename(s) ); + } + if (lp_map_system(s) && !(lp_create_mask(s) & S_IXGRP)) { + printf("Invalid combination of parameters for service %s. \ + Map hidden can only work if create mask includes octal 010 (S_IXGRP).\n", + lp_servicename(s) ); + } + if (lp_map_system(s) && (lp_force_create_mode(s) & S_IXGRP)) { + printf("Invalid combination of parameters for service %s. \ + Map hidden can only work if force create mode excludes octal 010 (S_IXGRP).\n", + lp_servicename(s) ); + } } } |