Properly decode Unicode folder names; fix #5217

Previously, we were taking folder names as they came off the wire.
Turns out IMAP specifies that folder names with 8 bit code points are
encoded in a crazy scheme unique to IMAP.  Now, we properly decode that
scheme to the correct UTF-8 folder names to be displayed to the user.

There's also now a database upgrade path that converts all existing
mailboxes to the decoded version, so your existing database should just
keep working.
This commit is contained in:
Charles Lindsay 2013-02-25 15:01:37 -08:00
parent 8d4761461f
commit cee5a81df1
13 changed files with 413 additions and 47 deletions

View file

@ -5,3 +5,4 @@ install(FILES version-002.sql DESTINATION ${SQL_DEST})
install(FILES version-003.sql DESTINATION ${SQL_DEST})
install(FILES version-004.sql DESTINATION ${SQL_DEST})
install(FILES version-005.sql DESTINATION ${SQL_DEST})
install(FILES version-006.sql DESTINATION ${SQL_DEST})

7
sql/version-006.sql Normal file
View file

@ -0,0 +1,7 @@
--
-- Dummy database upgrade to fix folder names being stored in encoded form.
-- Before this version, all folder names are stored as they came off the wire.
-- After this version, all folder names are stored in canonical UTF-8 form.
-- See src/engine/imap-db/imap-db-database.vala in post_upgrade() for the code
-- that runs the upgrade.
--