/*
* Submatch escape char
*/
-//#define REWRITE_SUBMATCH_ESCAPE '\\'
+/* the '\' conflicts with slapd.conf parsing */
+/* #define REWRITE_SUBMATCH_ESCAPE '\\' */
#define REWRITE_SUBMATCH_ESCAPE '%'
/*
* PRIVATE *
***********/
+LDAP_REWRITE_V (struct rewrite_context*) __curr_context;
/*
* Maps
/*
* Parses a map (also in legacy 'x' version)
*/
-extern struct rewrite_map *
+LDAP_REWRITE_F (struct rewrite_map *)
rewrite_map_parse(
struct rewrite_info *info,
const char *s,
const char **end
);
-extern struct rewrite_map *
+LDAP_REWRITE_F (struct rewrite_map *)
rewrite_xmap_parse(
struct rewrite_info *info,
const char *s,
/*
* Resolves key in val by means of map (also in legacy 'x' version)
*/
-extern int
+LDAP_REWRITE_F (int)
rewrite_map_apply(
struct rewrite_info *info,
struct rewrite_op *op,
struct berval *val
);
-extern int
+LDAP_REWRITE_F (int)
rewrite_xmap_apply(
struct rewrite_info *info,
struct rewrite_op *op,
/*
* Compiles a substitution pattern
*/
-extern struct rewrite_subst *
+LDAP_REWRITE_F (struct rewrite_subst *)
rewrite_subst_compile(
struct rewrite_info *info,
const char *result
* Substitutes a portion of rewritten string according to substitution
* pattern using submatches
*/
-extern int
+LDAP_REWRITE_F (int)
rewrite_subst_apply(
struct rewrite_info *info,
struct rewrite_op *op,
/*
* Compiles the rule and appends it at the running context
*/
-extern int
+LDAP_REWRITE_F (int)
rewrite_rule_compile(
struct rewrite_info *info,
struct rewrite_context *context,
* REWRITE_REGEXEC_UNWILL: rule matched; force 'unwilling to perform'
* REWRITE_REGEXEC_ERR: an error occurred
*/
-extern int
+LDAP_REWRITE_F (int)
rewrite_rule_apply(
struct rewrite_info *info,
struct rewrite_op *op,
/*
* Fetches a struct rewrite_session
*/
-extern struct rewrite_session *
+LDAP_REWRITE_F (struct rewrite_session *)
rewrite_session_find(
struct rewrite_info *info,
const void *cookie
/*
* Defines and inits a variable with session scope
*/
-extern int
+LDAP_REWRITE_F (int)
rewrite_session_var_set(
struct rewrite_info *info,
const void *cookie,
/*
* Gets a var with session scope
*/
-extern int
+LDAP_REWRITE_F (int)
rewrite_session_var_get(
struct rewrite_info *info,
const void *cookie,
/*
* Deletes a session
*/
-extern int
+LDAP_REWRITE_F (int)
rewrite_session_delete(
struct rewrite_info *info,
const void *cookie
/*
* Destroys the cookie tree
*/
-extern int
+LDAP_REWRITE_F (int)
rewrite_session_destroy(
struct rewrite_info *info
);
/*
* Finds a var
*/
-extern struct rewrite_var *
+LDAP_REWRITE_F (struct rewrite_var *)
rewrite_var_find(
Avlnode *tree,
const char *name
/*
* Inserts a newly created var
*/
-extern struct rewrite_var *
+LDAP_REWRITE_F (struct rewrite_var *)
rewrite_var_insert(
Avlnode **tree,
const char *name,
/*
* Sets/inserts a var
*/
-extern struct rewrite_var *
+LDAP_REWRITE_F (struct rewrite_var *)
rewrite_var_set(
Avlnode **tree,
const char *name,
/*
* Deletes a var tree
*/
-extern int
+LDAP_REWRITE_F (int)
rewrite_var_delete(
Avlnode *tree
);
/*
* Finds the context named rewriteContext in the context tree
*/
-extern struct rewrite_context *
+LDAP_REWRITE_F (struct rewrite_context *)
rewrite_context_find(
struct rewrite_info *info,
const char *rewriteContext
/*
* Creates a new context called rewriteContext and stores in into the tree
*/
-extern struct rewrite_context *
+LDAP_REWRITE_F (struct rewrite_context *)
rewrite_context_create(
struct rewrite_info *info,
const char *rewriteContext
* STOP: fine, rule matched; stop processing following rules
* UNWILL: rule matched; force 'unwilling to perform'
*/
-extern int
+LDAP_REWRITE_F (int)
rewrite_context_apply(
struct rewrite_info *info,
struct rewrite_op *op,