Hallvard B Furuseth wrote:
With back-relay to back-ldif/back-null, Password Modify fails with "operation not supported within naming context". However it works with back-ldif without back-relay, and with back-relay to back-bdb.
The difference is that back-relay:relay_back_op_extended() does send_ldap_error( op, rs, LDAP_UNWILLING_TO_PERFORM, "operation not supported within naming context" ); return 1; while back-bdb:bdb_extended() does rs->sr_text = "not supported within naming context"; return LDAP_UNWILLING_TO_PERFORM; and back-ldif/back-null have no be_extended.
It works with back-relay if I change relay_back_op_extended() to do the same as back-bdb.
back-relay is wrong. exop handlers can only return a result code, the frontend sends the result to the client.