aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRob Austein <sra@hactrn.net>2011-10-27 13:57:41 +0000
committerRob Austein <sra@hactrn.net>2011-10-27 13:57:41 +0000
commite6bc745b0293903b9433e4808c7e592880b78d84 (patch)
tree6512737e54196e01ebd5bec68ca6b15a63dfcee2
parentb94cf26a7959861c5a6ddfe5ebbd34fb078a6633 (diff)
Only recheck an object once. This isn't perfect, as there might be
three or more paths to a given object in pathological cases, but doing better would require us to record the parent URI for every check and recheck, which doesn't seem worth it for the expected usage. So we don't choose the freshest object in really sick cases. Tough noogies. svn path=/trunk/; revision=4066
-rw-r--r--rcynic/rcynic.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/rcynic/rcynic.c b/rcynic/rcynic.c
index 1034762d..02916089 100644
--- a/rcynic/rcynic.c
+++ b/rcynic/rcynic.c
@@ -1184,7 +1184,8 @@ static int skip_checking_this_object(rcynic_ctx_t *rc,
i = sk_validation_status_t_find(rc->validation_status, &v_);
v = sk_validation_status_t_value(rc->validation_status, i);
- if (v != NULL && validation_status_get_code(v, object_accepted))
+ if (v != NULL && (validation_status_get_code(v, object_accepted) ||
+ validation_status_get_code(v, current_cert_recheck)))
return 1;
log_validation_status(rc, uri, current_cert_recheck, generation);