URL:
https://github.com/SSSD/sssd/pull/5532
Title: #5532: Handle ldap_install_tls() configuration and retrial
ikerexxe commented:
"""
> > > > **Wrt 1st patch**
```
04:45:50.443947 fcntl(23, F_GETFL) = 0x2 (flags O_RDWR) <0.000009>
04:45:50.443984 fcntl(23, F_SETFL, O_RDWR|O_NONBLOCK) = 0 <0.000009>
04:45:50.444071 write(23, "\26\...", 289) = 289 <0.000032>
04:45:50.444142 read(23, 0x55c5711ef360, 7) = -1 EAGAIN (Resource temporarily
unavailable) <0.000011>
04:45:50.444190 poll([{fd=23, events=POLLIN|POLLPRI|POLLERR|POLLHUP}], 1, 12000) = ?
ERESTART_RESTARTBLOCK (Interrupted by signal) <1.771686>
```
If this is not a part of a handshake then please tell me what is it?
It's part of the handshake, but I haven't seen this behaviour again even though
I've tried it another 10 times.
But you wrote:
> I'm having doubts with the usage of LDAP_OPT_NETWORK_TIMEOUT option, as in this
case read() fails with EAGAIN instead of EINTR and ldap_install_tls() doesn't fail.
Maybe openldap handles the retry in this case but I need to take a closer look.
This is interesting. Could you please quote corresponding strace or at least point to a
specific log that exhibits this behavior?
https://bugzilla.redhat.com/attachment.cgi?id=1763588, file strace_network_timeout.out.
As I pointed out previously, SSSD already sets `LDAP_OPT_NETWORK_TIMEOUT`. Setting the
same option in different places needs an explanation.
There isn't any log but it still fails and there isn't any retry procedure. So
I'll remove the first patch completely.
"""
See the full comment at
https://github.com/SSSD/sssd/pull/5532#issuecomment-800986678