mirror of
https://github.com/isc-projects/bind9.git
synced 2026-05-28 04:34:54 -04:00
Merge branch '2721-shutdown-race-in-interfacemgr' into 'main'
Make a local copy of interface address when creating new socket Closes #2721 See merge request isc-projects/bind9!5094
This commit is contained in:
commit
5d325e952d
20 changed files with 350 additions and 419 deletions
|
|
@ -2797,11 +2797,10 @@ start_tcp(dig_query_t *query) {
|
|||
if (query->lookup->tls_mode) {
|
||||
result = isc_tlsctx_createclient(&query->tlsctx);
|
||||
RUNTIME_CHECK(result == ISC_R_SUCCESS);
|
||||
isc_nm_tlsdnsconnect(netmgr,
|
||||
(isc_nmiface_t *)&localaddr,
|
||||
(isc_nmiface_t *)&query->sockaddr,
|
||||
tcp_connected, query,
|
||||
local_timeout, 0, query->tlsctx);
|
||||
isc_nm_tlsdnsconnect(netmgr, &localaddr,
|
||||
&query->sockaddr, tcp_connected,
|
||||
query, local_timeout, 0,
|
||||
query->tlsctx);
|
||||
} else if (query->lookup->https_mode) {
|
||||
char uri[4096] = { 0 };
|
||||
snprintf(uri, sizeof(uri), "https://%s:%u%s",
|
||||
|
|
@ -2816,16 +2815,14 @@ start_tcp(dig_query_t *query) {
|
|||
query->tlsctx);
|
||||
}
|
||||
|
||||
isc_nm_httpconnect(netmgr, (isc_nmiface_t *)&localaddr,
|
||||
(isc_nmiface_t *)&query->sockaddr,
|
||||
isc_nm_httpconnect(netmgr, &localaddr, &query->sockaddr,
|
||||
uri, !query->lookup->https_get,
|
||||
tcp_connected, query, query->tlsctx,
|
||||
local_timeout, 0);
|
||||
} else {
|
||||
isc_nm_tcpdnsconnect(
|
||||
netmgr, (isc_nmiface_t *)&localaddr,
|
||||
(isc_nmiface_t *)&query->sockaddr,
|
||||
tcp_connected, query, local_timeout, 0);
|
||||
isc_nm_tcpdnsconnect(netmgr, &localaddr,
|
||||
&query->sockaddr, tcp_connected,
|
||||
query, local_timeout, 0);
|
||||
}
|
||||
|
||||
/* XXX: set DSCP */
|
||||
|
|
@ -2998,8 +2995,7 @@ start_udp(dig_query_t *query) {
|
|||
}
|
||||
|
||||
query_attach(query, &connectquery);
|
||||
isc_nm_udpconnect(netmgr, (isc_nmiface_t *)&localaddr,
|
||||
(isc_nmiface_t *)&query->sockaddr, udp_ready,
|
||||
isc_nm_udpconnect(netmgr, &localaddr, &query->sockaddr, udp_ready,
|
||||
connectquery,
|
||||
(timeout ? timeout : UDP_TIMEOUT) * 1000, 0);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1165,9 +1165,8 @@ add_listener(named_controls_t *cp, controllistener_t **listenerp,
|
|||
#endif
|
||||
|
||||
CHECK(isc_nm_listentcp(
|
||||
named_g_netmgr, (isc_nmiface_t *)&listener->address,
|
||||
control_newconn, listener, sizeof(controlconnection_t), 5, NULL,
|
||||
&listener->sock));
|
||||
named_g_netmgr, &listener->address, control_newconn, listener,
|
||||
sizeof(controlconnection_t), 5, NULL, &listener->sock));
|
||||
#if 0
|
||||
/* XXX: no unix socket support yet */
|
||||
if (type == isc_socktype_unix) {
|
||||
|
|
|
|||
|
|
@ -600,8 +600,8 @@ rndc_startconnect(isc_sockaddr_t *addr) {
|
|||
}
|
||||
|
||||
atomic_fetch_add_relaxed(&connects, 1);
|
||||
isc_nm_tcpconnect(netmgr, (isc_nmiface_t *)local, (isc_nmiface_t *)addr,
|
||||
rndc_connected, &rndc_ccmsg, 60000, 0);
|
||||
isc_nm_tcpconnect(netmgr, local, addr, rndc_connected, &rndc_ccmsg,
|
||||
60000, 0);
|
||||
}
|
||||
|
||||
static void
|
||||
|
|
|
|||
|
|
@ -423,20 +423,17 @@ static void
|
|||
run(void) {
|
||||
switch (protocol) {
|
||||
case UDP:
|
||||
isc_nm_udpconnect(netmgr, (isc_nmiface_t *)&sockaddr_local,
|
||||
(isc_nmiface_t *)&sockaddr_remote, connect_cb,
|
||||
NULL, timeout, 0);
|
||||
isc_nm_udpconnect(netmgr, &sockaddr_local, &sockaddr_remote,
|
||||
connect_cb, NULL, timeout, 0);
|
||||
break;
|
||||
case TCP:
|
||||
isc_nm_tcpdnsconnect(netmgr, (isc_nmiface_t *)&sockaddr_local,
|
||||
(isc_nmiface_t *)&sockaddr_remote,
|
||||
isc_nm_tcpdnsconnect(netmgr, &sockaddr_local, &sockaddr_remote,
|
||||
connect_cb, NULL, timeout, 0);
|
||||
break;
|
||||
case DOT: {
|
||||
isc_tlsctx_createclient(&tls_ctx);
|
||||
|
||||
isc_nm_tlsdnsconnect(netmgr, (isc_nmiface_t *)&sockaddr_local,
|
||||
(isc_nmiface_t *)&sockaddr_remote,
|
||||
isc_nm_tlsdnsconnect(netmgr, &sockaddr_local, &sockaddr_remote,
|
||||
connect_cb, NULL, timeout, 0, tls_ctx);
|
||||
break;
|
||||
}
|
||||
|
|
@ -454,10 +451,9 @@ run(void) {
|
|||
if (is_https) {
|
||||
isc_tlsctx_createclient(&tls_ctx);
|
||||
}
|
||||
isc_nm_httpconnect(netmgr, (isc_nmiface_t *)&sockaddr_local,
|
||||
(isc_nmiface_t *)&sockaddr_remote, req_url,
|
||||
is_post, connect_cb, NULL, tls_ctx, timeout,
|
||||
0);
|
||||
isc_nm_httpconnect(netmgr, &sockaddr_local, &sockaddr_remote,
|
||||
req_url, is_post, connect_cb, NULL, tls_ctx,
|
||||
timeout, 0);
|
||||
} break;
|
||||
default:
|
||||
INSIST(0);
|
||||
|
|
|
|||
|
|
@ -266,20 +266,20 @@ run(void) {
|
|||
|
||||
switch (protocol) {
|
||||
case UDP:
|
||||
result = isc_nm_listenudp(netmgr, (isc_nmiface_t *)&sockaddr,
|
||||
read_cb, NULL, 0, &sock);
|
||||
result = isc_nm_listenudp(netmgr, &sockaddr, read_cb, NULL, 0,
|
||||
&sock);
|
||||
break;
|
||||
case TCP:
|
||||
result = isc_nm_listentcpdns(netmgr, (isc_nmiface_t *)&sockaddr,
|
||||
read_cb, NULL, accept_cb, NULL, 0,
|
||||
0, NULL, &sock);
|
||||
result = isc_nm_listentcpdns(netmgr, &sockaddr, read_cb, NULL,
|
||||
accept_cb, NULL, 0, 0, NULL,
|
||||
&sock);
|
||||
break;
|
||||
case DOT: {
|
||||
isc_tlsctx_createserver(NULL, NULL, &tls_ctx);
|
||||
|
||||
result = isc_nm_listentlsdns(netmgr, (isc_nmiface_t *)&sockaddr,
|
||||
read_cb, NULL, accept_cb, NULL, 0,
|
||||
0, NULL, tls_ctx, &sock);
|
||||
result = isc_nm_listentlsdns(netmgr, &sockaddr, read_cb, NULL,
|
||||
accept_cb, NULL, 0, 0, NULL,
|
||||
tls_ctx, &sock);
|
||||
break;
|
||||
}
|
||||
case HTTPS:
|
||||
|
|
@ -288,8 +288,8 @@ run(void) {
|
|||
if (is_https) {
|
||||
isc_tlsctx_createserver(NULL, NULL, &tls_ctx);
|
||||
}
|
||||
result = isc_nm_listenhttp(netmgr, (isc_nmiface_t *)&sockaddr,
|
||||
0, NULL, tls_ctx, &sock);
|
||||
result = isc_nm_listenhttp(netmgr, &sockaddr, 0, NULL, tls_ctx,
|
||||
&sock);
|
||||
if (result == ISC_R_SUCCESS) {
|
||||
result = isc_nm_http_endpoint(sock, DEFAULT_DOH_PATH,
|
||||
read_cb, NULL, 0);
|
||||
|
|
|
|||
|
|
@ -936,17 +936,15 @@ xfrin_start(dns_xfrin_ctx_t *xfr) {
|
|||
*/
|
||||
switch (transport_type) {
|
||||
case DNS_TRANSPORT_TCP:
|
||||
isc_nm_tcpdnsconnect(xfr->netmgr,
|
||||
(isc_nmiface_t *)&xfr->sourceaddr,
|
||||
(isc_nmiface_t *)&xfr->masteraddr,
|
||||
xfrin_connect_done, connect_xfr, 30000, 0);
|
||||
isc_nm_tcpdnsconnect(xfr->netmgr, &xfr->sourceaddr,
|
||||
&xfr->masteraddr, xfrin_connect_done,
|
||||
connect_xfr, 30000, 0);
|
||||
break;
|
||||
case DNS_TRANSPORT_TLS:
|
||||
CHECK(isc_tlsctx_createclient(&xfr->tlsctx));
|
||||
isc_nm_tlsdnsconnect(
|
||||
xfr->netmgr, (isc_nmiface_t *)&xfr->sourceaddr,
|
||||
(isc_nmiface_t *)&xfr->masteraddr, xfrin_connect_done,
|
||||
connect_xfr, 30000, 0, xfr->tlsctx);
|
||||
isc_nm_tlsdnsconnect(xfr->netmgr, &xfr->sourceaddr,
|
||||
&xfr->masteraddr, xfrin_connect_done,
|
||||
connect_xfr, 30000, 0, xfr->tlsctx);
|
||||
break;
|
||||
default:
|
||||
INSIST(0);
|
||||
|
|
|
|||
|
|
@ -228,9 +228,8 @@ isc_httpdmgr_create(isc_nm_t *nm, isc_mem_t *mctx, isc_sockaddr_t *addr,
|
|||
|
||||
isc_refcount_init(&httpdmgr->references, 1);
|
||||
|
||||
CHECK(isc_nm_listentcp(nm, (isc_nmiface_t *)addr, httpd_newconn,
|
||||
httpdmgr, sizeof(isc_httpd_t), 5, NULL,
|
||||
&httpdmgr->sock));
|
||||
CHECK(isc_nm_listentcp(nm, addr, httpd_newconn, httpdmgr,
|
||||
sizeof(isc_httpd_t), 5, NULL, &httpdmgr->sock));
|
||||
|
||||
httpdmgr->magic = HTTPDMGR_MAGIC;
|
||||
*httpdmgrp = httpdmgr;
|
||||
|
|
|
|||
|
|
@ -173,7 +173,7 @@ isc_nmhandle_netmgr(isc_nmhandle_t *handle);
|
|||
*/
|
||||
|
||||
isc_result_t
|
||||
isc_nm_listenudp(isc_nm_t *mgr, isc_nmiface_t *iface, isc_nm_recv_cb_t cb,
|
||||
isc_nm_listenudp(isc_nm_t *mgr, isc_sockaddr_t *iface, isc_nm_recv_cb_t cb,
|
||||
void *cbarg, size_t extrasize, isc_nmsocket_t **sockp);
|
||||
/*%<
|
||||
* Start listening for UDP packets on interface 'iface' using net manager
|
||||
|
|
@ -190,7 +190,7 @@ isc_nm_listenudp(isc_nm_t *mgr, isc_nmiface_t *iface, isc_nm_recv_cb_t cb,
|
|||
*/
|
||||
|
||||
void
|
||||
isc_nm_udpconnect(isc_nm_t *mgr, isc_nmiface_t *local, isc_nmiface_t *peer,
|
||||
isc_nm_udpconnect(isc_nm_t *mgr, isc_sockaddr_t *local, isc_sockaddr_t *peer,
|
||||
isc_nm_cb_t cb, void *cbarg, unsigned int timeout,
|
||||
size_t extrahandlesize);
|
||||
/*%<
|
||||
|
|
@ -278,7 +278,7 @@ isc_nm_send(isc_nmhandle_t *handle, isc_region_t *region, isc_nm_cb_t cb,
|
|||
*/
|
||||
|
||||
isc_result_t
|
||||
isc_nm_listentcp(isc_nm_t *mgr, isc_nmiface_t *iface,
|
||||
isc_nm_listentcp(isc_nm_t *mgr, isc_sockaddr_t *iface,
|
||||
isc_nm_accept_cb_t accept_cb, void *accept_cbarg,
|
||||
size_t extrahandlesize, int backlog, isc_quota_t *quota,
|
||||
isc_nmsocket_t **sockp);
|
||||
|
|
@ -301,7 +301,7 @@ isc_nm_listentcp(isc_nm_t *mgr, isc_nmiface_t *iface,
|
|||
*/
|
||||
|
||||
void
|
||||
isc_nm_tcpconnect(isc_nm_t *mgr, isc_nmiface_t *local, isc_nmiface_t *peer,
|
||||
isc_nm_tcpconnect(isc_nm_t *mgr, isc_sockaddr_t *local, isc_sockaddr_t *peer,
|
||||
isc_nm_cb_t cb, void *cbarg, unsigned int timeout,
|
||||
size_t extrahandlesize);
|
||||
/*%<
|
||||
|
|
@ -319,7 +319,7 @@ isc_nm_tcpconnect(isc_nm_t *mgr, isc_nmiface_t *local, isc_nmiface_t *peer,
|
|||
*/
|
||||
|
||||
isc_result_t
|
||||
isc_nm_listentcpdns(isc_nm_t *mgr, isc_nmiface_t *iface,
|
||||
isc_nm_listentcpdns(isc_nm_t *mgr, isc_sockaddr_t *iface,
|
||||
isc_nm_recv_cb_t recv_cb, void *recv_cbarg,
|
||||
isc_nm_accept_cb_t accept_cb, void *accept_cbarg,
|
||||
size_t extrahandlesize, int backlog, isc_quota_t *quota,
|
||||
|
|
@ -348,7 +348,7 @@ isc_nm_listentcpdns(isc_nm_t *mgr, isc_nmiface_t *iface,
|
|||
*/
|
||||
|
||||
isc_result_t
|
||||
isc_nm_listentlsdns(isc_nm_t *mgr, isc_nmiface_t *iface,
|
||||
isc_nm_listentlsdns(isc_nm_t *mgr, isc_sockaddr_t *iface,
|
||||
isc_nm_recv_cb_t recv_cb, void *recv_cbarg,
|
||||
isc_nm_accept_cb_t accept_cb, void *accept_cbarg,
|
||||
size_t extrahandlesize, int backlog, isc_quota_t *quota,
|
||||
|
|
@ -469,22 +469,22 @@ isc_nm_setstats(isc_nm_t *mgr, isc_stats_t *stats);
|
|||
*/
|
||||
|
||||
isc_result_t
|
||||
isc_nm_listentls(isc_nm_t *mgr, isc_nmiface_t *iface,
|
||||
isc_nm_listentls(isc_nm_t *mgr, isc_sockaddr_t *iface,
|
||||
isc_nm_accept_cb_t accept_cb, void *accept_cbarg,
|
||||
size_t extrahandlesize, int backlog, isc_quota_t *quota,
|
||||
isc_tlsctx_t *sslctx, isc_nmsocket_t **sockp);
|
||||
|
||||
void
|
||||
isc_nm_tlsconnect(isc_nm_t *mgr, isc_nmiface_t *local, isc_nmiface_t *peer,
|
||||
isc_nm_tlsconnect(isc_nm_t *mgr, isc_sockaddr_t *local, isc_sockaddr_t *peer,
|
||||
isc_nm_cb_t cb, void *cbarg, isc_tlsctx_t *ctx,
|
||||
unsigned int timeout, size_t extrahandlesize);
|
||||
|
||||
void
|
||||
isc_nm_tcpdnsconnect(isc_nm_t *mgr, isc_nmiface_t *local, isc_nmiface_t *peer,
|
||||
isc_nm_tcpdnsconnect(isc_nm_t *mgr, isc_sockaddr_t *local, isc_sockaddr_t *peer,
|
||||
isc_nm_cb_t cb, void *cbarg, unsigned int timeout,
|
||||
size_t extrahandlesize);
|
||||
void
|
||||
isc_nm_tlsdnsconnect(isc_nm_t *mgr, isc_nmiface_t *local, isc_nmiface_t *peer,
|
||||
isc_nm_tlsdnsconnect(isc_nm_t *mgr, isc_sockaddr_t *local, isc_sockaddr_t *peer,
|
||||
isc_nm_cb_t cb, void *cbarg, unsigned int timeout,
|
||||
size_t extrahandlesize, isc_tlsctx_t *sslctx);
|
||||
/*%<
|
||||
|
|
@ -502,13 +502,13 @@ isc_nm_tlsdnsconnect(isc_nm_t *mgr, isc_nmiface_t *local, isc_nmiface_t *peer,
|
|||
*/
|
||||
|
||||
void
|
||||
isc_nm_httpconnect(isc_nm_t *mgr, isc_nmiface_t *local, isc_nmiface_t *peer,
|
||||
isc_nm_httpconnect(isc_nm_t *mgr, isc_sockaddr_t *local, isc_sockaddr_t *peer,
|
||||
const char *uri, bool POST, isc_nm_cb_t cb, void *cbarg,
|
||||
isc_tlsctx_t *ctx, unsigned int timeout,
|
||||
size_t extrahandlesize);
|
||||
|
||||
isc_result_t
|
||||
isc_nm_listenhttp(isc_nm_t *mgr, isc_nmiface_t *iface, int backlog,
|
||||
isc_nm_listenhttp(isc_nm_t *mgr, isc_sockaddr_t *iface, int backlog,
|
||||
isc_quota_t *quota, isc_tlsctx_t *ctx,
|
||||
isc_nmsocket_t **sockp);
|
||||
|
||||
|
|
|
|||
|
|
@ -67,22 +67,21 @@ typedef struct isc_netaddr isc_netaddr_t; /*%< Net Address */
|
|||
typedef struct isc_netprefix isc_netprefix_t; /*%< Net Prefix */
|
||||
typedef struct isc_nm isc_nm_t; /*%< Network manager */
|
||||
typedef struct isc_nmsocket isc_nmsocket_t; /*%< Network manager socket */
|
||||
typedef struct isc_nmiface isc_nmiface_t; /*%< Network manager interface. */
|
||||
typedef struct isc_nmhandle isc_nmhandle_t; /*%< Network manager handle */
|
||||
typedef struct isc_portset isc_portset_t; /*%< Port Set */
|
||||
typedef struct isc_quota isc_quota_t; /*%< Quota */
|
||||
typedef struct isc_ratelimiter isc_ratelimiter_t; /*%< Rate Limiter */
|
||||
typedef struct isc_region isc_region_t; /*%< Region */
|
||||
typedef uint64_t isc_resourcevalue_t; /*%< Resource Value */
|
||||
typedef unsigned int isc_result_t; /*%< Result */
|
||||
typedef struct isc_rwlock isc_rwlock_t; /*%< Read Write Lock */
|
||||
typedef struct isc_sockaddr isc_sockaddr_t; /*%< Socket Address */
|
||||
typedef ISC_LIST(isc_sockaddr_t) isc_sockaddrlist_t; /*%< Socket Address List
|
||||
* */
|
||||
typedef struct isc_socket isc_socket_t; /*%< Socket */
|
||||
typedef struct isc_socketevent isc_socketevent_t; /*%< Socket Event */
|
||||
typedef struct isc_socketmgr isc_socketmgr_t; /*%< Socket Manager */
|
||||
typedef struct isc_stats isc_stats_t; /*%< Statistics */
|
||||
typedef struct isc_nmhandle isc_nmhandle_t; /*%< Network manager handle */
|
||||
typedef struct isc_portset isc_portset_t; /*%< Port Set */
|
||||
typedef struct isc_quota isc_quota_t; /*%< Quota */
|
||||
typedef struct isc_ratelimiter isc_ratelimiter_t; /*%< Rate Limiter */
|
||||
typedef struct isc_region isc_region_t; /*%< Region */
|
||||
typedef uint64_t isc_resourcevalue_t; /*%< Resource Value */
|
||||
typedef unsigned int isc_result_t; /*%< Result */
|
||||
typedef struct isc_rwlock isc_rwlock_t; /*%< Read Write Lock */
|
||||
typedef struct isc_sockaddr isc_sockaddr_t; /*%< Socket Address */
|
||||
typedef ISC_LIST(isc_sockaddr_t) isc_sockaddrlist_t; /*%< Socket Address List
|
||||
* */
|
||||
typedef struct isc_socket isc_socket_t; /*%< Socket */
|
||||
typedef struct isc_socketevent isc_socketevent_t; /*%< Socket Event */
|
||||
typedef struct isc_socketmgr isc_socketmgr_t; /*%< Socket Manager */
|
||||
typedef struct isc_stats isc_stats_t; /*%< Statistics */
|
||||
#if defined(_WIN32) && !defined(_WIN64)
|
||||
typedef int_fast32_t isc_statscounter_t; /*%< Statistics Counter */
|
||||
#else /* if defined(_WIN32) && !defined(_WIN64) */
|
||||
|
|
|
|||
|
|
@ -124,7 +124,7 @@ struct isc_nm_http_session {
|
|||
isc_nmhandle_t *handle;
|
||||
isc_nmhandle_t *client_httphandle;
|
||||
isc_nmsocket_t *serversocket;
|
||||
isc_nmiface_t server_iface;
|
||||
isc_sockaddr_t server_iface;
|
||||
|
||||
uint8_t buf[MAX_DNS_MESSAGE_SIZE];
|
||||
size_t bufsize;
|
||||
|
|
@ -1053,7 +1053,7 @@ http_call_connect_cb(isc_nmsocket_t *sock, isc_nm_http_session_t *session,
|
|||
isc_result_t result) {
|
||||
isc__nm_uvreq_t *req = NULL;
|
||||
isc_nmhandle_t *httphandle = isc__nmhandle_get(sock, &sock->peer,
|
||||
&sock->iface->addr);
|
||||
&sock->iface);
|
||||
|
||||
REQUIRE(sock->connect_cb != NULL);
|
||||
|
||||
|
|
@ -1171,11 +1171,11 @@ error:
|
|||
}
|
||||
|
||||
void
|
||||
isc_nm_httpconnect(isc_nm_t *mgr, isc_nmiface_t *local, isc_nmiface_t *peer,
|
||||
isc_nm_httpconnect(isc_nm_t *mgr, isc_sockaddr_t *local, isc_sockaddr_t *peer,
|
||||
const char *uri, bool post, isc_nm_cb_t cb, void *cbarg,
|
||||
isc_tlsctx_t *tlsctx, unsigned int timeout,
|
||||
size_t extrahandlesize) {
|
||||
isc_nmiface_t local_interface;
|
||||
isc_sockaddr_t local_interface;
|
||||
isc_nmsocket_t *sock = NULL;
|
||||
|
||||
REQUIRE(VALID_NM(mgr));
|
||||
|
|
@ -1185,8 +1185,7 @@ isc_nm_httpconnect(isc_nm_t *mgr, isc_nmiface_t *local, isc_nmiface_t *peer,
|
|||
REQUIRE(*uri != '\0');
|
||||
|
||||
if (local == NULL) {
|
||||
isc_sockaddr_anyofpf(&local_interface.addr,
|
||||
(peer->addr).type.sa.sa_family);
|
||||
isc_sockaddr_anyofpf(&local_interface, peer->type.sa.sa_family);
|
||||
local = &local_interface;
|
||||
}
|
||||
|
||||
|
|
@ -1205,10 +1204,9 @@ isc_nm_httpconnect(isc_nm_t *mgr, isc_nmiface_t *local, isc_nmiface_t *peer,
|
|||
|
||||
req->cb.connect = cb;
|
||||
req->cbarg = cbarg;
|
||||
req->peer = peer->addr;
|
||||
req->local = local->addr;
|
||||
req->handle = isc__nmhandle_get(sock, &req->peer,
|
||||
&sock->iface->addr);
|
||||
req->peer = *peer;
|
||||
req->local = *local;
|
||||
req->handle = isc__nmhandle_get(sock, &req->peer, &sock->iface);
|
||||
|
||||
if (isc__nm_in_netthread()) {
|
||||
sock->tid = isc_nm_tid();
|
||||
|
|
@ -1233,7 +1231,7 @@ isc_nm_httpconnect(isc_nm_t *mgr, isc_nmiface_t *local, isc_nmiface_t *peer,
|
|||
*/
|
||||
if (local == &local_interface) {
|
||||
sock->h2.connect.local_interface = local_interface;
|
||||
sock->iface = &sock->h2.connect.local_interface;
|
||||
sock->iface = sock->h2.connect.local_interface;
|
||||
}
|
||||
|
||||
if (tlsctx != NULL) {
|
||||
|
|
@ -1381,7 +1379,7 @@ server_on_begin_headers_callback(nghttp2_session *ngsession,
|
|||
socket = isc_mem_get(session->mctx, sizeof(isc_nmsocket_t));
|
||||
isc__nmsocket_init(socket, session->serversocket->mgr,
|
||||
isc_nm_httpsocket,
|
||||
(isc_nmiface_t *)&session->server_iface);
|
||||
(isc_sockaddr_t *)&session->server_iface);
|
||||
socket->h2 = (isc_nmsocket_h2_t){
|
||||
.buf = isc_mem_allocate(session->mctx, MAX_DNS_MESSAGE_SIZE),
|
||||
.psock = socket,
|
||||
|
|
@ -2128,7 +2126,7 @@ httplisten_acceptcb(isc_nmhandle_t *handle, isc_result_t result, void *cbarg) {
|
|||
|
||||
isc_nmhandle_attach(handle, &session->handle);
|
||||
isc__nmsocket_attach(httplistensock, &session->serversocket);
|
||||
session->server_iface.addr = isc_nmhandle_localaddr(session->handle);
|
||||
session->server_iface = isc_nmhandle_localaddr(session->handle);
|
||||
server_send_connection_header(session);
|
||||
|
||||
/* TODO H2 */
|
||||
|
|
@ -2137,7 +2135,7 @@ httplisten_acceptcb(isc_nmhandle_t *handle, isc_result_t result, void *cbarg) {
|
|||
}
|
||||
|
||||
isc_result_t
|
||||
isc_nm_listenhttp(isc_nm_t *mgr, isc_nmiface_t *iface, int backlog,
|
||||
isc_nm_listenhttp(isc_nm_t *mgr, isc_sockaddr_t *iface, int backlog,
|
||||
isc_quota_t *quota, isc_tlsctx_t *ctx,
|
||||
isc_nmsocket_t **sockp) {
|
||||
isc_nmsocket_t *sock = NULL;
|
||||
|
|
|
|||
|
|
@ -829,7 +829,7 @@ typedef struct isc_nmsocket_h2 {
|
|||
char *uri;
|
||||
bool post;
|
||||
isc_tlsctx_t *tlsctx;
|
||||
isc_nmiface_t local_interface;
|
||||
isc_sockaddr_t local_interface;
|
||||
void *cstream;
|
||||
} connect;
|
||||
} isc_nmsocket_h2_t;
|
||||
|
|
@ -887,8 +887,8 @@ struct isc_nmsocket {
|
|||
isc_tls_t *tls;
|
||||
isc_tlsctx_t *ctx;
|
||||
isc_nmsocket_t *tlslistener;
|
||||
isc_nmiface_t server_iface;
|
||||
isc_nmiface_t local_iface;
|
||||
isc_sockaddr_t server_iface;
|
||||
isc_sockaddr_t local_iface;
|
||||
atomic_bool result_updated;
|
||||
enum {
|
||||
TLS_INIT,
|
||||
|
|
@ -932,7 +932,7 @@ struct isc_nmsocket {
|
|||
/*% Child sockets for multi-socket setups */
|
||||
isc_nmsocket_t *children;
|
||||
uint_fast32_t nchildren;
|
||||
isc_nmiface_t *iface;
|
||||
isc_sockaddr_t iface;
|
||||
isc_nmhandle_t *statichandle;
|
||||
isc_nmhandle_t *outerhandle;
|
||||
|
||||
|
|
@ -1174,7 +1174,7 @@ isc___nm_uvreq_put(isc__nm_uvreq_t **req, isc_nmsocket_t *sock FLARG);
|
|||
|
||||
void
|
||||
isc___nmsocket_init(isc_nmsocket_t *sock, isc_nm_t *mgr, isc_nmsocket_type type,
|
||||
isc_nmiface_t *iface FLARG);
|
||||
isc_sockaddr_t *iface FLARG);
|
||||
/*%<
|
||||
* Initialize socket 'sock', attach it to 'mgr', and set it to type 'type'
|
||||
* and its interface to 'iface'.
|
||||
|
|
|
|||
|
|
@ -1470,17 +1470,17 @@ isc_nmsocket_close(isc_nmsocket_t **sockp) {
|
|||
|
||||
void
|
||||
isc___nmsocket_init(isc_nmsocket_t *sock, isc_nm_t *mgr, isc_nmsocket_type type,
|
||||
isc_nmiface_t *iface FLARG) {
|
||||
isc_sockaddr_t *iface FLARG) {
|
||||
uint16_t family;
|
||||
|
||||
REQUIRE(sock != NULL);
|
||||
REQUIRE(mgr != NULL);
|
||||
REQUIRE(iface != NULL);
|
||||
|
||||
family = iface->addr.type.sa.sa_family;
|
||||
family = iface->type.sa.sa_family;
|
||||
|
||||
*sock = (isc_nmsocket_t){ .type = type,
|
||||
.iface = iface,
|
||||
.iface = *iface,
|
||||
.fd = -1,
|
||||
.ah_size = 32,
|
||||
.inactivehandles = isc_astack_new(
|
||||
|
|
@ -1641,19 +1641,15 @@ isc___nmhandle_get(isc_nmsocket_t *sock, isc_sockaddr_t *peer,
|
|||
#endif
|
||||
|
||||
if (peer != NULL) {
|
||||
memmove(&handle->peer, peer, sizeof(isc_sockaddr_t));
|
||||
handle->peer = *peer;
|
||||
} else {
|
||||
memmove(&handle->peer, &sock->peer, sizeof(isc_sockaddr_t));
|
||||
handle->peer = sock->peer;
|
||||
}
|
||||
|
||||
if (local != NULL) {
|
||||
memmove(&handle->local, local, sizeof(isc_sockaddr_t));
|
||||
} else if (sock->iface != NULL) {
|
||||
memmove(&handle->local, &sock->iface->addr,
|
||||
sizeof(isc_sockaddr_t));
|
||||
handle->local = *local;
|
||||
} else {
|
||||
INSIST(0);
|
||||
ISC_UNREACHABLE();
|
||||
handle->local = sock->iface;
|
||||
}
|
||||
|
||||
LOCK(&sock->lock);
|
||||
|
|
|
|||
|
|
@ -201,7 +201,6 @@ isc__nm_async_tcpconnect(isc__networker_t *worker, isc__netievent_t *ev0) {
|
|||
|
||||
REQUIRE(VALID_NMSOCK(sock));
|
||||
REQUIRE(sock->type == isc_nm_tcpsocket);
|
||||
REQUIRE(sock->iface != NULL);
|
||||
REQUIRE(sock->parent == NULL);
|
||||
REQUIRE(sock->tid == isc_nm_tid());
|
||||
|
||||
|
|
@ -285,7 +284,7 @@ error:
|
|||
}
|
||||
|
||||
void
|
||||
isc_nm_tcpconnect(isc_nm_t *mgr, isc_nmiface_t *local, isc_nmiface_t *peer,
|
||||
isc_nm_tcpconnect(isc_nm_t *mgr, isc_sockaddr_t *local, isc_sockaddr_t *peer,
|
||||
isc_nm_cb_t cb, void *cbarg, unsigned int timeout,
|
||||
size_t extrahandlesize) {
|
||||
isc_result_t result = ISC_R_SUCCESS;
|
||||
|
|
@ -298,7 +297,7 @@ isc_nm_tcpconnect(isc_nm_t *mgr, isc_nmiface_t *local, isc_nmiface_t *peer,
|
|||
REQUIRE(local != NULL);
|
||||
REQUIRE(peer != NULL);
|
||||
|
||||
sa_family = peer->addr.type.sa.sa_family;
|
||||
sa_family = peer->type.sa.sa_family;
|
||||
|
||||
sock = isc_mem_get(mgr->mctx, sizeof(*sock));
|
||||
isc__nmsocket_init(sock, mgr, isc_nm_tcpsocket, local);
|
||||
|
|
@ -312,9 +311,9 @@ isc_nm_tcpconnect(isc_nm_t *mgr, isc_nmiface_t *local, isc_nmiface_t *peer,
|
|||
req = isc__nm_uvreq_get(mgr, sock);
|
||||
req->cb.connect = cb;
|
||||
req->cbarg = cbarg;
|
||||
req->peer = peer->addr;
|
||||
req->local = local->addr;
|
||||
req->handle = isc__nmhandle_get(sock, &req->peer, &sock->iface->addr);
|
||||
req->peer = *peer;
|
||||
req->local = *local;
|
||||
req->handle = isc__nmhandle_get(sock, &req->peer, &sock->iface);
|
||||
|
||||
result = isc__nm_socket(sa_family, SOCK_STREAM, 0, &sock->fd);
|
||||
if (result != ISC_R_SUCCESS) {
|
||||
|
|
@ -379,7 +378,7 @@ isc__nm_tcp_lb_socket(sa_family_t sa_family) {
|
|||
}
|
||||
|
||||
static void
|
||||
start_tcp_child(isc_nm_t *mgr, isc_nmiface_t *iface, isc_nmsocket_t *sock,
|
||||
start_tcp_child(isc_nm_t *mgr, isc_sockaddr_t *iface, isc_nmsocket_t *sock,
|
||||
uv_os_sock_t fd, int tid) {
|
||||
isc__netievent_tcplisten_t *ievent = NULL;
|
||||
isc_nmsocket_t *csock = &sock->children[tid];
|
||||
|
|
@ -400,7 +399,7 @@ start_tcp_child(isc_nm_t *mgr, isc_nmiface_t *iface, isc_nmsocket_t *sock,
|
|||
|
||||
#if HAVE_SO_REUSEPORT_LB || defined(WIN32)
|
||||
UNUSED(fd);
|
||||
csock->fd = isc__nm_tcp_lb_socket(iface->addr.type.sa.sa_family);
|
||||
csock->fd = isc__nm_tcp_lb_socket(iface->type.sa.sa_family);
|
||||
#else
|
||||
csock->fd = dup(fd);
|
||||
#endif
|
||||
|
|
@ -420,7 +419,7 @@ enqueue_stoplistening(isc_nmsocket_t *sock) {
|
|||
}
|
||||
|
||||
isc_result_t
|
||||
isc_nm_listentcp(isc_nm_t *mgr, isc_nmiface_t *iface,
|
||||
isc_nm_listentcp(isc_nm_t *mgr, isc_sockaddr_t *iface,
|
||||
isc_nm_accept_cb_t accept_cb, void *accept_cbarg,
|
||||
size_t extrahandlesize, int backlog, isc_quota_t *quota,
|
||||
isc_nmsocket_t **sockp) {
|
||||
|
|
@ -456,7 +455,7 @@ isc_nm_listentcp(isc_nm_t *mgr, isc_nmiface_t *iface,
|
|||
sock->fd = -1;
|
||||
|
||||
#if !HAVE_SO_REUSEPORT_LB && !defined(WIN32)
|
||||
fd = isc__nm_tcp_lb_socket(iface->addr.type.sa.sa_family);
|
||||
fd = isc__nm_tcp_lb_socket(iface->type.sa.sa_family);
|
||||
#endif
|
||||
|
||||
isc_barrier_init(&sock->startlistening, sock->nchildren);
|
||||
|
|
@ -501,7 +500,6 @@ isc_nm_listentcp(isc_nm_t *mgr, isc_nmiface_t *iface,
|
|||
void
|
||||
isc__nm_async_tcplisten(isc__networker_t *worker, isc__netievent_t *ev0) {
|
||||
isc__netievent_tcplisten_t *ievent = (isc__netievent_tcplisten_t *)ev0;
|
||||
isc_nmiface_t *iface = NULL;
|
||||
sa_family_t sa_family;
|
||||
int r;
|
||||
int flags = 0;
|
||||
|
|
@ -513,11 +511,9 @@ isc__nm_async_tcplisten(isc__networker_t *worker, isc__netievent_t *ev0) {
|
|||
REQUIRE(VALID_NMSOCK(ievent->sock->parent));
|
||||
|
||||
sock = ievent->sock;
|
||||
iface = sock->iface;
|
||||
sa_family = iface->addr.type.sa.sa_family;
|
||||
sa_family = sock->iface.type.sa.sa_family;
|
||||
|
||||
REQUIRE(sock->type == isc_nm_tcpsocket);
|
||||
REQUIRE(sock->iface != NULL);
|
||||
REQUIRE(sock->parent != NULL);
|
||||
REQUIRE(sock->tid == isc_nm_tid());
|
||||
|
||||
|
|
@ -550,8 +546,8 @@ isc__nm_async_tcplisten(isc__networker_t *worker, isc__netievent_t *ev0) {
|
|||
}
|
||||
|
||||
#if HAVE_SO_REUSEPORT_LB || defined(WIN32)
|
||||
r = isc_uv_tcp_freebind(&sock->uv_handle.tcp,
|
||||
&sock->iface->addr.type.sa, flags);
|
||||
r = isc_uv_tcp_freebind(&sock->uv_handle.tcp, &sock->iface.type.sa,
|
||||
flags);
|
||||
if (r < 0) {
|
||||
isc__nm_incstats(sock->mgr, sock->statsindex[STATID_BINDFAIL]);
|
||||
goto done;
|
||||
|
|
@ -559,7 +555,7 @@ isc__nm_async_tcplisten(isc__networker_t *worker, isc__netievent_t *ev0) {
|
|||
#else
|
||||
if (sock->parent->fd == -1) {
|
||||
r = isc_uv_tcp_freebind(&sock->uv_handle.tcp,
|
||||
&sock->iface->addr.type.sa, flags);
|
||||
&sock->iface.type.sa, flags);
|
||||
if (r < 0) {
|
||||
isc__nm_incstats(sock->mgr,
|
||||
sock->statsindex[STATID_BINDFAIL]);
|
||||
|
|
@ -974,7 +970,7 @@ accept_connection(isc_nmsocket_t *ssock, isc_quota_t *quota) {
|
|||
}
|
||||
|
||||
csock = isc_mem_get(ssock->mgr->mctx, sizeof(isc_nmsocket_t));
|
||||
isc__nmsocket_init(csock, ssock->mgr, isc_nm_tcpsocket, ssock->iface);
|
||||
isc__nmsocket_init(csock, ssock->mgr, isc_nm_tcpsocket, &ssock->iface);
|
||||
csock->tid = ssock->tid;
|
||||
csock->extrahandlesize = ssock->extrahandlesize;
|
||||
isc__nmsocket_attach(ssock, &csock->server);
|
||||
|
|
|
|||
|
|
@ -176,7 +176,6 @@ isc__nm_async_tcpdnsconnect(isc__networker_t *worker, isc__netievent_t *ev0) {
|
|||
|
||||
REQUIRE(VALID_NMSOCK(sock));
|
||||
REQUIRE(sock->type == isc_nm_tcpdnssocket);
|
||||
REQUIRE(sock->iface != NULL);
|
||||
REQUIRE(sock->parent == NULL);
|
||||
REQUIRE(sock->tid == isc_nm_tid());
|
||||
|
||||
|
|
@ -252,7 +251,7 @@ error:
|
|||
}
|
||||
|
||||
void
|
||||
isc_nm_tcpdnsconnect(isc_nm_t *mgr, isc_nmiface_t *local, isc_nmiface_t *peer,
|
||||
isc_nm_tcpdnsconnect(isc_nm_t *mgr, isc_sockaddr_t *local, isc_sockaddr_t *peer,
|
||||
isc_nm_cb_t cb, void *cbarg, unsigned int timeout,
|
||||
size_t extrahandlesize) {
|
||||
isc_result_t result = ISC_R_SUCCESS;
|
||||
|
|
@ -265,7 +264,7 @@ isc_nm_tcpdnsconnect(isc_nm_t *mgr, isc_nmiface_t *local, isc_nmiface_t *peer,
|
|||
REQUIRE(local != NULL);
|
||||
REQUIRE(peer != NULL);
|
||||
|
||||
sa_family = peer->addr.type.sa.sa_family;
|
||||
sa_family = peer->type.sa.sa_family;
|
||||
|
||||
sock = isc_mem_get(mgr->mctx, sizeof(*sock));
|
||||
isc__nmsocket_init(sock, mgr, isc_nm_tcpdnssocket, local);
|
||||
|
|
@ -278,9 +277,9 @@ isc_nm_tcpdnsconnect(isc_nm_t *mgr, isc_nmiface_t *local, isc_nmiface_t *peer,
|
|||
req = isc__nm_uvreq_get(mgr, sock);
|
||||
req->cb.connect = cb;
|
||||
req->cbarg = cbarg;
|
||||
req->peer = peer->addr;
|
||||
req->local = local->addr;
|
||||
req->handle = isc__nmhandle_get(sock, &req->peer, &sock->iface->addr);
|
||||
req->peer = *peer;
|
||||
req->local = *local;
|
||||
req->handle = isc__nmhandle_get(sock, &req->peer, &sock->iface);
|
||||
|
||||
result = isc__nm_socket(sa_family, SOCK_STREAM, 0, &sock->fd);
|
||||
if (result != ISC_R_SUCCESS) {
|
||||
|
|
@ -354,7 +353,7 @@ enqueue_stoplistening(isc_nmsocket_t *sock) {
|
|||
}
|
||||
|
||||
static void
|
||||
start_tcpdns_child(isc_nm_t *mgr, isc_nmiface_t *iface, isc_nmsocket_t *sock,
|
||||
start_tcpdns_child(isc_nm_t *mgr, isc_sockaddr_t *iface, isc_nmsocket_t *sock,
|
||||
uv_os_sock_t fd, int tid) {
|
||||
isc__netievent_tcpdnslisten_t *ievent = NULL;
|
||||
isc_nmsocket_t *csock = &sock->children[tid];
|
||||
|
|
@ -377,7 +376,7 @@ start_tcpdns_child(isc_nm_t *mgr, isc_nmiface_t *iface, isc_nmsocket_t *sock,
|
|||
|
||||
#if HAVE_SO_REUSEPORT_LB || defined(WIN32)
|
||||
UNUSED(fd);
|
||||
csock->fd = isc__nm_tcpdns_lb_socket(iface->addr.type.sa.sa_family);
|
||||
csock->fd = isc__nm_tcpdns_lb_socket(iface->type.sa.sa_family);
|
||||
#else
|
||||
csock->fd = dup(fd);
|
||||
#endif
|
||||
|
|
@ -388,7 +387,7 @@ start_tcpdns_child(isc_nm_t *mgr, isc_nmiface_t *iface, isc_nmsocket_t *sock,
|
|||
(isc__netievent_t *)ievent);
|
||||
}
|
||||
isc_result_t
|
||||
isc_nm_listentcpdns(isc_nm_t *mgr, isc_nmiface_t *iface,
|
||||
isc_nm_listentcpdns(isc_nm_t *mgr, isc_sockaddr_t *iface,
|
||||
isc_nm_recv_cb_t recv_cb, void *recv_cbarg,
|
||||
isc_nm_accept_cb_t accept_cb, void *accept_cbarg,
|
||||
size_t extrahandlesize, int backlog, isc_quota_t *quota,
|
||||
|
|
@ -426,7 +425,7 @@ isc_nm_listentcpdns(isc_nm_t *mgr, isc_nmiface_t *iface,
|
|||
sock->fd = -1;
|
||||
|
||||
#if !HAVE_SO_REUSEPORT_LB && !defined(WIN32)
|
||||
fd = isc__nm_tcpdns_lb_socket(iface->addr.type.sa.sa_family);
|
||||
fd = isc__nm_tcpdns_lb_socket(iface->type.sa.sa_family);
|
||||
#endif
|
||||
|
||||
isc_barrier_init(&sock->startlistening, sock->nchildren);
|
||||
|
|
@ -472,7 +471,6 @@ void
|
|||
isc__nm_async_tcpdnslisten(isc__networker_t *worker, isc__netievent_t *ev0) {
|
||||
isc__netievent_tcpdnslisten_t *ievent =
|
||||
(isc__netievent_tcpdnslisten_t *)ev0;
|
||||
isc_nmiface_t *iface = NULL;
|
||||
sa_family_t sa_family;
|
||||
int r;
|
||||
int flags = 0;
|
||||
|
|
@ -484,11 +482,9 @@ isc__nm_async_tcpdnslisten(isc__networker_t *worker, isc__netievent_t *ev0) {
|
|||
REQUIRE(VALID_NMSOCK(ievent->sock->parent));
|
||||
|
||||
sock = ievent->sock;
|
||||
iface = sock->iface;
|
||||
sa_family = iface->addr.type.sa.sa_family;
|
||||
sa_family = sock->iface.type.sa.sa_family;
|
||||
|
||||
REQUIRE(sock->type == isc_nm_tcpdnssocket);
|
||||
REQUIRE(sock->iface != NULL);
|
||||
REQUIRE(sock->parent != NULL);
|
||||
REQUIRE(sock->tid == isc_nm_tid());
|
||||
|
||||
|
|
@ -519,8 +515,8 @@ isc__nm_async_tcpdnslisten(isc__networker_t *worker, isc__netievent_t *ev0) {
|
|||
}
|
||||
|
||||
#if HAVE_SO_REUSEPORT_LB || defined(WIN32)
|
||||
r = isc_uv_tcp_freebind(&sock->uv_handle.tcp,
|
||||
&sock->iface->addr.type.sa, flags);
|
||||
r = isc_uv_tcp_freebind(&sock->uv_handle.tcp, &sock->iface.type.sa,
|
||||
flags);
|
||||
if (r < 0) {
|
||||
isc__nm_incstats(sock->mgr, sock->statsindex[STATID_BINDFAIL]);
|
||||
goto done;
|
||||
|
|
@ -528,7 +524,7 @@ isc__nm_async_tcpdnslisten(isc__networker_t *worker, isc__netievent_t *ev0) {
|
|||
#else
|
||||
if (sock->parent->fd == -1) {
|
||||
r = isc_uv_tcp_freebind(&sock->uv_handle.tcp,
|
||||
&sock->iface->addr.type.sa, flags);
|
||||
&sock->iface.type.sa, flags);
|
||||
if (r < 0) {
|
||||
isc__nm_incstats(sock->mgr,
|
||||
sock->statsindex[STATID_BINDFAIL]);
|
||||
|
|
@ -950,7 +946,7 @@ accept_connection(isc_nmsocket_t *ssock, isc_quota_t *quota) {
|
|||
|
||||
csock = isc_mem_get(ssock->mgr->mctx, sizeof(isc_nmsocket_t));
|
||||
isc__nmsocket_init(csock, ssock->mgr, isc_nm_tcpdnssocket,
|
||||
ssock->iface);
|
||||
&ssock->iface);
|
||||
csock->tid = ssock->tid;
|
||||
csock->extrahandlesize = ssock->extrahandlesize;
|
||||
isc__nmsocket_attach(ssock, &csock->server);
|
||||
|
|
@ -1093,11 +1089,13 @@ isc__nm_tcpdns_send(isc_nmhandle_t *handle, isc_region_t *region,
|
|||
static void
|
||||
tcpdns_send_cb(uv_write_t *req, int status) {
|
||||
isc__nm_uvreq_t *uvreq = (isc__nm_uvreq_t *)req->data;
|
||||
isc_nmsocket_t *sock = uvreq->sock;
|
||||
isc_nmsocket_t *sock = NULL;
|
||||
|
||||
REQUIRE(VALID_UVREQ(uvreq));
|
||||
REQUIRE(VALID_NMHANDLE(uvreq->handle));
|
||||
|
||||
sock = uvreq->sock;
|
||||
|
||||
if (status < 0) {
|
||||
isc__nm_incstats(sock->mgr, sock->statsindex[STATID_SENDFAIL]);
|
||||
isc__nm_failed_send_cb(sock, uvreq,
|
||||
|
|
|
|||
|
|
@ -193,7 +193,6 @@ isc__nm_async_tlsdnsconnect(isc__networker_t *worker, isc__netievent_t *ev0) {
|
|||
|
||||
REQUIRE(VALID_NMSOCK(sock));
|
||||
REQUIRE(sock->type == isc_nm_tlsdnssocket);
|
||||
REQUIRE(sock->iface != NULL);
|
||||
REQUIRE(sock->parent == NULL);
|
||||
REQUIRE(sock->tid == isc_nm_tid());
|
||||
|
||||
|
|
@ -306,7 +305,7 @@ error:
|
|||
}
|
||||
|
||||
void
|
||||
isc_nm_tlsdnsconnect(isc_nm_t *mgr, isc_nmiface_t *local, isc_nmiface_t *peer,
|
||||
isc_nm_tlsdnsconnect(isc_nm_t *mgr, isc_sockaddr_t *local, isc_sockaddr_t *peer,
|
||||
isc_nm_cb_t cb, void *cbarg, unsigned int timeout,
|
||||
size_t extrahandlesize, isc_tlsctx_t *sslctx) {
|
||||
isc_result_t result = ISC_R_SUCCESS;
|
||||
|
|
@ -320,7 +319,7 @@ isc_nm_tlsdnsconnect(isc_nm_t *mgr, isc_nmiface_t *local, isc_nmiface_t *peer,
|
|||
REQUIRE(peer != NULL);
|
||||
REQUIRE(sslctx != NULL);
|
||||
|
||||
sa_family = peer->addr.type.sa.sa_family;
|
||||
sa_family = peer->type.sa.sa_family;
|
||||
|
||||
sock = isc_mem_get(mgr->mctx, sizeof(*sock));
|
||||
isc__nmsocket_init(sock, mgr, isc_nm_tlsdnssocket, local);
|
||||
|
|
@ -335,9 +334,9 @@ isc_nm_tlsdnsconnect(isc_nm_t *mgr, isc_nmiface_t *local, isc_nmiface_t *peer,
|
|||
req = isc__nm_uvreq_get(mgr, sock);
|
||||
req->cb.connect = cb;
|
||||
req->cbarg = cbarg;
|
||||
req->peer = peer->addr;
|
||||
req->local = local->addr;
|
||||
req->handle = isc__nmhandle_get(sock, &req->peer, &sock->iface->addr);
|
||||
req->peer = *peer;
|
||||
req->local = *local;
|
||||
req->handle = isc__nmhandle_get(sock, &req->peer, &sock->iface);
|
||||
|
||||
result = isc__nm_socket(sa_family, SOCK_STREAM, 0, &sock->fd);
|
||||
if (result != ISC_R_SUCCESS) {
|
||||
|
|
@ -411,7 +410,7 @@ isc__nm_tlsdns_lb_socket(sa_family_t sa_family) {
|
|||
}
|
||||
|
||||
static void
|
||||
start_tlsdns_child(isc_nm_t *mgr, isc_nmiface_t *iface, isc_nmsocket_t *sock,
|
||||
start_tlsdns_child(isc_nm_t *mgr, isc_sockaddr_t *iface, isc_nmsocket_t *sock,
|
||||
uv_os_sock_t fd, int tid) {
|
||||
isc__netievent_tlsdnslisten_t *ievent = NULL;
|
||||
isc_nmsocket_t *csock = &sock->children[tid];
|
||||
|
|
@ -436,7 +435,7 @@ start_tlsdns_child(isc_nm_t *mgr, isc_nmiface_t *iface, isc_nmsocket_t *sock,
|
|||
|
||||
#if HAVE_SO_REUSEPORT_LB || defined(WIN32)
|
||||
UNUSED(fd);
|
||||
csock->fd = isc__nm_tlsdns_lb_socket(iface->addr.type.sa.sa_family);
|
||||
csock->fd = isc__nm_tlsdns_lb_socket(iface->type.sa.sa_family);
|
||||
#else
|
||||
csock->fd = dup(fd);
|
||||
#endif
|
||||
|
|
@ -456,7 +455,7 @@ enqueue_stoplistening(isc_nmsocket_t *sock) {
|
|||
}
|
||||
|
||||
isc_result_t
|
||||
isc_nm_listentlsdns(isc_nm_t *mgr, isc_nmiface_t *iface,
|
||||
isc_nm_listentlsdns(isc_nm_t *mgr, isc_sockaddr_t *iface,
|
||||
isc_nm_recv_cb_t recv_cb, void *recv_cbarg,
|
||||
isc_nm_accept_cb_t accept_cb, void *accept_cbarg,
|
||||
size_t extrahandlesize, int backlog, isc_quota_t *quota,
|
||||
|
|
@ -496,7 +495,7 @@ isc_nm_listentlsdns(isc_nm_t *mgr, isc_nmiface_t *iface,
|
|||
sock->fd = -1;
|
||||
|
||||
#if !HAVE_SO_REUSEPORT_LB && !defined(WIN32)
|
||||
fd = isc__nm_tlsdns_lb_socket(iface->addr.type.sa.sa_family);
|
||||
fd = isc__nm_tlsdns_lb_socket(iface->type.sa.sa_family);
|
||||
#endif
|
||||
|
||||
isc_barrier_init(&sock->startlistening, sock->nchildren);
|
||||
|
|
@ -542,7 +541,6 @@ void
|
|||
isc__nm_async_tlsdnslisten(isc__networker_t *worker, isc__netievent_t *ev0) {
|
||||
isc__netievent_tlsdnslisten_t *ievent =
|
||||
(isc__netievent_tlsdnslisten_t *)ev0;
|
||||
isc_nmiface_t *iface = NULL;
|
||||
sa_family_t sa_family;
|
||||
int r;
|
||||
int flags = 0;
|
||||
|
|
@ -554,11 +552,9 @@ isc__nm_async_tlsdnslisten(isc__networker_t *worker, isc__netievent_t *ev0) {
|
|||
REQUIRE(VALID_NMSOCK(ievent->sock->parent));
|
||||
|
||||
sock = ievent->sock;
|
||||
iface = sock->iface;
|
||||
sa_family = iface->addr.type.sa.sa_family;
|
||||
sa_family = sock->iface.type.sa.sa_family;
|
||||
|
||||
REQUIRE(sock->type == isc_nm_tlsdnssocket);
|
||||
REQUIRE(sock->iface != NULL);
|
||||
REQUIRE(sock->parent != NULL);
|
||||
REQUIRE(sock->tid == isc_nm_tid());
|
||||
|
||||
|
|
@ -589,8 +585,8 @@ isc__nm_async_tlsdnslisten(isc__networker_t *worker, isc__netievent_t *ev0) {
|
|||
}
|
||||
|
||||
#if HAVE_SO_REUSEPORT_LB || defined(WIN32)
|
||||
r = isc_uv_tcp_freebind(&sock->uv_handle.tcp,
|
||||
&sock->iface->addr.type.sa, flags);
|
||||
r = isc_uv_tcp_freebind(&sock->uv_handle.tcp, &sock->iface.type.sa,
|
||||
flags);
|
||||
if (r < 0) {
|
||||
isc__nm_incstats(sock->mgr, sock->statsindex[STATID_BINDFAIL]);
|
||||
goto done;
|
||||
|
|
@ -598,7 +594,7 @@ isc__nm_async_tlsdnslisten(isc__networker_t *worker, isc__netievent_t *ev0) {
|
|||
#else
|
||||
if (sock->parent->fd == -1) {
|
||||
r = isc_uv_tcp_freebind(&sock->uv_handle.tcp,
|
||||
&sock->iface->addr.type.sa, flags);
|
||||
&sock->iface.type.sa, flags);
|
||||
if (r < 0) {
|
||||
isc__nm_incstats(sock->mgr,
|
||||
sock->statsindex[STATID_BINDFAIL]);
|
||||
|
|
@ -1440,7 +1436,7 @@ accept_connection(isc_nmsocket_t *ssock, isc_quota_t *quota) {
|
|||
|
||||
csock = isc_mem_get(ssock->mgr->mctx, sizeof(isc_nmsocket_t));
|
||||
isc__nmsocket_init(csock, ssock->mgr, isc_nm_tlsdnssocket,
|
||||
ssock->iface);
|
||||
&ssock->iface);
|
||||
csock->tid = ssock->tid;
|
||||
csock->extrahandlesize = ssock->extrahandlesize;
|
||||
isc__nmsocket_attach(ssock, &csock->server);
|
||||
|
|
|
|||
|
|
@ -166,8 +166,7 @@ tls_failed_read_cb(isc_nmsocket_t *sock, const isc_result_t result) {
|
|||
{
|
||||
isc_nmhandle_t *handle = NULL;
|
||||
INSIST(sock->statichandle == NULL);
|
||||
handle = isc__nmhandle_get(sock, &sock->peer,
|
||||
&sock->iface->addr);
|
||||
handle = isc__nmhandle_get(sock, &sock->peer, &sock->iface);
|
||||
tls_call_connect_cb(sock, handle, result);
|
||||
isc__nmsocket_clearcb(sock);
|
||||
isc_nmhandle_detach(&handle);
|
||||
|
|
@ -305,8 +304,7 @@ tls_try_handshake(isc_nmsocket_t *sock) {
|
|||
if (rv == 1) {
|
||||
INSIST(SSL_is_init_finished(sock->tlsstream.tls) == 1);
|
||||
INSIST(sock->statichandle == NULL);
|
||||
tlshandle = isc__nmhandle_get(sock, &sock->peer,
|
||||
&sock->iface->addr);
|
||||
tlshandle = isc__nmhandle_get(sock, &sock->peer, &sock->iface);
|
||||
if (sock->tlsstream.server) {
|
||||
sock->listener->accept_cb(tlshandle, ISC_R_SUCCESS,
|
||||
sock->listener->accept_cbarg);
|
||||
|
|
@ -608,20 +606,22 @@ tlslisten_acceptcb(isc_nmhandle_t *handle, isc_result_t result, void *cbarg) {
|
|||
}
|
||||
|
||||
isc_result_t
|
||||
isc_nm_listentls(isc_nm_t *mgr, isc_nmiface_t *iface,
|
||||
isc_nm_listentls(isc_nm_t *mgr, isc_sockaddr_t *iface,
|
||||
isc_nm_accept_cb_t accept_cb, void *accept_cbarg,
|
||||
size_t extrahandlesize, int backlog, isc_quota_t *quota,
|
||||
SSL_CTX *sslctx, isc_nmsocket_t **sockp) {
|
||||
isc_result_t result;
|
||||
isc_nmsocket_t *tlssock = isc_mem_get(mgr->mctx, sizeof(*tlssock));
|
||||
isc_nmsocket_t *tlssock = NULL;
|
||||
isc_nmsocket_t *tsock = NULL;
|
||||
|
||||
REQUIRE(VALID_NM(mgr));
|
||||
|
||||
tlssock = isc_mem_get(mgr->mctx, sizeof(*tlssock));
|
||||
|
||||
isc__nmsocket_init(tlssock, mgr, isc_nm_tlslistener, iface);
|
||||
tlssock->tlsstream.server_iface = *iface;
|
||||
ISC_LINK_INIT(&tlssock->tlsstream.server_iface.addr, link);
|
||||
tlssock->iface = &tlssock->tlsstream.server_iface;
|
||||
ISC_LINK_INIT(&tlssock->tlsstream.server_iface, link);
|
||||
tlssock->iface = tlssock->tlsstream.server_iface;
|
||||
tlssock->result = ISC_R_UNSET;
|
||||
tlssock->accept_cb = accept_cb;
|
||||
tlssock->accept_cbarg = accept_cbarg;
|
||||
|
|
@ -868,7 +868,7 @@ static void
|
|||
tcp_connected(isc_nmhandle_t *handle, isc_result_t result, void *cbarg);
|
||||
|
||||
void
|
||||
isc_nm_tlsconnect(isc_nm_t *mgr, isc_nmiface_t *local, isc_nmiface_t *peer,
|
||||
isc_nm_tlsconnect(isc_nm_t *mgr, isc_sockaddr_t *local, isc_sockaddr_t *peer,
|
||||
isc_nm_cb_t cb, void *cbarg, SSL_CTX *ctx,
|
||||
unsigned int timeout, size_t extrahandlesize) {
|
||||
isc_nmsocket_t *nsock = NULL;
|
||||
|
|
@ -882,8 +882,8 @@ isc_nm_tlsconnect(isc_nm_t *mgr, isc_nmiface_t *local, isc_nmiface_t *peer,
|
|||
nsock = isc_mem_get(mgr->mctx, sizeof(*nsock));
|
||||
isc__nmsocket_init(nsock, mgr, isc_nm_tlssocket, local);
|
||||
nsock->tlsstream.local_iface = *local;
|
||||
ISC_LINK_INIT(&nsock->tlsstream.local_iface.addr, link);
|
||||
nsock->iface = &nsock->tlsstream.local_iface;
|
||||
ISC_LINK_INIT(&nsock->tlsstream.local_iface, link);
|
||||
nsock->iface = nsock->tlsstream.local_iface;
|
||||
nsock->extrahandlesize = extrahandlesize;
|
||||
nsock->result = ISC_R_UNSET;
|
||||
nsock->connect_cb = cb;
|
||||
|
|
@ -891,10 +891,8 @@ isc_nm_tlsconnect(isc_nm_t *mgr, isc_nmiface_t *local, isc_nmiface_t *peer,
|
|||
nsock->connect_timeout = timeout;
|
||||
nsock->tlsstream.ctx = ctx;
|
||||
|
||||
isc_nm_tcpconnect(mgr,
|
||||
(isc_nmiface_t *)&nsock->tlsstream.local_iface.addr,
|
||||
(isc_nmiface_t *)&peer->addr, tcp_connected, nsock,
|
||||
nsock->connect_timeout, 0);
|
||||
isc_nm_tcpconnect(mgr, &nsock->tlsstream.local_iface, peer,
|
||||
tcp_connected, nsock, nsock->connect_timeout, 0);
|
||||
}
|
||||
|
||||
static void
|
||||
|
|
|
|||
|
|
@ -79,7 +79,7 @@ isc__nm_udp_lb_socket(sa_family_t sa_family) {
|
|||
}
|
||||
|
||||
static void
|
||||
start_udp_child(isc_nm_t *mgr, isc_nmiface_t *iface, isc_nmsocket_t *sock,
|
||||
start_udp_child(isc_nm_t *mgr, isc_sockaddr_t *iface, isc_nmsocket_t *sock,
|
||||
uv_os_sock_t fd, int tid) {
|
||||
isc_nmsocket_t *csock;
|
||||
isc__netievent_udplisten_t *ievent = NULL;
|
||||
|
|
@ -97,7 +97,7 @@ start_udp_child(isc_nm_t *mgr, isc_nmiface_t *iface, isc_nmsocket_t *sock,
|
|||
|
||||
#if HAVE_SO_REUSEPORT_LB || defined(WIN32)
|
||||
UNUSED(fd);
|
||||
csock->fd = isc__nm_udp_lb_socket(iface->addr.type.sa.sa_family);
|
||||
csock->fd = isc__nm_udp_lb_socket(iface->type.sa.sa_family);
|
||||
#else
|
||||
csock->fd = dup(fd);
|
||||
#endif
|
||||
|
|
@ -117,7 +117,7 @@ enqueue_stoplistening(isc_nmsocket_t *sock) {
|
|||
}
|
||||
|
||||
isc_result_t
|
||||
isc_nm_listenudp(isc_nm_t *mgr, isc_nmiface_t *iface, isc_nm_recv_cb_t cb,
|
||||
isc_nm_listenudp(isc_nm_t *mgr, isc_sockaddr_t *iface, isc_nm_recv_cb_t cb,
|
||||
void *cbarg, size_t extrahandlesize, isc_nmsocket_t **sockp) {
|
||||
isc_result_t result = ISC_R_SUCCESS;
|
||||
isc_nmsocket_t *sock = NULL;
|
||||
|
|
@ -152,7 +152,7 @@ isc_nm_listenudp(isc_nm_t *mgr, isc_nmiface_t *iface, isc_nm_recv_cb_t cb,
|
|||
sock->fd = -1;
|
||||
|
||||
#if !HAVE_SO_REUSEPORT_LB && !defined(WIN32)
|
||||
fd = isc__nm_udp_lb_socket(iface->addr.type.sa.sa_family);
|
||||
fd = isc__nm_udp_lb_socket(iface->type.sa.sa_family);
|
||||
#endif
|
||||
|
||||
isc_barrier_init(&sock->startlistening, sock->nchildren);
|
||||
|
|
@ -200,7 +200,6 @@ isc_nm_listenudp(isc_nm_t *mgr, isc_nmiface_t *iface, isc_nm_recv_cb_t cb,
|
|||
void
|
||||
isc__nm_async_udplisten(isc__networker_t *worker, isc__netievent_t *ev0) {
|
||||
isc__netievent_udplisten_t *ievent = (isc__netievent_udplisten_t *)ev0;
|
||||
isc_nmiface_t *iface = NULL;
|
||||
isc_nmsocket_t *sock = NULL;
|
||||
int r, uv_bind_flags = 0;
|
||||
int uv_init_flags = 0;
|
||||
|
|
@ -212,11 +211,9 @@ isc__nm_async_udplisten(isc__networker_t *worker, isc__netievent_t *ev0) {
|
|||
REQUIRE(VALID_NMSOCK(ievent->sock->parent));
|
||||
|
||||
sock = ievent->sock;
|
||||
iface = sock->iface;
|
||||
sa_family = iface->addr.type.sa.sa_family;
|
||||
sa_family = sock->iface.type.sa.sa_family;
|
||||
|
||||
REQUIRE(sock->type == isc_nm_udpsocket);
|
||||
REQUIRE(sock->iface != NULL);
|
||||
REQUIRE(sock->parent != NULL);
|
||||
REQUIRE(sock->tid == isc_nm_tid());
|
||||
|
||||
|
|
@ -249,8 +246,7 @@ isc__nm_async_udplisten(isc__networker_t *worker, isc__netievent_t *ev0) {
|
|||
|
||||
#if HAVE_SO_REUSEPORT_LB || defined(WIN32)
|
||||
r = isc_uv_udp_freebind(&sock->uv_handle.udp,
|
||||
&sock->parent->iface->addr.type.sa,
|
||||
uv_bind_flags);
|
||||
&sock->parent->iface.type.sa, uv_bind_flags);
|
||||
if (r < 0) {
|
||||
isc__nm_incstats(sock->mgr, sock->statsindex[STATID_BINDFAIL]);
|
||||
goto done;
|
||||
|
|
@ -259,7 +255,7 @@ isc__nm_async_udplisten(isc__networker_t *worker, isc__netievent_t *ev0) {
|
|||
if (sock->parent->fd == -1) {
|
||||
/* This thread is first, bind the socket */
|
||||
r = isc_uv_udp_freebind(&sock->uv_handle.udp,
|
||||
&sock->parent->iface->addr.type.sa,
|
||||
&sock->parent->iface.type.sa,
|
||||
uv_bind_flags);
|
||||
if (r < 0) {
|
||||
isc__nm_incstats(sock->mgr,
|
||||
|
|
@ -546,10 +542,13 @@ static void
|
|||
udp_send_cb(uv_udp_send_t *req, int status) {
|
||||
isc_result_t result = ISC_R_SUCCESS;
|
||||
isc__nm_uvreq_t *uvreq = uv_handle_get_data((uv_handle_t *)req);
|
||||
isc_nmsocket_t *sock = uvreq->sock;
|
||||
isc_nmsocket_t *sock = NULL;
|
||||
|
||||
REQUIRE(VALID_UVREQ(uvreq));
|
||||
REQUIRE(VALID_NMHANDLE(uvreq->handle));
|
||||
|
||||
sock = uvreq->sock;
|
||||
|
||||
REQUIRE(sock->tid == isc_nm_tid());
|
||||
|
||||
if (status < 0) {
|
||||
|
|
@ -630,11 +629,11 @@ udp_connect_direct(isc_nmsocket_t *sock, isc__nm_uvreq_t *req) {
|
|||
}
|
||||
isc__nm_incstats(sock->mgr, sock->statsindex[STATID_OPEN]);
|
||||
|
||||
if (sock->iface->addr.type.sa.sa_family == AF_INET6) {
|
||||
if (sock->iface.type.sa.sa_family == AF_INET6) {
|
||||
uv_bind_flags |= UV_UDP_IPV6ONLY;
|
||||
}
|
||||
|
||||
r = uv_udp_bind(&sock->uv_handle.udp, &sock->iface->addr.type.sa,
|
||||
r = uv_udp_bind(&sock->uv_handle.udp, &sock->iface.type.sa,
|
||||
uv_bind_flags);
|
||||
if (r != 0) {
|
||||
isc__nm_incstats(sock->mgr, sock->statsindex[STATID_BINDFAIL]);
|
||||
|
|
@ -693,7 +692,6 @@ isc__nm_async_udpconnect(isc__networker_t *worker, isc__netievent_t *ev0) {
|
|||
|
||||
REQUIRE(VALID_NMSOCK(sock));
|
||||
REQUIRE(sock->type == isc_nm_udpsocket);
|
||||
REQUIRE(sock->iface != NULL);
|
||||
REQUIRE(sock->parent == NULL);
|
||||
REQUIRE(sock->tid == isc_nm_tid());
|
||||
|
||||
|
|
@ -717,7 +715,7 @@ isc__nm_async_udpconnect(isc__networker_t *worker, isc__netievent_t *ev0) {
|
|||
}
|
||||
|
||||
void
|
||||
isc_nm_udpconnect(isc_nm_t *mgr, isc_nmiface_t *local, isc_nmiface_t *peer,
|
||||
isc_nm_udpconnect(isc_nm_t *mgr, isc_sockaddr_t *local, isc_sockaddr_t *peer,
|
||||
isc_nm_cb_t cb, void *cbarg, unsigned int timeout,
|
||||
size_t extrahandlesize) {
|
||||
isc_result_t result = ISC_R_SUCCESS;
|
||||
|
|
@ -730,7 +728,7 @@ isc_nm_udpconnect(isc_nm_t *mgr, isc_nmiface_t *local, isc_nmiface_t *peer,
|
|||
REQUIRE(local != NULL);
|
||||
REQUIRE(peer != NULL);
|
||||
|
||||
sa_family = peer->addr.type.sa.sa_family;
|
||||
sa_family = peer->type.sa.sa_family;
|
||||
|
||||
sock = isc_mem_get(mgr->mctx, sizeof(isc_nmsocket_t));
|
||||
isc__nmsocket_init(sock, mgr, isc_nm_udpsocket, local);
|
||||
|
|
@ -739,16 +737,16 @@ isc_nm_udpconnect(isc_nm_t *mgr, isc_nmiface_t *local, isc_nmiface_t *peer,
|
|||
sock->connect_cbarg = cbarg;
|
||||
sock->read_timeout = timeout;
|
||||
sock->extrahandlesize = extrahandlesize;
|
||||
sock->peer = peer->addr;
|
||||
sock->peer = *peer;
|
||||
sock->result = ISC_R_UNSET;
|
||||
atomic_init(&sock->client, true);
|
||||
|
||||
req = isc__nm_uvreq_get(mgr, sock);
|
||||
req->cb.connect = cb;
|
||||
req->cbarg = cbarg;
|
||||
req->peer = peer->addr;
|
||||
req->local = local->addr;
|
||||
req->handle = isc__nmhandle_get(sock, &req->peer, &sock->iface->addr);
|
||||
req->peer = *peer;
|
||||
req->local = *local;
|
||||
req->handle = isc__nmhandle_get(sock, &req->peer, &sock->iface);
|
||||
|
||||
result = isc__nm_socket(sa_family, SOCK_DGRAM, 0, &sock->fd);
|
||||
if (result != ISC_R_SUCCESS) {
|
||||
|
|
|
|||
|
|
@ -167,8 +167,8 @@ connect_send_request(isc_nm_t *mgr, const char *uri, bool post,
|
|||
ctx = client_tlsctx;
|
||||
}
|
||||
|
||||
isc_nm_httpconnect(mgr, NULL, (isc_nmiface_t *)&tcp_listen_addr, uri,
|
||||
post, connect_send_cb, data, ctx, timeout, 0);
|
||||
isc_nm_httpconnect(mgr, NULL, &tcp_listen_addr, uri, post,
|
||||
connect_send_cb, data, ctx, timeout, 0);
|
||||
}
|
||||
|
||||
static int
|
||||
|
|
@ -484,8 +484,8 @@ mock_doh_uv_tcp_bind(void **state) {
|
|||
|
||||
WILL_RETURN(uv_tcp_bind, UV_EADDRINUSE);
|
||||
|
||||
result = isc_nm_listenhttp(listen_nm, (isc_nmiface_t *)&tcp_listen_addr,
|
||||
0, NULL, NULL, &listen_sock);
|
||||
result = isc_nm_listenhttp(listen_nm, &tcp_listen_addr, 0, NULL, NULL,
|
||||
&listen_sock);
|
||||
assert_int_not_equal(result, ISC_R_SUCCESS);
|
||||
assert_null(listen_sock);
|
||||
|
||||
|
|
@ -501,8 +501,8 @@ doh_noop(void **state) {
|
|||
isc_nmsocket_t *listen_sock = NULL;
|
||||
char req_url[256];
|
||||
|
||||
result = isc_nm_listenhttp(listen_nm, (isc_nmiface_t *)&tcp_listen_addr,
|
||||
0, NULL, NULL, &listen_sock);
|
||||
result = isc_nm_listenhttp(listen_nm, &tcp_listen_addr, 0, NULL, NULL,
|
||||
&listen_sock);
|
||||
assert_int_equal(result, ISC_R_SUCCESS);
|
||||
result = isc_nm_http_endpoint(listen_sock, DOH_PATH, noop_read_cb, NULL,
|
||||
0);
|
||||
|
|
@ -547,8 +547,8 @@ doh_noresponse(void **state) {
|
|||
isc_nmsocket_t *listen_sock = NULL;
|
||||
char req_url[256];
|
||||
|
||||
result = isc_nm_listenhttp(listen_nm, (isc_nmiface_t *)&tcp_listen_addr,
|
||||
0, NULL, NULL, &listen_sock);
|
||||
result = isc_nm_listenhttp(listen_nm, &tcp_listen_addr, 0, NULL, NULL,
|
||||
&listen_sock);
|
||||
assert_int_equal(result, ISC_R_SUCCESS);
|
||||
|
||||
result = isc_nm_http_endpoint(listen_sock, DOH_PATH, noop_read_cb, NULL,
|
||||
|
|
@ -648,8 +648,8 @@ doh_timeout_recovery(void **state) {
|
|||
isc_tlsctx_t *ctx = atomic_load(&use_TLS) ? server_tlsctx : NULL;
|
||||
char req_url[256];
|
||||
|
||||
result = isc_nm_listenhttp(listen_nm, (isc_nmiface_t *)&tcp_listen_addr,
|
||||
0, NULL, NULL, &listen_sock);
|
||||
result = isc_nm_listenhttp(listen_nm, &tcp_listen_addr, 0, NULL, NULL,
|
||||
&listen_sock);
|
||||
assert_int_equal(result, ISC_R_SUCCESS);
|
||||
|
||||
/*
|
||||
|
|
@ -668,9 +668,9 @@ doh_timeout_recovery(void **state) {
|
|||
isc_nm_settimeouts(connect_nm, T_SOFT, T_SOFT, T_SOFT, T_SOFT);
|
||||
sockaddr_to_url(&tcp_listen_addr, false, req_url, sizeof(req_url),
|
||||
DOH_PATH);
|
||||
isc_nm_httpconnect(connect_nm, NULL, (isc_nmiface_t *)&tcp_listen_addr,
|
||||
req_url, atomic_load(&POST), timeout_request_cb,
|
||||
NULL, ctx, T_SOFT, 0);
|
||||
isc_nm_httpconnect(connect_nm, NULL, &tcp_listen_addr, req_url,
|
||||
atomic_load(&POST), timeout_request_cb, NULL, ctx,
|
||||
T_SOFT, 0);
|
||||
|
||||
/*
|
||||
* Sleep until sends reaches 5.
|
||||
|
|
@ -778,9 +778,9 @@ doh_recv_one(void **state) {
|
|||
atomic_store(&total_sends, 1);
|
||||
|
||||
atomic_store(&nsends, atomic_load(&total_sends));
|
||||
result = isc_nm_listenhttp(
|
||||
listen_nm, (isc_nmiface_t *)&tcp_listen_addr, 0, quotap,
|
||||
atomic_load(&use_TLS) ? server_tlsctx : NULL, &listen_sock);
|
||||
result = isc_nm_listenhttp(listen_nm, &tcp_listen_addr, 0, quotap,
|
||||
atomic_load(&use_TLS) ? server_tlsctx : NULL,
|
||||
&listen_sock);
|
||||
assert_int_equal(result, ISC_R_SUCCESS);
|
||||
|
||||
result = isc_nm_http_endpoint(listen_sock, DOH_PATH,
|
||||
|
|
@ -928,9 +928,9 @@ doh_recv_two(void **state) {
|
|||
atomic_store(&total_sends, 2);
|
||||
|
||||
atomic_store(&nsends, atomic_load(&total_sends));
|
||||
result = isc_nm_listenhttp(
|
||||
listen_nm, (isc_nmiface_t *)&tcp_listen_addr, 0, quotap,
|
||||
atomic_load(&use_TLS) ? server_tlsctx : NULL, &listen_sock);
|
||||
result = isc_nm_listenhttp(listen_nm, &tcp_listen_addr, 0, quotap,
|
||||
atomic_load(&use_TLS) ? server_tlsctx : NULL,
|
||||
&listen_sock);
|
||||
assert_int_equal(result, ISC_R_SUCCESS);
|
||||
|
||||
result = isc_nm_http_endpoint(listen_sock, DOH_PATH,
|
||||
|
|
@ -944,10 +944,9 @@ doh_recv_two(void **state) {
|
|||
ctx = client_tlsctx;
|
||||
}
|
||||
|
||||
isc_nm_httpconnect(connect_nm, NULL, (isc_nmiface_t *)&tcp_listen_addr,
|
||||
req_url, atomic_load(&POST),
|
||||
doh_connect_send_two_requests_cb, NULL, ctx, 5000,
|
||||
0);
|
||||
isc_nm_httpconnect(connect_nm, NULL, &tcp_listen_addr, req_url,
|
||||
atomic_load(&POST), doh_connect_send_two_requests_cb,
|
||||
NULL, ctx, 5000, 0);
|
||||
|
||||
while (atomic_load(&nsends) > 0) {
|
||||
if (atomic_load(&was_error)) {
|
||||
|
|
@ -1049,9 +1048,9 @@ doh_recv_send(void **state) {
|
|||
isc_thread_t threads[32] = { 0 };
|
||||
isc_quota_t *quotap = init_listener_quota(workers);
|
||||
|
||||
result = isc_nm_listenhttp(
|
||||
listen_nm, (isc_nmiface_t *)&tcp_listen_addr, 0, quotap,
|
||||
atomic_load(&use_TLS) ? server_tlsctx : NULL, &listen_sock);
|
||||
result = isc_nm_listenhttp(listen_nm, &tcp_listen_addr, 0, quotap,
|
||||
atomic_load(&use_TLS) ? server_tlsctx : NULL,
|
||||
&listen_sock);
|
||||
assert_int_equal(result, ISC_R_SUCCESS);
|
||||
|
||||
result = isc_nm_http_endpoint(listen_sock, DOH_PATH,
|
||||
|
|
@ -1153,9 +1152,9 @@ doh_recv_half_send(void **state) {
|
|||
atomic_store(&total_sends, atomic_load(&total_sends) / 2);
|
||||
|
||||
atomic_store(&nsends, atomic_load(&total_sends));
|
||||
result = isc_nm_listenhttp(
|
||||
listen_nm, (isc_nmiface_t *)&tcp_listen_addr, 0, quotap,
|
||||
atomic_load(&use_TLS) ? server_tlsctx : NULL, &listen_sock);
|
||||
result = isc_nm_listenhttp(listen_nm, &tcp_listen_addr, 0, quotap,
|
||||
atomic_load(&use_TLS) ? server_tlsctx : NULL,
|
||||
&listen_sock);
|
||||
assert_int_equal(result, ISC_R_SUCCESS);
|
||||
|
||||
result = isc_nm_http_endpoint(listen_sock, DOH_PATH,
|
||||
|
|
@ -1262,9 +1261,9 @@ doh_half_recv_send(void **state) {
|
|||
atomic_store(&total_sends, atomic_load(&total_sends) / 2);
|
||||
|
||||
atomic_store(&nsends, atomic_load(&total_sends));
|
||||
result = isc_nm_listenhttp(
|
||||
listen_nm, (isc_nmiface_t *)&tcp_listen_addr, 0, quotap,
|
||||
atomic_load(&use_TLS) ? server_tlsctx : NULL, &listen_sock);
|
||||
result = isc_nm_listenhttp(listen_nm, &tcp_listen_addr, 0, quotap,
|
||||
atomic_load(&use_TLS) ? server_tlsctx : NULL,
|
||||
&listen_sock);
|
||||
assert_int_equal(result, ISC_R_SUCCESS);
|
||||
|
||||
result = isc_nm_http_endpoint(listen_sock, DOH_PATH,
|
||||
|
|
@ -1371,9 +1370,9 @@ doh_half_recv_half_send(void **state) {
|
|||
atomic_store(&total_sends, atomic_load(&total_sends) / 2);
|
||||
|
||||
atomic_store(&nsends, atomic_load(&total_sends));
|
||||
result = isc_nm_listenhttp(
|
||||
listen_nm, (isc_nmiface_t *)&tcp_listen_addr, 0, quotap,
|
||||
atomic_load(&use_TLS) ? server_tlsctx : NULL, &listen_sock);
|
||||
result = isc_nm_listenhttp(listen_nm, &tcp_listen_addr, 0, quotap,
|
||||
atomic_load(&use_TLS) ? server_tlsctx : NULL,
|
||||
&listen_sock);
|
||||
assert_int_equal(result, ISC_R_SUCCESS);
|
||||
|
||||
result = isc_nm_http_endpoint(listen_sock, DOH_PATH,
|
||||
|
|
|
|||
|
|
@ -619,9 +619,8 @@ connect_thread(isc_threadarg_t arg) {
|
|||
|
||||
static void
|
||||
udp_connect(isc_nm_t *nm) {
|
||||
isc_nm_udpconnect(nm, (isc_nmiface_t *)&udp_connect_addr,
|
||||
(isc_nmiface_t *)&udp_listen_addr, connect_connect_cb,
|
||||
NULL, T_CONNECT, 0);
|
||||
isc_nm_udpconnect(nm, &udp_connect_addr, &udp_listen_addr,
|
||||
connect_connect_cb, NULL, T_CONNECT, 0);
|
||||
}
|
||||
|
||||
static void
|
||||
|
|
@ -631,8 +630,8 @@ mock_listenudp_uv_udp_open(void **state __attribute__((unused))) {
|
|||
|
||||
WILL_RETURN(uv_udp_open, UV_ENOMEM);
|
||||
|
||||
result = isc_nm_listenudp(listen_nm, (isc_nmiface_t *)&udp_listen_addr,
|
||||
noop_recv_cb, NULL, 0, &listen_sock);
|
||||
result = isc_nm_listenudp(listen_nm, &udp_listen_addr, noop_recv_cb,
|
||||
NULL, 0, &listen_sock);
|
||||
assert_int_not_equal(result, ISC_R_SUCCESS);
|
||||
assert_null(listen_sock);
|
||||
|
||||
|
|
@ -646,8 +645,8 @@ mock_listenudp_uv_udp_bind(void **state __attribute__((unused))) {
|
|||
|
||||
WILL_RETURN(uv_udp_bind, UV_EADDRINUSE);
|
||||
|
||||
result = isc_nm_listenudp(listen_nm, (isc_nmiface_t *)&udp_listen_addr,
|
||||
noop_recv_cb, NULL, 0, &listen_sock);
|
||||
result = isc_nm_listenudp(listen_nm, &udp_listen_addr, noop_recv_cb,
|
||||
NULL, 0, &listen_sock);
|
||||
assert_int_not_equal(result, ISC_R_SUCCESS);
|
||||
assert_null(listen_sock);
|
||||
|
||||
|
|
@ -661,8 +660,8 @@ mock_listenudp_uv_udp_recv_start(void **state __attribute__((unused))) {
|
|||
|
||||
WILL_RETURN(uv_udp_recv_start, UV_EADDRINUSE);
|
||||
|
||||
result = isc_nm_listenudp(listen_nm, (isc_nmiface_t *)&udp_listen_addr,
|
||||
noop_recv_cb, NULL, 0, &listen_sock);
|
||||
result = isc_nm_listenudp(listen_nm, &udp_listen_addr, noop_recv_cb,
|
||||
NULL, 0, &listen_sock);
|
||||
assert_int_not_equal(result, ISC_R_SUCCESS);
|
||||
assert_null(listen_sock);
|
||||
|
||||
|
|
@ -675,9 +674,8 @@ mock_udpconnect_uv_udp_open(void **state __attribute__((unused))) {
|
|||
|
||||
connect_readcb = NULL;
|
||||
isc_refcount_increment0(&active_cconnects);
|
||||
isc_nm_udpconnect(connect_nm, (isc_nmiface_t *)&udp_connect_addr,
|
||||
(isc_nmiface_t *)&udp_listen_addr, connect_connect_cb,
|
||||
NULL, T_CONNECT, 0);
|
||||
isc_nm_udpconnect(connect_nm, &udp_connect_addr, &udp_listen_addr,
|
||||
connect_connect_cb, NULL, T_CONNECT, 0);
|
||||
isc__netmgr_shutdown(connect_nm);
|
||||
|
||||
RESET_RETURN;
|
||||
|
|
@ -689,9 +687,8 @@ mock_udpconnect_uv_udp_bind(void **state __attribute__((unused))) {
|
|||
|
||||
connect_readcb = NULL;
|
||||
isc_refcount_increment0(&active_cconnects);
|
||||
isc_nm_udpconnect(connect_nm, (isc_nmiface_t *)&udp_connect_addr,
|
||||
(isc_nmiface_t *)&udp_listen_addr, connect_connect_cb,
|
||||
NULL, T_CONNECT, 0);
|
||||
isc_nm_udpconnect(connect_nm, &udp_connect_addr, &udp_listen_addr,
|
||||
connect_connect_cb, NULL, T_CONNECT, 0);
|
||||
isc__netmgr_shutdown(connect_nm);
|
||||
|
||||
RESET_RETURN;
|
||||
|
|
@ -704,9 +701,8 @@ mock_udpconnect_uv_udp_connect(void **state __attribute__((unused))) {
|
|||
|
||||
connect_readcb = NULL;
|
||||
isc_refcount_increment0(&active_cconnects);
|
||||
isc_nm_udpconnect(connect_nm, (isc_nmiface_t *)&udp_connect_addr,
|
||||
(isc_nmiface_t *)&udp_listen_addr, connect_connect_cb,
|
||||
NULL, T_CONNECT, 0);
|
||||
isc_nm_udpconnect(connect_nm, &udp_connect_addr, &udp_listen_addr,
|
||||
connect_connect_cb, NULL, T_CONNECT, 0);
|
||||
isc__netmgr_shutdown(connect_nm);
|
||||
|
||||
RESET_RETURN;
|
||||
|
|
@ -719,9 +715,8 @@ mock_udpconnect_uv_recv_buffer_size(void **state __attribute__((unused))) {
|
|||
|
||||
connect_readcb = NULL;
|
||||
isc_refcount_increment0(&active_cconnects);
|
||||
isc_nm_udpconnect(connect_nm, (isc_nmiface_t *)&udp_connect_addr,
|
||||
(isc_nmiface_t *)&udp_listen_addr, connect_connect_cb,
|
||||
NULL, T_CONNECT, 0);
|
||||
isc_nm_udpconnect(connect_nm, &udp_connect_addr, &udp_listen_addr,
|
||||
connect_connect_cb, NULL, T_CONNECT, 0);
|
||||
isc__netmgr_shutdown(connect_nm);
|
||||
|
||||
RESET_RETURN;
|
||||
|
|
@ -733,9 +728,8 @@ mock_udpconnect_uv_send_buffer_size(void **state __attribute__((unused))) {
|
|||
|
||||
connect_readcb = NULL;
|
||||
isc_refcount_increment0(&active_cconnects);
|
||||
isc_nm_udpconnect(connect_nm, (isc_nmiface_t *)&udp_connect_addr,
|
||||
(isc_nmiface_t *)&udp_listen_addr, connect_connect_cb,
|
||||
NULL, T_CONNECT, 0);
|
||||
isc_nm_udpconnect(connect_nm, &udp_connect_addr, &udp_listen_addr,
|
||||
connect_connect_cb, NULL, T_CONNECT, 0);
|
||||
isc__netmgr_shutdown(connect_nm);
|
||||
|
||||
RESET_RETURN;
|
||||
|
|
@ -746,8 +740,8 @@ udp_noop(void **state __attribute__((unused))) {
|
|||
isc_result_t result = ISC_R_SUCCESS;
|
||||
isc_nmsocket_t *listen_sock = NULL;
|
||||
|
||||
result = isc_nm_listenudp(listen_nm, (isc_nmiface_t *)&udp_listen_addr,
|
||||
noop_recv_cb, NULL, 0, &listen_sock);
|
||||
result = isc_nm_listenudp(listen_nm, &udp_listen_addr, noop_recv_cb,
|
||||
NULL, 0, &listen_sock);
|
||||
assert_int_equal(result, ISC_R_SUCCESS);
|
||||
|
||||
isc_nm_stoplistening(listen_sock);
|
||||
|
|
@ -756,9 +750,8 @@ udp_noop(void **state __attribute__((unused))) {
|
|||
|
||||
connect_readcb = NULL;
|
||||
isc_refcount_increment0(&active_cconnects);
|
||||
isc_nm_udpconnect(connect_nm, (isc_nmiface_t *)&udp_connect_addr,
|
||||
(isc_nmiface_t *)&udp_listen_addr, connect_connect_cb,
|
||||
NULL, T_CONNECT, 0);
|
||||
isc_nm_udpconnect(connect_nm, &udp_connect_addr, &udp_listen_addr,
|
||||
connect_connect_cb, NULL, T_CONNECT, 0);
|
||||
isc__netmgr_shutdown(connect_nm);
|
||||
|
||||
atomic_assert_int_eq(cconnects, 0);
|
||||
|
|
@ -773,14 +766,13 @@ udp_noresponse(void **state __attribute__((unused))) {
|
|||
isc_result_t result = ISC_R_SUCCESS;
|
||||
isc_nmsocket_t *listen_sock = NULL;
|
||||
|
||||
result = isc_nm_listenudp(listen_nm, (isc_nmiface_t *)&udp_listen_addr,
|
||||
noop_recv_cb, NULL, 0, &listen_sock);
|
||||
result = isc_nm_listenudp(listen_nm, &udp_listen_addr, noop_recv_cb,
|
||||
NULL, 0, &listen_sock);
|
||||
assert_int_equal(result, ISC_R_SUCCESS);
|
||||
|
||||
isc_refcount_increment0(&active_cconnects);
|
||||
isc_nm_udpconnect(connect_nm, (isc_nmiface_t *)&udp_connect_addr,
|
||||
(isc_nmiface_t *)&udp_listen_addr, connect_connect_cb,
|
||||
NULL, T_CONNECT, 0);
|
||||
isc_nm_udpconnect(connect_nm, &udp_connect_addr, &udp_listen_addr,
|
||||
connect_connect_cb, NULL, T_CONNECT, 0);
|
||||
|
||||
WAIT_FOR_EQ(cconnects, 1);
|
||||
WAIT_FOR_EQ(csends, 1);
|
||||
|
|
@ -835,8 +827,8 @@ udp_timeout_recovery(void **state __attribute__((unused))) {
|
|||
/*
|
||||
* Listen using the noop callback so that client reads will time out.
|
||||
*/
|
||||
result = isc_nm_listenudp(listen_nm, (isc_nmiface_t *)&udp_listen_addr,
|
||||
noop_recv_cb, NULL, 0, &listen_sock);
|
||||
result = isc_nm_listenudp(listen_nm, &udp_listen_addr, noop_recv_cb,
|
||||
NULL, 0, &listen_sock);
|
||||
assert_int_equal(result, ISC_R_SUCCESS);
|
||||
|
||||
/*
|
||||
|
|
@ -846,9 +838,8 @@ udp_timeout_recovery(void **state __attribute__((unused))) {
|
|||
*/
|
||||
connect_readcb = timeout_retry_cb;
|
||||
isc_refcount_increment0(&active_cconnects);
|
||||
isc_nm_udpconnect(connect_nm, (isc_nmiface_t *)&udp_connect_addr,
|
||||
(isc_nmiface_t *)&udp_listen_addr, connect_connect_cb,
|
||||
NULL, T_SOFT, 0);
|
||||
isc_nm_udpconnect(connect_nm, &udp_connect_addr, &udp_listen_addr,
|
||||
connect_connect_cb, NULL, T_SOFT, 0);
|
||||
|
||||
WAIT_FOR_EQ(cconnects, 1);
|
||||
WAIT_FOR_GE(csends, 1);
|
||||
|
|
@ -871,14 +862,13 @@ udp_recv_one(void **state __attribute__((unused))) {
|
|||
|
||||
atomic_store(&nsends, 1);
|
||||
|
||||
result = isc_nm_listenudp(listen_nm, (isc_nmiface_t *)&udp_listen_addr,
|
||||
listen_read_cb, NULL, 0, &listen_sock);
|
||||
result = isc_nm_listenudp(listen_nm, &udp_listen_addr, listen_read_cb,
|
||||
NULL, 0, &listen_sock);
|
||||
assert_int_equal(result, ISC_R_SUCCESS);
|
||||
|
||||
isc_refcount_increment0(&active_cconnects);
|
||||
isc_nm_udpconnect(connect_nm, (isc_nmiface_t *)&udp_connect_addr,
|
||||
(isc_nmiface_t *)&udp_listen_addr, connect_connect_cb,
|
||||
NULL, T_CONNECT, 0);
|
||||
isc_nm_udpconnect(connect_nm, &udp_connect_addr, &udp_listen_addr,
|
||||
connect_connect_cb, NULL, T_CONNECT, 0);
|
||||
|
||||
WAIT_FOR_EQ(cconnects, 1);
|
||||
WAIT_FOR_LE(nsends, 0);
|
||||
|
|
@ -912,21 +902,19 @@ udp_recv_two(void **state __attribute__((unused))) {
|
|||
|
||||
atomic_store(&nsends, 2);
|
||||
|
||||
result = isc_nm_listenudp(listen_nm, (isc_nmiface_t *)&udp_listen_addr,
|
||||
listen_read_cb, NULL, 0, &listen_sock);
|
||||
result = isc_nm_listenudp(listen_nm, &udp_listen_addr, listen_read_cb,
|
||||
NULL, 0, &listen_sock);
|
||||
assert_int_equal(result, ISC_R_SUCCESS);
|
||||
|
||||
isc_refcount_increment0(&active_cconnects);
|
||||
isc_nm_udpconnect(connect_nm, (isc_nmiface_t *)&udp_connect_addr,
|
||||
(isc_nmiface_t *)&udp_listen_addr, connect_connect_cb,
|
||||
NULL, T_CONNECT, 0);
|
||||
isc_nm_udpconnect(connect_nm, &udp_connect_addr, &udp_listen_addr,
|
||||
connect_connect_cb, NULL, T_CONNECT, 0);
|
||||
|
||||
WAIT_FOR_EQ(cconnects, 1);
|
||||
|
||||
isc_refcount_increment0(&active_cconnects);
|
||||
isc_nm_udpconnect(connect_nm, (isc_nmiface_t *)&udp_connect_addr,
|
||||
(isc_nmiface_t *)&udp_listen_addr, connect_connect_cb,
|
||||
NULL, T_CONNECT, 0);
|
||||
isc_nm_udpconnect(connect_nm, &udp_connect_addr, &udp_listen_addr,
|
||||
connect_connect_cb, NULL, T_CONNECT, 0);
|
||||
|
||||
WAIT_FOR_EQ(cconnects, 2);
|
||||
WAIT_FOR_LE(nsends, 0);
|
||||
|
|
@ -961,8 +949,8 @@ udp_recv_send(void **state __attribute__((unused))) {
|
|||
|
||||
SKIP_IN_CI;
|
||||
|
||||
result = isc_nm_listenudp(listen_nm, (isc_nmiface_t *)&udp_listen_addr,
|
||||
listen_read_cb, NULL, 0, &listen_sock);
|
||||
result = isc_nm_listenudp(listen_nm, &udp_listen_addr, listen_read_cb,
|
||||
NULL, 0, &listen_sock);
|
||||
assert_int_equal(result, ISC_R_SUCCESS);
|
||||
|
||||
memset(threads, 0, sizeof(threads));
|
||||
|
|
@ -1006,8 +994,8 @@ udp_recv_half_send(void **state __attribute__((unused))) {
|
|||
|
||||
SKIP_IN_CI;
|
||||
|
||||
result = isc_nm_listenudp(listen_nm, (isc_nmiface_t *)&udp_listen_addr,
|
||||
listen_read_cb, NULL, 0, &listen_sock);
|
||||
result = isc_nm_listenudp(listen_nm, &udp_listen_addr, listen_read_cb,
|
||||
NULL, 0, &listen_sock);
|
||||
assert_int_equal(result, ISC_R_SUCCESS);
|
||||
|
||||
memset(threads, 0, sizeof(threads));
|
||||
|
|
@ -1052,8 +1040,8 @@ udp_half_recv_send(void **state __attribute__((unused))) {
|
|||
|
||||
SKIP_IN_CI;
|
||||
|
||||
result = isc_nm_listenudp(listen_nm, (isc_nmiface_t *)&udp_listen_addr,
|
||||
listen_read_cb, NULL, 0, &listen_sock);
|
||||
result = isc_nm_listenudp(listen_nm, &udp_listen_addr, listen_read_cb,
|
||||
NULL, 0, &listen_sock);
|
||||
assert_int_equal(result, ISC_R_SUCCESS);
|
||||
|
||||
memset(threads, 0, sizeof(threads));
|
||||
|
|
@ -1101,8 +1089,8 @@ udp_half_recv_half_send(void **state __attribute__((unused))) {
|
|||
|
||||
SKIP_IN_CI;
|
||||
|
||||
result = isc_nm_listenudp(listen_nm, (isc_nmiface_t *)&udp_listen_addr,
|
||||
listen_read_cb, NULL, 0, &listen_sock);
|
||||
result = isc_nm_listenudp(listen_nm, &udp_listen_addr, listen_read_cb,
|
||||
NULL, 0, &listen_sock);
|
||||
assert_int_equal(result, ISC_R_SUCCESS);
|
||||
|
||||
memset(threads, 0, sizeof(threads));
|
||||
|
|
@ -1153,9 +1141,8 @@ tcp_listener_init_quota(size_t nthreads) {
|
|||
|
||||
static void
|
||||
tcp_connect(isc_nm_t *nm) {
|
||||
isc_nm_tcpconnect(nm, (isc_nmiface_t *)&tcp_connect_addr,
|
||||
(isc_nmiface_t *)&tcp_listen_addr, connect_connect_cb,
|
||||
NULL, T_CONNECT, 0);
|
||||
isc_nm_tcpconnect(nm, &tcp_connect_addr, &tcp_listen_addr,
|
||||
connect_connect_cb, NULL, T_CONNECT, 0);
|
||||
}
|
||||
|
||||
static void
|
||||
|
|
@ -1175,14 +1162,14 @@ stream_listen(isc_nm_accept_cb_t accept_cb, void *accept_cbarg,
|
|||
isc_nmsocket_t **sockp) {
|
||||
isc_result_t result = ISC_R_SUCCESS;
|
||||
if (stream_use_TLS) {
|
||||
result = isc_nm_listentls(
|
||||
listen_nm, (isc_nmiface_t *)&tcp_listen_addr, accept_cb,
|
||||
accept_cbarg, extrahandlesize, backlog, quota,
|
||||
tcp_listen_tlsctx, sockp);
|
||||
result = isc_nm_listentls(listen_nm, &tcp_listen_addr,
|
||||
accept_cb, accept_cbarg,
|
||||
extrahandlesize, backlog, quota,
|
||||
tcp_listen_tlsctx, sockp);
|
||||
} else {
|
||||
result = isc_nm_listentcp(
|
||||
listen_nm, (isc_nmiface_t *)&tcp_listen_addr, accept_cb,
|
||||
accept_cbarg, extrahandlesize, backlog, quota, sockp);
|
||||
listen_nm, &tcp_listen_addr, accept_cb, accept_cbarg,
|
||||
extrahandlesize, backlog, quota, sockp);
|
||||
}
|
||||
|
||||
return (result);
|
||||
|
|
@ -1192,15 +1179,13 @@ static void
|
|||
stream_connect(isc_nm_cb_t cb, void *cbarg, unsigned int timeout,
|
||||
size_t extrahandlesize) {
|
||||
if (stream_use_TLS) {
|
||||
isc_nm_tlsconnect(connect_nm,
|
||||
(isc_nmiface_t *)&tcp_connect_addr,
|
||||
(isc_nmiface_t *)&tcp_listen_addr, cb, cbarg,
|
||||
isc_nm_tlsconnect(connect_nm, &tcp_connect_addr,
|
||||
&tcp_listen_addr, cb, cbarg,
|
||||
tcp_connect_tlsctx, timeout, extrahandlesize);
|
||||
} else {
|
||||
isc_nm_tcpconnect(connect_nm,
|
||||
(isc_nmiface_t *)&tcp_connect_addr,
|
||||
(isc_nmiface_t *)&tcp_listen_addr, cb, cbarg,
|
||||
timeout, extrahandlesize);
|
||||
isc_nm_tcpconnect(connect_nm, &tcp_connect_addr,
|
||||
&tcp_listen_addr, cb, cbarg, timeout,
|
||||
extrahandlesize);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -1744,8 +1729,7 @@ tcp_half_recv_half_send_quota_sendback(void **state) {
|
|||
|
||||
static void
|
||||
tcpdns_connect(isc_nm_t *nm) {
|
||||
isc_nm_tcpdnsconnect(nm, (isc_nmiface_t *)&tcp_connect_addr,
|
||||
(isc_nmiface_t *)&tcp_listen_addr,
|
||||
isc_nm_tcpdnsconnect(nm, &tcp_connect_addr, &tcp_listen_addr,
|
||||
connect_connect_cb, NULL, T_CONNECT, 0);
|
||||
}
|
||||
|
||||
|
|
@ -1754,9 +1738,9 @@ tcpdns_noop(void **state __attribute__((unused))) {
|
|||
isc_result_t result = ISC_R_SUCCESS;
|
||||
isc_nmsocket_t *listen_sock = NULL;
|
||||
|
||||
result = isc_nm_listentcpdns(
|
||||
listen_nm, (isc_nmiface_t *)&tcp_listen_addr, noop_recv_cb,
|
||||
NULL, noop_accept_cb, NULL, 0, 0, NULL, &listen_sock);
|
||||
result = isc_nm_listentcpdns(listen_nm, &tcp_listen_addr, noop_recv_cb,
|
||||
NULL, noop_accept_cb, NULL, 0, 0, NULL,
|
||||
&listen_sock);
|
||||
assert_int_equal(result, ISC_R_SUCCESS);
|
||||
|
||||
isc_nm_stoplistening(listen_sock);
|
||||
|
|
@ -1765,8 +1749,7 @@ tcpdns_noop(void **state __attribute__((unused))) {
|
|||
|
||||
connect_readcb = NULL;
|
||||
isc_refcount_increment0(&active_cconnects);
|
||||
isc_nm_tcpdnsconnect(connect_nm, (isc_nmiface_t *)&tcp_connect_addr,
|
||||
(isc_nmiface_t *)&tcp_listen_addr,
|
||||
isc_nm_tcpdnsconnect(connect_nm, &tcp_connect_addr, &tcp_listen_addr,
|
||||
connect_connect_cb, NULL, T_CONNECT, 0);
|
||||
isc__netmgr_shutdown(connect_nm);
|
||||
|
||||
|
|
@ -1783,17 +1766,16 @@ tcpdns_noresponse(void **state __attribute__((unused))) {
|
|||
isc_nmsocket_t *listen_sock = NULL;
|
||||
|
||||
isc_refcount_increment0(&active_cconnects);
|
||||
result = isc_nm_listentcpdns(
|
||||
listen_nm, (isc_nmiface_t *)&tcp_listen_addr, noop_recv_cb,
|
||||
NULL, noop_accept_cb, NULL, 0, 0, NULL, &listen_sock);
|
||||
result = isc_nm_listentcpdns(listen_nm, &tcp_listen_addr, noop_recv_cb,
|
||||
NULL, noop_accept_cb, NULL, 0, 0, NULL,
|
||||
&listen_sock);
|
||||
if (result != ISC_R_SUCCESS) {
|
||||
isc_refcount_decrement(&active_cconnects);
|
||||
isc_test_nap(1000);
|
||||
}
|
||||
assert_int_equal(result, ISC_R_SUCCESS);
|
||||
|
||||
isc_nm_tcpdnsconnect(connect_nm, (isc_nmiface_t *)&tcp_connect_addr,
|
||||
(isc_nmiface_t *)&tcp_listen_addr,
|
||||
isc_nm_tcpdnsconnect(connect_nm, &tcp_connect_addr, &tcp_listen_addr,
|
||||
connect_connect_cb, NULL, T_CONNECT, 0);
|
||||
|
||||
WAIT_FOR_EQ(cconnects, 1);
|
||||
|
|
@ -1829,9 +1811,9 @@ tcpdns_timeout_recovery(void **state __attribute__((unused))) {
|
|||
* reads to time out.
|
||||
*/
|
||||
noanswer = true;
|
||||
result = isc_nm_listentcpdns(
|
||||
listen_nm, (isc_nmiface_t *)&tcp_listen_addr, listen_read_cb,
|
||||
NULL, listen_accept_cb, NULL, 0, 0, NULL, &listen_sock);
|
||||
result = isc_nm_listentcpdns(listen_nm, &tcp_listen_addr,
|
||||
listen_read_cb, NULL, listen_accept_cb,
|
||||
NULL, 0, 0, NULL, &listen_sock);
|
||||
assert_int_equal(result, ISC_R_SUCCESS);
|
||||
|
||||
/*
|
||||
|
|
@ -1842,8 +1824,7 @@ tcpdns_timeout_recovery(void **state __attribute__((unused))) {
|
|||
connect_readcb = timeout_retry_cb;
|
||||
isc_nm_settimeouts(connect_nm, T_SOFT, T_SOFT, T_SOFT, T_SOFT);
|
||||
isc_refcount_increment0(&active_cconnects);
|
||||
isc_nm_tcpdnsconnect(connect_nm, (isc_nmiface_t *)&tcp_connect_addr,
|
||||
(isc_nmiface_t *)&tcp_listen_addr,
|
||||
isc_nm_tcpdnsconnect(connect_nm, &tcp_connect_addr, &tcp_listen_addr,
|
||||
connect_connect_cb, NULL, T_SOFT, 0);
|
||||
|
||||
WAIT_FOR_EQ(cconnects, 1);
|
||||
|
|
@ -1867,14 +1848,13 @@ tcpdns_recv_one(void **state __attribute__((unused))) {
|
|||
|
||||
atomic_store(&nsends, 1);
|
||||
|
||||
result = isc_nm_listentcpdns(
|
||||
listen_nm, (isc_nmiface_t *)&tcp_listen_addr, listen_read_cb,
|
||||
NULL, listen_accept_cb, NULL, 0, 0, NULL, &listen_sock);
|
||||
result = isc_nm_listentcpdns(listen_nm, &tcp_listen_addr,
|
||||
listen_read_cb, NULL, listen_accept_cb,
|
||||
NULL, 0, 0, NULL, &listen_sock);
|
||||
assert_int_equal(result, ISC_R_SUCCESS);
|
||||
|
||||
isc_refcount_increment0(&active_cconnects);
|
||||
isc_nm_tcpdnsconnect(connect_nm, (isc_nmiface_t *)&tcp_connect_addr,
|
||||
(isc_nmiface_t *)&tcp_listen_addr,
|
||||
isc_nm_tcpdnsconnect(connect_nm, &tcp_connect_addr, &tcp_listen_addr,
|
||||
connect_connect_cb, NULL, T_CONNECT, 0);
|
||||
|
||||
WAIT_FOR_EQ(cconnects, 1);
|
||||
|
|
@ -1909,21 +1889,19 @@ tcpdns_recv_two(void **state __attribute__((unused))) {
|
|||
|
||||
atomic_store(&nsends, 2);
|
||||
|
||||
result = isc_nm_listentcpdns(
|
||||
listen_nm, (isc_nmiface_t *)&tcp_listen_addr, listen_read_cb,
|
||||
NULL, listen_accept_cb, NULL, 0, 0, NULL, &listen_sock);
|
||||
result = isc_nm_listentcpdns(listen_nm, &tcp_listen_addr,
|
||||
listen_read_cb, NULL, listen_accept_cb,
|
||||
NULL, 0, 0, NULL, &listen_sock);
|
||||
assert_int_equal(result, ISC_R_SUCCESS);
|
||||
|
||||
isc_refcount_increment0(&active_cconnects);
|
||||
isc_nm_tcpdnsconnect(connect_nm, (isc_nmiface_t *)&tcp_connect_addr,
|
||||
(isc_nmiface_t *)&tcp_listen_addr,
|
||||
isc_nm_tcpdnsconnect(connect_nm, &tcp_connect_addr, &tcp_listen_addr,
|
||||
connect_connect_cb, NULL, T_CONNECT, 0);
|
||||
|
||||
WAIT_FOR_EQ(cconnects, 1);
|
||||
|
||||
isc_refcount_increment0(&active_cconnects);
|
||||
isc_nm_tcpdnsconnect(connect_nm, (isc_nmiface_t *)&tcp_connect_addr,
|
||||
(isc_nmiface_t *)&tcp_listen_addr,
|
||||
isc_nm_tcpdnsconnect(connect_nm, &tcp_connect_addr, &tcp_listen_addr,
|
||||
connect_connect_cb, NULL, T_CONNECT, 0);
|
||||
|
||||
WAIT_FOR_EQ(cconnects, 2);
|
||||
|
|
@ -1960,9 +1938,9 @@ tcpdns_recv_send(void **state __attribute__((unused))) {
|
|||
|
||||
SKIP_IN_CI;
|
||||
|
||||
result = isc_nm_listentcpdns(
|
||||
listen_nm, (isc_nmiface_t *)&tcp_listen_addr, listen_read_cb,
|
||||
NULL, listen_accept_cb, NULL, 0, 0, NULL, &listen_sock);
|
||||
result = isc_nm_listentcpdns(listen_nm, &tcp_listen_addr,
|
||||
listen_read_cb, NULL, listen_accept_cb,
|
||||
NULL, 0, 0, NULL, &listen_sock);
|
||||
assert_int_equal(result, ISC_R_SUCCESS);
|
||||
|
||||
memset(threads, 0, sizeof(threads));
|
||||
|
|
@ -2006,9 +1984,9 @@ tcpdns_recv_half_send(void **state __attribute__((unused))) {
|
|||
|
||||
SKIP_IN_CI;
|
||||
|
||||
result = isc_nm_listentcpdns(
|
||||
listen_nm, (isc_nmiface_t *)&tcp_listen_addr, listen_read_cb,
|
||||
NULL, listen_accept_cb, NULL, 0, 0, NULL, &listen_sock);
|
||||
result = isc_nm_listentcpdns(listen_nm, &tcp_listen_addr,
|
||||
listen_read_cb, NULL, listen_accept_cb,
|
||||
NULL, 0, 0, NULL, &listen_sock);
|
||||
assert_int_equal(result, ISC_R_SUCCESS);
|
||||
|
||||
memset(threads, 0, sizeof(threads));
|
||||
|
|
@ -2053,9 +2031,9 @@ tcpdns_half_recv_send(void **state __attribute__((unused))) {
|
|||
|
||||
SKIP_IN_CI;
|
||||
|
||||
result = isc_nm_listentcpdns(
|
||||
listen_nm, (isc_nmiface_t *)&tcp_listen_addr, listen_read_cb,
|
||||
NULL, listen_accept_cb, NULL, 0, 0, NULL, &listen_sock);
|
||||
result = isc_nm_listentcpdns(listen_nm, &tcp_listen_addr,
|
||||
listen_read_cb, NULL, listen_accept_cb,
|
||||
NULL, 0, 0, NULL, &listen_sock);
|
||||
assert_int_equal(result, ISC_R_SUCCESS);
|
||||
|
||||
memset(threads, 0, sizeof(threads));
|
||||
|
|
@ -2103,9 +2081,9 @@ tcpdns_half_recv_half_send(void **state __attribute__((unused))) {
|
|||
|
||||
SKIP_IN_CI;
|
||||
|
||||
result = isc_nm_listentcpdns(
|
||||
listen_nm, (isc_nmiface_t *)&tcp_listen_addr, listen_read_cb,
|
||||
NULL, listen_accept_cb, NULL, 0, 0, NULL, &listen_sock);
|
||||
result = isc_nm_listentcpdns(listen_nm, &tcp_listen_addr,
|
||||
listen_read_cb, NULL, listen_accept_cb,
|
||||
NULL, 0, 0, NULL, &listen_sock);
|
||||
assert_int_equal(result, ISC_R_SUCCESS);
|
||||
|
||||
memset(threads, 0, sizeof(threads));
|
||||
|
|
@ -2145,9 +2123,9 @@ tcpdns_half_recv_half_send(void **state __attribute__((unused))) {
|
|||
|
||||
static void
|
||||
tls_connect(isc_nm_t *nm) {
|
||||
isc_nm_tlsconnect(nm, (isc_nmiface_t *)&tcp_connect_addr,
|
||||
(isc_nmiface_t *)&tcp_listen_addr, connect_connect_cb,
|
||||
NULL, tcp_connect_tlsctx, T_CONNECT, 0);
|
||||
isc_nm_tlsconnect(nm, &tcp_connect_addr, &tcp_listen_addr,
|
||||
connect_connect_cb, NULL, tcp_connect_tlsctx,
|
||||
T_CONNECT, 0);
|
||||
}
|
||||
|
||||
static void
|
||||
|
|
@ -2328,8 +2306,7 @@ tls_half_recv_half_send_quota_sendback(void **state) {
|
|||
|
||||
static void
|
||||
tlsdns_connect(isc_nm_t *nm) {
|
||||
isc_nm_tlsdnsconnect(nm, (isc_nmiface_t *)&tcp_connect_addr,
|
||||
(isc_nmiface_t *)&tcp_listen_addr,
|
||||
isc_nm_tlsdnsconnect(nm, &tcp_connect_addr, &tcp_listen_addr,
|
||||
connect_connect_cb, NULL, T_CONNECT, 0,
|
||||
tcp_connect_tlsctx);
|
||||
}
|
||||
|
|
@ -2339,10 +2316,9 @@ tlsdns_noop(void **state __attribute__((unused))) {
|
|||
isc_result_t result = ISC_R_SUCCESS;
|
||||
isc_nmsocket_t *listen_sock = NULL;
|
||||
|
||||
result = isc_nm_listentlsdns(
|
||||
listen_nm, (isc_nmiface_t *)&tcp_listen_addr, noop_recv_cb,
|
||||
NULL, noop_accept_cb, NULL, 0, 0, NULL, tcp_listen_tlsctx,
|
||||
&listen_sock);
|
||||
result = isc_nm_listentlsdns(listen_nm, &tcp_listen_addr, noop_recv_cb,
|
||||
NULL, noop_accept_cb, NULL, 0, 0, NULL,
|
||||
tcp_listen_tlsctx, &listen_sock);
|
||||
assert_int_equal(result, ISC_R_SUCCESS);
|
||||
|
||||
isc_nm_stoplistening(listen_sock);
|
||||
|
|
@ -2351,8 +2327,7 @@ tlsdns_noop(void **state __attribute__((unused))) {
|
|||
|
||||
connect_readcb = NULL;
|
||||
isc_refcount_increment0(&active_cconnects);
|
||||
isc_nm_tlsdnsconnect(connect_nm, (isc_nmiface_t *)&tcp_connect_addr,
|
||||
(isc_nmiface_t *)&tcp_listen_addr,
|
||||
isc_nm_tlsdnsconnect(connect_nm, &tcp_connect_addr, &tcp_listen_addr,
|
||||
connect_connect_cb, NULL, T_CONNECT, 0,
|
||||
tcp_connect_tlsctx);
|
||||
|
||||
|
|
@ -2374,15 +2349,13 @@ tlsdns_noresponse(void **state __attribute__((unused))) {
|
|||
connect_addr = (isc_sockaddr_t){ .length = 0 };
|
||||
isc_sockaddr_fromin6(&connect_addr, &in6addr_loopback, 0);
|
||||
|
||||
result = isc_nm_listentlsdns(
|
||||
listen_nm, (isc_nmiface_t *)&tcp_listen_addr, noop_recv_cb,
|
||||
NULL, noop_accept_cb, NULL, 0, 0, NULL, tcp_listen_tlsctx,
|
||||
&listen_sock);
|
||||
result = isc_nm_listentlsdns(listen_nm, &tcp_listen_addr, noop_recv_cb,
|
||||
NULL, noop_accept_cb, NULL, 0, 0, NULL,
|
||||
tcp_listen_tlsctx, &listen_sock);
|
||||
assert_int_equal(result, ISC_R_SUCCESS);
|
||||
|
||||
isc_refcount_increment0(&active_cconnects);
|
||||
isc_nm_tlsdnsconnect(connect_nm, (isc_nmiface_t *)&connect_addr,
|
||||
(isc_nmiface_t *)&tcp_listen_addr,
|
||||
isc_nm_tlsdnsconnect(connect_nm, &connect_addr, &tcp_listen_addr,
|
||||
connect_connect_cb, NULL, T_CONNECT, 0,
|
||||
tcp_connect_tlsctx);
|
||||
|
||||
|
|
@ -2423,10 +2396,10 @@ tlsdns_timeout_recovery(void **state __attribute__((unused))) {
|
|||
* reads to time out.
|
||||
*/
|
||||
noanswer = true;
|
||||
result = isc_nm_listentlsdns(
|
||||
listen_nm, (isc_nmiface_t *)&tcp_listen_addr, listen_read_cb,
|
||||
NULL, listen_accept_cb, NULL, 0, 0, NULL, tcp_listen_tlsctx,
|
||||
&listen_sock);
|
||||
result = isc_nm_listentlsdns(listen_nm, &tcp_listen_addr,
|
||||
listen_read_cb, NULL, listen_accept_cb,
|
||||
NULL, 0, 0, NULL, tcp_listen_tlsctx,
|
||||
&listen_sock);
|
||||
assert_int_equal(result, ISC_R_SUCCESS);
|
||||
|
||||
/*
|
||||
|
|
@ -2437,8 +2410,7 @@ tlsdns_timeout_recovery(void **state __attribute__((unused))) {
|
|||
connect_readcb = timeout_retry_cb;
|
||||
isc_nm_settimeouts(connect_nm, T_SOFT, T_SOFT, T_SOFT, T_SOFT);
|
||||
isc_refcount_increment0(&active_cconnects);
|
||||
isc_nm_tlsdnsconnect(connect_nm, (isc_nmiface_t *)&tcp_connect_addr,
|
||||
(isc_nmiface_t *)&tcp_listen_addr,
|
||||
isc_nm_tlsdnsconnect(connect_nm, &tcp_connect_addr, &tcp_listen_addr,
|
||||
connect_connect_cb, NULL, T_SOFT, 0,
|
||||
tcp_connect_tlsctx);
|
||||
|
||||
|
|
@ -2463,15 +2435,14 @@ tlsdns_recv_one(void **state __attribute__((unused))) {
|
|||
|
||||
atomic_store(&nsends, 1);
|
||||
|
||||
result = isc_nm_listentlsdns(
|
||||
listen_nm, (isc_nmiface_t *)&tcp_listen_addr, listen_read_cb,
|
||||
NULL, listen_accept_cb, NULL, 0, 0, NULL, tcp_listen_tlsctx,
|
||||
&listen_sock);
|
||||
result = isc_nm_listentlsdns(listen_nm, &tcp_listen_addr,
|
||||
listen_read_cb, NULL, listen_accept_cb,
|
||||
NULL, 0, 0, NULL, tcp_listen_tlsctx,
|
||||
&listen_sock);
|
||||
assert_int_equal(result, ISC_R_SUCCESS);
|
||||
|
||||
isc_refcount_increment0(&active_cconnects);
|
||||
isc_nm_tlsdnsconnect(connect_nm, (isc_nmiface_t *)&tcp_connect_addr,
|
||||
(isc_nmiface_t *)&tcp_listen_addr,
|
||||
isc_nm_tlsdnsconnect(connect_nm, &tcp_connect_addr, &tcp_listen_addr,
|
||||
connect_connect_cb, NULL, T_CONNECT, 0,
|
||||
tcp_connect_tlsctx);
|
||||
|
||||
|
|
@ -2507,23 +2478,21 @@ tlsdns_recv_two(void **state __attribute__((unused))) {
|
|||
|
||||
atomic_store(&nsends, 2);
|
||||
|
||||
result = isc_nm_listentlsdns(
|
||||
listen_nm, (isc_nmiface_t *)&tcp_listen_addr, listen_read_cb,
|
||||
NULL, listen_accept_cb, NULL, 0, 0, NULL, tcp_listen_tlsctx,
|
||||
&listen_sock);
|
||||
result = isc_nm_listentlsdns(listen_nm, &tcp_listen_addr,
|
||||
listen_read_cb, NULL, listen_accept_cb,
|
||||
NULL, 0, 0, NULL, tcp_listen_tlsctx,
|
||||
&listen_sock);
|
||||
assert_int_equal(result, ISC_R_SUCCESS);
|
||||
|
||||
isc_refcount_increment0(&active_cconnects);
|
||||
isc_nm_tlsdnsconnect(connect_nm, (isc_nmiface_t *)&tcp_connect_addr,
|
||||
(isc_nmiface_t *)&tcp_listen_addr,
|
||||
isc_nm_tlsdnsconnect(connect_nm, &tcp_connect_addr, &tcp_listen_addr,
|
||||
connect_connect_cb, NULL, T_CONNECT, 0,
|
||||
tcp_connect_tlsctx);
|
||||
|
||||
WAIT_FOR_EQ(cconnects, 1);
|
||||
|
||||
isc_refcount_increment0(&active_cconnects);
|
||||
isc_nm_tlsdnsconnect(connect_nm, (isc_nmiface_t *)&tcp_connect_addr,
|
||||
(isc_nmiface_t *)&tcp_listen_addr,
|
||||
isc_nm_tlsdnsconnect(connect_nm, &tcp_connect_addr, &tcp_listen_addr,
|
||||
connect_connect_cb, NULL, T_CONNECT, 0,
|
||||
tcp_connect_tlsctx);
|
||||
|
||||
|
|
@ -2561,10 +2530,10 @@ tlsdns_recv_send(void **state __attribute__((unused))) {
|
|||
|
||||
SKIP_IN_CI;
|
||||
|
||||
result = isc_nm_listentlsdns(
|
||||
listen_nm, (isc_nmiface_t *)&tcp_listen_addr, listen_read_cb,
|
||||
NULL, listen_accept_cb, NULL, 0, 0, NULL, tcp_listen_tlsctx,
|
||||
&listen_sock);
|
||||
result = isc_nm_listentlsdns(listen_nm, &tcp_listen_addr,
|
||||
listen_read_cb, NULL, listen_accept_cb,
|
||||
NULL, 0, 0, NULL, tcp_listen_tlsctx,
|
||||
&listen_sock);
|
||||
assert_int_equal(result, ISC_R_SUCCESS);
|
||||
|
||||
memset(threads, 0, sizeof(threads));
|
||||
|
|
@ -2608,10 +2577,10 @@ tlsdns_recv_half_send(void **state __attribute__((unused))) {
|
|||
|
||||
SKIP_IN_CI;
|
||||
|
||||
result = isc_nm_listentlsdns(
|
||||
listen_nm, (isc_nmiface_t *)&tcp_listen_addr, listen_read_cb,
|
||||
NULL, listen_accept_cb, NULL, 0, 0, NULL, tcp_listen_tlsctx,
|
||||
&listen_sock);
|
||||
result = isc_nm_listentlsdns(listen_nm, &tcp_listen_addr,
|
||||
listen_read_cb, NULL, listen_accept_cb,
|
||||
NULL, 0, 0, NULL, tcp_listen_tlsctx,
|
||||
&listen_sock);
|
||||
assert_int_equal(result, ISC_R_SUCCESS);
|
||||
|
||||
memset(threads, 0, sizeof(threads));
|
||||
|
|
@ -2656,10 +2625,10 @@ tlsdns_half_recv_send(void **state __attribute__((unused))) {
|
|||
|
||||
SKIP_IN_CI;
|
||||
|
||||
result = isc_nm_listentlsdns(
|
||||
listen_nm, (isc_nmiface_t *)&tcp_listen_addr, listen_read_cb,
|
||||
NULL, listen_accept_cb, NULL, 0, 0, NULL, tcp_listen_tlsctx,
|
||||
&listen_sock);
|
||||
result = isc_nm_listentlsdns(listen_nm, &tcp_listen_addr,
|
||||
listen_read_cb, NULL, listen_accept_cb,
|
||||
NULL, 0, 0, NULL, tcp_listen_tlsctx,
|
||||
&listen_sock);
|
||||
assert_int_equal(result, ISC_R_SUCCESS);
|
||||
|
||||
memset(threads, 0, sizeof(threads));
|
||||
|
|
@ -2707,10 +2676,10 @@ tlsdns_half_recv_half_send(void **state __attribute__((unused))) {
|
|||
|
||||
SKIP_IN_CI;
|
||||
|
||||
result = isc_nm_listentlsdns(
|
||||
listen_nm, (isc_nmiface_t *)&tcp_listen_addr, listen_read_cb,
|
||||
NULL, listen_accept_cb, NULL, 0, 0, NULL, tcp_listen_tlsctx,
|
||||
&listen_sock);
|
||||
result = isc_nm_listentlsdns(listen_nm, &tcp_listen_addr,
|
||||
listen_read_cb, NULL, listen_accept_cb,
|
||||
NULL, 0, 0, NULL, tcp_listen_tlsctx,
|
||||
&listen_sock);
|
||||
assert_int_equal(result, ISC_R_SUCCESS);
|
||||
|
||||
memset(threads, 0, sizeof(threads));
|
||||
|
|
|
|||
|
|
@ -455,8 +455,8 @@ ns_interface_listenudp(ns_interface_t *ifp) {
|
|||
isc_result_t result;
|
||||
|
||||
/* Reserve space for an ns_client_t with the netmgr handle */
|
||||
result = isc_nm_listenudp(ifp->mgr->nm, (isc_nmiface_t *)&ifp->addr,
|
||||
ns__client_request, ifp, sizeof(ns_client_t),
|
||||
result = isc_nm_listenudp(ifp->mgr->nm, &ifp->addr, ns__client_request,
|
||||
ifp, sizeof(ns_client_t),
|
||||
&ifp->udplistensocket);
|
||||
return (result);
|
||||
}
|
||||
|
|
@ -466,10 +466,9 @@ ns_interface_listentcp(ns_interface_t *ifp) {
|
|||
isc_result_t result;
|
||||
|
||||
result = isc_nm_listentcpdns(
|
||||
ifp->mgr->nm, (isc_nmiface_t *)&ifp->addr, ns__client_request,
|
||||
ifp, ns__client_tcpconn, ifp, sizeof(ns_client_t),
|
||||
ifp->mgr->backlog, &ifp->mgr->sctx->tcpquota,
|
||||
&ifp->tcplistensocket);
|
||||
ifp->mgr->nm, &ifp->addr, ns__client_request, ifp,
|
||||
ns__client_tcpconn, ifp, sizeof(ns_client_t), ifp->mgr->backlog,
|
||||
&ifp->mgr->sctx->tcpquota, &ifp->tcplistensocket);
|
||||
if (result != ISC_R_SUCCESS) {
|
||||
isc_log_write(IFMGR_COMMON_LOGARGS, ISC_LOG_ERROR,
|
||||
"creating TCP socket: %s",
|
||||
|
|
@ -511,10 +510,9 @@ ns_interface_listentls(ns_interface_t *ifp, isc_tlsctx_t *sslctx) {
|
|||
isc_result_t result;
|
||||
|
||||
result = isc_nm_listentlsdns(
|
||||
ifp->mgr->nm, (isc_nmiface_t *)&ifp->addr, ns__client_request,
|
||||
ifp, ns__client_tcpconn, ifp, sizeof(ns_client_t),
|
||||
ifp->mgr->backlog, &ifp->mgr->sctx->tcpquota, sslctx,
|
||||
&ifp->tcplistensocket);
|
||||
ifp->mgr->nm, &ifp->addr, ns__client_request, ifp,
|
||||
ns__client_tcpconn, ifp, sizeof(ns_client_t), ifp->mgr->backlog,
|
||||
&ifp->mgr->sctx->tcpquota, sslctx, &ifp->tcplistensocket);
|
||||
|
||||
if (result != ISC_R_SUCCESS) {
|
||||
isc_log_write(IFMGR_COMMON_LOGARGS, ISC_LOG_ERROR,
|
||||
|
|
@ -544,14 +542,12 @@ ns_interface_listenhttp(ns_interface_t *ifp, isc_tlsctx_t *sslctx, char **eps,
|
|||
size_t neps) {
|
||||
isc_result_t result;
|
||||
isc_nmsocket_t *sock = NULL;
|
||||
size_t i = 0;
|
||||
|
||||
result = isc_nm_listenhttp(ifp->mgr->nm, (isc_nmiface_t *)&ifp->addr,
|
||||
ifp->mgr->backlog, &ifp->mgr->sctx->tcpquota,
|
||||
sslctx, &sock);
|
||||
result = isc_nm_listenhttp(ifp->mgr->nm, &ifp->addr, ifp->mgr->backlog,
|
||||
&ifp->mgr->sctx->tcpquota, sslctx, &sock);
|
||||
|
||||
if (result == ISC_R_SUCCESS) {
|
||||
for (i = 0; i < neps; i++) {
|
||||
for (size_t i = 0; i < neps; i++) {
|
||||
result = isc_nm_http_endpoint(sock, eps[i],
|
||||
ns__client_request, ifp,
|
||||
sizeof(ns_client_t));
|
||||
|
|
|
|||
Loading…
Reference in a new issue