diff options
| author | Dag-Erling Smørgrav <des@FreeBSD.org> | 2018-09-10 16:31:49 +0000 |
|---|---|---|
| committer | Dag-Erling Smørgrav <des@FreeBSD.org> | 2018-09-10 16:31:49 +0000 |
| commit | 4aea2433fa04a7a86c8972869bd021b7a3622dc8 (patch) | |
| tree | 7f4f9830855c0cb429f2c902b18e688a8020f299 /services | |
| parent | 7b6fdf425a9ef38fe9e16779b3af25863104d9c0 (diff) | |
Diffstat (limited to 'services')
| -rw-r--r-- | services/authzone.c | 21 | ||||
| -rw-r--r-- | services/cache/infra.c | 28 | ||||
| -rw-r--r-- | services/listen_dnsport.c | 18 |
3 files changed, 25 insertions, 42 deletions
diff --git a/services/authzone.c b/services/authzone.c index 7ec280bafd92..f1ca2a2b0552 100644 --- a/services/authzone.c +++ b/services/authzone.c @@ -4164,8 +4164,8 @@ chunkline_non_comment_RR(struct auth_chunk** chunk, size_t* chunk_pos, return 0; } -/** check syntax of chunklist zonefile, parse SOA RR, return false on - * failure and return a string in the scratch buffer (SOA RR string) +/** check syntax of chunklist zonefile, parse first RR, return false on + * failure and return a string in the scratch buffer (first RR string) * on failure. */ static int http_zonefile_syntax_check(struct auth_xfer* xfr, sldns_buffer* buf) @@ -4193,26 +4193,11 @@ http_zonefile_syntax_check(struct auth_xfer* xfr, sldns_buffer* buf) pstate.origin_len?pstate.origin:NULL, pstate.origin_len, pstate.prev_rr_len?pstate.prev_rr:NULL, pstate.prev_rr_len); if(e != 0) { - log_err("parse failure on SOA RR[%d]: %s", + log_err("parse failure on first RR[%d]: %s", LDNS_WIREPARSE_OFFSET(e), sldns_get_errorstr_parse(LDNS_WIREPARSE_ERROR(e))); return 0; } - /* check that name is correct */ - if(query_dname_compare(rr, xfr->name) != 0) { - char nm[255+1], zname[255+1]; - dname_str(rr, nm); - dname_str(xfr->name, zname); - log_err("parse failure for %s, SOA RR for %s found instead", - zname, nm); - return 0; - } - /* check that type is SOA */ - if(sldns_wirerr_get_type(rr, rr_len, dname_len) != LDNS_RR_TYPE_SOA) { - log_err("parse failure: first record in downloaded zonefile " - "not of type SOA"); - return 0; - } /* check that class is correct */ if(sldns_wirerr_get_class(rr, rr_len, dname_len) != xfr->dclass) { log_err("parse failure: first record in downloaded zonefile " diff --git a/services/cache/infra.c b/services/cache/infra.c index 734b7969e7a2..f4320306daa2 100644 --- a/services/cache/infra.c +++ b/services/cache/infra.c @@ -232,22 +232,20 @@ infra_create(struct config_file* cfg) infra->host_ttl = cfg->host_ttl; name_tree_init(&infra->domain_limits); infra_dp_ratelimit = cfg->ratelimit; - if(cfg->ratelimit != 0) { - infra->domain_rates = slabhash_create(cfg->ratelimit_slabs, - INFRA_HOST_STARTSIZE, cfg->ratelimit_size, - &rate_sizefunc, &rate_compfunc, &rate_delkeyfunc, - &rate_deldatafunc, NULL); - if(!infra->domain_rates) { - infra_delete(infra); - return NULL; - } - /* insert config data into ratelimits */ - if(!infra_ratelimit_cfg_insert(infra, cfg)) { - infra_delete(infra); - return NULL; - } - name_tree_init_parents(&infra->domain_limits); + infra->domain_rates = slabhash_create(cfg->ratelimit_slabs, + INFRA_HOST_STARTSIZE, cfg->ratelimit_size, + &rate_sizefunc, &rate_compfunc, &rate_delkeyfunc, + &rate_deldatafunc, NULL); + if(!infra->domain_rates) { + infra_delete(infra); + return NULL; + } + /* insert config data into ratelimits */ + if(!infra_ratelimit_cfg_insert(infra, cfg)) { + infra_delete(infra); + return NULL; } + name_tree_init_parents(&infra->domain_limits); infra_ip_ratelimit = cfg->ip_ratelimit; infra->client_ip_rates = slabhash_create(cfg->ip_ratelimit_slabs, INFRA_HOST_STARTSIZE, cfg->ip_ratelimit_size, &ip_rate_sizefunc, diff --git a/services/listen_dnsport.c b/services/listen_dnsport.c index a6922888aa49..248cad3665b0 100644 --- a/services/listen_dnsport.c +++ b/services/listen_dnsport.c @@ -1059,7 +1059,7 @@ set_recvpktinfo(int s, int family) /** see if interface is ssl, its port number == the ssl port number */ static int if_is_ssl(const char* ifname, const char* port, int ssl_port, - struct config_strlist* tls_additional_ports) + struct config_strlist* tls_additional_port) { struct config_strlist* s; char* p = strchr(ifname, '@'); @@ -1067,7 +1067,7 @@ if_is_ssl(const char* ifname, const char* port, int ssl_port, return 1; if(p && atoi(p+1) == ssl_port) return 1; - for(s = tls_additional_ports; s; s = s->next) { + for(s = tls_additional_port; s; s = s->next) { if(p && atoi(p+1) == atoi(s->str)) return 1; if(!p && atoi(port) == atoi(s->str)) @@ -1089,7 +1089,7 @@ if_is_ssl(const char* ifname, const char* port, int ssl_port, * @param rcv: receive buffer size for UDP * @param snd: send buffer size for UDP * @param ssl_port: ssl service port number - * @param tls_additional_ports: list of additional ssl service port numbers. + * @param tls_additional_port: list of additional ssl service port numbers. * @param reuseport: try to set SO_REUSEPORT if nonNULL and true. * set to false on exit if reuseport failed due to no kernel support. * @param transparent: set IP_TRANSPARENT socket option. @@ -1103,7 +1103,7 @@ static int ports_create_if(const char* ifname, int do_auto, int do_udp, int do_tcp, struct addrinfo *hints, const char* port, struct listen_port** list, size_t rcv, size_t snd, int ssl_port, - struct config_strlist* tls_additional_ports, int* reuseport, + struct config_strlist* tls_additional_port, int* reuseport, int transparent, int tcp_mss, int freebind, int use_systemd, int dnscrypt_port) { @@ -1170,7 +1170,7 @@ ports_create_if(const char* ifname, int do_auto, int do_udp, int do_tcp, } if(do_tcp) { int is_ssl = if_is_ssl(ifname, port, ssl_port, - tls_additional_ports); + tls_additional_port); if((s = make_sock_port(SOCK_STREAM, ifname, port, hints, 1, &noip6, 0, 0, reuseport, transparent, tcp_mss, freebind, use_systemd)) == -1) { @@ -1356,7 +1356,7 @@ listening_ports_open(struct config_file* cfg, int* reuseport) do_auto, cfg->do_udp, do_tcp, &hints, portbuf, &list, cfg->so_rcvbuf, cfg->so_sndbuf, - cfg->ssl_port, cfg->tls_additional_ports, + cfg->ssl_port, cfg->tls_additional_port, reuseport, cfg->ip_transparent, cfg->tcp_mss, cfg->ip_freebind, cfg->use_systemd, cfg->dnscrypt_port)) { @@ -1370,7 +1370,7 @@ listening_ports_open(struct config_file* cfg, int* reuseport) do_auto, cfg->do_udp, do_tcp, &hints, portbuf, &list, cfg->so_rcvbuf, cfg->so_sndbuf, - cfg->ssl_port, cfg->tls_additional_ports, + cfg->ssl_port, cfg->tls_additional_port, reuseport, cfg->ip_transparent, cfg->tcp_mss, cfg->ip_freebind, cfg->use_systemd, cfg->dnscrypt_port)) { @@ -1386,7 +1386,7 @@ listening_ports_open(struct config_file* cfg, int* reuseport) if(!ports_create_if(cfg->ifs[i], 0, cfg->do_udp, do_tcp, &hints, portbuf, &list, cfg->so_rcvbuf, cfg->so_sndbuf, - cfg->ssl_port, cfg->tls_additional_ports, + cfg->ssl_port, cfg->tls_additional_port, reuseport, cfg->ip_transparent, cfg->tcp_mss, cfg->ip_freebind, cfg->use_systemd, cfg->dnscrypt_port)) { @@ -1400,7 +1400,7 @@ listening_ports_open(struct config_file* cfg, int* reuseport) if(!ports_create_if(cfg->ifs[i], 0, cfg->do_udp, do_tcp, &hints, portbuf, &list, cfg->so_rcvbuf, cfg->so_sndbuf, - cfg->ssl_port, cfg->tls_additional_ports, + cfg->ssl_port, cfg->tls_additional_port, reuseport, cfg->ip_transparent, cfg->tcp_mss, cfg->ip_freebind, cfg->use_systemd, cfg->dnscrypt_port)) { |
