diff options
author | Nathan Kinder <nkinder@redhat.com> | 2009-01-15 18:24:48 +0000 |
---|---|---|
committer | Nathan Kinder <nkinder@redhat.com> | 2009-01-15 18:24:48 +0000 |
commit | bf00ddf580bfd3f9340ab7703c23d867ad5524af (patch) | |
tree | acc9a2fb22abd377bf4dba5732031fabd653b8b9 /ldap/servers/slapd/extendop.c | |
parent | 03ab7a78d9396e4583aa5fdcb70515c57512e96a (diff) | |
download | ds-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.c | 13 |
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 ); |