55 #ifndef REPLACE_ARPA_NAMESER_H_ 56 #define REPLACE_ARPA_NAMESER_H_ 62 #if defined( HAVE_ARPA_NAMESER_H ) && defined( HAVE_NS_TYPE ) 63 #define dn_expand __dn_expand 64 int dn_expand
__P((
const u_char *,
const u_char *,
const u_char *,
67 #define dn_skipname __dn_skipname 70 #include <sys/param.h> 71 #ifdef HAVE_SYS_TYPES_H 72 #include <sys/types.h> 75 #ifdef HAVE_INTTYPES_H 87 #ifndef HAVE_U_INT16_T 95 #ifndef HAVE_U_INT32_T 105 #if (!defined(BSD)) || (BSD < 199306) 106 # include <sys/bitypes.h> 108 # include <sys/types.h> 110 #include <sys/cdefs.h> 121 #define __NAMESER 19991006 126 #define NS_PACKETSZ 512 127 #define NS_MAXDNAME 1025 128 #define NS_MAXMSG 65535 129 #define NS_MAXCDNAME 255 130 #define NS_MAXLABEL 63 131 #define NS_HFIXEDSZ 12 132 #define NS_QFIXEDSZ 4 133 #define NS_RRFIXEDSZ 10 137 #define NS_INADDRSZ 4 138 #define NS_IN6ADDRSZ 16 139 #define NS_CMPRSFLGS 0xc0 140 #define NS_DEFAULTPORT 53 146 typedef enum __ns_sect {
162 typedef struct __ns_msg {
177 #define ns_msg_id(handle) ((handle)._id + 0) 178 #define ns_msg_base(handle) ((handle)._msg + 0) 179 #define ns_msg_end(handle) ((handle)._eom + 0) 180 #define ns_msg_size(handle) ((handle)._eom - (handle)._msg) 181 #define ns_msg_count(handle, section) ((handle)._counts[section] + 0) 186 typedef struct __ns_rr {
196 #define ns_rr_name(rr) (((rr).name[0] != '\0') ? (rr).name : ".") 197 #define ns_rr_type(rr) ((ns_type)((rr).type + 0)) 198 #define ns_rr_class(rr) ((ns_class)((rr).rr_class + 0)) 199 #define ns_rr_ttl(rr) ((rr).ttl + 0) 200 #define ns_rr_rdlen(rr) ((rr).rdlength + 0) 201 #define ns_rr_rdata(rr) ((rr).rdata + 0) 208 typedef enum __ns_flag {
225 typedef enum __ns_opcode {
238 typedef enum __ns_rcode {
261 typedef enum __ns_update_operation {
289 #define NS_TSIG_FUDGE 300 290 #define NS_TSIG_TCP_COUNT 100 291 #define NS_TSIG_ALG_HMAC_MD5 "HMAC-MD5.SIG-ALG.REG.INT" 293 #define NS_TSIG_ERROR_NO_TSIG -10 294 #define NS_TSIG_ERROR_NO_SPACE -11 295 #define NS_TSIG_ERROR_FORMERR -12 300 typedef enum __ns_type {
356 #define ns_t_qt_p(t) (ns_t_xfr_p(t) || (t) == ns_t_any || \ 357 (t) == ns_t_mailb || (t) == ns_t_maila) 359 #define ns_t_mrr_p(t) ((t) == ns_t_tsig || (t) == ns_t_opt) 361 #define ns_t_rr_p(t) (!ns_t_qt_p(t) && !ns_t_mrr_p(t)) 362 #define ns_t_udp_p(t) ((t) != ns_t_axfr && (t) != ns_t_zxfr) 363 #define ns_t_xfr_p(t) ((t) == ns_t_axfr || (t) == ns_t_ixfr || \ 369 typedef enum __ns_class {
383 typedef enum __ns_key_types {
390 typedef enum __ns_cert_types {
399 #define NS_KEY_TYPEMASK 0xC000 400 #define NS_KEY_TYPE_AUTH_CONF 0x0000 401 #define NS_KEY_TYPE_CONF_ONLY 0x8000 402 #define NS_KEY_TYPE_AUTH_ONLY 0x4000 403 #define NS_KEY_TYPE_NO_KEY 0xC000 405 #define NS_KEY_NO_AUTH 0x8000 406 #define NS_KEY_NO_CONF 0x4000 407 #define NS_KEY_RESERVED2 0x2000 408 #define NS_KEY_EXTENDED_FLAGS 0x1000 409 #define NS_KEY_RESERVED4 0x0800 410 #define NS_KEY_RESERVED5 0x0400 411 #define NS_KEY_NAME_TYPE 0x0300 412 #define NS_KEY_NAME_USER 0x0000 413 #define NS_KEY_NAME_ENTITY 0x0200 414 #define NS_KEY_NAME_ZONE 0x0100 415 #define NS_KEY_NAME_RESERVED 0x0300 416 #define NS_KEY_RESERVED8 0x0080 417 #define NS_KEY_RESERVED9 0x0040 418 #define NS_KEY_RESERVED10 0x0020 419 #define NS_KEY_RESERVED11 0x0010 420 #define NS_KEY_SIGNATORYMASK 0x000F 421 #define NS_KEY_RESERVED_BITMASK ( NS_KEY_RESERVED2 | \ 426 NS_KEY_RESERVED10 | \ 428 #define NS_KEY_RESERVED_BITMASK2 0xFFFF 431 #define NS_ALG_MD5RSA 1 434 #define NS_ALG_DSS NS_ALG_DSA 435 #define NS_ALG_EXPIRE_ONLY 253 436 #define NS_ALG_PRIVATE_OID 254 440 #define NS_KEY_PROT_TLS 1 441 #define NS_KEY_PROT_EMAIL 2 442 #define NS_KEY_PROT_DNSSEC 3 443 #define NS_KEY_PROT_IPSEC 4 444 #define NS_KEY_PROT_ANY 255 447 #define NS_MD5RSA_MIN_BITS 512 448 #define NS_MD5RSA_MAX_BITS 4096 450 #define NS_MD5RSA_MAX_BYTES ((NS_MD5RSA_MAX_BITS+7/8)*2+3) 452 #define NS_MD5RSA_MAX_BASE64 (((NS_MD5RSA_MAX_BYTES+2)/3)*4) 453 #define NS_MD5RSA_MIN_SIZE ((NS_MD5RSA_MIN_BITS+7)/8) 454 #define NS_MD5RSA_MAX_SIZE ((NS_MD5RSA_MAX_BITS+7)/8) 456 #define NS_DSA_SIG_SIZE 41 457 #define NS_DSA_MIN_SIZE 213 458 #define NS_DSA_MAX_BYTES 405 461 #define NS_SIG_TYPE 0 463 #define NS_SIG_LABELS 3 464 #define NS_SIG_OTTL 4 465 #define NS_SIG_EXPIR 8 466 #define NS_SIG_SIGNED 12 467 #define NS_SIG_FOOT 16 468 #define NS_SIG_SIGNER 18 471 #define NS_NXT_BITS 8 472 #define NS_NXT_BIT_SET( n,p) (p[(n)/NS_NXT_BITS] |= (0x80>>((n)%NS_NXT_BITS))) 473 #define NS_NXT_BIT_CLEAR(n,p) (p[(n)/NS_NXT_BITS] &= ~(0x80>>((n)%NS_NXT_BITS))) 474 #define NS_NXT_BIT_ISSET(n,p) (p[(n)/NS_NXT_BITS] & (0x80>>((n)%NS_NXT_BITS))) 475 #define NS_NXT_MAX 127 480 #define NS_OPT_DNSSEC_OK 0x8000U 485 #define NS_GET16(s, cp) do { \ 486 register const u_char *t_cp = (const u_char *)(cp); \ 487 (s) = ((u_int16_t)t_cp[0] << 8) \ 488 | ((u_int16_t)t_cp[1]) \ 490 (cp) += NS_INT16SZ; \ 493 #define NS_GET32(l, cp) do { \ 494 register const u_char *t_cp = (const u_char *)(cp); \ 495 (l) = ((u_int32_t)t_cp[0] << 24) \ 496 | ((u_int32_t)t_cp[1] << 16) \ 497 | ((u_int32_t)t_cp[2] << 8) \ 498 | ((u_int32_t)t_cp[3]) \ 500 (cp) += NS_INT32SZ; \ 503 #define NS_PUT16(s, cp) do { \ 504 register u_int16_t t_s = (u_int16_t)(s); \ 505 register u_char *t_cp = (u_char *)(cp); \ 506 *t_cp++ = t_s >> 8; \ 508 (cp) += NS_INT16SZ; \ 511 #define NS_PUT32(l, cp) do { \ 512 register u_int32_t t_l = (u_int32_t)(l); \ 513 register u_char *t_cp = (u_char *)(cp); \ 514 *t_cp++ = t_l >> 24; \ 515 *t_cp++ = t_l >> 16; \ 516 *t_cp++ = t_l >> 8; \ 518 (cp) += NS_INT32SZ; \ 524 #define ns_msg_getflag __ns_msg_getflag 525 #define ns_get16 __ns_get16 526 #define ns_get32 __ns_get32 527 #define ns_put16 __ns_put16 528 #define ns_put32 __ns_put32 529 #define ns_initparse __ns_initparse 530 #define ns_skiprr __ns_skiprr 531 #define ns_parserr __ns_parserr 532 #define ns_sprintrr __ns_sprintrr 533 #define ns_sprintrrf __ns_sprintrrf 534 #define ns_format_ttl __ns_format_ttl 535 #define ns_parse_ttl __ns_parse_ttl 536 #define ns_datetosecs __ns_datetosecs 537 #define ns_name_ntol __ns_name_ntol 538 #define ns_name_ntop __ns_name_ntop 539 #define ns_name_pton __ns_name_pton 540 #define ns_name_unpack __ns_name_unpack 541 #define ns_name_pack __ns_name_pack 542 #define ns_name_compress __ns_name_compress 543 #define ns_name_uncompress __ns_name_uncompress 544 #define ns_name_skip __ns_name_skip 545 #define ns_name_rollback __ns_name_rollback 546 #define ns_sign __ns_sign 547 #define ns_sign2 __ns_sign2 548 #define ns_sign_tcp __ns_sign_tcp 549 #define ns_sign_tcp2 __ns_sign_tcp2 550 #define ns_sign_tcp_init __ns_sign_tcp_init 551 #define ns_find_tsig __ns_find_tsig 552 #define ns_verify __ns_verify 553 #define ns_verify_tcp __ns_verify_tcp 554 #define ns_verify_tcp_init __ns_verify_tcp_init 555 #define ns_samedomain __ns_samedomain 556 #define ns_subdomain __ns_subdomain 557 #define ns_makecanon __ns_makecanon 558 #define ns_samename __ns_samename 570 const char *,
const char *,
char *,
size_t));
573 size_t,
const char *,
const char *,
582 const u_char *, u_char *,
size_t));
584 const u_char **,
const u_char **));
586 const u_char *,
char *,
size_t));
588 const u_char **,
const u_char **));
592 int ns_sign __P((u_char *,
int *,
int,
int,
void *,
593 const u_char *,
int, u_char *,
int *, time_t));
594 int ns_sign2 __P((u_char *,
int *,
int,
int,
void *,
595 const u_char *,
int, u_char *,
int *, time_t,
596 u_char **, u_char **));
601 u_char **, u_char **));
606 const u_char *,
int, u_char *,
int *,
#define ns_name_uncompress
#define ns_verify_tcp_init