void dns_keyring_restore(dns_tsig_keyring_t *ring, FILE *fp) { isc_stdtime_t now; isc_result_t result; isc_stdtime_get(&now); do { result = restore_key(ring, now, fp); if (result == ISC_R_NOMORE) return; if (result == DNS_R_BADALG || result == DNS_R_EXPIRED) result = ISC_R_SUCCESS; } while (result == ISC_R_SUCCESS); }
int iter_delete(int target,Node *pnt){ int k; int found; if (pnt==NULL) return FALSE; else{ found=linear_search(target,pnt,&k); if (found) if (pnt->branch[k-1]){ find_successor(pnt,k); if (!(found=iter_delete(pnt->key[k],pnt->branch[k]))) printerror("Key not found."); }else remove_key(pnt,k); else found=iter_delete(target,pnt->branch[k]); if (pnt->branch[k] != NULL) if (pnt->branch[k]->count<MIN_ORDER) restore_key(pnt,k); return found; } }