Commit Graph

2415 Commits

Author SHA1 Message Date
Chris Coleman ffbace51a2
Update BACKERS.md 2023-03-30 07:19:04 -04:00
Chris Coleman 7eacce1f58
Update BACKERS.md
Add logo (in feature branch of website, pending merge) with link to sponsor website!
2023-03-29 07:00:35 -04:00
Chris Coleman 87b04f0f54
Update BACKERS.md 2023-03-29 04:39:47 -04:00
Chris Coleman 8bd94ee8bc
Create BACKERS.md
Work in Progress. 
For all Bronze and Silver Sponsors, this page is supposed to show sponsoring company logo and link to sponsoring company website, also for Silver, same on sponsors page of our website.
Gold and Platinum go in `README.md` and on front page of our website.
2023-03-29 04:35:40 -04:00
Nicolas Sebrecht e70d3992a0 README: rewording and typo fix
Signed-off-by: Nicolas Sebrecht <nicolas.s-dev@laposte.net>
2021-08-03 01:24:07 +02:00
Nicolas Sebrecht 99a7f74805 Changelog: fix version
Signed-off-by: Nicolas Sebrecht <nicolas.s-dev@laposte.net>
2021-08-03 01:12:52 +02:00
Nicolas Sebrecht 6e837c614d v7.3.4
Tested-by: Nicolas Sebrecht <nicolas.s-dev@laposte.net>
Signed-off-by: Nicolas Sebrecht <nicolas.s-dev@laposte.net>
2021-08-03 01:07:23 +02:00
Nicolas Sebrecht 1953001196 Merge remote-tracking branch 'OfflineIMAP/master' into next 2021-08-03 01:06:07 +02:00
Nicolas Sebrecht a4ee6675ce redirect the users to offlineimap3
Signed-off-by: Nicolas Sebrecht <nicolas.s-dev@laposte.net>
2021-08-03 00:55:07 +02:00
Nicolas Sebrecht a2a92e7433 remove outdated links to travis
Signed-off-by: Nicolas Sebrecht <nicolas.s-dev@laposte.net>
2021-08-03 00:54:44 +02:00
Nicolas Sebrecht feec770809
Merge pull request #698 from cathalgarvey/patch-1
Lack of Python 3 support needs to be more clear..
2021-07-29 01:24:24 +02:00
Cathal Garvey 069c05a0c2
Lack of Python 3 support needs to be more clear..
I saw the top line, and the requirement for `six`, and took that to mean that Python 3 was supported. After wasting some of my time setting up and dealing with opaque bugs, I discovered that Python 3 is not supported after all.

"2.7+" implies modernity, so I'm suggesting we substitute "2.7.x" to be explicit that this is Python 2 only, and strike through the Python 3 line to be blunt that it is not working.
2021-05-18 13:07:55 +01:00
Nicolas Sebrecht 2d0d07cd6a README: update regarding the offlineimap3 fork
Github-ref: https://github.com/OfflineIMAP/offlineimap/issues/670
Signed-off-by: Nicolas Sebrecht <nicolas.s-dev@laposte.net>
2020-09-05 01:23:38 +02:00
Rodolfo García Peñas (kix) 595b814074 ui init is lintian clean
This patch only adds an space between the hash and the first character.

Backported from:
a88a9cf28e

Signed-off-by: Nicolas Sebrecht <nicolas.s-dev@laposte.net>
2020-08-29 23:23:28 +02:00
Rodolfo García Peñas (kix) 2722234d16 threadutil imports not used
These imports are not used.

Backported from:
a655fa4fc2

Signed-off-by: Nicolas Sebrecht <nicolas.s-dev@laposte.net>
2020-08-29 23:23:28 +02:00
Rodolfo García Peñas (kix) 3d925b006a Changed wrong comparison equal
Backported from:
e84e932df4

Signed-off-by: Nicolas Sebrecht <nicolas.s-dev@laposte.net>
2020-08-29 22:54:15 +02:00
Rodolfo García Peñas (kix) c7cb68ad7f Comparison error
Backported from:
75ce6e71f3

