Commit Graph

801 Commits (master)

Author SHA1 Message Date
haraldwolff 834b4ecc20 Add symbolic link to packaging/debian 2021-10-07 20:03:07 +02:00
Francis Lachapelle f21a334ce2 fix(core): don't eat successive LF when decoding quoted printable
Fixes #5231
2021-09-30 14:54:35 -04:00
Francis Lachapelle 282803991b core: accept range with no duration in date intersection 2021-09-22 13:35:31 -04:00
Francis Lachapelle 4c814c9b9f feat(imap): add support for UID MOVE operation 2021-09-10 14:03:45 -04:00
Francis Lachapelle 0eb64db6e1 fix(mime): encode text parts individually
Fixes #5376
2021-08-25 14:57:37 -04:00
Francis Lachapelle 6a7d407bb5 fix(imap): force envelope subject to return a string 2021-08-24 15:14:10 -04:00
Francis Lachapelle b0137fca13 Update ChangeLog 2021-08-18 17:18:57 -04:00
Francis Lachapelle b7d49f5f24 fix(imap): parse messages quota
Fixes #5365
2021-08-04 09:58:47 -04:00
Francis Lachapelle c808b54c6f fix(imap): don't unselect mailbox if none is selected 2021-06-15 16:33:37 -04:00
Francis Lachapelle 7040f004d4 fix(imap): flatten and sort inner threads
Fixes #3100
Fixes #4796
2021-06-09 14:26:42 -04:00
Francis Lachapelle 0a56b9b0c3 fix(appserver): add timestamp to all web resources
This will force a reload of the file each time it is modified.

Fixes #5335
2021-06-08 16:29:50 -04:00
Francis Lachapelle b0509cad8e Update ChangeLog 2021-05-31 21:22:29 -04:00
Francis Lachapelle 78362e95e5 fix(core): fix comparator with GNUstep 1.26 2021-05-21 14:17:11 -04:00
Francis Lachapelle 220e6fe3b7 fix(imap): new methods to move mailbox without using NSURL 2021-05-17 17:55:49 -04:00
Ludovic Marcotte 0bb0a9cd46 fix(core): avoid circular references during exceptions handling 2021-05-17 15:13:42 -04:00
Francis Lachapelle 1fd9dba3f0 fix(ldap): change password - don't bind automatically with user DN 2021-05-06 16:38:41 -04:00
Francis Lachapelle 7c2c490005 fix(mime): expose content-disposition in bodyInfo 2021-05-06 14:12:59 -04:00
Francis Lachapelle bad1525554 fix(pgsql): improve error logging when PQexec fails 2021-04-27 13:16:12 -04:00
Francis Lachapelle 45e3255c9b Update ChangeLog 2021-03-30 17:08:40 -04:00
Francis Lachapelle 60d393d659 fix(imap): flatten and sort inner threads
Fixes #3100
Fixes #4796
2021-03-01 20:41:50 -05:00
Francis Lachapelle b0a271aea0 fix(imap): flatten and sort inner threads
Fixes #3100
Fixes #4796
2021-03-01 17:18:27 -05:00
Francis Lachapelle fdb22733fe fix(gdl): don't cast NSNull values as strings 2021-02-26 14:18:44 -05:00
Francis Lachapelle ffdbc20a02 fix(addressbook(dav)): add support for macOS 11 (Big Sur)
Fixes #5203
2020-12-01 15:52:06 -05:00
Francis Lachapelle 5a55b43c7d chore(core): update sope-core/NGStreams/config.guess
Resolves compilation on Debian ARM platform.

