General discussion on installation and configuration of SOGo

Text archives Help


Re: [SOGo] Outlook clients failure (MAPIStoreIOException)


Chronological Thread 
  • From: Harold Fines < >
  • To: Users < >
  • Subject: Re: [SOGo] Outlook clients failure (MAPIStoreIOException)
  • Date: Wed, 28 Oct 2015 22:13:41 +0000 (UTC)

Unfortunately none of the suggestions had any affect. I had to change my config so as to force login to IMAP/SOGo by AD username instead of mail address (and go back to a clean samba/mysql store) and then it started working (Samba crashes during folder sync but thats a whole other issue (posted to the list)).

Since OCSManager/rpcproxy was requesting credentials in the form of "sAMAccountName"/password upon Outlook connections (whereas Dovecot and SOGo where expecting ) my theory is that it could not get access to the mailbox/maildir. Thoughts?

26. Oct 2015 12:40 by

Similar issue as https://lists.inverse.ca/sogo/arc/users/2015-06/msg00085.html

I'm using Debian 8 Jessie with Inverse's own packages. Everything is working (SOGo webmail, Dovecot, Postfix, etc) except "full Exchange" clients (Oulook 2007/2010/2013 (Outlook 2013 configured to use ActiveSync is working fine)). As the first Exchange client connects i get the following in log.samba:

2015-10-26 13:16:53.928 samba[15969] [SOGo: sogo_backend_list_contexts:319] - EXCEPTION: MAPIStoreIOException, reason: 'OCSFolderInfoURL' is not set, backtrace:
    /usr/lib/libgnustep-base.so.1.24(+0x232e96) [0x7ff61dcc2e96]
    /usr/lib/libgnustep-base.so.1.24(+0x233bbc) [0x7ff61dcc3bbc]
    /usr/lib/libgnustep-base.so.1.24(+0x2337a3) [0x7ff61dcc37a3]
    /usr/lib/GNUstep/SOGo/SOGoBackend.MAPIStore/./SOGoBackend(+0x608cc) [0x7ff610e6e8cc]
    /usr/lib/GNUstep/SOGo/SOGoBackend.MAPIStore/./SOGoBackend(+0x60913) [0x7ff610e6e913]
    /usr/lib/GNUstep/SOGo/SOGoBackend.MAPIStore/./SOGoBackend(+0xa5d34) [0x7ff610eb3d34]
    /usr/lib/GNUstep/SOGo/SOGoBackend.MAPIStore/./SOGoBackend(+0x67dd5) [0x7ff610e75dd5]
    /usr/lib/x86_64-linux-gnu/mapistore_backends/SOGo.so(+0x3047) [0x7ff61e5a2047]
    /usr/lib/x86_64-linux-gnu/libmapistore.so.0(mapistore_backend_list_contexts+0x9e) [0x7ff6211f49e2]
    /usr/lib/x86_64-linux-gnu/libmapistore.so.0(mapistore_list_contexts_for_user+0x56) [0x7ff6211eff47]
    /usr/lib/x86_64-linux-gnu/openchange/dcerpc_mapiproxy_server/exchange_emsmdb.so(emsmdbp_mailbox_provision+0xcc) [0x7ff61f9f3704]
    /usr/lib/x86_64-linux-gnu/openchange/dcerpc_mapiproxy_server/exchange_emsmdb.so(+0x22691) [0x7ff61f9f6691]
    /usr/lib/x86_64-linux-gnu/openchange/dcerpc_mapiproxy_server/exchange_emsmdb.so(EcDoRpc_RopLogon+0x144) [0x7ff61f9f6dbf]
    /usr/lib/x86_64-linux-gnu/openchange/dcerpc_mapiproxy_server/exchange_emsmdb.so(+0xf6dd) [0x7ff61f9e36dd]
    /usr/lib/x86_64-linux-gnu/openchange/dcerpc_mapiproxy_server/exchange_emsmdb.so(+0x10b9c) [0x7ff61f9e4b9c]
    /usr/lib/x86_64-linux-gnu/openchange/dcerpc_mapiproxy_server/exchange_emsmdb.so(+0x112e4) [0x7ff61f9e52e4]
    /usr/lib/x86_64-linux-gnu/libmapiproxy.so.0(mapiproxy_server_dispatch+0xad) [0x7ff6226be6bf]
    /usr/lib/x86_64-linux-gnu/samba/dcerpc_server/dcesrv_mapiproxy.so(+0x1dd1e) [0x7ff622917d1e]
    /usr/lib/x86_64-linux-gnu/libdcerpc-server.so.0(dcesrv_process_ncacn_packet+0x4b9) [0x7ff62d89a169]
    /usr/lib/x86_64-linux-gnu/libdcerpc-server.so.0(+0x66d5a) [0x7ff62d89ad5a]
    /usr/lib/x86_64-linux-gnu/libdcerpc-binding.so.0(+0x10007) [0x7ff63df65007]
    /usr/lib/x86_64-linux-gnu/samba/libsamba-sockets.so.0(+0xa0d9) [0x7ff63aadb0d9]
    /usr/lib/x86_64-linux-gnu/samba/libsamba-sockets.so.0(+0x8fab) [0x7ff63aad9fab]
    /usr/lib/x86_64-linux-gnu/libtevent.so.0(tevent_common_loop_immediate+0xd4) [0x7ff63d4e67c4]
    /usr/lib/x86_64-linux-gnu/libtevent.so.0(+0x908e) [0x7ff63d4eb08e]
    /usr/lib/x86_64-linux-gnu/libtevent.so.0(+0x7797) [0x7ff63d4e9797]
    /usr/lib/x86_64-linux-gnu/libtevent.so.0(_tevent_loop_once+0x8d) [0x7ff63d4e5f9d]
    /usr/lib/x86_64-linux-gnu/libtevent.so.0(tevent_common_loop_wait+0x1b) [0x7ff63d4e613b]
    /usr/lib/x86_64-linux-gnu/libtevent.so.0(+0x7737) [0x7ff63d4e9737]
    /usr/lib/x86_64-linux-gnu/samba/process_model/standard.so(+0x1655) [0x7ff6325f8655]
    /usr/lib/x86_64-linux-gnu/samba/libservice.so.0(task_server_startup+0x4f) [0x7ff64030f00f]
    /usr/lib/x86_64-linux-gnu/samba/libservice.so.0(server_service_startup+0x92) [0x7ff64030dcd2]
    /usr/sbin/samba(+0x99fd) [0x7ff64161a9fd]
    /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf5) [0x7ff63d15ab45]
    /usr/sbin/samba(+0x5dee) [0x7ff641616dee]
