r9242: Fix my fix for #2953. I'd moved too much code until after we verify the user,
authorJim McDonough <jmcd@samba.org>
Thu, 11 Aug 2005 19:45:53 +0000 (19:45 +0000)
committerGerald (Jerry) Carter <jerry@samba.org>
Wed, 10 Oct 2007 16:00:28 +0000 (11:00 -0500)
causing netlogon to return an invalid response for failed interactive logons.
(This used to be commit 4deb918b682fb51d8712cfdafc6210275dd10fc4)

source3/rpc_server/srv_netlog_nt.c

index 0af8b14fe216f1d90581e5172e37eaf98336856d..388d649c3c161d8a84c12c9e2c074848f6fe4673 100644 (file)
@@ -606,6 +606,9 @@ NTSTATUS _net_sam_logon(pipes_struct *p, NET_Q_SAM_LOGON *q_u, NET_R_SAM_LOGON *
        if (!(p->dc.authenticated && deal_with_creds(p->dc.sess_key, &p->dc.clnt_cred, &q_u->sam_id.client.cred, &srv_cred)))
                return NT_STATUS_INVALID_HANDLE;
 
+       r_u->buffer_creds = 1; /* yes, we have valid server credentials */
+       memcpy(&r_u->srv_creds, &srv_cred, sizeof(r_u->srv_creds));
+
        /* find the username */
     
        switch (q_u->sam_id.logon_level) {
@@ -723,9 +726,6 @@ NTSTATUS _net_sam_logon(pipes_struct *p, NET_Q_SAM_LOGON *q_u, NET_R_SAM_LOGON *
        reseed_client_creds(&p->dc.clnt_cred, &q_u->sam_id.client.cred);
        memcpy(&p->dc.srv_cred, &p->dc.clnt_cred, sizeof(p->dc.clnt_cred));
     
-       r_u->buffer_creds = 1; /* yes, we have valid server credentials */
-       memcpy(&r_u->srv_creds, &srv_cred, sizeof(r_u->srv_creds));
-
        if (server_info->guest) {
                /* We don't like guest domain logons... */
                DEBUG(5,("_net_sam_logon: Attempted domain logon as GUEST denied.\n"));