Commit graph

1492 commits

Author SHA1 Message Date
Carlos Pérez-Aradros Herce a6bbe13f9b Add missing header files 2015-11-05 19:11:19 +01:00
Jesús García Sáez 8cfb0f0d44 Avoid inserting second email for Contacts
When we have a contact with an email, avoid generating another one
with SOGoMailDomain value (normally we ended up with a contact with
two identical emails on 'emails' key and for multidomain source we
would had ended up with an email @localhost)
2015-11-05 19:11:19 +01:00
Jesús García Sáez 08f57f6ad5 SOGoUserManager: get domain after authentication
For multidomain source which has no domain defined, we get
the domain from the username which must have @domain as suffix
2015-11-05 19:11:19 +01:00
Jesús García Sáez 30a94161af SOGoUserManager.m: format and small refactor
Removed all tabs used for indentation
2015-11-05 19:11:19 +01:00
Jesús García Sáez ec533809aa return enableDomainBasedUID based only on the key 2015-11-05 19:11:19 +01:00
Jesús García Sáez 0d05e3579c defaultsForDomain return sharedSystemDefaults for unknown domains 2015-11-05 19:11:19 +01:00
Jesús García Sáez bf4a581d0f Added isDomainDefined
To check whether a domain is supported by our defined sources
2015-11-05 19:11:19 +01:00
Jesús García Sáez 9d3f3c619d LDAPSource: release displayName on dealloc 2015-11-05 19:11:19 +01:00
Jesús García Sáez 7d49674d9d Add domain to lookupContactEntry 2015-11-05 19:11:19 +01:00
Jesús García Sáez 48832a4878 Add domain to lookupGroupEntryByUID/ByEmail 2015-11-05 19:11:19 +01:00
Euan Thoms eda84c7b5d Stage1b (v2 branch) of clang compiler warning patches. 2015-11-06 01:29:26 +08:00
Ludovic Marcotte 9d31023724 (fix) additional fix for #3118 2015-11-05 11:11:18 -05:00
Ludovic Marcotte 7a5e550510 (fix) manually added patch from PR#113 to avoid many "broken" commits 2015-11-05 09:36:11 -05:00
Euan Thoms 0605fdf02a Delete .orig files left over from applying patches to Stage 2. 2015-11-04 13:50:16 -05:00
Euan Thoms d3290dbb8d Stage 2 of clang compiler warning patches. 2015-11-04 13:50:05 -05:00
Euan Thoms e173c6d621 Stage 9 of clang compiler warning patches. 2015-11-04 08:42:03 -05:00
Euan Thoms 5b65eaa572 Stage 4 of clang compiler warning patches. 2015-11-04 08:41:36 -05:00
Euan Thoms 892bd693d7 Stage 3 of clang compiler warning patches.
Conflicts:

	UI/PreferencesUI/UIxJSONPreferences.m