2015-10-26 13:16:53.929 samba[15969] Backtrace using execinfo.h:
2015-10-26 13:16:53.929 samba[15969]     /usr/lib/x86_64-linux-gnu/mapistore_backends/SOGo.so(+0x2508) [0x7ff61e5a1508]
2015-10-26 13:16:53.929 samba[15969]     /usr/lib/x86_64-linux-gnu/mapistore_backends/SOGo.so(+0x30dc) [0x7ff61e5a20dc]
2015-10-26 13:16:53.929 samba[15969]     /usr/lib/x86_64-linux-gnu/libmapistore.so.0(mapistore_backend_list_contexts+0x9e) [0x7ff6211f49e2]
2015-10-26 13:16:53.929 samba[15969]     /usr/lib/x86_64-linux-gnu/libmapistore.so.0(mapistore_list_contexts_for_user+0x56) [0x7ff6211eff47]
2015-10-26 13:16:53.929 samba[15969]     /usr/lib/x86_64-linux-gnu/openchange/dcerpc_mapiproxy_server/exchange_emsmdb.so(emsmdbp_mailbox_provision+0xcc) [0x7ff61f9f3704]
2015-10-26 13:16:53.929 samba[15969]     /usr/lib/x86_64-linux-gnu/openchange/dcerpc_mapiproxy_server/exchange_emsmdb.so(+0x22691) [0x7ff61f9f6691]
2015-10-26 13:16:53.929 samba[15969]     /usr/lib/x86_64-linux-gnu/openchange/dcerpc_mapiproxy_server/exchange_emsmdb.so(EcDoRpc_RopLogon+0x144) [0x7ff61f9f6dbf]
2015-10-26 13:16:53.929 samba[15969]     /usr/lib/x86_64-linux-gnu/openchange/dcerpc_mapiproxy_server/exchange_emsmdb.so(+0xf6dd) [0x7ff61f9e36dd]
2015-10-26 13:16:53.929 samba[15969]     /usr/lib/x86_64-linux-gnu/openchange/dcerpc_mapiproxy_server/exchange_emsmdb.so(+0x10b9c) [0x7ff61f9e4b9c]
2015-10-26 13:16:53.929 samba[15969]     /usr/lib/x86_64-linux-gnu/openchange/dcerpc_mapiproxy_server/exchange_emsmdb.so(+0x112e4) [0x7ff61f9e52e4]
2015-10-26 13:16:53.929 samba[15969]     /usr/lib/x86_64-linux-gnu/libmapiproxy.so.0(mapiproxy_server_dispatch+0xad) [0x7ff6226be6bf]
2015-10-26 13:16:53.929 samba[15969]     /usr/lib/x86_64-linux-gnu/samba/dcerpc_server/dcesrv_mapiproxy.so(+0x1dd1e) [0x7ff622917d1e]
2015-10-26 13:16:53.929 samba[15969]     /usr/lib/x86_64-linux-gnu/libdcerpc-server.so.0(dcesrv_process_ncacn_packet+0x4b9) [0x7ff62d89a169]
2015-10-26 13:16:53.929 samba[15969]     /usr/lib/x86_64-linux-gnu/libdcerpc-server.so.0(+0x66d5a) [0x7ff62d89ad5a]
2015-10-26 13:16:53.929 samba[15969]     /usr/lib/x86_64-linux-gnu/libdcerpc-binding.so.0(+0x10007) [0x7ff63df65007]
2015-10-26 13:16:53.929 samba[15969]     /usr/lib/x86_64-linux-gnu/samba/libsamba-sockets.so.0(+0xa0d9) [0x7ff63aadb0d9]
2015-10-26 13:16:53.929 samba[15969]     /usr/lib/x86_64-linux-gnu/samba/libsamba-sockets.so.0(+0x8fab) [0x7ff63aad9fab]
2015-10-26 13:16:53.929 samba[15969]     /usr/lib/x86_64-linux-gnu/libtevent.so.0(tevent_common_loop_immediate+0xd4) [0x7ff63d4e67c4]
2015-10-26 13:16:53.929 samba[15969]     /usr/lib/x86_64-linux-gnu/libtevent.so.0(+0x908e) [0x7ff63d4eb08e]
2015-10-26 13:16:53.929 samba[15969]     /usr/lib/x86_64-linux-gnu/libtevent.so.0(+0x7797) [0x7ff63d4e9797]
2015-10-26 13:16:53.929 samba[15969]     /usr/lib/x86_64-linux-gnu/libtevent.so.0(_tevent_loop_once+0x8d) [0x7ff63d4e5f9d]
2015-10-26 13:16:53.929 samba[15969]     /usr/lib/x86_64-linux-gnu/libtevent.so.0(tevent_common_loop_wait+0x1b) [0x7ff63d4e613b]
2015-10-26 13:16:53.929 samba[15969]     /usr/lib/x86_64-linux-gnu/libtevent.so.0(+0x7737) [0x7ff63d4e9737]
2015-10-26 13:16:53.929 samba[15969]     /usr/lib/x86_64-linux-gnu/samba/process_model/standard.so(+0x1655) [0x7ff6325f8655]
2015-10-26 13:16:53.929 samba[15969]     /usr/lib/x86_64-linux-gnu/samba/libservice.so.0(task_server_startup+0x4f) [0x7ff64030f00f]
2015-10-26 13:16:53.929 samba[15969]     /usr/lib/x86_64-linux-gnu/samba/libservice.so.0(server_service_startup+0x92) [0x7ff64030dcd2]
2015-10-26 13:16:53.929 samba[15969]     /usr/sbin/samba(+0x99fd) [0x7ff64161a9fd]
2015-10-26 13:16:53.929 samba[15969]     /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf5) [0x7ff63d15ab45]
2015-10-26 13:16:53.929 samba[15969]     /usr/sbin/samba(+0x5dee) [0x7ff641616dee]

