From b0bdb42bd12905f5a6990b1cdc5d33fc4a3063a5 Mon Sep 17 00:00:00 2001 From: Jeremy Allison Date: Wed, 8 Oct 1997 00:21:39 +0000 Subject: 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) --- source3/smbd/ipc.c | 2 +- source3/smbd/server.c | 13 +++++++++++-- 2 files changed, 12 insertions(+), 3 deletions(-) (limited to 'source3/smbd') 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)); -- cgit