val_kcache.c (256281) | val_kcache.c (269257) |
---|---|
1/* 2 * validator/val_kcache.c - validator key shared cache with validated keys 3 * 4 * Copyright (c) 2007, NLnet Labs. All rights reserved. 5 * 6 * This software is open source. 7 * 8 * Redistribution and use in source and binary forms, with or without --- 7 unchanged lines hidden (view full) --- 16 * this list of conditions and the following disclaimer in the documentation 17 * and/or other materials provided with the distribution. 18 * 19 * Neither the name of the NLNET LABS nor the names of its contributors may 20 * be used to endorse or promote products derived from this software without 21 * specific prior written permission. 22 * 23 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS | 1/* 2 * validator/val_kcache.c - validator key shared cache with validated keys 3 * 4 * Copyright (c) 2007, NLnet Labs. All rights reserved. 5 * 6 * This software is open source. 7 * 8 * Redistribution and use in source and binary forms, with or without --- 7 unchanged lines hidden (view full) --- 16 * this list of conditions and the following disclaimer in the documentation 17 * and/or other materials provided with the distribution. 18 * 19 * Neither the name of the NLNET LABS nor the names of its contributors may 20 * be used to endorse or promote products derived from this software without 21 * specific prior written permission. 22 * 23 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS |
24 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED 25 * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 26 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE 27 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 28 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 29 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 30 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 31 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 32 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 33 * POSSIBILITY OF SUCH DAMAGE. | 24 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 25 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 26 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 27 * HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 28 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED 29 * TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 30 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 31 * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 32 * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 33 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
34 */ 35 36/** 37 * \file 38 * 39 * This file contains functions for dealing with the validator key cache. 40 */ 41#include "config.h" --- 79 unchanged lines hidden (view full) --- 121 e = slabhash_lookup(kcache->slab, lookfor.entry.hash, &lookfor, wr); 122 if(!e) 123 return NULL; 124 return (struct key_entry_key*)e->key; 125} 126 127struct key_entry_key* 128key_cache_obtain(struct key_cache* kcache, uint8_t* name, size_t namelen, | 34 */ 35 36/** 37 * \file 38 * 39 * This file contains functions for dealing with the validator key cache. 40 */ 41#include "config.h" --- 79 unchanged lines hidden (view full) --- 121 e = slabhash_lookup(kcache->slab, lookfor.entry.hash, &lookfor, wr); 122 if(!e) 123 return NULL; 124 return (struct key_entry_key*)e->key; 125} 126 127struct key_entry_key* 128key_cache_obtain(struct key_cache* kcache, uint8_t* name, size_t namelen, |
129 uint16_t key_class, struct regional* region, uint32_t now) | 129 uint16_t key_class, struct regional* region, time_t now) |
130{ 131 /* keep looking until we find a nonexpired entry */ 132 while(1) { 133 struct key_entry_key* k = key_cache_search(kcache, name, 134 namelen, key_class, 0); 135 if(k) { 136 /* see if TTL is OK */ 137 struct key_entry_data* d = (struct key_entry_data*) --- 35 unchanged lines hidden --- | 130{ 131 /* keep looking until we find a nonexpired entry */ 132 while(1) { 133 struct key_entry_key* k = key_cache_search(kcache, name, 134 namelen, key_class, 0); 135 if(k) { 136 /* see if TTL is OK */ 137 struct key_entry_data* d = (struct key_entry_data*) --- 35 unchanged lines hidden --- |