Then Outlook complains about "Cannot expand folder" and "Cannot find folder set" (or something like that).

I've followed the cookbook and Inverse's PDFs almost to the letter and I have not been able to find a remedy to this issue myself. Configuration files included below:

sogo.conf:

{
 /* Database configuration (mysql:// or postgresql://) */
    SOGoProfileURL = "mysql://openchange:password@localhost:3306/openchange/sogo_user_profile";
    OCSFolderInfoURL = "mysql://openchange:password@localhost:3306/openchange/sogo_folder_info";
    OCSSessionsFolderURL = "mysql://openchange:password@localhost:3306/openchange/sogo_sessions_folder";

/* Mail */
    SOGoDraftsFolderName = Drafts;
    SOGoSentFolderName = Sent;   
    SOGoTrashFolderName = Trash;
    SOGoSieveServer = sieve://127.0.0.1:4190;
    SOGoMailingMechanism = smtp;
//    SOGoForceExternalLoginWithEmail = YES;
    SOGoMailSpoolPath = /var/spool/sogo;
    NGImap4ConnectionStringSeparator = "/";
    SOGoIMAPAclConformsToIMAPExt = NO;
    SOGoMailShowSubscribedFoldersOnly = NO;

/* Notifications */
    SOGoAppointmentSendEMailNotifications = YES;
    SOGoACLsSendEMailNotifications = NO;
    SOGoFoldersSendEMailNotifications = NO;

/* Authentication */
    SOGoPasswordChangeEnabled = YES;

/* Web Interface */
    SOGoPageTitle = SOGo;
    SOGoVacationEnabled = YES;
    SOGoForwardEnabled = YES;
    SOGoSieveScriptsEnabled = YES;
//    SOGoMailAuxiliaryUserAccountsEnabled = YES;
    SOGoTrustProxyAuthentication = NO;

    SOGoDayStartTime = 8;
    SOGoDayEndTime = 16;
    SOGoFirstDayOfWeek = 1;
    SOGoBusyOffHours = YES;

/* General */
    SOGoLanguage = English;
    SOGoTimeZone = Europe/Stockholm;
    SOGoCalendarDefaultRoles = (
    PublicDAndTViewer,
    ConfidentialDAndTViewer
    );
    SxVMemLimit = 384;
    WOPidFile = "/var/run/sogo/sogo.pid";
    //SOGoMemcachedHost = "/var/run/memcached.sock";
    SOGoMemcachedHost = 127.0.0.1;
//    SOGoEnableDomainBasedUID = YES;
    SOGoSupportedLanguages = (English);

    WOWorkersCount = 15;
//    SOGoMaximumPingInterval = 3540;
//    SOGoMaximumSyncInterval = 3540;
//    SOGoInternalSyncInterval = 30;

    SOGoMaximumFailedLoginCount = 3;
    SOGoMaximumFailedLoginInterval = 10;
    SOGoFailedLoginBlockInterval = 300;

/* Debug */
    SoDebugBaseURL = NO;
    ImapDebugEnabled = NO;
    WOLogFile = /var/log/sogo/sogo.log;
    GCSFolderDebugEnabled = NO;
    GCSFolderStoreDebugEnabled = NO;
    LDAPDebugEnabled = NO;
    MySQL4DebugEnabled = NO;
    NGImap4DisableIMAP4Pooling = NO;
    OCSFolderManagerSQLDebugEnabled = NO;
    PGDebugEnabled = NO;
    SOGoDebugRequests = NO;
    SOGoMailKeepDraftsAfterSend = NO;
    SOGoUIxDebugEnabled = NO;
    SoDebugObjectTraversal = NO;
    SoSecurityManagerDebugEnabled = NO;
    WODontZipResponse = NO;
    WODebugZipResponse = NO;

/* Domains */
    domains = {

    domain.tld = {
    SOGoMailDomain = domain.tld;
    SOGoIMAPServer = "imaps://localhost:143/?tls=YES";
    SOGoSMTPServer = localhost;
    SOGoSuperUsernames = ( );
    SOGoUserSources =  (
    {
    id = ad.domain.tld;
    displayName = "domain.tld";
    canAuthenticate = YES;
    type = ldap;
    CNFieldName = displayName;
    IDFieldName = sAMAccountName;
    UIDFieldName = mail;
    IMAPLoginFieldName = mail;
    hostname = "ldap://127.0.0.1";
    baseDN = "CN=users,DC=realm,DC=pri";
    bindDN = "CN=ldap,CN=users,DC=realm,DC=pri";
    bindPassword = "password";
    bindFields = (mail);
    filter = "(objectClass='*' AND mail='*@domain.tld' AND userAccountControl != 66050)";
    },
    {
    id = shared.domain.tld;
    displayName = "Shared Addressbook";
    canAuthenticate = NO;
    isAddressBook = YES;
    type = ldap;
    CNFieldName = cn;
    IDFieldName = mail;
    UIDFieldName = sAMAccountName;
    hostname = "ldap://127.0.0.1";
    baseDN = "CN=users,DC=realm,DC=pri";
    bindDN = "CN=ldap,CN=users,DC=realm,DC=pri";
    bindPassword = "password";
    filter = "((NOT isCriticalSystemObject='TRUE') AND (mail=\'*@domain.tld\') AND (NOT objectClass=contact))";
    }
        );
    };

    };

}

