Commit f5608df7 authored by Howard Chu's avatar Howard Chu
Browse files

Import ITS#3764 from HEAD

parent 75227eef
......@@ -11,6 +11,7 @@ OpenLDAP 2.2.27 Engineering
Fixed ACL dn=* <what> clause
Fixed ACL val default style parsing crasher (ITS#3700)
Disabled slapd broken undocumented configuration directive
Fixed slapcat unclean exits (ITS#3764)
Fixed libldap sasl connection assert (ITS#3278)
Build Environment
Improved thread set stack size support (ITS#3691)
......
......@@ -31,6 +31,14 @@
#include "slapcommon.h"
static int gotsig;
static RETSIGTYPE
slapcat_sig( int sig )
{
gotsig=1;
}
int
slapcat( int argc, char **argv )
{
......@@ -41,6 +49,15 @@ slapcat( int argc, char **argv )
slap_tool_init( progname, SLAPCAT, argc, argv );
#ifdef SIGPIPE
(void) SIGNAL( SIGPIPE, slapcat_sig );
#endif
#ifdef SIGHUP
(void) SIGNAL( SIGHUP, slapcat_sig );
#endif
(void) SIGNAL( SIGINT, slapcat_sig );
(void) SIGNAL( SIGTERM, slapcat_sig );
if( !be->be_entry_open ||
!be->be_entry_close ||
!be->be_entry_first ||
......@@ -58,15 +75,19 @@ slapcat( int argc, char **argv )
exit( EXIT_FAILURE );
}
op.o_bd = be;
for ( id = be->be_entry_first( be );
id != NOID;
id = be->be_entry_next( be ) )
{
char *data;
int len;
Entry* e = be->be_entry_get( be, id );
op.o_bd = be;
Entry* e;
if ( gotsig )
break;
e = be->be_entry_get( be, id );
if ( e == NULL ) {
printf("# no data for entry id=%08lx\n\n", (long) id );
rc = EXIT_FAILURE;
......
Supports Markdown
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