Move create_share_access_mask() from smbd/service.c to smbd/uid.c.
authorJeremy Allison <jra@samba.org>
Fri, 4 Jan 2013 22:42:23 +0000 (14:42 -0800)
committerAndrew Bartlett <abartlet@samba.org>
Wed, 9 Jan 2013 04:29:35 +0000 (15:29 +1100)
Make it static. Only called from uid.c now.

Signed-off-by: Jeremy Allison <jra@samba.org>
Reviewed-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
source3/smbd/proto.h
source3/smbd/service.c
source3/smbd/uid.c

index e8ee8733a4ac81b71e6ea96c2bb1714e91c8cd58..772730203f4b3c32e7a8572133d1d6537f9036d3 100644 (file)
@@ -979,9 +979,6 @@ void smbd_exit_server_cleanly(const char *const reason) _NORETURN_;
 
 bool set_conn_connectpath(connection_struct *conn, const char *connectpath);
 NTSTATUS set_conn_force_user_group(connection_struct *conn, int snum);
-uint32_t create_share_access_mask(int snum,
-                       bool readonly_share,
-                       const struct security_token *token);
 bool set_current_service(connection_struct *conn, uint16 flags, bool do_chdir);
 void load_registry_shares(void);
 int add_home_service(const char *service, const char *username, const char *homedir);
index fabc5a36ac8e250c5957ed9acbc7346081fe7130..8f6d4859b08242b982c7e9ee7f9433deb18d7755 100644 (file)
@@ -511,44 +511,6 @@ NTSTATUS set_conn_force_user_group(connection_struct *conn, int snum)
        return NT_STATUS_OK;
 }
 
-/****************************************************************************
-  Setup the share access mask for a connection.
-****************************************************************************/
-
-uint32_t create_share_access_mask(int snum,
-                               bool readonly_share,
-                               const struct security_token *token)
-{
-       uint32_t share_access = 0;
-
-       share_access_check(token,
-                       lp_servicename(talloc_tos(), snum),
-                       MAXIMUM_ALLOWED_ACCESS,
-                       &share_access);
-
-       if (readonly_share) {
-               share_access &=
-                       ~(SEC_FILE_WRITE_DATA | SEC_FILE_APPEND_DATA |
-                         SEC_FILE_WRITE_EA | SEC_FILE_WRITE_ATTRIBUTE |
-                         SEC_DIR_DELETE_CHILD );
-       }
-
-       if (security_token_has_privilege(token, SEC_PRIV_SECURITY)) {
-               share_access |= SEC_FLAG_SYSTEM_SECURITY;
-       }
-       if (security_token_has_privilege(token, SEC_PRIV_RESTORE)) {
-               share_access |= (SEC_RIGHTS_PRIV_RESTORE);
-       }
-       if (security_token_has_privilege(token, SEC_PRIV_BACKUP)) {
-               share_access |= (SEC_RIGHTS_PRIV_BACKUP);
-       }
-       if (security_token_has_privilege(token, SEC_PRIV_TAKE_OWNERSHIP)) {
-               share_access |= (SEC_STD_WRITE_OWNER);
-       }
-
-       return share_access;
-}
-
 /****************************************************************************
   Make a connection, given the snum to connect to, and the vuser of the
   connecting user if appropriate.
index efdd824342072696ae6f1a1d4a8551cf30bfd1d2..b9cebce71accf989dbb4fe1e1ea6c43a9811bd89 100644 (file)
@@ -78,6 +78,44 @@ static void free_conn_session_info_if_unused(connection_struct *conn)
        TALLOC_FREE(conn->session_info);
 }
 
+/****************************************************************************
+  Setup the share access mask for a connection.
+****************************************************************************/
+
+static uint32_t create_share_access_mask(int snum,
+                               bool readonly_share,
+                               const struct security_token *token)
+{
+       uint32_t share_access = 0;
+
+       share_access_check(token,
+                       lp_servicename(talloc_tos(), snum),
+                       MAXIMUM_ALLOWED_ACCESS,
+                       &share_access);
+
+       if (readonly_share) {
+               share_access &=
+                       ~(SEC_FILE_WRITE_DATA | SEC_FILE_APPEND_DATA |
+                         SEC_FILE_WRITE_EA | SEC_FILE_WRITE_ATTRIBUTE |
+                         SEC_DIR_DELETE_CHILD );
+       }
+
+       if (security_token_has_privilege(token, SEC_PRIV_SECURITY)) {
+               share_access |= SEC_FLAG_SYSTEM_SECURITY;
+       }
+       if (security_token_has_privilege(token, SEC_PRIV_RESTORE)) {
+               share_access |= (SEC_RIGHTS_PRIV_RESTORE);
+       }
+       if (security_token_has_privilege(token, SEC_PRIV_BACKUP)) {
+               share_access |= (SEC_RIGHTS_PRIV_BACKUP);
+       }
+       if (security_token_has_privilege(token, SEC_PRIV_TAKE_OWNERSHIP)) {
+               share_access |= (SEC_STD_WRITE_OWNER);
+       }
+
+       return share_access;
+}
+
 /*******************************************************************
  Calculate access mask and if this user can access this share.
 ********************************************************************/