Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Wed Mar 13 15:54:10 2019 +0000

    Prepare for release.

    Finally 1.1!

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Thu Feb 28 17:05:41 2019 +0000

    Fix possible login packet if some fields are truncated

    If some fields in the login structure are truncated the pointer to
    next position to write was not reset correctly possibly causing
    the data to be written in the wrong place.
    Compute again the next position after the possible truncation.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Fri Mar 1 09:55:07 2019 +0000

    Fix some collation encoding detection

    Serbian_Latin_100 is CP1250.
    Bashkir_100, Bosnian_Cyrillic_100 and Yakut_100 are CP1251.

Author: Aaron M. Ucko <ucko@ncbi.nlm.nih.gov>
Date:   Tue Oct 23 11:05:20 2018 -0400

    dblib: Address compiler warning

    Remove unused constant.

    Co-Authored-By: Pavel Ivanov <ivanovp@ncbi.nlm.nih.gov>

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Tue Feb 19 08:16:07 2019 +0000

    Prepare for next release 1.1rc3

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Wed Feb 20 09:42:43 2019 +0000

    tds: Remove unused variable

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Wed Feb 20 09:42:24 2019 +0000

    Fix detection of SQLGetPrivateProfileString if not in standard directory

    Using --with-unixodbc with a non standard directory the detection
    of SQLGetPrivateProfileString was not working causing to fallback
    to FreeTDS provided function.
    This because the specified directory was not used.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sat Feb 16 13:46:19 2019 +0000

    utils: Remove some warnings compiling md4/md4 code

    Avoid warnings like:

    md4.c: In function ‘MD4Final’:
    md4.c:162:2: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
      ((uint32_t *) ctx->in)[14] = (uint32_t) (ctx->bytes << 3);
      ^

Author: Attila Szakacs <attila.szakacs@balabit.com>
Date:   Mon Feb 18 13:28:54 2019 +0100

    tds.h: include socket.h

    On AIX the `sys/socket.h` file is needed directly for
    values like `AF_INET` or `AF_INET6`. There were 2 files
    which used these values, but did not include `socket.h`,
    and both of them had `tds.h` included, so I decided to put
    the include there.

    The files are:
    src/replacements/getaddrinfo.c
    src/replacements/socketpair.c

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sat Feb 16 15:38:32 2019 +0000

    odbc: Remove some warnings compiling test64 test

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sat Feb 16 15:20:52 2019 +0000

    odbc: Make test64 test work with unixODBC

    unixODBC requires to have some prepared statement in order to
    access some descriptor field.
    As the test is checking for 64 bit problems prepare some statement
    to make it happy.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sat Feb 16 09:10:05 2019 +0000

    Make sure we can compile from distribution

    This test previous commit.

Author: Attila Szakacs <attila.szakacs@balabit.com>
Date:   Fri Feb 15 13:48:21 2019 +0100

    make: Add subdirs of src to DIST_SUBDIRS

    Subdirectories of src/ should get into the tarball
    when we `make dist`, no matter the configuration before.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sat Feb 9 19:00:13 2019 +0000

    Updated "news" web page

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sat Feb 16 08:51:01 2019 +0000

    doc: Avoid User Guide to be generated after an autoreconf

    If people needs to run autoreconf due to issues on their system
    we don't want them to have also to recompile the User Guide so
    avoid it.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Fri Feb 15 15:41:31 2019 +0000

    odbc: Avoid function name collision with system header

    If we need to replace SQLGetPrivateProfileString avoid that
    our declaration clash with system one.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Fri Feb 15 15:58:01 2019 +0000

    Avoids possible permission problems in test script

    Make sure we can delete all temporary directories and files.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Fri Feb 15 15:52:44 2019 +0000

    Use file redirection in distribution test script

Author: Attila Szakacs <attila.szakacs@balabit.com>
Date:   Wed Feb 13 15:10:11 2019 +0100

    CTLIB: ct_con_props() set/get client_charset

Author: Attila Szakacs <attila.szakacs@balabit.com>
Date:   Thu Feb 14 10:25:54 2019 +0100

    make: look for userguide_desc.sgml in build dir

    userguide_desc.sgml is generated to the build dir.
    Previously make looked for userguide_desc.sgml in the
    source/doc directory, which was not a problem, when we
    are building in tree.
    However, if we build out of tree it will not find the file.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sat Feb 9 23:42:48 2019 +0000

    Start converting DocBook to XML format

    Terminate correctly tags with the complete name.
    Use lower case for tag names.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sat Feb 9 17:16:54 2019 +0000

    Prepare for release 1.1rc2

Author: Craig A. Berry <craigberry@mac.com>
Date:   Fri Feb 8 16:54:01 2019 -0600

    Add OpenSSL support for VMS.

    Detect the presence of the vendor-supplied OpenSSL kits and
    dynamically link against them if found.

Author: Craig A. Berry <craigberry@mac.com>
Date:   Fri Feb 8 09:52:23 2019 -0600

    Build and run newer tests on VMS.

Author: Craig A. Berry <craigberry@mac.com>
Date:   Fri Feb 8 09:41:03 2019 -0600

    Distribute the VMS stdint.h replacement.

    This was added in 468cf21bde9088b35f9e69e945d6362070d31a56, but it
    won't make it into the distribution without adding it here as well.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Thu Feb 7 09:39:58 2019 +0000

    ci: Try auto version in Appveyor

    As it's now the default better trying it.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Fri Feb 8 13:25:09 2019 +0000

    Do not attempt more connections if the previous one was good

    During TDS protocol discovery is possible that the first attempt
    fails but we were able to understand that the server did reply
    correctly and not refused the version proposed.
    This for instance can happen passing a wrong username or password.
    This allow the connection to fail faster avoiding to try more
    versions than necessary.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Fri Feb 8 15:07:32 2019 +0000

    Fix prepare_results bug with protocol version 7.4

    For some reason the server reply without metadata if the
    query contains multiple recordsets.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Fri Feb 8 15:06:35 2019 +0000

    Read again server and protocol version after disconnection

    Avoid to use old values

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Fri Feb 8 17:02:32 2019 +0000

    Avoid TDS protocol version to be overridden in timeout3 test

    This test require the version to be 7.0 so avoid possible
    override using TDSVER environment variable.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Fri Feb 8 22:41:13 2019 +0000

    Fix comment grammar in a test

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Wed Jul 11 08:40:38 2018 +0100

    tds: Better management of SSPI handles

    Invalidate handles on initialisation.
    Check for validity before releasing them.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Fri Feb 8 15:05:54 2019 +0000

    Update comment on sp_prepare call

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Tue Feb 5 08:46:35 2019 +0000

    Minor documentation updates

    Cleanups, grammar.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Tue Feb 5 08:24:17 2019 +0000

    Update documentation on TDS protocol version

    Remove some obsolete stuff.
    Update the section on which protocol version to choose.
    Update default value.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Wed Feb 6 08:40:34 2019 +0000

    Use auto for TDS protocol version even for cmake build

    No reason to have the two builds use different default options.

Author: Craig A. Berry <craigberry@mac.com>
Date:   Tue Feb 5 21:37:52 2019 +0000

    Update build files for compatibility with OpenVMS

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Mon Feb 4 16:04:31 2019 +0000

    utils: add some const qualifier in DES code

    During encryption the key is not changed.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Tue Feb 5 12:02:13 2019 +0000

    Clean old default version specifications

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Tue Feb 5 08:47:15 2019 +0000

    Remove obsolete ODBC detection in RPM spec file

    Now configure does it correctly

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Tue Feb 5 08:11:32 2019 +0000

    Fix SGML syntax

    Add missing close of row.

Merge: 67fe4ab8 61044768
Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Tue Feb 5 12:41:04 2019 +0000

    Merge remote-tracking branch 'origin/Branch-1_1'

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Mon Feb 4 19:18:01 2019 +0000

    Update website pages for new release candidate

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Wed Apr 18 09:49:33 2018 +0100

    Start preparing for release 1.1rc1

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Fri Feb 1 21:25:29 2019 +0000

    Revert "odbc: Improve support for Sybase UNIVARCHAR"

    This reverts commit d7ad5b49576f3feb304ebdb92a4571b8ccd8d821.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Fri Feb 1 19:37:21 2019 +0000

    Revert "Send execdirect request as LANGUAGE token."

    This reverts commit 12f743b418b64298d9031015fcf59af655a385c0.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Wed Apr 18 09:49:21 2018 +0100

    Use 4 decimal digit for MONEY format

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Fri Feb 1 19:33:13 2019 +0000

    Revert "Pass large objects using SYBBLOB for TDS 5.0"

    This reverts commit 5c96df7673cbac44b0d8870aa6864e8bd33aff9c.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sun Jan 20 19:08:44 2019 +0000

    tds: Avoid changing generated tds_willconvert.h at every run

    The script generate some indexes based on hash order which can
    change for every run.
    Sort the values so the indexes are always the same.
    Although code generate change the behaviour is not changing
    at all.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Fri Jan 4 08:59:35 2019 +0000

    tds: Allows to connect to servers not implementing @@spid

    Some embedded server does not support this variable, detect
    and do not provide @spid to applications.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Fri Jan 4 08:58:42 2019 +0000

    tds: Change db_selected variable to bool

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Fri Jan 4 09:02:07 2019 +0000

    Fix MinGW case

    Always use the correct case

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Thu Dec 27 14:07:36 2018 +0000

    Use strtok_s if available

    Windows has a strtok_s version which has exactly the same behaviour
    of strtok_r.
    Use strtok_s instead of strtok_r if strtok_s is available.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Tue Oct 2 11:32:10 2018 +0100

    odbc: Fix error reporting from SQLEndTran

    Make sure errors are saved into SQLHDBC and not in the previous
    SQLHSTMT.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Wed Nov 28 12:48:14 2018 +0000

    tds: Avoids connection loop to get stuck

    If multiple addresses are present and there's an error on poll
    curr_time was not updated causing potentially the loop to be
    infinite.
    This can happen for instance having multiple addresses to a
    not open port. In this case after the first attempt the sockets
    are closed and a timeout for a next retry is set however as
    the curr_time is never updated code won't never retry new
    connections.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Mon Nov 26 18:34:40 2018 +0000

    dblib: Do not reuse temp_filename as a buffer for date formatting

    The buffer could be not big enough to hold the output date.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Mon Nov 26 18:28:17 2018 +0000

    dblib: Initialise DBPROC field outside lock

    No need to initialise nullreps field inside the global dblib lock.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sun Nov 4 19:21:38 2018 +0000

    ctlib: Remove some possible warnings in switch

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Thu Nov 22 23:36:11 2018 +0000

    pool: Allows to pass the configuration file name as argument

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Thu Nov 22 23:26:31 2018 +0000

    pool: Read ~/.pool.conf as additional configuration file

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Thu Nov 22 23:08:53 2018 +0000

    Use bool for reading configuration files

    Just style change.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Mon Nov 12 16:31:56 2018 +0000

    odbc: Fix SQLEndTran in case auto commit is on

    When SQLEndTran is called for a connection with auto commit on
    the DM should ignore the call and always return SQL_SUCCESS.
    This is documented in Mircosoft documentation too.
    This fixes GitHub issue #236 ("Error while trying to execute data
    migration") were Django was extracting some data from a database
    to migrate data.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Mon Nov 12 14:55:06 2018 +0000

    Test for SQLEndTran issue with auto commit on

    The SQLEndTran request should be ignored if the connection has no
    auto commit set to off.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Mon Nov 12 14:47:52 2018 +0000

    Small test style update

    Use bool instead of int in ODBC transaction test.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sun Nov 4 19:03:29 2018 +0000

    Remove minor issues if UNICODE is set on Windows

    Although code is not supposed to compile with such settings remove
    the easy cases.

    This patch is based on work from Aaron M. Ucko <ucko@ncbi.nlm.nih.gov>.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Mon Oct 29 09:10:47 2018 +0000

    Remove warning on Windows

    Make sure *ret is always set if function returns 0.
    In reality is not changing anything, GetExitCodeThread should
    never fail after WaitForSingleObject returned WAIT_OBJECT_0
    (we surely have the right permissions as we created the thread).

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Tue Nov 6 08:54:07 2018 +0000

    odbc: Better handling of errors converting strings

    Attempt to not cause infinite loops using SQLGetData

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Fri Oct 12 17:01:06 2018 +0100

    iconv: Improve character skipping

    Always skip at least one byte to ignore invalid sequences.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Tue Nov 6 08:38:26 2018 +0000

    Use a patched version of win-iconv

    Found a problem with GB18030 encoding were invalid error code was returned.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Mon Nov 5 22:30:52 2018 +0000

    appveyor: Update win-iconv version

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Mon Nov 5 12:27:25 2018 +0000

    cmake: Use POSITION_INDEPENDENT_CODE property instead of manual -fPIC

    Will let cmake specify whatever option is needed

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sun Nov 4 19:03:57 2018 +0000

    odbc: Allow common test code to run with UNICODE flag defined

    ODBC tests can be compiled with this flag set however on Windows this
    was not working properly due to some SQLWritePrivateProfileString
    called with not wide parameters.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sun Nov 4 19:21:33 2018 +0000

    Allow code to compile if thread safety is disabled

    Inspired by a patch written by Aaron M. Ucko <ucko@ncbi.nlm.nih.gov>.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sun Oct 21 09:43:16 2018 +0100

    configure: Do not attempt to compile pool server if thread safety is disabed

    The pool server required threads.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sun Nov 4 19:18:42 2018 +0000

    userguide: Add some notes for --disable-threadsafe

    Pretty discouraged nowadays unless your system really doesn't
    support threads.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Wed Oct 31 08:47:28 2018 +0000

    odbc: Run prepclose test even on Windows

    Use shutdown function instead of dup2 to close the connection so
    test become portable to Windows.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Wed Oct 31 08:47:08 2018 +0000

    odbc: Add a SQLGetInfo information to return system socket

    This make possible for tests to get the underlying socket instead
    of having to extract in some hacky way.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Wed Oct 31 08:46:06 2018 +0000

    Print socket errors correctly on some tests on Windows

    Windows do not use errno to store socket errors so perror can't
    be used. Use sock_errno instead.

Author: Aaron M. Ucko <ucko@ncbi.nlm.nih.gov>
Date:   Thu Oct 18 11:53:07 2018 -0400

    Don't try to use SQL{Get,Set}ConfigMode or SQLWritePrivateProfileString with TDS_NO_DM in effect

    Co-Authored-By: Sergey Sikorskiy <ssikorsk@ncbi.nlm.nih.gov>

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Tue Oct 30 09:40:02 2018 +0000

    cmake: Pass target name as command argument

    This make sure that the executable will be the correct executable
    for that target instead of having to guess.
    This make cross compilation from Linux to Windows work.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Mon Oct 29 15:00:07 2018 +0000

    cmake: define DLL_EXPORT only on shared libraries

    This make more consistent with autoconf builds (DLL_EXPORT is defined
    by libtool for shared libraries on Windows).

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Mon Oct 29 09:10:33 2018 +0000

    Fix compile with MingW

    all_types test is linked statically so has to provide hinstFreeTDS
    variable, not defined by ODBC in case of static library.
    Also add missing odbcinst library.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Mon Oct 29 07:48:54 2018 +0000

    Add a "windows.h" helper include file

    As we use Win Socket 2 library is a good idea to always include
    winsock2.h before windows.h to avoid some potential issues calling
    functions with wrong parameters.

    Note that samples and public headers won't include this new header.

    This was also suggested by some patches by
    Aaron M. Ucko <ucko@ncbi.nlm.nih.gov>.

Author: Aaron M. Ucko <ucko@ncbi.nlm.nih.gov>
Date:   Mon Jun 4 11:13:37 2018 -0400

    odbc: Tell the compiler fatal() will never return

    Co-Authored-By: Pavel Ivanov <ivanovp@ncbi.nlm.nih.gov>

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sun Oct 28 21:26:54 2018 +0000

    tds: Add and reuse a macro to propagate error

    Many times error is propagated to the caller forwarding it with a
    simple return.
    Use a macro to reuse code.

Author: Sergey Sikorskiy <ssikorsk@ncbi.nlm.nih.gov>
Date:   Mon Jun 4 11:13:37 2018 -0400

    query.c: Handle return codes of tds_put_data and tds_put_data_info

    To that end, let tds7_send_execute and tds_put_params (both static)
    yield return codes as well.

    Co-Authored-By: Aaron M. Ucko <ucko@ncbi.nlm.nih.gov>

Author: Aaron M. Ucko <ucko@ncbi.nlm.nih.gov>
Date:   Tue Oct 23 11:05:20 2018 -0400

    Ensure that any headers checking (TDS_)HAVE_* #include <config.h> first

    Co-Authored-By: Pavel Ivanov <ivanovp@ncbi.nlm.nih.gov>

Author: Aaron M. Ucko <ucko@ncbi.nlm.nih.gov>
Date:   Mon Jun 4 11:13:37 2018 -0400

    tds: Suppress GSSAPI deprecation warnings on Mac OS X

    Co-Authored-By: Pavel Ivanov <ivanovp@ncbi.nlm.nih.gov>

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sun Oct 28 17:44:14 2018 +0000

    Change tds_get_n return type to bool

    The pointer returned was not consistent, sometimes destination
    sometimes an updated value.
    Changed to bool (success or failure).

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sat Oct 27 06:43:39 2018 +0100

    dblib: Set TDS version in a coherent way

    dbsetlversion was setting directly the field and calling tds_set_version.
    Always call tds_set_version.

Author: Pavel Ivanov <ivanovp@ncbi.nlm.nih.gov>
Date:   Thu Oct 18 13:09:17 2018 -0400

    ct_con_props: Treat CS_TDS_VERSION 0 as requesting autodetection.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sat Oct 27 06:26:06 2018 +0100

    odbc: Add "fall throught" comments

    Some tools complains if these comments are not present in the code.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sat Oct 27 06:25:23 2018 +0100

    odbc: Cleanup some BIT handling

    Due to code moved to data.c some handling of nullable BIT in ODBC
    is now not necessary.

Author: Aaron M. Ucko <ucko@ncbi.nlm.nih.gov>
Date:   Mon Jun 4 11:13:37 2018 -0400

    ctlib: Add trivial CS_TDS_7[1-4] macros

    Make it easier for clients to know the values exist.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sat Oct 27 05:12:34 2018 +0100

    ctlib: Use OBJECT_ID to detect if some store procedures are present

    Newer Sybase requires a slightly different syntax to detect
    object presence using SYSOBJECTS table.
    Use OBJECT_ID instead to make also shorter and more readable.

Author: Aaron M. Ucko <ucko@ncbi.nlm.nih.gov>
Date:   Mon Jun 4 11:13:37 2018 -0400

    tds: Under TDS 7.0+, send SYBBIT as SYBBITN

    Microsoft SQL Server doesn't support SYBBIT as a parameter type under
    recent protocol versions.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Fri Oct 26 23:10:00 2018 +0100

    Update freetds.conf

    Remove setting for 'text size' use database default.
    Use newer version for MS SQL example.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Fri Oct 26 23:58:38 2018 +0100

    Remove obsolete tds-makeenvs script

    This script was used to support old style configure.ac.
    Newer versions use parallel tests which allow easier tests
    instrumentation.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Fri Oct 26 23:16:57 2018 +0100

    Minor setting updates for automatic tests

    Run more tests at a time (4 instead of 3).
    Avoid a problem with recent Valgrind under Ubuntu.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Fri Oct 26 23:14:17 2018 +0100

    Do not create directory link for automatic tests

    The "freetds" link in "$HOME/cpp/freetds" was created in old versions
    to make ".odbc.ini" file point to the right driver.
    Now tests automatically override odbc.ini.

Author: Sergey Sikorskiy <ssikorsk@ncbi.nlm.nih.gov>
Date:   Mon Jun 4 11:13:37 2018 -0400

    ctlib: Fix severity propagation

    ctutil.c (_ct_handle_client_message): Propagate severity.

    Co-Authored-By: Aaron M. Ucko <ucko@ncbi.nlm.nih.gov>

Author: Aaron M. Ucko <ucko@ncbi.nlm.nih.gov>
Date:   Mon Jun 4 11:13:37 2018 -0400

    tds: Treat TDSSOCK_EINTR as transient, like TDSSOCK_WOULDBLOCK

    Co-Authored-By: Sergey Sikorskiy <ssikorsk@ncbi.nlm.nih.gov>
    Co-Authored-By: Pavel Ivanov <ivanovp@ncbi.nlm.nih.gov>

Author: Sergey Sikorskiy <ssikorsk@ncbi.nlm.nih.gov>
Date:   Mon Jun 4 11:13:37 2018 -0400

    tds_process_tokens: For DONEPROC, always restore rows_affected.

    When processing TDS_DONEPROC_TOKEN, restore tds->rows_affected from
    saved_rows_affected in all cases, not just for CURSOROPEN.

    Co-Authored-By: Aaron M. Ucko <ucko@ncbi.nlm.nih.gov>

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Wed Oct 24 18:11:28 2018 +0100

    userguide: Update documentation for "enable tls v1"

    Default changed to "yes" due to compatibility issues.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Tue Oct 23 13:14:22 2018 +0100

    tsql: Fix compilation if MingW is used

    MingW detect that alarm function is present so disable alarm
    usage compiling for Windows.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Tue Oct 23 08:48:56 2018 +0100

    Use DWORD for thread procedure return type under Windows

    Not much of a change however this will make sure we catch possible
    truncation of the value. On 64 bit platforms pointers are 64 bit
    while DWORD on Windows is always 32 bit.

    This patch was inspired by a patch from
    Aaron M. Ucko <ucko@ncbi.nlm.nih.gov> and
    Pavel Ivanov <ivanovp@ncbi.nlm.nih.gov>

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Mon Oct 22 23:14:57 2018 +0100

    Move some headers in include/freetds/utils directory

    Make clear what these headers declare and helps make sure utilities
    does not depends on libTDS or other higher libraries.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sun Oct 21 17:51:46 2018 +0100

    tds: Enable TLS v 1.0 by default

    For compatibility Microsoft kept higher version disabled in servers
    like Windows 2008. Do avoid FreeTDS stopping connecting to these
    systems allow by default this option.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sun Oct 21 10:08:27 2018 +0100

    Use standard C name for intptr type

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sun Oct 21 09:43:01 2018 +0100

    replacements: Remove dependencies from tds.h

    replacements code should not depend on libTDS or other higher libreries.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sun Oct 21 09:40:15 2018 +0100

    Move some header in new include/freetds/utils directory

    Make clear what these headers declare and helps make sure utilities
    does not depends on libTDS or other higher libraries.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sat Oct 20 22:44:40 2018 +0100

    tsql: Fix compilation on Windows

    Introduced in last tsql update.

Author: Aaron M. Ucko <ucko@ncbi.nlm.nih.gov>
Date:   Mon Jun 4 11:13:37 2018 -0400

    dblib: Express -2**31 in a manner all compilers accept happily.

    Co-Authored-By: Pavel Ivanov <ivanovp@ncbi.nlm.nih.gov>

