K-9 Mail – Open Source Email App for Android
3877f58515
Previously, the user name and password were being transmitted as IMAP (RFC 3501) quoted strings. The problem is that quoted strings are only permitted to carry 7-bit (ASCII) data, whereas user names and passwords entered in K-9 Mail may not be ASCII, so K-9 was violating the RFC by sending them as quoted strings. The solution is to transmit the credentials as IMAP literal strings, which are permitted for user names and passwords, and which permit the transmission of 8-bit data. This is only a partial attempt for fixing the LOGIN command for users with non-ASCII credentials. The problem is that IMAP permits 8-bit data for user names and passwords (if transmitted as literals), but the RFC says nothing about the character encoding for 8-bit data. This commit encodes them as UTF-8. The RFC author's comments on the subject: http://mailman2.u.washington.edu/pipermail/imap-protocol/2008-February/000822.html Ideally, users should avoid the LOGIN command and use the SASL PLAIN mechanism (within TLS) which explicitly permits UTF-8. (K-9 Mail always chooses PLAIN over LOGIN, when PLAIN is available.) |
||
---|---|---|
.tx | ||
assets | ||
compile-only-libs | ||
docs | ||
gradle/wrapper | ||
images | ||
libs | ||
plugins | ||
res | ||
src/com/fsck/k9 | ||
tests | ||
tests-on-jvm | ||
tools | ||
.gitignore | ||
.gitmodules | ||
.project | ||
ActionBarSherlock.iml | ||
Android-PullToRefresh.iml | ||
Android.mk | ||
AndroidManifest.xml | ||
build.gradle | ||
build.xml | ||
build_common.xml | ||
ckChangeLog.iml | ||
gradlew | ||
gradlew.bat | ||
HoloColorPicker.iml | ||
HTMLCLEANER_LICENSE | ||
k9mail.iml | ||
k9mail.ipr | ||
MODULE_LICENSE_APACHE2 | ||
NOTICE | ||
proguard.cfg | ||
project.properties | ||
settings.gradle |