|
djbdnscurve6 51
djbdnscurve6
|
#include "stralloc.h"#include "iopause.h"#include "taia.h"#include "ip.h"
Go to the source code of this file.
Data Structures | |
| struct | dns_transmit |
Macros | |
| #define | DNS_NXD 0 /* NXDOMAIN, NODATA */ |
| #define | DNS_MEM -1 /* out of memory; fatal */ |
| #define | DNS_ERR -2 /* parsing errors and others */ |
| #define | DNS_COM -3 /* (socket) communication errors - SERVFAIL */ |
| #define | DNS_INT -4 /* internal errors */ |
| #define | DNS_SOFT -5 /* DNS_ERR or DNS_COM */ |
| #define | DNS_HARD -6 /* DNS loop problem */ |
| #define | MSGSIZE MTUSIZE - 48 /* DNS Flag Day 2020 recommendation */ |
| #define | MINMSGSIZE 512 /* RFC 1035 */ |
| #define | MAXMSGSIZE 4096 /* 4069 seen with EDNS0 */ |
| #define | MAXSEGMENT 65535 /* Max TCP buffer size */ |
| #define | MAX_TTL 655360 /* Default TTL for static DNS objects */ |
| #define | QUERY_MAXNS 32 /* 16 IPv4 + 16 IPv6 NS */ |
| #define | QUERY_MAXIPLEN 512 /* QUERY_MAXNS * 16 */ |
| #define | TCP_BACKLOG 20 /* the number of TCP connections supported simultaneously */ |
| #define | FQDN_LEN 255 /* length of FQDN including all labels + dots */ |
| #define | DNS_C_IN "\0\1" |
| #define | DNS_C_ANY "\0\377" |
| #define | DNS_T_A "\0\1" |
| #define | DNS_T_NS "\0\2" |
| #define | DNS_T_CNAME "\0\5" |
| #define | DNS_T_SOA "\0\6" |
| #define | DNS_T_PTR "\0\14" |
| #define | DNS_T_HINFO "\0\15" |
| #define | DNS_T_MX "\0\17" |
| #define | DNS_T_TXT "\0\20" |
| #define | DNS_T_RP "\0\21" |
| #define | DNS_T_SIG "\0\30" |
| #define | DNS_T_KEY "\0\31" |
| #define | DNS_T_AAAA "\0\34" |
| #define | DNS_T_SRV "\0\41" |
| #define | DNS_T_NAPTR "\0\43" |
| #define | DNS_T_CERT "\0\45" |
| #define | DNS_T_OPT "\0\51" |
| #define | DNS_T_DS "\0\53" |
| #define | DNS_T_SSHFP "\0\54" |
| #define | DNS_T_IPSECKEY "\0\55" |
| #define | DNS_T_RRSIG "\0\56" |
| #define | DNS_T_NSEC "\0\57" |
| #define | DNS_T_DNSKEY "\0\60" |
| #define | DNS_T_NSEC3 "\0\62" |
| #define | DNS_T_NSEC3PARAM "\0\63" |
| #define | DNS_T_TLSA "\0\64" |
| #define | DNS_T_HIP "\0\67" |
| #define | DNS_T_OPENPGPKEY "\0\75" |
| #define | DNS_T_SVCB "\0\100" |
| #define | DNS_T_HTTPS "\0\101" |
| #define | DNS_T_SPF "\0\143" |
| #define | DNS_T_AXFR "\0\374" |
| #define | DNS_T_ANY "\0\377" |
| #define | DNS_T_CAA "\1\1" |
| #define | LOCALHOST "localhost" /* no clear distinction IPv4/IPv6 */ |
| #define | IP4_LOOPBACK "ip4-loopback" |
| #define | IP6_LOOPBACK "ip6-loopback" |
| #define | IP6_64PREFIX_GLOBAL "\000\144\377\233\000\000\000\000\000\000\000\000" |
| #define | DNS_NAME4_DOMAIN 32 |
| #define | DNS_NAME6_DOMAIN (5*16) |
Functions | |
| void | dns_random_init (const char[128]) |
| unsigned int | dns_random (unsigned int) |
| void | dns_domain_free (char **) |
| int | dns_domain_copy (char **, const char *) |
| unsigned int | dns_domain_length (const char *) |
| int | dns_domain_equal (const char *, const char *) |
| int | dns_domain_suffix (const char *, const char *) |
| unsigned int | dns_domain_suffixpos (const char *, const char *) |
| int | dns_domain_fromdot (char **, const char *, unsigned int) |
| int | dns_domain_todot_cat (stralloc *, const char *) |
| unsigned int | dns_packet_copy (const char *, unsigned int, unsigned int, char *, unsigned int) |
| unsigned int | dns_packet_getname (const char *, unsigned int, unsigned int, char **) |
| unsigned int | dns_packet_skipname (const char *, unsigned int, unsigned int) |
| int | dns_transmit_start (struct dns_transmit *, const char[QUERY_MAXIPLEN], int, const char *, const char[2], const char[16]) |
| void | dns_transmit_free (struct dns_transmit *) |
| void | dns_transmit_io (struct dns_transmit *, iopause_fd *, struct taia *) |
| int | dns_transmit_get (struct dns_transmit *, const iopause_fd *, const struct taia *) |
| int | dns_resolvconfip (char[QUERY_MAXIPLEN], uint32[QUERY_MAXNS]) |
| int | dns_resolvconfrewrite (stralloc *) |
| int | dns_resolve (const char *, const char[2]) |
| int | dns_name (stralloc *, const char[16]) |
| int | dns_name_packet (stralloc *, const char *, unsigned int) |
| int | dns_txt_packet (stralloc *, const char *, unsigned int) |
| int | dns_txt (stralloc *, const stralloc *) |
| int | dns_mx_packet (stralloc *, const char *, unsigned int) |
| int | dns_mx (stralloc *, const stralloc *) |
| int | dns_ip_qualify (stralloc *, stralloc *, const stralloc *) |
| int | dns_ip4_packet (stralloc *, const char *, unsigned int) |
| int | dns_ip4 (stralloc *, stralloc *) |
| void | dns_sortip4 (char *, unsigned int) |
| int | dns_ip4_qualify_rules (stralloc *, stralloc *, const stralloc *, const stralloc *) |
| int | dns_ip4_qualify (stralloc *, stralloc *, const stralloc *) |
| int | dns_name4_domain (char *, const char[4]) |
| int | dns_name4 (stralloc *, const char[4]) |
| int | dns_ip6_packet (stralloc *, const char *, unsigned int) |
| int | dns_ip6 (stralloc *, stralloc *) |
| void | dns_sortip6 (char *, unsigned int) |
| int | dns_ip6_qualify_rules (stralloc *, stralloc *, const stralloc *, const stralloc *) |
| int | dns_ip6_qualify (stralloc *, stralloc *, const stralloc *) |
| int | dns_name6_domain (char *, const char[16]) |
| int | dns_name6 (stralloc *, const char[16]) |
| int | dns_transmit_start6 (struct dns_transmit *, const char[QUERY_MAXIPLEN], int, const char *, const char[2], const char[16], const uint32[QUERY_MAXNS]) |
| unsigned int | dns_packet_edns0 (const char[12], const char *, const int, unsigned int) |
| unsigned int | dns_pseudo_rr (char *) |
| void | socketfree (struct dns_transmit *) |
| void | queryfree (struct dns_transmit *) |
| void | packetfree (struct dns_transmit *) |
| int | randombind (struct dns_transmit *) |
| int | randombind4 (struct dns_transmit *) |
| int | serverwantstcp (const char *, unsigned int) |
| int | serverfailed (const char *, unsigned int, char *) |
| int | getscopeid (const struct dns_transmit *, const char *) |
| int | firstudp (struct dns_transmit *) |
| int | nextudp (struct dns_transmit *) |
| int | firsttcp (struct dns_transmit *) |
| int | nexttcp (struct dns_transmit *) |
Variables | |
| int | flagdnsoptrr |
| struct dns_transmit | dns_resolve_tx |
| #define DNS_COM -3 /* (socket) communication errors - SERVFAIL */ |
| #define FQDN_LEN 255 /* length of FQDN including all labels + dots */ |
| #define IP6_64PREFIX_GLOBAL "\000\144\377\233\000\000\000\000\000\000\000\000" |
| #define LOCALHOST "localhost" /* no clear distinction IPv4/IPv6 */ |
| #define MAX_TTL 655360 /* Default TTL for static DNS objects */ |
| #define MSGSIZE MTUSIZE - 48 /* DNS Flag Day 2020 recommendation */ |
| #define QUERY_MAXIPLEN 512 /* QUERY_MAXNS * 16 */ |
| #define TCP_BACKLOG 20 /* the number of TCP connections supported simultaneously */ |
| int dns_domain_copy | ( | char ** | out, |
| const char * | in | ||
| ) |
Definition at line 25 of file dns_domain.c.


