Home | History | Annotate | Line # | Download | only in progs
      1 /*	$NetBSD: slapd-common.h,v 1.4 2025/09/05 21:16:33 christos Exp $	*/
      2 
      3 /* $OpenLDAP$ */
      4 /* This work is part of OpenLDAP Software <http://www.openldap.org/>.
      5  *
      6  * Copyright 1999-2024 The OpenLDAP Foundation.
      7  * All rights reserved.
      8  *
      9  * Redistribution and use in source and binary forms, with or without
     10  * modification, are permitted only as authorized by the OpenLDAP
     11  * Public License.
     12  *
     13  * A copy of this license is available in file LICENSE in the
     14  * top-level directory of the distribution or, alternatively, at
     15  * <http://www.OpenLDAP.org/license.html>.
     16  */
     17 /* ACKNOWLEDGEMENTS:
     18  * This work was initially developed by Howard Chu for inclusion
     19  * in OpenLDAP Software.
     20  */
     21 
     22 #ifndef SLAPD_COMMON_H
     23 #define SLAPD_COMMON_H
     24 
     25 typedef enum {
     26 	TESTER_TESTER,
     27 	TESTER_ADDEL,
     28 	TESTER_BIND,
     29 	TESTER_MODIFY,
     30 	TESTER_MODRDN,
     31 	TESTER_READ,
     32 	TESTER_SEARCH,
     33 	TESTER_LAST
     34 } tester_t;
     35 
     36 extern struct tester_conn_args * tester_init( const char *pname, tester_t ptype );
     37 extern char * tester_uri( char *uri );
     38 extern void tester_error( const char *msg );
     39 extern void tester_perror( const char *fname, const char *msg );
     40 extern void tester_ldap_error( LDAP *ld, const char *fname, const char *msg );
     41 extern int tester_ignore_str2errlist( const char *err );
     42 extern int tester_ignore_err( int err );
     43 
     44 struct tester_conn_args {
     45 	char *uri;
     46 
     47 	int outerloops;
     48 	int loops;
     49 	int retries;
     50 	int delay;
     51 
     52 	int chaserefs;
     53 
     54 	int authmethod;
     55 
     56 	char *binddn;
     57 	struct berval pass;
     58 
     59 #ifdef HAVE_CYRUS_SASL
     60 	char *mech;
     61 	char *realm;
     62 	char *authz_id;
     63 	char *authc_id;
     64 	char *secprops;
     65 	void *defaults;
     66 #endif
     67 };
     68 
     69 #define TESTER_INIT_ONLY (1 << 0)
     70 #define TESTER_INIT_NOEXIT (1 << 1)
     71 #define TESTER_COMMON_OPTS "CD:d:H:L:l:i:O:R:U:X:Y:r:t:w:x"
     72 #define TESTER_COMMON_HELP \
     73 	"[-C] " \
     74 	"[-D <dn> [-w <passwd>]] " \
     75 	"[-d <level>] " \
     76 	"[-H <uri>]" \
     77 	"[-i <ignore>] " \
     78 	"[-l <loops>] " \
     79 	"[-L <outerloops>] " \
     80 	"[-r <maxretries>] " \
     81 	"[-t <delay>] " \
     82 	"[-O <SASL secprops>] " \
     83 	"[-R <SASL realm>] " \
     84 	"[-U <SASL authcid> [-X <SASL authzid>]] " \
     85 	"[-x | -Y <SASL mech>] "
     86 
     87 extern int tester_config_opt( struct tester_conn_args *config, char opt, char *optarg );
     88 extern void tester_config_finish( struct tester_conn_args *config );
     89 extern void tester_init_ld( LDAP **ldp, struct tester_conn_args *conf, int flags );
     90 
     91 extern pid_t		pid;
     92 extern int			debug;
     93 
     94 #endif /* SLAPD_COMMON_H */
     95