Signed-off-by: Nicolas Sebrecht <nicolas.s-dev@laposte.net>
2020-08-29 22:53:16 +02:00
Reto Schnyder f6935342c2 Fix hooks for IDLE sync
`presynchook` and `postsynchook` for IDLE-triggered syncs were broken by
da69fd8. This fixes them.

Signed-off-by: Reto Schnyder <reto.a.schnyder@bluewin.ch>
Signed-off-by: Nicolas Sebrecht <nicolas.s-dev@laposte.net>
2020-08-22 01:54:48 +02:00
Nicolas Sebrecht 21332efb08 folder: IMAP: fix issue when the response of searchforheaders is the same UID multiple times
When the IMAP server doesn't support the UIDPLUS extension so we fallback on the
internal legacy way of mapping the UID to the uploaded message (with the email
header). If the server responds with 2 UIDs offlineimap doesn't know which one
is correct and reports an error.

If for some reason all the returned UIDs are equals it's very likely fine to
map either one.

Signed-off-by: Nicolas Sebrecht <nicolas.s-dev@laposte.net>
Tested-by: https://github.com/mpsq
Github-ref: https://github.com/OfflineIMAP/offlineimap/issues/676
2020-07-22 22:31:01 +02:00
Nicolas Sebrecht fdb9974ab7 contrib/release..py: the version information has moved to offlineimap.version
Signed-off-by: Nicolas Sebrecht <nicolas.s-dev@laposte.net>
2020-04-22 16:07:20 +02:00
Martin Di Paola c13e0135a7 Require the minimal dependencies in python package
When an user installs offlineimap from PyPI using pip, the dependencies
of offlineimap are not installed automatically. See #661.

Requiring explicitly the dependencies in the setup.py adds them in the
metadata of the package so pip can install them next with offlineimap.

To avoid duplicated dependencies, requirements.txt delegates to setup.py
the listing of the minimal dependencies while also adding two more
optional dependencies.

Signed-off-by: Martin Di Paola <martinp.dipaola@gmail.com>
Signed-off-by: Nicolas Sebrecht <nicolas.s-dev@laposte.net>
2020-04-22 15:51:13 +02:00
Martin Di Paola 8599cab2ab Move out pkg attributes from __init__.py
The setup.py uses the version, author and others attributes as metadata
for the python package.

The setup read them from offlineimap/__init__.py doing an import of the
module first.

Unfortunately the import also try to import all the dependencies of
offlineimap which may not be installed by the time. See #661.

Moving out the attributes in a separated module allows to be imported by
setup.py whitout needing to import the whole offlineimap.

The import of test.OLItest has the same limitation. In this case the
import was delayed until the real test case run is executed avoiding
again loading offlineimap from the begin.

Signed-off-by: Martin Di Paola <martinp.dipaola@gmail.com>
Signed-off-by: Nicolas Sebrecht <nicolas.s-dev@laposte.net>
2020-04-22 15:51:13 +02:00
Nicolas Sebrecht 7531ac4640 v7.3.3
Tested-by: Nicolas Sebrecht <nicolas.s-dev@laposte.net>
Signed-off-by: Nicolas Sebrecht <nicolas.s-dev@laposte.net>
2020-04-11 01:09:25 +02:00
Herton R. Krzesinski 6a25f1930c Fix stale gss api authentication security context
Inside __authn_gssapi function, the else clause is never executed
because the return statement in the try section, which means if there is
an error and a reconnect is tried, the authentication will now fail with
due the stale self.gss_vc value. For example, offlineimap will be
stuck after any socket error and unable to reconnect, even if I have a
valid kerberos ticket:

========================================================================
abort: command: FETCH => socket error: <type 'exceptions.IOError'> - Too many read 0

  command: FETCH => socket error: <type 'exceptions.IOError'> - Too many read 0
 GSSAPI authentication failed: AUTHENTICATE command error: BAD ['AUTHENTICATE aborted']. Data: BLMC2 AUTHENTICATE GSSAPI

Enter password for user 'XXX':
========================================================================

You can verify this try..finally behaviour with this slightly modified
example that I copied from python documentation:

