diff options
author | Rich Megginson <rmeggins@redhat.com> | 2010-06-18 11:51:48 -0600 |
---|---|---|
committer | Rich Megginson <rmeggins@redhat.com> | 2010-06-23 11:45:10 -0600 |
commit | beb23fe4b5cc15a692a2282b27a49deedb502eda (patch) | |
tree | 659780a02ea811dc940c6747974e8ccfde8e9622 | |
parent | ee751718a4e99f49c935aef06e309886e1f5beca (diff) | |
download | ds-beb23fe4b5cc15a692a2282b27a49deedb502eda.tar.gz ds-beb23fe4b5cc15a692a2282b27a49deedb502eda.tar.xz ds-beb23fe4b5cc15a692a2282b27a49deedb502eda.zip |
Bug 604453 - SASL Stress and Server crash: Program quits with the assertion failure in PR_Poll
https://bugzilla.redhat.com/show_bug.cgi?id=604453
Resolves: bug 604453
Description: SASL Stress and Server crash: Program quits with the assertion failure in PR_Poll
Branch: master
Reviewed by: nhosoi (Thanks!)
Fix Description: We usually do not have to pop the IO layer from the SASL
connection. This is usually handled by PR_Close() on the PRFD, which should
only happen when the connection is not being referenced by the main PR_Poll()
call. The only time we need to explicitly pop the SASL IO layer is if the
client re-negotiates the SASL bind with a different ssf e.g. going from
clear to protected or vice versa.
Platforms tested: RHEL5 x86_64
(cherry picked from commit ac6ce0947d9b2d5ec3649948bca861f0e318d708)
-rw-r--r-- | ldap/servers/slapd/connection.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/ldap/servers/slapd/connection.c b/ldap/servers/slapd/connection.c index bab33453..85aef8e0 100644 --- a/ldap/servers/slapd/connection.c +++ b/ldap/servers/slapd/connection.c @@ -197,8 +197,7 @@ connection_cleanup(Connection *conn) conn->c_extension= NULL; conn->c_ssl_ssf = 0; conn->c_unix_local = 0; - /* remove any SASL I/O from the connection */ - sasl_io_cleanup(conn); + /* destroy any sasl context */ sasl_dispose((sasl_conn_t**)&conn->c_sasl_conn); /* PAGED_RESULTS */ if (conn->c_search_result_set) { |