Commit Graph

306 Commits

Author SHA1 Message Date
Przemysław Czerpak
cc1c87e756 2015-06-24 21:09 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/hbmzip/mzip.c
  * src/rtl/filesys.c
    ! initialize tm_isdst member of tm structure with -1 to force correct
      local time to UTC conversion in mktime()
2015-06-24 21:09:58 +02:00
Przemysław Czerpak
c67ac9166a 2015-06-24 00:33 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* src/vm/classes.c
    ! fixed __objGetIVars() to correctly serialize objects without any own
      and inherited instance variables

  * contrib/hbhpdf/3rd/libhpdf/hpdfimac.c
    ! include string.h
  * contrib/hbhpdf/3rd/libhpdf/libhpdf.dif
    * rediffed
2015-06-24 00:33:01 +02:00
Przemysław Czerpak
a7ad431c1d 2015-06-02 13:31 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/hbtip/client.prg
    * eliminated hb_UserName() from initial random seed

  * contrib/hbwin/win_prn2.c
    ! fixed memory leak and potentially wrong handle usage
      fix borrowed from Viktor's branch:
      2015-06-02 12:39-57 UTC+0200 Viktor Szakats

  * src/rdd/dbf1.c
    * variable localization
2015-06-02 13:31:31 +02:00
Przemysław Czerpak
c402ce1350 2015-05-27 13:56 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* src/rtl/Makefile
  * src/rtl/net.c
  + src/rtl/netusr.c
    * moved hb_UserName() to separate file. It uses internally getpwuid()
      in *nix builds and access to this function adds additional library
      dependency which may block static builds in some cases.
      TODO: eliminate hb_UserName() from things like initial random seed
            to not create unnecessary dependency.

  * contrib/gtqtc/gtqtc1.cpp
    + enable software input panel (virtual keyboard) in iOS builds
2015-05-27 13:56:31 +02:00
Przemysław Czerpak
e8601dacaa 2015-05-18 23:01 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* include/hbsetup.h
    * set HB_OS_IOS when __IPHONE_OS_VERSION_MIN_REQUIRED is defined

  * include/hbsetup.h
  * src/common/hbver.c
    * detect 64bit ARM CPUs

  * contrib/hbct/envparam.c
  * contrib/hbnf/getenvrn.c
    ! disabled ENVPARAM() and FT_GETE() in iOS builds
    + added support for FT_GETE() in OS2 builds
2015-05-18 23:01:14 +02:00
Przemysław Czerpak
c3f0ae6015 2015-05-13 16:59 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/hbct/ctwin.c
    ! added protection against GPF in hb_ctwGetPosWindow() called before
      any window is open. It's correct version of this fix.

  * contrib/hbmemio/memio.c
  * contrib/xhb/xhbfunc.c
    ! fixed size of filename buffer - it should be exactly HB_PATH_MAX
2015-05-13 16:59:44 +02:00
Przemysław Czerpak
bec3dd7749 2015-05-04 12:41 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/hbmemio/memio.c
    ! fixed GPF in hb_VFDirectory( "mem:..." ) - many thanks to Rolf for
      locating the problem and fix.
2015-05-04 12:41:25 +02:00
Przemysław Czerpak
5d691b9923 2015-04-09 00:20 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/hbnetio/netiosrv.c
  * contrib/hbtcpio/tcpio.c
    * call hb_socketShutdown() before hb_socketClose() to force output
      buffer flush in systems like MS-Windows.
