diff options
| -rw-r--r-- | plugins/HistoryPlusPlus/Base64.pas | 140 | ||||
| -rw-r--r-- | plugins/HistoryPlusPlus/Checksum.pas | 34 | ||||
| -rw-r--r-- | plugins/HistoryPlusPlus/historypp.dpr | 1 | ||||
| -rw-r--r-- | plugins/HistoryPlusPlus/historypp.dproj | 1 | 
4 files changed, 11 insertions, 165 deletions
diff --git a/plugins/HistoryPlusPlus/Base64.pas b/plugins/HistoryPlusPlus/Base64.pas deleted file mode 100644 index 37e37a5553..0000000000 --- a/plugins/HistoryPlusPlus/Base64.pas +++ /dev/null @@ -1,140 +0,0 @@ -{******************************************************************************}
 -{* DCPcrypt v2.0 written by David Barton (davebarton@bigfoot.com) *************}
 -{******************************************************************************}
 -{* A Base64 encoding/decoding unit ********************************************}
 -{******************************************************************************}
 -{* Copyright (c) 1999-2000 David Barton                                       *}
 -{* Permission is hereby granted, free of charge, to any person obtaining a    *}
 -{* copy of this software and associated documentation files (the "Software"), *}
 -{* to deal in the Software without restriction, including without limitation  *}
 -{* the rights to use, copy, modify, merge, publish, distribute, sublicense,   *}
 -{* and/or sell copies of the Software, and to permit persons to whom the      *}
 -{* Software is furnished to do so, subject to the following conditions:       *}
 -{*                                                                            *}
 -{* The above copyright notice and this permission notice shall be included in *}
 -{* all copies or substantial portions of the Software.                        *}
 -{*                                                                            *}
 -{* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR *}
 -{* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,   *}
 -{* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL    *}
 -{* THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER *}
 -{* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING    *}
 -{* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER        *}
 -{* DEALINGS IN THE SOFTWARE.                                                  *}
 -{******************************************************************************}
 -unit Base64;
 -
 -interface
 -
 -function Base64EncodeStr(const Value: AnsiString): AnsiString;
 -  { Encode a AnsiString into Base64 format }
 -function Base64DecodeStr(const Value: AnsiString): AnsiString;
 -  { Decode a Base64 format AnsiString }
 -function Base64Encode(pInput: pointer; pOutput: pointer; Size: longint): longint;
 -  { Encode a lump of raw data (output is (4/3) times bigger than input) }
 -function Base64Decode(pInput: pointer; pOutput: pointer; Size: longint): longint;
 -  { Decode a lump of raw data }
 -
 -
 -{******************************************************************************}
 -{******************************************************************************}
 -implementation
 -
 -type {from Sysutils}
 -  PByteArray = ^TByteArray;
 -  TByteArray = array[0..32767] of Byte;
 -
 -const
 -  B64: array[0..63] of byte= (65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,
 -    81,82,83,84,85,86,87,88,89,90,97,98,99,100,101,102,103,104,105,106,107,108,
 -    109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,
 -    54,55,56,57,43,47);
 -
 -function Base64Encode(pInput: pointer; pOutput: pointer; Size: longint): longint;
 -var
 -  i, iptr, optr: integer;
 -  Input, Output: PByteArray;
 -begin
 -  Input:= PByteArray(pInput); Output:= PByteArray(pOutput);
 -  iptr:= 0; optr:= 0;
 -  for i:= 1 to (Size div 3) do
 -  begin
 -    Output^[optr+0]:= B64[Input^[iptr] shr 2];
 -    Output^[optr+1]:= B64[((Input^[iptr] and 3) shl 4) + (Input^[iptr+1] shr 4)];
 -    Output^[optr+2]:= B64[((Input^[iptr+1] and 15) shl 2) + (Input^[iptr+2] shr 6)];
 -    Output^[optr+3]:= B64[Input^[iptr+2] and 63];
 -    Inc(optr,4); Inc(iptr,3);
 -  end;
 -  case (Size mod 3) of
 -    1: begin
 -         Output^[optr+0]:= B64[Input^[iptr] shr 2];
 -         Output^[optr+1]:= B64[(Input^[iptr] and 3) shl 4];
 -         Output^[optr+2]:= byte('=');
 -         Output^[optr+3]:= byte('=');
 -       end;
 -    2: begin
 -         Output^[optr+0]:= B64[Input^[iptr] shr 2];
 -         Output^[optr+1]:= B64[((Input^[iptr] and 3) shl 4) + (Input^[iptr+1] shr 4)];
 -         Output^[optr+2]:= B64[(Input^[iptr+1] and 15) shl 2];
 -         Output^[optr+3]:= byte('=');
 -       end;
 -  end;
 -  Result:= ((Size+2) div 3) * 4;
 -end;
 -
 -function Base64EncodeStr(const Value: AnsiString): AnsiString;
 -begin
 -  SetLength(Result,((Length(Value)+2) div 3) * 4);
 -  Base64Encode(@Value[1],@Result[1],Length(Value));
 -end;
 -
 -function Base64Decode(pInput: pointer; pOutput: pointer; Size: longint): longint;
 -var
 -  i, j, iptr, optr: integer;
 -  Temp: array[0..3] of byte;
 -  Input, Output: PByteArray;
 -begin
 -  Input:= PByteArray(pInput); Output:= PByteArray(pOutput);
 -  iptr:= 0; optr:= 0;
 -  Result:= 0;
 -  for i:= 1 to (Size div 4) do
 -  begin
 -    for j:= 0 to 3 do
 -    begin
 -      case Input^[iptr] of
 -        65..90 : Temp[j]:= Input^[iptr] - Ord('A');
 -        97..122: Temp[j]:= Input^[iptr] - Ord('a') + 26;
 -        48..57 : Temp[j]:= Input^[iptr] - Ord('0') + 52;
 -        43     : Temp[j]:= 62;
 -        47     : Temp[j]:= 63;
 -        61     : Temp[j]:= $FF;
 -      end;
 -      Inc(iptr);
 -    end;
 -    Output^[optr]:= (Temp[0] shl 2) or (Temp[1] shr 4);
 -    Result:= optr+1;
 -    if (Temp[2]<> $FF) and (Temp[3]= $FF) then
 -    begin
 -      Output^[optr+1]:= (Temp[1] shl 4) or (Temp[2] shr 2);
 -      Result:= optr+2;
 -      Inc(optr)
 -    end
 -    else if (Temp[2]<> $FF) then
 -    begin
 -      Output^[optr+1]:= (Temp[1] shl 4) or (Temp[2] shr 2);
 -      Output^[optr+2]:= (Temp[2] shl 6) or  Temp[3];
 -      Result:= optr+3;
 -      Inc(optr,2);
 -    end;
 -    Inc(optr);
 -  end;
 -end;
 -
 -function Base64DecodeStr(const Value: AnsiString): AnsiString;
 -begin
 -  SetLength(Result,(Length(Value) div 4) * 3);
 -  SetLength(Result,Base64Decode(@Value[1],@Result[1],Length(Value)));
 -end;
 -
 -
 -end.
 diff --git a/plugins/HistoryPlusPlus/Checksum.pas b/plugins/HistoryPlusPlus/Checksum.pas index 47ab3245c9..777d15af4a 100644 --- a/plugins/HistoryPlusPlus/Checksum.pas +++ b/plugins/HistoryPlusPlus/Checksum.pas @@ -60,7 +60,7 @@ var  implementation
  uses
 -  SysUtils, Base64;
 +  SysUtils, m_api;
  const
    DIGEST_DIV = '-';
 @@ -71,18 +71,25 @@ const  function DigToBase(Digest: TDig64): AnsiString;
  var
    DigStr: AnsiString;
 +  EncodedStr: PAnsiChar;
  begin
    SetLength(DigStr, SizeOf(Digest));
    Move(Digest, DigStr[1], SizeOf(Digest));
 -  Result := Base64EncodeStr(DigStr);
 +  EncodedStr := mir_base64_encode(PByte(@DigStr[1]), Length(DigStr));
 +  Result := EncodedStr;
 +  mir_free(EncodedStr);
  end;
  function BaseToDig(const Str: AnsiString): TDig64;
  var
    DigStr: AnsiString;
 +  BufLen: int;
 +  Buf: PByte;
  begin
 -  DigStr := Base64DecodeStr(Str);
 -  Move(DigStr[1], Result, SizeOf(Result));
 +  Buf := mir_base64_decode(PAnsiChar(Str), BufLen);
 +  if (BufLen = SizeOf(Result)) then
 +    Move(Buf^, Result, SizeOf(Result));
 +  mir_free(Buf);
  end;
  function HashString(const Str: AnsiString): TDig64;
 @@ -90,27 +97,8 @@ begin    Result := ZeroDig;
    Result[0] := InitCRC;
    CalcCRC32(@Str[1], Length(Str), Result[0]);
 -  // CalcSampleHash(@Str[1],Length(Str),Result);
  end;
 -(*
 -function StrToDig(Str: AnsiString): TDig64;
 -var
 -  Dig1, Dig2: AnsiString;
 -  n: Integer;
 -begin
 -  Result[0] := 0;
 -  Result[1] := 0;
 -  n := Pos(DIGEST_DIV, Str);
 -  if n = 0 then
 -    exit;
 -  Dig1 := Copy(Str, 1, n - 1);
 -  Dig2 := Copy(Str, n + 1, Length(Str));
 -
 -  Result[0] := StrToInt('$' + Dig1);
 -  Result[1] := StrToInt('$' + Dig2);
 -end;
 -*)
  function DigToStr(Digest: TDig64): AnsiString;
  begin
    Result := AnsiString(IntToHex(Digest[0], 8)) + DIGEST_DIV + AnsiString(IntToHex(Digest[1], 8));
 diff --git a/plugins/HistoryPlusPlus/historypp.dpr b/plugins/HistoryPlusPlus/historypp.dpr index 2430605be8..1cd1c7908a 100644 --- a/plugins/HistoryPlusPlus/historypp.dpr +++ b/plugins/HistoryPlusPlus/historypp.dpr @@ -68,7 +68,6 @@ uses    hpp_richedit in 'hpp_richedit.pas',
    hpp_olesmileys in 'hpp_olesmileys.pas',
    HistoryControls in 'HistoryControls.pas',
 -  Base64 in 'Base64.pas',
    Checksum in 'Checksum.pas',
    hpp_JclSysUtils in 'hpp_JclSysUtils.pas',
    hpp_puny in 'hpp_puny.pas';
 diff --git a/plugins/HistoryPlusPlus/historypp.dproj b/plugins/HistoryPlusPlus/historypp.dproj index b11475abd0..41a02928e5 100644 --- a/plugins/HistoryPlusPlus/historypp.dproj +++ b/plugins/HistoryPlusPlus/historypp.dproj @@ -176,7 +176,6 @@  			<DCCReference Include="hpp_richedit.pas"/>
  			<DCCReference Include="hpp_olesmileys.pas"/>
  			<DCCReference Include="HistoryControls.pas"/>
 -			<DCCReference Include="Base64.pas"/>
  			<DCCReference Include="Checksum.pas"/>
  			<DCCReference Include="hpp_JclSysUtils.pas"/>
  			<DCCReference Include="hpp_puny.pas"/>
  | 
