[RFD] base64 v smtp auth plain

Dalibor Toman dtoman na fortech.cz
Pátek Září 13 18:25:07 CEST 2002


>
> Narazil jsem na zajimavy problem a nejsem si jisty tim, kde je
chyba.
>
> Uzivatel ma dlouhe username nebo heslo a pri AUTH PLAIN je base64
tak
> dlouhy, ze klient (smtplib python2.2) pri pouziti std knihoven

>vlozi do base64 stringu znak '\n',

coz je chyba. Zrejme je tato implementace base64 encoderu navrzena
pro tvorbu radku base64 zakodovanych zprav - kde je treba dodrzovat
jiste konvence ihledne delky radku.
V pripade kodovani hesel apod ovsem vysledny retezec nesmi byt
zalomen vlozenim \n (resp spravne ma byt jako konec radku pouzito
\r\n)

> base64 je myslim definovano tak, ze muze obsahovat konce radku,
nicmene
v definici base64 se o vkladani CRLF nic nerika. To pozaduje az
definice radku
zprav, ktery musi mit unosnou velikost

> smtp komunikace by tyto znaky obsahovat nemela, opravte me jestli se
pletu.
nemela

> Momentalne jsem to vyresil tak, ze znak \n kteremu nepredchazi znak
\r
> zahodim a jako konce radku akceptuju pouze \r\n, ale tohle reseni se
mi
> nelibi.

opravit klienta ?

D. Toman




Další informace o konferenci Sendmail