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",
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 */
}
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);
}
#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) {
}
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
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;
}
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);
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:
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);
*/
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);
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;
*/
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
*/
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
-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);
*/
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
-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,
*/
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,
*/
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);
/*%<
*/
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);
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) */
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;
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);
}
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));
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;
}
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();
*/
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) {
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,
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 */
}
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;
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;
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,
/*% 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;
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'.
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(
#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);
REQUIRE(VALID_NMSOCK(sock));
REQUIRE(sock->type == isc_nm_tcpsocket);
- REQUIRE(sock->iface != NULL);
REQUIRE(sock->parent == NULL);
REQUIRE(sock->tid == isc_nm_tid());
}
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;
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);
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) {
}
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];
#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
}
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) {
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);
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;
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());
}
#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;
#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]);
}
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);
REQUIRE(VALID_NMSOCK(sock));
REQUIRE(sock->type == isc_nm_tcpdnssocket);
- REQUIRE(sock->iface != NULL);
REQUIRE(sock->parent == NULL);
REQUIRE(sock->tid == isc_nm_tid());
}
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;
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);
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) {
}
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];
#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
(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,
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);
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;
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());
}
#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;
#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]);
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);
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,
REQUIRE(VALID_NMSOCK(sock));
REQUIRE(sock->type == isc_nm_tlsdnssocket);
- REQUIRE(sock->iface != NULL);
REQUIRE(sock->parent == NULL);
REQUIRE(sock->tid == isc_nm_tid());
}
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;
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);
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) {
}
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];
#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
}
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,
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);
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;
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());
}
#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;
#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]);
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);
{
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);
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);
}
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;
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;
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;
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
}
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;
#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
}
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;
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);
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;
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());
#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;
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,
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) {
}
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]);
REQUIRE(VALID_NMSOCK(sock));
REQUIRE(sock->type == isc_nm_udpsocket);
- REQUIRE(sock->iface != NULL);
REQUIRE(sock->parent == NULL);
REQUIRE(sock->tid == isc_nm_tid());
}
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;
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);
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) {
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
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);
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);
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,
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);
/*
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.
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,
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,
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)) {
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,
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,
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,
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,
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
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);
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);
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);
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;
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;
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;
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;
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;
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);
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);
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);
/*
* 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);
/*
*/
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);
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);
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);
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));
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));
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));
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));
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
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);
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);
}
}
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);
}
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);
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);
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);
* 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);
/*
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);
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);
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);
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));
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));
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));
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));
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
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);
}
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);
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);
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);
* 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);
/*
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);
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);
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);
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));
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));
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));
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));
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);
}
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",
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,
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));