Author: Aaron M. Ucko <ucko@ncbi.nlm.nih.gov>
Date:   Mon Jun 4 11:13:37 2018 -0400

    Keep static assertions warning-free by using _Static_assert where available.

    Co-Authored-By: Pavel Ivanov <ivanovp@ncbi.nlm.nih.gov>

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sat Oct 20 21:38:51 2018 +0100

    tsql: Replace login timer code with alarm instead of using a subprocess

    alarm and fork are portables on the same systems.
    Using alarm avoid the creation of an extra process and code is
    shorter.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sat Oct 20 21:03:37 2018 +0100

    Avoid user to enter too much data in edit boxes in Windows dialog

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sat Oct 20 20:35:12 2018 +0100

    Remove useless code in Windows ODBC configuration

    Major.minor cannot be 8.0 anymore as the string is not on the
    list and combobox does not allow editing but you can only
    select from the list.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sat Oct 20 20:34:03 2018 +0100

    Remove some compiler warnings under Windows

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sat Oct 20 19:59:48 2018 +0100

    Remove possible very unlikely overflows in tests

    Avoid possible compiler warnings.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sat Oct 20 10:06:31 2018 +0100

    tds: Move tds_socket_set_nosigpipe declaration in utils.h

    Implementation is in utils directory which should not include tds.h.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Fri Oct 19 17:58:30 2018 +0100

    replacements: Execute tests compiling with CMake

    Tests for replacements were not executed if CMake was used.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Fri Oct 19 13:26:01 2018 +0100

    replacements: Reduce indentation

    Also do not check empty string case twice.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Fri Oct 19 13:25:18 2018 +0100

    replacements: Collapse two paths setting stringp

    Minor optimisation (if compiler is not able to detect it).

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Fri Oct 19 17:29:27 2018 +0100

    replacements: Add a test for strsep

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Fri Oct 19 13:24:52 2018 +0100

    tds: Do not initialise pquest_mark variable is not necessary

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Fri Oct 19 13:23:31 2018 +0100

    tds: Use bool instead of int

    Just a minor style update

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Tue Oct 9 11:13:22 2018 +0100

    dblib: Accept DBVERSION_74 in dbsetversion

    This patch is based on a patch from Sergey Sikorskiy <ssikorsk@ncbi.nlm.nih.gov>
    and Aaron M. Ucko <ucko@ncbi.nlm.nih.gov>

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Mon Oct 8 23:21:52 2018 +0100

    tds: Rearrange some TDSCOLUMN fields to reduce holes

    Reduce a bit the structure size

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Mon Oct 8 23:20:54 2018 +0100

    tds: Reduce a bit TDSCOLUMN size on Windows

    Bitfields are a bit different on Windows.
    Make sure the 7 bitfields take only one byte even on Windows.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sat Oct 6 18:17:51 2018 +0100

    tds: Fix build failure with LibreSSL 2.7

    This patch was inspired from Bernard Spil <brnrd@FreeBSD.org>.
    Tested on FreeBSD 11.2.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sat Oct 6 18:15:09 2018 +0100

    dblib: Removed unused variable

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Fri Jun 29 14:34:00 2018 +0100

    dblib: Rewrite array compression in dbsetmaxprocs

    Just simplify the loop.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sat Oct 6 10:43:33 2018 +0100

    odbc: Fix return from SQLExecDirect if no rows are returned

    If no rows were returned and NOCOUNT option was on SQLExecDirect
    returned SQL_NO_DATA even if a record set was present.
    This caused pyodbc to fail to fetch a row after issueing such
    queries.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Wed Oct 3 17:11:51 2018 +0100

    odbc: Fix SQLGetData if string conversion is involved

    String conversions and SQLGetData does not behave as expected adding
    additional NUL characters or causing infinite loops as SQLGetData
    is not returning any data.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Wed Oct 3 16:15:35 2018 +0100

    odbc: Check correct return from SQLGetData if string conversion is involved

    String conversions and SQLGetData does not behave as expected adding
    additional NUL characters or causing infinite loops as SQLGetData
    is not returning any data.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Wed Oct 3 10:59:32 2018 +0100

    tds: Avoid possible data stuck in the kernel

    TDS protocol is quite latency sensitive. As the protocol is about
    sending requests and waiting for reply having data pending make
    requests slower.
    Resetting and setting again CORK flag (Linux and *BSD systems)
    optimise latency collapsing packets (so reduce bandwidth) however
    if the queue is full this does not cause a flush immediately
    but when the queue will became available the kernel will find
    CORK set so it won't send the partial final request causing delay.
    Setting both NODELAY and CORK solve the issue.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Tue Oct 2 15:35:24 2018 +0100

    odbc: Fix use after free on server disconnection

    This can happen freeing a statement and connection is closed.
    In this case the statement remains attached to the connection
    but then is freed causing dandling pointers.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Tue Oct 2 12:30:18 2018 +0100

    odbc: Add some additional checks for mutexes

    Only compiled in with extra checks enabled.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Tue Oct 2 11:33:01 2018 +0100

    odbc: Fix typo in test comment

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Tue Oct 2 07:45:14 2018 +0100

    Use NTLMv2 by default

    From Windows 7 this is the default. Only old equipment use still
    NTLMv1.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Mon Oct 1 08:58:57 2018 +0100

    odbc: Fix function call on connect test

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sat Sep 22 18:29:10 2018 +0100

    tds: Disable TLS version 1 if GnuTLS is used

    For security disable this version.
    For OpenSSL this was already done.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sat Sep 22 09:11:17 2018 +0100

    tds: Allow to enable TLS version 1.0

    This version was disabled for security reasons however some people
    may need to connect to old setup like Windows XP machine.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sat Sep 8 15:47:34 2018 +0100

    tds: Correct protocol version if too high on MSSQL

    This allows auto detection to be much faster if you need only
    to connect to MSSQL from 2000 version.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Fri Sep 14 08:31:36 2018 +0200

    tds: Remove a warning compiling with MSVC

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Wed Sep 12 09:14:02 2018 +0200

    odbc: Add not prepared queries to putdata test

    Test we can use SQLExecDirect with SQLPutData.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Tue Sep 11 22:03:51 2018 +0200

    odbc: Allow SQLPutData for not prepared queries

    SQLPutData returned error if not preceeded by a SQLExecute (for
    instance if SQLExecDirect was called). The SQLParamData already
    does the necessary checks.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sat Sep 8 15:39:17 2018 +0100

    tds: Simplify product version computation

    Just style change

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sat Sep 8 15:25:52 2018 +0100

    tds: Output product version string for MSSQL 2012 and newer

    This version string is just used for debugging purposes.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sat Sep 8 08:03:01 2018 +0100

    tds: Separate handling of LOGINACK token in a separate function

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Mon Aug 27 15:04:03 2018 +0100

    odbc: Add support for SQL_TYPE_TIME binding parameter

    This fixes GitHub issue #229.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Mon Aug 27 11:44:43 2018 +0100

    odbc: Add test for input DATE type

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Mon Aug 27 11:56:42 2018 +0100

    ci: Revert AppVeyor test order

    Allows to see more complete checks earlier avoiding having to
    wait the CI to test old versions.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Mon Aug 27 11:44:05 2018 +0100

    odbc: Test comment updates

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sat Aug 25 08:13:41 2018 +0100

    dblib: Temporary solution for error reporting with required argument

    Some messages require additional arguments, for instance if a string
    conversion fails.
    The missing arguments currently causes crashes.
    Temporarily pass some dummy arguments to avoid the crash.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Fri Aug 24 20:10:45 2018 +0100

    Use correct precision converting from DATETIME to other time types

    This fixes GitHub issue #228.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sun Aug 5 18:15:15 2018 +0100

    tds: Set use_ntlmv2_specified when use_ntlmv2 is set

    Currently there should be no problems as upper layers parts don't allow
    to mix login and connection settings (login are meant to be edited by
    application, connection are used during connection) but prevent
    potential issues.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Fri Jul 20 19:36:25 2018 +0100

    tds: Handle TABNAME token correctly using protocol 5.0

    The size of the table names are 1 byte, not 2.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Fri Jul 20 15:37:28 2018 +0100

    tds: Remove uninitialised usage

    Introduced by "login.c (SET_FIELD_DSTR, for tds7_send_login): Cap lengths."
    commit.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Fri Jul 20 09:55:23 2018 +0100

    utf8_2: Add a test for some Chinese encoding

    Check a string using Chinese_PRC_CI_AS collation.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Fri Jul 20 09:28:40 2018 +0100

    tds: Change characted encoding for Chinese collation

    Despite many documentation state that the code page is CP936
    Microsoft switched to GB18030 for Chinese encoding.

Author: Aaron M. Ucko <ucko@ncbi.nlm.nih.gov>
Date:   Mon Jun 4 11:13:37 2018 -0400

    Address Clang static analyzer errors, many long-standing.

    There were corner cases in which NULL pointer dereferences, memory
    leaks, use of freed memory, or 0-sized allocations (technically yielding
    undefined behavior) could occur, at least in theory.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Tue Jul 17 08:55:32 2018 +0100

    ctlib: Fix typo in comment

Author: Pavel Ivanov <ivanovp@ncbi.nlm.nih.gov>
Date:   Mon Jun 4 11:13:37 2018 -0400

    blk.c (_blk_get_col_data): Use on-server size for destfmt.maxlength.

    The regular "on client" column data size factors in the maximal number
    of bytes per character (4 in the case of UTF-8), which shouldn't be a
    consideration in this context.

Author: Sergey Satskiy <satskyse@ncbi.nlm.nih.gov>
Date:   Mon Jun 4 11:13:37 2018 -0400

    stream.c (tds_datain_stream_read): Bail if tds_get_n returns NULL.

    Fix uninitialized memory usage in case of broken connections.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Mon Jul 16 08:35:14 2018 +0100

    Fix build of unittests using tds_socket_set_nosigpipe

    Move function to utils instead of libTDS.

Author: Aaron M. Ucko <ucko@ncbi.nlm.nih.gov>
Date:   Mon Jun 4 11:13:37 2018 -0400

    Fix unit tests that manipulate raw network connections.

    * Determine the relevant socket's descriptor by extracting it from
      FreeTDS data structures rather than trying to probe for it, which
      could fail on some platforms.  (NB: Stick with the current approach
      for ODBC tests when using an external driver manager.)

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Wed Jul 11 07:17:57 2018 +0100

    tds: Remove duplicate check

    tds->login validity is already checked.

Author: Aaron M. Ucko <ucko@ncbi.nlm.nih.gov>
Date:   Mon Jun 4 11:13:37 2018 -0400

    net.c (tds_close_socket): Don't try to close invalid sockets.

    Skip the call to CLOSESOCKET if the socket descriptor is already
    invalid.  (Per Valgrind, this situation could apparently sometimes
    happen despite the check for dead connections, at least in 0.95.)

Author: Dmitriy Elisov <elisovdn@ncbi.nlm.nih.gov>
Date:   Mon Jun 4 11:13:37 2018 -0400

    threadsafe.c (tds_get_homedir/_WIN32): Initialize path.

    SHGetPathFromIDListA() tries to count the length of "path", so we have
    to make sure that it has only zeros; otherwise, invalid memory access
    is inevitable.

    Co-Authored-By: Aaron M. Ucko <ucko@ncbi.nlm.nih.gov>

Author: Aaron M. Ucko <ucko@ncbi.nlm.nih.gov>
Date:   Mon Jun 4 11:13:37 2018 -0400

    odbc.c (odbc_process_tokens): Pre-zero done_flags per Valgrind.

    FreeTDS could otherwise log (bits of) these flags uninitialized in
    some circumstances.  (tds_process_tokens evidently doesn't bother
    setting done_flags for result types in which they're irrelevant, but
    logging is unconditional for simplicity.)

Author: Sergey Sikorskiy <ssikorsk@ncbi.nlm.nih.gov>
Date:   Mon Jun 4 11:13:37 2018 -0400

    ctlib: Handle CS_TIMEOUT and CS_LOGIN_TIMEOUT.

    Give CS_CONTEXT login and query timeout parameters (both unlimited by
    default); expose them via ct_config.

    Co-Authored-By: Pavel Ivanov <ivanovp@ncbi.nlm.nih.gov>
    Co-Authored-By: Aaron M. Ucko <ucko@ncbi.nlm.nih.gov>

Author: Aaron M. Ucko <ucko@ncbi.nlm.nih.gov>
Date:   Mon Jun 4 11:13:37 2018 -0400

    Reset block size during automatic TDS protocol version detection

    Always reset block size between probes to accommodate servers
    (notably Sybase 12.5) that don't support large packets.

    Co-Authored-By: Pavel Ivanov <ivanovp@ncbi.nlm.nih.gov>

Author: Aaron M. Ucko <ucko@ncbi.nlm.nih.gov>
Date:   Mon Jun 4 11:13:37 2018 -0400

    Fix unit tests that manipulate raw network connections.

    When simulating a shutdown on Darwin (macOS), take care to enable
    SO_NOSIGPIPE first per tds/net.c's standard setup.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sun Jul 8 15:25:55 2018 +0100

    net.c: Add tds_socket_set_nosigpipe function

    Allows to set this feature easily.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sun Jul 8 15:24:58 2018 +0100

    net.c: Simplify setting of SO_NOSIGPIPE option

    Make preprocessor lines shorter.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sat Jul 7 13:27:08 2018 +0100

    dblib: Improve dbcolinfo and dbtablecolinfo

    Improved function dbcolinfo and dbtablecolinfo in order to set
    TableName field up.
    Add a test for dbtablecolinfo.

    Co-Authored-By: Aaron M. Ucko <ucko@ncbi.nlm.nih.gov>

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sat Jul 7 11:13:15 2018 +0100

    pool: Avoid warning casting time_t to int

Author: Aaron M. Ucko <ucko@ncbi.nlm.nih.gov>
Date:   Sat Jul 7 11:04:41 2018 +0100

    Disable bogus #include directive for "namespace.h"

Author: Aaron M. Ucko <ucko@ncbi.nlm.nih.gov>
Date:   Mon Jun 4 11:13:37 2018 -0400

    odbc: Include wchar.h where present

Author: Aaron M. Ucko <ucko@ncbi.nlm.nih.gov>
Date:   Mon Jun 4 11:13:37 2018 -0400

    tds/u.t./common.c (try_tds_login): Pass base name to tds_set_app.

    Send just the last path component of appname, as truncation is
    otherwise a distinct possibility (especially with TDS 5 and below),
    and the leading path components it would yield may well be less
    informative.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sat Jul 7 07:19:30 2018 +0100

    Test login code cap fields

    Test previous patch works correctly with long strings

Author: Aaron M. Ucko <ucko@ncbi.nlm.nih.gov>
Date:   Mon Jun 4 11:13:37 2018 -0400

    login.c (SET_FIELD_DSTR, for tds7_send_login): Cap lengths.

    MS SQL Server will silently drop the connection if any field exceed
    the limit.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sun Jul 1 09:15:41 2018 +0100

    odbc: Fix string concatenation in Visual Studio

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sun Jul 1 08:03:25 2018 +0100

    odbc: Use always wide string versions for DllRegisterServer

    Make sure we can install in directories not ANSI compatible.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sun Jul 1 08:01:20 2018 +0100

    odbc: Use wsprintf in DllRegisterServer

    No needs to allocate/free memory.
    Also make easier to use always wide version.

Author: Sergey Sikorskiy <ssikorsk@ncbi.nlm.nih.gov>
Date:   Mon Jun 4 11:13:37 2018 -0400

    connectparams.c (odbc_parse_connect_string): Handle client_charset.

    Alias client_charset to ClientCharset for compatibility with NCBI's
    historical patches to 0.64, which didn't support either parameter name.

    Co-Authored-By: Aaron M. Ucko <ucko@ncbi.nlm.nih.gov>

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Fri Jun 29 14:34:35 2018 +0100

    Limit the scope of some variable

    This also avoids some warning about not initialised variables
    for some compilers.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Fri Jun 29 14:35:20 2018 +0100

    build: Do not attempt to distribute a missing file

    This fixes "make dist".

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Fri Jun 29 14:36:12 2018 +0100

    thread: Avoids recursive mutex on Windows

    This behavior is required by cancellation if MARS is not enabled.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Fri Jun 29 14:42:16 2018 +0100

    Remove useless parentesis

Author: Aaron M. Ucko <ucko@ncbi.nlm.nih.gov>
Date:   Mon Jun 4 11:13:37 2018 -0400

    net.c (tds_socket_write): Don't let fake short writes break headers.

    Adjust the extra-checks logic that intermittently makes some writes
    come out 3 bytes short to have an initial length requirement of 11, as
    it can otherwise break up the 8-byte TDS packet header, confusing
    Microsoft SQL Server.  (NB: cancel requests contain no further
    payload, and some other requests could in principle wind up with 1- or
    2-byte tails.  Also, USE_CORK mitigates this problem, but not all
    platforms support that option.)

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Fri Jun 29 09:14:00 2018 +0100

    cmake: Add missing files

    dlist.c is needed only enabling extra checks.
    Add missing CMakeLists.txt files to distribution

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sat Jun 30 18:02:09 2018 +0100

    ci: Fix send dumps to output

    Update directory due to previous commit.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Fri Jun 29 14:33:47 2018 +0100

    dblib: Remove leak from dbsetmaxprocs

    old_list points to the old list of processes, replaced by a new
    array.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Fri Jun 29 09:04:14 2018 +0100

    Execute tests enabling extra internal checks on AppVeyor

    Allows to catch more errors.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Mon May 14 16:32:23 2018 +0100

    Allow nightly packages to be build with CMake

    Fix version parsing from configure files, nightly have a
    "dev.XX.YY.XX" syntax that CMake didn't like it.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sun Apr 15 14:02:57 2018 +0100

    dblib: Fix _get_printable_size for MONEY

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sun Apr 15 13:20:33 2018 +0100

    odbc: Use 4 digit for MONEY format

    This is coherent with Microsoft driver behaviour.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sun Apr 15 09:47:00 2018 +0100

    Allows to format MONEY with 4 decimal digits

    Conversion from MONEY/SMALLMONEY to string lead currently to 2
    decimal digits for historic reasons.
    However they have 4 digit precision and newer ODBC format using
    4 digits instead.
    Allow to format using 4 digits instead of 2.

Author: Jingke Tian <tianjingke@gmail.com>
Date:   Thu Mar 22 21:22:57 2018 +0800

    dblib: Optimise the padding blanks

    In the following case:
    The destlen is too big such like 10Mb, but the srclen/len is just a
    few bytes, will loop almost 10 * 1024 * 1024 times to pad the blank.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Tue Apr 10 22:11:40 2018 +0100

    dblib: Add a test to check various string bindings

    Tests multiple combination of bind type, output sizes and
    conversions.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Tue Apr 10 07:20:14 2018 +0100

    dblib: Remove unneeded return statement

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Fri Apr 6 06:24:49 2018 +0100

    Disable TLS v1.0

    Disable as insecure.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Fri Apr 6 06:19:07 2018 +0100

    Reuse MIN macro

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sun Apr 1 10:28:16 2018 +0100

    Use MSSQL 2016 for AppVeyor tests

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Wed Apr 4 12:53:22 2018 +0100

    Check that we use login timeout as timeout during the login

    This check that previous patch is correct.
    The test was checked against Microsoft driver too (changing
    connection string).

Author: Jerry Clabaugh <jerrycl@tutanota.com>
Date:   Wed Apr 4 18:48:47 2018 +0100

    Use the SQL_ATTR_LOGIN_TIMEOUT value to time out login connections

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sun Jan 28 09:12:07 2018 +0000

    Use bool for always_convert variable

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Tue Apr 3 21:51:59 2018 +0100

    Use always winsocket 2.2 version

    Windows version not supporting this version are not supported anymore
    since many years ago.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Thu Mar 29 15:07:47 2018 +0100

    Use mnemonics for option_flag2

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Tue Mar 27 15:54:05 2018 +0100

    dblib: Style changes in tests

    Remove failed variable if only assigned.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Tue Mar 27 15:51:50 2018 +0100

    Replace calls to fprintf(stdout, ...) with printf

    Just style, shorter.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Mon Mar 26 15:50:14 2018 +0100

    dblib: Update some tests style

    Make some function static.
    Remove failed variable if is only assigned.
    Use fprintf(stderr, ...) for errors, not printf.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Mon Mar 26 15:48:36 2018 +0100

    dblib: Remove unused variables in t0011 test

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Mon Mar 26 15:47:53 2018 +0100

    dblib: Use bool for limited_dest_space in copy_data_to_host_var

Author: Alex Loney <alex.loney@intel.com>
Date:   Fri Mar 9 11:54:28 2018 -0800

    Fix memory leak in tls.c

    Each SSL connection that's created would cause a memory leak (11690 bytes
    in my testing) because OpenSSL keeps a counter of all certs created with
    SSL_get_peer_certificate(). In this case, the certificate was pulled but
    never freed, so when SSL_free() was called, OpenSSL saw that it still has
    an unfreed certificate and would not free the overall structure.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sun Feb 18 17:14:13 2018 +0000

    Remove obsolete $Id comments

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sun Feb 18 14:05:51 2018 +0000

    Add some not on how to build documentation from git distribution

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sun Feb 18 13:32:05 2018 +0000

    Fix a server bug inserting big varchar/varbinary data using BCP

    Recent MSSQL product seems to not handle correctly VARCHAR(MAX),
    NVARCHAR(MAX) and VARBINARY(MAX) sent using bulk operation if
    the data contains the full length.
    This is not coherent with documentation and the way data is sent
    using parameter the way server reply these fields (which should
    have the same format).
    Using unspecified length (as native client application seems to
    do) fix the issue.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Wed Feb 14 23:12:59 2018 +0000

    defncopy: Increase sql_text size to make sure is enough for new servers

    On MSSQL 2016 onward syscolumns.text field is 8000 characters long.
    The sql_text variable that should hold the conversion is 16000 bytes
    which are not enough to convert any converted string.
    Increase a bit to make sure is big enough.
    This is a temporary fix, should be allocated dynamically to make
    sure will continue to work.

Author: fand <fand@axeria-iard.fr>
Date:   Tue Nov 28 13:38:48 2017 +0100

    dblib: fix TDS_DONE_RESULT empty rowsets:

    Change introduced by 34e1f69 can produce an incorrect resultset.
    This patch resets the internal result structure in this case.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Wed Feb 7 22:23:36 2018 +0000

    Use bool for tds_init_secdll

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sun Jan 28 08:33:24 2018 +0000

    odbc: Reuse sql_src_type instead of using application descriptor

    They contains the same value

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sun Jan 28 08:48:34 2018 +0000

    odbc: Change need_data to bool

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sun Jan 28 08:33:09 2018 +0000

    Fix typo in comment

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sat Jan 20 21:10:00 2018 +0000

    odbc: Extend const_params test to check for big integers

    Make sure big integers are handled correctly and not truncated.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sat Jan 20 21:09:12 2018 +0000

    odbc: Send big integers using bigint type, do not truncate to int

    Patch written by Peter Deacon <peterd@iea-software.com>.
    This affected ODBC CALL syntax causing integer truncation.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sat Dec 16 09:22:43 2017 +0000

    appveyour: Avoid to mix DESTDIR and CMAKE_INSTALL_PREFIX

    The combination of the 2 variables in windows is a bit confusing,
    use just the prefix.

Author: Juan Pablo Giménez <jgimenez@velocitypartners.net>
Date:   Fri Nov 24 15:48:38 2017 -0300

    add nossl build on appveyor

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sat Dec 16 08:48:25 2017 +0000

    Remove C99 syntax

    This fox compilation on former C compilers.
    This fix issue #182 on GitHub.

Author: Travis Schafer <tschafer@neucadia.com>
Date:   Tue Nov 28 17:31:25 2017 +0000

    Support TLS versions greater than TLSv1 when using OpenSSL

    ... just like when using GnuTLS

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sun Nov 26 13:15:47 2017 +0000

    build: Remove some warnings compiling with Microsoft libraries

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sun Nov 26 10:56:34 2017 +0000

    pool: Include io.h file under Windows to get some missing declarations

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sun Nov 26 10:26:10 2017 +0000

    cmake: Avoid undefined function warnings using MingW

    MingW provide (v)asprintf functions but don't declare them
    if _GNU_SOURCE is not defined.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sun Nov 26 10:11:49 2017 +0000

    pool: Use unsigned int for packet_len

    Avoids signed/unsigned comparisons.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sun Nov 26 10:10:10 2017 +0000

    pool: SIGHUP is not available on Windows, remove code

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sun Nov 26 10:06:19 2017 +0000

    Minor space style update

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sat Nov 25 19:47:27 2017 +0000

    Add missing Windows distribution files

    Added missing applications.
    On Windows we also package some static library to be included
    inside other projects.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sat Nov 25 14:45:56 2017 +0000

    Use "make install" to build artifacts on AppVeyor

    Make distribution more similar between Unix and Windows.
    This change the directory layout of the file from AppVeyor.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sat Nov 25 14:17:20 2017 +0000

    cmake: Install files in any cases, not only Windows

    Installation phase should be compatible with automake Makefiles.

Author: jalegido <jalegido@users.noreply.github.com>
Date:   Thu Oct 5 20:10:33 2017 +0200

    Eliminated some internal static libraries and headers

    Eliminated tdsodbc_static from public libraries
    Eliminated tds.dll from public libraries
    Eliminated tdsutils from public libraries.

Author: jalegido <jalegido@users.noreply.github.com>
Date:   Sat Sep 30 10:42:22 2017 +0200

    Update CMakeLists.txt to define INSTALL files, targets... in Windows systems.

    Update CMakeLists.txt to define INSTALL files, targets... in Windows systems.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sat Nov 25 14:16:26 2017 +0000

    cmake: Use same version for sybdb library of default build

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Mon Nov 20 23:00:57 2017 +0000

    Always use max size for TEXT/NTEXT/IMAGE

    The network type information for these types allows to specify a
    size. However the definition of the type does not came with a size.
    Former implementation does not allows this type to be output and
    seems to ignore that length and accept any data even if bigger
    (data has also another length field).
    Current implementations allows to have BLOBs as output but not
    using these types.
    All tests passes with these sizes specified so feels safe and at
    the same time does not violate the assertion on other types where
    the data size has to be maximum the column size.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Mon Nov 20 22:51:23 2017 +0000

    tsql: Run last partial command before exiting

    Allow to run commands even without having to specify last GO.
    Make easier to script.
    Users can use Ctrl-C to stop without running the partial command.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Mon Nov 20 22:47:46 2017 +0000

    tsql: Extend usage output

    Print all available options.
    Do not use full name for command, just base name.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Mon Nov 20 22:21:31 2017 +0000

    tsql: Use TDS_RESIZE instead of realloc

    Allows to simplify some code and avoid some variable.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sun Nov 19 00:43:57 2017 +0000

    dblib rpc test: Fix test

    Output BLOB are not supported before protocol 7.2.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sat Nov 18 20:48:39 2017 +0000

    dblib rpc test: Add test for BLOB output

    Test output parameters using BLOB type. Uses a trick calling
    sp_executesql directly (RPC manually created cannot have BLOB
    as types).

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sat Nov 18 20:47:06 2017 +0000

    dblib rpc test: Rework a bit parameter handling

    Allows to terminate parameters will a parameter with NULL as name.
    Use constant for parameter names.
    Set parameters using a new "bind_param" function to allow reuse.

Author: fandrieu <fandrieu@gmail.com>
Date:   Fri Nov 17 16:04:08 2017 +0100

    dblib: rpc blob out: common _dbcoldata function

    dbdata and dbretdata handle the same column structure.
    The common logic for returning data is now in an internal
    function _dbcoldata.

Author: fandrieu <fandrieu@gmail.com>
Date:   Fri Nov 17 15:46:32 2017 +0100

    dblib: rpc blob out: merge dbdata into dbretdata

    dbretdata is updated with the logic from dbdata.

