Commit c8e81ad6 authored by Kurt Zeilenga's avatar Kurt Zeilenga
Browse files

Import minor dn related changes:

	dn_parent(" ") returns NULL
	dn2entry logs if dn2id returns id but id2entry doesn't return entry.
parent 6f9e35da
......@@ -177,6 +177,14 @@ dn2entry(
return( e );
}
if ( id != NOID ) {
Debug(LDAP_DEBUG_ANY,
"dn2entry_%s: no entry for valid id (%lu), dn \"%s\"\n",
rw ? "w" : "r", id, dn);
/* must have been deleted from underneath us */
/* treat as if NOID was found */
}
/* stop when we get to the suffix */
if ( be_issuffix( be, dn ) ) {
return( NULL );
......
......@@ -161,7 +161,19 @@ dn_parent(
char *s;
int inquote, gotesc;
if ( dn == NULL || *dn == '\0' || be_issuffix( be, dn ) ) {
if( dn == NULL ) {
return NULL;
}
while(*dn && SPACE(*dn)) {
dn++;
}
if( *dn == '\0' ) {
return( NULL );
}
if ( be_issuffix( be, dn ) ) {
return( NULL );
}
......@@ -179,7 +191,7 @@ dn_parent(
if ( *(s + 1) == '\0' ) {
return( NULL );
} else {
return( ch_strdup( s + 1 ) );
return( ch_strdup( &s[1] ) );
}
}
......@@ -191,22 +203,25 @@ dn_parent(
inquote = 0;
for ( s = dn; *s; s++ ) {
if ( *s == '\\' ) {
if ( *(s + 1) )
if ( *(s + 1) ) {
s++;
}
continue;
}
if ( inquote ) {
if ( *s == '"' )
if ( *s == '"' ) {
inquote = 0;
}
} else {
if ( *s == '"' )
if ( *s == '"' ) {
inquote = 1;
else if ( DNSEPARATOR( *s ) )
return( ch_strdup( s + 1 ) );
} else if ( DNSEPARATOR( *s ) ) {
return( ch_strdup( &s[1] ) );
}
}
}
return( ch_strdup("") );
return( ch_strdup( "" ) );
}
/*
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment