SPECS: tpop3d.spec - rel 11 - added a patch which fixes race condi...

Jarek Woloszyn yossa w akra.de
Pią, 24 Wrz 2004, 15:30:13 CEST


On czw, 23 wrz 2004, Arkadiusz Miskiewicz wrote:

> On Thursday 23 of September 2004 17:13, yossa wrote:
> > Author: yossa                        Date: Thu Sep 23 15:13:57 2004 GMT
> > Module: SPECS                         Tag: HEAD
> > ---- Log message:
> > - rel 11
> > - added a patch which fixes race condition with Microsoft Outlook
> 
> Mógłbyś nie commitować takich śmieci? Była o tym dyskusja i widać ją olałeś. 
> Sprawdziłeś wersję z ftp (czyli nie wiadomo jaką), a należało sprawdzić 
> wersję z HEAD.
> 
> U mnie jest masa klientów z outlookami i problemu nie ma. Był kiedyś ale tak 
> jak napisałem - nasz tpop3d z HEAD miał to poprawione.

OK. Odgrzebalem skrypty, przetestowalem wersje z bylego HEADa i niestety
ona nie dziala.

Konfiguracja testowa: jeden komp jako mailserver, drugi komp jako mail
client - pomiedzy nimi tylko jeden switch.
Na mojej konfiguracji blad jest w 100% powtarzalny - odpalilem kasowanie 
maila 100 razy a on dalej tam byl.
Jezeli testy robilem na jednym serwerze (ruch na lo), to bledu nie bylo 
- wtedy w tcpdumpie widac, ze tpop zdazyl wyslac OK, przed zamknieciem 
socketa.
Przy dwoch kompach (ruch na eth) widac w tcpdumpie, ze OK nie wychodzi 
w ogole z tpopa.

Testy leza na http://www.akra.de/~yossa/PLD/tpop-test.tar.gz
do config trzeba wpisac dane testowego konta, potem:
-check - sprawdza poczte
-smail - wysyla maila na konto
-deleteOutlook - kasuje maila z bledem
-delete - kasuje maila porzadnie


Taki sposob sciagania wystepuje w Microsoft Outlook 2002, w innych nie 
testowalem bo nie mam. Kiedys uzywalem solid-popa i w nim te same
outlooki nie mialy problemow.

Jezeli dalej sie upierasz ze ta lata cvs-xxxx poprawia to zachowanie 
to wskaz, ktory jej fragment, bo ja niestety tego nie widze. 

-------------- TEST --------------

Nie mam maili, sprawdzam konto:

yossa w bilbo:~/tpop-test$ ./check
**** Check emails
Server: +OK <02f3c46afa9e8ef7f275d633e8b3a530 w fellow>
Client: USER foo w akra.de
Server: +OK Tell me your password.
Client: PASS foo
Server: +OK Welcome aboard! You have no messages at all.
Client: LIST
Server: +OK Scan list follows:
Server: .
Client: QUIT
Server: +OK Done
** close

Wysylam maila, sprawdzam konto:

**** Check emails
Server: +OK <0385689c7cd903b7bac9dfa0ab78ac05 w fellow>
Client: USER foo w akra.de
Server: +OK Tell me your password.
Client: PASS foo
Server: +OK Welcome aboard! You have exactly one message.
Client: LIST
Server: +OK Scan list follows:
Server: 1 940
Server: .
Client: QUIT
Server: +OK Done
** close

Sciagam w stylu outlooka, kasujac i nie czekajac na OK, po quit
Ta sekwencja jest wzieta z tcpdumpa - dane przesylane przez 
ten test wygladaja tak samo jak te z Outlooka:

