Author: vlendec
Date: 2006-07-13 15:37:58 +0000 (Thu, 13 Jul 2006)
New Revision: 17011

WebSVN: 
http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=17011

Log:
Back out r17010 after talking to Jerry. Another fix pending...

Volker
Modified:
   branches/SAMBA_3_0/source/auth/auth_util.c
   trunk/source/auth/auth_util.c


Changeset:
Modified: branches/SAMBA_3_0/source/auth/auth_util.c
===================================================================
--- branches/SAMBA_3_0/source/auth/auth_util.c  2006-07-13 15:03:46 UTC (rev 
17010)
+++ branches/SAMBA_3_0/source/auth/auth_util.c  2006-07-13 15:37:58 UTC (rev 
17011)
@@ -958,48 +958,23 @@
                                                    &server_info->gid,
                                                    &server_info->unix_name,
                                                    &server_info->ptok);
-               if (!NT_STATUS_IS_OK(status)) {
-                       TALLOC_FREE(mem_ctx);
-                       return status;
-               }
+               
        } else {
-               struct nt_user_token *token;
-
-               token = create_local_nt_token(
+               server_info->ptok = create_local_nt_token(
                        server_info,
                        pdb_get_user_sid(server_info->sam_account),
                        pdb_get_group_sid(server_info->sam_account),
                        server_info->guest,
                        server_info->num_sids, server_info->sids);
-
-               if (token == NULL) {
-                       TALLOC_FREE(mem_ctx);
-                       return NT_STATUS_NO_SUCH_USER;
-               }
-
-               /*
-                * We need to add the unix user sid as not necessarily the
-                * unix username resolves to the domain user sid. This is an
-                * artifact of an incomplete lookup_name/sid implementation
-                * when winbind is not around.
-                */
-
-               if (!winbind_ping()) {
-                       DOM_SID unix_user_sid;
-                       uid_to_unix_users_sid(server_info->uid,
-                                             &unix_user_sid);
-
-                       add_sid_to_array(token, &unix_user_sid,
-                                        &token->user_sids, &token->num_sids);
-                       if (token->user_sids == NULL) {
-                               TALLOC_FREE(mem_ctx);
-                               return NT_STATUS_NO_MEMORY;
-                       }
-               }
-               server_info->ptok = token;
-               status = NT_STATUS_OK;
+               status = server_info->ptok ?
+                       NT_STATUS_OK : NT_STATUS_NO_SUCH_USER;
        }
 
+       if (!NT_STATUS_IS_OK(status)) {
+               TALLOC_FREE(mem_ctx);
+               return status;
+       }
+       
        /* Convert the SIDs to gids. */
 
        server_info->n_groups = 0;

Modified: trunk/source/auth/auth_util.c
===================================================================
--- trunk/source/auth/auth_util.c       2006-07-13 15:03:46 UTC (rev 17010)
+++ trunk/source/auth/auth_util.c       2006-07-13 15:37:58 UTC (rev 17011)
@@ -958,48 +958,23 @@
                                                    &server_info->gid,
                                                    &server_info->unix_name,
                                                    &server_info->ptok);
-               if (!NT_STATUS_IS_OK(status)) {
-                       TALLOC_FREE(mem_ctx);
-                       return status;
-               }
+               
        } else {
-               struct nt_user_token *token;
-
-               token = create_local_nt_token(
+               server_info->ptok = create_local_nt_token(
                        server_info,
                        pdb_get_user_sid(server_info->sam_account),
                        pdb_get_group_sid(server_info->sam_account),
                        server_info->guest,
                        server_info->num_sids, server_info->sids);
-
-               if (token == NULL) {
-                       TALLOC_FREE(mem_ctx);
-                       return NT_STATUS_NO_SUCH_USER;
-               }
-
-               /*
-                * We need to add the unix user sid as not necessarily the
-                * unix username resolves to the domain user sid. This is an
-                * artifact of an incomplete lookup_name/sid implementation
-                * when winbind is not around.
-                */
-
-               if (!winbind_ping()) {
-                       DOM_SID unix_user_sid;
-                       uid_to_unix_users_sid(server_info->uid,
-                                             &unix_user_sid);
-
-                       add_sid_to_array(token, &unix_user_sid,
-                                        &token->user_sids, &token->num_sids);
-                       if (token->user_sids == NULL) {
-                               TALLOC_FREE(mem_ctx);
-                               return NT_STATUS_NO_MEMORY;
-                       }
-               }
-               server_info->ptok = token;
-               status = NT_STATUS_OK;
+               status = server_info->ptok ?
+                       NT_STATUS_OK : NT_STATUS_NO_SUCH_USER;
        }
 
+       if (!NT_STATUS_IS_OK(status)) {
+               TALLOC_FREE(mem_ctx);
+               return status;
+       }
+       
        /* Convert the SIDs to gids. */
 
        server_info->n_groups = 0;

Reply via email to