Expose slapTool for use elsewhere

This commit is contained in:
Ondřej Kuzník 2021-04-13 11:37:31 +01:00
parent d6d93463b9
commit d0eae40961
5 changed files with 24 additions and 17 deletions

View File

@ -1612,6 +1612,22 @@ LDAP_SLAPD_V (int) slapMode;
#define SB_TLS_ON 1 #define SB_TLS_ON 1
#define SB_TLS_CRITICAL 2 #define SB_TLS_CRITICAL 2
enum slaptool {
SLAPADD=1, /* LDIF -> database tool */
SLAPCAT, /* database -> LDIF tool */
SLAPDN, /* DN check w/ syntax tool */
SLAPINDEX, /* database index tool */
SLAPMODIFY, /* database modify tool */
SLAPPASSWD, /* password generation tool */
SLAPSCHEMA, /* schema checking tool */
SLAPTEST, /* slapd.conf test tool */
SLAPAUTH, /* test authz-regexp and authc/authz stuff */
SLAPACL, /* test acl */
SLAPLAST
};
LDAP_SLAPD_V(enum slaptool) slapTool;
typedef struct slap_keepalive { typedef struct slap_keepalive {
int sk_idle; int sk_idle;
int sk_probes; int sk_probes;

View File

@ -39,6 +39,7 @@
#include "ldif.h" #include "ldif.h"
tool_vars tool_globals; tool_vars tool_globals;
enum slaptool slapTool;
#ifdef CSRIMALLOC #ifdef CSRIMALLOC
static char *leakfilename; static char *leakfilename;
@ -671,6 +672,7 @@ slap_tool_init(
* initialize stuff and figure out which backend we're dealing with * initialize stuff and figure out which backend we're dealing with
*/ */
slapTool = tool;
rc = slap_init( mode, progname ); rc = slap_init( mode, progname );
if ( rc != 0 ) { if ( rc != 0 ) {
fprintf( stderr, "%s: slap_init failed!\n", progname ); fprintf( stderr, "%s: slap_init failed!\n", progname );

View File

@ -20,20 +20,6 @@
#define SLAPD_TOOLS 1 #define SLAPD_TOOLS 1
#include "slap.h" #include "slap.h"
enum slaptool {
SLAPADD=1, /* LDIF -> database tool */
SLAPCAT, /* database -> LDIF tool */
SLAPDN, /* DN check w/ syntax tool */
SLAPINDEX, /* database index tool */
SLAPMODIFY, /* database modify tool */
SLAPPASSWD, /* password generation tool */
SLAPSCHEMA, /* schema checking tool */
SLAPTEST, /* slapd.conf test tool */
SLAPAUTH, /* test authz-regexp and authc/authz stuff */
SLAPACL, /* test acl */
SLAPLAST
};
typedef struct tool_vars { typedef struct tool_vars {
Backend *tv_be; Backend *tv_be;
int tv_dbnum; int tv_dbnum;

View File

@ -37,9 +37,11 @@
#include <lutil_sha1.h> #include <lutil_sha1.h>
#include "ldap_defaults.h" #include "ldap_defaults.h"
#include "slap.h"
static int verbose = 0; #include "slap.h"
#include "slap-config.h"
#include "slapcommon.h"
static char *modulepath = NULL; static char *modulepath = NULL;
static char *moduleload = NULL; static char *moduleload = NULL;
@ -204,6 +206,7 @@ slappasswd( int argc, char *argv[] )
usage ( progname ); usage ( progname );
} }
} }
slapTool = SLAPPASSWD;
if( argc - optind != 0 ) { if( argc - optind != 0 ) {
usage( progname ); usage( progname );

View File

@ -53,7 +53,7 @@ slapschema( int argc, char **argv )
int requestBSF = 0; int requestBSF = 0;
int doBSF = 0; int doBSF = 0;
slap_tool_init( progname, SLAPCAT, argc, argv ); slap_tool_init( progname, SLAPSCHEMA, argc, argv );
requestBSF = ( sub_ndn.bv_len || filter ); requestBSF = ( sub_ndn.bv_len || filter );