dbaarda / LightLdapd

Tiny LDAP server exporting NSS databases using PAM authentication.
GNU General Public License v3.0
2 stars 1 forks source link

AbandonRequest doesn't work. #6

Closed dbaarda closed 5 years ago

dbaarda commented 5 years ago

Currently connections handle requests sequentially, reading the request and then sending the response before reading the next request. This means abandonRequest cannot cancel an in-flight request, since it will not be read until the in-flight request has completed. It also means there cannot be multiple connections in-flight for a single connection.

Currently it also is not understood at all, and will result in the connection being closed.We should at least fix things so they are at least ignored.

Adding the ability to cancel in-flight requests requires changing the ldap_connection_respond() so that it can spawn multiple in-flight ldap_request instances and handle abandonRequest by cancelling the corresponding in-flight request. It's unclear if this level of functionality is worth it.