**** Delete in outlook style
Server: +OK <245e1f1f666fa07fc0af8e0e0652c0df w fellow>
Client: USER foo w akra.de
Server: +OK Tell me your password.
Client: PASS foo
Server: +OK Welcome aboard! You have exactly one message.
Client: STAT
Server: +OK 1 985
Client: UIDL
Server: +OK ID list follows:
Server: 1 7eace1fa748395ee308e13755ef2537e
Server: .
Client: RETR 1
Server: +OK Message follows
Server: Return-Path: <yossa w akra.de>
Server: X-Original-To: foo w akra.de
Server: Delivered-To: foo w akra.de
Server: Received: from localhost (localhost [127.0.0.1])
Server: 	by localhost.domain.tld (Postfix) with ESMTP id AC5C089008
Server: 	for <foo w akra.de>; Fri, 24 Sep 2004 15:04:08 +0200 (CEST)
Server: Received: from mail.akra.de ([127.0.0.1])
Server:  by localhost (fellow [127.0.0.1]) (amavisd-new, port 10024) with ESMTP
Server:  id 05583-01 for <foo w akra.de>;
Server:  Fri, 24 Sep 2004 15:04:08 +0200 (CEST)
Server: Received: from bilbo (router [213.128.138.66])
Server: 	by mail.akra.de (Postfix) with ESMTP id 3BAD088FFF
Server: 	for <foo w akra.de>; Fri, 24 Sep 2004 15:04:08 +0200 (CEST)
Server: Received: by bilbo (Postfix, from userid 1000)
Server: 	id 92F931BF20; Fri, 24 Sep 2004 15:03:15 +0200 (CEST)
Server: To: foo w akra.de
Server: Message-Id: <20040924130315.92F931BF20 w bilbo>
Server: Date: Fri, 24 Sep 2004 15:03:15 +0200 (CEST)
Server: From: yossa w akra.de
Server: X-Virus-Scanned: by amavisd-new at akra.net
Server: 
Server: test
Server: 
Server: .
Client: DELE 1
Server: +OK Done.
Client: QUIT
** close

Sprawdzam poczte i oooops, dalej mam maila:

**** Check emails
Server: +OK <7e00669874fe1cce464ebcb568ee34b2 w fellow>
Client: USER foo w akra.de
Server: +OK Tell me your password.
Client: PASS foo
Server: +OK Welcome aboard! You have exactly one message.
Client: LIST
Server: +OK Scan list follows:
Server: 1 940
Server: .
Client: QUIT
Server: +OK Done
** close

Kasujemy tym razem czekajac na OK:

**** Delete in proper style
Server: +OK <813cdc606a22ea994b2a6855f3894599 w fellow>
Client: USER foo w akra.de
Server: +OK Tell me your password.
Client: PASS foo
Server: +OK Welcome aboard! You have exactly one message.
Client: STAT
Server: +OK 1 985
Client: UIDL
Server: +OK ID list follows:
Server: 1 7eace1fa748395ee308e13755ef2537e
Server: .
Client: RETR 1
Server: +OK Message follows
Server: Return-Path: <yossa w akra.de>
Server: X-Original-To: foo w akra.de
Server: Delivered-To: foo w akra.de
Server: Received: from localhost (localhost [127.0.0.1])
Server: 	by localhost.domain.tld (Postfix) with ESMTP id AC5C089008
Server: 	for <foo w akra.de>; Fri, 24 Sep 2004 15:04:08 +0200 (CEST)
Server: Received: from mail.akra.de ([127.0.0.1])
Server:  by localhost (fellow [127.0.0.1]) (amavisd-new, port 10024) with ESMTP
Server:  id 05583-01 for <foo w akra.de>;
Server:  Fri, 24 Sep 2004 15:04:08 +0200 (CEST)
Server: Received: from bilbo (router [213.128.138.66])
Server: 	by mail.akra.de (Postfix) with ESMTP id 3BAD088FFF
Server: 	for <foo w akra.de>; Fri, 24 Sep 2004 15:04:08 +0200 (CEST)
Server: Received: by bilbo (Postfix, from userid 1000)
Server: 	id 92F931BF20; Fri, 24 Sep 2004 15:03:15 +0200 (CEST)
Server: To: foo w akra.de
Server: Message-Id: <20040924130315.92F931BF20 w bilbo>
Server: Date: Fri, 24 Sep 2004 15:03:15 +0200 (CEST)
Server: From: yossa w akra.de
Server: X-Virus-Scanned: by amavisd-new at akra.net
Server: 
Server: test
Server: 
Server: .
Client: DELE 1
Server: +OK Done.
Client: QUIT
Server: +OK Done
** close

Sprawdzamy maile - ok, skasowany.

**** Check emails
Server: +OK <9ced675e62b8cd429c794f8fe6d725f3 w fellow>
Client: USER foo w akra.de
Server: +OK Tell me your password.
Client: PASS foo
Server: +OK Welcome aboard! You have no messages at all.
Client: LIST
Server: +OK Scan list follows:
Server: .
Client: QUIT
Server: +OK Done
** close





-- 
Jarek Woloszyn




Więcej informacji o liście dyskusyjnej pld-devel-pl