Reply KRB5KRB_ERR_RESPONSE_TOO_BIG error if its a datagram reply and

the datagram reply length limit is reached.


git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@18385 ec53bebd-3082-4978-b11e-865c3cabbd6b
This commit is contained in:
Love Hörnquist Åstrand
2006-10-09 15:38:59 +00:00
parent 6a5f157cb9
commit 35cbc4ce07

View File

@@ -805,7 +805,8 @@ _kdc_as_rep(krb5_context context,
const krb5_data *req_buffer,
krb5_data *reply,
const char *from,
struct sockaddr *from_addr)
struct sockaddr *from_addr,
int datagram_reply)
{
KDC_REQ_BODY *b = &req->req_body;
AS_REP rep;
@@ -1475,6 +1476,16 @@ _kdc_as_rep(krb5_context context,
reply_key, &e_text, reply);
free_EncTicketPart(&et);
free_EncKDCRepPart(&ek);
if (ret)
goto out;
/* */
if (datagram_reply && reply->length > config->max_datagram_reply_length) {
krb5_data_free(reply);
ret = KRB5KRB_ERR_RESPONSE_TOO_BIG;
e_text = "Reply packet too large";
}
out:
free_AS_REP(&rep);
if(ret){