slapcommon.h 3.94 KB
Newer Older
1
2
3
4
/* slapcommon.h - common definitions for the slap tools */
/* $OpenLDAP$ */
/* This work is part of OpenLDAP Software <http://www.openldap.org/>.
 *
Kurt Zeilenga's avatar
Kurt Zeilenga committed
5
 * Copyright 1998-2013 The OpenLDAP Foundation.
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
 * 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 */
26
	SLAPDN,		/* DN check w/ syntax tool */
27
	SLAPINDEX,	/* database index tool */
28
	SLAPMODIFY,	/* database modify tool */
29
	SLAPPASSWD,	/* password generation tool */
30
	SLAPSCHEMA,	/* schema checking tool */
31
	SLAPTEST,	/* slapd.conf test tool */
Kurt Zeilenga's avatar
Kurt Zeilenga committed
32
	SLAPAUTH,	/* test authz-regexp and authc/authz stuff */
Pierangelo Masarati's avatar
Pierangelo Masarati committed
33
	SLAPACL,	/* test acl */
34
	SLAPLAST
35
36
37
38
};

typedef struct tool_vars {
	Backend *tv_be;
Pierangelo Masarati's avatar
Pierangelo Masarati committed
39
	int tv_dbnum;
40
	int tv_verbose;
41
	int tv_quiet;
42
43
44
45
	int tv_update_ctxcsn;
	int tv_continuemode;
	int tv_nosubordinates;
	int tv_dryrun;
46
	int tv_scope;
47
48
	unsigned long tv_jumpline;
	struct berval tv_sub_ndn;
49
	Filter *tv_filter;
50
	struct LDIFFP	*tv_ldiffp;
Pierangelo Masarati's avatar
Pierangelo Masarati committed
51
	struct berval tv_baseDN;
52
53
	struct berval tv_authcDN;
	struct berval tv_authzDN;
54
55
	struct berval tv_authcID;
	struct berval tv_authzID;
56
57
	struct berval tv_mech;
	char	*tv_realm;
58
59
60
61
62
63
64
65
	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;
66
	unsigned tv_dn_mode;
67
	unsigned int tv_csnsid;
Pierangelo Masarati's avatar
Pierangelo Masarati committed
68
	ber_len_t tv_ldif_wrap;
69
70
	char tv_maxcsnbuf[ LDAP_PVT_CSNSTR_BUFSIZE * ( SLAP_SYNC_SID_MAX + 1 ) ];
	struct berval tv_maxcsn[ SLAP_SYNC_SID_MAX + 1 ];
71
72
73
74
75
} tool_vars;

extern tool_vars tool_globals;

#define	be tool_globals.tv_be
Pierangelo Masarati's avatar
Pierangelo Masarati committed
76
#define	dbnum tool_globals.tv_dbnum
77
#define verbose tool_globals.tv_verbose
78
#define quiet tool_globals.tv_quiet
79
#define jumpline tool_globals.tv_jumpline
80
81
82
83
84
#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
85
86
#define scope tool_globals.tv_scope
#define filter tool_globals.tv_filter
87
#define ldiffp tool_globals.tv_ldiffp
Pierangelo Masarati's avatar
Pierangelo Masarati committed
88
#define baseDN tool_globals.tv_baseDN
89
90
#define authcDN tool_globals.tv_authcDN
#define authzDN tool_globals.tv_authzDN
91
92
#define authcID tool_globals.tv_authcID
#define authzID tool_globals.tv_authzID
93
94
#define mech tool_globals.tv_mech
#define realm tool_globals.tv_realm
95
96
97
98
99
100
101
102
#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
103
#define dn_mode tool_globals.tv_dn_mode
104
#define csnsid tool_globals.tv_csnsid
105
#define ldif_wrap tool_globals.tv_ldif_wrap
106
107
#define maxcsn tool_globals.tv_maxcsn
#define maxcsnbuf tool_globals.tv_maxcsnbuf
108

109
110
#define SLAP_TOOL_LDAPDN_PRETTY		SLAP_LDAPDN_PRETTY
#define SLAP_TOOL_LDAPDN_NORMAL		(SLAP_LDAPDN_PRETTY << 1)
111
112
113
114
115
116

void slap_tool_init LDAP_P((
	const char* name,
	int tool,
	int argc, char **argv ));

117
int slap_tool_destroy LDAP_P((void));
118

119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
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 ));

139
#endif /* SLAPCOMMON_H_ */