imaplib2: bump upstream version 2.29 --> 2.33

Signed-off-by: Sebastian Spaeth <Sebastian@SSpaeth.de>
tests: extend imapsplit test

One more test of the internal imapsplit function.

Signed-off-by: Sebastian Spaeth <Sebastian@SSpaeth.de>
Curses UI: Reset the warn method before terminate

The warn() method tries to set the color to red. This leads to a garbled
tty after endwin() has been called. So lets simply use the UIBase
implementation.

Signed-off-by: Christoph Höger <christoph.hoeger@tu-berlin.de>
docs: maxage/size skeleton

Add skeleton for maxage/maxsize documentation. Also remove the old
nametrans.rst from the old doc location.

Signed-off-by: Sebastian Spaeth <Sebastian@SSpaeth.de>
Fix SSL fingerprint was not always checked

As reported by James Cook, we would not check the fingerprint of the SSL
server, as we were looking for the 'ssl' module in locals() rather than
globals(). Ooops!

Rather than using globals() though, I simply remove the by-now
superfluous check. We now rely on python2.6 and we unconditionally
import the SSL module in any case, so it needs to be there.

Signed-off-by: Sebastian Spaeth <Sebastian@SSpaeth.de>
Document that '%' needs encoding as '%%' in offlineimap.conf

We use python's SafeConfigParser, and this is a built in "feature" used
for interpolating variables. But it imples that '%' needs encoding as
'%%'.

Signed-off-by: Sebastian Spaeth <Sebastian@SSpaeth.de>
Do not try to release IMAP connection twice

Reported by sharat87 in https://github.com/spaetz/offlineimap/pull/38,
he would often get an unhandled Exception when trying to
releaseconnection() a connection that was not in the pool of
connections.

The reason this could happen is that when folder.IMAP.quickchanged()
raises an Exception in select(), we would release the connection in the
"except" handling, and than release the same connection in the "finally"
clause, which led to the error. The right thing is to only release the
connection once, of course.

Signed-off-by: Sebastian Spaeth <Sebastian@SSpaeth.de>
Implement .readonly property for repositories

Set the value once on repository initialization to centralize the
default value.

Signed-off-by: Sebastian Spaeth <Sebastian@SSpaeth.de>
Implement the "createfolders" setting for repositories

By default OfflineImap propagates new folders in both
directions. Sometimes this is not what you want. E.g. you might want
new folders on your IMAP server to propagate to your local MailDir,
but not the other way around. The 'readonly' setting on a repository
will not help here, as it prevents any change from occuring on that
repository. This is what the `createfolders` setting is for. By
default it is `True`, meaning that new folders can be created on this
repository. To prevent folders from ever being created on a
repository, set this to `False`. If you set this to False on the
REMOTE repository, you will not have to create the `Reverse
nametrans`_ rules on the LOCAL repository.

Also implement a test for this

Signed-off-by: Sebastian Spaeth <Sebastian@SSpaeth.de>
Release v6.5.4

See Changelog for details

Signed-off-by: Sebastian Spaeth <Sebastian@SSpaeth.de>
Merge branch 'next'
Merge remote-tracking branch 'main/master'

Conflicts:
	Changelog.rst
Gmail does not store Seen flag when copying message to server
Create modifyDate field to track updates to file