[imp] window resizing

Alain Fauconnet alain@cscoms.net
Wed, 1 Nov 2000 10:11:59 +0700


On Wed, Nov 01, 2000 at 08:32:15AM +0700, Alain Fauconnet wrote:
> > >>> nan@frosting.cis.brown.edu 10/31/00 6:38:13 PM >>>
> > Hi, list,
> > 
> > I'm the person having problems with users getting forced back to the
> > IMP login screen if they are using Netscape and resize their browser
> > windows a couple times.
> > 
> > I reconfigured IMP for imap use tonight and while it's in this mode I
> > cannot
> > get the problem to happen, nor can a fellow tester.
> 
> I  have the same exact problem here: IMP 2.2.4-cvs, PHP 3.0.16, Apache
> 1.3.12,  Linux 2.2.16 talking to a Solaris 2.7 uSPARC box with qpopper
> 3.1.
> 
> Client is a Linux 2.2.16 box running Netscape 4.75.
> 

Ok, I think that I have a fair understanding of what goes on. It looks
like a dual POP session drop locking problem. Here is a summary of the
snooped traffic between the IMP web  mail  and  the  POP  server  when
resizing the window:

IMP                           POP
======================================================================
------- Syn S=1632,D=110 ----->
<---- Syn Ack S=110,D=1632 ----
------- Ack S=1632,D=110 ----->
<------ Data S=110,D=1632 ----- "+OK Ready"
------- Data D=110,S=1632 ----> "AUTH"
<------ Data S=110,D=1632 ----- "+OK, Follwing are supported..."
------- Data D=110,S=1632 ----> "USER foobar"
<------ Data S=110,D=1632 ----- "+OK, Password required for foobar"
------- Data D=110,S=1632 ----> "PASS foopass"

------- Syn S=1633,D=110 ----->
<---- Syn Ack S=110,D=1633 ----
------- Ack S=1633,D=110 ----->
<------ Data S=110,D=1633 ----- "+OK Ready"
------- Data D=110,S=1633 ----> "AUTH"
<------ Data S=110,D=1633 ----- "+OK, Follwing are supported..." 
------- Data D=110,S=1633 ----> "USER foobar"
<------ Data S=110,D=1633 ----- "+OK, Password required for foobar"
------- Data D=110,S=1633 ----> "PASS foopass"
<------ Data S=110,D=1633 ----- "-ERR [IN-USE] /var/mail/.foobar.pop lock
                                  busy! Is another session active? (11)"
------- Data D=110,S=1633 ----> "USER foobar"

<------ Data S=110,D=1632 ----- "+OK, foobar has 4 visible messages..."
------- Data D=110,S=1632 ----> "STAT"
<------ Data S=110,D=1632 ----- "+OK, 4 525594"
------- Data D=110,S=1632 ----> "QUIT"
<------ Data S=110,D=1632 ----- "+OK, POP server at mail signing off"
------- Fin S=1632,D=110 ----->
<---- Fin Ack S=110,D=1632 ----

<------ Data S=110,D=1633 ----- "+OK, POP server at mail signing off"
------- Data D=110,S=1633 ----> "PASS foopass"
<------- Fin S=1633,D=110 -----
---- Fin Ack S=110,D=1633 ---->

So we have a 2nd session being opened although the first one is  still
active, causing a maildrop locked error.

Note  that the IMP client (could well be PHP's IMAP/POP client code, I
know) gets very confused when the 2nd session gets the maildrop locked
error. It tries to  re-send  USER  and  PASS  before  the  POP  server
eventually closes the connection.

Now...  what  causes  this ? I don't have much of a clue as to where I
should go digging into the code...

In  such  a  situation,  IMAP  (UW-IMAP  at  least) and QPOPPER behave
differently. In IMAP, the 2nd session will "steal" the lock  from  the
first one which will fail at the next request. In QPOPPER, the attempt
to open a 2nd session fails.

Cheers,
_Alain_
--
Alain FAUCONNET
Sr. System Administrator
CS Internet Co. Ltd. (Shin Corp) - Thailand