Electroneum
Toggle main menu visibility
Loading...
Searching...
No Matches
val_nsec.h
Go to the documentation of this file.
1
/*
2
* validator/val_nsec.h - validator NSEC denial of existence functions.
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
9
* modification, are permitted provided that the following conditions
10
* are met:
11
*
12
* Redistributions of source code must retain the above copyright notice,
13
* this list of conditions and the following disclaimer.
14
*
15
* Redistributions in binary form must reproduce the above copyright notice,
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
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
43
44
#ifndef VALIDATOR_VAL_NSEC_H
45
#define VALIDATOR_VAL_NSEC_H
46
#include "
util/data/packed_rrset.h
"
47
struct
val_env
;
48
struct
module_env
;
49
struct
module_qstate
;
50
struct
ub_packed_rrset_key
;
51
struct
reply_info
;
52
struct
query_info
;
53
struct
key_entry_key
;
54
75
enum
sec_status
val_nsec_prove_nodata_dsreply
(
struct
module_env
* env,
76
struct
val_env
* ve,
struct
query_info
* qinfo,
77
struct
reply_info
* rep,
struct
key_entry_key
* kkey,
78
time_t* proof_ttl,
char
** reason,
struct
module_qstate
* qstate);
79
88
int
nsecbitmap_has_type_rdata
(
uint8_t
* bitmap,
size_t
len,
uint16_t
type);
89
98
int
nsec_has_type
(
struct
ub_packed_rrset_key
* nsec,
uint16_t
type);
99
115
int
nsec_proves_nodata
(
struct
ub_packed_rrset_key
* nsec,
116
struct
query_info
* qinfo,
uint8_t
** wc);
117
126
int
val_nsec_proves_name_error
(
struct
ub_packed_rrset_key
* nsec,
127
uint8_t
* qname);
128
136
int
val_nsec_proves_positive_wildcard
(
struct
ub_packed_rrset_key
* nsec,
137
struct
query_info
* qinf,
uint8_t
* wc);
138
147
uint8_t
*
nsec_closest_encloser
(
uint8_t
* qname,
148
struct
ub_packed_rrset_key
* nsec);
149
158
int
val_nsec_proves_no_wc
(
struct
ub_packed_rrset_key
* nsec,
uint8_t
* qname,
159
size_t
qnamelen);
160
171
int
val_nsec_check_dlv
(
struct
query_info
* qinfo,
172
struct
reply_info
* rep,
uint8_t
** nm,
size_t
* nm_len);
173
181
int
val_nsec_proves_insecuredelegation
(
struct
ub_packed_rrset_key
* nsec,
182
struct
query_info
* qinfo);
183
184
#endif
/* VALIDATOR_VAL_NSEC_H */
packed_rrset.h
sec_status
sec_status
Definition
packed_rrset.h:176
uint16_t
unsigned short uint16_t
Definition
stdint.h:125
uint8_t
unsigned char uint8_t
Definition
stdint.h:124
key_entry_key
Definition
val_kentry.h:55
module_env
Definition
module.h:307
module_qstate
Definition
module.h:571
query_info
Definition
msgreply.h:69
reply_info
Definition
msgreply.h:125
ub_packed_rrset_key
Definition
packed_rrset.h:107
val_env
Definition
validator.h:80
nsec_closest_encloser
uint8_t * nsec_closest_encloser(uint8_t *qname, struct ub_packed_rrset_key *nsec)
val_nsec_proves_no_wc
int val_nsec_proves_no_wc(struct ub_packed_rrset_key *nsec, uint8_t *qname, size_t qnamelen)
val_nsec_proves_name_error
int val_nsec_proves_name_error(struct ub_packed_rrset_key *nsec, uint8_t *qname)
nsec_has_type
int nsec_has_type(struct ub_packed_rrset_key *nsec, uint16_t type)
val_nsec_proves_insecuredelegation
int val_nsec_proves_insecuredelegation(struct ub_packed_rrset_key *nsec, struct query_info *qinfo)
nsecbitmap_has_type_rdata
int nsecbitmap_has_type_rdata(uint8_t *bitmap, size_t len, uint16_t type)
val_nsec_proves_positive_wildcard
int val_nsec_proves_positive_wildcard(struct ub_packed_rrset_key *nsec, struct query_info *qinf, uint8_t *wc)
val_nsec_prove_nodata_dsreply
enum sec_status val_nsec_prove_nodata_dsreply(struct module_env *env, struct val_env *ve, struct query_info *qinfo, struct reply_info *rep, struct key_entry_key *kkey, time_t *proof_ttl, char **reason, struct module_qstate *qstate)
nsec_proves_nodata
int nsec_proves_nodata(struct ub_packed_rrset_key *nsec, struct query_info *qinfo, uint8_t **wc)
val_nsec_check_dlv
int val_nsec_check_dlv(struct query_info *qinfo, struct reply_info *rep, uint8_t **nm, size_t *nm_len)
external
unbound
validator
val_nsec.h
Generated on
for Electroneum by
1.17.0