Author: fandrieu <fandrieu@gmail.com>
Date:   Wed Nov 15 01:55:18 2017 +0100

    dblib: rpc blob out: minimal fix

    dbretdata doesn't handle blob data,
    this patch returns textvalue if needed.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Fri Nov 17 14:21:27 2017 +0000

    Handle routing environment

    On routing environment (which should arrive during login) client
    should reconnect to the given server.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Thu Nov 16 23:24:44 2017 +0000

    Remove only assigned connected_addr field

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Fri Nov 17 17:20:38 2017 +0000

    dblib: Add support for specifying read-only intent

    Patch from Joshua Lang.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Tue Oct 31 08:47:02 2017 +0000

    tds: Set keep alive values under Windows

    These settings are necessary for Azure cloud due to firewall
    rules (long queries will cause disconnections).

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Tue Oct 31 08:45:37 2017 +0000

    tds: Use mnemonics for keep alive values

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Fri Oct 27 16:17:20 2017 +0100

    ctlib: Allows to send dynamic commands without parameters

    In case of no parameters paraminfoalloc returns NULL,
    handle it not as an error.
    Problem reported by Michael Becker.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Thu Oct 12 08:43:40 2017 +0100

    Fix for compatibility

    Some C compiler does not like declaration in for statements.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Thu Oct 12 06:54:57 2017 +0100

    ctlib: Fix typo in comment

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sun Sep 10 22:33:47 2017 +0100

    Add test to test long binary type on MS SQL

    Test from GitHub issue #130.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Tue Oct 10 06:05:14 2017 +0100

    tds: Empty record set if message received outside record set

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Tue Oct 10 06:26:51 2017 +0100

    dblib: Fix typo in comment

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Tue Oct 10 05:07:02 2017 +0100

    apps: Set database name before connecting

    This fix connection to specific databases on Azure

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Mon Oct 9 22:10:35 2017 +0100

    bsqldb: Set database name before connecting

    This fix connection to specific databases on Azure

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Mon Oct 9 22:10:57 2017 +0100

    dblib: Remove useless check

    tds_socket is already checked in CHECK_CONN.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Thu Oct 5 10:44:03 2017 +0100

    tds: Use better types for TDS_BYTE_SWAP

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Thu Oct 5 10:43:28 2017 +0100

    tds: Improve is_end_token macro

    All constant are in a range so check range.
    Not used much and recent compilers probably can detect
    it but helps old compilers.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Thu Oct 5 07:55:40 2017 +0100

    tds: Use less space for bool type

    Nowadays bool should always be defined but in case is
    not use just a single byte like standard type usually does.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Thu Oct 5 07:51:58 2017 +0100

    tds: Use more bool type

    Replace some TDS_TINYINT/int with proper bool type.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Thu Oct 5 07:11:03 2017 +0100

    tds: Change bulk_query and has_status fields to bool

    Mainly style update.
    Make code more readable.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Thu Oct 5 07:08:15 2017 +0100

    tds: Fix typo in comment

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Wed Oct 4 08:32:41 2017 +0100

    build: Update some Makefile style

    Put data files as sources to make easier to understand relationship.
    Use a GENERATED_HEADER_FILES macro instead of repeating file
    names.
    Separate source files into different lines to reduce diffs.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sat Sep 30 23:02:56 2017 +0100

    Update compile error message

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sat Sep 30 22:25:16 2017 +0100

    ctlib: Add CS_BIGTIME/CS_BIGDATETIME type declarations

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Thu Sep 28 09:11:27 2017 +0100

    ctlib: Remove leak in all_types test

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Thu Sep 21 21:11:48 2017 +0100

    ctlib: Add a test to test we support any type from the server

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Tue Sep 26 10:09:27 2017 +0100

    tds: Fix typo in comment

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Fri Sep 22 12:28:30 2017 +0100

    ctlib: Support Microsoft DATE/TIME types

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Thu Sep 21 10:21:03 2017 +0100

    ctlib: Format unit tests Makefile to reduce diff sizes

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Thu Sep 21 21:10:15 2017 +0100

    tests: Use better set of values to test some types

    This allows to better distinguish the string used
    to initialize the type during the tests.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Thu Sep 21 21:02:41 2017 +0100

    tests: Use proper data pointer copying column data

    tds_all_types was providing some invalid data copying some
    pointer instead of data referring to.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Thu Sep 21 18:23:06 2017 +0100

    ctlib: Support missing Sybase types in _ct_get_client_type

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Thu Sep 21 20:57:11 2017 +0100

    ctlib: Fix wrong type for TIME and DATE from _ct_get_server_type

    This caused data to be converted in the wrong way.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Thu Sep 21 07:35:04 2017 +0100

    odbc: Improve odbc_sql2tds documentation

    Update parameter names.
    Add documentation for parameters.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Wed Sep 20 11:20:37 2017 +0100

    tds: Fix possible reading buffer overflow converting from char to float

    Row column data are not NUL terminated so make sure we use
    terminated strings.
    This patch also improve checking format errors converting
    float numbers using strtod instead of atof.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Mon Sep 18 13:20:37 2017 +0100

    odbc: Add a test to attempt to test any type from server

    Currently is testing if we can get metadata information for
    any type and attemps to convert these data to any supported
    type (not testing results).

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Wed Sep 20 07:08:24 2017 +0100

    odbc: Extract code to print sql C type mnemonics

    Allow to reuse this table.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sun Sep 17 20:47:09 2017 +0100

    odbc: Move some code from odbc_tds2sql to odbc_tds2sql_col

    curcol is NULL is not called from odbc_tds2sql_col so move code
    to deal with columns in odbc_tds2sql_col.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Wed Sep 20 06:28:45 2017 +0100

    tds: Better type initialization in convert test

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sun Sep 17 20:48:19 2017 +0100

    tds: Add small comment to tds_set_column_type

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Mon Sep 18 13:46:42 2017 +0100

    tds: Fix previous commit

    Add missing file to common library.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Mon Sep 18 12:55:01 2017 +0100

    tds: Add missing test to CMake

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Mon Sep 18 12:50:24 2017 +0100

    odbc: Format unit tests Makefile to reduce diff sizes

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Mon Sep 18 11:59:17 2017 +0100

    fisql: Fix umask call

    umask is supposed to help remove some permission mask, not to
    filter them.
    A mask of 0600 don't allow the current used to edit the file.
    What is really wanted here is to prevent other users to access
    this file we are going to edit.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sun Sep 17 15:49:59 2017 +0100

    tds: Write a test to check all column type can be declared

    Based on convert test write some helper to generate all possible
    column types.
    Write a test to check we can declare all column types.
    Declarations (like "INT" for a SYBINT4 column type) are used
    for bulk and datacopy tool.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sun Sep 17 15:49:59 2017 +0100

    tds: Ignore autogenerated file

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sun Sep 17 20:00:09 2017 +0100

    tds: Make unit tests Makefile more similar to CMake and other makefiles

    Uses a common library.
    Reindent TESTS macro to make diff between version smaller.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sun Sep 17 17:37:45 2017 +0100

    odbc: Simplify odbc_tds2sql call

    Most of the times this function was called providing a column
    and some parameters were extracted from this column using the
    same code.
    Provide odbc_tds2sql_col and odbc_tds2sql_int4 (the other case,
    to return result from a store procedure).
    This allows to reuse code for the normal case in odbc_tds2sql_col.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sun Sep 17 14:32:06 2017 +0100

    Fix tds_clrudt_put_info_len

    Currently we send 3 bytes so the generic function was not
    correct for this type.
    Currently there's no way we can send this type but better
    to be prepared.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sun Sep 17 17:34:16 2017 +0100

    tds: Add missing declaration for Sybase type

    Declarations are used for bulk copy and datacopy utility.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sat Sep 16 20:13:54 2017 +0100

    tests: Avoid "may be used uninitialized" warning

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sat Sep 16 20:13:18 2017 +0100

    tests: Do not print statistics if no iterations are done

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sat Sep 16 12:53:19 2017 +0100

    ctlib: Reduce indentation in _ct_bind_data

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sat Sep 16 12:52:29 2017 +0100

    ctlib: Avoid using a temporary variable to compute destination address

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sat Sep 16 13:52:48 2017 +0100

    ctlib: Do not mix 2 set of results

    Variable results was used to store 2 states ending up
    with possible wrong result from _ct_bind_data.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sat Sep 16 12:51:49 2017 +0100

    Avoid mixing different column information

    Was possible that for multiple column recordset the binding
    were reused between columns combining row binding with empty ones.
    This could cause some wrong metadata information to be returned.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Wed Sep 13 15:48:03 2017 +0100

    build: Fix wrong AC_LANG_SOURCE usage

    This macro requires a single parameter.
    Usage confused with AC_LANG_PROGRAM.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Wed Sep 13 07:12:28 2017 +0100

    tds: Set pending state after flushing

    This prevent possible race condition using the same connection
    on multiple thread.
    This should not happens as sending a query and getting the
    result should be done in the same thread but is safer that way.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Wed Sep 13 05:37:55 2017 +0100

    tds: Use bool instead of int for tds_cursor_check_allocated

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sat May 20 14:57:02 2017 +0100

    Do not allow some obsolete protocol version to be used as default

    These versions are really old, not much supported and potentially
    using as fallback can result in less secure configurations so
    allow them only if explicitly set for specific connections.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Wed Sep 13 04:47:57 2017 +0100

    odbc: Use ODBC_CONFIG to call odbc_config executable during configure

    Instead of trying to call odbc_config directly use the variable
    defined by configure.

Author: Michael Orlitzky <michael@orlitzky.com>
Date:   Fri Aug 18 17:00:18 2017 -0400

    configure.ac: autodetect unixODBC when --with-unixodbc=yes.

    The default value passed to --with-unixodbc (that is, if you don't
    pass it an argument) is "yes". Currently, the build system will treat
    "yes" as a path and fail to find unixODBC there. This commit changes
    that case, and uses the "odbc_config" executable to find the unixODBC
    installation prefix if possible.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Mon Sep 11 12:17:30 2017 +0100

    tds: Update query documentations

    typos.
    null terminated -> NUL-terminated.
    Remove function names in documentation if not necessary.
    Always use ucs2le instead of mix ucs2 and ucs2le.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sun Sep 10 22:01:13 2017 +0100

    odbc: Add some documentation for prepared statements

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sun Sep 10 22:00:37 2017 +0100

    odbc: Fix typo in comment

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sun Sep 10 22:00:21 2017 +0100

    odbc: Change some parameters to bool

    Easier to read the code.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Mon Sep 4 07:25:27 2017 +0100

    dblib: Reduce a GCC switch warning for dblib_coltype function

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Wed Aug 31 16:26:32 2016 +0100

    Log some more information if OpenSSL connection fails

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Mon Sep 4 23:13:20 2017 +0100

    Add files to add distribution using HTTP on the server

    Files from
    https://css-tricks.com/snippets/php/display-styled-directory-contents/

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Tue Sep 5 11:25:44 2017 +0100

    dblib: Avoid passing temporary buffers to lookup debug functions

    prdb* functions are used for logging to print the mnemonic
    instead of the numeric value. The buffer provided were used
    to avoid threading issues with static buffers.
    However most of time we also write the numeric value making
    useless to have the value printed twice.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Tue Sep 5 11:14:34 2017 +0100

    Remove a duplicate test inside perl script

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Tue Sep 5 11:14:03 2017 +0100

    Update file name in comment inside a perl script

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Thu Aug 27 09:20:36 2015 +0100

    odbc: Add odbc_set_dstr macros to make easier to set strings

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Tue Sep 5 10:10:21 2017 +0100

    dblib: Add some function documentation

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Thu Jan 29 19:57:14 2015 +0000

    dblib: Write a function to check the buffer

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Mon Sep 4 08:42:37 2017 +0100

    odbc: Reuse a type macro

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Mon Sep 4 07:41:06 2017 +0100

    Fix type check for numeric types

    Fix bug introduced 2 commits ago.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Mon Sep 4 07:23:04 2017 +0100

    dblib: Returns SYBTEXT from dblib_coltype for SYBUNITEXT and SYBMSXML

    dblib does not support these extended types so return them as
    text.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Mon Sep 4 07:05:19 2017 +0100

    Add binary flag for types

    Avoid to use a switch to detect if a column is binary.
    To avoid extending the size of flags I used the NUMERIC flags
    value which is currently unused.

    You can use a command similar to this to see the changes in the
    cvs file:

    $ git diff --word-diff-regex=';|[^[:space:]]' HEAD^ -- misc/types.csv

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Tue Jun 27 07:01:09 2017 +0100

    reduce indentation in tds_config_env_tdsdump

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Fri Sep 1 20:31:06 2017 +0100

    fisql: Reuse function to fill line buffer

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Fri Sep 1 20:30:06 2017 +0100

    fisql: Simplify vi command

    "command" variable in vi_cmd is already "vi" or editor.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Fri Sep 1 20:28:34 2017 +0100

    fisql: Fails nicely on vi command

    Give error if cannot open the file again.
    Also try to reset file permission as it seems that in some systems
    mkstemp set permission to 000.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Fri Sep 1 19:56:12 2017 +0100

    fisql: Ignore commands inside comments

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Fri Sep 1 19:31:58 2017 +0100

    fisql: Separate code to read command buffer

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Fri Sep 1 19:12:21 2017 +0100

    fisql: Separate readfile command

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Fri Sep 1 19:07:45 2017 +0100

    fisql: Separate system command

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Fri Sep 1 19:04:44 2017 +0100

    fisql: Avoid to leak lines

    When command were executed lines were not freed.
    readline return a buffer from malloc() so must be freed.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Fri Sep 1 19:03:22 2017 +0100

    fisql: Exit when no line is readed

    Avoid to assign line to a constant string.
    This prepare for next patch.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Fri Sep 1 18:56:01 2017 +0100

    fisql: Avoid to allocate memory for command and fix some leaks

    Save separator and restore if needed.
    Some path in the code did not free firstword correctly.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Fri Sep 1 18:50:52 2017 +0100

    fisql: separate vi command into a separate function

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Fri Sep 1 18:35:36 2017 +0100

    fisql: Use return instead of exit if possible

Author: Kokan <peter.kokai@balabit.com>
Date:   Wed Aug 30 20:28:50 2017 +0200

    Ctlib: ct_options handle TEXTSIZE command

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Tue Aug 22 17:39:41 2017 +0100

    Fix support for LibreSSL

    Tested with a FreeBSD machine.

Author: Michael Orlitzky <michael@orlitzky.com>
Date:   Mon Aug 21 11:04:25 2017 -0400

    configure.ac: crash if both --with-iodbc and --with-unixodbc are used.