| int dns_domain_equal | ( | const char * | dn1, |
| const char * | dn2 | ||
| ) |
Definition at line 39 of file dns_domain.c.


| void dns_domain_free | ( | char ** | out | ) |
Definition at line 17 of file dns_domain.c.


| int dns_domain_fromdot | ( | char ** | out, |
| const char * | buf, | ||
| unsigned int | n | ||
| ) |
| unsigned int dns_domain_length | ( | const char * | dn | ) |
Definition at line 6 of file dns_domain.c.


| int dns_domain_suffix | ( | const char * | big, |
| const char * | little | ||
| ) |
Definition at line 50 of file dns_domain.c.


| unsigned int dns_domain_suffixpos | ( | const char * | big, |
| const char * | little | ||
| ) |
| int dns_domain_todot_cat | ( | stralloc * | out, |
| const char * | d | ||
| ) |
Definition at line 11 of file dns_dtda.c.


| int dns_ip4 | ( | stralloc * | out, |
| stralloc * | fqdn | ||
| ) |
| int dns_ip4_packet | ( | stralloc * | out, |
| const char * | buf, | ||
| unsigned int | len | ||
| ) |
| int dns_ip4_qualify | ( | stralloc * | ipout, |
| stralloc * | fqdn, | ||
| const stralloc * | in | ||
| ) |
| int dns_ip4_qualify_rules | ( | stralloc * | ipout, |
| stralloc * | fqdn, | ||
| const stralloc * | in, | ||
| const stralloc * | rules | ||
| ) |
| int dns_ip6 | ( | stralloc * | out, |
| stralloc * | fqdn | ||
| ) |
| int dns_ip6_packet | ( | stralloc * | out, |
| const char * | buf, | ||
| unsigned int | len | ||
| ) |
| int dns_ip6_qualify | ( | stralloc * | ipout, |
| stralloc * | fqdn, | ||
| const stralloc * | in | ||
| ) |
| int dns_ip6_qualify_rules | ( | stralloc * | ipout, |
| stralloc * | fqdn, | ||
| const stralloc * | in, | ||
| const stralloc * | rules | ||
| ) |
| int dns_ip_qualify | ( | stralloc * | ipout, |
| stralloc * | fqdn, | ||
| const stralloc * | in | ||
| ) |
| int dns_mx | ( | stralloc * | out, |
| const stralloc * | fqdn | ||
| ) |
| int dns_mx_packet | ( | stralloc * | out, |
| const char * | buf, | ||
| unsigned int | len | ||
| ) |
| int dns_name | ( | stralloc * | out, |
| const char | ip[16] | ||
| ) |
| int dns_name4 | ( | stralloc * | out, |
| const char | ip[4] | ||
| ) |
Definition at line 39 of file dns_name.c.


