Commit Graph

1579 Commits

Author SHA1 Message Date
Rodolfo García Peñas (kix)
9ebdbe47ee Reformat offlineimap/folder/Base.py
Add some spaces, remove lines,... now format is better (lintian).
2020-08-29 19:39:31 +02:00
Rodolfo García Peñas (kix)
18d2e972ac Mail now is typle of bytes convert to str
This patch saves the tuple and discard the bytes/str (now bytes).

Then, convert the tuple elements to str (from bytes).
2020-08-29 19:00:28 +02:00
Rodolfo García Peñas (kix)
a88a9cf28e ui init is lintian clean
This patch only adds an space between the hash and the first character.
2020-08-29 09:51:31 +02:00
Rodolfo García Peñas (kix)
7ba9ca1cca Maildir set is a builtin in python3
set() is a builtin, it is already included.
2020-08-29 09:22:23 +02:00
Rodolfo García Peñas (kix)
99f85737c5 Removed python2 code in imaputil
This code is marked as python2, could be removed.
2020-08-29 09:07:15 +02:00
Rodolfo García Peñas (kix)
a655fa4fc2 threadutil imports not used
These imports are not used.
2020-08-29 09:04:07 +02:00
Rodolfo García Peñas (kix)
aebd530aaf threadutil imports without try except
Python 2 is not supported now. The import is the same in try and except.
2020-08-29 09:03:39 +02:00
Rodolfo García Peñas (kix)
ead8b157af CustonConfig imports withou try except
Python 2 is not supported now. The import is the same in try and except.
2020-08-29 09:02:16 +02:00
Rodolfo García Peñas (kix)
1618505d3b Machine imports withou try except
Python 2 is not supported now. The import is the same in try and except.
2020-08-29 09:00:30 +02:00
Rodolfo García Peñas (kix)
46c677151a UIBase imports without try except
Python 2 is not supported now. The import is the same in try and except.
2020-08-29 08:58:53 +02:00
Rodolfo García Peñas (kix)
3711954908 Folder name is already utf8
We don't need decode it.
2020-08-28 20:31:00 +02:00
Rodolfo García Peñas (kix)
36bfbdf7d6 Get the month number
This patch gets the month number using datetime library.

I removed the function Mon2num. The list is not used now, it is removed
too.

I need change the regex in the compile to get the fields. Now is str,
not binary, so I remored the 'b'.
2020-08-28 20:05:52 +02:00
Rodolfo García Peñas (kix)
e61e77cf40 Convert bytes to string in IMAP folder
Convert the IMAP reply to string.
2020-08-28 17:25:06 +02:00
Rodolfo García Peñas (kix)
1379c32c5a IMAP do not use single quotes on fetch
The IMAP command is:

C: A654 FETCH 2:4 (FLAGS BODY[HEADER.FIELDS (DATE FROM)])

not

C: A654 FETCH '2:4' (FLAGS BODY[HEADER.FIELDS (DATE FROM)])

The single quotes must be removed.
2020-08-28 17:18:29 +02:00
Rodolfo García Peñas (kix)
bb5b1f2dcf Encode folder name before md5
Avoid the error:

Unicode-objects must be encoded before hashing
2020-08-28 16:51:11 +02:00
Rodolfo García Peñas (kix)
22dfbd7a54 Split the IMAP folders
This patch modifies two files. First, we need split using '', not '""'.
Else we don't split anything.

OTOH, we need convert the bytes to string, then we can parse the folder
names.
2020-08-28 16:35:00 +02:00
Rodolfo García Peñas (kix)
c9a4b1fefa Add quotes in empty LIST calls
I need add this to get the imap LIST folders.
2020-08-28 16:03:15 +02:00
Rodolfo García Peñas (kix)
6fa099ff74 bundled_imaplib2 encode removed cr
This patch removes the cr in the encoding call. It avoids a crash.
2020-08-28 13:37:09 +02:00
Rodolfo García Peñas (kix)
6378c722b0 Do not use binary in the plain auth
Changed from binary to string in plain auth.
2020-08-28 13:06:31 +02:00
Rodolfo García Peñas (kix)
e84e932df4 Changed wrong comparison equal 2020-08-28 12:49:03 +02:00
Rodolfo García Peñas (kix)
5e356b0bf5 Removed codecs
I removed these calls to codecs because I got the error:

ValueError: can't have text and binary mode at once
2020-08-28 12:38:15 +02:00
Rodolfo García Peñas (kix)
476c485a52 Using standard imaplib2.py
This is the standard imaplib2 file.
2020-08-28 11:48:16 +02:00
Rodolfo García Peñas (kix)
75ce6e71f3 Comparison error 2020-08-28 03:33:49 +02:00
Rodolfo García Peñas (kix)
6ec6111896 2to3 main 2020-08-28 03:32:43 +02:00
Rodolfo García Peñas (kix)
0c58628c3b Remvoed Debug variable
I removed this variable.

The default level now is 3, not 5.
2020-08-28 02:59:37 +02:00
Rodolfo García Peñas (kix)
62209db06e Popen uses default buffer size
From the ipamlib2.
2020-08-28 02:28:35 +02:00
Rodolfo García Peñas (kix)
938bf647f1 Moving to imaplib2 python3 start
This patch only changes non-important parts, like imports,
comments, and more.
2020-08-27 22:53:16 +02:00
Rodolfo García Peñas (kix)
a6c5e96eb5 Force bundled_imaplib2
I am forcing to use the bundled. I will modify this library
to make it similar to imaplib2 for python3
2020-08-27 22:18:19 +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
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
Olivier Mehani
0d5496ba0a implement Happy Eyeballs
This allows OfflineIMAP to not stall on malfunctional IPv6 connections,
and fall-back to a functional IPv4 connection, if faster, as described
in RFC6555.

Signed-off-by: Olivier Mehani <shtrom@ssji.net>
Signed-off-by: Nicolas Sebrecht <nicolas.s-dev@laposte.net>
2019-06-10 14:36:53 +02:00
Nicolas Sebrecht
06ed00a211 v7.2.4
Tested-by: Nicolas Sebrecht <nicolas.s-dev@laposte.net>
Signed-off-by: Nicolas Sebrecht <nicolas.s-dev@laposte.net>
2019-06-08 11:32:57 +02:00
Nicolas Sebrecht
801893cc73 make portalocker really optional
Signed-off-by: Nicolas Sebrecht <nicolas.s-dev@laposte.net>
2019-04-27 14:56:17 +02:00
kimim
2806f40071 use portable locker to support cygwin in Windows
Signed-off-by: Nicolas Sebrecht <nicolas.s-dev@laposte.net>
2019-04-27 14:37:44 +02:00
Nicolas Sebrecht
0d865c2e36 repository/IMAP: update copyright header date
Signed-off-by: Nicolas Sebrecht <nicolas.s-dev@laposte.net>
2019-02-27 08:48:59 +01:00
Kyle Altendorf
57a43f5bba mkdir -p alike folder creation
When creating a folder in one command on Gmail you end up with
one tag such as 'x/y/z' instead of three nested tags such as 'z'
inside of 'y' inside of 'x'.  Creating each layer individually
results in the desired nested label structure.

This was tested in a personal transfer of email from a remote
IMAP server to Gmail.

OfflineIMAP/offlineimap#335
OfflineIMAP/offlineimap#598

Signed-off-by: Kyle Altendorf <sda@fstab.net>
Signed-off-by: Nicolas Sebrecht <nicolas.s-dev@laposte.net>
2019-02-27 08:45:57 +01:00
Nicolas Sebrecht
5c735fd327 v7.2.3
Tested-by: Nicolas Sebrecht <nicolas.s-dev@laposte.net>
Signed-off-by: Nicolas Sebrecht <nicolas.s-dev@laposte.net>
2019-02-17 00:31:19 +01:00
Mart Lubbers
c9f71b0c64 add checks in curses ui for small windows
addch() and addstr() throw an exception if text has to be printed
outside of the window. This may occur if the terminal is very small.
Such erroneous prints are no-ops now.

