[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-bugs-dist
Subject:    Bug#23896: proxy pop server error
From:       Michael =?iso-8859-1?q?H=E4ckel?= <Michael () Haeckel ! Net>
Date:       2001-04-13 8:52:05
[Download RAW message or body]

On Friday, 13. April 2001 01:36, Lennart Blixt wrote:
>
> Hi again.
> Well, maybe my fault. But here is what ethereal states (short version)
> <first time I saw something like ethereal..>:
>
> ****not working version***********************
> +OK Proxy+ POP3 Gateway ready. Enter USER account#pop3_server_host.
> AUTH
> USER name.hem#hem.utfors.se
> QUIT

Actually I would be interested in the response to the AUTH command. Is there 
really no response?
Do you get anything like
-ERR command not supported
or
+OK Following are Supported SASL mechanisms ?

Also what is the response to the USER command?

KMail checks for APOP and SASL support automatically before it transfers the 
password in plain text over the net, therefore the AUTH command.

If you wouldn't use an RPM you could also test appended patch. Some servers 
seem to no longer respond to any commands if one command fails. Maybe that is 
also the problem here.

Regards,
Michael Häckel


Index: pop3.cc
===================================================================
RCS file: /home/kde/kdebase/kioslave/pop3/pop3.cc,v
retrieving revision 1.91
diff -u -3 -p -r1.91 pop3.cc
--- pop3.cc     2001/04/08 14:22:00     1.91
+++ pop3.cc     2001/04/11 12:58:41
@@ -109,6 +109,7 @@ POP3Protocol::POP3Protocol(const QCStrin
        m_tTimeout.tv_sec=10;
        m_tTimeout.tv_usec=0;
        m_try_apop = true;
+       m_try_sasl = true;
        opened = false;
 }

@@ -355,7 +356,7 @@ bool POP3Protocol::pop3_open(const KURL

                // We need to check what methods the server supports...
                // This is based on RFC 1734's wisdom
-               if (command(sasl_buffer.local8Bit())) {
+               if (m_try_sasl && command(sasl_buffer.local8Bit())) {
                        while (!AtEOF()) {
                                memset(buf, 0, sizeof(buf));
                                ReadLine(buf, sizeof(buf)-1);
@@ -395,6 +396,12 @@ bool POP3Protocol::pop3_open(const KURL
                                                return true;
                                }
                        }
+               }
+               else if (m_try_sasl)
+               {
+                       pop3_close();
+                       m_try_sasl = false;
+                       return pop3_open(url);
                }

                // Fall back to conventional USER/PASS scheme
Index: pop3.h
===================================================================
RCS file: /home/kde/kdebase/kioslave/pop3/pop3.h,v
retrieving revision 1.30
diff -u -3 -p -r1.30 pop3.h
--- pop3.h      2001/01/10 09:13:01     1.30
+++ pop3.h      2001/04/11 12:58:41
@@ -97,7 +97,7 @@ protected:
        struct timeval m_tTimeout;
        QString m_sOldServer, m_sOldPass, m_sOldUser;
        QString m_sServer, m_sPass, m_sUser;
-       bool m_try_apop, opened;
+       bool m_try_apop, m_try_sasl, opened;
        QString m_sError;
 };

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic