From: Kurt Zeilenga Date: Thu, 29 Jul 1999 21:25:39 +0000 (+0000) Subject: Very crude LDIF changes: X-Git-Tag: OPENLDAP_REL_ENG_2_BP~1 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=17a975b6fbccec9e215d090cb3646cb914dd8241;p=openldap Very crude LDIF changes: add MODRDN newSuperior support add '#' support to ldapmodify (but not slurpd and ldbm tools) --- diff --git a/clients/tools/ldapmodify.c b/clients/tools/ldapmodify.c index 36edc0d29f..851b41fd75 100644 --- a/clients/tools/ldapmodify.c +++ b/clients/tools/ldapmodify.c @@ -48,12 +48,15 @@ static LDAP *ld; #define T_MODIFYCTSTR "modify" #define T_DELETECTSTR "delete" #define T_MODRDNCTSTR "modrdn" +#define T_MODDNCTSTR "moddn" +#define T_RENAMECTSTR "rename" #define T_MODOPADDSTR "add" #define T_MODOPREPLACESTR "replace" #define T_MODOPDELETESTR "delete" #define T_MODSEPSTR "-" #define T_NEWRDNSTR "newrdn" #define T_DELETEOLDRDNSTR "deleteoldrdn" +#define T_NEWSUPSTR "newsuperior" static void usage LDAP_P(( const char *prog )); @@ -293,9 +296,10 @@ main( int argc, char **argv ) * has a colon that appears to the left of any equal signs, OR * if the first line consists entirely of digits (an entry id) */ - use_ldif = ( p = strchr( rbuf, ':' )) != NULL && - ( q = strchr( rbuf, '\n' )) != NULL && p < q && - (( q = strchr( rbuf, '=' )) == NULL || p < q ); + use_ldif = ( *rbuf == '#' ) || + (( p = strchr( rbuf, ':' )) != NULL && + ( q = strchr( rbuf, '\n' )) != NULL && p < q && + (( q = strchr( rbuf, '=' )) == NULL || p < q )); start = rbuf; @@ -335,9 +339,9 @@ main( int argc, char **argv ) static int process_ldif_rec( char *rbuf ) { - char *line, *dn, *type, *value, *newrdn, *p; + char *line, *dn, *type, *value, *newrdn, *newsup, *p; int rc, linenum, vlen, modop, replicaport; - int expect_modop, expect_sep, expect_ct, expect_newrdn; + int expect_modop, expect_sep, expect_ct, expect_newrdn, expect_newsup; int expect_deleteoldrdn, deleteoldrdn; int saw_replica, use_record, new_entry, delete_entry, got_all; LDAPMod **pmods; @@ -345,12 +349,13 @@ process_ldif_rec( char *rbuf ) new_entry = new; rc = got_all = saw_replica = delete_entry = expect_modop = 0; - expect_deleteoldrdn = expect_newrdn = expect_sep = expect_ct = 0; + expect_deleteoldrdn = expect_newrdn = expect_newsup = 0; + expect_sep = expect_ct = 0; linenum = 0; deleteoldrdn = 1; use_record = force; pmods = NULL; - dn = newrdn = NULL; + dn = newrdn = newsup = NULL; while ( rc == 0 && ( line = ldif_getline( &rbuf )) != NULL ) { ++linenum; @@ -405,7 +410,10 @@ process_ldif_rec( char *rbuf ) expect_modop = 1; } else if ( strcasecmp( value, T_ADDCTSTR ) == 0 ) { new_entry = 1; - } else if ( strcasecmp( value, T_MODRDNCTSTR ) == 0 ) { + } else if ( strcasecmp( value, T_MODRDNCTSTR ) == 0 + || strcasecmp( value, T_MODDNCTSTR ) == 0 + || strcasecmp( value, T_RENAMECTSTR ) == 0) + { expect_newrdn = 1; } else if ( strcasecmp( value, T_DELETECTSTR ) == 0 ) { got_all = delete_entry = 1; @@ -458,12 +466,26 @@ process_ldif_rec( char *rbuf ) } else if ( expect_deleteoldrdn ) { if ( strcasecmp( type, T_DELETEOLDRDNSTR ) == 0 ) { deleteoldrdn = ( *value == '0' ) ? 0 : 1; + expect_deleteoldrdn = 0; + expect_newsup = 1; got_all = 1; } else { fprintf( stderr, "%s: expecting \"%s:\" but saw \"%s:\" (line %d of entry %s)\n", prog, T_DELETEOLDRDNSTR, type, linenum, dn ); rc = LDAP_PARAM_ERROR; } + } else if ( expect_newsup ) { + if ( strcasecmp( type, T_NEWSUPSTR ) == 0 ) { + if (( newsup = strdup( value )) == NULL ) { + perror( "strdup" ); + exit( 1 ); + } + expect_newsup = 0; + } else { + fprintf( stderr, "%s: expecting \"%s:\" but saw \"%s:\" (line %d of entry %s)\n", + prog, T_NEWSUPSTR, type, linenum, dn ); + rc = LDAP_PARAM_ERROR; + } } else if ( got_all ) { fprintf( stderr, "%s: extra lines at end (line %d of entry %s)\n", @@ -474,6 +496,10 @@ process_ldif_rec( char *rbuf ) } } + if( linenum == 0 ) { + return 0; + } + if ( rc == 0 ) { if ( delete_entry ) { rc = dodelete( dn ); @@ -856,25 +882,35 @@ fromfile( char *path, struct berval *bv ) static char * read_one_record( FILE *fp ) { - int len; char *buf, line[ LDAPMOD_MAXLINE ]; int lcur, lmax; lcur = lmax = 0; buf = NULL; - while (( fgets( line, sizeof(line), fp ) != NULL ) && - (( len = strlen( line )) > 1 )) { - if ( lcur + len + 1 > lmax ) { - lmax = LDAPMOD_MAXLINE - * (( lcur + len + 1 ) / LDAPMOD_MAXLINE + 1 ); - if (( buf = (char *)realloc( buf, lmax )) == NULL ) { - perror( "realloc" ); - exit( 1 ); - } - } - strcpy( buf + lcur, line ); - lcur += len; + while ( fgets( line, sizeof(line), fp ) != NULL ) { + int len = strlen( line ); + + if( len < 2 ) { + if( buf == NULL ) { + continue; + } else { + break; + } + } + + if ( lcur + len + 1 > lmax ) { + lmax = LDAPMOD_MAXLINE + * (( lcur + len + 1 ) / LDAPMOD_MAXLINE + 1 ); + + if (( buf = (char *)realloc( buf, lmax )) == NULL ) { + perror( "realloc" ); + exit( 1 ); + } + } + + strcpy( buf + lcur, line ); + lcur += len; } return( buf ); diff --git a/servers/slapd/add.c b/servers/slapd/add.c index ca7529e0b3..196a3189d5 100644 --- a/servers/slapd/add.c +++ b/servers/slapd/add.c @@ -169,7 +169,7 @@ do_add( Connection *conn, Operation *op ) } if ( (*be->be_add)( be, conn, op, e ) == 0 ) { - replog( be, LDAP_REQ_ADD, e->e_dn, e, 0 ); + replog( be, op, e->e_dn, e ); be_entry_release_w( be, e ); } diff --git a/servers/slapd/delete.c b/servers/slapd/delete.c index 64cbefa675..1b32dd9a0d 100644 --- a/servers/slapd/delete.c +++ b/servers/slapd/delete.c @@ -96,7 +96,7 @@ do_delete( strcmp( be->be_update_ndn, op->o_ndn ) == 0 ) { if ( (*be->be_delete)( be, conn, op, ndn ) == 0 ) { - replog( be, LDAP_REQ_DELETE, ndn, NULL, 0 ); + replog( be, op, ndn, NULL ); } } else { send_ldap_result( conn, op, rc = LDAP_REFERRAL, NULL, NULL, diff --git a/servers/slapd/modify.c b/servers/slapd/modify.c index 2929735796..7f4a34b0de 100644 --- a/servers/slapd/modify.c +++ b/servers/slapd/modify.c @@ -204,7 +204,7 @@ do_modify( } if ( (*be->be_modify)( be, conn, op, ndn, modlist ) == 0 ) { - replog( be, LDAP_REQ_MODIFY, ndn, modlist, 0 ); + replog( be, op, ndn, modlist ); } /* send a referral */ diff --git a/servers/slapd/modrdn.c b/servers/slapd/modrdn.c index 10349d001d..abbe7f9842 100644 --- a/servers/slapd/modrdn.c +++ b/servers/slapd/modrdn.c @@ -227,10 +227,13 @@ do_modrdn( strcmp( be->be_update_ndn, op->o_ndn ) == 0 ) { if ( (*be->be_modrdn)( be, conn, op, ndn, newrdn, - deloldrdn, newSuperior ) == 0 ) { - /* XXX: MAY NEED TO ADD newSuperior HERE */ - replog( be, LDAP_REQ_MODRDN, ndn, newrdn, - deloldrdn ); + deloldrdn, newSuperior ) == 0 ) + { + struct replog_moddn moddn; + moddn.newrdn = newrdn; + moddn.deloldrdn = deloldrdn; + moddn.newsup = newSuperior; + replog( be, op, ndn, &moddn ); } } else { send_ldap_result( conn, op, rc = LDAP_REFERRAL, NULL, NULL, diff --git a/servers/slapd/proto-slap.h b/servers/slapd/proto-slap.h index ab489d0d37..473927dcaf 100644 --- a/servers/slapd/proto-slap.h +++ b/servers/slapd/proto-slap.h @@ -277,7 +277,7 @@ char * phonetic LDAP_P(( char *s )); * repl.c */ -void replog LDAP_P(( Backend *be, int optype, char *dn, void *change, int flag )); +void replog LDAP_P(( Backend *be, Operation *op, char *dn, void *change )); /* * result.c diff --git a/servers/slapd/repl.c b/servers/slapd/repl.c index 0c3f04a7cf..1b59f2be86 100644 --- a/servers/slapd/repl.c +++ b/servers/slapd/repl.c @@ -18,15 +18,15 @@ void replog( Backend *be, - int optype, + Operation *op, char *dn, - void *change, - int flag + void *change ) { LDAPModList *ml; Entry *e; - char *newrdn, *tmp; + struct replog_moddn *moddn; + char *tmp; FILE *fp, *lfp; int len, i; @@ -48,7 +48,7 @@ replog( fprintf( fp, "time: %ld\n", (long) slap_get_time() ); fprintf( fp, "dn: %s\n", dn ); - switch ( optype ) { + switch ( op->o_tag ) { case LDAP_REQ_MODIFY: fprintf( fp, "changetype: modify\n" ); ml = change; @@ -109,10 +109,13 @@ replog( break; case LDAP_REQ_MODRDN: - newrdn = change; + moddn = change; fprintf( fp, "changetype: modrdn\n" ); - fprintf( fp, "newrdn: %s\n", newrdn ); - fprintf( fp, "deleteoldrdn: %d\n", flag ? 1 : 0 ); + fprintf( fp, "newrdn: %s\n", moddn->newrdn ); + fprintf( fp, "deleteoldrdn: %d\n", moddn->deloldrdn ? 1 : 0 ); + if( moddn->newsup != NULL ) { + fprintf( fp, "newsuperior: %s\n", moddn->newsup ); + } } fprintf( fp, "\n" ); diff --git a/servers/slapd/slap.h b/servers/slapd/slap.h index be69eb46e7..57dbbd9eb2 100644 --- a/servers/slapd/slap.h +++ b/servers/slapd/slap.h @@ -95,6 +95,12 @@ extern int slap_debug; struct slap_op; struct slap_conn; +struct replog_moddn { + char *newrdn; + int deloldrdn; + char *newsup; +}; + /* * represents an attribute value assertion (i.e., attr=value) */ diff --git a/servers/slurpd/fm.c b/servers/slurpd/fm.c index d8d1dddb3d..752556e186 100644 --- a/servers/slurpd/fm.c +++ b/servers/slurpd/fm.c @@ -229,12 +229,13 @@ get_record( while (( fgets( line, sizeof(line), fp ) != NULL ) && (( len = strlen( line )) > 1 )) { - while ( lcur + len + 1 > lmax ) { - lmax += BUFSIZ; - buf = (char *) ch_realloc( buf, lmax ); - } - strcpy( buf + lcur, line ); - lcur += len; + + while ( lcur + len + 1 > lmax ) { + lmax += BUFSIZ; + buf = (char *) ch_realloc( buf, lmax ); + } + strcpy( buf + lcur, line ); + lcur += len; } return( buf ); } diff --git a/servers/slurpd/ldap_op.c b/servers/slurpd/ldap_op.c index 404f321ef4..8dfc7e157b 100644 --- a/servers/slurpd/ldap_op.c +++ b/servers/slurpd/ldap_op.c @@ -350,9 +350,12 @@ op_ldap_delete( /* * Perform an ldap modrdn operation. */ -#define GOT_NEWRDN 1 -#define GOT_DRDNFLAGSTR 2 -#define GOT_ALLNEWRDNFLAGS ( GOT_NEWRDN | GOT_DRDNFLAGSTR ) +#define GOT_NEWRDN 0x1 +#define GOT_DELOLDRDN 0x2 +#define GOT_NEWSUP 0x4 + +#define GOT_MODDN_REQ (GOT_NEWRDN|GOT_DELOLDRDN) +#define GOT_ALL_MODDN(f) (((f) & GOT_MODDN_REQ) == GOT_MODDN_REQ) static int op_ldap_modrdn( Ri *ri, @@ -367,6 +370,7 @@ op_ldap_modrdn( int state = 0; int drdnflag = -1; char *newrdn; + char *newsup = NULL; if ( re->re_mods == NULL ) { *errmsg = "No arguments given"; @@ -380,10 +384,27 @@ op_ldap_modrdn( */ for ( mi = re->re_mods, i = 0; mi[ i ].mi_type != NULL; i++ ) { if ( !strcmp( mi[ i ].mi_type, T_NEWRDNSTR )) { + if( state & GOT_NEWRDN ) { + Debug( LDAP_DEBUG_ANY, + "Error: op_ldap_modrdn: multiple newrdn arg \"%s\"\n", + mi[ i ].mi_val, 0, 0 ); + *errmsg = "Multiple newrdn argument"; + return -1; + } + newrdn = mi[ i ].mi_val; state |= GOT_NEWRDN; - } else if ( !strcmp( mi[ i ].mi_type, T_DRDNFLAGSTR )) { - state |= GOT_DRDNFLAGSTR; + + } else if ( !strcmp( mi[ i ].mi_type, T_DELOLDRDNSTR )) { + if( state & GOT_DELOLDRDN ) { + Debug( LDAP_DEBUG_ANY, + "Error: op_ldap_modrdn: multiple deleteoldrdn arg \"%s\"\n", + mi[ i ].mi_val, 0, 0 ); + *errmsg = "Multiple newrdn argument"; + return -1; + } + + state |= GOT_DELOLDRDN; if ( !strcmp( mi[ i ].mi_val, "0" )) { drdnflag = 0; } else if ( !strcmp( mi[ i ].mi_val, "1" )) { @@ -395,6 +416,19 @@ op_ldap_modrdn( *errmsg = "Incorrect argument to deleteoldrdn"; return -1; } + + } else if ( !strcmp( mi[ i ].mi_type, T_NEWSUPSTR )) { + if( state & GOT_NEWSUP ) { + Debug( LDAP_DEBUG_ANY, + "Error: op_ldap_modrdn: multiple newsuperior arg \"%s\"\n", + mi[ i ].mi_val, 0, 0 ); + *errmsg = "Multiple newrdn argument"; + return -1; + } + + newrdn = mi[ i ].mi_val; + state |= GOT_NEWSUP; + } else { Debug( LDAP_DEBUG_ANY, "Error: op_ldap_modrdn: bad type \"%s\"\n", mi[ i ].mi_type, 0, 0 ); @@ -406,7 +440,7 @@ op_ldap_modrdn( /* * Punt if we don't have all the args. */ - if ( state != GOT_ALLNEWRDNFLAGS ) { + if ( GOT_ALL_MODDN(state) ) { Debug( LDAP_DEBUG_ANY, "Error: op_ldap_modrdn: missing arguments\n", 0, 0, 0 ); *errmsg = "Missing argument: requires \"newrdn\" and \"deleteoldrdn\""; @@ -429,7 +463,7 @@ op_ldap_modrdn( #endif /* LDAP_DEBUG */ /* Do the modrdn */ - rc = ldap_modrdn2_s( ri->ri_ldp, re->re_dn, mi->mi_val, drdnflag ); + rc = ldap_rename2_s( ri->ri_ldp, re->re_dn, mi->mi_val, drdnflag, newsup ); ldap_get_option( ri->ri_ldp, LDAP_OPT_ERROR_NUMBER, &lderr); return( lderr ); diff --git a/servers/slurpd/slurp.h b/servers/slurpd/slurp.h index 839f525828..5dcce03bef 100644 --- a/servers/slurpd/slurp.h +++ b/servers/slurpd/slurp.h @@ -89,6 +89,8 @@ #define T_DELETECTSTR "delete" #define T_DELETECT 6 #define T_MODRDNCTSTR "modrdn" +#define T_MODDNCTSTR "moddn" +#define T_RENAMECTSTR "rename" #define T_MODRDNCT 7 #define T_MODOPADDSTR "add" @@ -101,7 +103,8 @@ #define T_MODSEP 11 #define T_NEWRDNSTR "newrdn" -#define T_DRDNFLAGSTR "deleteoldrdn" +#define T_DELOLDRDNSTR "deleteoldrdn" +#define T_NEWSUPSTR "newsuperior" #define T_ERR -1 diff --git a/tests/scripts/defines.sh b/tests/scripts/defines.sh index 4f5256e0d2..58e0842396 100755 --- a/tests/scripts/defines.sh +++ b/tests/scripts/defines.sh @@ -59,7 +59,7 @@ SEARCHFLT=$DBDIR/ldapsearch.flt LDIFFLT=$DBDIR/ldif.flt MASTEROUT=$DBDIR/master.out SLAVEOUT=$DBDIR/slave.out -TESTOUT=$DBDIR/ldapsearch.out +TESTOUT=$DBDIR/test.out SEARCHOUTMASTER=$DATADIR/search.out.master MODIFYOUTMASTER=$DATADIR/modify.out.master ADDDELOUTMASTER=$DATADIR/adddel.out.master diff --git a/tests/scripts/test002-populate b/tests/scripts/test002-populate index d12e14accf..7d2d49df6c 100755 --- a/tests/scripts/test002-populate +++ b/tests/scripts/test002-populate @@ -33,7 +33,7 @@ done echo "Using ldapadd to populate the database..." $LDAPADD -D "$MANAGERDN" -h localhost -p $PORT -w $PASSWD < \ - $LDIFORDERED > /dev/null 2>&1 + $LDIFORDERED > $TESTOUT 2>&1 RC=$? if test $RC != 0 ; then echo "ldapadd failed!" diff --git a/tests/scripts/test003-search b/tests/scripts/test003-search index 7c1942879d..0642b057cf 100755 --- a/tests/scripts/test003-search +++ b/tests/scripts/test003-search @@ -85,7 +85,6 @@ fi kill -HUP $PID -TESTOUT=$SEARCHOUT LDIF=$SEARCHOUTMASTER echo "Filtering ldapsearch results..." diff --git a/tests/scripts/test004-modify b/tests/scripts/test004-modify index b21483a3fe..f5f7cea5b4 100755 --- a/tests/scripts/test004-modify +++ b/tests/scripts/test004-modify @@ -45,12 +45,14 @@ if test $RC != 0 ; then exit $RC fi -cat /dev/null > $TESTOUT - echo "Testing modify, add, and delete..." $LDAPMODIFY -v -D "$MANAGERDN" -h localhost -p $PORT -w $PASSWD > \ - /dev/null 2>&1 << EOMODS + $TESTOUT 2>&1 << EOMODS + +# LEADING COMMENT AND WHITE SPACE + dn: cn=James A Jones 1, ou=Alumni Association, ou=People, o=University of Michigan, c=US +# EMBEDDED COMMENT changetype: modify add: drink drink: Orange Juice @@ -102,6 +104,7 @@ homephone: +1 313 555 8844 dn: cn=James A Jones 2, ou=Information Technology Division, ou=People, o=University of Michigan, c=US changetype: delete +# TRAILING COMMENT AND WHITE SPACE EOMODS @@ -138,5 +141,4 @@ fi echo ">>>>> Test succeeded" - exit 0 diff --git a/tests/scripts/test005-modrdn b/tests/scripts/test005-modrdn index 5dc9f3cdfe..946ad553d9 100755 --- a/tests/scripts/test005-modrdn +++ b/tests/scripts/test005-modrdn @@ -46,14 +46,11 @@ if test $RC != 0 ; then exit $RC fi -cat /dev/null > $TESTOUT - - # -r used to do remove of old rdn echo "Testing modrdn(deleteoldrdn=0)..." $LDAPMODRDN -v -D "$MANAGERDN" -h localhost -p $PORT -w $PASSWD > \ - /dev/null 2>&1 'cn=James A Jones 1, ou=Alumni Association, ou=People, o=University of Michigan, c=US' 'cn=James A Jones III' + $TESTOUT 2>&1 'cn=James A Jones 1, ou=Alumni Association, ou=People, o=University of Michigan, c=US' 'cn=James A Jones III' RC=$? if test $RC != 0 ; then @@ -63,8 +60,8 @@ if test $RC != 0 ; then fi echo "Testing modrdn(deleteoldrdn=1)..." -$LDAPMODRDN -v -D "$MANAGERDN" -r -h localhost -p $PORT -w $PASSWD > \ - /dev/null 2>&1 'cn=James A Jones 2, ou=Information Technology Division, ou=People, o=University of Michigan, c=US' 'cn=James A Jones II' +$LDAPMODRDN -v -D "$MANAGERDN" -r -h localhost -p $PORT -w $PASSWD >> \ + $TESTOUT 2>&1 'cn=James A Jones 2, ou=Information Technology Division, ou=People, o=University of Michigan, c=US' 'cn=James A Jones II' RC=$? if test $RC != 0 ; then diff --git a/tests/scripts/test006-acls b/tests/scripts/test006-acls index 05323fc619..bdcf890aac 100755 --- a/tests/scripts/test006-acls +++ b/tests/scripts/test006-acls @@ -65,7 +65,7 @@ $LDAPSEARCH -L -b "$JAJDN" -h localhost -p $PORT \ # we add our own DN. # bjensen $LDAPMODIFY -D "$JAJDN" -h localhost -p $PORT -w jaj > \ - /dev/null 2>&1 << EOMODS1 + $TESTOUT 2>&1 << EOMODS1 dn: cn=ITD Staff, ou=Groups, o=University of Michigan, c=US changetype: modify add: member @@ -73,13 +73,13 @@ member: cn=Barbara Jensen, ou=Information Technology Division, ou=People, o=Univ EOMODS1 -$LDAPMODIFY -D "$JAJDN" -h localhost -p $PORT -w jaj > \ - /dev/null 2>&1 << EOMODS2 +$LDAPMODIFY -D "$JAJDN" -h localhost -p $PORT -w jaj >> \ + $TESTOUT 2>&1 << EOMODS2 + dn: cn=ITD Staff, ou=Groups, o=University of Michigan, c=US changetype: modify add: member member: cn=James A Jones 1, ou=Alumni Association, ou=People, o=University of Michigan, c=US - EOMODS2 # @@ -87,21 +87,21 @@ EOMODS2 # 1) bound as "James A Jones 1" - should fail # 2) bound as "Barbara Jensen" - should succeed # -$LDAPMODIFY -D "$JAJDN" -h localhost -p $PORT -w jaj > \ - /dev/null 2>&1 << EOMODS3 +$LDAPMODIFY -D "$JAJDN" -h localhost -p $PORT -w jaj >> \ + $TESTOUT 2>&1 << EOMODS3 + dn: cn=ITD Staff, ou=Groups, o=University of Michigan, c=US changetype: modify delete: member EOMODS3 -$LDAPMODIFY -D "$BJORNSDN" -h localhost -p $PORT -w bjorn > \ - /dev/null 2>&1 << EOMODS4 +$LDAPMODIFY -D "$BJORNSDN" -h localhost -p $PORT -w bjorn >> \ + $TESTOUT 2>&1 << EOMODS4 dn: cn=ITD Staff, ou=Groups, o=University of Michigan, c=US changetype: modify add: telephonenumber telephonenumber: +1 810 555 1212 - EOMODS4 echo "Using ldapsearch to retrieve all the entries..." diff --git a/tests/scripts/test007-replication b/tests/scripts/test007-replication index 9e400f8f93..9521a7ba13 100755 --- a/tests/scripts/test007-replication +++ b/tests/scripts/test007-replication @@ -87,7 +87,7 @@ echo "Using ldapmodify to modify slave directory..." # $LDAPMODIFY -v -D "$MANAGERDN" -h localhost -p $SLAVEPORT -w $PASSWD > \ - /dev/null 2>&1 << EOMODS + $TESTOUT 2>&1 << EOMODS dn: cn=James A Jones 1, ou=Alumni Association, ou=People, o=University of Michigan, c=US changetype: modify add: drink diff --git a/tests/scripts/test009-referral b/tests/scripts/test009-referral index 05bdd222d6..829271c9f6 100755 --- a/tests/scripts/test009-referral +++ b/tests/scripts/test009-referral @@ -105,7 +105,6 @@ fi kill -HUP $PID $SLAVEPID -TESTOUT=$SEARCHOUT LDIF=$SEARCHOUTMASTER echo "Filtering ldapsearch results..."