transp_sock->h2.session = session;
http_sock->h2.connect.tlsctx = NULL;
/* otherwise we will get some garbage output in DIG */
- http_sock->iface = handle->sock->iface;
- http_sock->peer = handle->sock->peer;
+ http_sock->iface = isc_nmhandle_localaddr(handle);
+ http_sock->peer = isc_nmhandle_peeraddr(handle);
transp_sock->h2.connect.post = http_sock->h2.connect.post;
transp_sock->h2.connect.uri = http_sock->h2.connect.uri;
isc_nm_http_session_t *session = (isc_nm_http_session_t *)user_data;
isc_nmsocket_t *socket = NULL;
isc__networker_t *worker = NULL;
+ isc_sockaddr_t local;
if (frame->hd.type != NGHTTP2_HEADERS ||
frame->headers.cat != NGHTTP2_HCAT_REQUEST)
worker = session->handle->sock->worker;
socket = isc_mem_get(worker->mctx, sizeof(isc_nmsocket_t));
- isc__nmsocket_init(socket, worker, isc_nm_httpsocket,
- (isc_sockaddr_t *)&session->handle->sock->iface,
- NULL);
- socket->peer = session->handle->sock->peer;
+ local = isc_nmhandle_localaddr(session->handle);
+ isc__nmsocket_init(socket, worker, isc_nm_httpsocket, &local, NULL);
+ socket->peer = isc_nmhandle_peeraddr(session->handle);
socket->h2 = (isc_nmsocket_h2_t){
.psock = socket,
.stream_id = frame->hd.stream_id,
isc_nmsocket_t *tlslistensock = (isc_nmsocket_t *)cbarg;
isc_nmsocket_t *tlssock = NULL;
isc_tlsctx_t *tlsctx = NULL;
+ isc_sockaddr_t local;
/* If accept() was unsuccessful we can't do anything */
if (result != ISC_R_SUCCESS) {
return (ISC_R_CANCELED);
}
+ local = isc_nmhandle_localaddr(handle);
/*
* We need to create a 'wrapper' tlssocket for this connection.
*/
tlssock = isc_mem_get(handle->sock->worker->mctx, sizeof(*tlssock));
isc__nmsocket_init(tlssock, handle->sock->worker, isc_nm_tlssocket,
- &handle->sock->iface, NULL);
+ &local, NULL);
/* We need to initialize SSL now to reference SSL_CTX properly */
tlsctx = tls_get_listener_tlsctx(tlslistensock, isc_tid());
tlssock->accept_cbarg = tlslistensock->accept_cbarg;
isc__nmsocket_attach(handle->sock, &tlssock->listener);
isc_nmhandle_attach(handle, &tlssock->outerhandle);
- tlssock->peer = handle->sock->peer;
+ tlssock->peer = isc_nmhandle_peeraddr(handle);
tlssock->read_timeout =
atomic_load_relaxed(&handle->sock->worker->netmgr->init);
INSIST(VALID_NMHANDLE(handle));
- tlssock->iface = handle->sock->iface;
- tlssock->peer = handle->sock->peer;
+ tlssock->iface = isc_nmhandle_localaddr(handle);
+ tlssock->peer = isc_nmhandle_peeraddr(handle);
if (isc__nm_closing(worker)) {
result = ISC_R_SHUTTINGDOWN;
goto error;