| int dns_name4_domain | ( | char * | , |
| const char | [4] | ||
| ) |
| int dns_name6 | ( | stralloc * | out, |
| const char | ip[16] | ||
| ) |
Definition at line 52 of file dns_name.c.


| int dns_name6_domain | ( | char * | , |
| const char | [16] | ||
| ) |
| int dns_name_packet | ( | stralloc * | out, |
| const char * | buf, | ||
| unsigned int | len | ||
| ) |
Definition at line 9 of file dns_name.c.


| unsigned int dns_packet_copy | ( | const char * | buf, |
| unsigned int | len, | ||
| unsigned int | pos, | ||
| char * | out, | ||
| unsigned int | outlen | ||
| ) |
Definition at line 8 of file dns_packet.c.


| unsigned int dns_packet_edns0 | ( | const char | header[12], |
| const char * | buf, | ||
| const int | len, | ||
| unsigned int | pos | ||
| ) |
| unsigned int dns_packet_getname | ( | const char * | buf, |
| unsigned int | len, | ||
| unsigned int | pos, | ||
| char ** | d | ||
| ) |
Definition at line 35 of file dns_packet.c.


| unsigned int dns_packet_skipname | ( | const char * | buf, |
| unsigned int | len, | ||
| unsigned int | pos | ||
| ) |
| unsigned int dns_pseudo_rr | ( | char * | ) |
| unsigned int dns_random | ( | unsigned int | n | ) |
Definition at line 56 of file dns_random.c.