Author: Michael Orlitzky <michael@orlitzky.com>
Date:   Sat Aug 19 16:54:32 2017 -0400

    doc/userguide.sgml: update the documentation for --with-iodbc=yes.

    Now that we have an argument-free version of --with-iodbc, update the
    user guide to mention that the directory argument is optional, and
    that pkg-config will be used to locate the iODBC installation in that
    case.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Tue Aug 22 03:44:03 2017 +0100

    Handle LibreSSL better

    LibreSSL define OPENSSL_VERSION_NUMBER even if is not ABI
    compatible with OpenSSL.
    Try to detect some feature using configure scripts.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sun Aug 20 10:27:39 2017 +0100

    doc: Fix userguide generation

    Due to recent changes generation were not able to find some
    include files.
    This as the path were relative to the link in build directory
    that was removed.
    Instead of creating again the link in the final directory create
    them in the doc build directory to the files to include are all
    in the same directory making easier to understand.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sun Aug 20 09:49:29 2017 +0100

    doc: Use absolute paths in order to remove hacky path computation

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sun Aug 20 09:48:53 2017 +0100

    doc: Minor Makefile style update

    Remove some subprocess generation if not needed

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sun Aug 20 09:47:18 2017 +0100

    doc: Remove some debugging line from Makefile

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sat Aug 19 13:53:26 2017 +0100

    Remove CVS $Id on most files updated after the date specified

    This to avoid inconsistencies.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sat Aug 19 12:25:34 2017 +0100

    doc: Use some SGML entity for iODBC and unixODBC

    Make iODBC and unixODBC more consistent in the source.
    Also more concise to write.
    I split the long lines so to make diff output more helpful in
    the future. Currently all sentences in a paragraph are in the
    same line which make the diff very unreadable unless you add
    some options.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sat Aug 19 12:13:08 2017 +0100

    Update version control system type comment in configure.ac

    We moved to git long time ago.

Author: Michael Orlitzky <michael@orlitzky.com>
Date:   Sun Aug 13 11:46:38 2017 -0400

    configure.ac: autodetect iODBC when --with-iodbc=yes.

    The default value passed to --with-iodbc (that is, if you don't pass
    it an argument) is "yes". Currently, the build system will treat "yes"
    as a path and fail to find iODBC there. This commit changes that case,
    and uses pkg-config to find the relevant information about iODBC when
    --with-iodbc=yes.

    This fixes the detection of iODBC on systems where its include files
    are located in /usr/include/iodbc (in particular), and addresses
    Github issue 142.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Fri Aug 18 15:03:00 2017 +0100

    Fix some minor issues with last patches

    GLOBAL_LDFLAGS definition in Makefile.am give warning on
    some system.
    Also on some systems compiling with --with-odbc-nodm
    tests fail to link correctly due to different libraries order.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Fri Aug 18 14:24:12 2017 +0100

    Avoid to override global LDFLAGS just for ODBC libraries

    Use the proper ODBC_LDFLAGS instead

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Fri Aug 18 14:17:35 2017 +0100

    Rename ODBC*LIBS to ODBC*_LDFLAGS

    Make clear these variable could contain any linker flags,
    not only libraries.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Fri Aug 18 13:34:01 2017 +0100

    Do not use LIBS/LDADD/LIBADD in Makefiles

    These variables are intended to list only libraries to link
    however some variables we use contains also some linker flags.
    Prefer to use LDFLAGS as this is supposed to contain any linker
    flag.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Fri Aug 18 13:41:27 2017 +0100

    Remove ODBCNODMLIB from build definition

    This variable was used only with ODBCLIB however one of ODBCLIB
    or ODBCNODMLIB was defined.
    Remove ODBCNODMLIB to make Makefiles more simple.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Thu Aug 17 21:23:37 2017 +0100

    Do not attempt to detect iODBC or unixODBC if explicitly disabled

    Now that we can use --without-iodbc and --without-unixodbc we
    should not attempt to autodetect these libraries if disabled.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sun Aug 13 09:56:29 2017 +0100

    odbc: remove small leak if ApplicationIntent parameter is invalid

Author: Michael Orlitzky <michael@orlitzky.com>
Date:   Fri Aug 11 16:45:15 2017 -0400

    configure.ac: support "without" versions of three ./configure flags.

    The --with-iodbc, --with-unixodbc, and --with-odbc-nodm flags all use
    the standard AC_ARG_WITH macro. The resulting ./configure script
    accepts e.g. --without-iodbc to indicate that the user does not want
    to enable iODBC, and in place of a path the word "no" is placed into
    the $with_iodbc variable. The current configure.ac doesn't handle that
    and instead treats "no" as a path. This commit updates configure.ac to
    ignore "no" as the value of those three flags.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sat Aug 12 12:36:38 2017 +0100

    expand string_to_result macro

    The macro was used to reduce change and avoid some typing
    but src/tds/convert.c file has been quite stable for a while
    so removing the macro could help people reading the code.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Wed Aug 9 10:44:52 2017 +0100

    Fix a compatibility issue caused but _res macro definition

    Some public header defines _res macro (resolv.h header on
    some Linux).
    For compatibility reasons in sybdb.h (which is installed)
    we just undefine the offending macro.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Wed Aug 9 10:42:27 2017 +0100

    replacements: Avoid macro redefinitions

    Some public headers already redefine strlcpy and strlcat.
    As we decided to use our internal implementation undefine
    the old macro to make sure we use our versions.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Tue Aug 8 09:41:23 2017 +0100

    odbc: Check RPC name parsing

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Tue Aug 8 09:41:03 2017 +0100

    odbc: Fix parsing of RPC name

    RPC name was not parsed correctly causing invalid calls.
    This affected also SQLTables which try to call an internal
    store procedure using catalog name.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Wed Aug 2 21:11:22 2017 +0100

    odbc: fix SQLTables query build if SQL_NTS are used

    In the case SQL_NTS where used for schema and table and catalog
    was a pattern string (containing wildcards) instead of calling
    sp_tableswc the sp_tables was called causing invalid results.

    This fixes issues #136.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Wed Aug 2 15:29:26 2017 +0100

    Fix typo in comment

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Mon Jul 31 15:12:14 2017 +0100

    Avoid warning formatting string the uses process identifier

    On some system is defined as long but a normal 32 bit int is
    enough on all known and supported systems.
    A warning was triggered by MinGW compiler on 64 bit systems.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Mon Jul 31 14:48:44 2017 +0100

    bsqlodbc: Make it compiler using MinGW

    Some required definition are not included using MinGW for some
    reasons.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Mon Jul 31 11:53:34 2017 +0100

    pool: Avoid warning compiling under Windows

    sighup_handler is not used on Windows so don't define it to
    avoid possible compiler warning.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Mon Jul 31 14:09:54 2017 +0100

    Update alloca.h file

    This file is taken from autoconf documentation.
    Updating remove some warning in some environment (like MinGW).

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Mon Jul 31 11:34:03 2017 +0100

    Do not use 6.1 (Windows 7) definitions in tls.c

    The functions required (like inet_pton) requires only version 6.0
    (Windows Vista).
    Does not change much in the generated code but this prevent
    to use Windows 7 functions without warnings during compiling
    causing potentially Windows Vista users to generate libraries
    that cannot be loaded.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Mon Jul 31 10:07:18 2017 +0100

    Fix compilation issue

    ETIMEDOUT was not defined in some configurations.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sun Jul 30 13:03:22 2017 +0100

    Define ETIMEDOUT on old Windows environments

    Visual Studio 2008 do not define this constant.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sun Jul 30 12:57:24 2017 +0100

    Fix compilation using former Windows versions

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sun Jul 30 12:47:13 2017 +0100

    Do not mix WSAETIMEDOUT and ETIMEDOUT on Windows

    The two constants have different values on Windows so
    avoid problems checking them.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sun Jul 30 09:18:23 2017 +0100

    Turn MARS compilation on by default

    The code has been stable for a long time, no reason to
    have it turned off by default.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sat Jul 29 08:07:47 2017 +0100

    Fix compilation error if MARS is enabled

    Code use TDSLOGIN->mars to track if MARS should be initialised
    so the TDSLOGIN pointer cannot be constant.

Author: Lars Kanis <larskanis@gmail.com>
Date:   Thu Jul 6 21:11:54 2017 +0200

    Enable inet_pton() definition in MINGW i686 build

    inet_pton() is not included by default in i686 build, because it was new in Windows Vista.

    This fixes the issue very similar to getaddrinfo() in sspi.c.

