fix: unicode problems (accounts)

This commit is contained in:
Massimo Melina 2020-05-09 00:36:57 +02:00
parent 09abf511ea
commit 99af92cc18
2 changed files with 7 additions and 6 deletions

View File

@ -118,7 +118,7 @@ type
ver: ansistring;
firstByte, lastByte: int64; // body interval for partial requests
headers, cookies: ThashedStringList;
user,pwd: ansistring;
user,pwd: string;
end;
ThttpPost = record
@ -1055,6 +1055,7 @@ procedure ThttpConn.processInputBuffer();
function parseHeader():boolean;
var
r, s: ansistring;
u: string;
i : integer;
begin
result:=FALSE;
@ -1097,9 +1098,9 @@ procedure ThttpConn.processInputBuffer();
if AnsiStartsText('Basic',s) then
begin
delete(s,1,6);
s:=base64decode(s);
request.user:=trim(chop(':',s));
request.pwd:=s;
u:=UTF8decode(base64decode(s));
request.user:=trim(chop(':',u));
request.pwd:=u;
end;
s:=getHeader('Connection');

View File

@ -6365,7 +6365,7 @@ type
begin
case encoding of
E_PLAIN: result:=s;
E_B64: result:=base64encode(s);
E_B64: result:=b64utf8(s);
E_ZIP:
begin
result:=zCompressStr(s, clMax);
@ -6719,7 +6719,7 @@ var
if p = 'login' then
begin
if not anycharIn(':', t) then
t:=base64decode(t);
t:=decodeB64utf8(t);
a.user:=chop(':',t);
a.pwd:=t;
end