validator.c revision 35541328a8c18ba1f984300dfe30ec8713c90031
0c27b3fe77ac1d5094ba3521e8142d9e7973133fMark Andrews * Copyright (C) 2000-2002 Internet Software Consortium.
0c27b3fe77ac1d5094ba3521e8142d9e7973133fMark Andrews * Permission to use, copy, modify, and distribute this software for any
0c27b3fe77ac1d5094ba3521e8142d9e7973133fMark Andrews * purpose with or without fee is hereby granted, provided that the above
0c27b3fe77ac1d5094ba3521e8142d9e7973133fMark Andrews * copyright notice and this permission notice appear in all copies.
380c874925f684847d9278b909cf511cb5b0289aShawn Routhier * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM
380c874925f684847d9278b909cf511cb5b0289aShawn Routhier * DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL
380c874925f684847d9278b909cf511cb5b0289aShawn Routhier * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL
380c874925f684847d9278b909cf511cb5b0289aShawn Routhier * INTERNET SOFTWARE CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT,
380c874925f684847d9278b909cf511cb5b0289aShawn Routhier * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING
380c874925f684847d9278b909cf511cb5b0289aShawn Routhier * FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
380c874925f684847d9278b909cf511cb5b0289aShawn Routhier * NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
380c874925f684847d9278b909cf511cb5b0289aShawn Routhier * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
0c27b3fe77ac1d5094ba3521e8142d9e7973133fMark Andrews/* $Id: validator.c,v 1.115 2004/01/14 02:06:50 marka Exp $ */
static isc_result_t
static isc_result_t
static isc_result_t
static isc_result_t
static isc_result_t
static inline isc_boolean_t
return (ISC_FALSE);
return (ISC_FALSE);
return (ISC_TRUE);
static isc_boolean_t
return (ISC_FALSE);
return (found);
if (want_destroy)
if (want_destroy)
if (want_destroy)
if (want_destroy)
if (want_destroy)
static isc_result_t
int order;
return (result);
if (order < 0) {
return (ISC_R_IGNORE);
if (order == 0) {
if (!atparent) {
return (ISC_R_IGNORE);
} else if (atparent) {
return (ISC_R_IGNORE);
*data);
return (ISC_R_SUCCESS);
return (ISC_R_IGNORE);
return (result);
if (order == 0) {
return (ISC_R_IGNORE);
return (ISC_R_IGNORE);
return (ISC_R_SUCCESS);
return (result);
return (ISC_R_SUCCESS);
== ISC_R_SUCCESS)
if (!exists) {
if (want_destroy)
if (want_destroy)
static inline isc_result_t
return (ISC_R_CANCELED);
static inline isc_boolean_t
return (ISC_TRUE);
return (ISC_FALSE);
static inline isc_result_t
return (DNS_R_NOVALIDSIG);
static inline isc_result_t
return (DNS_R_NOVALIDSIG);
return (result);
static isc_result_t
isc_buffer_t b;
goto failure;
goto failure;
if (foundold)
return (ISC_R_SUCCESS);
return (result);
static isc_result_t
unsigned int nlabels;
int order;
return (DNS_R_CONTINUE);
return (DNS_R_CONTINUE);
return (DNS_R_CONTINUE);
return (result);
return (DNS_R_WAIT);
return (result);
return (DNS_R_WAIT);
return (result);
static dns_keytag_t
isc_region_t r;
static isc_boolean_t
return (ISC_TRUE);
return (ISC_FALSE);
static isc_result_t
return (result);
static isc_result_t
if (resume) {
return (ISC_R_NOMEMORY);
return (result);
if (!resume) {
return (result);
return (ISC_R_SUCCESS);
&nextnode);
!= ISC_R_SUCCESS)
return (DNS_R_NOVALIDSIG);
return (result);
return (result);
return (DNS_R_NOVALIDSIG);
static isc_result_t
&sigrdata);
&keynode);
&keynode);
&nextnode);
&keynode);
return (result);
return (DNS_R_NOVALIDSIG);
return (DNS_R_NOVALIDDS);
return (result);
return (DNS_R_WAIT);
return (DNS_R_NOVALIDSIG);
return (result);
return (DNS_R_WAIT);
return (DNS_R_NOVALIDSIG);
return (ISC_R_SUCCESS);
&sigrdata);
&keyrdata,
&dstkey);
return (result);
return (ISC_R_SUCCESS);
return (DNS_R_NOVALIDSIG);
static isc_result_t
static isc_result_t
== ISC_R_SUCCESS)
name;
if (!exists)
name;
return (ISC_R_SUCCESS);
return (result);
static isc_result_t
if (!resume)
if (resume) {
link))
return (result);
return (result);
return (DNS_R_WAIT);
return (result);
return (ISC_R_SUCCESS);
return (DNS_R_NOVALIDNSEC);
return (result);
return (result);
return (DNS_R_WAIT);
return (DNS_R_NOVALIDNSEC);
return (ISC_R_SUCCESS);
static isc_boolean_t
return (ISC_TRUE);
return (ISC_FALSE);
static isc_result_t
return (ISC_R_SUCCESS);
return (result);
if (!resume) {
goto out;
namebuf);
goto out;
return (ISC_R_SUCCESS);
goto out;
goto out;
goto out;
return (DNS_R_WAIT);
goto out;
goto out;
goto out;
return (DNS_R_WAIT);
out:
return (result);
INSIST(0);
if (want_destroy)
return (ISC_R_NOMEMORY);
sizeof(dns_validatorevent_t));
goto cleanup_val;
goto cleanup_event;
return (ISC_R_SUCCESS);
return (result);
if (want_destroy)
sizeof(typebuf));
msgbuf);