summaryrefslogtreecommitdiffstats
path: root/ldap/servers/slapd/extendop.c
diff options
context:
space:
mode:
authorNathan Kinder <nkinder@redhat.com>2009-01-15 18:24:48 +0000
committerNathan Kinder <nkinder@redhat.com>2009-01-15 18:24:48 +0000
commitbf00ddf580bfd3f9340ab7703c23d867ad5524af (patch)
treeacc9a2fb22abd377bf4dba5732031fabd653b8b9 /ldap/servers/slapd/extendop.c
parent03ab7a78d9396e4583aa5fdcb70515c57512e96a (diff)
downloadds-bf00ddf580bfd3f9340ab7703c23d867ad5524af.tar.gz
ds-bf00ddf580bfd3f9340ab7703c23d867ad5524af.tar.xz
ds-bf00ddf580bfd3f9340ab7703c23d867ad5524af.zip
Resolves: 184141
Summary: Make password modify extop work properly with the password policy control.
Diffstat (limited to 'ldap/servers/slapd/extendop.c')
-rw-r--r--ldap/servers/slapd/extendop.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/ldap/servers/slapd/extendop.c b/ldap/servers/slapd/extendop.c
index 53947c6e..ced66c34 100644
--- a/ldap/servers/slapd/extendop.c
+++ b/ldap/servers/slapd/extendop.c
@@ -311,6 +311,19 @@ do_extended( Slapi_PBlock *pb )
goto free_and_return;
}
+ /* decode the optional controls - put them in the pblock */
+ if ( (lderr = get_ldapmessage_controls( pb, pb->pb_op->o_ber, NULL )) != 0 )
+ {
+ char *dn = NULL;
+ slapi_pblock_get(pb, SLAPI_CONN_DN, &dn);
+
+ op_shared_log_error_access (pb, "EXT", dn ? dn : "", "failed to decode LDAP controls");
+ send_ldap_result( pb, lderr, NULL, NULL, 0, NULL );
+
+ slapi_ch_free_string(&dn);
+ goto free_and_return;
+ }
+
slapi_pblock_set( pb, SLAPI_EXT_OP_REQ_OID, extoid );
slapi_pblock_set( pb, SLAPI_EXT_OP_REQ_VALUE, &extval );
rc = plugin_call_exop_plugins( pb, extoid );