Commit Graph

10862 Commits (f9c8661fe6308e795ac098f85de2407344342869)

Author SHA1 Message Date
Enrique J. Hernández Blasco f9c8661fe6 oc-mail: Use constant names in props value
This gives to the developer more information about
the property values for PidLidSharingFlavor and
PidLidSharingCapabilities.
2015-03-25 10:12:15 +01:00
Enrique J. Hernández Blasco 661b6694af oc-mail: Fix several sharing properties managing
* PidNameXSharingFlavor is used by Outlook 2010 so we have
  to store it
* 0x5100 is used although it is not in spec as Sharing Flavour
  value when the request is denied from a message where
  Request + Invitation was sent.
* Return properly PidNameXSharingCapabilities and PidNameXSharingFlavor
  as it is an string representation of a hex number
* Try to guess proper sharing flavour value when it is missing
2015-03-25 10:12:15 +01:00
Enrique J. Hernández Blasco 514b1c03be oc-mail: Store request properties
Save them in extra properties from folder container.

This is required because the client once a request is accepted
or denied sets these two properties and save the message again.
As we cannot modify an IMAP message, we use this utility.

See [MS-OXSHARE] Section 3.1.4.3 for details.
2015-03-25 10:12:15 +01:00
Enrique J. Hernández Blasco a663fdd260 oc-mail: Give support to store extra properties in versions message
This is handy when you want to store properties once a mail
has hit the server and thus cannot be changed.
2015-03-25 10:12:15 +01:00
Jesús García Sáez 0db16aedb1 Merge pull request #112 from Zentyal/ejhernandez/fix-crash-invalid-ics
A failure in parsing an ICS makes return a nil calendar
object. Instead of creating an appointment with nil
information which can lead to crashes like the one
generated creating PidLidCleanGlobalObjectId property.

We return an empty message with no information which is
taken into account in Outlook but not displayed like
in SOGo webmail does.
2015-03-24 19:15:05 +01:00
Jesús García Sáez 6f70066986 Merge pull request #109 from Zentyal/ejhernandez/empty-acl-perms
The `[SOGoFolder:aclUsers]` returns a reference to a `NSArray`
which is being modified in the `for` loop making fail when
more than one user is in the ACL with `NSRangeException`.
2015-03-24 17:40:37 +01:00
Enrique J. Hernández Blasco 6204aebf2c oc-calendar: do not crash with invalid events
A failure in parsing an ICS makes return a nil calendar
object. Instead of creating an appointment with nil
information which can lead to crashes like the one
generated creating PidLidCleanGlobalObjectId property.

We return an empty message with no information which is
taken into account in Outlook but not displayed like
in SOGo webmail does.
2015-03-23 23:57:33 +01:00
Enrique J. Hernández Blasco 8ee2303e78 oc: Empty ACL from a folder works with several users
The `[SOGoFolder:aclUsers]` returns a reference to a `NSArray`
which is being modified in the `for` loop making fail when
more than one user is in the ACL with `NSRangeException`.
2015-03-19 00:06:14 +01:00
Enrique J. Hernández 7bc8cd58dd Merge pull request #108 from Zentyal/jacalvo/fix-optional-attendees
oc-calendar: Fix event invitations for optional attendees
2015-03-18 21:34:51 +01:00
José Antonio Calvo 2668bc313c oc-calendar: Fix event invitations for optional attendees
Outlook sets recipient type of Required attendees as MAPI_TO and
optional ones as MAPI_CC, so the fix is just to not only iterate
over the "to" list of recipients but also the "cc" one. We're
also setting the proper iCal value for this case (OPT-PARTICIPANT
instead of REQ-PARTICIPANT)

In [MS-OXOCAL] Section 2.2.4.10.7 says the recipient type is 0x01
as Required and 0x02 as Optional and other documents such as
[MS-OXCMSG] 2.2.3.1.2 indicates that MAPI_TO is 0x01 and MAPI_CC
is 0x02, that's why is stored in 'to' and 'cc' respectively.
2015-03-18 18:18:46 +01:00
Jesús García Sáez 418ac15de6 Merge pull request #107 from Zentyal/jgarcia/rtf-no-color-table
oc-rtf: no color table definition
2015-03-18 18:08:05 +01:00
Jesús García Sáez 637ac1e98a oc-rtf: no color table definition
Be able to parse rtf files without color table defined
\colortbl
2015-03-18 18:06:49 +01:00
Jesús García Sáez b0ba6f4a22 Merge pull request #101 from Zentyal/ejhernandez/recurrence-exceptions-fixes
Two fixes on recurring events
2015-03-18 18:05:06 +01:00
Enrique J. Hernández Blasco fb4c3a4730 oc-calendar: Fix weekly recurring events exported to Outlook from SOGo
SOGo does not create BYDAY mask in weekly recurrence, so
we have to guess it from the start date's day of week.

