If we didn't set session key, don't expect one back.

git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@20803 ec53bebd-3082-4978-b11e-865c3cabbd6b
This commit is contained in:
Love Hörnquist Åstrand
2007-06-02 23:19:00 +00:00
parent d791782559
commit fedbf25113

View File

@@ -283,6 +283,9 @@ kdc_type3(OM_uint32 *minor_status,
struct ntlmkrb5 *c = ctx; struct ntlmkrb5 *c = ctx;
krb5_error_code ret; krb5_error_code ret;
sessionkey->data = NULL;
sessionkey->length = 0;
ret = krb5_ntlm_req_set_flags(c->context, c->ntlm, type3->flags); ret = krb5_ntlm_req_set_flags(c->context, c->ntlm, type3->flags);
if (ret) goto out; if (ret) goto out;
ret = krb5_ntlm_req_set_username(c->context, c->ntlm, type3->username); ret = krb5_ntlm_req_set_username(c->context, c->ntlm, type3->username);
@@ -298,6 +301,7 @@ kdc_type3(OM_uint32 *minor_status,
if (ret) goto out; if (ret) goto out;
ret = krb5_ntlm_req_set_opaque(c->context, c->ntlm, &c->opaque); ret = krb5_ntlm_req_set_opaque(c->context, c->ntlm, &c->opaque);
if (ret) goto out; if (ret) goto out;
if (type3->sessionkey.length) { if (type3->sessionkey.length) {
ret = krb5_ntlm_req_set_session(c->context, c->ntlm, ret = krb5_ntlm_req_set_session(c->context, c->ntlm,
type3->sessionkey.data, type3->sessionkey.data,
@@ -320,14 +324,16 @@ kdc_type3(OM_uint32 *minor_status,
goto out; goto out;
} }
ret = krb5_ntlm_rep_get_sessionkey(c->context, if (type3->sessionkey.length) {
c->ntlm, ret = krb5_ntlm_rep_get_sessionkey(c->context,
&c->sessionkey); c->ntlm,
if (ret) &c->sessionkey);
goto out; if (ret)
goto out;
sessionkey->data = c->sessionkey.data; sessionkey->data = c->sessionkey.data;
sessionkey->length = c->sessionkey.length; sessionkey->length = c->sessionkey.length;
}
return 0; return 0;