Jump to content

alex1234

Members
  • Content Count

    4
  • Joined

  • Last visited

Community Reputation

0 Neutral
  1. alex1234

    error in OverbyteIcsSspi.pas

    I think I found another bug in this module. type ULONG_PTR = Longword; type _SecHandle = packed record dwLower : ULONG_PTR; dwUpper : ULONG_PTR; end; This will lead to problems in x64 mode. Should be type ULONG_PTR = NativeUInt; OR something like type {$IF (defined(CPUX64) or defined(CPU64BITS) or defined(CPUARM64))} ULONG_PTR = UInt64; {$else} ULONG_PTR = Longword; {$endif} Alex
  2. I am trying to use OverbyteIcsSmtpProt.pas v8.68 from ICS 8.70 TSslHtmlSmtpCli class Problem: OnGetData event never called in smtpPlainText mode Looks like this happens because FMailMsgText.CurrentIdx=0 and FEmailBody.Count=0? Tried to set MailMessage field and keep OnGetData:=nil - still mail body not sent (headers, from, to, everything else is fine, e-mail is sending but empty body) In HTML mode TSslHtmlSmtpCli sends data (mail body) and calls OnGetData correctly but mail client (at least Thunderbird) shows empty mail body. While TSslSmtpCli works fine as I see. Any tips?
  3. alex1234

    error in OverbyteIcsSspi.pas

    Thank you. François said its better to post bug reports here so I posted a copy here. >However, ICS does not use DECRYPT_MESSAGE_FN Yes, but someone can use this module for its own code (like me :). And sometimes this code may work, sometimes throw errors. Alex
  4. There is bug in OverbyteIcsSspi.pas Incorrect definition of DECRYPT_MESSAGE_FN = function(phContext: PCtxtHandle; pMessage: PSecBufferDesc; MessageSeqNo: Cardinal; fQOP: DWORD): SECURITY_STATUS; fQOP is not a DWORD, its PULONG - pointer to DWORD. https://learn.microsoft.com/en-us/windows/win32/secauthn/decryptmessage--negotiate Such incorrect call may lead to access violation errors or data corruption. I think it should be defined like DECRYPT_MESSAGE_FN = function(phContext: PCtxtHandle; pMessage: PSecBufferDesc; MessageSeqNo: Cardinal; var fQOP: DWORD): SECURITY_STATUS; or DECRYPT_MESSAGE_FN = function(phContext: PCtxtHandle; pMessage: PSecBufferDesc; MessageSeqNo: Cardinal; fQOP: PULONG): SECURITY_STATUS;
×