X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=servers%2Fslapd%2Fsuffixalias.c;h=1b11005a5daabf69e45e3dc416cf5e3c069058e1;hb=0743e963cac4aca63ea40e837fb3e7f59cbec04d;hp=7fff1f617004afca743bbd51c4903c7b12d44cb6;hpb=0daa8c1f06f4d39c88a6a520019232e08d2079db;p=openldap diff --git a/servers/slapd/suffixalias.c b/servers/slapd/suffixalias.c index 7fff1f6170..1b11005a5d 100644 --- a/servers/slapd/suffixalias.c +++ b/servers/slapd/suffixalias.c @@ -19,25 +19,30 @@ #include "portable.h" #include -#include -#include /* Get struct sockaddr for slap.h */ +#include +#include #include "slap.h" /* - * given a normalized uppercased dn (or root part), return an aliased dn if any of the - * alias suffixes match + * given a normalized uppercased dn (or root part), + * return an aliased dn if any of the alias suffixes match */ -char *suffixAlias (char *dn, Operation *op, Backend *be) +char *suffix_alias( + Backend *be, + char *dn ) { int i, dnLength; if(dn == NULL) return NULL; + if(be == NULL) return dn; dnLength = strlen ( dn ); - for ( i = 0; - be->be_suffixAlias != NULL && be->be_suffixAlias[i] != NULL; - i += 2) { - int aliasLength = strlen (be->be_suffixAlias[i]); + + for ( i = 0; + be->be_suffixAlias != NULL && be->be_suffixAlias[i] != NULL; + i += 2 ) + { + int aliasLength = strlen (be->be_suffixAlias[i]); int diff = dnLength - aliasLength; if ( diff < 0 ) { @@ -53,15 +58,17 @@ char *suffixAlias (char *dn, Operation *op, Backend *be) } if (!strcmp(be->be_suffixAlias[i], &dn[diff])) { - char *oldDN = dn; + char *oldDN = dn; dn = ch_malloc( diff + strlen(be->be_suffixAlias[i+1]) + 1 ); strncpy( dn, oldDN, diff ); strcpy( &dn[diff], be->be_suffixAlias[i+1] ); - Debug( LDAP_DEBUG_ARGS, "SuffixAlias: converted \"%s\" to \"%s\"", + Debug( LDAP_DEBUG_ARGS, + "suffix_alias: converted \"%s\" to \"%s\"\n", oldDN, dn, 0); - free (oldDN); + free (oldDN); break; } } + return dn; }