2016-09-28 19:55 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)

* contrib/hbssl/hbssl.h
  * contrib/hbssl/ssl_sock.c
  * contrib/hbssl/ssl_inet.c
    + added new 'PHB_ITEM pSSL' parameter to hb_sockexNewSSL() and
      hb_ssl_socketNew() C functions - it allows to bind harbour item
      with SSL pointer which should not be released before connection
      is closed. In new OpenSSL version such tricks can be replaced
      by SSL_up_ref()
      This modification also fixes possible GPF trap when SSL filter
      socket was create dynamically from C code without SSL pointer
      item on HVM stack in 2-nd parameter and removes old hack which
      saved internally 2-nd HVM stack parameter.
    + allow to pass SSL_CTX instead of SSL in "ssl", "ctx" or "key" items
      of hash array used to initialize SSL socket filter. Using SSL_CTX
      allows to use the same hash array to set SSL socket filter for
      different connections
    + allow to use codeblocks or function pointers as "ssl", "ctx" or
      "key" items of hash array used to initialize SSL socket filter

  * contrib/hbssl/hbssl.h
  * contrib/hbssl/sslctx.c
    + added new C function:
         SSL_CTX * hb_SSL_CTX_itemGet( PHB_ITEM pItem )

  * contrib/hbssl/ssl_sock.c
  * src/rtl/hbcom.c
  * src/rtl/hbsocket.c
    ! fixed timeout checking in select()/poll()

  * src/rtl/hbsockhb.c
    ! fixed possible GPF trap when socket filter refuse to create new
      socket wrapper

  * include/hbinit.h
    * in GCC C++ builds for startup code use GCC constructor function
      attribute instead of static variable initialization to avoid
      warnings in new GCC versions

  * src/rtl/hbntos.c
    ! fixed missing '-' in result of negative integer numbers - thanks
      to Luigi Ferraris

  * src/common/hbstr.c
    + added code to round integer part when the size of number is greater
      then double precision (~16 digits).
This commit is contained in:
Przemysław Czerpak
2016-09-28 19:55:11 +02:00
parent 228b0e8a65
commit 35fe3becc7
11 changed files with 188 additions and 48 deletions

View File

@@ -55,10 +55,13 @@ extern HB_EXPORT PHB_SYMB hb_vmProcessSymbols( PHB_SYMB pSymbols, HB_USHORT uiSy
#define HB_INIT_SYMBOLS_END( func ) HB_INIT_SYMBOLS_EX_END( func, __FILE__, 0L, 0x0000 )
/* By default in all C++ builds use static vars initialization as startup code */
/* By default in all C++ builds use static variable initialization as startup
code with the exception for GCC which new versions show warning about
defined but not used static variable initialized with this method. */
#if defined( __cplusplus ) && ! defined( HB_STATIC_STARTUP ) && \
! defined( HB_PRAGMA_STARTUP ) && ! defined( HB_GNUC_STARTUP ) && \
! defined( HB_INITSEG_STARTUP ) && ! defined( HB_DATASEG_STARTUP )
! defined( HB_INITSEG_STARTUP ) && ! defined( HB_DATASEG_STARTUP ) && \
! defined( __GNUC__ )
#define HB_STATIC_STARTUP
#endif