Revert "auth4: Do not generate just a temporary wbc_context"
authorVolker Lendecke <vl@samba.org>
Tue, 18 Feb 2014 08:49:56 +0000 (09:49 +0100)
committerVolker Lendecke <vl@samba.org>
Tue, 18 Feb 2014 09:29:01 +0000 (10:29 +0100)
This reverts commit 5124a9e1183de990ca3146cd355152094495a779.

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
source4/auth/ntlm/auth.c

index ccfd20ad05f7cd259c5144d73ca88191f391528a..a8c257f94aef1786fb1a864d85d9ec7317120259 100644 (file)
@@ -461,12 +461,21 @@ static NTSTATUS auth_generate_session_info_wrapper(struct auth4_context *auth_co
 
        if ((session_info_flags & AUTH_SESSION_INFO_UNIX_TOKEN)
            && NT_STATUS_IS_OK(status)) {
-               status = auth_session_info_fill_unix(auth_context->event_ctx,
+               struct wbc_context *wbc_ctx = wbc_init(auth_context,
+                                                      auth_context->msg_ctx,
+                                                      auth_context->event_ctx);
+               if (!wbc_ctx) {
+                       TALLOC_FREE(*session_info);
+                       DEBUG(1, ("Cannot contact winbind to provide unix token\n"));
+                       return NT_STATUS_INVALID_SERVER_STATE;
+               }
+               status = auth_session_info_fill_unix(wbc_ctx->event_ctx,
                                                     auth_context->lp_ctx,
                                                     original_user_name, *session_info);
                if (!NT_STATUS_IS_OK(status)) {
                        TALLOC_FREE(*session_info);
                }
+               TALLOC_FREE(wbc_ctx);
        }
        return status;
 }