From 77165c77f99141df3504aa3306bdf7e06e2f2373 Mon Sep 17 00:00:00 2001 From: Johan Danielsson Date: Thu, 17 Jul 1997 10:24:18 +0000 Subject: [PATCH] Don't overwrite flags. git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@2400 ec53bebd-3082-4978-b11e-865c3cabbd6b --- kdc/kerberos5.c | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/kdc/kerberos5.c b/kdc/kerberos5.c index 1d9da9755..c2aa540cb 100644 --- a/kdc/kerberos5.c +++ b/kdc/kerberos5.c @@ -490,14 +490,14 @@ tgs_make_reply(krb5_context context, KDC_REQ_BODY *b, EncTicketPart *tgt, etype = b->etype.val[i]; - ret = check_tgs_flags(b, tgt, &et); - if(ret) - return ret; - memset(&rep, 0, sizeof(rep)); memset(&et, 0, sizeof(et)); memset(&ek, 0, sizeof(ek)); + ret = check_tgs_flags(b, tgt, &et); + if(ret) + return ret; + rep.pvno = 5; rep.msg_type = krb_tgs_rep; copy_Realm(&tgt->crealm, &rep.crealm); @@ -506,8 +506,11 @@ tgs_make_reply(krb5_context context, KDC_REQ_BODY *b, EncTicketPart *tgt, copy_Realm(krb5_princ_realm(context, server->principal), &rep.ticket.realm); krb5_principal2principalname(&rep.ticket.sname, server->principal); - - et.caddr = tgt->caddr; + + if(et.caddr == NULL) + et.caddr = tgt->caddr; + else + ek.caddr = et.caddr; et.authtime = tgt->authtime; if(f.renew){