Lines Matching defs:tlssock
141 tls_try_to_enable_tcp_nodelay(isc_nmsocket_t *tlssock);
171 isc_nmsocket_t *tlssock = NULL;
179 REQUIRE(VALID_NMSOCK(send_req->tlssock));
181 tlssock = send_req->tlssock;
182 send_req->tlssock = NULL;
191 tls_try_shutdown(tlssock->tlsstream.tls, true);
195 if (tlssock->tlsstream.send_req == NULL) {
196 tlssock->tlsstream.send_req = send_req;
222 tlssock->tlsstream.nsending--;
225 INSIST(VALID_NMHANDLE(tlssock->statichandle));
230 if (tlssock->statichandle == NULL) {
241 tls_failed_read_cb(tlssock, ISC_R_EOF);
243 tls_do_bio(tlssock, NULL, NULL, false);
245 tlssock->tlsstream.state <= TLS_HANDSHAKE &&
246 !tlssock->tlsstream.server)
257 tls_failed_read_cb(tlssock, eresult);
260 isc__nmsocket_detach(&tlssock);
402 isc__nmsocket_attach(sock, &send_req->tlssock);
827 isc_nmsocket_t *tlssock = (isc_nmsocket_t *)cbarg;
829 REQUIRE(VALID_NMSOCK(tlssock));
831 REQUIRE(tlssock->tid == isc_tid());
834 tls_failed_read_cb(tlssock, result);
837 tls_failed_read_cb(tlssock, ISC_R_CANCELED);
841 REQUIRE(handle == tlssock->outerhandle);
842 tls_do_bio(tlssock, region, NULL, false);
881 tls_try_to_enable_tcp_nodelay(isc_nmsocket_t *tlssock) {
886 isc_result_t result = isc_nmhandle_set_tcp_nodelay(tlssock->outerhandle,
888 tlssock->tlsstream.tcp_nodelay_value = (result == ISC_R_SUCCESS);
894 isc_nmsocket_t *tlssock = NULL;
918 tlssock = isc_mempool_get(handle->sock->worker->nmsocket_pool);
919 isc__nmsocket_init(tlssock, handle->sock->worker, isc_nm_tlssocket,
921 isc__nmsocket_attach(tlslistensock, &tlssock->server);
926 isc_tlsctx_attach(tlsctx, &tlssock->tlsstream.ctx);
927 tlssock->tlsstream.tls = isc_tls_create(tlssock->tlsstream.ctx);
928 if (tlssock->tlsstream.tls == NULL) {
929 tlssock->closed = true;
930 isc_tlsctx_free(&tlssock->tlsstream.ctx);
931 isc__nmsocket_detach(&tlssock);
935 tlssock->accept_cb = tlslistensock->accept_cb;
936 tlssock->accept_cbarg = tlslistensock->accept_cbarg;
937 isc__nmsocket_attach(handle->sock, &tlssock->listener);
938 isc_nmhandle_attach(handle, &tlssock->outerhandle);
939 tlssock->peer = isc_nmhandle_peeraddr(handle);
940 tlssock->read_timeout =
944 * Hold a reference to tlssock in the TCP socket: it will
947 handle->sock->tlsstream.tlssocket = tlssock;
949 result = initialize_tls(tlssock, true);
951 /* TODO: catch failure code, detach tlssock, and log the error */
953 tls_try_to_enable_tcp_nodelay(tlssock);
955 isc__nmhandle_set_manual_timer(tlssock->outerhandle, true);
956 tls_do_bio(tlssock, NULL, NULL, false);
966 isc_nmsocket_t *tlssock = NULL;
984 tlssock = isc_mempool_get(worker->nmsocket_pool);
985 isc__nmsocket_init(tlssock, worker, isc_nm_tlslistener, iface, NULL);
986 tlssock->accept_cb = accept_cb;
987 tlssock->accept_cbarg = accept_cbarg;
988 tls_init_listener_tlsctx(tlssock, sslctx);
989 tlssock->tlsstream.tls = NULL;
992 * tlssock will be a TLS 'wrapper' around an unencrypted stream.
993 * We set tlssock->outer to a socket listening for a TCP connection.
997 mgr, workers, iface, tlslisten_acceptcb, tlssock,
998 backlog, quota, NULL, &tlssock->outer);
1001 tlslisten_acceptcb, tlssock, backlog,
1002 quota, &tlssock->outer);
1005 tlssock->closed = true;
1006 isc__nmsocket_detach(&tlssock);
1012 tlssock->iface = tlssock->outer->iface;
1016 isc__nmsocket_attach(tlssock->outer, &tsock);
1017 tlssock->result = result;
1018 tlssock->active = true;
1019 INSIST(tlssock->outer->tlsstream.tlslistener == NULL);
1020 isc__nmsocket_attach(tlssock, &tlssock->outer->tlsstream.tlslistener);
1023 tlssock->nchildren = tlssock->outer->nchildren;
1026 *sockp = tlssock;
1248 isc_nmsocket_t *tlssock = (isc_nmsocket_t *)cbarg;
1252 REQUIRE(VALID_NMSOCK(tlssock));
1254 worker = tlssock->worker;
1262 tlssock->iface = isc_nmhandle_localaddr(handle);
1263 tlssock->peer = isc_nmhandle_peeraddr(handle);
1275 tlssock->tlsstream.tls = isc_tls_create(tlssock->tlsstream.ctx);
1276 if (tlssock->tlsstream.tls == NULL) {
1281 result = initialize_tls(tlssock, false);
1285 tlssock->peer = isc_nmhandle_peeraddr(handle);
1286 isc_nmhandle_attach(handle, &tlssock->outerhandle);
1287 tlssock->active = true;
1289 if (tlssock->tlsstream.client_sess_cache != NULL) {
1291 tlssock->tlsstream.client_sess_cache, &tlssock->peer,
1292 tlssock->tlsstream.tls);
1296 * Hold a reference to tlssock in the TCP socket: it will
1299 handle->sock->tlsstream.tlssocket = tlssock;
1301 tls_try_to_enable_tcp_nodelay(tlssock);
1303 isc__nmhandle_set_manual_timer(tlssock->outerhandle, true);
1304 tls_do_bio(tlssock, NULL, NULL, false);
1307 tlshandle = isc__nmhandle_get(tlssock, NULL, NULL);
1308 tlssock->closed = true;
1309 tls_call_connect_cb(tlssock, tlshandle, result);
1311 isc__nmsocket_detach(&tlssock);