Author: Lars Kanis <larskanis@gmail.com>
Date:   Wed Jul 5 18:05:59 2017 +0200

    Fix out-of-tree build on MINGW.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Mon Jul 3 19:01:17 2017 +0100

    Fix unencrypted login with Sybase

    Do not declare we support encryption if is disabled.
    This regression was introduced in
    f0400f56a34ce13fd3ece82cdcc21177a0715a8d ("Use different
    encryption level for Sybase and MSSQL").

    Reported-by: Fredy Paquet <fredy@opag.ch>

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Mon Jun 26 16:47:07 2017 +0100

    Do not change login structure logging in

    This make automatic protocol detection behave differently
    than not automatic.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Tue Jun 27 07:01:44 2017 +0100

    Allows to use constant string in string functions

Author: Ondřej Hošek <hosek@edvlab.tuwien.ac.at>
Date:   Sat Jun 17 20:52:49 2017 +0200

    dblib: dbsprhead: tdsdump_log buffer address only

    The buffer passed to dbsprhead might be uninitialized; printing it as
    a string doesn't make much sense. Output its address (using "%p")
    instead.

Author: Ondřej Hošek <hosek@edvlab.tuwien.ac.at>
Date:   Sat Jun 17 20:49:09 2017 +0200

    dblib: dbsprhead: adjust buf_len by name length

    After copying the column name into the buffer in dbsprhead, reduce
    buf_len, which is used to guard against writing outside the buffer, by
    the length of the column name.

Author: Ondřej Hošek <hosek@edvlab.tuwien.ac.at>
Date:   Sat Jun 17 19:51:04 2017 +0200

    tds: Escape left brace in regex in encodings.pl

    Since Perl v5.22.0, unescaped left braces ('{') in regexes are
    deprecated; since Perl v5.26.0, they are forbidden in most cases.
    Escape such a case in encodings.pl using a backslash.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sun Jun 11 09:04:41 2017 +0100

    ctlib: fix type cast

    The argument is a CS_BOOL, not a char. This worked only on little
    endian platforms.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sun Jun 11 08:49:33 2017 +0100

    tds: fix typo in some error log

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sun Jun 11 08:48:03 2017 +0100

    dblib: use dblib type instead of C one

    This make code a bit more coherent.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sun Jun 11 08:47:25 2017 +0100

    dblib: remove some signed/unsigned comparison

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Thu Jun 8 13:53:07 2017 +0100

    support Linux system < 2.6.27 having eventfd

    Before this version eventfd didn't accept and have flags support.
    Try to create the eventfd without flags and then set later.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Wed Jun 7 00:02:07 2017 +0100

    cmake: Compile pool

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Wed Jun 7 09:26:05 2017 +0100

    appveyor: Add missing tools and include to artifacts

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Wed Jun 7 09:24:07 2017 +0100

    pool: Fix some compatibility with Windows

    Do not include Unix headers.
    Call proper socket portability wrapper.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Tue Jun 6 22:23:51 2017 +0100

    pool: Allows to specify different login for server side

    This allows clients to use normal logins while connecting to
    server with different account. Can be used for instance to
    use domain server logins on server side or to use dummy
    account to connect to the pool.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Tue Jun 6 21:59:57 2017 +0100

    pool: Avoid crash if password setting is missing

    Test on user.c was causing a crash due to NULL dereference.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Tue Jun 6 08:04:14 2017 +0100

    Fix ct_options for CS_OPT_ARITHIGNORE and CS_OPT_ARITHABORT

    The two options required just normal boolean processing.

    This problem was reported by Matt Meissner.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Wed May 24 15:51:53 2017 +0100

    Fix a leak in bcp_getl test

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Wed May 24 14:46:43 2017 +0100

    Fix bulk copy setting

    By default bulk copy is enabled but the usage of bulk_copy
    field in TDSLOGIN where a bit weird.
    Make clear and document that bulk_copy != 0 means enabled.
    Also fix a mismatch between BCP_SETL and bcp_getl.
    This fix bug #119 ("BCP_SETL() and bcp_getl() have inconsistant API").

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Wed May 17 15:28:56 2017 +0100

    Fix compile if TLS is disabled

    tds_ssl_deinit have to be defined including the proper header.
    This as if TLS is disabled the function is defined in the header.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Wed May 3 15:56:12 2017 +0100

    Move tdsstring.c to src/utils

    Not really dependent in TDS stuff so move to utils.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Wed May 3 14:52:03 2017 +0100

    Separate some generic macro into a new macros.h header

    Allow to use inside src/utils (which should not be based on any
    specific TDS files).

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sun Apr 30 11:57:49 2017 +0100

    Fix very big login packet using MSSQL

    If login packet is really big to split into multiple TDS packets
    and is encrypted MSSQL only encrypt the first TDS packet, the others
    are not encrypted.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Tue May 2 17:10:22 2017 +0100

    Define proper visibility for tds_invalid_funcs symbol

    This allows to detect if symbol is not defined in output
    libraries.

Author: George Carrette <gcarrette@wayfair.com>
Date:   Tue May 2 09:55:31 2017 -0400

    Fix encryption = off treated like encryption = request in freetds.conf

    Also updated the documentation to describe how the encryption default
    depends on the tds version. Existing users of encryption should be ok,
    since TDS_ENCRYPTION_DEFAULT always becomes either TDS_ENCRYPTION_OFF
    or TDS_ENCRYPTION_REQUEST.

    For https://github.com/FreeTDS/freetds/issues/110

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sun Apr 30 12:22:47 2017 +0100

    Increase conditionals test coverage

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sun Apr 30 12:19:00 2017 +0100

    Increase hash test coverage

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sat Apr 29 22:57:00 2017 +0100

    Prevent invalid record parameter

    This can happen if invalid data are sent.
    For instance if server send some parameter using PARAMFMT followed
    by old style PARAM. You potentially get a result which is half
    composed by a row and half by separate data.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sat Apr 29 22:27:47 2017 +0100

    Assure SELECT @@PID query returns a normal row

    Invalid server response can cause a different row type
    to be returned causing a NULL pointer dereference in tds_set_spid.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sat Apr 29 21:14:46 2017 +0100

    Add an invalid data type to avoid not initialized pointer to functions

    Always initialize TDSCOLUMN->funcs to avoid NULL pointer dereferences.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sat Apr 29 19:03:46 2017 +0100

    Use different encryption level for Sybase and MSSQL

    For compatibility MSSQL have to default to REQUEST the old
    default (OFF) was threated like REQUEST so there is no issue
    to change it.
    Sybase instead should not use encryption as on Sybase before
    version 16 encrypted login is not working unless specifically
    configured.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sat Apr 29 18:53:18 2017 +0100

    Do not send clear text password if encryption login is required on Sybase

    Password should just be sent encrypted, no reason to send also
    not encrypted.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sat Apr 29 12:47:50 2017 +0100

    Define and use mnemonics for Microsoft encryption protocol

    Make code easier to read.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sat Apr 15 15:49:12 2017 +0100

    Check server is not returning negative values for column sizes

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sun Apr 2 15:28:07 2017 +0100

    Handle errors getting datatype meta information

    This prevent server to send wrong encoded types

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sat Apr 15 18:11:53 2017 +0100

    dbsetopt: Do not set factive if we were not able to set the value

    Handle better errors inside the function.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sat Apr 15 15:48:47 2017 +0100

    Check dbsettime result on dblib timeout test

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sat Apr 15 15:20:05 2017 +0100

    Detect and handle some protocol problem

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sat Apr 15 15:18:48 2017 +0100

    Avoid some assert to be triggered by server

    Instead of crashing the client detect the protocol problem
    and close the connection.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sat Apr 15 13:49:35 2017 +0100

    Use field name instead of an array in tds_process_colinfo

    Make code more readable using names instead of indexes.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sat Apr 15 13:43:40 2017 +0100

    Do not write 0x prefix twice

    %p format string already print 0x prefix.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sat Mar 18 16:11:53 2017 +0000

    Remove a compiler warning

    Compiler is detecting that src can be used uninitialized.
    This is true but actually not causing any harm as when this happens
    size == 0 so src is not accessed.
    However even tools like Coverity can detect this as an issue so
    remove the warning changing a bit the code.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Fri Mar 17 16:26:42 2017 +0000

    Add arguments to the bound utility

    Avoids the need to recompile it.
    I had to send the Windows compiled version to an user for some
    test so this change was required.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sat Mar 11 22:41:34 2017 +0000

    Windows compatibility for bounce utility

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sat Mar 11 17:59:07 2017 +0000

    Minor update to bounce utility

    This utility is an old man-in-the-middle to check proprietary
    login packet if server uses encryption.
    - update gnutls style;
    - update default ciphers;
    - remove unused variable.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Fri Mar 10 21:12:56 2017 +0000

    freebcp: Print error messages to stderr, not normal output

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sat Mar 11 17:37:42 2017 +0000

    Fix typo in CMake check file

    Fix asprintf detection if this is not possible to detect with
    normal CMake check macro.

Author: Attila Horváth <ahorvath@fusioneer.com>
Date:   Fri Mar 10 15:22:50 2017 +0000

    Do not override per-connection timeout settings in dbsettime

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sat Feb 25 18:33:36 2017 +0000

    Ignore libcommon.a generated file

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sat Feb 25 18:29:33 2017 +0000

    Support SQL Anywhere connections

    SQL Anywhere does not support multiple databases and USE statement
    so don't send the request to avoid connection failures

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Tue Feb 14 11:20:03 2017 +0000

    Provide compatibility with OpenSSL 1.1

    OpenSSL 1.1 changed quite a lot API since 1.0.
    Update code to make it compatible with either versions.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Tue Feb 14 11:16:33 2017 +0000

    Remove some possible warnings

    Cast tls_session and tls_ctx to proper type to avoid some
    possible warnings (not usually enabled by default).

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Tue Feb 14 11:14:21 2017 +0000

    Remove useless assignment

    tds variable is not used.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Mon Feb 6 14:41:18 2017 +0000

    Fix SSPI connections using protocols >7.1

    Do not check for a minimal size on the SSPI data received from the
    server.
    This fix some connection problems using protocols >7.1.

    Reported-by: Ladislav Karrach <lacak@zoznam.sk>

Author: Dave Beaudet <beaudet@gmail.com>
Date:   Fri Feb 3 21:37:48 2017 +0000

    Added support for configurable openssl cipher list

    Added new option to freetds.conf for specifying the cipher list
    supplied to openssl. This is necessary for several reasons:
    1. organizations that need more control over the specifics of
      encrypted connections
    2. to overcome the occasional incompatibility (sometimes intermittent)
       between open source encryption libraries and Microsoft's
       implementations. For example, several users reported intermittent
       connection problems where roughly 0.5% of connection attempts would
       fail for some reason. Removing specific key exchange protocols
       provided relief in at least one case.
    3. The cipher list can be specified in more generic terms, e.g.
       "HIGH:!SSLv2:!aNULL:-DH" rather than having to list specific cipher
       configurations that are otherwise subject to becoming outdated as
       the encryption landscape changes.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sun Jan 29 21:11:00 2017 +0000

    Reuse macro to check for server blob types

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sun Jan 29 20:57:34 2017 +0000

    odbc: Fix uni(var)char type metadata

    Make sure metadata are reported correctly.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sun Jan 29 20:58:53 2017 +0000

    odbc: Fix uni(var)char from server

    Make sure we can read these types correctly.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sun Jan 29 20:45:44 2017 +0000

    odbc: Improve support for Sybase UNIVARCHAR

    Send these types as Unicode using long binary format.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sun Jan 29 20:44:20 2017 +0000

    Log server column types for Sybase

    Help debugging instead of printing canonical type.
    It's not always easy to read these information from the
    hexadecimal dump.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sun Jan 8 16:28:21 2017 +0000

    Pass large objects using SYBBLOB for TDS 5.0

    SYBBLOB allows to pass large objects using streaming types.
    This allows high flexibility as data can be converted while
    sending without doing all conversion.
    Currently the type is only used sending data to server.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Wed Jan 4 20:17:31 2017 +0000

    Do not send wide parameter if not necessary

    This can prevent some problem is a gateway us used.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Wed Jan 4 20:16:43 2017 +0000

    Remove test for Sybase 12.5

    The version is quite old and not worth supporting it.
    Also I cannot find an updated version and previous patch cause
    a crash on my installation due to a server bug.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Tue Jan 3 20:22:14 2017 +0000

    Allow to disable odbc.ini override

    By default when ODBC tests are executed ODBC system settings
    are overrided to point to our library version.
    This make a bit harder to test proprietary libraries like
    MS or SAP ones.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sat Dec 24 10:36:58 2016 +0000

    Fix TLS hostname validation using OpenSSL

    When attempting to make a connection to a SQL Server and providing
    a CA Cert file, FreeTDS was unable to validate a hostname.

    The function check_name_match in tls.c was checking the wrong
    value from check_wildcard.

    This fixes GitHub Issue #90

    Reported-by: Alex Loney

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Tue Dec 20 20:34:58 2016 +0000

    Send execdirect request as LANGUAGE token.

    This is more similar on how Sybase handle the request.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Mon Dec 19 21:35:18 2016 +0000

    Always use UTF-16 for Sybase

    This server does not use UCS-2.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sun Dec 18 19:21:20 2016 +0000

    odbc: Fix check for bigdatetime metadata in test

    Syntax of the test was wrong and the resulting sql command
    contained an unterminated string.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sun Dec 18 19:19:13 2016 +0000

    odbc: Fix error message in describecol test

    "i" variable is not always initialized

Author: Jeff Farr <jefarr@wayfair.com>
Date:   Mon Dec 5 13:01:21 2016 -0500

    Process batch statements without a select correctly

    If you send a batch of statements in a single call to the database, and
    these statements don't return rows, the dbresults function doesn't
    process the data correctly. It will loop over all data the first time it
    is called and return to the calling function that there are no more
    rows.

    Added a return on TDS_DONE_RESULT that stops processing data when a batch
    of statements doesn't contain a select.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Fri Dec 2 02:15:48 2016 +0000

    Fix ODBC utf8 test

    This test cannot be compiled with wide characters so disable
    during compilation.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Thu Dec 1 22:25:59 2016 +0000

    Simplify unit tests makefiles

    Use common a library to avoid repeating common sources.
    Specify needed files in source list.
    Don't create useless symbolic links (dblib), tests already look
    in proper source directory.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Wed Nov 30 23:26:44 2016 +0000

    tests: assure dbnextrow handle trailing tokens

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Wed Nov 30 23:26:16 2016 +0000

    Read trailing tokens after dbnextrow

    This fix rpc test after batch statement fix.

Author: Jeff Farr <jefarr@wayfair.com>
Date:   Mon Nov 28 14:25:52 2016 -0500

    Add unit tests for batch statements

    If you send a batch of statements in a single call to the database, and these statements don't return rows, the dbresults function doesn't process the data correctly. It will loop over all data the first time it is called and return to the calling function that there are no more rows.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Wed Nov 16 06:41:37 2016 +0000

    Generate CP1252 tables using Perl code

Author: Peter Deacon <peterd@iea-software.com>
Date:   Thu Nov 10 10:21:40 2016 +0000

    Add support for CP1252 to trivial iconv

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Thu Nov 17 19:54:08 2016 +0000

    Do not use fprintf(stdout... but just printf

    Result is equivalent but code is shorter.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Thu Nov 17 06:17:36 2016 +0000

    Fix string conversion in ODBC if string is really long

    During string conversion is needed to compute and return the size
    of all converted string even if is returned only partially.
    In the case the part of the unconverted string was very long
    this was considered like an error (SQL_ERROR) instead of a
    warning (SQL_SUCCESS_WITH_INFO).

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Tue Nov 15 09:23:52 2016 +0000

    Make odbc long_error test work with either wide enabled or not

Author: Peter Deacon <peterd@iea-software.com>
Date:   Tue Nov 15 09:22:57 2016 +0000

    Fixes a compile error if you configure with --disable-odbc-wide

Author: Peter Deacon <peterd@iea-software.com>
Date:   Tue Nov 15 09:21:40 2016 +0000

    Fix invalid free which lead to crash

    buf is not allocated with a malloc family function,
    the buffer will be freed as the string is freed.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Mon Nov 14 21:37:11 2016 +0000

    Reduce indentation in src/dblib/bcp.c

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Mon Nov 14 21:29:16 2016 +0000

    Rename old tds_iconv_fread function name in comments

    Function was renamed to tds_bcp_fread.

Author: someone <wsztacha@o2.pl>
Date:   Mon Nov 14 09:55:15 2016 +0100

    Fisql performance issues

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Fri Nov 11 17:19:40 2016 +0000

    Extend test to catch recursive loop call in tds_disconnect

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Fri Nov 11 17:24:20 2016 +0000

    Fix possible infinite recursive calls calling tds_disconnect

    In tds_disconnect when sending logout token ran into a problem
    where tds_put_byte failure leads to a recursive calls to
    tds_disconnect until process runs out of stack.

    Rough loop:

    tds_disconnect
    tds_put_byte
    tds_write_packet
    tds_connection_write
    tds_goodwrite
    tds_connection_close
    close_socket
    tds_disconnect
    ...

    Reported-by: Peter Deacon <peterd@iea-software.com>

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sat Nov 5 14:17:21 2016 +0000

    Avoid losing sync if a conversion problem happens

    This happened for TEXT or long strings.
    Shorter strings already have this behaviour.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sat Nov 5 14:15:53 2016 +0000

    Set column_cur_size even on conversion errors

    Allows to read truncated data instead of discarding everything.
    This can happen on invalid encoding inside strings.
    As internal conversions will replace invalid sequence and signal
    the problem with callbacks client can at least show some data.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Fri Nov 4 22:34:30 2016 +0000

    Remove some internal libiconv encoding from the encoding table

    These are used just by libiconv

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Fri Nov 4 22:33:29 2016 +0000

    Remove useless filter from encoding script

    The filter is done already inside the loop by the first if statement.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Fri Nov 4 21:55:34 2016 +0000

    Fix file spaces

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Fri Nov 4 05:51:14 2016 +0000

    bcp: Add test for invalid trim

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Fri Nov 4 05:30:47 2016 +0000

    bcp: Do not trim non ascii columns

    This avoid trimming multi byte encoding ending with 0x20 bytes.

    This fixes
    http://stackoverflow.com/questions/38984053/freebcp-unicode-data-is-odd-byte-size-for-column-should-be-even-byte-size
    (https://github.com/FreeTDS/freetds/issues/80)

Author: Kyle Hankinson <kyle@hankinsoft.com>
Date:   Wed Aug 31 11:26:49 2016 -0300

    Fixed an issue with NTLMV2 being overwritten.

    When calling dbsetlbool(login, 1, DBSETNTLMV2); the value would be
    overwritten later on during dbopen configuration.

    This change adds a use_ntlmv2_specified flag to the login structure
    which gets set when dbsetlbool is called with DBSETNTLMV2. The flag is
    checked during configuration and if it has been toggled forces
    use_ntlmv2 to be as configured.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Thu Sep 29 07:43:02 2016 +0100

    Remove warnings compiling user guide

Author: David Nichols <david@qore.org>
Date:   Thu Sep 29 07:29:43 2016 +0100

    implement support for CS_TIMEOUT and CS_LOGIN_TIMEOUT in ctlib for ct_con_props()

Author: Timothy Allen <tallen@wharton.upenn.edu>
Date:   Sun Sep 25 21:01:23 2016 +0100

    Update documentation to provide table for properly choosing a TDS version to use with SQL Server.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sun Sep 25 18:25:08 2016 +0100

    Fix compile if --enable-extra-check is used

    Due to TDS_OFFSET macro moved to freetds/utils.h code failed
    to compile if --enable-extra-check was used.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sat Sep 17 22:56:10 2016 +0100

    Add dlist test to CMake

    Allow to run this test using CMake.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sat Sep 17 22:46:26 2016 +0100

    Add test for dynamic lists

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sat Sep 17 22:41:29 2016 +0100

    Make dlist.tmpl.h independent

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sat Sep 17 22:34:25 2016 +0100

    Move TDS_OFFSET from tds.h to utils.h

    Allow to use in utilities, utilities should not include tds.h

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sat Sep 17 21:38:56 2016 +0100

    Change dlist.tmpl.h parameter from DLIST_NAME to DLIST_PREFIX

    Use same value used for DLIST_FOREACH

    Thanks to
    http://stackoverflow.com/questions/1489932/how-to-concatenate-twice-with-the-c-preprocessor-and-expand-a-macro-as-in-arg

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sat Sep 17 21:37:12 2016 +0100

    Avoid check in dlist

    prev and next are either NULL or not NULL.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sat Sep 17 21:36:26 2016 +0100

    Add dlist_insert_after and reuse it

    Simplify prepend/append.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sat Sep 17 21:34:09 2016 +0100

    Rename DLIST_TYPE macro to DLIST_ITEM_TYPE

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sat Sep 17 15:43:25 2016 +0100

    fisql: Print status result at the end of the query

    If result sets terminate with a message the return status
    was not checked.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Wed Sep 7 08:02:00 2016 +0100

    Do not flush halfway during OpenSSL TLS handshake

    All data sent in a row must be sent together.
    If debug is enabled OpenSSL attempts to flush data in the middle,
    this was causing to send multiple TDS packets to server.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Mon Sep 5 09:35:32 2016 +0100

    Fix small OpenSSL leak

    This was caused by thread safety initialisation.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Thu Aug 4 11:55:59 2016 +0100

    Make OpenSSL more thread safe

    OpenSSL needs some setup on order to be more thread safe.
    This is not necessary from version 1.1.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sun Sep 4 13:55:35 2016 +0100

    Move tds_connection_close declaration/definition closer in tds.h

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Thu Sep 1 22:35:57 2016 +0100

    Update documentation on pool

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sun Sep 4 13:32:53 2016 +0100

    Compile with Visual Studio 2013 too

    This version is used by OpenSSL in AppVeyor so would be better to use
    this version to reduce libraries loaded.
    Removed VS2008 64 bit to reduce test time.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sun Sep 4 13:28:59 2016 +0100

    Add support to Visual Studio 2013 to run_with_compiler script

    Allows to use VS2013 to compile under AppVeyor.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sun Sep 4 11:04:45 2016 +0100

    Remove additional space

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Thu Sep 1 22:41:52 2016 +0100

    Update OpenSSL cipher list

    This increase security and also fix a recent incompatibility
    between OpenSSL and SChannel (SChannel versions patched in a
    couple of months).

Author: Kyle Hankinson <kyle@hankinsoft.com>
Date:   Thu May 19 08:59:48 2016 -0300

    Added dbacolname

    Added dbacolname so that column names can be retrieved for computed
    columns.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Thu Aug 25 12:11:10 2016 +0100

    Write a note about INSTALL.GIT in INSTALL document

Author: John Kendall <john@capps.com>
Date:   Thu Aug 25 12:09:50 2016 +0100

    Handle correctly long object in defncopy for ASE servers

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sun Aug 7 10:57:57 2016 +0100

    Fix small memory leak

    Silly mistake caused a duplicate line.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Fri Jul 22 11:23:50 2016 +0100

    Reduce indentation level in pool_user_read

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Fri Jul 22 11:25:24 2016 +0100

    Remove warning compiling with clang

    clang complains about signed shift not portable.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Fri Jul 22 10:27:08 2016 +0100

    Remove some string overflows from VMS code

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Fri Jul 22 10:29:19 2016 +0100

    pool: Avoid to overwrite packet if not entirely written

    This can happen if packet is not entirely written to server after
    being read from client.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Mon Jul 18 12:09:07 2016 +0100

    Extends cs_dt_crack to support newer types

    This add a new cs_dt_crack_v2 ABI function (cs_dt_crack API is redirected
    to it using a preprocessor macro). This to make the extension of
    CS_DATEREC more safe (version of 1.0 could call cs_dt_crack with
    CS_BIGDATETIME_TYPE/CS_BIGTIME_TYPE without having these fields written
    which would possible cause memory corruption on version compiled with
    these fields missing).
    This make sqsh compile and work with newer date/time types.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Mon Jul 18 09:38:13 2016 +0100

    Make AppVeyor build with OpenSSL enabled

    CMake was not finding OpenSSL.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Tue Jun 21 21:45:21 2016 +0100

    attempt multiple connections if availability groups are detected

    This allows the server to start up properly.
    Connection are retried after 1 seconds for maximum 10 times.
    The global timeout still is in place.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Mon Jun 27 12:59:07 2016 +0100

    Fix NUMERIC column for bcp native format

    Prefix was not handled correctly.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sun Jun 26 08:30:08 2016 +0100

    Fix freebcp -E (identity columns)

    An additional query prevented code to handle correctly column types.

Author: Manfroi Fabrice <fm@4js.com>
Date:   Wed Jun 22 16:33:53 2016 +0200

    Fix build error on AIX 6.1 / 7.1 / 7.2

    tls.c:719: error: 'AF_INET6' undeclared (first use in this function)
    tls.c:719: error: (Each undeclared identifier is reported only once
    tls.c:719: error: for each function it appears in.)
    tls.c:722: error: 'AF_INET' undeclared (first use in this function)

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Tue Jun 21 21:41:23 2016 +0100

    enable again tds_gettime_ms

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Tue Jun 21 21:38:03 2016 +0100

    fix possible file descriptor leak

    This was introduced quite recently

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Mon Jun 20 14:46:57 2016 +0100

    attempt to connect to any address at a time to support availability groups

    If availability groups are available the servers may be listening for
    connection based on state.
    Try all IPs to get the good one. The attempts are made in parallel.
    There is still no retry to wait a server available on switch time.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sat Jun 18 21:08:17 2016 +0100

    Fix internal result state in dbcanquery

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sat Jun 18 21:09:17 2016 +0100

    Test dbcanquery behaviour

    Function should discard all row results.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sat Jun 18 13:27:56 2016 +0100

    Avoid to strip spaces from procedure text.

    NTBSTRINGBIND strip spaces at the end.
    Using STRINGBIND with 0 size cause string to be just NUL terminated.
    The 0 would lead to a possible overflow however we check the column
    len before doing the bind to avoid such possibility.

    Original patch from Nem W Schlecht.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Fri Jun 17 22:33:24 2016 +0100

    Remove redundant check in dbcanquery

    Check already in CHECK_CONN.

Author: Nem W Schlecht <nem@emptec.com>
Date:   Fri Jun 17 22:38:12 2016 +0100

    Avoid crash on connection error and report an error instead

    Patch from Nem W Schlecht.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sun Jun 12 21:14:30 2016 +0100

    remove old ChangeLog files

    ChangeLogs were not updated, now git log is used

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sat Jun 11 09:33:56 2016 +0100

    remove ODBCNODMLIBAPP automake macro

    Avoid using two macros for the same purpose using absolute path.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sun Jun 12 21:09:43 2016 +0100

    allows to specify 5.0 as tds protocol version during configure

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sat Jun 11 09:32:43 2016 +0100

    do not compile as bundle under Mac OS X is --with-odbc-nodm is specified

    In this case the driver will be used as a dynamic library (not loaded
    dynamically) so compile as such.
    In case a DM is used unit tests/application will link to the DM which
    will load the driver (requiring to be a module on old Mac OS X versions).

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Fri Jun 10 11:45:44 2016 +0100

    replace BYTE with unsigned char in ODBC files

    BYTE is not supported on some platforms.
    This fixes Mac OS X build.
    unixODBC headers files and Windows platform define it.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sun Jun 5 00:20:06 2016 +0100

    Add some missing include to fisql utility

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sun Jun 5 00:06:55 2016 +0100

    Support all types in dbvarylen

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sun Jun 5 00:04:46 2016 +0100

    Remove some possible switch warnings

    Handle all cases so some compilers does not give warnings.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sun Jun 5 00:02:19 2016 +0100

    Remove a warning

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sat Jun 4 23:42:07 2016 +0100

    Remove duplicate check

    Check for dbproc was already done in dbacolptr

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sat Jun 4 23:41:13 2016 +0100

    Reuse code to return a dblib type from a TDSCOLUMN

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Fri May 27 06:54:04 2016 +0100

    use bjoern utf8 decode function to convert from utf8

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Tue May 31 18:52:01 2016 +0100

    avoid using a sed in test script

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Mon May 30 18:43:54 2016 +0100

    move threadsafe.c from tds to utils

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Mon May 30 18:12:29 2016 +0100

    output some more error information on tests

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sun May 29 20:31:29 2016 +0100

    fix nightly test problem

    Part of the code was failing due to error in grab_logs function.
    As set -e is used any error cause abortion.
    Remove the error if an executable for a .log file is not present.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Fri May 27 07:12:27 2016 +0100

    minor style change

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Fri May 27 10:59:03 2016 +0100

    remove a warning compiling under Windows

    _strdup should be called instead of strdup.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Fri May 27 06:53:25 2016 +0100

    add bjoern-utf8 files

    These files implements UTF-8 decoding algorithm described in
    http://bjoern.hoehrmann.de/utf-8/decoder/dfa/

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Fri May 27 06:52:23 2016 +0100

    add missing header to passarg test

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Fri May 27 06:41:39 2016 +0100

    fix vms build due to file move

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Fri May 27 06:40:56 2016 +0100

    move tds_gethostbyname_r to getaddrinfo replacement

    This was an old function used to get the address of an host.
    Was used before supporting IPv6 and getaddrinfo to have a reentrant
    gethostbyname.
    Now is used only in systems where getaddrinfo is not present to
    implement a getaddrinfo replacement function.
    So code is moved in getaddrinfo replacement file and function made
    static.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Thu May 26 23:09:22 2016 +0100

    move win_mutex from replacements to utils

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Thu May 26 22:43:06 2016 +0100

    move condition from replacements to utils

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Wed May 25 18:55:16 2016 +0100

    move passarg from replacements to utils

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Wed May 25 18:26:41 2016 +0100

    move challenge test from tds to utils

    Test was testing md4/md5/des which now are in utils.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Wed May 25 17:26:24 2016 +0100

    move sleep.c from replacements to utils

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Wed May 25 17:38:56 2016 +0100

    reformat Makefiles to make easier to move files between them

    Use a single file per line so moving line cause only line
    removed or added.
    This make patches more easier to manage.
    Don't use tab to indent.
    Don't indent vertically.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Wed May 25 17:11:57 2016 +0100

    add missing cmake file to distribution

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Wed May 25 01:25:38 2016 +0100

    removed unused parameter from tds_copy_stream

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Wed May 25 01:39:52 2016 +0100

    document missing break in code

    This fixed Coverity CID 90723

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Wed May 25 00:40:50 2016 +0100

    move hmac_md5.c file from src/tds to src/utils

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Wed May 25 00:30:22 2016 +0100

    add utils directory

    New directory to put any utility not depending on tds protocol and
    not replacing any already existing function.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Tue May 24 23:48:33 2016 +0100

    fix strange indentation in configure.ac file

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Tue May 24 23:48:02 2016 +0100

    remove some dependency from tds.h header

    Some files are not really dependent from libTDS stuff.
    Avoid to include unneeded headers.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sat May 21 14:59:51 2016 +0100

    Fix compilation for systems not C99 compatible

    (u)int8_t types were not defined.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Wed May 4 21:14:44 2016 +0100

    optimise a bit conversions to UTF-16 in trivial iconv

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Wed May 4 21:13:59 2016 +0100

    support some improperly coded utf-16 with trivial iconv

    Support wrong encoding in the range U+D800-U+DFFF.
    Many supports these encoding even if wrong.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Tue May 3 08:11:30 2016 +0100

    start using C99 int types

    Do not use TDS int types for stuff not strictly related to TDS

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Mon May 2 22:58:39 2016 +0100

    try to detect float type using float.h constants

    This make the installed header file more portable.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Mon May 2 23:06:12 2016 +0100

    detect int types using stdint.h if available

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Wed May 18 21:30:22 2016 +0100

    start development release
