Commit graph

11544 commits

Author SHA1 Message Date
Javier Amor García f388d180ae oc-mail: Better management of nested multipart types
Instead of treating all the message either as alternative or mixed with
this changeset the MIME type of the parent part is used.
This allows a correct disposition of the message in the cases when
nested multiparts elements are used.
Also in mixed parts we convert between plain text and HTML as needed.
2016-02-22 17:19:44 +01:00
Javier Amor García e1b1812364 oc-mail: Use UTF-8 when they are parts with multiple charsets
If we have multiple parts with different encodings we recode
all HTML parts to UTF-8 and we use it as message charset.
This is neccesary because Outlook assummessa single charset
for all the message.

Also we convert the end of line in text/plain to <br/> tag
when showing them as HTML in multipart/mixed parts.
2016-02-17 19:02:14 +01:00
Enrique J. Hernández 0de07acb16 Merge pull request #234 from zentyal/jag/multipart-support
sogo-openchange: Support for multipart/mixed and multipart/alternative
2016-02-03 11:01:30 +01:00
Enrique J. Hernández 27fb035f34 Merge pull request #242 from zentyal/jag/rtf-parser-charset-in-plain-rtf-text
RTFHandler: fixed problem with plain chars from no-ascii charset
2016-02-03 09:53:42 +01:00
Jesús García Sáez 8749028e1d Merge pull request #244 from zentyal/ejhernandez/fix-contacts-no-email
oc-contacts: Return not found when there is no information
2016-02-01 20:16:35 +01:00
Javier Amor García e5f15f69df RTFHandler: protect against CR and bad hexadecimal sequence
In RTF is possible to specify characters with the sequence \'XX being
XX an hexadecimal number.
With this changeset we guard against incorrect hexadecimal numbers which
will be ignored.

The other change added is to ignore carriadge returns in plain text.
2016-02-01 16:55:20 +01:00
Javier Amor García 8e80b57d31 RTFHandler: support charsets in plain text
Allow to switch charset in RTF plain text parts.
2016-02-01 11:48:15 +01:00
Enrique J. Hernández Blasco 75ffdd2ee1 oc-contacts: Return not found when there is no information
In _getElement which match many properties and in both
PidLidAddressBookProviderEmailList and PidLidAddressBookProviderArrayType.

As it is specified in [MS-OXOCNTC] Section 2.2.1, each property
must be stored when the user needs it. So we can assume we can avoid
returning them if we don't have it.

This fix a Sync Issue which make it impossible to sync a contact
folder where some contact object does not any email. The sync issue
message is as follows:

   Error synchronizing folder
       [80070057-30FFFFFF-0-560]
2016-01-28 23:21:46 +01:00
Jesús García Sáez 46bffaa449 Merge pull request #241 from zentyal/fail-on-broken-imap
Allow exception raising when connecting to IMAP
2016-01-28 11:57:33 +01:00
Carlos Pérez-Aradros Herce 061244a0a5 Allow exception raising when connecting to IMAP
By setting `SoIMAP4ExceptionsEnabled` config key to YES