In other case, the event is not exported to Outlook and it
says that is corrupted.
2015-03-18 15:08:24 +01:00
Enrique J. Hernández Blasco 6f44ec42c1 oc-calendar: Fix import in SOGo exceptions from recurring series
According to [MS-OXICAL] Section 2.1.3.1.1.20.13, the EXDATE property
must be written only if there are ocurrences from the series that have
been deleted and before this commit ModifiedInstanceDates were also
included.

We check against every ExceptionInfo from exception ocurrences of the series
to know if the ocurrence was deleted or only modified.
2015-03-18 15:08:24 +01:00
Julio García 3b0b43f28f Merge branch 'ejhernandez/peek-preload-bodies-for-real' 2015-03-18 09:28:57 +01:00
Julio García afa9061f2f Merge branch 'ejhernandez/client-drafts-no-updated' 2015-03-18 09:22:41 +01:00
Enrique J. Hernández Blasco 9f3f2aebe4 oc-mail: Register source message as soft deleted on movement
This makes sent mails are not longer automatically copied
to Drafts folder.

Reasoning:

When Outlook sends a mail, OpenChange submits the message and
copy the message to Drafts folder. Afterwards, the client asks
to move this message using SyncImportMessageMove ROP from
Drafts to Sent. During this movement, the message is unregistered
from the indexing database. If the client has updated Drafts
folder before that movement, then the client will keep this
message as the MID is not returned in oxcfxics download sync
as deleted. Setting the message as soft deleted, make it work.
2015-03-18 00:42:01 +01:00
Julio García 0be36df211 Preparing release for 2.2.15-zentyal2 2015-03-17 12:30:09 +01:00
Enrique J. Hernández 43debc1d70 Merge pull request #102 from Zentyal/jgarcia/rtf-safe-parsing
oc-rtf: safe parse ignoring content
2015-03-13 12:46:38 +01:00
Enrique J. Hernández Blasco 1c1a75d2c1 oc-mail: Use body.peek to preload message bodies
In this way, we do not modify the flags (\Seen) on preloading.
The IMAP server returns the content without .peek section so
it is removed.

This also performs the modification intended by the following
Pull Request:

https://github.com/Zentyal/sogo/pull/50

That tried to avoid set \Seen flag when preloading message bodies
on synchronisation. But in this case we are not incrementing the
modseq as we are not modifying any messages flags.
2015-03-13 10:54:57 +01:00
Enrique J. Hernández Blasco f048860729 Revert "oc-mailfolder: Avoid setting seen flag on preloading message bodies"
This reverts commit 7e0cddc06b.
2015-03-13 00:00:40 +01:00
Enrique J. Hernández Blasco 6d6053865f Revert "oc-mailfolder: Get seen flag directly from message in preloading"
This reverts commit d076e04ad4.
2015-03-13 00:00:29 +01:00
Jesús García Sáez 6e00274988 oc-rtf: safe parse ignoring content
Be able to parse safely \*\xxxxx control words with \binXXXX
elements inside it (before final })
2015-03-12 17:13:17 +01:00
Jesús García Sáez 307fe90854 Merge pull request #99 from Zentyal/ejhernandez/corner-cases-import-PST
oc-mail: Set sender on email messages without an orig recipient
2015-03-11 13:08:33 +01:00
Jesús García Sáez 8031f066dc Merge pull request #98 from Zentyal/ejhernandez/calendar-sharing-invitation
Give support to calendar sharing invitation
2015-03-11 13:07:36 +01:00
Enrique J. Hernández Blasco 2b54897d29 oc-sharing: Guess PidLidSharingFlavor from other props
When it is not set by the client on the first place.

