Various lookaside cache fixes
authorGreg Hudson <ghudson@mit.edu>
Thu, 26 Jan 2012 21:56:16 +0000 (21:56 +0000)
committerGreg Hudson <ghudson@mit.edu>
Thu, 26 Jan 2012 21:56:16 +0000 (21:56 +0000)
commit548f8461c75c5638f0c24ca86364a17f59619b89
tree80d9505fbd554b0a328e778dd4a2ebe3af402146
parentd91163e40b15252e8189d0593e3125519b351c9c
Various lookaside cache fixes

Don't touch the lookaside cache if we're responding with a lookaside
cache entry.  Also, leave the null entry behind if we're deliberately
dropping a request (a rare case) so that we don't have to process it
again.  Fixes several lookaside problems in 1.10:

* When dropping a request because it was already being processed, we
  were erroneously removing the null entry, causing us to process the
  request again upon a second retransmit.

* When responding to a finished request with a lookaside entry, we
  were removing and re-adding the entry to the cache, resetting its
  time and performing unnecessary work.

* We were not caching responses we couldn't deliver because they were
  too big for UDP, causing us to re-process the request when it came
  in again via TCP instead of simply delivering the cached response.

ticket: 7082
target_version: 1.10
tags: pullup

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@25660 dc483132-0cff-0310-8789-dd5450dbe970
src/kdc/dispatch.c