The branch, master has been updated
       via  c186f92... s3: [ug]id_to_unix_... can not fail
      from  c6a6d88... README.Coding: fix typos

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master


- Log -----------------------------------------------------------------
commit c186f92437a918a256b84be84dcf6de569f0cc20
Author: Volker Lendecke <[email protected]>
Date:   Sun Jul 11 17:30:53 2010 +0200

    s3: [ug]id_to_unix_... can not fail
    
    Remove some silly failure checks

-----------------------------------------------------------------------

Summary of changes:
 source3/auth/auth_util.c       |   12 +++---------
 source3/auth/token_util.c      |    7 ++-----
 source3/include/proto.h        |    4 ++--
 source3/passdb/util_unixsids.c |   16 ++++++++++++----
 4 files changed, 19 insertions(+), 20 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source3/auth/auth_util.c b/source3/auth/auth_util.c
index 32f9d13..16fa421 100644
--- a/source3/auth/auth_util.c
+++ b/source3/auth/auth_util.c
@@ -498,20 +498,14 @@ NTSTATUS create_local_token(struct 
auth_serversupplied_info *server_info)
         * the nt token.
         */
 
-       if (!uid_to_unix_users_sid(server_info->utok.uid, &tmp_sid)) {
-               DEBUG(1,("create_local_token: Failed to create SID "
-                       "for uid %u!\n", (unsigned int)server_info->utok.uid));
-       }
+       uid_to_unix_users_sid(server_info->utok.uid, &tmp_sid);
+
        add_sid_to_array_unique(server_info->ptok, &tmp_sid,
                                &server_info->ptok->user_sids,
                                &server_info->ptok->num_sids);
 
        for ( i=0; i<server_info->utok.ngroups; i++ ) {
-               if (!gid_to_unix_groups_sid( server_info->utok.groups[i], 
&tmp_sid ) ) {
-                       DEBUG(1,("create_local_token: Failed to create SID "
-                               "for gid %u!\n", (unsigned 
int)server_info->utok.groups[i]));
-                       continue;
-               }
+               gid_to_unix_groups_sid(server_info->utok.groups[i], &tmp_sid);
                add_sid_to_array_unique(server_info->ptok, &tmp_sid,
                                        &server_info->ptok->user_sids,
                                        &server_info->ptok->num_sids);
diff --git a/source3/auth/token_util.c b/source3/auth/token_util.c
index 660fcf6..3a288dd 100644
--- a/source3/auth/token_util.c
+++ b/source3/auth/token_util.c
@@ -926,11 +926,8 @@ NTSTATUS create_token_from_username(TALLOC_CTX *mem_ctx, 
const char *username,
                if ( lp_idmap_gid(&low, &high) && (gids[i] >= low) && (gids[i] 
<= high) )
                        continue;
 
-               if ( !gid_to_unix_groups_sid( gids[i], &unix_group_sid ) ) {
-                       DEBUG(1,("create_token_from_username: Failed to create 
SID "
-                               "for gid %u!\n", (unsigned int)gids[i]));
-                       continue;
-               }
+               gid_to_unix_groups_sid(gids[i], &unix_group_sid);
+
                result = add_sid_to_array_unique(tmp_ctx, &unix_group_sid,
                                                 &group_sids, &num_group_sids);
                if (!NT_STATUS_IS_OK(result)) {
diff --git a/source3/include/proto.h b/source3/include/proto.h
index 860e19d..c0ff722 100644
--- a/source3/include/proto.h
+++ b/source3/include/proto.h
@@ -4623,8 +4623,8 @@ bool sid_check_is_in_builtin(const struct dom_sid *sid);
 
 bool sid_check_is_unix_users(const struct dom_sid *sid);
 bool sid_check_is_in_unix_users(const struct dom_sid *sid);
-bool uid_to_unix_users_sid(uid_t uid, struct dom_sid *sid);
-bool gid_to_unix_groups_sid(gid_t gid, struct dom_sid *sid);
+void uid_to_unix_users_sid(uid_t uid, struct dom_sid *sid);
+void gid_to_unix_groups_sid(gid_t gid, struct dom_sid *sid);
 const char *unix_users_domain_name(void);
 bool lookup_unix_user_name(const char *name, struct dom_sid *sid);
 bool sid_check_is_unix_groups(const struct dom_sid *sid);
diff --git a/source3/passdb/util_unixsids.c b/source3/passdb/util_unixsids.c
index 08c887e..0894804 100644
--- a/source3/passdb/util_unixsids.c
+++ b/source3/passdb/util_unixsids.c
@@ -35,14 +35,22 @@ bool sid_check_is_in_unix_users(const struct dom_sid *sid)
        return sid_check_is_unix_users(&dom_sid);
 }
 
-bool uid_to_unix_users_sid(uid_t uid, struct dom_sid *sid)
+void uid_to_unix_users_sid(uid_t uid, struct dom_sid *sid)
 {
-       return sid_compose(sid, &global_sid_Unix_Users, uid);
+       /*
+        * This can never fail, we know that global_sid_Unix_Users is
+        * short enough for a domain sid.
+        */
+       sid_compose(sid, &global_sid_Unix_Users, uid);
 }
 
-bool gid_to_unix_groups_sid(gid_t gid, struct dom_sid *sid)
+void gid_to_unix_groups_sid(gid_t gid, struct dom_sid *sid)
 {
-       return sid_compose(sid, &global_sid_Unix_Groups, gid);
+       /*
+        * This can never fail, we know that global_sid_Unix_Groups is
+        * short enough for a domain sid.
+        */
+       sid_compose(sid, &global_sid_Unix_Groups, gid);
 }
 
 const char *unix_users_domain_name(void)


-- 
Samba Shared Repository

Reply via email to