DZ-Jay wrote:
> Perhaps someone can verify this bug (or
> maybe Stephane already did?)
You and Stephane are totaly right, it has to be fixed!
Also empty strings could have been added to FAuthTypesSupported,
fixed in the code below as well.
procedure TCustomSmtpClient.AuthGetType;
var
I : Integer;
S : String;
aEntry : String;
begin
{ A typical EHLO response:
250-AUTH=LOGIN CRAM-MD5 PLAIN
250-AUTH CRAM-MD5 LOGIN PLAIN }
S := UpperCase(Trim(FLastResponse));
if Length(S) < 10 then
Exit;
Delete(S, 1, 4);
if (CompareText(Copy(S, 1, 5), 'AUTH ') = 0) or
(CompareText(Copy(S, 1, 5), 'AUTH=') = 0) then begin
S := Copy(S, 6, Length(S));
for I := 1 to Length(S) do begin
if S[I] = '=' then
S[I] := ' ';
end;
while Length(S) > 0 do begin
I := Pos(' ', S);
if I = 0 then begin
aEntry := Trim(S);
if Length(aEntry) > 0 then
if FAuthTypesSupported.IndexOf(aEntry) = -1 then
FAuthTypesSupported.Add(aEntry);
Break;
end
else begin
aEntry := Trim(Copy(S, 1, I - 1));
if Length(aEntry) > 0 then
if FAuthTypesSupported.IndexOf(aEntry) = -1 then
FAuthTypesSupported.Add(aEntry);
Delete(S, 1, I);
end;
end;
end;
end;
--
To unsubscribe or change your settings for TWSocket mailing list
please goto http://www.elists.org/mailman/listinfo/twsocket
Visit our website at http://www.overbyte.be