not returning glue entries unless manageDSAit is set

This commit is contained in:
Jong Hyuk Choi 2003-06-25 16:22:08 +00:00
parent e995b2fd35
commit 5d203d0cc5
3 changed files with 16 additions and 2 deletions

View File

@ -1082,6 +1082,13 @@ id2entry_retry:
goto loop_continue; goto loop_continue;
} }
#ifdef LDAP_SYNCREPL
if ( !manageDSAit && is_entry_glue( e ) )
{
goto loop_continue;
}
#endif
/* if it matches the filter and scope, send it */ /* if it matches the filter and scope, send it */
#if defined(LDAP_CLIENT_UPDATE) || defined(LDAP_SYNC) #if defined(LDAP_CLIENT_UPDATE) || defined(LDAP_SYNC)
if (IS_PSEARCH) { if (IS_PSEARCH) {

View File

@ -715,6 +715,12 @@ LDAP_SLAPD_F (int) is_entry_objectclass LDAP_P((
(((e)->e_ocflags & SLAP_OC__END) \ (((e)->e_ocflags & SLAP_OC__END) \
? (((e)->e_ocflags & SLAP_OC_DYNAMICOBJECT) != 0) \ ? (((e)->e_ocflags & SLAP_OC_DYNAMICOBJECT) != 0) \
: is_entry_objectclass((e), slap_schema.si_oc_dynamicObject, 1)) : is_entry_objectclass((e), slap_schema.si_oc_dynamicObject, 1))
#ifdef LDAP_SYNCREPL
#define is_entry_glue(e) \
(((e)->e_ocflags & SLAP_OC__END) \
? (((e)->e_ocflags & SLAP_OC_GLUE) != 0) \
: is_entry_objectclass((e), slap_schema.si_oc_glue, 1))
#endif
LDAP_SLAPD_F (int) oc_schema_info( Entry *e ); LDAP_SLAPD_F (int) oc_schema_info( Entry *e );

View File

@ -647,8 +647,9 @@ typedef struct slap_object_class {
#define SLAP_OC_SUBENTRY 0x0004 #define SLAP_OC_SUBENTRY 0x0004
#define SLAP_OC_DYNAMICOBJECT 0x0008 #define SLAP_OC_DYNAMICOBJECT 0x0008
#define SLAP_OC_COLLECTIVEATTRIBUTESUBENTRY 0x0010 #define SLAP_OC_COLLECTIVEATTRIBUTESUBENTRY 0x0010
#define SLAP_OC__MASK 0x001F #define SLAP_OC_GLUE 0x0020
#define SLAP_OC__END 0x0020 #define SLAP_OC__MASK 0x003F
#define SLAP_OC__END 0x0040
#define SLAP_OC_OPERATIONAL 0x4000 #define SLAP_OC_OPERATIONAL 0x4000
#ifdef LDAP_DEVEL #ifdef LDAP_DEVEL
#define SLAP_OC_HIDE 0x0000 #define SLAP_OC_HIDE 0x0000