anchor.diff:            FEncrypted := False;
             Socket.SSLDoShutdown();
             Exit(False);
  -        end;
  -
  -        Reply := ReceiveString();
  -
  -        Log('encrypt reply: ' + Reply);
  -        if ProcessReply(Reply, Msg) then
  -        begin
  -          FEncrypted := True;
           end
           else
  +          FEncrypted := True;
  +
  +        Reply := ReceiveString();
  +
  +        Log('encrypt reply: ' + Reply);
  +        if not ProcessReply(Reply, Msg) then
             FEncrypted := False;
  +
         end
         else
         begin
  
positive.code: var
    s: string;
    i: integer;
  begin
    Result := '';
    s := Socket.RecvString(Timeout);
  
    for i := 1 to Length(s) do
      if s[i] <> #0 then
      begin
        Result := Result + s[i];
      end;
  end;
  
  end.
  
negative.code:   HGD_PROTO_MAJOR: integer = 17;
    HGD_PROTO_MINOR: integer = 0;
    HGD_NUM_TRACK_FIELDS: integer = 14;
    HGD_MAX_LINE: integer = 512;
    BLOCK_SIZE: Int64 = 512 * 1024;
  
    //The hgd protocol is telnet based, use CRLF as LineEnding
  