#49086 SDN premangaling is broken after pw_verify change
Closed: wontfix 5 years ago Opened 5 years ago by firstyear.

When we changed to pw_verify, ADDN stopped working.

This is because the be_bind is looking at

239             sdn = operation_get_target_spec(pb->pb_op);
240             if (sdn) {
241                 dns = slapi_ldap_explode_dn(slapi_sdn_get_dn(sdn), 0);
242                 if (dns) {
(gdb) print sdn
$1 = (Slapi_DN *) 0x60080011ad50
(gdb) print *sdn
$2 = {flag = 7 '\a', udn = 0x0, dn = 0x600400475430 "user1", ndn = 0x600400471ed0 "user1", ndn_len = 5}

The target spec is from the operation.c, which is:

operation_get_target_spec (Slapi_Operation *op)
        return op->o_target_spec;

But the pblock is setting a different attribute.

        case SLAPI_TARGET_SDN:
                        (*(Slapi_DN **)value) = pblock->pb_op->o_params.target_address.sdn;
                        return( -1 );

We probably need to clean this up, and make the target SDN consistent in our code, to weed out subtle issues like this.

Can be shown with test ds/dirsrvtests/tests/tickets/ticket48272_test.py

Can be built and tested with make check

{william@ldapkdc 13:13} ~/build/ds I0> ./test_slapd 
[==========] Running 7 test(s).
[ RUN      ] test_libslapd_hello
[       OK ] test_libslapd_hello
[ RUN      ] test_libslapd_pblock_analytics
[       OK ] test_libslapd_pblock_analytics
[ RUN      ] test_libslapd_pblock_v3c_target_dn
[       OK ] test_libslapd_pblock_v3c_target_dn
[ RUN      ] test_libslapd_pblock_v3c_target_sdn
[       OK ] test_libslapd_pblock_v3c_target_sdn
[ RUN      ] test_libslapd_pblock_v3c_original_target_dn
[       OK ] test_libslapd_pblock_v3c_original_target_dn
[ RUN      ] test_libslapd_pblock_v3c_target_uniqueid
[       OK ] test_libslapd_pblock_v3c_target_uniqueid
[ RUN      ] test_libslapd_operation_v3c_target_spec
[       OK ] test_libslapd_operation_v3c_target_spec
[==========] 7 test(s) run.
[  PASSED  ] 7 test(s).

This patch doesn't appear to "fix" anything, it just adds tests. The tests look fine so you get my ack, but it looks like there is a still an issue that is not addressed.

Metadata Update from @firstyear:
- Issue assigned to firstyear
- Issue set to the milestone: 1.3.6 backlog

5 years ago

commit 6df837c
To ssh://git@pagure.io/389-ds-base.git
73f221a..6df837c master -> master

Adds compat api checker.

Metadata Update from @firstyear:
- Issue close_status updated to: None

5 years ago

Metadata Update from @firstyear:
- Custom field reviewstatus reset

5 years ago

I found trying to merge these values without breaking the API to be WAYYY too hard. Will re-tackle this with pblock v4 later.

Metadata Update from @firstyear:
- Custom field reviewstatus adjusted to review

5 years ago

Metadata Update from @mreynolds:
- Custom field reviewstatus adjusted to ack (was: review)

5 years ago

commit e9c5e2dd6d1154613db7af68d59ab2d9d75bc58e
To ssh://git@pagure.io/389-ds-base.git
ccfc3c3..1c790df master -> master

Metadata Update from @firstyear:
- Custom field reviewstatus adjusted to review (was: ack)

5 years ago

Metadata Update from @firstyear:
- Issue close_status updated to: fixed
- Issue status updated to: Closed (was: Open)

5 years ago

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/2145

If you want to receive further updates on the issue, please navigate to the github issue
and click on subscribe button.

Thank you for understanding. We apologize for all inconvenience.

Metadata Update from @spichugi:
- Issue close_status updated to: wontfix (was: fixed)

2 years ago

Login to comment on this ticket.