2004-02-27 03:03:41 +08:00
|
|
|
/* slapcommon.h - common definitions for the slap tools */
|
|
|
|
/* $OpenLDAP$ */
|
|
|
|
/* This work is part of OpenLDAP Software <http://www.openldap.org/>.
|
|
|
|
*
|
2019-01-15 02:46:16 +08:00
|
|
|
* Copyright 1998-2019 The OpenLDAP Foundation.
|
2004-02-27 03:03:41 +08:00
|
|
|
* All rights reserved.
|
|
|
|
*
|
|
|
|
* Redistribution and use in source and binary forms, with or without
|
|
|
|
* modification, are permitted only as authorized by the OpenLDAP
|
|
|
|
* Public License.
|
|
|
|
*
|
|
|
|
* A copy of this license is available in the file LICENSE in the
|
|
|
|
* top-level directory of the distribution or, alternatively, at
|
|
|
|
* <http://www.OpenLDAP.org/license.html>.
|
|
|
|
*/
|
|
|
|
|
|
|
|
#ifndef SLAPCOMMON_H_
|
|
|
|
#define SLAPCOMMON_H_ 1
|
|
|
|
|
|
|
|
#define SLAPD_TOOLS 1
|
|
|
|
#include "slap.h"
|
|
|
|
|
|
|
|
enum slaptool {
|
|
|
|
SLAPADD=1, /* LDIF -> database tool */
|
|
|
|
SLAPCAT, /* database -> LDIF tool */
|
2004-03-18 07:25:09 +08:00
|
|
|
SLAPDN, /* DN check w/ syntax tool */
|
2004-02-27 03:03:41 +08:00
|
|
|
SLAPINDEX, /* database index tool */
|
2010-04-20 14:00:16 +08:00
|
|
|
SLAPMODIFY, /* database modify tool */
|
2004-03-18 07:25:09 +08:00
|
|
|
SLAPPASSWD, /* password generation tool */
|
2009-05-28 21:40:57 +08:00
|
|
|
SLAPSCHEMA, /* schema checking tool */
|
2004-03-18 07:25:09 +08:00
|
|
|
SLAPTEST, /* slapd.conf test tool */
|
2004-04-16 14:12:13 +08:00
|
|
|
SLAPAUTH, /* test authz-regexp and authc/authz stuff */
|
2004-04-20 08:08:44 +08:00
|
|
|
SLAPACL, /* test acl */
|
2004-03-18 07:25:09 +08:00
|
|
|
SLAPLAST
|
2004-02-27 03:03:41 +08:00
|
|
|
};
|
|
|
|
|
|
|
|
typedef struct tool_vars {
|
|
|
|
Backend *tv_be;
|
2009-03-05 18:59:34 +08:00
|
|
|
int tv_dbnum;
|
2004-02-27 03:03:41 +08:00
|
|
|
int tv_verbose;
|
2007-08-14 21:42:40 +08:00
|
|
|
int tv_quiet;
|
2004-02-27 03:03:41 +08:00
|
|
|
int tv_update_ctxcsn;
|
|
|
|
int tv_continuemode;
|
|
|
|
int tv_nosubordinates;
|
|
|
|
int tv_dryrun;
|
2010-01-18 23:00:40 +08:00
|
|
|
int tv_scope;
|
2013-01-23 10:19:02 +08:00
|
|
|
unsigned long tv_jumpline;
|
|
|
|
struct berval tv_sub_ndn;
|
2010-01-18 23:00:40 +08:00
|
|
|
Filter *tv_filter;
|
2005-05-12 08:46:39 +08:00
|
|
|
struct LDIFFP *tv_ldiffp;
|
2004-04-20 08:08:44 +08:00
|
|
|
struct berval tv_baseDN;
|
2005-04-13 03:36:56 +08:00
|
|
|
struct berval tv_authcDN;
|
|
|
|
struct berval tv_authzDN;
|
2004-04-14 01:18:03 +08:00
|
|
|
struct berval tv_authcID;
|
|
|
|
struct berval tv_authzID;
|
2004-12-06 23:17:23 +08:00
|
|
|
struct berval tv_mech;
|
|
|
|
char *tv_realm;
|
2005-03-31 06:29:35 +08:00
|
|
|
struct berval tv_listener_url;
|
|
|
|
struct berval tv_peer_domain;
|
|
|
|
struct berval tv_peer_name;
|
|
|
|
struct berval tv_sock_name;
|
|
|
|
slap_ssf_t tv_ssf;
|
|
|
|
slap_ssf_t tv_transport_ssf;
|
|
|
|
slap_ssf_t tv_tls_ssf;
|
|
|
|
slap_ssf_t tv_sasl_ssf;
|
2005-04-01 20:59:26 +08:00
|
|
|
unsigned tv_dn_mode;
|
2007-08-29 03:35:57 +08:00
|
|
|
unsigned int tv_csnsid;
|
2010-12-07 19:58:38 +08:00
|
|
|
ber_len_t tv_ldif_wrap;
|
2010-12-07 18:50:54 +08:00
|
|
|
char tv_maxcsnbuf[ LDAP_PVT_CSNSTR_BUFSIZE * ( SLAP_SYNC_SID_MAX + 1 ) ];
|
|
|
|
struct berval tv_maxcsn[ SLAP_SYNC_SID_MAX + 1 ];
|
2004-02-27 03:03:41 +08:00
|
|
|
} tool_vars;
|
|
|
|
|
|
|
|
extern tool_vars tool_globals;
|
|
|
|
|
|
|
|
#define be tool_globals.tv_be
|
2009-03-05 18:59:34 +08:00
|
|
|
#define dbnum tool_globals.tv_dbnum
|
2004-02-27 03:03:41 +08:00
|
|
|
#define verbose tool_globals.tv_verbose
|
2007-08-14 21:42:40 +08:00
|
|
|
#define quiet tool_globals.tv_quiet
|
2006-05-29 10:41:06 +08:00
|
|
|
#define jumpline tool_globals.tv_jumpline
|
2004-02-27 03:03:41 +08:00
|
|
|
#define update_ctxcsn tool_globals.tv_update_ctxcsn
|
|
|
|
#define continuemode tool_globals.tv_continuemode
|
|
|
|
#define nosubordinates tool_globals.tv_nosubordinates
|
|
|
|
#define dryrun tool_globals.tv_dryrun
|
|
|
|
#define sub_ndn tool_globals.tv_sub_ndn
|
2010-01-18 23:00:40 +08:00
|
|
|
#define scope tool_globals.tv_scope
|
|
|
|
#define filter tool_globals.tv_filter
|
2004-02-27 03:03:41 +08:00
|
|
|
#define ldiffp tool_globals.tv_ldiffp
|
2004-04-20 08:08:44 +08:00
|
|
|
#define baseDN tool_globals.tv_baseDN
|
2005-04-13 03:36:56 +08:00
|
|
|
#define authcDN tool_globals.tv_authcDN
|
|
|
|
#define authzDN tool_globals.tv_authzDN
|
2004-04-14 01:18:03 +08:00
|
|
|
#define authcID tool_globals.tv_authcID
|
|
|
|
#define authzID tool_globals.tv_authzID
|
2004-12-06 23:17:23 +08:00
|
|
|
#define mech tool_globals.tv_mech
|
|
|
|
#define realm tool_globals.tv_realm
|
2005-03-31 06:29:35 +08:00
|
|
|
#define listener_url tool_globals.tv_listener_url
|
|
|
|
#define peer_domain tool_globals.tv_peer_domain
|
|
|
|
#define peer_name tool_globals.tv_peer_name
|
|
|
|
#define sock_name tool_globals.tv_sock_name
|
|
|
|
#define ssf tool_globals.tv_ssf
|
|
|
|
#define transport_ssf tool_globals.tv_transport_ssf
|
|
|
|
#define tls_ssf tool_globals.tv_tls_ssf
|
|
|
|
#define sasl_ssf tool_globals.tv_sasl_ssf
|
2005-04-01 20:59:26 +08:00
|
|
|
#define dn_mode tool_globals.tv_dn_mode
|
2007-08-29 03:35:57 +08:00
|
|
|
#define csnsid tool_globals.tv_csnsid
|
2010-12-07 18:14:51 +08:00
|
|
|
#define ldif_wrap tool_globals.tv_ldif_wrap
|
2010-12-07 18:50:54 +08:00
|
|
|
#define maxcsn tool_globals.tv_maxcsn
|
|
|
|
#define maxcsnbuf tool_globals.tv_maxcsnbuf
|
2010-12-07 18:14:51 +08:00
|
|
|
|
2005-04-01 20:59:26 +08:00
|
|
|
#define SLAP_TOOL_LDAPDN_PRETTY SLAP_LDAPDN_PRETTY
|
|
|
|
#define SLAP_TOOL_LDAPDN_NORMAL (SLAP_LDAPDN_PRETTY << 1)
|
2004-02-27 03:03:41 +08:00
|
|
|
|
|
|
|
void slap_tool_init LDAP_P((
|
|
|
|
const char* name,
|
|
|
|
int tool,
|
|
|
|
int argc, char **argv ));
|
|
|
|
|
2008-11-03 21:23:05 +08:00
|
|
|
int slap_tool_destroy LDAP_P((void));
|
2004-02-27 03:03:41 +08:00
|
|
|
|
2010-12-07 18:50:54 +08:00
|
|
|
int slap_tool_update_ctxcsn LDAP_P((
|
|
|
|
const char *progname,
|
|
|
|
unsigned long sid,
|
|
|
|
struct berval *bvtext ));
|
|
|
|
|
|
|
|
unsigned long slap_tool_update_ctxcsn_check LDAP_P((
|
|
|
|
const char *progname,
|
|
|
|
Entry *e ));
|
|
|
|
|
|
|
|
int slap_tool_update_ctxcsn_init LDAP_P((void));
|
|
|
|
|
|
|
|
int slap_tool_entry_check LDAP_P((
|
|
|
|
const char *progname,
|
|
|
|
Operation *op,
|
|
|
|
Entry *e,
|
|
|
|
int lineno,
|
|
|
|
const char **text,
|
|
|
|
char *textbuf,
|
|
|
|
size_t textlen ));
|
|
|
|
|
2004-02-27 03:03:41 +08:00
|
|
|
#endif /* SLAPCOMMON_H_ */
|