ocsmanager.ini:

#
# ocsmanager - Pylons configuration
#
# The %(here)s variable will be replaced with the parent directory of this file
#
[DEFAULT]
#debug = true
debug = false
email_to =
smtp_server = localhost
error_email_from =

[main]
# Possible authentication system
auth = ldap
mapistore_root = /var/lib/samba/private
mapistore_data = /var/lib/samba/private/mapistore
#debug = yes
debug = no

[auth:file]
#file =

[auth:ldap]
host = ldap://127.0.0.1
port = 389
bind_dn = cn=ldap,cn=users,dc=realm,dc=pri
bind_pw = password
basedn = CN=users,DC=realm,DC=pri

#filter = (cn=%s)
#attrs = userPassword, x-isActive

[auth:single]
username = openchange
# password is test
password = {SSHA}I6Hy5Wv0wuxyXvMBFWFQDVVN12_CLaX9

[server:main]
use = egg:Paste#http
host = 127.0.0.1
port = 5000
protocol_version = HTTP/1.1

[app:main]
use = egg:ocsmanager
full_stack = true
static_files = true
cache_dir = %(here)s/data
beaker.session.key = ocsmanager
beaker.session.secret = SDyKK3dKyDgW0mlpqttTMGU1f
app_instance_uuid = {ee533ebc-f266-49d1-ae10-d017ee6aa98c}
NTLMAUTHHANDLER_WORKDIR = /var/cache/ntlmauthhandler
SAMBA_HOST = 127.0.0.1

