Remove gen_negTokenTarg(), as it's not actually creating a TokenTarg frame, but a...
authorJeremy Allison <jra@samba.org>
Tue, 20 Jul 2010 18:04:19 +0000 (11:04 -0700)
committerJeremy Allison <jra@samba.org>
Tue, 20 Jul 2010 18:04:19 +0000 (11:04 -0700)
Move to using spnego_gen_negTokenInit() instead.

Jeremy

source3/libads/sasl.c
source3/libsmb/clifsinfo.c
source3/libsmb/clispnego.c

index b314eb9c0fd0105944524771299809f38949c0a7..277231b65cd583c068dd9e6c550a6912277dab42 100644 (file)
@@ -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);
index 2274df45855cf60fdb46bf9629827693c2a01d8a..3c8e5442ce13eee984cf834528706e411e6fa2c6 100644 (file)
@@ -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:
 
index 891f080df0790809f8bc746363c618d8bd04f9be..99d5b885127bb97b4e58cb04fdee9b53dd294641 100644 (file)
@@ -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);