mirror of
https://github.com/samba-team/samba.git
synced 2025-02-22 05:57:43 +03:00
Remove gen_negTokenTarg(), as it's not actually creating a TokenTarg frame, but a TokenInit one.
Move to using spnego_gen_negTokenInit() instead. Jeremy
This commit is contained in:
parent
668744964d
commit
8a882b645c
@ -508,7 +508,7 @@ static ADS_STATUS ads_sasl_spnego_gsskrb5_bind(ADS_STRUCT *ads, const gss_name_t
|
||||
|
||||
/* and wrap that in a shiny SPNEGO wrapper */
|
||||
unwrapped = data_blob_const(output_token.value, output_token.length);
|
||||
wrapped = gen_negTokenTarg(spnego_mechs, unwrapped);
|
||||
wrapped = spnego_gen_negTokenInit(spnego_mechs, &unwrapped, NULL);
|
||||
gss_release_buffer(&minor_status, &output_token);
|
||||
if (unwrapped.length > wrapped.length) {
|
||||
status = ADS_ERROR_NT(NT_STATUS_NO_MEMORY);
|
||||
|
@ -801,7 +801,7 @@ static NTSTATUS make_cli_gss_blob(struct smb_trans_enc_state *es,
|
||||
blob_out = data_blob(tok_out.value, tok_out.length);
|
||||
|
||||
/* Wrap in an SPNEGO wrapper */
|
||||
*p_blob_out = gen_negTokenTarg(krb_mechs, blob_out);
|
||||
*p_blob_out = spnego_gen_negTokenInit(krb_mechs, &blob_out, NULL);
|
||||
|
||||
fail:
|
||||
|
||||
|
@ -213,52 +213,6 @@ bool spnego_parse_negTokenInit(DATA_BLOB blob,
|
||||
return ret;
|
||||
}
|
||||
|
||||
/*
|
||||
generate a negTokenTarg packet given a list of OIDs and a security blob
|
||||
*/
|
||||
DATA_BLOB gen_negTokenTarg(const char *OIDs[], DATA_BLOB blob)
|
||||
{
|
||||
int i;
|
||||
ASN1_DATA *data;
|
||||
DATA_BLOB ret;
|
||||
|
||||
data = asn1_init(talloc_tos());
|
||||
if (data == NULL) {
|
||||
return data_blob_null;
|
||||
}
|
||||
|
||||
asn1_push_tag(data, ASN1_APPLICATION(0));
|
||||
asn1_write_OID(data,OID_SPNEGO);
|
||||
asn1_push_tag(data, ASN1_CONTEXT(0));
|
||||
asn1_push_tag(data, ASN1_SEQUENCE(0));
|
||||
|
||||
asn1_push_tag(data, ASN1_CONTEXT(0));
|
||||
asn1_push_tag(data, ASN1_SEQUENCE(0));
|
||||
for (i=0; OIDs[i]; i++) {
|
||||
asn1_write_OID(data,OIDs[i]);
|
||||
}
|
||||
asn1_pop_tag(data);
|
||||
asn1_pop_tag(data);
|
||||
|
||||
asn1_push_tag(data, ASN1_CONTEXT(2));
|
||||
asn1_write_OctetString(data,blob.data,blob.length);
|
||||
asn1_pop_tag(data);
|
||||
|
||||
asn1_pop_tag(data);
|
||||
asn1_pop_tag(data);
|
||||
|
||||
asn1_pop_tag(data);
|
||||
|
||||
if (data->has_error) {
|
||||
DEBUG(1,("Failed to build negTokenTarg at offset %d\n", (int)data->ofs));
|
||||
}
|
||||
|
||||
ret = data_blob(data->data, data->length);
|
||||
asn1_free(data);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
/*
|
||||
generate a krb5 GSS-API wrapper packet given a ticket
|
||||
*/
|
||||
@ -357,7 +311,7 @@ int spnego_gen_negTokenTarg(const char *principal, int time_offset,
|
||||
tkt_wrapped = spnego_gen_krb5_wrap(tkt, TOK_ID_KRB_AP_REQ);
|
||||
|
||||
/* and wrap that in a shiny SPNEGO wrapper */
|
||||
*targ = gen_negTokenTarg(krb_mechs, tkt_wrapped);
|
||||
*targ = spnego_gen_negTokenInit(krb_mechs, &tkt_wrapped, NULL);
|
||||
|
||||
data_blob_free(&tkt_wrapped);
|
||||
data_blob_free(&tkt);
|
||||
|
Loading…
x
Reference in New Issue
Block a user