This commit adds isc__nmsocket_timer_running() support to the generic
TLS code in order to make it more compatible with TCP.
isc__nmhandle_tls_setwritetimeout(isc_nmhandle_t *handle,
uint64_t write_timeout);
+bool
+isc__nmsocket_tls_timer_running(isc_nmsocket_t *sock);
+
void
isc__nm_tls_failed_read_cb(isc_nmsocket_t *sock, isc_result_t result,
bool async);
isc__nmsocket_timer_running(isc_nmsocket_t *sock) {
REQUIRE(VALID_NMSOCK(sock));
+ switch (sock->type) {
+#ifdef HAVE_LIBNGHTTP2
+ case isc_nm_tlssocket:
+ return (isc__nmsocket_tls_timer_running(sock));
+#endif /* HAVE_LIBNGHTTP2 */
+ default:
+ break;
+ }
+
return (uv_is_active((uv_handle_t *)&sock->read_timer));
}
}
}
+bool
+isc__nmsocket_tls_timer_running(isc_nmsocket_t *sock) {
+ REQUIRE(VALID_NMSOCK(sock));
+ REQUIRE(sock->type == isc_nm_tlssocket);
+
+ if (sock->outerhandle != NULL) {
+ INSIST(VALID_NMHANDLE(sock->outerhandle));
+ REQUIRE(VALID_NMSOCK(sock->outerhandle->sock));
+ return (isc__nmsocket_timer_running(sock->outerhandle->sock));
+ }
+
+ return (false);
+}
+
const char *
isc__nm_tls_verify_tls_peer_result_string(const isc_nmhandle_t *handle) {
isc_nmsocket_t *sock = NULL;