https://bugzilla.redhat.com/show_bug.cgi?id=760687
Description of problem: I created a referral in DS, but had a typo. I attempted to modify the referral (which requires the use of the manageDsaIT control to edit the referral entry itself, rather than returning a referral message to the target). 389 did not allow me to edit the entry, instead returning a referral message. Version-Release number of selected component (if applicable): 389-ds-base-1.2.9.13-1.el6.x86_64 How reproducible: Every time Steps to Reproduce: 1. Create a referral object such as: dn: uid=keitaro,cn=users,cn=accounts,dc=referrals,dc=sgallagh,dc=bos,dc=redhat ,dc=com objectClass: top objectClass: extensibleObject uid: keitaro ref: ldap://ipaserver:389/uid=kurashima,cn=users,cn=accounts,dc=referrals,dc=s gallagh,dc=bos,dc=redhat,dc=com??base? 2. Attempt to modify this referral with an LDIF like: dn: uid=keitaro,cn=users,cn=accounts,dc=referrals,dc=sgallagh,dc=bos,dc=redhat, dc=com changetype: modify replace: ref ref: ldap://ipaserver.referrals.sgallagh.bos.redhat.com:389/uid=kurashima,cn=us ers,cn=accounts,dc=referrals,dc=sgallagh,dc=bos,dc=redhat,dc=com??base? Actual results: ldapmodify returns: modifying entry "uid=keitaro,cn=users,cn=accounts,dc=referrals,dc=sgallagh,dc=b os,dc=redhat,dc=com" ldap_modify: Referral (10) Expected results: The entry should be updated. Additional info: TRACE logs from /var/dirsrv/<slapd>/errors: [06/Dec/2011:13:53:45 -0500] - => ids_sasl_server_new (ipaserver.referrals.sgallagh.bos.redhat.com) [06/Dec/2011:13:53:45 -0500] - ids_sasl_getopt: plugin= option=log_level [06/Dec/2011:13:53:45 -0500] - ids_sasl_getopt: plugin= option=auto_transition [06/Dec/2011:13:53:45 -0500] - <= ids_sasl_server_new [06/Dec/2011:13:53:45 -0500] - => slapi_reslimit_get_integer_limit() conn=0x24e0c950, handle=7 [06/Dec/2011:13:53:45 -0500] - <= slapi_reslimit_get_integer_limit() returning NO VALUE [06/Dec/2011:13:53:45 -0500] - => slapi_control_present (looking for 2.16.840.1.113730.3.4.12) [06/Dec/2011:13:53:45 -0500] - <= slapi_control_present 0 (NO CONTROLS) [06/Dec/2011:13:53:45 -0500] - => slapi_control_present (looking for 2.16.840.1.113730.3.4.18) [06/Dec/2011:13:53:45 -0500] - <= slapi_control_present 0 (NO CONTROLS) [06/Dec/2011:13:53:45 -0500] - => slapi_reslimit_get_integer_limit() conn=0x0, handle=5 [06/Dec/2011:13:53:45 -0500] - <= slapi_reslimit_get_integer_limit() returning NO VALUE [06/Dec/2011:13:53:45 -0500] - => slapi_reslimit_get_integer_limit() conn=0x0, handle=4 [06/Dec/2011:13:53:45 -0500] - <= slapi_reslimit_get_integer_limit() returning NO VALUE [06/Dec/2011:13:53:45 -0500] - => compute_limits: sizelimit=-1, timelimit=-1 [06/Dec/2011:13:53:45 -0500] - Calling plugin 'ACL preoperation' #1 type 403 [06/Dec/2011:13:53:45 -0500] - Calling plugin 'deref' #3 type 403 [06/Dec/2011:13:53:45 -0500] deref-plugin - --> deref_pre_search [06/Dec/2011:13:53:45 -0500] deref-plugin - <-- deref_pre_op [06/Dec/2011:13:53:45 -0500] - Calling plugin 'Legacy replication preoperation plugin' #13 type 403 [06/Dec/2011:13:53:45 -0500] - Calling plugin 'Multimaster replication preoperation plugin' #16 type 403 [06/Dec/2011:13:53:45 -0500] - Calling plugin 'schema-compat-plugin-preop' #18 type 403 [06/Dec/2011:13:53:45 -0500] - defbackend_default [06/Dec/2011:13:53:46 -0500] - => send_ldap_result 32:: [06/Dec/2011:13:53:46 -0500] - <= send_ldap_result [06/Dec/2011:13:53:46 -0500] - => reslimit_update_from_entry() conn=0x24e0c950, entry=0x0 [06/Dec/2011:13:53:46 -0500] - reslimit_update_from_entry(): setting limit for handle 0 (based on nsLookThroughLimit) [06/Dec/2011:13:53:46 -0500] - reslimit_update_from_entry(): setting limit for handle 1 (based on nsIDListScanLimit) [06/Dec/2011:13:53:46 -0500] - reslimit_update_from_entry(): setting limit for handle 2 (based on nsPagedLookThroughLimit) [06/Dec/2011:13:53:46 -0500] - reslimit_update_from_entry(): setting limit for handle 3 (based on nsPagedIDListScanLimit) [06/Dec/2011:13:53:46 -0500] - reslimit_update_from_entry(): setting limit for handle 4 (based on nsSizeLimit) [06/Dec/2011:13:53:46 -0500] - reslimit_update_from_entry(): setting limit for handle 5 (based on nsTimeLimit) [06/Dec/2011:13:53:46 -0500] - reslimit_update_from_entry(): setting limit for handle 6 (based on nsPagedSizeLimit) [06/Dec/2011:13:53:46 -0500] - reslimit_update_from_entry(): setting limit for handle 7 (based on nsIdleTimeout) [06/Dec/2011:13:53:46 -0500] - <= reslimit_update_from_entry() returning status 0 [06/Dec/2011:13:53:46 -0500] - => slapi_reslimit_get_integer_limit() conn=0x24e0c950, handle=7 [06/Dec/2011:13:53:46 -0500] - <= slapi_reslimit_get_integer_limit() returning NO VALUE [06/Dec/2011:13:53:46 -0500] - => slapi_reslimit_get_integer_limit() conn=0x24e0c560, handle=7 [06/Dec/2011:13:53:46 -0500] - <= slapi_reslimit_get_integer_limit() returning NO VALUE [06/Dec/2011:13:53:46 -0500] - => slapi_control_present (looking for 2.16.840.1.113730.3.4.12) [06/Dec/2011:13:53:46 -0500] - <= slapi_control_present 0 (NO CONTROLS) [06/Dec/2011:13:53:46 -0500] - => slapi_control_present (looking for 2.16.840.1.113730.3.4.18) [06/Dec/2011:13:53:46 -0500] - <= slapi_control_present 0 (NO CONTROLS) [06/Dec/2011:13:53:46 -0500] - => slapi_reslimit_get_integer_limit() conn=0x0, handle=5 [06/Dec/2011:13:53:46 -0500] - <= slapi_reslimit_get_integer_limit() returning NO VALUE [06/Dec/2011:13:53:46 -0500] - => slapi_reslimit_get_integer_limit() conn=0x0, handle=4 [06/Dec/2011:13:53:46 -0500] - <= slapi_reslimit_get_integer_limit() returning NO VALUE [06/Dec/2011:13:53:46 -0500] - => compute_limits: sizelimit=-1, timelimit=-1 [06/Dec/2011:13:53:46 -0500] - Calling plugin 'ACL preoperation' #1 type 403 [06/Dec/2011:13:53:46 -0500] - Calling plugin 'deref' #3 type 403 [06/Dec/2011:13:53:46 -0500] deref-plugin - --> deref_pre_search [06/Dec/2011:13:53:46 -0500] deref-plugin - <-- deref_pre_op [06/Dec/2011:13:53:46 -0500] - Calling plugin 'Legacy replication preoperation plugin' #13 type 403 [06/Dec/2011:13:53:46 -0500] - Calling plugin 'Multimaster replication preoperation plugin' #16 type 403 [06/Dec/2011:13:53:46 -0500] - Calling plugin 'schema-compat-plugin-preop' #18 type 403 [06/Dec/2011:13:53:46 -0500] - defbackend_default [06/Dec/2011:13:53:46 -0500] - => send_ldap_result 32:: [06/Dec/2011:13:53:46 -0500] - <= send_ldap_result [06/Dec/2011:13:53:46 -0500] - => reslimit_update_from_entry() conn=0x24e0c560, entry=0x0 [06/Dec/2011:13:53:46 -0500] - reslimit_update_from_entry(): setting limit for handle 0 (based on nsLookThroughLimit) [06/Dec/2011:13:53:46 -0500] - reslimit_update_from_entry(): setting limit for handle 1 (based on nsIDListScanLimit) [06/Dec/2011:13:53:46 -0500] - reslimit_update_from_entry(): setting limit for handle 2 (based on nsPagedLookThroughLimit) [06/Dec/2011:13:53:46 -0500] - reslimit_update_from_entry(): setting limit for handle 3 (based on nsPagedIDListScanLimit) [06/Dec/2011:13:53:46 -0500] - reslimit_update_from_entry(): setting limit for handle 4 (based on nsSizeLimit) [06/Dec/2011:13:53:46 -0500] - reslimit_update_from_entry(): setting limit for handle 5 (based on nsTimeLimit) [06/Dec/2011:13:53:46 -0500] - reslimit_update_from_entry(): setting limit for handle 6 (based on nsPagedSizeLimit) [06/Dec/2011:13:53:46 -0500] - reslimit_update_from_entry(): setting limit for handle 7 (based on nsIdleTimeout) [06/Dec/2011:13:53:46 -0500] - <= reslimit_update_from_entry() returning status 0 [06/Dec/2011:13:53:46 -0500] - => slapi_reslimit_get_integer_limit() conn=0x24e0c560, handle=7 [06/Dec/2011:13:53:46 -0500] - <= slapi_reslimit_get_integer_limit() returning NO VALUE [06/Dec/2011:13:53:46 -0500] - => slapi_reslimit_get_integer_limit() conn=0x24e0c800, handle=7 [06/Dec/2011:13:53:46 -0500] - <= slapi_reslimit_get_integer_limit() returning SUCCESS, value=0 [06/Dec/2011:13:53:46 -0500] - => slapi_reslimit_get_integer_limit() conn=0x24e0c6b0, handle=7 [06/Dec/2011:13:53:46 -0500] - <= slapi_reslimit_get_integer_limit() returning NO VALUE [06/Dec/2011:13:53:46 -0500] - => slapi_reslimit_get_integer_limit() conn=0x24e0c410, handle=7 [06/Dec/2011:13:53:46 -0500] - <= slapi_reslimit_get_integer_limit() returning NO VALUE [06/Dec/2011:13:53:46 -0500] - add_pb [06/Dec/2011:13:53:46 -0500] - get_pb [06/Dec/2011:13:53:46 -0500] - do_bind [06/Dec/2011:13:53:46 -0500] - BIND dn="cn=Directory Manager" method=128 version=3 [06/Dec/2011:13:53:46 -0500] - => get_ldapmessage_controls [06/Dec/2011:13:53:46 -0500] - <= get_ldapmessage_controls no controls [06/Dec/2011:13:53:46 -0500] - => slapi_control_present (looking for 2.16.840.1.113730.3.4.16) [06/Dec/2011:13:53:46 -0500] - <= slapi_control_present 0 (NO CONTROLS) [06/Dec/2011:13:53:46 -0500] - do_bind: version 3 method 0x80 dn cn=Directory Manager [06/Dec/2011:13:53:46 -0500] - => slapi_pw_find value: "redhatredhat" [06/Dec/2011:13:53:46 -0500] - <= slapi_pw_find matched "LNtlbynj2F5pZmSjY8QiGWZG8hNCHo+Rfzx7vA==" using scheme "SSHA" [06/Dec/2011:13:53:46 -0500] - => send_ldap_result 0:: [06/Dec/2011:13:53:46 -0500] - <= send_ldap_result [06/Dec/2011:13:53:46 -0500] - => slapi_reslimit_get_integer_limit() conn=0x24e0c560, handle=7 [06/Dec/2011:13:53:46 -0500] - <= slapi_reslimit_get_integer_limit() returning NO VALUE [06/Dec/2011:13:53:46 -0500] - => slapi_control_present (looking for 2.16.840.1.113730.3.4.12) [06/Dec/2011:13:53:46 -0500] - <= slapi_control_present 0 (NO CONTROLS) [06/Dec/2011:13:53:46 -0500] - => slapi_control_present (looking for 2.16.840.1.113730.3.4.18) [06/Dec/2011:13:53:46 -0500] - <= slapi_control_present 0 (NO CONTROLS) [06/Dec/2011:13:53:46 -0500] - => slapi_reslimit_get_integer_limit() conn=0x0, handle=5 [06/Dec/2011:13:53:46 -0500] - <= slapi_reslimit_get_integer_limit() returning NO VALUE [06/Dec/2011:13:53:46 -0500] - => slapi_reslimit_get_integer_limit() conn=0x0, handle=4 [06/Dec/2011:13:53:46 -0500] - <= slapi_reslimit_get_integer_limit() returning NO VALUE [06/Dec/2011:13:53:46 -0500] - => compute_limits: sizelimit=-1, timelimit=-1 [06/Dec/2011:13:53:46 -0500] - Calling plugin 'ACL preoperation' #1 type 403 [06/Dec/2011:13:53:46 -0500] - Calling plugin 'deref' #3 type 403 [06/Dec/2011:13:53:46 -0500] deref-plugin - --> deref_pre_search [06/Dec/2011:13:53:46 -0500] deref-plugin - <-- deref_pre_op [06/Dec/2011:13:53:46 -0500] - Calling plugin 'Legacy replication preoperation plugin' #13 type 403 [06/Dec/2011:13:53:46 -0500] - Calling plugin 'Multimaster replication preoperation plugin' #16 type 403 [06/Dec/2011:13:53:46 -0500] - Calling plugin 'schema-compat-plugin-preop' #18 type 403 [06/Dec/2011:13:53:46 -0500] - defbackend_default [06/Dec/2011:13:53:46 -0500] - => send_ldap_result 32:: [06/Dec/2011:13:53:46 -0500] - <= send_ldap_result [06/Dec/2011:13:53:46 -0500] - => reslimit_update_from_entry() conn=0x24e0c560, entry=0x0 [06/Dec/2011:13:53:46 -0500] - reslimit_update_from_entry(): setting limit for handle 0 (based on nsLookThroughLimit) [06/Dec/2011:13:53:46 -0500] - reslimit_update_from_entry(): setting limit for handle 1 (based on nsIDListScanLimit) [06/Dec/2011:13:53:46 -0500] - reslimit_update_from_entry(): setting limit for handle 2 (based on nsPagedLookThroughLimit) [06/Dec/2011:13:53:46 -0500] - reslimit_update_from_entry(): setting limit for handle 3 (based on nsPagedIDListScanLimit) [06/Dec/2011:13:53:46 -0500] - reslimit_update_from_entry(): setting limit for handle 4 (based on nsSizeLimit) [06/Dec/2011:13:53:46 -0500] - reslimit_update_from_entry(): setting limit for handle 5 (based on nsTimeLimit) [06/Dec/2011:13:53:46 -0500] - reslimit_update_from_entry(): setting limit for handle 6 (based on nsPagedSizeLimit) [06/Dec/2011:13:53:46 -0500] - reslimit_update_from_entry(): setting limit for handle 7 (based on nsIdleTimeout) [06/Dec/2011:13:53:46 -0500] - <= reslimit_update_from_entry() returning status 0 [06/Dec/2011:13:53:46 -0500] - => slapi_reslimit_get_integer_limit() conn=0x24e0c560, handle=7 [06/Dec/2011:13:53:46 -0500] - <= slapi_reslimit_get_integer_limit() returning NO VALUE [06/Dec/2011:13:53:46 -0500] - => slapi_reslimit_get_integer_limit() conn=0x24e0c800, handle=7 [06/Dec/2011:13:53:46 -0500] - <= slapi_reslimit_get_integer_limit() returning SUCCESS, value=0 [06/Dec/2011:13:53:46 -0500] - => slapi_reslimit_get_integer_limit() conn=0x24e0c6b0, handle=7 [06/Dec/2011:13:53:46 -0500] - <= slapi_reslimit_get_integer_limit() returning NO VALUE [06/Dec/2011:13:53:46 -0500] - => slapi_reslimit_get_integer_limit() conn=0x24e0c410, handle=7 [06/Dec/2011:13:53:46 -0500] - <= slapi_reslimit_get_integer_limit() returning NO VALUE [06/Dec/2011:13:53:46 -0500] - add_pb [06/Dec/2011:13:53:46 -0500] - get_pb [06/Dec/2011:13:53:46 -0500] - do_modify [06/Dec/2011:13:53:46 -0500] - => get_ldapmessage_controls [06/Dec/2011:13:53:46 -0500] - => slapi_control_present (looking for 2.16.840.1.113730.3.4.2) [06/Dec/2011:13:53:46 -0500] - <= slapi_control_present 1 (FOUND) [06/Dec/2011:13:53:46 -0500] - => slapi_control_present (looking for 1.3.6.1.4.1.42.2.27.8.5.1) [06/Dec/2011:13:53:46 -0500] - <= slapi_control_present 0 (NOT FOUND) [06/Dec/2011:13:53:46 -0500] - <= get_ldapmessage_controls 1 controls [06/Dec/2011:13:53:46 -0500] - => slapi_control_present (looking for 2.16.840.1.113730.3.4.12) [06/Dec/2011:13:53:46 -0500] - <= slapi_control_present 0 (NOT FOUND) [06/Dec/2011:13:53:46 -0500] - => slapi_control_present (looking for 2.16.840.1.113730.3.4.18) [06/Dec/2011:13:53:46 -0500] - <= slapi_control_present 0 (NOT FOUND) [06/Dec/2011:13:53:46 -0500] - => slapi_control_present (looking for 2.16.840.1.113730.3.4.12) [06/Dec/2011:13:53:46 -0500] - <= slapi_control_present 0 (NO CONTROLS) [06/Dec/2011:13:53:46 -0500] - => slapi_control_present (looking for 2.16.840.1.113730.3.4.18) [06/Dec/2011:13:53:46 -0500] - <= slapi_control_present 0 (NO CONTROLS) [06/Dec/2011:13:53:46 -0500] - => slapi_reslimit_get_integer_limit() conn=0x0, handle=5 [06/Dec/2011:13:53:46 -0500] - <= slapi_reslimit_get_integer_limit() returning NO VALUE [06/Dec/2011:13:53:46 -0500] - => slapi_reslimit_get_integer_limit() conn=0x0, handle=4 [06/Dec/2011:13:53:46 -0500] - <= slapi_reslimit_get_integer_limit() returning NO VALUE [06/Dec/2011:13:53:46 -0500] - => compute_limits: sizelimit=-1, timelimit=-1 [06/Dec/2011:13:53:46 -0500] - Calling plugin 'ACL preoperation' #1 type 403 [06/Dec/2011:13:53:46 -0500] - Calling plugin 'deref' #3 type 403 [06/Dec/2011:13:53:46 -0500] deref-plugin - --> deref_pre_search [06/Dec/2011:13:53:46 -0500] deref-plugin - <-- deref_pre_op [06/Dec/2011:13:53:46 -0500] - Calling plugin 'Legacy replication preoperation plugin' #13 type 403 [06/Dec/2011:13:53:46 -0500] - Calling plugin 'Multimaster replication preoperation plugin' #16 type 403 [06/Dec/2011:13:53:46 -0500] - Calling plugin 'schema-compat-plugin-preop' #18 type 403 [06/Dec/2011:13:53:46 -0500] - => slapi_reslimit_get_integer_limit() conn=0x0, handle=0 [06/Dec/2011:13:53:46 -0500] - <= slapi_reslimit_get_integer_limit() returning NO VALUE [06/Dec/2011:13:53:46 -0500] - => find_entry_internal (dn=uid=keitaro,cn=users, cn=accounts,dc=referrals,dc=sgallagh,dc=bos,dc=redhat,dc=com) lock 0 [06/Dec/2011:13:53:46 -0500] - => dn2entry "uid=keitaro,cn=users,cn=accounts,dc =referrals,dc=sgallagh,dc=bos,dc=redhat,dc=com" [06/Dec/2011:13:53:46 -0500] - <= dn2entry 7faff4007aa0 [06/Dec/2011:13:53:46 -0500] - => send_ldap_result 10:: [06/Dec/2011:13:53:46 -0500] - <= send_ldap_result [06/Dec/2011:13:53:46 -0500] - <= find_entry_internal_dn sent referral to (ldap ://ipaserver:389/uid=kurashima,cn=users,cn=accounts,dc=referrals,dc=sgallagh,dc =bos,dc=redhat,dc=com??base?) for (uid=keitaro,cn=users,cn=accounts,dc=referral s,dc=sgallagh,dc=bos,dc=redhat,dc=com) [06/Dec/2011:13:53:46 -0500] - WARNING: 'get_entry' can't find entry 'uid=keita ro,cn=users,cn=accounts,dc=referrals,dc=sgallagh,dc=bos,dc=redhat,dc=com', err 10 [06/Dec/2011:13:53:46 -0500] - modify_update_last_modified_attr [06/Dec/2011:13:53:46 -0500] - Calling plugin '7-bit check' #0 type 405 [06/Dec/2011:13:53:46 -0500] - Calling plugin 'ACL preoperation' #1 type 405 [06/Dec/2011:13:53:46 -0500] - => slapi_control_present (looking for 2.16.840.1.113730.3.4.12) [06/Dec/2011:13:53:46 -0500] - <= slapi_control_present 0 (NOT FOUND) [06/Dec/2011:13:53:46 -0500] - => slapi_control_present (looking for 2.16.840.1.113730.3.4.18) [06/Dec/2011:13:53:46 -0500] - <= slapi_control_present 0 (NOT FOUND) [06/Dec/2011:13:53:46 -0500] - Calling plugin 'Auto Membership Plugin' #2 type 405 [06/Dec/2011:13:53:46 -0500] auto-membership-plugin - --> automember_pre_op [06/Dec/2011:13:53:46 -0500] auto-membership-plugin - --> automember_get_dn [06/Dec/2011:13:53:46 -0500] auto-membership-plugin - <-- automember_get_dn [06/Dec/2011:13:53:46 -0500] auto-membership-plugin - --> automember_dn_is_config [06/Dec/2011:13:53:46 -0500] auto-membership-plugin - <-- automember_dn_is_config [06/Dec/2011:13:53:46 -0500] auto-membership-plugin - <-- automember_pre_op [06/Dec/2011:13:53:46 -0500] - Calling plugin 'Distributed Numeric Assignment Plugin' #4 type 405 [06/Dec/2011:13:53:46 -0500] dna-plugin - --> dna_pre_op [06/Dec/2011:13:53:46 -0500] dna-plugin - --> dna_get_dn [06/Dec/2011:13:53:46 -0500] dna-plugin - <-- dna_get_dn [06/Dec/2011:13:53:46 -0500] - => slapi_control_present (looking for 2.16.840.1.113730.3.4.12) [06/Dec/2011:13:53:46 -0500] - <= slapi_control_present 0 (NO CONTROLS) [06/Dec/2011:13:53:46 -0500] - => slapi_control_present (looking for 2.16.840.1.113730.3.4.18) [06/Dec/2011:13:53:46 -0500] - <= slapi_control_present 0 (NO CONTROLS) [06/Dec/2011:13:53:46 -0500] - => slapi_reslimit_get_integer_limit() conn=0x0, handle=5 [06/Dec/2011:13:53:46 -0500] - <= slapi_reslimit_get_integer_limit() returning NO VALUE [06/Dec/2011:13:53:46 -0500] - => slapi_reslimit_get_integer_limit() conn=0x0, handle=4 [06/Dec/2011:13:53:46 -0500] - <= slapi_reslimit_get_integer_limit() returning NO VALUE [06/Dec/2011:13:53:46 -0500] - => compute_limits: sizelimit=-1, timelimit=-1 [06/Dec/2011:13:53:46 -0500] - Calling plugin 'ACL preoperation' #1 type 403 [06/Dec/2011:13:53:46 -0500] - Calling plugin 'deref' #3 type 403 [06/Dec/2011:13:53:46 -0500] deref-plugin - --> deref_pre_search [06/Dec/2011:13:53:46 -0500] deref-plugin - <-- deref_pre_op [06/Dec/2011:13:53:46 -0500] - Calling plugin 'Legacy replication preoperation plugin' #13 type 403 [06/Dec/2011:13:53:46 -0500] - Calling plugin 'Multimaster replication preoperation plugin' #16 type 403 [06/Dec/2011:13:53:46 -0500] - Calling plugin 'schema-compat-plugin-preop' #18 type 403 [06/Dec/2011:13:53:46 -0500] - => slapi_reslimit_get_integer_limit() conn=0x0, handle=0 [06/Dec/2011:13:53:46 -0500] - <= slapi_reslimit_get_integer_limit() returning NO VALUE [06/Dec/2011:13:53:46 -0500] - => find_entry_internal (dn=uid=keitaro,cn=users, cn=accounts,dc=referrals,dc=sgallagh,dc=bos,dc=redhat,dc=com) lock 0 [06/Dec/2011:13:53:46 -0500] - => dn2entry "uid=keitaro,cn=users,cn=accounts,dc =referrals,dc=sgallagh,dc=bos,dc=redhat,dc=com" [06/Dec/2011:13:53:46 -0500] - <= dn2entry 7faff4007aa0 [06/Dec/2011:13:53:46 -0500] - => send_ldap_result 10:: [06/Dec/2011:13:53:46 -0500] - <= send_ldap_result [06/Dec/2011:13:53:46 -0500] - <= find_entry_internal_dn sent referral to (ldap ://ipaserver:389/uid=kurashima,cn=users,cn=accounts,dc=referrals,dc=sgallagh,dc =bos,dc=redhat,dc=com??base?) for (uid=keitaro,cn=users,cn=accounts,dc=referral s,dc=sgallagh,dc=bos,dc=redhat,dc=com) [06/Dec/2011:13:53:46 -0500] dna-plugin - <-- dna_pre_op [06/Dec/2011:13:53:46 -0500] - Calling plugin 'IPA UUID' #7 type 405 [06/Dec/2011:13:53:46 -0500] ipauuid_pre_op - --in--> [06/Dec/2011:13:53:46 -0500] ipauuid_get_dn - --in--> [06/Dec/2011:13:53:46 -0500] ipauuid_get_dn - <--out-- [06/Dec/2011:13:53:46 -0500] ipauuid_dn_is_config - --in--> [06/Dec/2011:13:53:46 -0500] ipauuid_dn_is_config - <--out-- [06/Dec/2011:13:53:46 -0500] - => slapi_control_present (looking for 2.16.840.1.113730.3.4.12) [06/Dec/2011:13:53:46 -0500] - <= slapi_control_present 0 (NO CONTROLS) [06/Dec/2011:13:53:46 -0500] - => slapi_control_present (looking for 2.16.840.1.113730.3.4.18) [06/Dec/2011:13:53:46 -0500] - <= slapi_control_present 0 (NO CONTROLS) [06/Dec/2011:13:53:46 -0500] - => slapi_reslimit_get_integer_limit() conn=0x0, handle=5 [06/Dec/2011:13:53:46 -0500] - <= slapi_reslimit_get_integer_limit() returning NO VALUE [06/Dec/2011:13:53:46 -0500] - => slapi_reslimit_get_integer_limit() conn=0x0, handle=4 [06/Dec/2011:13:53:46 -0500] - <= slapi_reslimit_get_integer_limit() returning NO VALUE [06/Dec/2011:13:53:46 -0500] - => compute_limits: sizelimit=-1, timelimit=-1 [06/Dec/2011:13:53:46 -0500] - Calling plugin 'ACL preoperation' #1 type 403 [06/Dec/2011:13:53:46 -0500] - Calling plugin 'deref' #3 type 403 [06/Dec/2011:13:53:46 -0500] deref-plugin - --> deref_pre_search [06/Dec/2011:13:53:46 -0500] deref-plugin - <-- deref_pre_op [06/Dec/2011:13:53:46 -0500] - Calling plugin 'Legacy replication preoperation plugin' #13 type 403 [06/Dec/2011:13:53:46 -0500] - Calling plugin 'Multimaster replication preoperation plugin' #16 type 403 [06/Dec/2011:13:53:46 -0500] - Calling plugin 'schema-compat-plugin-preop' #18 type 403 [06/Dec/2011:13:53:46 -0500] - => slapi_reslimit_get_integer_limit() conn=0x0, handle=0 [06/Dec/2011:13:53:46 -0500] - <= slapi_reslimit_get_integer_limit() returning NO VALUE [06/Dec/2011:13:53:46 -0500] - => find_entry_internal (dn=uid=keitaro,cn=users, cn=accounts,dc=referrals,dc=sgallagh,dc=bos,dc=redhat,dc=com) lock 0 [06/Dec/2011:13:53:46 -0500] - => dn2entry "uid=keitaro,cn=users,cn=accounts,dc =referrals,dc=sgallagh,dc=bos,dc=redhat,dc=com" [06/Dec/2011:13:53:46 -0500] - <= dn2entry 7faff4007aa0 [06/Dec/2011:13:53:46 -0500] - => send_ldap_result 10:: [06/Dec/2011:13:53:46 -0500] - <= send_ldap_result [06/Dec/2011:13:53:46 -0500] - <= find_entry_internal_dn sent referral to (ldap ://ipaserver:389/uid=kurashima,cn=users,cn=accounts,dc=referrals,dc=sgallagh,dc =bos,dc=redhat,dc=com??base?) for (uid=keitaro,cn=users,cn=accounts,dc=referral s,dc=sgallagh,dc=bos,dc=redhat,dc=com) [06/Dec/2011:13:53:46 -0500] - => send_ldap_result 10:: [06/Dec/2011:13:53:46 -0500] - <= send_ldap_result [06/Dec/2011:13:53:46 -0500] ipauuid_pre_op - <--out-- [06/Dec/2011:13:53:46 -0500] - => slapi_reslimit_get_integer_limit() conn=0x24e0c560, handle=7 [06/Dec/2011:13:53:46 -0500] - <= slapi_reslimit_get_integer_limit() returning NO VALUE [06/Dec/2011:13:53:46 -0500] - => slapi_control_present (looking for 2.16.840.1.113730.3.4.12) [06/Dec/2011:13:53:46 -0500] - <= slapi_control_present 0 (NO CONTROLS) [06/Dec/2011:13:53:46 -0500] - => slapi_control_present (looking for 2.16.840.1.113730.3.4.18) [06/Dec/2011:13:53:46 -0500] - <= slapi_control_present 0 (NO CONTROLS) [06/Dec/2011:13:53:46 -0500] - => slapi_reslimit_get_integer_limit() conn=0x0, handle=5 [06/Dec/2011:13:53:46 -0500] - <= slapi_reslimit_get_integer_limit() returning NO VALUE [06/Dec/2011:13:53:46 -0500] - => slapi_reslimit_get_integer_limit() conn=0x0, handle=4 [06/Dec/2011:13:53:46 -0500] - <= slapi_reslimit_get_integer_limit() returning NO VALUE [06/Dec/2011:13:53:46 -0500] - => compute_limits: sizelimit=-1, timelimit=-1 [06/Dec/2011:13:53:46 -0500] - Calling plugin 'ACL preoperation' #1 type 403 [06/Dec/2011:13:53:46 -0500] - Calling plugin 'deref' #3 type 403 [06/Dec/2011:13:53:46 -0500] deref-plugin - --> deref_pre_search [06/Dec/2011:13:53:46 -0500] deref-plugin - <-- deref_pre_op [06/Dec/2011:13:53:46 -0500] - Calling plugin 'Legacy replication preoperation plugin' #13 type 403 [06/Dec/2011:13:53:46 -0500] - Calling plugin 'Multimaster replication preoperation plugin' #16 type 403 [06/Dec/2011:13:53:46 -0500] - Calling plugin 'schema-compat-plugin-preop' #18 type 403 [06/Dec/2011:13:53:46 -0500] - defbackend_default [06/Dec/2011:13:53:46 -0500] - => send_ldap_result 32:: [06/Dec/2011:13:53:46 -0500] - <= send_ldap_result [06/Dec/2011:13:53:46 -0500] - => reslimit_update_from_entry() conn=0x24e0c560, entry=0x0 [06/Dec/2011:13:53:46 -0500] - reslimit_update_from_entry(): setting limit for handle 0 (based on nsLookThroughLimit) [06/Dec/2011:13:53:46 -0500] - reslimit_update_from_entry(): setting limit for handle 1 (based on nsIDListScanLimit) [06/Dec/2011:13:53:46 -0500] - reslimit_update_from_entry(): setting limit for handle 2 (based on nsPagedLookThroughLimit) [06/Dec/2011:13:53:46 -0500] - reslimit_update_from_entry(): setting limit for handle 3 (based on nsPagedIDListScanLimit) [06/Dec/2011:13:53:46 -0500] - reslimit_update_from_entry(): setting limit for handle 4 (based on nsSizeLimit) [06/Dec/2011:13:53:46 -0500] - reslimit_update_from_entry(): setting limit for handle 5 (based on nsTimeLimit) [06/Dec/2011:13:53:46 -0500] - reslimit_update_from_entry(): setting limit for handle 6 (based on nsPagedSizeLimit) [06/Dec/2011:13:53:46 -0500] - reslimit_update_from_entry(): setting limit for handle 7 (based on nsIdleTimeout) [06/Dec/2011:13:53:46 -0500] - <= reslimit_update_from_entry() returning status 0 [06/Dec/2011:13:53:46 -0500] - => slapi_reslimit_get_integer_limit() conn=0x24e0c560, handle=7 [06/Dec/2011:13:53:46 -0500] - <= slapi_reslimit_get_integer_limit() returning NO VALUE [06/Dec/2011:13:53:46 -0500] - => slapi_reslimit_get_integer_limit() conn=0x24e0c800, handle=7 [06/Dec/2011:13:53:46 -0500] - <= slapi_reslimit_get_integer_limit() returning SUCCESS, value=0 [06/Dec/2011:13:53:46 -0500] - => slapi_reslimit_get_integer_limit() conn=0x24e0c6b0, handle=7 [06/Dec/2011:13:53:46 -0500] - <= slapi_reslimit_get_integer_limit() returning NO VALUE [06/Dec/2011:13:53:46 -0500] - => slapi_reslimit_get_integer_limit() conn=0x24e0c410, handle=7 [06/Dec/2011:13:53:46 -0500] - <= slapi_reslimit_get_integer_limit() returning NO VALUE [06/Dec/2011:13:53:46 -0500] - add_pb [06/Dec/2011:13:53:46 -0500] - => slapi_reslimit_get_integer_limit() conn=0x24e0c560, handle=7 [06/Dec/2011:13:53:46 -0500] - <= slapi_reslimit_get_integer_limit() returning NO VALUE [06/Dec/2011:13:53:46 -0500] - => slapi_control_present (looking for 2.16.840.1.113730.3.4.12) [06/Dec/2011:13:53:46 -0500] - <= slapi_control_present 0 (NO CONTROLS) [06/Dec/2011:13:53:46 -0500] - => slapi_control_present (looking for 2.16.840.1.113730.3.4.18) [06/Dec/2011:13:53:46 -0500] - <= slapi_control_present 0 (NO CONTROLS) [06/Dec/2011:13:53:46 -0500] - => slapi_reslimit_get_integer_limit() conn=0x0, handle=5 [06/Dec/2011:13:53:46 -0500] - <= slapi_reslimit_get_integer_limit() returning NO VALUE [06/Dec/2011:13:53:46 -0500] - => slapi_reslimit_get_integer_limit() conn=0x0, handle=4 [06/Dec/2011:13:53:46 -0500] - <= slapi_reslimit_get_integer_limit() returning NO VALUE [06/Dec/2011:13:53:46 -0500] - => compute_limits: sizelimit=-1, timelimit=-1 [06/Dec/2011:13:53:46 -0500] - Calling plugin 'ACL preoperation' #1 type 403 [06/Dec/2011:13:53:46 -0500] - Calling plugin 'deref' #3 type 403 [06/Dec/2011:13:53:46 -0500] deref-plugin - --> deref_pre_search [06/Dec/2011:13:53:46 -0500] deref-plugin - <-- deref_pre_op [06/Dec/2011:13:53:46 -0500] - Calling plugin 'Legacy replication preoperation plugin' #13 type 403 [06/Dec/2011:13:53:46 -0500] - Calling plugin 'Multimaster replication preoperation plugin' #16 type 403 [06/Dec/2011:13:53:46 -0500] - Calling plugin 'schema-compat-plugin-preop' #18 type 403 [06/Dec/2011:13:53:46 -0500] - defbackend_default [06/Dec/2011:13:53:46 -0500] - => send_ldap_result 32:: [06/Dec/2011:13:53:46 -0500] - <= send_ldap_result [06/Dec/2011:13:53:46 -0500] - => reslimit_update_from_entry() conn=0x24e0c560, entry=0x0 [06/Dec/2011:13:53:46 -0500] - reslimit_update_from_entry(): setting limit for handle 0 (based on nsLookThroughLimit) [06/Dec/2011:13:53:46 -0500] - reslimit_update_from_entry(): setting limit for handle 1 (based on nsIDListScanLimit) [06/Dec/2011:13:53:46 -0500] - reslimit_update_from_entry(): setting limit for handle 2 (based on nsPagedLookThroughLimit) [06/Dec/2011:13:53:46 -0500] - reslimit_update_from_entry(): setting limit for handle 3 (based on nsPagedIDListScanLimit) [06/Dec/2011:13:53:46 -0500] - reslimit_update_from_entry(): setting limit for handle 4 (based on nsSizeLimit) [06/Dec/2011:13:53:46 -0500] - reslimit_update_from_entry(): setting limit for handle 5 (based on nsTimeLimit) [06/Dec/2011:13:53:46 -0500] - reslimit_update_from_entry(): setting limit for handle 6 (based on nsPagedSizeLimit) [06/Dec/2011:13:53:46 -0500] - reslimit_update_from_entry(): setting limit for handle 7 (based on nsIdleTimeout) [06/Dec/2011:13:53:46 -0500] - <= reslimit_update_from_entry() returning status 0 [06/Dec/2011:13:53:46 -0500] - => slapi_reslimit_get_integer_limit() conn=0x24e0c560, handle=7 [06/Dec/2011:13:53:46 -0500] - <= slapi_reslimit_get_integer_limit() returning NO VALUE [06/Dec/2011:13:53:46 -0500] - => slapi_reslimit_get_integer_limit() conn=0x24e0c800, handle=7 [06/Dec/2011:13:53:46 -0500] - <= slapi_reslimit_get_integer_limit() returning SUCCESS, value=0 [06/Dec/2011:13:53:46 -0500] - => slapi_reslimit_get_integer_limit() conn=0x24e0c6b0, handle=7 [06/Dec/2011:13:53:46 -0500] - <= slapi_reslimit_get_integer_limit() returning NO VALUE [06/Dec/2011:13:53:46 -0500] - => slapi_reslimit_get_integer_limit() conn=0x24e0c410, handle=7 [06/Dec/2011:13:53:46 -0500] - <= slapi_reslimit_get_integer_limit() returning NO VALUE [06/Dec/2011:13:53:46 -0500] - get_pb [06/Dec/2011:13:53:46 -0500] - do_unbind [06/Dec/2011:13:53:46 -0500] - => get_ldapmessage_controls [06/Dec/2011:13:53:46 -0500] - <= get_ldapmessage_controls no controls [06/Dec/2011:13:53:46 -0500] - defbackend_noop [06/Dec/2011:13:53:47 -0500] - => reslimit_update_from_entry() conn=0x24e0c950, entry=0x0 [06/Dec/2011:13:53:47 -0500] - reslimit_update_from_entry(): setting limit for handle 0 (based on nsLookThroughLimit) [06/Dec/2011:13:53:47 -0500] - reslimit_update_from_entry(): setting limit for handle 1 (based on nsIDListScanLimit) [06/Dec/2011:13:53:47 -0500] - reslimit_update_from_entry(): setting limit for handle 2 (based on nsPagedLookThroughLimit) [06/Dec/2011:13:53:47 -0500] - reslimit_update_from_entry(): setting limit for handle 3 (based on nsPagedIDListScanLimit) [06/Dec/2011:13:53:47 -0500] - reslimit_update_from_entry(): setting limit for handle 4 (based on nsSizeLimit) [06/Dec/2011:13:53:47 -0500] - reslimit_update_from_entry(): setting limit for handle 5 (based on nsTimeLimit) [06/Dec/2011:13:53:47 -0500] - reslimit_update_from_entry(): setting limit for handle 6 (based on nsPagedSizeLimit) [06/Dec/2011:13:53:47 -0500] - reslimit_update_from_entry(): setting limit for handle 7 (based on nsIdleTimeout) [06/Dec/2011:13:53:47 -0500] - <= reslimit_update_from_entry() returning status 0
Thanks to Marc for letting me use his IPA system.
I could reproduce the problem using his DS managed by IPA.
# ldapmodify -M -x -D "cn=directory manager" -w -h localhost -p 389 dn: uid=keitaro,dc=example,dc=com changetype: modify replace: ref ref: ldap://ipaserver.referrals.sgallagh.bos.redhat.com:389/uid=kurashima,cn=users,cn=accounts,dc=referrals,dc=sgallagh,dc=bos,dc=redhat,dc=com??base?
modifying entry "uid=keitaro,dc=example,dc=com" ldap_modify: Referral (10)
I stopped in check_entry_for_referral in gdb and went through the stacktrace (see below). It seems a pre-op plugin ipa_uuid returns the return code 10 to the client (ldapmodify -M, this case) without doing any further operation.
Without the plugin, we could reach the backend modify function ldbm_back_modify and the change is properly made.
I was hoping to look into the ipa_uuid plugin, but I could not find the package in brew nor koji... I guess what the ipa_uuid plugin should do is just ignoring the referral return code (10)?
rpm -qf /usr/lib64/dirsrv/plugins/libipa_uuid.so ipa-server-2.1.3-9.el6.x86_64
matched=0x0, callingfn=0x7f672f16ead0 "find_entry_internal_dn") at ldap/servers/slapd/back-ldbm/findentry.c:87
be=0xcb4bd0, addr=<value optimized out>, lock=0, txn=0x0, really_internal=0) at ldap/servers/slapd/back-ldbm/findentry.c:134
addr=<value optimized out>, lock=0, txn=0x0, really_internal=0) at ldap/servers/slapd/back-ldbm/findentry.c:285
at ldap/servers/slapd/back-ldbm/ldbm_search.c:450
at ldap/servers/slapd/opshared.c:686
callback_data=<value optimized out>, prc=<value optimized out>, psec=0x7f6739542740 <internal_plugin_search_entry_callback>, prec=0x7f67395426e0 <internal_plugin_search_referral_callback>) at ldap/servers/slapd/plugin_internal_op.c:761
at ldap/servers/slapd/plugin_internal_op.c:611
attrs=0x0, ret_entry=0x7f6708be6950, component_identity=0xc4a270) at ldap/servers/slapd/plugin_internal_op.c:895
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
pb=0x101c780, call_one=0) at ldap/servers/slapd/plugin.c:1439
at ldap/servers/slapd/plugin.c:1401
at ldap/servers/slapd/plugin.c:383
pw_change=0, old_pw=0x0) at ldap/servers/slapd/modify.c:852
at ldap/servers/slapd/modify.c:384
at ldap/servers/slapd/connection.c:583
Is this a 389 bug or an ipa bug?
This is an IPA bug (ipa_uuid). Changed the component of bz 760687 from 389 to freeipa.
https://bugzilla.redhat.com/show_bug.cgi?id=760687#c12
at ipa_uuid.c:817
817 ret = slapi_search_internal_get_entry(tmp_dn, NULL, &e, getPluginID());
(gdb) p ret $2 = 10
818 slapi_sdn_free(&tmp_dn); 819 820 if (ret) { 821 / ok a client tried to modify an entry that doesn't exist. 822 * Nothing to see here, move along ... / 823 goto done; 824 } [...] 1164 done: [...] 1190 if (ret) { 1191 LOG("operation failure [%d]\n", ret); 1193 slapi_ch_free((void **)&errstr); 1191 LOG("operation failure [%d]\n", ret); 1192 slapi_send_ldap_result(pb, ret, NULL, errstr, 0, NULL); ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ This line returns return code 10 to the client (ldapmodify). Do we want not to send the result if the return code "ret" is 10?
Added initial screened field value.
Metadata Update from @nkinder: - Issue assigned to nhosoi - Issue set to the milestone: 1.2.10.a7
389-ds-base is moving from Pagure to Github. This means that new issues and pull requests will be accepted only in 389-ds-base's github repository.
This issue has been cloned to Github and is available here: - https://github.com/389ds/389-ds-base/issues/9
If you want to receive further updates on the issue, please navigate to the github issue and click on subscribe button.
subscribe
Thank you for understanding. We apologize for all inconvenience.
Metadata Update from @spichugi: - Issue close_status updated to: wontfix (was: Invalid)