Enabled for OpenChange by default, it will ensure no action is taken
when IMAP connection is not valid.
2016-01-27 15:30:27 +01:00
Javier Amor García dee7b4be1a oc-mail: Support for multipart/mixed and multipart/alternative
With multipart messages only one of the parts was displayed as message body.
This changeset supports both mixed and alternative multipart types.
2016-01-27 09:14:45 +01:00
Enrique J. Hernández 13a82826f8 Merge pull request #240 from zentyal/jgarcia/set-log-level
Setting log level on backend initialization
2016-01-25 23:29:59 +01:00
Jesús García Sáez 3d9466df45 Setting log level on backend initialization
Get the current openchange log level (actually is the samba's log level)
2016-01-25 20:18:45 +01:00
Carlos Pérez-Aradros Herce aac9cd7c07 Merge pull request #237 from zentyal/jgarcia/contacts-all-2
Fix contact listing properly
2016-01-25 17:17:57 +01:00
Jesús García Sáez a7c04187a2 Merge pull request #238 from zentyal/ejhernandez/fix-tz-def-start-display
oc-calendar: Fix typo setting or operator
2016-01-25 11:08:44 +01:00
Enrique J. Hernández Blasco 359da78d81 oc-calendar: Fix typo setting or operator
For PidLidAppointmentTimeZoneDefinitionStartDisplay.

It is a typo introduced by 376e717.
2016-01-24 01:13:00 +01:00
Jesús García Sáez 1bae41e127 Request all contacts no longer needs value=.
This reverts 1c8b693 and it's possible thanks to removing
listRequiresDot option 6b2ec7a

Listing contacts didn't work for sources with listRequiresDot
set to YES (LDAPSource, by default, had this option that way)
2016-01-20 11:03:04 +01:00
Jesús García Sáez 6b2ec7a2e7 Remove listRequiresDot option from *Source classes
This option is not needed. SQLSource was not using it
and LDAPSource will transform the filter to (UIDField=*) when
there is nothing set as filter, before this patch it was needed
to either insert '.' as filter or set listRequiresDot to NO
2016-01-20 11:01:27 +01:00
Enrique J. Hernández 169356b8a0 Merge pull request #236 from zentyal/jgarcia/test-sope-subject-qp
Jgarcia/test sope subject qp
2016-01-20 09:41:19 +01:00
Jesús García Sáez bad7fd4532 Unit test encode qp text: long of second line
This will fail without sope commit 361178217156177a2a40c327a64f70716b30ae3a
2016-01-19 19:51:41 +01:00
Jesús García Sáez cb3959d991 Unit test encode qp text
This will crash without sope commit 0c9b08d18f07205b4de58bb700ad15a4a4649e53
2016-01-19 19:51:06 +01:00
Jesús García Sáez 65670027cb Merge pull request #231 from zentyal/ejhernandez/calendar-perm
Calendar folder permission roles
2016-01-18 13:49:39 +01:00
Enrique J. Hernández Blasco 57fad470fb oc-calendar: Detail limitations on setting permissions
As MAPI permission flags are much more detailed that SOGo ones.
2016-01-13 17:52:49 +01:00
Enrique J. Hernández Blasco e0b7efbbbf oc-calendar: Set simple and Detailed Free/Busy permission level
By restricting when FolderVisible right is set to the following rights:

* ReadAny
* EditAny
* DeleteAny

This goes beyond what specs says about when FolderVisible right is
mandatory but there is no more information stored in SOGo
(no possibility to set FolderVisible specific right)

See [MS-OXCPERM] Section 2.2.6 for more details
2016-01-13 17:52:48 +01:00
Enrique J. Hernández Blasco 4278e417a7 oc-calendar: Enable editor role
When Outlook sets the editor role, the FreeBusyDetailed and FreeBusySimple
right flags are set as Full Details are available.

When we store this information in SOGo, the SOGoCalendarRole_PublicModifier,
SOGoCalendarRole_PrivateModifier and SOGoCalendarRole_ConfidentialModifier
are stored as well as the free busy related roles, but as
[SOGoAppointmentFolder aclsForUser:forObjectAtPath] only returns the highest
access rights, we have to set as well the FreeBusy flags.

More details on [MS-OXCPERM] Section 2.2.6
2016-01-13 17:52:48 +01:00
Enrique J. Hernández 9bb2473c8e Merge pull request #233 from zentyal/jgarcia/delete-attach-after-fail
Do not include failure attachments (really long filenames)
2016-01-13 12:08:58 +01:00
Jesús García Sáez 2d5995a8f4 Merge pull request #213 from zentyal/jamor/unittest-merge
Add RTFHandler unittest
2016-01-12 18:35:43 +01:00
Jesús García Sáez cee83df085 Merge pull request #232 from zentyal/ejhernandez/junit-output
Give support to JUnit output format for sogo-tests
2016-01-12 18:29:49 +01:00
Enrique J. Hernández Blasco 0c5f4edb36 Give support to JUnit output format for sogo-tests
To integrate with CI system.

sogo-tests now accepts a flag (-f) to determine the output format:

  * text : Current behaviour and default value
  * junit: XML output suitable for CI system such as Jenkins
2016-01-12 16:14:30 +01:00
Jesús García Sáez 90378b76eb draft: remove attachment on failure
Attachment creation can succeed and attachment mime file could fail

This can happen, e.g., when the filename's length is close to the maximum
allowed but your filesystem and then mime file will exceed that limit
(because it has a prefix).
2016-01-12 16:10:39 +01:00
Enrique J. Hernández 6aeb13ba65 Merge pull request #227 from zentyal/jgarcia/qp-encode-subjects
Fix encoding of subjects of emails with non-ascii characters
2016-01-12 16:04:42 +01:00
Jesús García Sáez 5927d3303c Merge pull request #230 from zentyal/ejhernandez/debug-rc
oc: Print retval on high debug for library interface
2016-01-11 09:33:29 +01:00
Enrique J. Hernández 2ad00f8cef Merge pull request #229 from zentyal/jvalles/missing-appointment-notifications
Add the domain in the `uidInDomain` method
2016-01-07 16:42:03 +01:00
Enrique J. Hernández Blasco 8b078817e2 oc: Print retval on high debug for library interface
When exiting a library function
2016-01-04 09:38:10 +01:00
Jesús García Sáez 20575226b8 Merge pull request #221 from zentyal/jvalles/time-shifts-in-events
oc-calendar: Use the time zone provided by the client
2015-12-30 11:24:39 +01:00
Enrique J. Hernández 8b04a468c2 Merge pull request #223 from inverse-inc/v2
SOGo v2.3.4
2015-12-29 22:41:02 +01:00
Juan Vallés ccd9e385a0 Add the domain in the uidInDomain method
This method is used to get the login and we weren't returning
the domain, which led to problems when creating appointments
on multidomain environments like, for instance, not sending
the invitation mails.
2015-12-29 12:19:07 +01:00
Juan Vallés 376e717f45 oc-calendar: Use the calendar's time zone if it is present
If the event was created by the MAPI client, the client's time zone (if
present) is assigned to the event's calendar in iCalEvent+MAPIStore.
This way, we can use it to deliver the event's properties correctly.
2015-12-23 17:27:10 +01:00
Jesús García Sáez 5b25f85c02 Merge pull request #228 from zentyal/ejhernandez/fix-editor-perm
oc: Set Editor as role is now possible in Outlook
2015-12-23 15:54:56 +01:00
Jesús García Sáez 63b8c3ed5e Merge pull request #226 from zentyal/ejhernandez/return-rc-message-submit
oc-mail: Return error when delivery was not successful
2015-12-23 15:43:54 +01:00
Jesús García Sáez c76c48fb0c Merge pull request #225 from zentyal/ejhernandez/sogo-oc-samba-4.1
oc: Do compile with Samba 4.1
2015-12-23 15:37:03 +01:00
Enrique J. Hernández Blasco 7fe1b5f046 oc: Do compile with Samba 4.1
As requested by @extrafu to maintain sogo packages for a little while
2015-12-23 15:34:17 +01:00
Jesús García Sáez 2a25675b3a Merge pull request #220 from zentyal/ejhernandez/improve-dbmsgreader
oc: Dump property canonical name in dbmsgreader
2015-12-23 15:05:37 +01:00
Enrique J. Hernández Blasco dbfd86db04 oc: Set Editor as role is now possible in Outlook
According to [MS-OXCPERM] Section 2.2.7 in PidTagMemberRights possible
values, once we set the DeleteAny flag, the DeleteOwned flag must be set.
Likewise EditOwned must be set when EditAny is set. In this way,
the rights sent by the MAPI client are equal to the returned by the
server when Editor is set.

In real world practice, makes more strict Outlook 2013 work with editor permissions
the sharing of user's defined calendars, tasks or contacts folders as
the recipients can be editors of that folder.
2015-12-23 00:27:09 +01:00
Francis Lachapelle 135535e00e Update NEWS file 2015-12-22 14:25:00 -05:00
Francis Lachapelle e386404b0a Properly compute the last week number for the year
Fixes #1010
2015-12-22 14:21:37 -05:00
Jesús García Sáez 966d13c5b6 Merge pull request #219 from zentyal/ejhernandez/mult-cn-restriction
Manage multiple Change Number restrictions
2015-12-22 17:14:53 +01:00
Juan Vallés 4ae5feb131 oc-calendar: Extract time zone from TimeZoneDefinition
All-day and recurrent events have a binary property that describes the
time zone they take place in. We were using the user's time zone in
the webmail, but it may not be equal to the one in the client. This
difference eventually leads to time shifts in events.
2015-12-22 16:05:23 +01:00
Jesús García Sáez db213c2b73 unittest: just reformat and indentation
no real changes
2015-12-22 11:48:35 +01:00
Jesús García Sáez c2922e2a26 unittest: QP encode function from NGMimeHeaderFieldGenerator 2015-12-22 11:48:34 +01:00