2009-07-24 5 views
0

Ich schrieb ein Programm zum Abrufen von Mail von POP3-Servern. Einer seiner Nutzer trifft folgendes Problem ...Wie interpretieren nicht druckbare Zeichen in dem Zeitstempel, der vom Lotus Notes-POP3-Server gesendet wird?

Sein Mailserver, wenn mein Programm verbindet gibt einen Gruß:

+OK Lotus Notes POP3 server version X2.0 ready <PrintableCharacters.UnprintableCharacters> 

Der Teil in eckigen Klammern ist eine so genannte Herausforderung für die APOP Genehmigung . Die Abfrage (und alle anderen Zeichenfolgen im POP3-Protokoll) enthält normalerweise nur ASCII-Zeichen. Aber dieses Mal besteht die Herausforderung aus zwei Teilen - der zweite enthält nicht druckbare Zeichen. Das Muster ist das folgende: zuerst 0x5, dann ein Nicht-ASCII-Zeichen. Das sieht wie special encoding introduced by Lotus Notes developers aus.

Wenn ich die Herausforderung wie erhalten extrahiere und sie für die APOP-Authentifizierung verwende, lehnt der Server ab.

Nachdem ich sorgfältig alles gelesen habe, was ich auf LMBSC finden konnte, habe ich folgendes abgezogen. Die 0x5 ist ein Präfix, um so genannte "Group 5" characters anzuzeigen. Jedes Zeichen ist tatsächlich ein Win-1251-Zeichen, wird jedoch von 0x5 vorangestellt.

Damit habe ich nur alle 0x5 entfernt nur legalen ASCII-und nicht-druckbare Win-1251 und übergab diese in üblichen APOP-Authentifizierungsalgorithmus. Der Server lehnt jedoch ab.

Ist das der richtige Weg, um LMBSC mit Win-1251-Zeichen zu dekodieren oder ist das ein Problem auf der Server-Seite?

Antwort

1

Ich überprüfte einige Domino-Server (7.x, 8.x) und fand keinen APOP-Zeitstempel in der Serverbegrüßung. Dann habe ich gegoogelt und gefunden: POP3 authentication failure using APOP commands

Es scheint, als ob der Domino-POP-Server APOP nicht unterstützt, aber Versionen vor 6.5.5 präsentiert sowieso einen Zeitstempel in der Begrüßung.

+0

Sieht vielversprechend aus und so schrieb ich an IBM mit einer Anfrage. Meine Sorge ist, dass am Ende der Nachricht der Text "Diese Regression wurde in 6.0 eingeführt", was bedeutet, dass vor 6,0 das Problem nicht da war. Wissen Sie, wie X2.0 (neuere/ältere) auf 6.0 und 6.5 bezogen ist? – sharptooth

+0

Ich habe mit einem Domino 5.x-Server überprüft und dieser POP3-Server hat sich selbst als "X2.0" eingeführt. Allerdings konnte ich auch dort den Zeitstempel in der Begrüßung nicht sehen. Auf Domino 7 und 8 scheint die Version in der Begrüßung die von Domino und nicht vom POP3-Subsystem zu sein. –

+0

Wir erkundigten uns, welcher Lotus-Server der Kunde hatte - es war 6.5.4, das in dem Bereich von Versionen liegt, die genau von dieser Regression betroffen sind. Sie haben aufgerüstet und jetzt ist das Problem weg. Vielen Dank für die Bereitstellung von Daten darüber, wie sich verschiedene Versionen in der POP3-Begrüßung präsentieren. – sharptooth