]> git.michaelhowe.org Git - packages/o/openafs.git/commitdiff
kaanswertoolong-20040420
authorJeffrey Altman <jaltman@mit.edu>
Tue, 20 Apr 2004 15:56:16 +0000 (15:56 +0000)
committerJeffrey Altman <jaltman@secure-endpoints.com>
Tue, 20 Apr 2004 15:56:16 +0000 (15:56 +0000)
when determining whether or not the ticket len is too long for the
receiver to accept we want to compare against the actual ticket length
and not MAXKTCTICKETLEN which is what is used when sizeof(ktc_ticketAnswer)
is used for comparison.

src/kauth/kaprocs.c

index 01f4bdc17e3014b5453b46762480f4551f84e1ba..92fbc4c371284f76254aaf61e1649f88dbfd0367 100644 (file)
@@ -1032,7 +1032,7 @@ PrepareTicketAnswer(oanswer, challenge, ticket, ticketLen, sessionKey, start,
 
     code = KAANSWERTOOLONG;
     if (oanswer->MaxSeqLen <
-       sizeof(struct ka_ticketAnswer) - 5 * MAXKTCNAMELEN)
+       sizeof(struct ka_ticketAnswer) - 5 * MAXKTCNAMELEN - MAXKTCTICKETLEN + ticketLen)
        return code;
 
     answer = (struct ka_ticketAnswer *)oanswer->SeqBody;
@@ -1958,7 +1958,7 @@ GetTicket(version, call, kvno, authDomain, aticket, sname, sinstance, atimes,
     case 0:
        code = KAANSWERTOOLONG;
        if (oanswer->MaxSeqLen <
-           sizeof(struct ka_getTicketAnswer) - 5 * MAXKTCNAMELEN)
+           sizeof(struct ka_getTicketAnswer) - 5 * MAXKTCNAMELEN - MAXKTCTICKETLEN + ticketLen)
            goto abort;
 
        answer = (struct ka_getTicketAnswer *)oanswer->SeqBody;