[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#49449: 28: TLS connection never gets to "open" stage
From: |
Mattias Engdegård |
Subject: |
bug#49449: 28: TLS connection never gets to "open" stage |
Date: |
Sat, 10 Jul 2021 21:44:21 +0200 |
10 juli 2021 kl. 21.31 skrev Eli Zaretskii <eliz@gnu.org>:
> That's my question: why cannot the sentinel be called in this case?
> what prevents it from being called?
In the failing case, wait_reading_process_output calls gnutls_try_handshake
early on, which succeeds and this leads to finish_after_tls_connection being
called. Here, we have the condition
else if ((fd_callback_info[p->outfd].flags & NON_BLOCKING_CONNECT_FD) == 0)
which gates further progress, but this condition is false because the flags
have NON_BLOCKING_CONNECT_FD set.
In the successful case, the first call to gnutls_try_handshake from
wait_reading_process_output fails because things haven't had the time to be set
up yet. This leads to a select being called on the socket for writing (since
it's in a nonblocking connect), and when ready, the NON_BLOCKING_CONNECT_FD bit
is cleared from the flags.
This is a simplified view. The state is clearly more complex and things need to
be done in the proper order.
- bug#49449: 28: TLS connection never gets to "open" stage, (continued)
- bug#49449: 28: TLS connection never gets to "open" stage, Lars Ingebrigtsen, 2021/07/08
- bug#49449: 28: TLS connection never gets to "open" stage, Mattias Engdegård, 2021/07/08
- bug#49449: 28: TLS connection never gets to "open" stage, Lars Ingebrigtsen, 2021/07/10
- bug#49449: 28: TLS connection never gets to "open" stage, Mattias Engdegård, 2021/07/10
- bug#49449: 28: TLS connection never gets to "open" stage, Lars Ingebrigtsen, 2021/07/10
- bug#49449: 28: TLS connection never gets to "open" stage, Mattias Engdegård, 2021/07/10
- bug#49449: 28: TLS connection never gets to "open" stage, Mattias Engdegård, 2021/07/10
- bug#49449: 28: TLS connection never gets to "open" stage, Eli Zaretskii, 2021/07/10
- bug#49449: 28: TLS connection never gets to "open" stage, Mattias Engdegård, 2021/07/10
- bug#49449: 28: TLS connection never gets to "open" stage, Eli Zaretskii, 2021/07/10
- bug#49449: 28: TLS connection never gets to "open" stage,
Mattias Engdegård <=
- bug#49449: 28: TLS connection never gets to "open" stage, Eli Zaretskii, 2021/07/11
- bug#49449: 28: TLS connection never gets to "open" stage, Mattias Engdegård, 2021/07/11
- bug#49449: 28: TLS connection never gets to "open" stage, Eli Zaretskii, 2021/07/11
- bug#49449: 28: TLS connection never gets to "open" stage, Mattias Engdegård, 2021/07/11
- bug#49449: 28: TLS connection never gets to "open" stage, Eli Zaretskii, 2021/07/11
- bug#49449: 28: TLS connection never gets to "open" stage, Mattias Engdegård, 2021/07/12
- bug#49449: 28: TLS connection never gets to "open" stage, Lars Ingebrigtsen, 2021/07/12
- bug#49449: 28: TLS connection never gets to "open" stage, Mattias Engdegård, 2021/07/13
- bug#49449: 28: TLS connection never gets to "open" stage, Mattias Engdegård, 2021/07/10
- bug#49449: 28: TLS connection never gets to "open" stage, Lars Ingebrigtsen, 2021/07/11