isc_nmhandle_t *handle;
isc_nmhandle_t *client_httphandle;
isc_nmsocket_t *serversocket;
- isc_sockaddr_t server_iface;
uint8_t buf[MAX_DNS_MESSAGE_SIZE];
size_t bufsize;
session->client = true;
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;
transp_sock->h2.connect.post = http_sock->h2.connect.post;
transp_sock->h2.connect.uri = http_sock->h2.connect.uri;
socket = isc_mem_get(session->mctx, sizeof(isc_nmsocket_t));
isc__nmsocket_init(socket, session->serversocket->mgr,
isc_nm_httpsocket,
- (isc_sockaddr_t *)&session->server_iface);
+ (isc_sockaddr_t *)&session->handle->sock->iface);
+ socket->peer = session->handle->sock->peer;
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 = isc_nmhandle_localaddr(session->handle);
server_send_connection_header(session);
/* TODO H2 */
*/
tlssock = isc_mem_get(handle->sock->mgr->mctx, sizeof(*tlssock));
isc__nmsocket_init(tlssock, handle->sock->mgr, isc_nm_tlssocket,
- &tlslistensock->tlsstream.server_iface);
+ &handle->sock->iface);
/* We need to initialize SSL now to reference SSL_CTX properly */
tlssock->tlsstream.ctx = tlslistensock->tlsstream.ctx;
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, link);
- tlssock->iface = tlssock->tlsstream.server_iface;
tlssock->result = ISC_R_UNSET;
tlssock->accept_cb = accept_cb;
tlssock->accept_cbarg = accept_cbarg;
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, 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, &nsock->tlsstream.local_iface, peer,
- tcp_connected, nsock, nsock->connect_timeout, 0);
+ isc_nm_tcpconnect(mgr, local, peer, tcp_connected, nsock,
+ nsock->connect_timeout, 0);
}
static void
goto error;
}
+ tlssock->iface = handle->sock->iface;
+ tlssock->peer = handle->sock->peer;
if (isc__nm_closing(tlssock)) {
result = ISC_R_CANCELED;
goto error;