summaryrefslogtreecommitdiff
path: root/source3/libsmb/clikrb5.c
diff options
context:
space:
mode:
authorAndrew Tridgell <tridge@samba.org>2001-10-11 10:29:17 +0000
committerAndrew Tridgell <tridge@samba.org>2001-10-11 10:29:17 +0000
commit8edc45ec4c467e5069875808d0abd9452e7b056c (patch)
treeb29f1adce1adb23cd31d014b4342ed9a09f17fab /source3/libsmb/clikrb5.c
parent8cec5cf35f17568009c70d37bb8b2a1f360d3422 (diff)
downloadsamba-8edc45ec4c467e5069875808d0abd9452e7b056c.tar.gz
samba-8edc45ec4c467e5069875808d0abd9452e7b056c.tar.bz2
samba-8edc45ec4c467e5069875808d0abd9452e7b056c.zip
fixed some memory leaks, started adding asn1 decoder for server side
(This used to be commit 919734c1a6fd8b3bd0e12e96d878f47b6d6ff5e0)
Diffstat (limited to 'source3/libsmb/clikrb5.c')
-rw-r--r--source3/libsmb/clikrb5.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/source3/libsmb/clikrb5.c b/source3/libsmb/clikrb5.c
index cd64dc8444..0e049c14a1 100644
--- a/source3/libsmb/clikrb5.c
+++ b/source3/libsmb/clikrb5.c
@@ -27,6 +27,9 @@
#define OID_SPNEGO "1 3 6 1 5 5 2"
#define OID_KERBEROS5 "1 2 840 113554 1 2 2"
+/*
+ we can't use krb5_mk_req because w2k wants the service to be in a particular format
+*/
static krb5_error_code krb5_mk_req2(krb5_context context,
krb5_auth_context *auth_context,
const krb5_flags ap_req_options,
@@ -113,11 +116,12 @@ static DATA_BLOB krb5_get_ticket(char *service)
}
ret = data_blob(packet.data, packet.length);
- /* XXX need to free up a bunch of krb5 stuff here */
-
+ krb5_free_data_contents(context, &packet);
+ krb5_free_context(context);
return ret;
failed:
+ krb5_free_context(context);
return data_blob(NULL, 0);
}
@@ -162,7 +166,6 @@ ASN1_DATA spnego_gen_negTokenInit(uint8 guid[16],
asn1_pop_tag(&data);
- asn1_check_empty(&data);
return data;
}
@@ -199,7 +202,6 @@ static ASN1_DATA gen_negTokenTarg(const char *OIDs[], ASN1_DATA blob)
asn1_pop_tag(&data);
- asn1_check_empty(&data);
return data;
}