From: Stefan Metzmacher Date: Mon, 6 Aug 2012 08:04:48 +0000 (+0200) Subject: s3:smb2_server: add .as_root to smbd_smb2_dispatch_table X-Git-Tag: ldb-1.1.10~71 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=e01333242f149fcbdd9db3b2195c1543c3f0647f;p=thirdparty%2Fsamba.git s3:smb2_server: add .as_root to smbd_smb2_dispatch_table metze --- diff --git a/source3/smbd/smb2_server.c b/source3/smbd/smb2_server.c index 6156370c250..5fcf03c51c2 100644 --- a/source3/smbd/smb2_server.c +++ b/source3/smbd/smb2_server.c @@ -37,22 +37,35 @@ static const struct smbd_smb2_dispatch_table { const char *name; bool need_session; bool need_tcon; + bool as_root; } smbd_smb2_table[] = { #define _OP(o) .opcode = o, .name = #o { _OP(SMB2_OP_NEGPROT), + .as_root = true, },{ _OP(SMB2_OP_SESSSETUP), + .as_root = true, },{ _OP(SMB2_OP_LOGOFF), .need_session = true, + .as_root = true, },{ _OP(SMB2_OP_TCON), .need_session = true, + /* + * This call needs to be run as root. + * + * smbd_smb2_request_process_tcon() + * calls make_connection_snum(), which will call + * change_to_user(), when needed. + */ + .as_root = true, },{ _OP(SMB2_OP_TDIS), .need_session = true, .need_tcon = true, + .as_root = true, },{ _OP(SMB2_OP_CREATE), .need_session = true, @@ -83,8 +96,10 @@ static const struct smbd_smb2_dispatch_table { .need_tcon = true, },{ _OP(SMB2_OP_CANCEL), + .as_root = true, },{ _OP(SMB2_OP_KEEPALIVE), + .as_root = true, },{ _OP(SMB2_OP_FIND), .need_session = true,