-
Notifications
You must be signed in to change notification settings - Fork 6
Server control responses get eaten after a NULL character in the berval #28
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
For both the SSS and VLV controls, note the decode errors when parsing the responses for the berval. Also notice the hexdump of the berval immediately above. Compare to the output from wireshark. Looking at how serverctrls are returned to the caller from ldap_parse_result().. // transfer returned controls to the perl code
if( serverctrls != NULL ) {
for( i = 0; serverctrls[i] != NULL; i++ )
av_push(serverctrls_av, newSViv((IV)serverctrls[i]));
} So this seems to be building the serverctrls array, by taking a pointer to the returned serverctrl from the C SDK's ldap_parse_result(). Nothing funky going on here. Heading on towards ldap_control_berval: char *
ldap_control_berval(control)
LDAPControl * control
CODE:
{
RETVAL = control->ldctl_value.bv_val;
}
OUTPUT:
RETVAL So the return type is "char *" and it definitely doesn't reference the length. Probably will want to make this a PV with length return. |
…als_with_nulls - Fixes #28: Server control responses get eaten after a NULL character in the berval
* New upstream release. * Fix undef comparison * Misc variable initializations to quiet warnings * Fixed sasl mechanisms initializtion * Examples cleanup * LDAPv3 extended operation support * New developer mode test suite * Fixed quanah/net-ldapapi#3: ldap_set_rebind_proc XS being called with invalid arguments from set_rebind_proc * Fixed quanah/net-ldapapi#6: ldap_sasl_bind has wrong prototype in LDAPapi.xs * Fixed quanah/net-ldapapi#8: search_s() clobbers ATTRS parameter * Fixed quanah/net-ldapapi#11: result() blocking when called with output from rename() * Fixed quanah/net-ldapapi#20: ldap_result() doesn't honour passed timeout value * Fixed quanah/net-ldapapi#21: ldap_set_option(LDAP_OPT_TIMEOUT, 1) on OpenLDAP returns -1 * Fixed quanah/net-ldapapi#28: Server control responses get eaten after a NULL character in the berval * Fixed quanah/net-ldapapi#30: ldap_search_ext() and ldap_search_ext_s() segfault when used with timeout * Fixed quanah/net-ldapapi#31: ldap_result() and ldap_url_search_st() timeout parameters have a granularity of 1 second * Fixed quanah/net-ldapapi#40: Server control requests get eaten after a NULL character in the berval * Correct merge problem with POD error. * Update standards version to 3.9.8 (no changes required). [dgit import package libnet-ldapapi-perl 3.0.4-1]
This is gonna be a long comment, so I'll present the data in this comment and move to a second comment.
This code...
Produces
Wireshark output for same PDU
The text was updated successfully, but these errors were encountered: