]> git.sur5r.net Git - openldap/blobdiff - servers/slapd/slap.h
add new ber dump routine (behind NEW_LOGGING)
[openldap] / servers / slapd / slap.h
index f9864894779ca9779ae36a3ffac1310e2353fb9a..48d69172f1326a7db33cc622817f5f2d1a70d067 100644 (file)
@@ -103,6 +103,7 @@ LDAP_BEGIN_DECL
 
 /* must match in schema_init.c */
 #define SLAPD_DN_SYNTAX                        "1.3.6.1.4.1.1466.115.121.1.12"
+#define SLAPD_NAMEUID_SYNTAX           "1.3.6.1.4.1.1466.115.121.1.34"
 #define SLAPD_GROUP_ATTR               "member"
 #define SLAPD_GROUP_CLASS              "groupOfNames"
 #define SLAPD_ROLE_ATTR                        "roleOccupant"
@@ -477,7 +478,8 @@ typedef struct slap_ss_assertion {
 } SubstringsAssertion;
 
 typedef struct slap_mr_assertion {
-       char                                    *ma_rule;       /* optional */
+       MatchingRule                            *ma_rule;       /* optional */
+       char                                    *ma_rule_text;  /* optional */
        AttributeDescription    *ma_desc;       /* optional */
        int                                             ma_dnattrs; /* boolean */
        struct berval                   *ma_value;      /* required */
@@ -525,9 +527,10 @@ typedef struct slap_filter {
 #define f_sub_final            f_un.f_un_ssa->sa_final
 #define f_mra                  f_un.f_un_mra
 #define f_mr_rule              f_un.f_un_mra->ma_rule
+#define f_mr_rule_text         f_un.f_un_mra->ma_rule_text
 #define f_mr_desc              f_un.f_un_mra->ma_desc
 #define f_mr_value             f_un.f_un_mra->ma_value
-#define        f_mr_dnaddrs    f_un.f_un_mra->ma_dnattrs
+#define        f_mr_dnattrs    f_un.f_un_mra->ma_dnattrs
 
                /* and, or, not */
                struct slap_filter *f_un_complex;
@@ -864,7 +867,7 @@ struct slap_backend_db {
                                                                0x0008U /* dn should be empty */
 
 #define SLAP_DISALLOW_BIND_SIMPLE      0x0010U /* simple authentication */
-#define SLAP_DISALLOW_BIND_KERBEROS    0x0020U /* Kerberos authentication */
+#define SLAP_DISALLOW_BIND_KRBV4       0x0020U /* Kerberos V4 authentication */
 
 #define SLAP_DISALLOW_TLS_AUTHC        0x0100U /* TLS while authenticated */
 
@@ -905,8 +908,8 @@ struct slap_conn;
 struct slap_op;
 
 typedef int (*SLAP_EXTENDED_FN) LDAP_P((
-    Backend            *be,
-    struct slap_conn           *conn,
+    BackendDB          *be,
+    struct slap_conn   *conn,
     struct slap_op             *op,
        const char              *reqoid,
     struct berval * reqdata,
@@ -1014,7 +1017,9 @@ struct slap_backend_info {
        SLAP_EXTENDED_FN bi_extended;
 
        /* Auxilary Functions */
-       int     (*bi_entry_release_rw) LDAP_P((BackendDB *bd, Entry *e, int rw));
+       int     (*bi_entry_release_rw) LDAP_P((BackendDB *bd,
+               struct slap_conn *c, struct slap_op *o,
+               Entry *e, int rw));
 
        int     (*bi_chk_referrals) LDAP_P((BackendDB *bd,
                struct slap_conn *c, struct slap_op *o,
@@ -1022,6 +1027,7 @@ struct slap_backend_info {
                const char **text ));
 
        int     (*bi_acl_group)  LDAP_P((Backend *bd,
+               struct slap_conn *c, struct slap_op *o,
                Entry *e, const char *bdn, const char *edn,
                ObjectClass *group_oc,
                AttributeDescription *group_at ));
@@ -1176,6 +1182,20 @@ typedef struct slap_conn {
 #define Statslog( level, fmt, connid, opid, arg1, arg2, arg3 )
 #endif
 
+
+#define SASLREGEX_REPLACE 10
+#define SASL_AUTHZ_SOURCE_ATTR "saslAuthzTo"
+#define SASL_AUTHZ_DEST_ATTR "saslAuthzFrom"
+
+typedef struct sasl_regexp {
+  char *match;                            /* regexp match pattern */
+  char *replace;                          /* regexp replace pattern */
+  regex_t workspace;                      /* workspace for regexp engine */
+  regmatch_t strings[SASLREGEX_REPLACE];  /* strings matching $1,$2 ... */
+  int offset[SASLREGEX_REPLACE+2];        /* offsets of $1,$2... in *replace */
+} SaslRegexp_t;
+
+
 LDAP_END_DECL
 
 #include "proto-slap.h"