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
