summaryrefslogtreecommitdiff
path: root/source3/smbd
diff options
context:
space:
mode:
authorJeremy Allison <jra@samba.org>1997-10-08 00:21:39 +0000
committerJeremy Allison <jra@samba.org>1997-10-08 00:21:39 +0000
commitb0bdb42bd12905f5a6990b1cdc5d33fc4a3063a5 (patch)
treecadfbd437f2146d404592cfa95b736bd4fbe34ba /source3/smbd
parented61181f29bcbc3ae483bba1bb039f4be08aeaea (diff)
downloadsamba-b0bdb42bd12905f5a6990b1cdc5d33fc4a3063a5.tar.gz
samba-b0bdb42bd12905f5a6990b1cdc5d33fc4a3063a5.tar.bz2
samba-b0bdb42bd12905f5a6990b1cdc5d33fc4a3063a5.zip
ipc.c: Added ERROR_MORE_DATA error if client buffer too small.
server.c: Allow admin_user on read only shares. I think this is safe but it needs looking at. Jeremy (jallison@whistle.com) (This used to be commit cc50955a2760f1de7e80b91408a7c0806f6eb44c)
Diffstat (limited to 'source3/smbd')
-rw-r--r--source3/smbd/ipc.c2
-rw-r--r--source3/smbd/server.c13
2 files changed, 12 insertions, 3 deletions
diff --git a/source3/smbd/ipc.c b/source3/smbd/ipc.c
index b9355c4ec0..6da9562c9f 100644
--- a/source3/smbd/ipc.c
+++ b/source3/smbd/ipc.c
@@ -1074,7 +1074,7 @@ static BOOL api_RNetServerEnum(int cnum, uint16 vuid, char *param, char *data,
*rparam_len = 8;
*rparam = REALLOC(*rparam,*rparam_len);
- SSVAL(*rparam,0,NERR_Success);
+ SSVAL(*rparam,0,(missed == 0 ? NERR_Success : ERROR_MORE_DATA));
SSVAL(*rparam,2,0);
SSVAL(*rparam,4,counted);
SSVAL(*rparam,6,counted+missed);
diff --git a/source3/smbd/server.c b/source3/smbd/server.c
index 92c219c71b..290181fb9e 100644
--- a/source3/smbd/server.c
+++ b/source3/smbd/server.c
@@ -3167,8 +3167,17 @@ int make_connection(char *service,char *user,char *password, int pwlen, char *de
}
/* admin user check */
- if (user_in_list(user,lp_admin_users(snum)) &&
- !pcon->read_only)
+
+ /* JRA - original code denied admin user if the share was
+ marked read_only. Changed as I don't think this is needed,
+ but old code left in case there is a problem here.
+ */
+ if (user_in_list(user,lp_admin_users(snum))
+#if 0
+ && !pcon->read_only)
+#else
+ )
+#endif
{
pcon->admin_user = True;
DEBUG(0,("%s logged in as admin user (root privileges)\n",user));