When using dynamic domains with SQL sources (DomainFieldName),
let WebUI and dav lookups return entries from current domain
and other domains visible from the originating domain.
Fixes#2269
SQLSource.m: _visibleDomainsQualifierFromDomain:
returns a EOQualifier OR'ing all visible domains from specified domain
(including specified domain)
SQLSource.m: allEntryIDsVisibleFromDomain
Replacement for allEntryIDs.
Instead of returning all entries from the sql source,
only return the entries visible from the specified domain.
SoObjects/SOGo/SQLSource.m: allEntryIDs
Changed to call allEntryIDsVisibleFromDomain with an empty domain.
SQLSource.m fetchContactsMatching:inDomain:
Use _visibleDomainsQualifierFromDomain to filter entries
LDAPSource.m: allEntryIDsVisibleFromDomain
Simply call allEntryIDs, discarding the domain.
LDAP does need to do the extra domain filtering
SOGoContactSourceFolder.m: toOneRelationshipKeys
Call new method: allEntryIDsVisibleFromDomain
This is now usable again.
- Don't delete password files in mapistoreCleanup()
- reworked the ldb cleanup and enabled it
- sql cleanup should now be able to figure out the db info from the config
regardless of the format used (xml, plist, sogo.conf or GNUstepDefaults)
(We really need a python plist parser.. the current solution is not elegant)
- Inform user of missing python packages
This new class uses vobject.ics_diff() to compare 2 VCALENDAR components.
We should use this instead of textually comparing events for equality
in future tests.
Otherwise, we would hold one ldap connection for each member of a group.
And close them all later. With large groups, we could hit the open file limit
(or the open file limit of the ldap server).
Fixes#2256
Most of the time, the remote-host will contain data from the x-forwarded-for header.
Which could have more than one ip in it if the request went through multiple proxies.
eg. x-forwarded-for: real.client.ip, load.balancer.ip