]> git.sur5r.net Git - openldap/blobdiff - servers/slapd/slap.h
ITS#7256 A few issues discovered during testing slapmodify.
[openldap] / servers / slapd / slap.h
index 1f28a4a0208dc72fd23078b7983d89cbadafa888..6ba87ca5d357ccbd787b8f0b3e2bd90406449732 100644 (file)
@@ -2,7 +2,7 @@
 /* $OpenLDAP$ */
 /* This work is part of OpenLDAP Software <http://www.openldap.org/>.
  *
- * Copyright 1998-2012 The OpenLDAP Foundation.
+ * Copyright 1998-2014 The OpenLDAP Foundation.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -58,7 +58,6 @@
 
 LDAP_BEGIN_DECL
 
-#ifdef LDAP_DEVEL
 #define LDAP_COLLECTIVE_ATTRIBUTES
 #define LDAP_COMP_MATCH
 #define LDAP_SYNC_TIMESTAMP
@@ -68,7 +67,6 @@ LDAP_BEGIN_DECL
 #ifndef SLAP_SCHEMA_EXPOSE
 #define SLAP_SCHEMA_EXPOSE
 #endif
-#endif
 
 #define LDAP_DYNAMIC_OBJECTS
 #define SLAP_CONTROL_X_TREE_DELETE LDAP_CONTROL_X_TREE_DELETE
@@ -1605,6 +1603,8 @@ LDAP_SLAPD_V (int) slapMode;
 #define SLAP_TOOL_NO_SCHEMA_CHECK      0x1000
 #define SLAP_TOOL_VALUE_CHECK  0x2000
 
+#define SLAP_SERVER_RUNNING    0x8000
+
 #define SB_TLS_DEFAULT         (-1)
 #define SB_TLS_OFF             0
 #define SB_TLS_ON              1
@@ -1823,6 +1823,7 @@ struct BackendDB {
 #define                be_sync bd_info->bi_tool_sync
 #define                be_dn2id_get bd_info->bi_tool_dn2id_get
 #define                be_entry_modify bd_info->bi_tool_entry_modify
+#define                be_entry_delete bd_info->bi_tool_entry_delete
 #endif
 
        /* supported controls */
@@ -1852,11 +1853,13 @@ struct BackendDB {
 #define SLAP_DBFLAG_ACL_ADD            0x20000U /* check attr ACLs on adds */
 #define SLAP_DBFLAG_SYNC_SUBENTRY      0x40000U /* use subentry for context */
 #define SLAP_DBFLAG_MULTI_SHADOW       0x80000U /* uses mirrorMode/multi-master */
+#define SLAP_DBFLAG_DISABLED   0x100000U
        slap_mask_t     be_flags;
 #define SLAP_DBFLAGS(be)                       ((be)->be_flags)
 #define SLAP_NOLASTMOD(be)                     (SLAP_DBFLAGS(be) & SLAP_DBFLAG_NOLASTMOD)
 #define SLAP_LASTMOD(be)                       (!SLAP_NOLASTMOD(be))
 #define SLAP_DBHIDDEN(be)                      (SLAP_DBFLAGS(be) & SLAP_DBFLAG_HIDDEN)
+#define SLAP_DBDISABLED(be)                    (SLAP_DBFLAGS(be) & SLAP_DBFLAG_DISABLED)
 #define SLAP_DB_ONE_SUFFIX(be)         (SLAP_DBFLAGS(be) & SLAP_DBFLAG_ONE_SUFFIX)
 #define SLAP_ISOVERLAY(be)                     (SLAP_DBFLAGS(be) & SLAP_DBFLAG_OVERLAY)
 #define SLAP_ISGLOBALOVERLAY(be)               (SLAP_DBFLAGS(be) & SLAP_DBFLAG_GLOBAL_OVERLAY)
@@ -2198,6 +2201,8 @@ typedef int (BI_tool_sync) LDAP_P(( BackendDB *be ));
 typedef ID (BI_tool_dn2id_get) LDAP_P(( BackendDB *be, struct berval *dn ));
 typedef ID (BI_tool_entry_modify) LDAP_P(( BackendDB *be, Entry *e, 
        struct berval *text ));
+typedef int (BI_tool_entry_delete) LDAP_P(( BackendDB *be, ID id,
+       struct berval *text ));
 
 struct BackendInfo {
        char    *bi_type; /* type of backend */
@@ -2297,6 +2302,7 @@ struct BackendInfo {
        BI_tool_sync            *bi_tool_sync;
        BI_tool_dn2id_get       *bi_tool_dn2id_get;
        BI_tool_entry_modify    *bi_tool_entry_modify;
+       BI_tool_entry_delete    *bi_tool_entry_delete;
 
 #define SLAP_INDEX_ADD_OP              0x0001
 #define SLAP_INDEX_DELETE_OP   0x0002
@@ -2316,6 +2322,7 @@ struct BackendInfo {
 #define        SLAPO_BFLAG_SINGLE              0x01000000U
 #define        SLAPO_BFLAG_DBONLY              0x02000000U
 #define        SLAPO_BFLAG_GLOBONLY            0x04000000U
+#define        SLAPO_BFLAG_DISABLED            0x08000000U
 #define        SLAPO_BFLAG_MASK                0xFF000000U
 
 #define SLAP_BFLAGS(be)                ((be)->bd_info->bi_flags)
@@ -2334,6 +2341,7 @@ struct BackendInfo {
 #define SLAPO_SINGLE(be)       (SLAP_BFLAGS(be) & SLAPO_BFLAG_SINGLE)
 #define SLAPO_DBONLY(be)       (SLAP_BFLAGS(be) & SLAPO_BFLAG_DBONLY)
 #define SLAPO_GLOBONLY(be)     (SLAP_BFLAGS(be) & SLAPO_BFLAG_GLOBONLY)
+#define SLAPO_DISABLED(be)     (SLAP_BFLAGS(be) & SLAPO_BFLAG_DISABLED)
 
        char    **bi_controls;          /* supported controls */
        char    bi_ctrls[SLAP_MAX_CIDS + 1];
@@ -2904,6 +2912,7 @@ struct Connection {
        void    *c_sasl_authctx;        /* SASL authentication context */
        void    *c_sasl_sockctx;        /* SASL security layer context */
        void    *c_sasl_extra;          /* SASL session extra stuff */
+       void    *c_sasl_cbind;          /* SASL channel binding */
        Operation       *c_sasl_bindop; /* set to current op if it's a bind */
 
 #ifdef LDAP_X_TXN
@@ -2987,9 +2996,7 @@ struct Listener {
        ber_socket_t sl_sd;
        Sockaddr sl_sa;
 #define sl_addr        sl_sa.sa_in_addr
-#ifdef LDAP_DEVEL
 #define LDAP_TCP_BUFFER
-#endif
 #ifdef LDAP_TCP_BUFFER
        int     sl_tcp_rmem;    /* custom TCP read buffer size */
        int     sl_tcp_wmem;    /* custom TCP write buffer size */