X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=servers%2Fslapd%2Fslapadd.c;h=4e93a55f2239db94325b1188561f8a1d2875a1fd;hb=08792a77fddcf993ddd6eaa94a8d425dd8f68774;hp=8b339928e8200bc917b2df6cd5c8103831f6b4b1;hpb=054812517f0099f489eb47fdb25f53396580c6a0;p=openldap diff --git a/servers/slapd/slapadd.c b/servers/slapd/slapadd.c index 8b339928e8..4e93a55f22 100644 --- a/servers/slapd/slapadd.c +++ b/servers/slapd/slapadd.c @@ -1,7 +1,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 1998-2013 The OpenLDAP Foundation. + * Copyright 1998-2014 The OpenLDAP Foundation. * Portions Copyright 1998-2003 Kurt D. Zeilenga. * Portions Copyright 2003 IBM Corporation. * All rights reserved. @@ -40,6 +40,8 @@ #include "slapcommon.h" +extern int slap_DN_strict; /* dn.c */ + static char csnbuf[ LDAP_PVT_CSNSTR_BUFSIZE ]; typedef struct Erec { @@ -96,15 +98,23 @@ again: { BackendDB *bd; Entry *e; + int prev_DN_strict; if ( erec->lineno < jumpline ) goto again; + if ( !dbnum ) { + prev_DN_strict = slap_DN_strict; + slap_DN_strict = 0; + } e = str2entry2( buf, checkvals ); + if ( !dbnum ) { + slap_DN_strict = prev_DN_strict; + } if ( enable_meter ) lutil_meter_update( &meter, - ftell( ldiffp->fp ), + ftello( ldiffp->fp ), 0); if( e == NULL ) { @@ -473,7 +483,7 @@ slapadd( int argc, char **argv ) bvtext.bv_val[0] = '\0'; if ( enable_meter ) { - lutil_meter_update( &meter, ftell( ldiffp->fp ), 1); + lutil_meter_update( &meter, ftello( ldiffp->fp ), 1); lutil_meter_close( &meter ); }