>>> def divide(x, y):
...     try:
...         result = x / y
...         return 1
...     except ZeroDivisionError:
...         print("division by zero!")
...     else:
...         print("result is", result)
...     finally:
...         print("executing finally clause")
...
>>> divide(2, 1)
executing finally clause
1
>>>

The else section is never executed with a return inside try.

To fix the issue here, instead of relying on else clause, just clear
gss_vc always inside finally, and we don't need to handle any exception
to set self.gssapi, it can be left False by default and just set to True
after authentication is done.

I'm running with this fix and now offlineimap doesn't stop requiring manual
intervention, and succesfully re-authenticate after errors while fetching
data.

Signed-off-by: Herton R. Krzesinski <herton@gmail.com>
Signed-off-by: Nicolas Sebrecht <nicolas.s-dev@laposte.net>
2020-04-11 01:01:44 +02:00
Frank LENORMAND da69fd81ed export env. variables when running account hooks
This commit allows account hooks (pre/post sync) to access contextual
information:

* `OIMAP_ACCOUNT_NAME`: name of the account being synchronized
* `OIMAP_HOOK_NAME`: name of the hook being run (one of `postsynchook`, `presynchook`)

These variables allow using the same hook program (e.g. a script) for
all account synchronisation operations, and running different commands
depending on the stage of the synchronisation or the target account.

Signed-off-by: Frank LENORMAND <lenormf@gmail.com>
Signed-off-by: Nicolas Sebrecht <nicolas.s-dev@laposte.net>
2020-03-23 23:01:30 +01:00
martin f. krafft 4562b1c5d1 exec() the tunnel command
There is no reason that the shell invoking the tunnel command needs to stay
around. Using `exec` to replace the parent with the tunnel command works just
fine and results in a cleaner process table.

Sent-by: martin f. krafft <madduck@madduck.net>
Signed-off-by: Nicolas Sebrecht <nicolas.s-dev@laposte.net>
2020-03-22 09:02:41 +01:00
Chris Coleman 84efb45270 Handle [ALREADYEXISTS] and Mailbox already exists!
Make compatible with IMAP servers that give the reason code "[ALREADYEXISTS]"
and IMAP servers that give natural language reason "Mailbox already exists!" by
searching for the two words "already" and "exists" in the exception reason
string.

Signed-off-by: Nicolas Sebrecht <nicolas.s-dev@laposte.net>
2020-02-06 19:10:33 +01:00
Nicolas Sebrecht 564930725e v7.3.2
Tested-by: Nicolas Sebrecht <nicolas.s-dev@laposte.net>
Signed-off-by: Nicolas Sebrecht <nicolas.s-dev@laposte.net>
2019-12-17 20:01:18 +01:00
Nicolas Sebrecht 1e4990524e Revert "fix check for unsupported sep character"
This reverts commit 4208fd4a15.

Signed-off-by: Nicolas Sebrecht <nicolas.s-dev@laposte.net>
2019-12-17 19:58:53 +01:00
Chris Coleman 50cfab5ba2
Merge pull request #639 from svetlemodry/arch-linux-name
Fixing the Arch Linux name in README.md
2019-12-16 13:28:25 -05:00
Jaroslav Lichtblau 3c80607907 Fixing the Arch Linux name
according to the naming convention as described in the wiki:
https://wiki.archlinux.org/index.php/Arch_terminology#Arch_Linux
2019-12-16 18:24:15 +01:00
Nicolas Sebrecht f6e08b8609 v7.3.1
Tested-by: Nicolas Sebrecht <nicolas.s-dev@laposte.net>
Signed-off-by: Nicolas Sebrecht <nicolas.s-dev@laposte.net>
2019-12-15 23:51:24 +01:00
Chris Coleman 85c7692284
Update README.md
Move "Financial contributors" badge, just below the "build statuses".
2019-12-15 14:13:46 -05:00
Chris Coleman c35e9257fd
Merge pull request #638 from opencollective/opencollective
Activating Open Collective (add badge and show contributors and financial contributors in README.md).
2019-12-15 14:08:57 -05:00
Jess c391141b56 Added financial contributors to the README 2019-12-15 10:00:59 -08:00
Nicolas Sebrecht c53664544e introduce FUNDING.yml for opencollective
Signed-off-by: Nicolas Sebrecht <nicolas.s-dev@laposte.net>
2019-12-06 00:44:55 +01:00
Chris Coutinho 403ddf9c1c Additional address for sysloghandler to handle mac
Signed-off-by: Nicolas Sebrecht <nicolas.s-dev@laposte.net>
2019-10-12 19:58:44 +02:00
Nicolas Sebrecht 4208fd4a15 fix check for unsupported sep character
Introduced by 6b28071 but could not work.

