On 17/07/15 17:13, "Francis Lachapelle" <flachape...@inverse.ca> wrote:
> >> On Jul 17, 2015, at 1:29 AM, Yavuz Maşlak <yavuz.mas...@ihlas.com.tr> >>wrote: >> >> >> >> On 15/07/15 18:16, "Christian M. Jensen" <cmjscrip...@yahoo.com> wrote: >> >>> Hi, >>> >>> On 15-07-2015 16:56, Yavuz Maşlak wrote: >>>> >>>> On 15/07/15 16:25, "Francis Lachapelle" <flachape...@inverse.ca> >>>>wrote: >>>> >>>>> Hello Yavuz >>>>> >>>>>> On Jul 15, 2015, at 3:23 AM, Yavuz Maşlak >>>>>><yavuz.mas...@ihlas.com.tr> >>>>>> wrote: >>>>>> >>>>>> >>>>>> i have 3 domains ( for example a.com b.com c.com ). >>>>>> >>>>>> Users of A.com and b.com can see eachother but c.com >>>>>> C.com ¹s users can only see eachother but other domains. >>>>>> >>>>>> How can i do that ? >>>>>> >>>>>> Could you give me an example? >>>>> This should do it: >>>>> >>>>> SOGoDomainsVisibility = ( (a.com, b.com), (c.com) ); >>>>> >>>>> >>>>> Francis-- >>>>> users@sogo.nu >>>>> https://inverse.ca/sogo/lists >>>> I tried now. Unfortunately, it does not work. >>>> Whan can be the problem ? >>>> >>> >>> How do you define your domains in SOGo configuration? >>> >>> if your just set all your configuration in 'SOGoUserSources' then SOGo >>> has no way of detecting what user source belong to what domain >>> but if you use the 'Domains' value then 'SOGoDomainsVisibility' will >>> work as expected >>> >>> using the domain parameter: >>> >>> domains = { >>> "domain.com" = { >>> SOGoMailDomain = "domain.com"; >>> SOGoSuperUsernames = ( >>> "postmas...@domain.com" >>> ); >>> SOGoUserSources = ( >>> { >>> type = sql; >>> id = "sql-auth"; >>> isAddressBook = NO; >>> ..... >>> }, >>> { >>> type = sql; >>> id = "sql_addressbook"; >>> isAddressBook = YES; >>> ..... >>> } >>> ); >>> }; >>> "domain1.com" = { >>> SOGoMailDomain = "domain1.com"; >>> SOGoSuperUsernames = ( >>> "postmas...@domain1.com" >>> ); >>> SOGoUserSources = ( >>> { >>> type = ldap; >>> id = "ldap_auth"; >>> isAddressBook = NO; >>> ..... >>> }, >>> { >>> type = ldap; >>> id = "ldap_addressbook"; >>> isAddressBook = YES; >>> ..... >>> } >>> ); >>> }; >>> }; >>> >>> >>> Regards >>> Christian Jensen >>> -- >>> users@sogo.nu >>> https://inverse.ca/sogo/lists >> >> Hi >> >> Does ldap id have to be different for every domain in Sogousersources? >> SOGoDomainsVisibility does not work in my conf. > > > >> My sogo.conf; >> ### >> { >> SOGoDebugRequests = YES; >> LDAPDebugEnabled = YES; >> SOGoEASDebugEnabled = YES; >> WOWorkersCount = 50; >> WOPort = 127.0.0.1:20000; >> WOLogFile = /var/log/sogo/sogo.log; >> SOGoProfileURL = >> "mysql://sogo:PASS@127.0.0.1:3306/sogo/sogo_user_profile"; >> OCSFolderInfoURL = >> "mysql://sogo:PASS@127.0.0.1:3306/sogo/sogo_folder_info"; >> OCSSessionsFolderURL = >> "mysql://sogo:PASS@127.0.0.1:3306/sogo/sogo_sessions_folder"; >> SOGoLanguage = English; >> SOGoLoginModule = Mail; >> SOGoForceExternalLoginWithEmail = YES; >> SOGoMailCustomFromEnabled = YES; >> SOGoEnableEMailAlarms = YES; >> SOGoIMAPServer = "imap://127.0.0.1:143/"; >> >> SOGoDomainsVisibility = "( (domain.com, domain1.com), (domain2.com) >>)"; >> >> SOGoMailingMechanism = smtp; >> SOGoSMTPServer = 127.0.0.1; >> SOGoMemcachedHost = 127.0.0.1; >> SOGoTimeZone = "Asia/Istanbul"; >> SOGoFirstDayOfWeek = 1; >> SOGoRefreshViewCheck = every_5_minutes; >> SOGoMailReplyPlacement = below; >> SOGoAppointmentSendEMailNotifications = YES; >> SOGoFoldersSendEMailNotifications = YES; >> SOGoACLsSendEMailNotifications = YES; >> SOGoPasswordChangeEnabled = YES; >> SQL backend */ >> >> domains = { >> “domain.com" = { >> SOGoMailDomain = “domain.com"; >> SOGoUserSources = ( >> { >> type = ldap; >> hostname = "ldap://127.0.0.1:389"; >> baseDN = "o=domains,dc=root,dc=com"; >> bindDN = "cn=vmailadmin,dc=root,dc=com"; >> bindPassword = “PASS”; >> filter = "objectClass=mailUser AND accountStatus=active"; >> scope = SUB; >> userPasswordAlgorithm = ssha; >> IDFieldName = mail; >> bindFields = (mail); >> CNFieldName = cn; >> UIDFieldName = mail; >> IMAPLoginFieldName = mail; >> SearchFieldNames = (cn, sn, displayName, telephoneNumber, >> mail, shadowAddress); >> canAuthenticate = YES; >> displayName = "LDAP Auth"; >> id = ldap_auth; >> isAddressBook = NO; >> }, >> { >> type = ldap; >> hostname = "ldap://127.0.0.1:389"; >> baseDN = "o=domains,dc=root,dc=com"; >> bindDN = "cn=vmailadmin,dc=root,dc=com"; >> bindPassword = “PASS”; >> filter = "objectClass=mailUser AND accountStatus=active >>AND >> enabledService=mail"; >> scope = SUB; >> userPasswordAlgorithm = ssha; >> IDFieldName = mail; >> bindFields = (mail); >> CNFieldName = cn; >> UIDFieldName = mail; >> IMAPLoginFieldName = mail; >> SearchFieldNames = (cn, sn, displayName, telephoneNumber, >> mail, shadowAddress); >> canAuthenticate = NO; >> displayName = "Global Address Book"; >> id = ldap_addressbook; >> isAddressBook = YES; >> } >> ); >> }; >> >> “domain1.com" = { >> SOGoMailDomain = “domain1.com"; >> SOGoUserSources = ( >> { >> type = ldap; >> hostname = "ldap://127.0.0.1:389"; >> baseDN = "o=domains,dc=root,dc=com"; >> bindDN = "cn=vmailadmin,dc=root,dc=com"; >> bindPassword = “PASS”; >> filter = "objectClass=mailUser AND accountStatus=active"; >> scope = SUB; >> userPasswordAlgorithm = ssha; >> IDFieldName = mail; >> bindFields = (mail); >> CNFieldName = cn; >> UIDFieldName = mail; >> IMAPLoginFieldName = mail; >> SearchFieldNames = (cn, sn, displayName, telephoneNumber, >> mail, shadowAddress); >> canAuthenticate = YES; >> displayName = "LDAP Auth"; >> id = ldap_auth2; >> isAddressBook = NO; >> }, >> { >> type = ldap; >> hostname = "ldap://127.0.0.1:389"; >> baseDN = "o=domains,dc=root,dc=com"; >> bindDN = "cn=vmailadmin,dc=root,dc=com"; >> bindPassword = “PASS”; >> filter = "objectClass=mailUser AND accountStatus=active >>AND >> enabledService=mail"; >> scope = SUB; >> userPasswordAlgorithm = ssha; >> IDFieldName = mail; >> bindFields = (mail); >> CNFieldName = cn; >> UIDFieldName = mail; >> IMAPLoginFieldName = mail; >> SearchFieldNames = (cn, sn, displayName, telephoneNumber, >> mail, shadowAddress); >> canAuthenticate = NO; >> displayName = "Global Address Book"; >> id = ldap_addressbook2; >> isAddressBook = YES; >> } >> ); >> }; >> >> >> "domain2.com” = { >> SOGoMailDomain = "domain2.com"; >> SOGoUserSources = ( >> { >> type = ldap; >> hostname = "ldap://127.0.0.1:389"; >> baseDN = "o=domains,dc=root,dc=com"; >> bindDN = "cn=vmailadmin,dc=root,dc=com"; >> bindPassword = “PASS”; >> filter = "objectClass=mailUser AND accountStatus=active"; >> scope = SUB; >> userPasswordAlgorithm = ssha; >> IDFieldName = mail; >> bindFields = (mail); >> CNFieldName = cn; >> UIDFieldName = mail; >> IMAPLoginFieldName = mail; >> SearchFieldNames = (cn, sn, displayName, telephoneNumber, >> mail, shadowAddress); >> canAuthenticate = YES; >> displayName = "LDAP Auth"; >> id = ldap_auth3; >> isAddressBook = NO; >> }, >> { >> type = ldap; >> hostname = "ldap://127.0.0.1:389"; >> baseDN = "o=domains,dc=root,dc=com"; >> bindDN = "cn=vmailadmin,dc=root,dc=com"; >> bindPassword = “PASS”; >> filter = "objectClass=mailUser AND accountStatus=active >>AND >> enabledService=mail"; >> scope = SUB; >> userPasswordAlgorithm = ssha; >> IDFieldName = mail; >> bindFields = (mail); >> CNFieldName = cn; >> UIDFieldName = mail; >> IMAPLoginFieldName = mail; >> SearchFieldNames = (cn, sn, displayName, telephoneNumber, >> mail, shadowAddress); >> canAuthenticate = NO; >> displayName = "Global Address Book"; >> id = ldap_addressbook3; >> isAddressBook = YES; >> } >> ); >> }; >> } >> ### > >How do you test your "domain visibility" settings exactly? > >A user from domain.com should see all system addressbooks from domain.com >and domain1.com. Maybe you have unique display names for your >addressbooks ldap_addressbook and ldap_addressbook2. > >Francis-- >users@sogo.nu >https://inverse.ca/sogo/lists I test with SOGo web page such as https://server/SOGo Unfortunately when i log in the server as u...@domain.com, i can see either all users belong to domain3.com and other domains. -- users@sogo.nu https://inverse.ca/sogo/lists