summaryrefslogtreecommitdiffstats
path: root/src/resolve/resolved-dns-stream.h
diff options
context:
space:
mode:
authorIwan Timmer <irtimmer@gmail.com>2018-07-26 21:34:16 +0200
committerIwan Timmer <irtimmer@gmail.com>2018-07-27 22:23:17 +0200
commitba6aaf572774a49ec2ece32fff492ed814d60922 (patch)
treecf92451a203fb025860c8204360e1176bab708c3 /src/resolve/resolved-dns-stream.h
parentresolved: refactor GnuTLS specific code in separate source file (diff)
downloadsystemd-ba6aaf572774a49ec2ece32fff492ed814d60922.tar.xz
systemd-ba6aaf572774a49ec2ece32fff492ed814d60922.zip
resolved: set io events after receiving EAGAIN for TLS
During handshake and TLS session closing, messages needs to be exchanged. Therefore this patch overrides the requested IO events for the TCP stream when the TLS is waiting for sending or receiving of messages during theses periods. This fixes issues with correctly closing the TLS stream and prevents the handshake from hanging in rare cases (not seen yet).
Diffstat (limited to 'src/resolve/resolved-dns-stream.h')
-rw-r--r--src/resolve/resolved-dns-stream.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/resolve/resolved-dns-stream.h b/src/resolve/resolved-dns-stream.h
index d64dc3b1d4..72db2a1a56 100644
--- a/src/resolve/resolved-dns-stream.h
+++ b/src/resolve/resolved-dns-stream.h
@@ -42,6 +42,7 @@ struct DnsStream {
#if ENABLE_DNS_OVER_TLS
DnsTlsStreamData dnstls_data;
+ int dnstls_events;
#endif
sd_event_source *io_event_source;