Signed-off-by: Nicolas Sebrecht <nicolas.s-dev@laposte.net>
2019-10-04 00:00:32 +02:00
Nicolas Sebrecht 0b18cb5e73 ensure python2 in the release workflow
Signed-off-by: Nicolas Sebrecht <nicolas.s-dev@laposte.net>
2019-08-19 19:35:13 +02:00
Nicolas Sebrecht 3d918ff7fe make docs: ensure py2 when running sphinx
Signed-off-by: Nicolas Sebrecht <nicolas.s-dev@laposte.net>
2019-08-19 19:33:34 +02:00
Nicolas Sebrecht 4464195326 contrib: use yaml.safe_load() instead of load()
Signed-off-by: Nicolas Sebrecht <nicolas.s-dev@laposte.net>
2019-08-19 19:20:29 +02:00
Nicolas Sebrecht ba4ecea9e4 v7.3.0
Tested-by: Nicolas Sebrecht <nicolas.s-dev@laposte.net>
Signed-off-by: Nicolas Sebrecht <nicolas.s-dev@laposte.net>
2019-08-19 19:17:53 +02:00
Dario Maiocchi 805a1c156c update readme to give an hint about Linux distros
Signed-off-by: Nicolas Sebrecht <nicolas.s-dev@laposte.net>
2019-08-17 13:21:00 +02:00
Nicolas Sebrecht 9c6a1760b4 imaplib2 v2.101
Signed-off-by: Nicolas Sebrecht <nicolas.s-dev@laposte.net>
2019-06-18 23:50:29 +02:00
Ilias Tsitsimpis beaaf77a1a Do not use TIMEOUT_MAX for Condition.wait()
On some architectures, using threading.TIMEOUT_MAX for the timeout
parameter can overflow causing Condition.wait() to return immediately.
Instead of relying on TIMEOUT_MAX, remove it and wait forever.

Signed-off-by: Ilias Tsitsimpis <iliastsi@debian.org>
Signed-off-by: Nicolas Sebrecht <nicolas.s-dev@laposte.net>
2019-06-18 23:16:04 +02:00
Julien Cristau 0a831b3cab Use SSLContext if available so we send SNI
Fixes https://github.com/imaplib2/imaplib2/issues/5

Signed-off-by: Nicolas Sebrecht <nicolas.s-dev@laposte.net>
2019-06-18 23:13:35 +02:00
Nicolas Sebrecht 741b33b455 imaplib2 v2.100
Signed-off-by: Nicolas Sebrecht <nicolas.s-dev@laposte.net>
2019-06-18 23:10:21 +02:00
Ben Cotterell 8d5b22bd09 Don't expect trailing space on command completion
While trying to see why I couldn't get my emails from an Exchange server
I found this:

[imap]: 41:31.42 someserver.com handler _put_response(IOMC1 OK)
[imap]: 41:31.42 someserver.com handler unexpected response: 'IOMC1 OK'

And shortly after that the connection was closed. IOMC1 is just the
unique tag for the session.

The pattern looks for the tag, a number, a word like "OK" or something,
*then a space*, then optionally some data.

If the data aren't there it shouldn't be expecting a space.

Signed-off-by: Nicolas Sebrecht <nicolas.s-dev@laposte.net>
2019-06-18 23:04:26 +02:00
Nicolas Sebrecht 8406ba3bb4 travis: remove python3.6
Signed-off-by: Nicolas Sebrecht <nicolas.s-dev@laposte.net>
2019-06-10 17:36:20 +02:00
Nicolas Sebrecht c97fe498e6 README: add required dependency to rfc6555
Signed-off-by: Nicolas Sebrecht <nicolas.s-dev@laposte.net>
2019-06-10 14:37:25 +02:00