Ignore:
Timestamp:
Mar 12, 2008, 9:08:18 AM (17 years ago)
Author:
Paul Smedley
Message:

Update source to 3.0.28a

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/samba-3.0/source/smbd/sesssetup.c

    r105 r124  
    629629                auth_ntlmssp_end(auth_ntlmssp_state);
    630630                /* Kill the intermediate vuid */
    631                 invalidate_vuid(vuid);
     631                invalidate_intermediate_vuid(vuid);
    632632        }
    633633
     
    695695        if (!NT_STATUS_IS_OK(status)) {
    696696                /* Kill the intermediate vuid */
    697                 invalidate_vuid(vuid);
     697                invalidate_intermediate_vuid(vuid);
    698698                return ERROR_NT(nt_status_squash(status));
    699699        }
     
    709709                if (destroy_vuid) {
    710710                        /* Kill the intermediate vuid */
    711                         invalidate_vuid(vuid);
     711                        invalidate_intermediate_vuid(vuid);
    712712                }
    713713                return ret;
    714714        }
    715715#endif
     716
     717        if (got_kerberos_mechanism) {
     718                invalidate_intermediate_vuid(vuid);
     719                DEBUG(3,("reply_spnego_negotiate: network "
     720                        "misconfiguration, client sent us a "
     721                        "krb5 ticket and kerberos security "
     722                        "not enabled"));
     723                return ERROR_NT(nt_status_squash(NT_STATUS_LOGON_FAILURE));
     724        }
    716725
    717726        if (*auth_ntlmssp_state) {
     
    722731        if (!NT_STATUS_IS_OK(status)) {
    723732                /* Kill the intermediate vuid */
    724                 invalidate_vuid(vuid);
     733                invalidate_intermediate_vuid(vuid);
    725734                return ERROR_NT(nt_status_squash(status));
    726735        }
     
    760769#endif
    761770                /* Kill the intermediate vuid */
    762                 invalidate_vuid(vuid);
    763 
    764                 return ERROR_NT(nt_status_squash(NT_STATUS_INVALID_PARAMETER));
     771                invalidate_intermediate_vuid(vuid);
     772
     773                return ERROR_NT(nt_status_squash(NT_STATUS_LOGON_FAILURE));
    765774        }
    766775
     
    781790                                if (destroy_vuid) {
    782791                                        /* Kill the intermediate vuid */
    783                                         invalidate_vuid(vuid);
     792                                        invalidate_intermediate_vuid(vuid);
    784793                                }
    785794                                return ret;
     
    791800        /* If we get here it wasn't a negTokenTarg auth packet. */
    792801        data_blob_free(&secblob);
    793        
     802
    794803        if (!*auth_ntlmssp_state) {
    795804                /* Kill the intermediate vuid */
    796                 invalidate_vuid(vuid);
     805                invalidate_intermediate_vuid(vuid);
    797806
    798807                /* auth before negotiatiate? */
    799                 return ERROR_NT(nt_status_squash(NT_STATUS_INVALID_PARAMETER));
    800         }
    801        
    802         status = auth_ntlmssp_update(*auth_ntlmssp_state, 
     808                return ERROR_NT(NT_STATUS_LOGON_FAILURE);
     809        }
     810
     811        status = auth_ntlmssp_update(*auth_ntlmssp_state,
    803812                                        auth, &auth_reply);
    804813
    805814        data_blob_free(&auth);
    806815
    807         reply_spnego_ntlmssp(conn, inbuf, outbuf, vuid, 
     816        reply_spnego_ntlmssp(conn, inbuf, outbuf, vuid,
    808817                             auth_ntlmssp_state,
    809818                             &auth_reply, status, True);
    810                
     819
    811820        data_blob_free(&auth_reply);
    812821
     
    11171126                if (!NT_STATUS_EQUAL(status, NT_STATUS_MORE_PROCESSING_REQUIRED)) {
    11181127                        /* Real error - kill the intermediate vuid */
    1119                         invalidate_vuid(vuid);
     1128                        invalidate_intermediate_vuid(vuid);
    11201129                }
    11211130                data_blob_free(&blob1);
     
    11451154                        if (!NT_STATUS_IS_OK(status)) {
    11461155                                /* Kill the intermediate vuid */
    1147                                 invalidate_vuid(vuid);
     1156                                invalidate_intermediate_vuid(vuid);
    11481157                                data_blob_free(&blob1);
    11491158                                return ERROR_NT(nt_status_squash(status));
Note: See TracChangeset for help on using the changeset viewer.