[Date Prev][Date Next] [Chronological] [Thread] [Top]

ldap_modrdn vs. ldap_modrdn2 in ldap-c-api-01.txt



I just noticed the ldap_modrdn prototype/semantics used in the draft:
	int ldap_modrdn(LDAP *ld, char* dn, char* newrdn, int deleteoldrdn)

which matches RFC-1823 BUT differs from existing common API usage of:
	int ldap_modrdn(LDAP *ld, char* dn, char* newrdn);

(which generally have an ldap_modrdn2() with the deleteoldrdn argument).

Given this group's previous API change discussions which tend towards
"don't break existing implementations," I don't quite understand why
that argument has not been applied here.

I recommend that ldapmodrdn()/ldapmodrdn_s() be replaced U-Mich v3.3
prototypes/semantics ldap_modrdn()/ldap_modrdn_s/ldap_modrdn2/ldap_modrdn2_s().
I believe this to consistent with common and historical usage and should not be
changed without just cause.

Existing APIs which use U-Mich v3.3 prototype instead of RFC1823 prototype
in their *current* releases:
	Netscape (Mozilla) Directory SDK
	Microsoft LDAP SDK
	OpenLDAP

Does anyone have a publically released API which actually uses the RFC-1823
prototype and semantics for ldap_modrdn/ldap_modrdn_2?

Kurt