2015-11-04 08:41:19 -05:00
Juan Vallés 498cec767b Revert "Store c_content in sogo_cache_folder as a BLOB"
This reverts commit b329513845. It was
causing issues and we'll need to do more testing on this optimisation.
2015-10-16 12:08:50 +02:00
Ludovic Marcotte 8d85ca13df (fix) numerous EAS fixes when connections are dropped before the EAS client receives the response (#3058, #2849) 2015-10-14 09:21:32 -04:00
Enrique J. Hernández 7680c4091e Merge pull request #191 from zentyal/jvalles/cache-blob
Store c_content in sogo_cache_folder as a BLOB
2015-09-30 16:44:18 +02:00
Ludovic Marcotte 5409cb2927 (feat) moved FolderSynchronize code to GCS 2015-09-25 15:18:22 -04:00
Juan Vallés b329513845 Store c_content in sogo_cache_folder as a BLOB
This reduces considerably the query time for that column, which can be
rather large.
2015-09-25 12:14:32 +02:00
Francis Lachapelle b910501afa Fix localization of calendar categories
Fixes #3295
2015-09-15 15:59:31 -04:00
extrafu 063f878199 Merge pull request #103 from zentyal/master
Fixes for OpenChange integration
2015-09-14 12:55:03 -04:00
Ludovic Marcotte 2be556299e (fix) slight modification for fix #3293 2015-09-10 19:10:50 -04:00
Juan Vallés 36d8fa12d3 Improve first character check in CSS identifiers
A CSS identifier can't start with a digit, so when a folder name does,
a '_' character is appended at the beginning of its CSS identifier.

The check for this first character used the `isdigit()` function, which
takes a `char` argument, while `[self objectAtIndex: 0]` returns a
`unichar`, i.e. a 16-bit unsigned integer. This caused some non-digit
characters to pass this check (e.g. Chinese characters), ending up with
an underscore at the beginning of the folder name.
2015-09-10 10:24:50 +02:00
Ludovic Marcotte 07092828fe (fix) improved EAS speed during initial syncing of large mailboxes (#3293) 2015-09-09 10:20:31 -04:00
Ludovic Marcotte 27a19ac956 (fix) Session fix when SOGoEnableDomainBasedUID is enabled but logins are domain-less 2015-08-21 10:30:47 -04:00
extrafu ff3557598f Merge pull request #93 from Zentyal/jjgarcia/contribute-back
Changes for sogo-openchange from Zentyal
2015-08-03 09:13:55 -04:00
Julio García 26bd1b30fa Revert "Merge pull request #164 from Zentyal/jgarcia/revert-merge-inverse"
This reverts commit 1404dbdb88, reversing
changes made to 72cbd9a45f.
2015-08-03 09:48:06 +02:00
Jesús García Sáez 9414df26c5 getUIDForEmail works on multidomain: returns login
This method is used everywhere to try to retrieve the login of the user
(and normally use the return value to [SOGoUser initwithLogin: ...])

In multidomain environments (with DomainLessLogin = false) there were
several paths (mostly in SOGoAppointmentObject.m) that were trying to
create SOGoUser objects with incorrect login: using only the uid part,
not full email. Then like domain based uid was enabled, these users
had DomainLessLogin set to true and further calls tried to authenticate
only with the uid part (and they should not).

This affects to several methods in:

  * ActiveSync/SOGoActiveSyncDispatcher.m
  * Appointments/SOGoAppointmentFolder.m
  * Appointments/SOGoAppointmentObject.m
  * Appointments/SOGoCalendarComponent.m
  * SOGoSAML2Session.m

Probably a few features related with calendars are now fixed or working
as intended in multidomain environments where the email is used as login
2015-07-29 17:40:56 +02:00
Jesús García Sáez 3dc8cc78ea Revert merge from inverse
https://github.com/Zentyal/sogo/pull/150

Because the login on web with the use of outlook is broken after
including the DomainLessLogin feature
2015-07-28 12:37:33 +02:00
Francis Lachapelle 5c3cdda186 Add Chinese (Taiwan) translation 2015-07-23 11:14:08 -04:00
Francis Lachapelle 9430f40101 Add Slovenian translation 2015-07-22 17:22:26 -04:00
Ludovic Marcotte 61c542cb95 (fix) make sure ActiveSync is always usable with SQL-based auth sources 2015-07-22 10:12:47 -04:00
Julio García 936c38c43e Remove not needed block in SoObjects/SOGo/SOGoUserManager.m 2015-07-07 14:25:17 +02:00
Jesús García Sáez 1e101ef01a Merge branch 'master' into merge-upstream
Conflicts:
	SoObjects/SOGo/SOGoUserManager.m
2015-07-06 18:54:35 +02:00
Julio García 8e047aaa9c Merge remote-tracking branch 'upstream/master' into merge-upstream
Conflicts:
	SoObjects/SOGo/SOGoUserManager.m
	Tools/SOGoToolRestore.m
2015-06-26 09:41:58 +02:00
Julio García dc2cc14d25 Revert "Revert "(fix) more fixes and clarifications on the mutli-domain settings""
This reverts commit 3dd8bddc0e.
2015-06-26 09:35:47 +02:00
Julio García 3f1a43cc13 Revert "Revert "(fix) more multi-domain fixes and cleanups""
This reverts commit 90e11d76f6.
2015-06-26 09:35:37 +02:00
Julio García 67d0d95869 Revert "Revert "Fixed mess regarding uid/realUID""
This reverts commit 96d88de564.
2015-06-26 09:35:26 +02:00
Javier Amor García 72aab7f83f ActiveSync: can be controlled by module constraint
Added 'ActiveSync' module constraint. If constraint is not
honored the ActiveSync request returns a forbidden (403).
2015-06-23 09:11:45 +02:00
Ludovic Marcotte 5ad3662640 (fix) fixed multi-domain support for sogo-tool backup/restore (#2600) 2015-06-11 13:32:57 -04:00
Francis Lachapelle a70ea38572 New method [NSString+Utilities asSafeJSString] 2015-06-11 11:44:17 -04:00
Ludovic Marcotte 5e66e8e299 (fix) improvement over previous commit to avoid double-bind 2015-06-11 11:36:03 -04:00
Ludovic Marcotte d9896192f3 Revert "Revert "Improve creation of CSS identifier""
This reverts commit 7d018221ef.
2015-06-10 20:05:40 -04:00
Ludovic Marcotte 85ad849189 Revert "Revert "Improved rationale""
This reverts commit 6994c029b8.
2015-06-10 20:05:13 -04:00
Ludovic Marcotte 2c5f598a23 Revert "Revert "(fix) fixed multidomain issue where UID isn't part of the email address""
This reverts commit ac30c82165.
2015-06-10 20:04:51 -04:00
Ludovic Marcotte ac30c82165 Revert "(fix) fixed multidomain issue where UID isn't part of the email address"
This reverts commit 1f83ba9d50.
2015-06-10 19:11:26 -04:00
Ludovic Marcotte 6994c029b8 Revert "Improved rationale"
This reverts commit 977406de76.
2015-06-10 19:11:04 -04:00
Ludovic Marcotte 977406de76 Improved rationale 2015-06-10 16:31:30 -04:00
Ludovic Marcotte 7d018221ef Revert "Improve creation of CSS identifier"
This reverts commit e40a19cf89.
2015-06-10 16:31:15 -04:00
Ludovic Marcotte 1f83ba9d50 (fix) fixed multidomain issue where UID isn't part of the email address 2015-06-10 14:33:22 -04:00
Francis Lachapelle e40a19cf89 Improve creation of CSS identifier
Now escaping (), [], {}, ", and ;
2015-06-10 14:02:44 -04:00
Ludovic Marcotte a56dbeb6a9 (fix) improved the handling of default calendar categories/colors (#3200) 2015-06-09 20:30:22 -04:00
Ludovic Marcotte b93cbeee26 (fix) fixed some rare cornercases in multidomain configurations 2015-06-05 12:18:27 -04:00
Julio García c61eca27a1 Merge branch 'upstream-master' into merge-from-upstream
Conflicts:
	SoObjects/SOGo/LDAPSource.m
	SoObjects/SOGo/SOGoUserManager.m
2015-06-02 12:27:20 +02:00
Julio García 96d88de564 Revert "Fixed mess regarding uid/realUID"
This reverts commit 4f303f8aa2.
2015-06-02 12:24:56 +02:00
Julio García 90e11d76f6 Revert "(fix) more multi-domain fixes and cleanups"
This reverts commit ed42d1e26b.
2015-06-02 12:24:44 +02:00
Julio García 3dd8bddc0e Revert "(fix) more fixes and clarifications on the mutli-domain settings"
This reverts commit d07df554f3.
2015-06-02 12:24:32 +02:00
Jesús García Sáez 76f80c507c safe decoding of secured value
This was crashing with invalid value (shorter than it should be or nil value)
2015-05-28 12:35:18 +02:00
Enrique J. Hernández Blasco b04b66fd79 Use UTC offset to encode NSCalendarDate in BSON
Using name abbreviation in Objective-C is discouraged
as it stated in the following link:

https://developer.apple.com/library/prerelease/ios/documentation/Cocoa/Reference/Foundation/Classes/NSTimeZone_Class/index.html#//apple_ref/occ/clm/NSTimeZone/timeZoneWithAbbreviation:

Indeed, the GNUStep library is generating the name
abbreviation using the system tzdata information
but parsing this data using GNUStep resources making
changes like this:

http://mm.icann.org/pipermail/tz-announce/2014-August/000023.html

Not working until GNUStep reaches these tzdata changes.

Using the UTC offset we are losing the position in planet
Earth but it could be considered valid looking at other
bson implementations.
2015-05-26 21:42:57 +02:00
Ludovic Marcotte ce3d55d2cc (fix) do not rewrite the username when using the session from the db 2015-05-26 11:08:30 -04:00
Enrique J. Hernández 13f2ac9cbb Merge pull request #138 from Zentyal/jgarcia/fix-multidomain-web
Avoid reading emails from other domains (info@foo vs info@bar)
2015-05-25 22:17:42 +02:00
Ludovic Marcotte d07df554f3 (fix) more fixes and clarifications on the mutli-domain settings 2015-05-25 13:00:08 -04:00
Jesús García Sáez 7dc333e790 Fix warning distinct Objective-C type
failedCount is a NSDictionary *, not NSMutableDictionary *
2015-05-25 17:33:46 +02:00
Jesús García Sáez cc62576fef Avoid cache entries with uid@domain@domain prefix
Depend of the current workflow these paths are reached with
username as uid and sometimes as uid@domain. So in multidomain
environments only append @domain when needed.
2015-05-25 17:33:32 +02:00
Ludovic Marcotte ed42d1e26b (fix) more multi-domain fixes and cleanups 2015-05-25 09:19:04 -04:00
Jesús García Sáez a1d07c59af Merge pull request #137 from Zentyal/jag/change-passsword-exceptions
Return appropiate error code when changing AD password with incorrect…
2015-05-23 02:23:02 +02:00
Ludovic Marcotte 4f303f8aa2 Fixed mess regarding uid/realUID 2015-05-22 14:03:49 -04:00
Ludovic Marcotte 2ae5f342da Fix a crasher 2015-05-22 13:47:48 -04:00
extrafu d6ab7582e5 Merge pull request #85 from Zentyal/inverse_fix-multidomain-web
Avoid reading emails from other domains
2015-05-22 09:19:54 -04:00
Javier Amor García 725dea5f6f Show 'complexity password' error instead of a generic error
There is not discrimination between complexity and
length errors because LDAP does not
return different error codes for each case.
2015-05-22 14:59:49 +02:00
Jesús García Sáez 7990e23aaa Fix warning distinct Objective-C type
failedCount is a NSDictionary *, not NSMutableDictionary *
2015-05-22 10:19:09 +02:00
Jesús García Sáez 04ce8d1066 Avoid cache entries with uid@domain@domain prefix
Depend of the current workflow this paths are reached with
username as uid and sometimes as uid@domain. So in multidomain
environments only append @domain when needed.

Conflicts:
	SoObjects/SOGo/SOGoUserManager.m
2015-05-22 10:18:55 +02:00
Jesús García Sáez 37461e650d Fix conflicts with externalLoginWithEmail + DomainBasedUid
On multidomain environment (SOGoEnableDomainBasedUID) with email for imap
authentication (SOGoForceExternalLoginWithEmail) we need to use uid@domain
instead of just uid in method getEmailForUID
2015-05-22 10:14:49 +02:00
Jesús García Sáez 9922ec56d9 Avoid uid+attributes entries on shared cache
In multidomain environments this will produce that info@domain1.com
can read info@domain2.com emails when info@domain2.com log in after
info@domain1.com is already logged in.

If multidomain is not enabled, this action is not needed because
uid+attributes has been already saved on shared cache
2015-05-22 10:14:43 +02:00
Jesús García Sáez 76dd53b461 Fix conflicts with externalLoginWithEmail + DomainBasedUid
On multidomain environment (SOGoEnableDomainBasedUID) with email for imap
authentication (SOGoForceExternalLoginWithEmail) we need to use uid@domain
instead of just uid in method getEmailForUID
2015-05-21 17:13:18 +02:00
Jesús García Sáez 020c895925 Avoid uid+attributes entries on shared cache
In multidomain environments this will produce that info@domain1.com
can read info@domain2.com emails when info@domain2.com log in after
info@domain1.com is already logged in.

If multidomain is not enabled, this action is not needed because
uid+attributes has been already saved on shared cache
2015-05-21 17:13:18 +02:00
Ludovic Marcotte f4963df50f (fix) avoid appending the domain unconditionally when SOGoEnableDomainBasedUID is set to YES 2015-05-21 17:13:11 +02:00
extrafu b433bac432 Merge pull request #83 from Zentyal/jag/change-passsword-exceptions
Return appropiate error code when changing AD password with incorrect…
2015-05-21 08:42:17 -04:00
Jesús García Sáez 7160d94e91 Set domain before fetching auth sources
In multidomain environment right now we are trying to authenticate against
all sources defined in sogo.conf because the domain is not set at this point.

In sogo.conf we have to specify the domain a source is useful for, so with this
patch instead of 'n' tries of authentication we will perform only 1 (in a scenario
where we have 1 source per domain, and we have 'n' domains).
2015-05-20 18:33:11 +02:00
Ludovic Marcotte 416711ea43 (fix) avoid appending the domain unconditionally when SOGoEnableDomainBasedUID is set to YES 2015-05-19 13:48:59 -04:00
Javier Amor García 5a8f310bc8 Show 'complexity password' error instead of a generic error.
There is not discrimination between complexity and length errors because backend does not
return different error codes for each case.
2015-05-19 15:00:18 +02:00
Ludovic Marcotte 5412599832 (feat) now possible to log EAS commands using the SOGoEASDebugEnabled system defaults 2015-05-14 15:26:18 -04:00
Ludovic Marcotte fbb779a71d (fix) During login, we now extract the domain from the user to accelerate authentication requests on sources 2015-05-06 16:03:33 -04:00
Francis Lachapelle a1406d01e1 Initial Basque translation 2015-04-27 13:59:05 -04:00
extrafu 1db2b9793a Merge pull request #79 from Zentyal/contribute-back
Latest changes for sogo-openchange
2015-04-27 10:14:29 -04:00
Jeroen Dekkers 769045bbf6 Do not include nonexistent config.h 2015-04-25 14:40:42 +02:00
Julio García 08501dacaa Merge branch 'master' into contribute-back
Conflicts:
	NEWS
2015-04-24 16:53:05 +02:00
extrafu a94591a365 Merge pull request #78 from Zentyal/contribute-back
Fixes for OpenChange integration from Zentyal
2015-04-20 11:43:04 -04:00
Ludovic Marcotte beb666bc5f (fix) fixed md4 support (for NTLM password changes) with GNU TLS 2015-04-17 09:29:49 -04:00
Enrique J. Hernández Blasco 8fce211172 Merge pull request #125 from Zentyal/jgarcia/multidomain-outlook-entryId
All this basically is to make it work on multidomain environment
the Reply all functionality of emails but I'm sure there are more use cases
as an Outlook client that don't work nowadays without this patch.

More info on commit message but basically it was that we were using user
instead of user@domain.com in several places.
2015-04-17 11:33:21 +02:00
Jesús García Sáez 336c4fb9d3 Merge pull request #121 from Zentyal/ejhernandez/search-mapidb-message-props
oc: Search for properties in a SOGoMAPIDB object now works
2015-04-16 18:51:18 +02:00
Jesús García Sáez 0f432b654f oc: Fix internal EntryIds properties on multidomain
PidTag*EntryId properties were not being generated (which contain
the email address and so on). Functionality on Outlook clients like
"Reply All" were not working because of this (probably a lot more
stuff related with email addresses).

With multidomain support enabled outlook clients will use full email
address (e.g. user@domain.com) as login.

This change is needed because we were performing ldap queries on samdb
using (sAMAccountName=UIDFieldName), being UIDFieldName the parameter
configured in sogo.conf for that source. In multidomain environment
this field could be `sAMAccountName` but it could not. Actually the
more logical scenario will be to use `uid` field here (which will be
just `user`, without the `@domain.com` part).

SOGoUserManager will return `sAMAccountName` if the contact has it
(in Outlook environment that means always) so it can (and must) be
used to query samdb in MAPIStoreSamDBUtils properly.

TL;DR: use sAMAccoutName instead of uid to query samdb
2015-04-16 11:32:24 +02:00
Julio García cdb6085510 Revert "Adding missing build dependency gnulib"
This reverts commit 210053ea20.
2015-04-16 09:55:32 +02:00
Julio García 6b3454376e Revert "configure: Fix gnulib/crypto/md4 dependency"
This reverts commit f0a3fdae5b.
2015-04-16 09:55:22 +02:00
Jesús García Sáez f0a3fdae5b configure: Fix gnulib/crypto/md4 dependency
Gnulib project needs Autoconf to be able to import their modules with gnulib-tool
http://www.gnu.org/software/gnulib/manual/html_node/Initial-import.html#Initial-import

We only need md4.c file so this is a workaround to compile it without using
gnulib-tool --import
2015-04-15 15:28:32 +02:00
Julio García 210053ea20 Adding missing build dependency gnulib 2015-04-15 15:28:23 +02:00