diff options
author | Matthias Andree <matthias.andree@gmx.de> | 2009-06-30 08:58:48 +0000 |
---|---|---|
committer | Matthias Andree <matthias.andree@gmx.de> | 2009-06-30 08:58:48 +0000 |
commit | 9f4d447990cd59a9e40b9783eddee0987b4cc826 (patch) | |
tree | 89c9fea115d9b7f935aa50d956461c46e641b882 /imap.c | |
parent | 8b4467e26bbd06808be0855ba2d40fcb4427628f (diff) | |
download | fetchmail-9f4d447990cd59a9e40b9783eddee0987b4cc826.tar.gz fetchmail-9f4d447990cd59a9e40b9783eddee0987b4cc826.tar.bz2 fetchmail-9f4d447990cd59a9e40b9783eddee0987b4cc826.zip |
Preliminary Yahoo/Zimbra IMAP ID ("guid" "1") support. Not ready for prime-time.
svn path=/branches/BRANCH_6-3/; revision=5363
Diffstat (limited to 'imap.c')
-rw-r--r-- | imap.c | 9 |
1 files changed, 9 insertions, 0 deletions
@@ -478,6 +478,15 @@ static int imap_getauth(int sock, struct query *ctl, char *greeting) */ ok = PS_AUTHFAIL; + /* Yahoo hack - we'll just try ID if it was offered by the server, + * and IGNORE errors. */ + { + char *tmp = strstr(capabilities, " ID"); + if (tmp && !isalnum(tmp[3]) && strstr(ctl->server.via ? ctl->server.via : ctl->server.pollname, "yahoo.com")) { + (void)gen_transact(sock, "ID (\"guid\" \"1\")"); + } + } + if ((ctl->server.authenticate == A_ANY || ctl->server.authenticate == A_EXTERNAL) && strstr(capabilities, "AUTH=EXTERNAL")) |