[rpcproxy:ldap]
host = localhost
port = 389
basedn = CN=users,DC=realm,DC=pri
#set debug = true
set debug = false

# If you'd like to fine-tune the individual locations of the cache data dirs
# for the Cache data, or the Session saves, un-comment the desired settings
# here:
#beaker.cache.data_dir = %(here)s/data/cache
#beaker.session.data_dir = %(here)s/data/sessions

# WARNING: *THE LINE BELOW MUST BE UNCOMMENTED ON A PRODUCTION ENVIRONMENT*
# Debug mode will enable the interactive debugging tool, allowing ANYONE to
# execute malicious code after an exception is raised.
set debug = false

[autodiscover]
# The client address that is not in these networks have RPC/Proxy
# prioritaised. It only works for Outlook 2010 or higher. Delimiter: ,
internal_networks = X.X.X.X/X

[autodiscover:rpcproxy]
# Enabled RPC/Proxy or not
enabled = true
# We assume the autodiscover host and the EWS (Free/Busy) are in the same host
external_hostname = mail.domain.tld
# Require SSL to logon. Default value is false
ssl = true

[outofoffice]
# Set the backend.
# Possible backends: file, managesieve
# file makes sieve and OCSManager lives in the same host
# managesieve indicates the server to put/get the sieve script
# backend = file

[outofoffice:file]
# Path of the sieve script for the user
#   Expansion variables (example ):
#       $domain   = example.com
#       $user     = user.name
#       $fulluser =
sieve_script_path = /var/vmail/$user/sieve-script
# If the sieve script directory hierarchy does not exist, it will be created
sieve_script_path_mkdir = false

[outofoffice:managesieve]
# It requires to have a master password to get into every account
# server = 127.0.0.1
# SSL on/off
# ssl = true
# Master password
secret = secret

# Logging configuration
[loggers]
keys = root

[handlers]
keys = console

[formatters]
keys = generic

[logger_root]
level = INFO
handlers = console

[handler_console]
class = StreamHandler
args = (sys.stderr,)
level = NOTSET
formatter = generic

[formatter_generic]
format = %(asctime)s %(levelname)-5.5s [%(name)s] [%(threadName)s] %(message)s

smb.conf:

# Global parameters
[global]
    bind interfaces _only_ = yes
    dcerpc endpoint servers = epmapper, mapiproxy, dnsserver
    dcerpc_mapiproxy:interfaces = exchange_emsmdb, exchange_nsp, exchange_ds_rfr
    dcerpc_mapiproxy:server = true
    dns forwarder = X.X.X.X
    dsdb:schema update allowed = true
    interfaces = eth0 lo
    invalid users = root
    load printers = no
    mapistore:indexing_backend = mysql://openchange:password@localhost/openchange
    mapistore:namedproperties = mysql
    mapiproxy:openchangedb = mysql://openchange:password@localhost/openchange
    namedproperties:mysql_db = openchange
    namedproperties:mysql_host = localhost
    namedproperties:mysql_port = 3306
    namedproperties:mysql_pass = password
    namedproperties:mysql_user = openchange
    netbios name = SRV
    printcap name = /dev/null
    printing = bsd
    realm = realm.pri
    server role = active directory domain controller
    workgroup = realm

[netlogon]
    path = /var/lib/samba/sysvol/realm.pri/scripts
    read _only_ = No

[sysvol]
    path = /var/lib/samba/sysvol
    read _only_ = No



Archive powered by MHonArc 2.6.18.

Top of page