mirror of
git://git.gnupg.org/gnupg.git
synced 2025-07-03 22:56:33 +02:00
agent: Recover the old behavior with max-cache-ttl=0.
* agent/cache.c (compute_expiration): Expire newly created entry when
max-cache-ttl is zero.
--
Fixes-commit: 92de0387f0
GnuPG-bug-id: 6681
Suggested-by: Lucas Mulling <lucas.mulling@suse.com>
Signed-off-by: NIIBE Yutaka <gniibe@fsij.org>
This commit is contained in:
parent
8833a34bf0
commit
5fb338168e
2 changed files with 22 additions and 29 deletions
|
@ -330,45 +330,41 @@ compute_expiration (ITEM r)
|
|||
return 1;
|
||||
}
|
||||
|
||||
switch (r->cache_mode)
|
||||
if (r->cache_mode == CACHE_MODE_DATA)
|
||||
{
|
||||
case CACHE_MODE_DATA:
|
||||
case CACHE_MODE_PIN:
|
||||
maxttl = 0; /* No MAX TTL here. */
|
||||
break;
|
||||
case CACHE_MODE_SSH: maxttl = opt.max_cache_ttl_ssh; break;
|
||||
default: maxttl = opt.max_cache_ttl; break;
|
||||
}
|
||||
|
||||
if (maxttl)
|
||||
{
|
||||
if (r->created + maxttl < current)
|
||||
/* No MAX TTL here. */
|
||||
if (r->ttl >= 0)
|
||||
{
|
||||
r->t.tv_sec = 0;
|
||||
r->t.tv_sec = r->ttl;
|
||||
r->t.reason = CACHE_EXPIRE_CREATION;
|
||||
return 1;
|
||||
}
|
||||
|
||||
next = r->created + maxttl - current;
|
||||
else
|
||||
return 0;
|
||||
}
|
||||
else if (r->cache_mode == CACHE_MODE_SSH)
|
||||
maxttl = opt.max_cache_ttl_ssh;
|
||||
else
|
||||
next = 0;
|
||||
maxttl = opt.max_cache_ttl;
|
||||
|
||||
if (r->ttl >= 0 && (next == 0 || r->ttl < next))
|
||||
if (r->created + maxttl <= current)
|
||||
{
|
||||
r->t.tv_sec = 0;
|
||||
r->t.reason = CACHE_EXPIRE_CREATION;
|
||||
return 1;
|
||||
}
|
||||
|
||||
next = r->created + maxttl - current;
|
||||
if (r->ttl >= 0 && r->ttl < next)
|
||||
{
|
||||
r->t.tv_sec = r->ttl;
|
||||
r->t.reason = CACHE_EXPIRE_LAST_ACCESS;
|
||||
return 1;
|
||||
}
|
||||
|
||||
if (next)
|
||||
{
|
||||
r->t.tv_sec = next;
|
||||
r->t.reason = CACHE_EXPIRE_CREATION;
|
||||
return 1;
|
||||
}
|
||||
|
||||
return 0;
|
||||
r->t.tv_sec = next;
|
||||
r->t.reason = CACHE_EXPIRE_CREATION;
|
||||
return 1;
|
||||
}
|
||||
|
||||
static void
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue