/* $OpenLDAP$ */
/* This work is part of OpenLDAP Software <http://www.openldap.org/>.
*
- * Copyright 1999-2004 The OpenLDAP Foundation.
+ * Copyright 1999-2006 The OpenLDAP Foundation.
* Portions Copyright 1999-2003 Howard Chu.
* Portions Copyright 2000-2003 Pierangelo Masarati.
* All rights reserved.
LDAP_BEGIN_DECL
+/* define to enable referral DN massage by default */
+#undef RWM_REFERRAL_REWRITE
+
struct ldapmap {
int drop_missing;
*/
struct ldapmap rwm_oc;
struct ldapmap rwm_at;
+
+#define RWM_F_NONE 0x0000U
+#define RWM_F_SUPPORT_T_F 0x4000U
+#define RWM_F_SUPPORT_T_F_DISCOVER 0x8000U
+ unsigned rwm_flags;
};
/* Whatever context ldap_back_dn_massage needs... */
Connection *conn;
char *ctx;
SlapReply *rs;
-#else
+#else /* !ENABLE_REWRITE */
int normalized;
int tofrom;
-#endif
+#endif /* !ENABLE_REWRITE */
} dncookie;
-int rwm_dn_massage( dncookie *dc, struct berval *in,
- struct berval *dn, struct berval *ndn );
+int rwm_dn_massage( dncookie *dc, struct berval *in, struct berval *dn );
+int rwm_dn_massage_pretty( dncookie *dc, struct berval *in, struct berval *pdn );
+int rwm_dn_massage_normalize( dncookie *dc, struct berval *in, struct berval *ndn );
+int rwm_dn_massage_pretty_normalize( dncookie *dc, struct berval *in, struct berval *pdn, struct berval *ndn );
/* attributeType/objectClass mapping */
int rwm_mapping_cmp (const void *, const void *);
int remap );
int rwm_mapping ( struct ldapmap *map, struct berval *s,
struct ldapmapping **m, int remap );
-#define RWM_MAP 0
+#define RWM_MAP 0
#define RWM_REMAP 1
char *
rwm_map_filter(
AttributeName **anp,
int remap );
+extern void rwm_mapping_dst_free ( void *mapping );
+
extern void rwm_mapping_free ( void *mapping );
extern int rwm_map_config(
extern int
rwm_filter_map_rewrite(
+ Operation *op,
dncookie *dc,
Filter *f,
struct berval *fstr );
void *cookie,
BerVarray a_vals,
BerVarray *pa_nvals );
+extern int rwm_referral_rewrite(
+ Operation *op,
+ SlapReply *rs,
+ void *cookie,
+ BerVarray a_vals,
+ BerVarray *pa_nvals );
extern int rwm_dnattr_result_rewrite( dncookie *dc, BerVarray a_vals );
+extern int rwm_referral_result_rewrite( dncookie *dc, BerVarray a_vals );
LDAP_END_DECL