| void dns_random_init | ( | const char | data[128] | ) |
| int dns_resolvconfip | ( | char | s[QUERY_MAXIPLEN], |
| uint32 | scope[QUERY_MAXNS] | ||
| ) |
| int dns_resolvconfrewrite | ( | stralloc * | out | ) |
Definition at line 115 of file dns_rcrw.c.


| int dns_resolve | ( | const char * | q, |
| const char | qtype[2] | ||
| ) |
Definition at line 9 of file dns_resolve.c.


| void dns_sortip4 | ( | char * | s, |
| unsigned int | n | ||
| ) |
Definition at line 10 of file dns_sortip.c.


| void dns_sortip6 | ( | char * | s, |
| unsigned int | n | ||
| ) |
Definition at line 25 of file dns_sortip.c.


| void dns_transmit_free | ( | struct dns_transmit * | d | ) |
Definition at line 95 of file dns_transmit.c.


| int dns_transmit_get | ( | struct dns_transmit * | d, |
| const iopause_fd * | x, | ||
| const struct taia * | when | ||
| ) |
Definition at line 296 of file dns_transmit.c.


| void dns_transmit_io | ( | struct dns_transmit * | d, |
| iopause_fd * | x, | ||
| struct taia * | deadline | ||
| ) |
Definition at line 279 of file dns_transmit.c.


| int dns_transmit_start | ( | struct dns_transmit * | d, |
| const char | servers[QUERY_MAXIPLEN], | ||
| int | flagrecursive, | ||
| const char * | q, | ||
| const char | qtype[2], | ||
| const char | localip[16] | ||
| ) |
Definition at line 264 of file dns_transmit.c.


| int dns_transmit_start6 | ( | struct dns_transmit * | d, |
| const char | servers[QUERY_MAXIPLEN], | ||
| int | flagrecursive, | ||
| const char * | q, | ||
| const char | qtype[2], | ||
| const char | localip[16], | ||
| const | uint32[QUERY_MAXNS] | ||
| ) |
Definition at line 270 of file dns_transmit.c.


| int dns_txt | ( | stralloc * | out, |
| const stralloc * | fqdn | ||
| ) |
| int dns_txt_packet | ( | stralloc * | out, |
| const char * | buf, | ||
| unsigned int | len | ||
| ) |
| int firsttcp | ( | struct dns_transmit * | d | ) |
Definition at line 250 of file dns_transmit.c.


| int firstudp | ( | struct dns_transmit * | d | ) |
Definition at line 193 of file dns_transmit.c.


| int getscopeid | ( | const struct dns_transmit * | d, |
| const char * | ip | ||
| ) |
Definition at line 18 of file dns_transmit.c.


| int nexttcp | ( | struct dns_transmit * | d | ) |
Definition at line 256 of file dns_transmit.c.


| int nextudp | ( | struct dns_transmit * | d | ) |
Definition at line 200 of file dns_transmit.c.


| void packetfree | ( | struct dns_transmit * | d | ) |
Definition at line 74 of file dns_transmit.c.


| void queryfree | ( | struct dns_transmit * | d | ) |
Definition at line 81 of file dns_transmit.c.


| int randombind | ( | struct dns_transmit * | d | ) |
| int randombind4 | ( | struct dns_transmit * | d | ) |
Definition at line 132 of file dns_transmit.c.


| int serverfailed | ( | const char * | buf, |
| unsigned int | len, | ||
| char * | server | ||
| ) |
Definition at line 38 of file dns_transmit.c.


| int serverwantstcp | ( | const char * | buf, |
| unsigned int | len | ||
| ) |
Definition at line 29 of file dns_transmit.c.


| void socketfree | ( | struct dns_transmit * | d | ) |
Definition at line 88 of file dns_transmit.c.


|
extern |
Definition at line 7 of file dns_resolve.c.
|
extern |
Definition at line 20 of file curvedns.c.