Fix bug 8314] - smbd crash with unknown user.
authorJeremy Allison <jra@samba.org>
Fri, 22 Jul 2011 23:40:54 +0000 (16:40 -0700)
committerKarolin Seeger <kseeger@samba.org>
Sat, 30 Jun 2012 12:00:51 +0000 (14:00 +0200)
All other auth modules code with being called with
auth_method->private_data being NULL, make the auth_server
module cope with this too.

Autobuild-User: Jeremy Allison <jra@samba.org>
Autobuild-Date: Sat Jul 23 02:55:01 CEST 2011 on sn-devel-104
(cherry picked from commit 1832c9591099be941ef3afe7b0381c4af61f4728)
(cherry picked from commit c352832e2fadf1207cadef525bf21068f1d1ee1b)

source3/auth/auth_server.c

index 287b50b080ff437edc11b69a9c22c6e38634da82..bc3804115e5fef9b09b17ca5085de83089c008f3 100644 (file)
@@ -273,14 +273,23 @@ static NTSTATUS check_smbserver_security(const struct auth_context *auth_context
                                         const auth_usersupplied_info *user_info, 
                                         auth_serversupplied_info **server_info)
 {
-       struct server_security_state *state = talloc_get_type_abort(
-               my_private_data, struct server_security_state);
-       struct cli_state *cli;
+       struct server_security_state *state = NULL;
+       struct cli_state *cli = NULL;
        static bool tested_password_server = False;
        static bool bad_password_server = False;
        NTSTATUS nt_status = NT_STATUS_NOT_IMPLEMENTED;
        bool locally_made_cli = False;
 
+       DEBUG(10, ("check_smbserver_security: Check auth for: [%s]\n",
+               user_info->smb_name));
+
+       if (my_private_data == NULL) {
+               DEBUG(10,("check_smbserver_security: "
+                       "password server is not connected\n"));
+               return NT_STATUS_LOGON_FAILURE;
+       }
+
+       state = talloc_get_type_abort(my_private_data, struct server_security_state);
        cli = state->cli;
        
        if (cli) {