2015-04-09 00:20:40 +02:00
Przemysław Czerpak
11e823dba2 2015-03-16 23:00 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/hbtip/smtpcli.prg
    ! do not execute STARTTLS command if server does not report it's supported
      (issue #90)

  * src/rdd/dbcmd.c
    * use DBI_TRANSREC in __dbTrans() and __dbArrange() (pure record copping
      without sorting)
2015-03-16 23:00:13 +01:00
Przemysław Czerpak
f090e652cd 2015-03-13 18:56 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/hbwin/win_bmp.c
    ! fixed copy and past typo in my last modification - thanks to
      Juan Francolino for reporting the problem and to Alexander
      Czjczyński for locating the reason. It closes issue #91.

  * contrib/hbtip/smtpcli.prg
    * be sure that server answer after HELO command (:open() method) is
      fully consumed

  * contrib/hbtip/sendmail.prg
    ! removed redundant waiting for sever answer after opening connection
      without authentication - it fixes timeout delay in such case
    ! do not create TIPClientSMTP() object twice when it's not necessary
    % small code simplification
2015-03-13 18:56:10 +01:00
Przemysław Czerpak
58bc2c6f00 2015-03-12 09:41 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/hbtip/sendmail.prg
    ! fixed wrong login conditions - AICS it's old problem which had existed
      from very long time.

  * contrib/hbtip/smtpcli.prg
    ! eliminated redundant processing EHLO processing
2015-03-12 09:41:38 +01:00
Przemysław Czerpak
6c9d48495f 2015-03-11 16:23 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/hbtip/hbtip.hbx
  * contrib/hbtip/httpcli.prg
  * contrib/hbtip/log.prg
  * contrib/hbtip/sessid.prg
  * contrib/hbtip/smtpcli.prg
  * contrib/hbtip/thtml.ch
  * contrib/hbtip/tip.ch
  * contrib/hbtip/url.prg
    * synced with Viktor's branch.
2015-03-11 16:23:04 +01:00
Przemysław Czerpak
7f80c2e286 2015-03-10 18:06 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/hbtip/cgi.prg
  * contrib/hbtip/client.prg
  * contrib/hbtip/encb64.prg
  * contrib/hbtip/encoder.prg
  * contrib/hbtip/encqp.prg
  * contrib/hbtip/mail.prg
  * contrib/hbtip/sendmail.prg
    * synced manually with Viktor's branch (not all things).

  * doc/xhb-diff.txt
    ! fixed few typos
2015-03-10 18:06:11 +01:00
Przemysław Czerpak
f832dbe9a4 2015-03-09 19:16 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/hbtip/smtpcli.prg
    ! consume whole EHLO output after STARTTLS
2015-03-09 19:16:12 +01:00
Przemysław Czerpak
acc1a252e8 2015-03-09 18:33 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/hbtip/smtpcli.prg
    ! added missing space after AUTH PLAIN
    ! resend EHLO command after STARTTLS
    ; Thanks to Rolf for information about both problems.
2015-03-09 18:33:06 +01:00
Przemysław Czerpak
00717d90b1 2015-03-09 18:17 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/hbtip/client.prg
    * removed trailing spaces

  * contrib/hbtip/hbtip.hbp
  * contrib/hbtip/encurlc.c
  + contrib/hbtip/mime.c
  + contrib/hbtip/misc.c
  - contrib/hbtip/utils.c
    * synced with Viktor's branch
    * renamed some variables to follow rules used by Harbour
    % use binary search to locate mime extension
    * some minor cleanups and fixes
2015-03-09 18:17:39 +01:00
Przemysław Czerpak
54a8c06190 2015-03-09 15:08 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/hbtip/smtpcli.prg
    ! fixed typo in my previous commit
2015-03-09 15:08:50 +01:00
Przemysław Czerpak
eaa87a3be9 2015-03-07 20:16 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/hbtip/smtpcli.prg
    * synced with Viktor's branch - it should fix the problem with
      unconditional bind with HBSSL library after last Jean's patch.
2015-03-07 20:16:55 +01:00
Przemysław Czerpak
03e7b6da6e 2015-03-03 16:26 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/rddads/ads1.c
    ! use AdsSetLongLong() (if available) instead of AdsSetDouble() to not
      strip less significant bits from 64bit integer number during conversion
      to double
    * allow ADS to decide if writing into rowver and modtime fields is legal
      instead of generating our own arbitrary RTE

  * include/dbinfo.ch
  * src/rdd/workarea.c
    + added new dbInfo() action DBI_TRANSREC
      It indicates if area is destination table of currently processed COPY TO
      or APPEND FROM operation.

  * include/hbapirdd.h
  * src/rdd/wafunc.c
    + added new C function:
         HB_ERRCODE hb_dbTransCounters( LPDBTRANSINFO lpdbTransInfo );
      It copies field counters from source into destination table used
      in transfer operation.

  * src/rdd/dbcmd.c
  * src/rdd/wafunc.c
    + call DBI_TRANSREC to inform destination area that record transfer
      operation starts and stop. It allows destination RDD to change
      rules used for assign to automatically updated fields, i.e. unblock
      such operation.
    + call hb_dbTransCounters() to update counters in destination table
      after COPY TO operation

  * src/rdd/sdf1.c
  * src/rdd/delim1.c
    * clear AutoInc flag

  * src/rdd/dbf1.c
    + allow to set get and set counter for RowVer fields using DBS_COUNTER
      action
    * return HB_FAILURE for DBS_COUNTER and DBS_STEP if it's not supported
      by given field.
    + added support for DBI_TRANSREC - in case of DBF* RDDs it unblocks
      writing to automatically updated fields
2015-03-03 16:26:28 +01:00
Przemysław Czerpak
4617ba29d7 2015-03-03 15:57 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/gtalleg/gtallegd.c
  * contrib/gtqtc/gtqtc1.cpp
  * contrib/hbblink/blinker.prg
  * contrib/hbbz2/core.c
  * contrib/hbcomio/comio.c
  * contrib/hbsqlit3/core.c
  * contrib/hbtcpio/tcpio.c
  * contrib/rddads/adsfunc.c
    * synced with Viktor's branch
      (formatting, macros instead of constant values, protection against
      wrong paramters, use *EVALITEM macros, use HB_ERR_ARGS_BASEPARAMS, ...)

  * contrib/hbsqlit3/core.c
  * contrib/hbsqlit3/hbsqlit3.hbx
    + add sqlite3_load_extension( <db>, <cModule>, [<cProc>], [@<cError>] )
                  -> <nResult>
      (borowed from Viktor's branch 2015-02-15 19:18 UTC+0100 Viktor Szakats)
2015-03-03 15:57:48 +01:00
Przemysław Czerpak
24ebd4b617 2015-03-02 18:01 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/hbssl/ssl_inet.c
    ! restored comment begin token removed by mistake in my last commit
2015-03-02 18:01:12 +01:00
Przemysław Czerpak
a6c8ffc884 2015-03-02 16:08 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* src/rtl/hbinet.c
  * contrib/hbssl/ssl_inet.c
    ! fixed unfinished code with error code translation - thanks to Abe
2015-03-02 16:08:37 +01:00
Przemysław Czerpak
d976db49c9 2015-02-26 09:36 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/rddads/ads1.c
    * removed unnecessary casting

  * contrib/rddads/adsx.c
    ! fixed to work with ACE < 6.1
2015-02-26 09:37:00 +01:00
Przemysław Czerpak
5ac8fc0d4a 2015-02-25 22:06 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/hbodbc/odbc.c
  * contrib/hbodbc/sql.ch
    * minor formatting to sync with Viktor's branch
    + added missing defines from Viktor's branch

  * contrib/rddads/ads.ch
  * contrib/rddads/adsfunc.c
    + added AdsStmtSetTableReadOnly( <nMode> ) -> <lSuccess>
      (From Viktor's branch: 2015-01-21 18:43 UTC+0100 Viktor Szakats)
    + added ADS_REFRESHCOUNT constant and
         AdsGetRecordCount( [<nHandleType:ADS_TABLE>], ;
               [<nFilterOption:ADS_RESPECTFILTERS>], @nCount ) -> <nErrorCode>
      (From Viktor's branch: 2014-01-19 13:42 UTC+0100 Viktor Szakats)
    ! fixed connection handle parameter position in AdsDDRemoveTable()
      It was 4-th:
         AdsDDRemoveTable( <cTableName>, <deleteFile>, , [ <nConnection> ] )
               -> <lResult>
      Now is 3-rd:
         AdsDDRemoveTable( <cTableName>, <deleteFile>, [ <nConnection> ] )
               -> <lResult>
      (From Viktor's branch: 2014-01-14 23:53 UTC+0100 Viktor Szakats)

  * contrib/rddads/rddads.h
    + autodetection support for 11.10
      (From Viktor's branch: 2013-12-26 01:22 UTC+0100 Viktor Szakáts)

  * contrib/rddads/adsx.c
    * use hb_xgrabz()
    * formatting

  * contrib/rddsql/hbrddsql.h
  * contrib/rddsql/sqlbase.c
    * added const qualifier to SDD method pointer in SQLBASEAREA
    * declare default SDD method table with const qualifier
    * added s_ prefix to the name of static variable with SDD methods
    % optimized GOHOT() method
    * use hb_xgrab() instead of hb_xalloc() to force error when out of memory
    * use hb_xgrabz()

  * contrib/rddsql/sqlmix.c
    * use hb_xgrabz()

  * contrib/sddfb/core.c
    * added s_ prefix to the name of static variable with SDD methods
    % removed unnecessary memset()
    % optimized GOTO() method
    ! fixed very bad typo in record set resizing - for each record 64 dummy
      items were added to array with records so finally this array was 64
      times longer then necessary.

  * contrib/sddmy/core.c
    * added s_ prefix to the name of static variable with SDD methods
    + added new field types from from Viktor's branch
    * use hb_xgrabz()
    % removed redundant comparison to NULL

  * contrib/sddoci/core.c
    * added s_ prefix to the name of static variable with SDD methods
    * check OCI_Initialize() result and generate error if fails
      (synced with Viktor's branch)
    * minor formatting to sync with Viktor's branch
    % removed unnecessary memset()
    % optimized GOTO() method
    ! fixed very bad typo in record set resizing - for each record 64 dummy
      items were added to array with records so finally this array was 64
      times longer then necessary.

  * contrib/sddodbc/core.c
    * replaced unnecessary hb_xgrabz() with hb_xgrab()
    ! fixed very bad typo in record set resizing - for each record 64 dummy
      items were added to array with records so finally this array was 64
      times longer then necessary.

  * contrib/sddpg/core.c
    * added s_ prefix to the name of static variable with SDD methods
    * use hb_xgrabz()

  * contrib/sddsqlt3/core.c
    * added s_ prefix to the name of static variable with SDD methods
    * minor formatting to sync with Viktor's branch
    ! fixed memory leak when RTE ESQLDD_STMTALLOC is generated
      (fix from Viktor's branch)
    % removed unnecessary memset()
    ! fixed very bad typo in record set resizing - for each record 64 dummy
      items were added to array with records so finally this array was 64
      times longer then necessary.
2015-02-25 22:06:51 +01:00
Przemysław Czerpak
0198c7a729 2015-02-24 17:49 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/sddfb/core.c
  * contrib/sddmy/core.c
  * contrib/sddoci/core.c
  * contrib/sddodbc/core.c
  * contrib/sddpg/core.c
  * contrib/sddsqlt3/core.c
    ! clear dbFieldInfo structure before use - it resolves problems with
      random field flags caused by uninitialized uiFlags member
    * minor cleanup in variable names
    * use hb_xgrabz()

  * contrib/sddodbc/core.c
    + added support for NULLABLE, UNICODE and BINARY field flags
    + added support for SQL_BINARY fields
    ! fixed SQL_TIME mapping to Harbour field types.
      It was mapped as HB_FT_DATE instead of HB_FT_TIME.
    ! fixed extracting integer values on on platforms where long int is
      64 bit integer (in practice all 64bit *nixes). SQL_C_LONG should be
      used with SQLINTEGER not 'long int'.

  * contrib/hbodbc/odbc.c
    + add support for different data types in SQLGetData()
      The original version was returning different types in their binary
      representation. Current implementation is based on similar one from
      Viktor's branch (2014-07-06 16:40 UTC+0200 Viktor Szakats) with
      small but important fixes.
    ! modified hb_odbcNumSetLen() to not break 64bit integers by casting
      to double value

  * contrib/hbodbc/sql.ch
    + added SQL_WCHAR

  * contrib/hbodbc/todbc.prg
    + use extended SQLGetData() and hb_odbcNumSetLen() functionality to
      extract ODBC data
    % few small optimization and casing usually based on Viktor's branch
      BTW pre incrementations/decrementations used in PUSH context are
      faster then post ones.
2015-02-24 17:49:04 +01:00
Przemysław Czerpak
0bcc223b14 2015-02-23 17:47 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/hbodbc/odbc.c
    * rewritten function SQLGetData() - new code is much simpler and
      fixes few bugs

  * contrib/hbodbc/todbc.prg
    % eliminated unnecessary AAdd() when final array size is already known
    ! do not round numbers read number to default number of decimal places
2015-02-23 17:47:54 +01:00
Przemysław Czerpak
c8a04734fd 2015-02-20 11:40 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/hbssl/bio.c
  * contrib/hbssl/err.c
  * contrib/hbssl/evpciph.c
  * contrib/hbssl/evpmd.c
  * contrib/hbssl/hbssl.ch
  * contrib/hbssl/hbssl.hbc
  * contrib/hbssl/hbssl.hbm
  * contrib/hbssl/hbssl.hbx
  * contrib/hbssl/pem.c
  * contrib/hbssl/rand.c
  * contrib/hbssl/ssl.c
  * contrib/hbssl/ssl_hb.c
  * contrib/hbssl/sslctx.c
  * contrib/hbssl/x509.c
    ; synced with Viktor's branch:
    * favor openssl over libressl on darwin (2015-01-22 03:24 UTC+0100)
    * build against libressl on darwin, if installed
      (2015-01-22 03:24 UTC+0100)
    * deleted custom openssl option 'OPENSSL_NO_SEED' on darwin.
      (2015-01-22 03:24 UTC+0100)
    + AES/GCM ciphers added (couldn't make them work)
      (2014-12-26 01:53 UTC+0100)
    + added BIO_GET_CONN_INT_PORT()
      It's now fixed in OpenSSL, available in hbssl with OpenSSL 1.0.1 or upper
      (2014-03-03 00:45 UTC+0100)
    ! BIO object is now GC collected, solving the leak and hopefully
      some remaining memory problems around BIO_NEW_MEM_BUF()
      (2014-02-26 04:54 UTC+0100)
    ! SSL_SET_BIO(): fixed 3rd parameter
      (2014-02-26 04:54 UTC+0100)
    ! BIO_NEW_MEM_BUF(): fixed potential use-after-free.
      (2014-02-24 16:02)
    * formating and comments
2015-02-20 11:40:52 +01:00
Przemysław Czerpak
b0054466a3 2015-02-20 10:53 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/hbodbc/odbc.c
  * contrib/sddodbc/core.c
    * updated to compile with UnixODBC 2.2.0
      I slightly changed one #if condition used to define SQLTCHAR.
      If it interacts with some other old UnixODBC version then
      please let me know.
2015-02-20 10:53:05 +01:00
Przemysław Czerpak
056afec314 2015-02-19 23:10 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/hbssl/hbssl.h
    * added HB_SSL_CONST macro which can be used instead of 'const'
      qualifier to pacify "discards qualifier 'const'" warnings in
      OpenSSL versions prior 0.9.8

  * contrib/hbssl/evp.c
  * contrib/hbssl/evpciph.c
  * contrib/hbssl/evpenc.c
  * contrib/hbssl/evpmd.c
  * contrib/hbssl/ssl.c
  * contrib/hbssl/sslctx.c
    * use HB_SSL_CONST macro to pacify warnings in 0.9.6 and 0.9.7
      OpenSSL versions

   ; Now HBSSL compiles cleanly without any warnings with different
     OpenSSL final versions starting with 0.9.6
2015-02-19 23:10:19 +01:00
Pritpal Bedi
fdb77bb7f2 2015-02-19 13:15 UTC-0800 Pritpal Bedi (bedipritpal/at/hotmail.com)
* contrib/hbtop/popcli.prg
    ! Fixed: METHOD top( nMsgId )
	   ::inetSendAll( ::SocketCon, "TOP " + hb_ntos( nMsgId ) + " 0 " + ::cCRLF )
	      =>
	   ::inetSendAll( ::SocketCon, "TOP " + hb_ntos( nMsgId ) + " 0" + ::cCRLF )

	+ Added: following convinient methods:
       METHOD getTop( nMsgId, lAsArray ) -> arrayOrStringOfHeaderOF_nMsgId
       METHOD getMessageRaw( nMsgId, lAsArray ) -> arrayOrStringOfEntireMessageOF_nMsgId
       METHOD getBody( nMsgId, lAsArray ) -> arrayOrStringOfMessageBodyOF_nMsgId
       METHOD getSubject( nMsgId ) -> cSubjectLineOF_nMsgId
2015-02-19 13:24:04 -08:00
Pritpal Bedi
6aa7e9423c 2015-02-19 01:19 UTC-0800 Pritpal Bedi (bedipritpal/at/hotmail.com)
* contrib/gtwvg/gtwvgd.c
  * contrib/gtwvg/gtwgud.c
    ! Fixed: a bug which was causing HB_GTI_SETPOS_XY/ROWCOL returning
	   wrong values in case it is called as GET method.
2015-02-19 13:03:12 -08:00
Przemysław Czerpak
f27109beee 2015-02-19 20:20 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/hbssl/evpciph.c
  * contrib/hbssl/hbssl.h
    ! added missing protection for EVP_rc5_32_12_16_cfb64()
    * cleaned version macro usage to not force final versions until beta
      ones is not confirmed to be broken
2015-02-19 20:20:34 +01:00
Przemysław Czerpak
bae69e6ead 2015-02-19 19:42 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/hbssl/bio.c
  * contrib/hbssl/err.c
  * contrib/hbssl/evpciph.c
  * contrib/hbssl/evpmd.c
  * contrib/hbssl/hbssl.h
  * contrib/hbssl/ssl.c
  * contrib/hbssl/ssl_inet.c
    ! fixed compilation with older OpenSSL versions.
      Now minimum supported version of OpenSSL is 0.9.6.
      I tested current code only with finals releases (such releases
      have 'f' as last hex digit in OPENSSL_VERSION_NUMBER) so it's
      possible that some beta release may need additional tunes but now
      adopting the code should be quite easy job for anyone who need
      to use such OpenSSL version and has same very basic C knowledge.
      When older OpenSSL versions are used then warnings:
         "passing arg X discards qualifier 'const' from pointer target type"
      can appear. I didn't pacified them to not hide some possible bugs
      in the future though it breaks C++ compilation so maybe I'll add
      such casting using macro redefined only for older versions.
    ; [TODO] check if HB_OPENSSL_OLD_OSX_ macro is still required and
             if not then remove it. Maybe also other DARWIN macros can
             be removed.
2015-02-19 19:42:07 +01:00
Przemysław Czerpak
418caaac51 2015-02-17 12:06 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/hbssl/tests/inetssl.prg
  * contrib/rddads/ads1.c
  * src/rtl/teditor.prg
    * formatting of my recent modifications taken from Viktor's branch

  * src/common/hbfsapi.c
  * src/compiler/complex.c
    * formatting

  * include/hbset.h
  * src/vm/set.c
  * src/nortl/nortl.c
    + add new C functions to change HVM set values:
         hb_setSetFileCase(), hb_setSetDirCase(), hb_setSetDirSeparator(),
         hb_setSetTrimFileName()

  * include/hbcomp.h
  * include/hbcompdf.h
  * src/compiler/cmdcheck.c
  * src/compiler/hbmain.c
  * src/compiler/ppcomp.c
  * src/compiler/genc.c
  * src/compiler/hbusage.c
  * src/nortl/nortl.c
    * rewritten code used to parse command line and environment parameters.
      New code is covered by GPL + Harbour exception license.
      All parameters are decoded by only one function and whole code is
      smaller so it's much easier to modify this code.
    ! fixed some small bugs and incompatibilities with Cl*pper in parameter
      parsing
    ! fixed -y undocumented (YYDEBUG) switch
    - removed -x[<prefix>] set symbol init function name prefix (for .c only)
      compiler command line switch
    * moved -fn[:[l|u]|-] -fd[:[l|u]|-] -fp[:<char>] and -fs[-] switches
      parsing to core compiler library. Now these switches are also works
      with compiler library linked with HBMK2.
    ; TOFIX: HBMK2 ignores -fn/-fd switches and allocates temporary names
             which are not compatible with names used later by harbour
             compiler when above switches are activated. HBMK2 should
             parse parameters and update SET FILECASE / SET DIRCASE before
             it creates temporary files.
2015-02-17 12:06:51 +01:00
Przemysław Czerpak
7886f9f0ea 2015-02-10 17:23 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* include/hbznet.h
  * src/rtl/hbinet.c
    + added new C function hb_znetInetTimeout()
    * minor cleanup (local variables localization)

  * contrib/hbssl/hbssl.hbm
  * contrib/hbssl/hbssl.hbx
  + contrib/hbssl/ssl_inet.c
    + added support for SSL/TLS encryption in hb_inet*() sockets.
      To enable SSL/TLS encryption on such socket it's enough to
      call hb_inetSSL_connect() or hb_inetSSL_accept() passing as
      1-st parameter hb_inet socket item with already established
      connection and in in the 2-nd parameter SSL item. The peer
      should call second function. In general hb_inetSSL_connect()
      should be called by client and hb_inetSSL_accept() by server.
      To use hb_inetSSL_accept() it's necessary to also set
      certificated (at least self ;-)) encryption keys. See the
      example I committed to test directory.
      The exact syntax of new functions is:
         hb_inetSSL_connect( <pSocket>, <pSSL> [, <nTimeout> ] )
         hb_inetSSL_accept( <pSocket>, <pSSL> [, <nTimeout> ] )
      To use hb_inet*() functions to connect with SSL/TLS server
      Harbour users only have to call hb_inetSSL_connect() after
      setting connection, i.e.:

         IF !Empty( sock := hb_inetConnect( cServer, nPort ) )
            ssl_ctx := SSL_CTX_new()
            IF hb_inetSSL_connect( sock, SSL_new( ssl_ctx ) ) == 1
               // SSL connection established
               // now user can use all hb_inet*() functions is
               // the same way as for raw TCP connections and
               // all parameters like timeouts are fully supported
               // but transmission is encrypted.
               [...]
            ENDIF
         ENDIF

      It's not longer necessary to use SSL_set_fd() + SSL_connect()
      and then SSL_read() / SSL_write() / hb_SSL_read_line() /
      hb_SSL_read_all().
      BTW hb_SSL_read_line() and hb_SSL_read_all() in HBSSL library
      are broken and have to be fixed.
      TODO: Now HBTIP library can be nicely simplified and additional
            code for SSL/TLS read/write operations removed. It's
            enough to once call hb_inetSSL_connect() if SSL/TLS
            encryption is needed.

  + contrib/hbssl/tests/inetssl.prg
    + added test code for hb_inet*() SSL/TLS connections.
      It's client and server example which also generates self
      certificated encryption keys running openssl command.
      If this code is linked with non console GT then user
      should generated certificates himself (see comment in
      LoadCertificates() function for more information).
2015-02-10 17:23:48 +01:00
Przemysław Czerpak
c44831d3af 2015-02-10 13:03 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/xhb/xhberr.prg
  * contrib/xhb/xhb.hbx
    - removed __BreakBlock() function. The Harbour core implementation
      of __BreakBlock() function fully replaces it and is more efficient
      because it does not create new codeblock on each call.
2015-02-10 13:03:24 +01:00
Przemysław Czerpak
11156a9563 2015-02-08 13:19 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* src/rdd/workarea.c
    + added support for field flags in dbCreate()/dbStruct().
      Flags can be passed in string with field type after ":", i.e.
         "C:U"
      means Unicode character field.
      The following flags are recognized:
         "N" - column can store null values
         "B" - binary column
         "+" - column is autoincrementing
         "Z" - column is compressed
         "E" - column is encrypted
         "U" - column stores Unicode strings

  * src/rdd/dbf1.c
    + added support for field flags in core DBF* RDDs.
    ; In core DBF* RDDs "N", "B", "U" and "+" flags are supported.
      When "N" flag is used then special hidden field with NULL bits
      is created. Such implementation is compatible with DBF created
      by VFP.

  * contrib/rddads/ads1.c
    + added support for field flags in ADS* RDDs
    ! added missing RTE when wrong field types are passed to dbCreate()
    ; The old format with long field names corresponding to ADS types is
      still supported but I had to rewrite this code so please make real
      life test and verify me. In few cases I slightly change the code and
      now it can be a little bit more restrictive, i.e. typos in "AtutoInc"
      field type will be detected (previous code checked only for 1-st
      letter "A").
2015-02-08 13:19:07 +01:00
Przemysław Czerpak
ca567dd55f 2015-02-07 21:02 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/hbwin/win_bmp.c
    ! added missing C++ casting
2015-02-07 21:02:12 +01:00
Przemysław Czerpak
a10bfbda40 2015-02-06 15:00 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* src/rtl/hbsocket.c
    * added support MAC addreses array returned by hb_socketGetIFaces()
      in BSD based systems like FreeBSD or Darwin (Mac OS X)

  * src/vm/hvm.c
    % small simplification i FOR EACH initial code

  * contrib/hbwin/win_bmp.c
  * contrib/hbwin/win_prn2.c
    * use Harbour FILE IO API instead of local file access

  * contrib/hbct/ctstrfil.c
    * formatting

  * contrib/gtqtc/gtqtc1.cpp
    ! fixed possible missing initialization for drawing character images
2015-02-06 15:00:31 +01:00
Jean Lefebvre (Mafact)
873c60d54f 2015-01-29 23:55 UTC+0100 Jean Lefebvre (jfl/at/mafact.com)
2015-01-29 23:55 UTC+0100 Jean Lefebvre (jfl/at/mafact.com)
* contrib/hbtip/sendmail.prg
* Modified hb_sendmail(...) to allow TLS on port 587
No change in parameters
* contrib/hbtip/client.prg
+ added FUNCTION ActivateSSL(Self)
* changed all actual ref to TLS to SSL for clarity with real TLS vars
and methods
* contrib/hbtip/smtpcli.prg
+ Added METHOD StartTLS() to allow starting SSL crypting after receiving
the STARTTLS command only
+ Added METHOD DetectSecurity() to initiate Authentification methods
reading 250-xxx lines
* contrib/hbtip/tests/gmail.prg
* changed comment to explain TLS on port 587 for gmail
* changed port to 587 to allow testing
* Auto detect SSL on 465 and plain text on 587 (till STARTTLS command)
2015-01-29 23:57:12 +01:00
Przemysław Czerpak
32b22ec738 2015-01-19 13:24 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/hbwin/hbwin.hbx
    + added __oleVariantNullDate()

  * src/common/hbver.c
  * src/rtl/tget.prg
    ! applied Get():end() Cl*pper compatibility fix by Rolf.
    * synced with Viktor's branch

  * contrib/hbhpdf/image.c
    ! applied fixes sent by Peter Rees
    ! protection against GPF when wrong parameter is passed to
      HPDF_Image_GetColorSpace() (borrowed from Viktor's branch)

  * README.md
  * src/compiler/hbusage.c
  * src/pp/hbpp.c
  * utils/hbi18n/hbi18n.prg
  * utils/hbtest/hbtest.prg
  * contrib/hbformat/utils/hbformat.prg
  * contrib/hbnetio/utils/hbnetio/hbnetio.prg
  * contrib/hbnetio/utils/hbnetio/netiomgm.hb
    * bumped copyright year to 2015
2015-01-19 13:24:33 +01:00
Przemysław Czerpak
603063cd0d 2015-01-14 13:00 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/hbwin/olecore.c
    + added new PRG function to control empty date conversion to OLE variant:
         __oleVariantNullDate( [<lNewNullFlag>] ) -> <lPrevNullFlag>
      This is per thread switch and by default initialized to .F. for each
      new thread. When set to .T. Harbour empty dates are translated to
      VT_NULL.
      Warning: it's possible that this function will be removed or replaced
               by other solution in the future.

  * contrib/gtqtc/gtqtc1.cpp
    * emulate CTRL by setting SHIFT + ALT in Android builds
      (It's temporary solution - my patch with support for CTRL in
      Android QT builds has been accepted so it should be included
      in next Qt releases)
    % set Qt::WA_NoSystemBackground
    * do not change number of rows and cols in maximized and fullscreen mode
      when font is changed and resize mode set to HB_GTI_RESIZEMODE_FONT.
      It was creating problems when user switched to fullscreen/maximized
      mode and application was not ready to dynamically update screen
      dimensions.
    * activate virtual keyboard on double click instead of click.
      It allows to hide virtual keyboard and control program using mouse
      and touch events.

  * src/rtl/gtwvt/gtwvt.c
    + added support for HB_K_MENU

  * src/rtl/gtxwc/gtxwc.c
    * use macros instead of constant values
    + added support for HB_K_MENU
    * reload font after HB_GTI_FONTSIZE (compatible with other graphic GTs)
    * eliminated recursive mutex XLIB locks in HB_GTI_FONTSEL
    * discard existing graphics characters and redraw console window contents
      after HB_GTI_FONTATTRIBUTE

  * tests/gtkeys.prg
    + added support for HB_K_MENU and HB_K_TERMINATE
2015-01-14 13:00:13 +01:00
Przemysław Czerpak
894983e284 2014-12-12 17:23 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/gtqtc/gtqtc1.cpp
    ! use window instead of internal image to calculate new console window
      dimensions after dynamic font size modification
2014-12-12 17:23:14 +01:00
Przemysław Czerpak
20ec21c553 2014-12-12 13:30 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* include/hbcompdf.h
  * include/hbexprb.c
  * src/common/funcid.c
  * src/vm/hvm.c
    % optimize Array() function by replacing function call with HB_P_ARRAYDIM
      PCODE. Because this optimization changes RTE and interacts with broken
      code like
         aVal := Array( 10, 0, "A" )
      then it's not enabled by default. User can enable it by -ko switch.

  * utils/hbtest/rt_array.prg
    * use #pragma -ko- to for tests which interacts with above modification

  * src/rtl/hbproces.c
    % optimize memory allocation for redirected STDOUT and STDERR buffers in
      hb_processRun() function.
      The previous implementation was extremly inneficient when
      hb_processRun() was used to extract very long output from
      child process.

  * src/rtl/hbtoken.c
    + added support for dividing text into lines using EOLs used by different
      platform. To enable it it's enough to specify .T. as delimiter.

  * src/rtl/filesys.c
    * pacified MSVC warning - in fact this modification is significant only
      for bugy code which changes current directory in MT programs. It's bug
      on all platforms using current directory as process not thread
      attribute (common behavior).

  * include/inkey.ch
  * src/rtl/hbgtcore.c
    + added new extended keycodes:
         HB_K_TERMINATE
         HB_K_MENU

  * contrib/gtqtc/gtqtc1.cpp
    + center and rescale to console window dimension keeping aspect size ratio
      picture passed to HB_GTI_DISPIMAGE when second parameter is .T.
    + added support for HB_K_MENU key
    ! fixed dynamic font size modification in fullscreen, maximized and
      HB_GTI_RESIZEMODE_ROWS modes
2014-12-12 13:30:56 +01:00
Przemysław Czerpak
513f8824df 2014-12-05 01:33 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* src/common/hbffind.c
  * src/common/hbfsapi.c
  * src/rtl/filebuf.c
  * src/rtl/fssize.c
  * contrib/hbmzip/mzip.c
  * contrib/xhb/filestat.c
    ! typo in comment - thanks to Viktor

  * include/hbexprb.c
    * small code reorganization

  * include/hbvmpub.h
  * src/vm/hvm.c
    % use HB_VM_PUSHNIL() macro
    ! generate RTE for code like:
         LOCAL aVar[ 10, -1 ]
      (Cl*pper compatible)
2014-12-05 01:33:30 +01:00
Przemysław Czerpak
e007f5de9d 2014-12-04 10:06 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* ChangeLog.txt
  * contrib/hbct/doc/en/dattime3.txt
  * contrib/hbmzip/mzip.c
  * contrib/xhb/filestat.c
  * src/common/hbffind.c
  * src/rdd/hbsix/sxcompr.c
  * src/rtl/filebuf.c
  * src/rtl/filesys.c
  * src/rtl/fssize.c
  * src/rtl/fstemp.c
    ! typo in comments

  * src/common/hbfsapi.c
    ! hb_fsFNameMerge() fixed to not refer to szDrive in HB_TRACE mode
      (2014-11-29 14:29 UTC+0100 Viktor Szakats)

  * src/rtl/fnsplit.c
    * removed szDrive setting before call to hb_fsFNameMerge() - it's not
      longer necessary
2014-12-04 10:06:14 +01:00
Przemysław Czerpak
e40475da0d 2014-11-24 10:30 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/hbnetio/netiocli.c
    * pacified warning
2014-11-24 10:30:22 +01:00
Przemysław Czerpak
7efce08559 2014-11-21 16:31 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/gtqtc/gtqtc.hbc
  * contrib/gtqtc/gtqtc.hbp
    ! fixed detecting QT when both QT4 and GT5 versions are installed
      in OSX (synced with Viktor's branch)

  * src/rtl/gttrm/gttrm.c
    * small modification for future usage
2014-11-21 16:31:49 +01:00
Przemysław Czerpak
ed3dd0415f 2014-11-19 08:37 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/hbnetio/netiosrv.c
    * small simplification

  * src/rtl/hbznet.c
    ! fixed possible data stream corruption which could be exploited in
      systems which can accept only one byte in socket write operation
      when internal TCP output buffers are full. Rather seldom situation
      but theoretically possible, i.e. in VPN.
2014-11-19 08:37:16 +01:00
Przemysław Czerpak
c571627e7f 2014-11-12 18:01 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* include/hbgtinfo.ch
    + added HB_GTI_MINIMIZED

  * contrib/gtqtc/gtqtc.h
  * contrib/gtqtc/gtqtc1.cpp
    + added support for HB_GTI_MINIMIZED

  * src/rtl/gtxwc/gtxwc.c
    + added support for HB_GTI_MINIMIZED and HB_GTI_MAXIMIZED

  ; All above modifications created by Rolf - thanks

  * contrib/hbnetio/netiocli.c
    * updated some RTEs to be a little bit more precise

  * contrib/hbblat/hbblat.hbp
    * disabled unconditional dynamic library build
2014-11-12 18:01:44 +01:00