Signed-off-by: Mart Lubbers <mart@martlubbers.net>
Signed-off-by: Nicolas Sebrecht <nicolas.s-dev@laposte.net>
Github-ref: https://github.com/OfflineIMAP/offlineimap/issues/595
2019-02-13 16:32:02 +01:00
Nicolas Sebrecht
137130fbd0 v7.2.2
Tested-by: Nicolas Sebrecht <nicolas.s-dev@laposte.net>
Signed-off-by: Nicolas Sebrecht <nicolas.s-dev@laposte.net>
2018-12-22 18:46:34 +01:00
Robbie Harwood
096aa07650 Handle empty token with complete GSSAPI context
This fixes a potential traceback when we try to unwrap(None).

Tested-by: Stefan Hajnoczi <stefanha@redhat.com>
Signed-off-by: Robbie Harwood <rharwood@redhat.com>
Signed-off-by: Nicolas Sebrecht <nicolas.s-dev@laposte.net>
2018-12-14 21:28:30 +01:00
Nicolas Sebrecht
a51064e83a maxage: always compute the remote cache list for min_uid
Github-ref: https://github.com/OfflineIMAP/offlineimap/issues/581
Tested-by: https://github.com/ianbrody
Signed-off-by: Nicolas Sebrecht <nicolas.s-dev@laposte.net>
2018-12-11 09:29:37 +01:00
Frode Aannevik
8692799e65 Fix expired oauth2_access_token
Use `expires_in` from the oauth2 response
to reset the oauth2_access_token before
it expires

divides the `expires_in` by 2 to ensure
the access_token is cleared before it
expires

ref: https://github.com/OfflineIMAP/offlineimap/issues/536

Signed-off-by: Frode Aannevik <frode.aa@gmail.com>
Signed-off-by: Nicolas Sebrecht <nicolas.s-dev@laposte.net>
2018-11-18 21:07:54 +01:00
Philippe Loctaux
af3a35ae30 offlineimap/utilis/distro.py: identation fix
Fixed a indentation style.

Signed-off-by: Philippe Loctaux <loctauxphilippe@gmail.com>
Signed-off-by: Nicolas Sebrecht <nicolas.s-dev@laposte.net>
2018-08-17 18:49:04 +02:00
Philippe Loctaux
761e10e8b1 Add Archlinux to list of supported distros
There is a bug with `platform.linux_distribution()`, which returns an
empty value on Archlinux with python2.

This bug is fixed in python3, but *will not* be fixed in python2.

This patch fixes that issue with a dirty hack: on archlinux, there is a
file that can be used to detect an archlinux machine. that file is
`/etc/arch-release`. if the file exists, then the OS variable will be
set to "linux-arch".

You can learn more about that issue on the python bug platform:
https://bugs.python.org/issue20454

Signed-off-by: Philippe Loctaux <loctauxphilippe@gmail.com>
Signed-off-by: Nicolas Sebrecht <nicolas.s-dev@laposte.net>
2018-08-17 18:49:04 +02:00
Nicolas Sebrecht
d9301254ff fix dates in copyright lines
Signed-off-by: Nicolas Sebrecht <nicolas.s-dev@laposte.net>
2018-08-13 01:15:01 +02:00
Philippe Loctaux
2890dec37f Added ssl certfile on osx for openssl pacakge on homebrew
A certfile was already specified for osx but only with MacPorts,
this patch adds the certfile given with the package `openssl` with
homebrew.

You can get more info with the command `brew info openssl` on osx with
homebrew and openssl installed.

Signed-off-by: Philippe Loctaux <loctauxphilippe@gmail.com>
Signed-off-by: Nicolas Sebrecht <nicolas.s-dev@laposte.net>
2018-08-10 12:48:17 +02:00