ldap/servers/slapd/back-ldbm/misc.c | 2 +-
ldap/servers/slapd/result.c | 4 +++-
2 files changed, 4 insertions(+), 2 deletions(-)
New commits:
commit 9b38ac3b5d27014c072cffb5a83e5888689c411b
Author: Rich Megginson <rmeggins(a)redhat.com>
Date: Mon Jan 25 18:05:38 2010 -0700
Clean up assert for entrydn
Use entryrdn instead
diff --git a/ldap/servers/slapd/back-ldbm/misc.c b/ldap/servers/slapd/back-ldbm/misc.c
index 137c934..802370b 100644
--- a/ldap/servers/slapd/back-ldbm/misc.c
+++ b/ldap/servers/slapd/back-ldbm/misc.c
@@ -155,7 +155,7 @@ compute_entry_tombstone_rdn(const char *entryrdn, const char
*uniqueid)
{
char *tombstone_rdn;
- PR_ASSERT(NULL != entrydn);
+ PR_ASSERT(NULL != entryrdn);
PR_ASSERT(NULL != uniqueid);
tombstone_rdn = slapi_ch_smprintf("%s=%s, %s",
commit 485cecd849dcaaee4677d832dbd171b091fe1dee
Author: Rich Megginson <rmeggins(a)redhat.com>
Date: Mon Jan 25 17:30:23 2010 -0700
Net::LDAP password modify extop breaks; msgid in response is 0xFF
https://bugzilla.redhat.com/show_bug.cgi?id=554887
Resolves: bug 554887
Bug Description: Net::LDAP password modify extop breaks; msgid in response is 0xFF
Reviewed by: ???
Branch: HEAD
Fix Description: We use a fake conn for the internal password modify operation
so that we can use the real credentials. Unfortunately, this messes up the
result code - because there is a real, non-NULL conn, it thinks it needs to
send the result back to a real client rather than handle it as an internal
operation. It looks as though o_result_handler is only used for internal
operations. The fix is to change the result handling code to check for
an internal op OR conn == NULL to see if we should use the result handler
instead.
Platforms tested: RHEL5 x86_64
Flag Day: no
Doc impact: no
diff --git a/ldap/servers/slapd/result.c b/ldap/servers/slapd/result.c
index b085965..7c872aa 100644
--- a/ldap/servers/slapd/result.c
+++ b/ldap/servers/slapd/result.c
@@ -291,6 +291,7 @@ send_ldap_result_ext(
int flush_ber_element = 1;
Slapi_Operation *operation;
char *dn;
+ int internal_op;
passwdPolicy *pwpolicy = NULL;
slapi_pblock_get (pb, SLAPI_OPERATION, &operation);
@@ -354,7 +355,8 @@ send_ldap_result_ext(
break;
}
- if ( conn == NULL ) {
+ internal_op = operation_is_flag_set( operation, OP_FLAG_INTERNAL );
+ if ( ( conn == NULL ) || ( internal_op ) ) {
if ( operation->o_result_handler != NULL ) {
operation->o_result_handler( conn, operation, err,
matched, text, nentries, urls );