Fixes #5202
2020-11-02 11:05:10 -05:00
Ludovic Marcotte ed0a078454 fix(core): consider @ as a printable character 2020-10-15 09:32:00 -04:00
Ludovic Marcotte df94cafba6 fix(core): MIME generation resulting in broken S/MIME (fixes #4634) 2020-10-13 09:59:30 -04:00
Francis Lachapelle 84b7fecf83 Update ChangeLog 2020-10-07 10:47:02 -04:00
Ludovic Marcotte cb56694116 fix(core): handle bogus CardDAV clients 2020-10-07 08:00:02 -04:00
Extra Fu 099e8b0ec8
Merge pull request #60 from the-nic/bugfix/5175-fix-fd-leak-with-starttls
fix(core): Dont leak fd when using STARTTLS
2020-09-26 17:15:11 -04:00
Nicolas Höft 218ca14fc2 fix(appserver): Fix warning
Convert const char* to char* as the ownership is transferred to NSString
2020-09-26 20:07:05 +02:00
Nicolas Höft 2ad8d880d6 fix(core): Dont leak fd when using STARTTLS
When STARTTLS is used, we re-use the connection and put a
new socket "on top" of the old one and reuse the file
descriptor of the previous socket.

This lead to two issues: First, now both sockets tried to close
the underlying file descriptor: Once from the non-starttls connection,
once by the starttls connection. This wasnt so harmful, as closing would
fail with EBADF. Fix this by using the flag `closeOnFree` for such
fd assignments, in this way the ownership is clearer.

The second issue is more severe: when passing the fd to the TLS socket,
the TLS socket could already have an fd assigned, but that would never
be freed. To fix the fd leak simply call `close` on the old fd
when `setFileDescriptor` is called.

Fixes: #5175
2020-09-26 19:57:36 +02:00
Francis Lachapelle c5c23fd757 fix(mime): parse empty address in envelope
Fixes #5173
Fixes #5174
2020-09-25 13:52:35 -04:00
Extra Fu 9c61bdab91
Merge pull request #59 from the-nic/bugfix/memleak
fix(appserver): Fix memory leak
2020-09-25 05:46:26 -04:00
Nicolas Höft 30815c3876 fix(appserver): Fix memory leak
Free the memory allocated by calloc() again by passing `freeWhenDone: YES`
2020-09-25 11:01:41 +02:00
Francis Lachapelle 1ac9e39e8f fix(smtp): raise exception when server returns an error 2020-09-14 14:32:01 -04:00
Francis Lachapelle 50441eb222 fix(smtp): add defaults SMTPDebugEnabled
Instead of depending on ImapDebugEnabled, NGSmtpClient and NGSendMail
will log debugging information only if SMTPDebugEnabled is set.

Fixes #5129
2020-09-14 14:23:43 -04:00
Francis Lachapelle 579f73e6de fix(imap): ignore empty envelope addresses
Fixes #5142
2020-09-09 14:59:44 -04:00
Francis Lachapelle 4527e6a5c3 fix(mime): encode , / ; / : characters in headers
Fixes #5119
2020-08-14 09:56:58 -04:00
Francis Lachapelle 20999a353f
Merge pull request #58 from the-nic/optional-tls-validation
feat(core): Implement optional TLS validation
2020-08-05 13:47:58 -04:00
Nicolas Höft 5a4f363628 fix(core): NGMimeType: Fix unit tests
Add missing charsets in NGMimeType that are tested in the SOGo unit tests.
2020-08-02 15:09:41 +02:00
Nicolas Höft 4f280bf238 feat(core): Allow setting TLS verify mode for IMAP, SMTP, Sieve
Given the query parameter `tlsVerifyMode` one can specify the TLS
validation mode for IMAP, SMTP, and sieve protocols when the TLS
wrapper is enabled.

Possible options are:
  * tlsVerifyMode=allowInsecureLocalhost: This will disable peer verification
    if the remote host is on the local machine (localhost and similar)
  * tlsVerifyMode=none: Disable all TLS checks. This should be used for
    debugging only

Refs #5078
2020-08-02 15:09:41 +02:00
Nicolas Höft 417ef16a1a feat(core): Extend NSURL with queryComponents
This queryComponents method will return a NSDictionary with the key/values
for the query, to allow for easy access if the given query components.
2020-08-02 15:09:41 +02:00
Nicolas Höft 4fb17374da feat(core): NGActiveSSLSocket: Allow setting peer verification for STARTTLS
Add a new initializer for NGActiveSSLSocket, `initWithConnectedActiveSocket`
with the purpose to be initialized on top of a connected socket. Moving
the function of grabbing the socket fd and options from outside into the
SSL socket implementation itself.

Also by passing the socket, we dont have to pass the host name explicitly
anymore, as we can get it from the socket itself.

The verifyMode selector can enable the full TLS checks (default), disable
them for localhost addresses, or disable peer verification completely.

Refs #5078
2020-08-02 15:09:41 +02:00
Nicolas Höft ca0c82834d feat(core): SocketAddress: isLocalhost hostName to protocol
The function isLocalhost will return true if the given address is on the
same machine. For this it checks for "localhost[6]" domain names or if
the IP is in 127.0.0.1/8.

Add the hostName getter to return the hostname, for LocalSocketAddress it will
always return YES.
2020-08-02 14:38:08 +02:00
Nicolas Höft 2c9d49197a feat(core): NGActiveSSLSocket: Add option to disable peer verification
In certain scenarios it may be helpful to disable peer verification,
even though it undermines the concept in TLS.
The default is to verify the peer, but it can be disabled if validation
is disabled before the handshake is performed.
2020-08-01 19:49:42 +02:00
Francis Lachapelle 34dc27941e fix(imap): sanitize destination mailbox name in copy operations
Fixes #5095
2020-07-30 11:28:25 -04:00
Francis Lachapelle 8b1b1a0d83 fix(sieve): improve connection error remediation 2020-07-09 15:40:39 -04:00
Ludovic Marcotte 9c5483b96c fix(core): added MySQL debugging when opening/closing connections 2020-07-09 12:09:46 -04:00
Ludovic Marcotte 9460140be5 fix(core): added method in header to avoid warning 2020-07-08 07:56:03 -04:00
Extra Fu 9138e796f0
Merge pull request #56 from the-nic/bugfix/5019-tls-hostname-v2
feat(core): Support hostname validation for openssl < 1.0.2 and gnutls<3.4.6
2020-07-03 14:43:15 -04:00