typedef struct slap_attr_name {
struct berval an_name;
AttributeDescription *an_desc;
+ ObjectClass *an_oc;
} AttributeName;
#define slap_ad_is_lang(ad) ( (ad)->ad_lang.bv_len != 0 )
ObjectClass *si_oc_subentry;
ObjectClass *si_oc_subschema;
ObjectClass *si_oc_collectiveAttributes;
+ ObjectClass *si_oc_dynamicObject;
/* objectClass attribute descriptions */
AttributeDescription *si_ad_objectClass;
#define be_sync bd_info->bi_tool_sync
#endif
+#define SLAP_BFLAG_NOLASTMOD 0x0001U
+#define SLAP_BFLAG_GLUE_INSTANCE 0x0010U /* a glue backend */
+#define SLAP_BFLAG_GLUE_SUBORDINATE 0x0020U /* child of a glue hierarchy */
+#define SLAP_BFLAG_GLUE_LINKED 0x0040U /* child is connected to parent */
+#define SLAP_BFLAG_ALIASES 0x0100U
+#define SLAP_BFLAG_REFERRALS 0x0200U
+#define SLAP_BFLAG_SUBENTRIES 0x0400U
+#define SLAP_BFLAG_NOMONITOR 0x1000U
+ slap_mask_t be_flags;
+#define SLAP_LASTMOD(be) (!((be)->be_flags & SLAP_BFLAG_NOLASTMOD))
+#define SLAP_ALIASES(be) ((be)->be_flags & SLAP_BFLAG_ALIASES)
+#define SLAP_REFERRALS(be) ((be)->be_flags & SLAP_BFLAG_REFERRALS)
+#define SLAP_SUBENTRIES(be) ((be)->be_flags & SLAP_BFLAG_SUBENTRIES)
+#define SLAP_MONITOR(be) (!(be)->be_flags & SLAP_BFLAG_NOMONITOR))
+
slap_mask_t be_restrictops; /* restriction operations */
#define SLAP_RESTRICT_OP_ADD 0x0001U
#define SLAP_RESTRICT_OP_BIND 0x0002U
struct berval be_update_ndn; /* allowed to make changes (in replicas) */
BVarray be_update_refs; /* where to refer modifying clients to */
char *be_realm;
- int be_lastmod; /* keep track of lastmodified{by,time} */
-
-#define SLAP_GLUE_INSTANCE 0x01 /* a glue backend */
-#define SLAP_GLUE_SUBORDINATE 0x02 /* child of a glue hierarchy */
-#define SLAP_GLUE_LINKED 0x04 /* child is connected to parent */
- int be_glueflags; /* */
void *be_private; /* anything the backend database needs */
};
typedef int (BI_tool_sync) LDAP_P(( BackendDB *be ));
struct slap_backend_info {
- char *bi_type; /* type of backend */
+ char *bi_type; /* type of backend */
/*
* per backend type routines:
#define FLAG_GETDN_AUTHCID 2
#define FLAG_GETDN_AUTHZID 4
+/*
+ * listener; need to access it from monitor backend
+ */
+typedef struct slap_listener {
+ char* sl_url;
+ char* sl_name;
+#ifdef HAVE_TLS
+ int sl_is_tls;
+#endif
+#ifdef LDAP_CONNECTIONLESS
+ int sl_is_udp; /* UDP listener is also data port */
+#endif
+ ber_socket_t sl_sd;
+ Sockaddr sl_sa;
+#define sl_addr sl_sa.sa_in_addr
+} Listener;
+
LDAP_END_DECL
#include "proto-slap.h"