See [MS-OXSHARE] Section 2.2.2.5 for details on returned values.
2015-03-05 00:05:02 +01:00
Enrique J. Hernández Blasco ae7ac1be29 oc-mail: Return sharing properties on sharing object mail message
When it is asked for available properties for an specific message.
2015-03-05 00:02:19 +01:00
Enrique J. Hernández Blasco 6af8b486df oc-mail: Return special properties on sharing_metadata.xml attachment
As required by [MS-OXWSMSHR] Section 3.1.1 to display the share
object message correctly and be able to open the shared calendar
directly from the message.
2015-03-04 18:49:31 +01:00
Enrique J. Hernández Blasco 316ade13f8 oc: Implement Sharing Message Object
It acts as a proxy of MAPIStoreMailMessage and it manages the properties
defined in [MS-OXSHARE] Section 2.2 by storing them in the mail message
as eXtensible MIME headers which starts with X-MS-Sharing.
2015-03-04 18:49:17 +01:00
Jesús García Sáez c4566c4773 Merge pull request #95 from Zentyal/free-header-encoding
Free headerEncoding variable when destroying parent
2015-03-04 10:51:14 +01:00
Carlos Pérez-Aradros Herce 3b2cbb945c oc: Free headerEncoding variable 2015-03-04 10:10:32 +01:00
Enrique J. Hernández Blasco 44dfd35521 oc-mail: Set sender on email messages without an orig recipient
But it has recipients. This is for sure happening with event
invitations messages.
2015-03-03 22:52:42 +01:00
Enrique J. Hernández Blasco 575600cabc oc-calendar: Return PidTagContainerClass for Calendar folders
And it must "IPF.Appointment" as described in [MS-OXOCAL] Section 2.2.11.1
2015-03-03 17:47:37 +01:00
Enrique J. Hernández acc2bd0369 Merge pull request #97 from Zentyal/jjgarcia/update-news
Update news for next release
2015-03-03 16:08:31 +01:00
Julio García cd47c926c9 Update news for next release 2015-03-03 11:16:01 +01:00
Julio J. García Martín 9b038db0b6 Merge pull request #93 from Zentyal/jvalles/missing-contact-props
Save missing contact properties in database
2015-03-02 09:17:15 +01:00
Julio J. García Martín bcc1aa8049 Merge pull request #89 from Zentyal/jag/set-null-recurrence-pattern
In setupRecurrenceWithMasterEntit a null recurrence pattern is now inter...
2015-03-02 09:16:38 +01:00
Javier Amor García ef6aab63c9 oc-calendar: Don't change event recurrence if parse failed.
get_AppointmentRecurrencePattern() can fail to parse the input data, added a check to avoid setup the recurrence pattern in that case. This should only happen when input data is incorrect.
2015-02-27 17:32:22 +01:00
Jesús García Sáez 85d9440ccd Merge pull request #94 from Zentyal/jgarcia/reset-password
Fix change password with multidomains
2015-02-26 10:48:58 +01:00
Jesús García Sáez 22196e0054 Fix change password with DomainBasedUID
When users use full domain to login (SOGoEnableDomainBasedUID) the
user attributes in the cache were not being properly updated because
in this case the key is `uid@domain` instead of just `uid`.
2015-02-25 12:42:03 +01:00
Juan Vallés 4c3c741d9f oc-contacts: Save missing contact properties in database 2015-02-25 11:59:24 +01:00
Jesús García Sáez 731934f061 oc: Add fai properties for custom views
Without this outlook clients with custom views set on folders will
crash because this are needed properties and were not being saved
2015-02-24 17:44:56 +01:00
Jesús García Sáez b645b4187d Merge pull request #88 from Zentyal/ejhernandez/add-categories-calendar-events
oc-calendar: Implement categories to share the colour
2015-02-24 14:23:36 +01:00
Enrique J. Hernández Blasco 9b847a276c oc-calendar: Implement categories to share the colour
See [MS-OXCICAL] Section 2.1.3.1.1.20.3 for details.

It requires https://github.com/openchange/openchange/pull/216 to retrieve
the value from MAPI client
2015-02-17 10:20:16 +01:00
Jesús García Sáez 68216a7456 Merge pull request #87 from Zentyal/ejhernandez/fixes-on-calendar-props
Calendar: PidTagSensitivity and PidTagImportance now works in Outlook
2015-02-16 11:00:45 +01:00
Enrique J. Hernández Blasco 624967c60b oc-calendar: Implement PidTagSensitivity
As described in [MS-OXCICAL] Section 2.1.3.11.20.4 by using
access CLASS iCal field.

Although Outlook does not support confidential level, it is properly
exported and imported.
2015-02-15 18:44:47 +01:00
Enrique J. Hernández Blasco e6ba15bbae oc-calendar: PidTagImportance and PidTagNormalizedSubject working
It wasn't being called because the proxy (AppointmentWrapper) is not
being called as there is a base implementation for these properties
in MAPIStoreMessage making them impossible to be shared between
Outlook profiles.
2015-02-15 18:41:03 +01:00
Enrique J. Hernández Blasco 2a1b363fee oc-calendar: Proper getter for AppointmentWrapper proxy object
Do not assume it is in 0 position any longer
2015-02-15 18:39:43 +01:00
Enrique J. Hernández Blasco eaec3c0610 oc-calendar: Remove useless method
Better off implemented by AppointmentWrapper proxy
2015-02-15 18:38:59 +01:00