summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRich Megginson <rmeggins@redhat.com>2010-06-18 11:51:48 -0600
committerRich Megginson <rmeggins@redhat.com>2010-06-23 11:45:10 -0600
commitbeb23fe4b5cc15a692a2282b27a49deedb502eda (patch)
tree659780a02ea811dc940c6747974e8ccfde8e9622
parentee751718a4e99f49c935aef06e309886e1f5beca (diff)
downloadds-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.c3
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) {