Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sun Sep 10 16:17:58 2023 +0100

    Check POLLHUP with POLLIN

    Windows does not set POLLIN when the socket is closed
    on the other end but only POLLHUP.
    Check for both flags otherwise we are not able to detect
    the other end has disconnected.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Tue Jul 23 22:21:07 2024 +0100

    pool: Ignore extension in login packet

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Tue Jul 23 08:40:45 2024 +0100

    pool: Disable nagle algorithm on user socket

    Not giving any improvement, just delay.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Mon Jul 22 21:25:37 2024 +0100

    tds: Add tds_socket_set_nodelay

    Extract from src/tds/net.c to be reused.

Author: Aaron M. Ucko <ucko@ncbi.nlm.nih.gov>
Date:   Mon Jul 22 14:26:44 2024 -0400

    tds_lookup_host: Fall back on unsupported address families.

    If getaddrinfo with AI_ADDRCONFIG enabled fails with an error pointing
    to that flag (EAI_FAMILY or, if defined, EAI_ADDRFAMILY), try again
    without it rather than immediately bailing.  The result will be useful
    only in corner cases (IPv6 loopback addresses on otherwise IPv4-only
    hosts or vice versa), but the portconf unit test otherwise fails on
    IPv4-only or IPv6-only hosts supporting AI_ADDRCONFIG.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sat Jul 20 12:05:30 2024 +0100

    odbc: Improve cancel test, cancel previous used now idle statement

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sat Jul 20 12:15:53 2024 +0100

    ci: Add Visual Studio 2022

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sun Jul 21 08:21:33 2024 +0100

    ci: Do not automatically start MSSQL 2017

    This conflict with manually launching specific versions, for
    instance MSSQL 2019 start is failing for this reason.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sun Jul 21 08:32:44 2024 +0100

    ci: Remove warning

    Specifically:
      Manually-specified variables were not used by the project:
        ENABLE_MSDBLIB

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Fri Jul 19 07:45:10 2024 +0100

    odbc: Improve cancel test, check cancelling not active statement

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Fri Jul 19 14:58:25 2024 +0100

    odbc: Fix bug cancelling not active statements

    Do not use ODBC_EXIT_ to avoid crashes.
    Return SQL_SUCCESS as MS ODBC (and specifications).

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Thu Jul 18 17:18:12 2024 +0100

    odbc: Reuse SWAP_STMT macro, move on common.[ch]

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Thu Jul 18 10:18:45 2024 +0100

    odbc: Add test case to cancel test

    Check that SQLCancel sends a cancellation for the same thread.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Thu Jul 18 17:18:24 2024 +0100

    odbc: Fix typo in comment

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Fri Jul 19 08:13:54 2024 +0100

    ci: Remove obsolete comment from Appveyor script

Author: Aaron M. Ucko <ucko@ncbi.nlm.nih.gov>
Date:   Thu Jul 18 15:08:54 2024 -0400

    Inform CMake of some accidentally Autotools-only tests.

    Add rpc_fail and row_count for ctlib and charconv and nulls for tds.
    Along the way, formally swap the order of ctlib's data and datafmt
    tests to match Makefile.am and facilitate future comparison.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Thu Jul 18 15:47:12 2024 +0100

    pool: Remove warning if assert is compiled out

    Variable "tds" initialised but not used.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Thu Jul 18 15:46:36 2024 +0100

    Remove warning compiling without --enable-extra-checks option

    Some macro expanded in src/tds/login.c gave warnings of variable
    not used.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Wed Jul 17 15:22:58 2024 +0100

    odbc: Removed now unused hinstFreeTDS variable

    Code requiring that variable is not compiled anymore due
    to previous cleanup.

Author: Aaron M. Ucko <ucko@ncbi.nlm.nih.gov>
Date:   Wed May 8 16:49:13 2024 -0400

    odbc: Accommodate Windows static builds

    src/odbc/win*.c: Accommodate static builds, with no hinstFreeTDS; in
    particular, never attempt to show FreeTDS dialog boxes there.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Wed Jul 17 10:58:09 2024 +0100

    odbc: Add Encrypt and HostNameInCertificate settings

    Supported by newer MS ODBC drivers.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Wed Jul 17 08:14:55 2024 +0100

    tds: Add new option for certificate name

    Allows to override server name to match into certificate.
    It makes easier, for instance, to connect to a server using IP.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Wed Jul 17 10:47:19 2024 +0100

    tds: Fix typo in comment

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Tue Jul 16 21:48:03 2024 +0100

    tds: Minor additional log

    "login" field should always be valid in tds_verify_certificate
    however it does not hurt adding an error log.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Tue Jul 16 21:47:18 2024 +0100

    tds: Reuse code to get TDSSOCKET from TDSCONNECTION

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Tue Jul 16 15:13:36 2024 +0100

    odbc: Use size_t for string length

    Mostly style, paths are not that big to make a difference.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Tue Jul 16 15:12:07 2024 +0100

    odbc: Update function declaration style

    More coherent with other declarations.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Tue Jul 16 13:04:27 2024 +0100

    odbc: Use bool for check_lib result

    Style change.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sat Jul 13 10:34:52 2024 +0100

    odbc: Use "odbc_" prefix instead of "_"

    C99 compliance.

Author: Aaron M. Ucko <ucko@ncbi.nlm.nih.gov>
Date:   Tue May 21 15:38:29 2024 -0400

    Fix miscellaneous one-off warnings.

    * odbc.h: For Clang, substitute __attribute__((visibility("default")))
      for __attribute__((externally_visible)), which it at least
      historically didn't support.
    * tds5_bcp_add_variable_columns: Explicitly obtain high offset bits by
      shifting rather than dividing to avoid spurious signed-vs.-unsigned
      comparison warnings.
    * gssapi.c: Eliminate various warnings on macOS:
      - Additionally suppress __API_DEPRECATED right before including
        gssapi_krb5.h (which is at least the last explicitly included
        system header).
      - tds_gss_get_auth: Use central GSS_KRB5_NT_PRINCIPAL_NAME on macOS.
        It's available there with existing build settings, and avoids
          ld: warning: alignment (2) of atom
          '_tds_gss_get_auth_ver100.nt_principal' is too small and may
          result in unaligned pointers
        which could otherwise crop up dozens of times when
        targeting (legacy) Intel hardware.
    * ctlib/unittests/t0009.c: Pre-zero compute_col3.  Optimized builds
      with Clang or LLVM-based ICC can otherwise yield a Valgrind warning
      concerning a strcmp call that reads slightly past the trailing NUL.
    * odbc/unittests/rowset.c: Suppress Visual Studio's deprecation
      warning for (CHK)SQLSetStmtOption.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sat Jul 13 12:17:46 2024 +0100

    odbc: Reuse cleanup code parsing connection string, check for error

    Reuse cleanup code in odbc_parse_connect_string.
    Code had a potential leak, remove and check it.

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

    odbc: Split lines too long

    Just style change

Author: Aaron M. Ucko <ucko@ncbi.nlm.nih.gov>
Date:   Fri May 10 10:29:56 2024 -0400

    tds_iconv: Accommodate FreeBSD/Citrus iconv.

    Accommodate iconv implementations (such as the Citrus one used by modern
    FreeBSD systems) that ever indicate invalid input by reporting a positive
    count of irreversible characters rather than by setting errno to EILSEQ.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sat Jul 13 14:21:36 2024 +0100

    odbc: Add flag to reduce memory allocation for error messages

    Do not copy error strings if not necessary.
    This can help in case if errors like out of memory.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sat Jul 13 12:50:59 2024 +0100

    odbc: Split lines too long

    Just style change

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sat Jul 13 12:15:03 2024 +0100

    odbc: Split lines too long

    Just style change

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sat Jul 13 10:32:51 2024 +0100

    Remove useless spaces

    Just style changes.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sat Jul 13 10:32:27 2024 +0100

    Use new guard for alternative_character_sets.h

    Not updated when guard style were changed.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Fri Jul 12 15:31:49 2024 +0100

    tds: Add missing option to log message

    Encryption options are now four, missed "strict".

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Fri Jul 12 15:30:37 2024 +0100

    tds: Use bool for tds_alloc_login

    Just style change

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Wed Jul 10 13:12:56 2024 +0100

    Missing update for SQL Server version related to TDS protocol

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Wed Jul 10 08:01:17 2024 +0100

    Update SQL Server version related to TDS protocol

    Add more recent versions to the list.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sun Jul 7 12:10:36 2024 +0100

    ctlib: Unify tests includes

    Include always "common.h" at the beginning.
    Add more common headers in common.h.
    Include ctpublic.h before other headers. This is different from
    other tests but it was the way done before (included before
    common.h). As public header it should not depend on config.h
    included before or after.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sun Jul 7 12:50:33 2024 +0100

    Unify header guards definitions

    Headers guards are quite inconsistent amongst sources, using
    lower or upper cases, file names or not, directory or not,
    tds/freetds prefixed or not.
    Use a simple _tdsguard_XXXXX_ schema were XXXXX is randomly generated.
    The only exceptions are, for compatibility reasons, public
    installed headers which are unchanged.

    Script I used to generate guards:

      #!/usr/bin/env python3
      import uuid
      import string

      b = string.ascii_lowercase + string.ascii_uppercase + string.digits
      n = uuid.uuid4().int
      print(f"_tdsguard_{''.join([b[n // (62**x) % 62] for x in range(21,-1,-1)])}_")

Author: Aaron M. Ucko <ucko@ncbi.nlm.nih.gov>
Date:   Tue May 21 15:32:58 2024 -0400

    tds: Avoid potential zero-byte allocations (whose behavior is undefined)

Author: Aaron M. Ucko <ucko@ncbi.nlm.nih.gov>
Date:   Tue May 21 15:32:58 2024 -0400

    query.c (tds_convert_string): Clear *out_len if allocation fails

Author: Aaron M. Ucko <ucko@ncbi.nlm.nih.gov>
Date:   Tue May 21 15:32:58 2024 -0400

    dblib: Remove leak in dbpivot

    * dbpivot.c (make_col_name): Elide gratuitous calls to strdup, which
      resulted in leaks because string_value already allocates memory.

Author: Aaron M. Ucko <ucko@ncbi.nlm.nih.gov>
Date:   Tue May 21 15:32:58 2024 -0400

    tds: Remove possible leak

    mem.c (tds_init_login): Don't leak lc_all when unable to populate
    client_charset.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sat Jul 6 17:09:55 2024 +0100

    utils: Separate check for SO_NOSIGPIPE, more systems

    Make check for this feature consistent sharing into a header.
    Do not consider only MacOS but also FreeBSD and NetBSD.
    Exclude Symbian (from curl project
    "This isn't actually supported under Symbian OS").

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Thu Jul 4 02:56:14 2024 +0100

    ctlib: Add test for failure converting binary to char

    This tests previous commit.
    Make sure no leaks happens in the future and conversion
    fails as expected.

Author: Aaron M. Ucko <ucko@ncbi.nlm.nih.gov>
Date:   Wed Jul 3 14:33:05 2024 -0400

    tds_convert_to_binary: Don't leak allocations on syntax errors.

    If tds_char2hex reported a syntax error and we'd (as usual) allocated
    a buffer, free it on the way out so that callers won't have to account
    for this corner case themselves, taking care to avoid leaving a
    dangling pointer in the conversion-result union.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Wed Jul 3 21:42:55 2024 +0100

    ctlib: Exclude some tests under Sybase

    Not all cs_convert sub-tests are passing, there are minor
    differences, especially when the conversion fails for
    overflows/underflows.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Wed Jul 3 21:42:35 2024 +0100

    ctlib: Add some tests for cs_convert covering previous change

Author: Aaron M. Ucko <ucko@ncbi.nlm.nih.gov>
Date:   Wed Jul 3 14:20:00 2024 -0400

    _cs_convert: Cap binary/image copying to the destination length.

    Excessively long input already yielded an error, but would previously
    overrun the destination buffer along the way.

Author: Aaron M. Ucko <ucko@ncbi.nlm.nih.gov>
Date:   Thu May 9 14:02:36 2024 -0400

    {dblib,odbc}/unittests/common.h: Allow FREETDS_SRCDIR overrides.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sat Jun 22 09:03:41 2024 +0100

    Make sure strings in old login structure have correct size

    Old strings inside login packet have a structure with a
    single byte as size at the end, make sure the length can
    fit into a single byte.

Author: Aaron M. Ucko <ucko@ncbi.nlm.nih.gov>
Date:   Wed May 8 16:49:13 2024 -0400

    Add missing include

    src/utils/unittests/challenge.c: #include <freetds/sysdep_private.h>
    to ensure the availability of strcasecmp.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Tue Jun 18 08:31:00 2024 +0100

    Add missing argument to function declaration

    ANSI C should always have arguments.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Mon Jun 17 07:37:13 2024 +0100

    Bump some TDS version for testing

    We didn't have any explicit 7.4 which is now very common
    (it was implicitly used by "auto").

Author: Aaron M. Ucko <ucko@ncbi.nlm.nih.gov>
Date:   Mon May 13 16:41:58 2024 -0400

    odbc stats.c: Stick fully with the designated database.

    The precise database name has no bearing on this test's effectiveness.
    However, the test cases that explicitly specified a catalog (in ODBC
    parlance) to TestTable historically insisted on using freetds_test,
    and this test's only provision for lacking such a database was
    attempting to create it itself despite not necessarily having
    sufficient privileges.

    Bypass potential optimizations by formally changing to master before
    explicitly supplying the specified database name, with the help of a
    set_dbname copied from connect2.c.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sun Jun 16 19:24:14 2024 +0100

    Support "strict" encryption

    Force naked TLS, supported by MSSQL 2022.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sun Jun 16 19:05:34 2024 +0100

    Use better type for tds_connect_and_login

    Just style, TDSRET is the same as int.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Wed Jun 5 07:29:30 2024 +0100

    Avoid misaligned access using sanitizer

    To write network data some macros handling misaligned access
    are used.
    Code correctly detect architectures handling correctly not
    aligned access and use it. However instrumented code could
    detect this as errors.
    Use a different way able to tell compiler that these misaligned
    access are what we want.

Author: Aaron M. Ucko <ucko@ncbi.nlm.nih.gov>
Date:   Mon May 13 15:56:14 2024 -0400

    cspublic.h: Formally define BLK_VERSION_{155,157,160}

    ... at least in the absence of CS_NO_LARGE_IDENTIFIERS; the
    corresponding CS_VERSION_* identifiers will otherwise be undefined
    anyway.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sat Jun 1 18:14:50 2024 +0100

    Add test for nvarchar(max) and bulk copy

    Data include empty and NULL data.

Author: Aaron M. Ucko <ucko@ncbi.nlm.nih.gov>
Date:   Fri May 10 10:05:28 2024 -0400

    tds_select: Treat EAGAIN and EINPROGRESS like EINTR.

    Call the registered interrupt handler (if any) for all three.

Author: Aaron M. Ucko <ucko@ncbi.nlm.nih.gov>
Date:   Mon May 13 16:39:57 2024 -0400

    tds/unittests/freeze.c: Suppress SIGPIPE (helpful on macOS).

Author: Aaron M. Ucko <ucko@ncbi.nlm.nih.gov>
Date:   Mon May 13 17:18:25 2024 -0400

    Regroup pointer comparisons to avoid subtraction.

    The compiler always insists on treating the difference between two
    pointers as potentially negative, yielding warnings when comparing it to
    an integer that has (or will soon have) a pointer-width unsigned type.
    Equivalent pointer-to-pointer comparisons yield no such warnings and are
    still clear.

Author: Aaron M. Ucko <ucko@ncbi.nlm.nih.gov>
Date:   Thu May 9 14:23:58 2024 -0400

    tds_setup_connection: Skip nvc/uvc check under OpenServer.

    OpenServer instances may well report "Unknown language request" for
    it, resulting in outright login failures.

Author: Aaron M. Ucko <ucko@ncbi.nlm.nih.gov>
Date:   Mon May 13 11:49:03 2024 -0400

    _blk_get_col_data: Consistently return TDS_FAIL on failure.

    Most failure scenarios accidentally returned CS_FAIL, which ironically
    corresponds to TDS_SUCCESS.

Author: john-kendall <john@capps.com>
Date:   Thu May 23 11:15:26 2024 -0700

    datacopy: Increase CREATE TABLE command buffer to accommodate larger queries

    datacopy fails on tables with an unusually high number of columns.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sat May 25 11:55:23 2024 +0100

    Support very old Sybase ASE versions

    On these old versions EXECUTE statement with string is not supported,
    and neither UNIVARCHAR.

Author: Anton Savelyev <antonsv@google.com>
Date:   Tue May 7 21:19:33 2024 +0000

    Update -v license text to print full text.

    The license text has been taken from the top of
    the file.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Fri May 17 10:34:01 2024 +0100

    Change some file license from GPL to LGPL

    These files were wrongly licensed, they are designed to be used
    by other code that needs to be LGPL.
    I'm the single owner of these files so no extra need for
    permissions.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sun May 5 19:13:04 2024 +0100

    Support Sybase server not configured with UTF-8 charset

    If server is configured to not use UTF-8 UNIVARCHAR type is not
    available. Split query to check types and handle results
    separately.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sun Apr 28 13:47:14 2024 +0100

    Use CONVERT function instead of CAST for login query check

    CONVERT is more portable amongst different SQL Server implementation.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Fri Mar 29 11:20:06 2024 +0000

    defncopy: Add test for the applications

    Use commands calling programs.
    Mainly use tsql to create some table, output definition with
    defncopy and check definition is as expected.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sun Mar 31 18:13:39 2024 +0100

    defncopy: Quote key index names

    Split index keys considering current column names.
    This is more complicated than just split considering separator
    (command and space, ", ") however it supports weird cases where
    we have the separator in the middle of a column name.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sat Mar 30 17:24:40 2024 +0000

    defncopy: Fix for order of index recordset

    The order of columns is different between MS and Sybase.
    Also separate code in a function, it was too long.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sat Mar 30 21:15:20 2024 +0000

    defncopy: Trim spaces around nullable flags

    This fix detection of nullable columns for Sybase.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sun Mar 24 09:58:01 2024 +0000

    defncopy: Quote strings and identifiers

    Allows to handle weird characters (like spaces) in strings and
    identifiers.
    Handle memory marking in a list to easily free. I plan to move
    that part of code to common code.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sat Mar 30 10:40:54 2024 +0000

    defncopy: Fix MS column length for N(VAR)CHAR types

    The length from sp_help is in bytes, not in code units.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Thu Mar 28 16:36:19 2024 +0000

    defncopy: Use memory instead of temporary file

    Index script is not that huge, just allocate in memory.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Wed Mar 27 16:44:46 2024 +0000

    odbc: Make odbc_buf structure private

    No reason to have it public.
    Only used for tests.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Thu Mar 28 16:35:28 2024 +0000

    ctlib: Fix crash using ct_command with CS_MORE option

    The tds_realloc call was wrong passing the wrong pointer.
    Add test to check CS_MORE option calling ct_command.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sat Mar 23 18:19:16 2024 +0000

    defncopy: Reuse tds_strndup

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sat Mar 23 18:18:26 2024 +0000

    Move tds_strndup to utils

    Allows to reuse on applications easily.

Author: Tao Zuhong <taozuhong@users.noreply.github.com>
Date:   Mon Mar 4 16:47:28 2024 +0800

    dblib: Add port setting

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Fri Mar 1 19:21:50 2024 +0000

    Use TDS 7.1 if MARS is not supported

    This fix some compatibility with some old MSSQL 2000 server.
    We try to negotiate a more recent protocol but if the server does
    not support at least TDS 7.2 the DONE token will be shorter causing
    FreeTDS to wait for more bytes than sent.
    This happens if we give a wrong password logging in to MSSQL 2000
    server.
    From MSSQL 2005 MARS is returned and we can assume larer DONE
    token.

Author: chenall <chenall@users.noreply.github.com>
Date:   Tue Feb 20 11:23:18 2024 +0800

    datacopy: allow when dest_collen > src_collen

    It is beneficial to migrate from the old database to the new one.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sun Dec 17 16:59:23 2023 +0000

    tds: Update comment on tds_config_verstr function

    Encoded version uses bytes, not nibbles.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sun Dec 3 21:18:22 2023 +0000

    Fix compilation for Android

    Fix last commit supposed to fix compilation on recent Android
    systems.
    Rename USE_CLOCK_IN_COND to USE_CLOCK_GETTIME_IN_COND to make
    more clear.
    Put check for pthread_cond_timedwait_relative_np in a single
    place defining a new USE_COND_TIMEDWAIT_RELATIVE if we can use
    it.
    Declare tv variable near gettimeofday to reduce conditional
    compilation.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sun Dec 3 08:58:39 2023 +0000

    Do not try to use pthread_cond_timedwait_relative_np on newer Android

    API was deprecated, do not use (still available on Apple).

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Fri Nov 24 19:12:44 2023 +0000

    Get Windows code page using Windows API

    Instead of using setlocale call use GetLocaleInfoA.
    This fixes getting Windows code page.
    setlocale should return the code page number as first item
    but it depends on too many settings and sometimes the string
    does not start with the code page number.
    Updated ODBC test to avoid not convertible character; note that
    now the behaviour is more coherent to Windows driver for this test.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sun Nov 26 21:52:25 2023 +0000

    odbc: Use tds_dstr_buf to retrieve internal string buffer

    Do not use tds_dstr_cstr and a cast if the intention is to use
    the internal string buffer.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sun Nov 26 21:52:11 2023 +0000

    odbc: Use bool for odbc_get_dsn_info

    Just style change.
    More clear only true/false.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sun Nov 26 14:04:01 2023 +0000

    odbc: Use bool for write_all_strings

    Just minor style change.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sun Nov 26 13:38:41 2023 +0000

    odbc: Update some driver registration field for Windows

    We support ODBC 3.50, also this patch SQLGetInfo SQL_DRIVER_ODBC_VER
    attribute.
    All SQL server drivers support SQLLevel 1, not 2.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sun Nov 26 06:05:07 2023 +0000

    odbc: Check errors from SQLInstallDriverExW and SQLRemoveDriver

    These 2 functions can return TRUE (in theory success) even if
    the function didn't do anything.
    For instance this happens if the functions are called from
    not administrator user trying to install/remove the ODBC driver.
    So check if errors happened using SQLInstallerErrorW.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sat Nov 25 20:33:52 2023 +0000

    utils: Add executable file to git ignore list

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Fri Nov 24 08:11:36 2023 +0000

    odbc: Return better error for invalid character set

    Do not return memory error which is pretty misleading.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Thu Nov 23 19:49:53 2023 +0000

    tds: Set control method for final OpenSSL BIO

    OpenSSL sometimes calls this callback failing if not present.
    This fixes https://github.com/FreeTDS/freetds/issues/513.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sun Nov 12 16:19:48 2023 +0000

    cmake: Be consistent with install destination

    Reported by Rüdiger Ihle.
    TYPE clause for INSTALL was introduced in CMake 3.14, also
    it's more consistent with other lines.

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

    Use Unicode and wide characters for file paths for Windows

    Allows to use path names with any characters.
    Add macros in include/utils/path.h to deal with different types
    and functions.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sun Nov 12 10:46:15 2023 +0000

    cmake: Generates now missing include/freetds/sysconfdir.h

    This file is generated usually by Automake but in case of
    using CMake better to use this last one.
    Fixes building with CMake under Linux and other Unices.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sun Nov 12 10:44:58 2023 +0000

    cmake: Improve GNU compatibility

    Use GNUInstallDirs module to get more accurate GNU Coding Standards
    (https://www.gnu.org/prep/standards/html_node/Directory-Variables.html)
    like Autoconf script.

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

    Move tds_new macros to include/freetds/macros.h

    These macros are pretty generic, not related to TDS.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sat Nov 11 22:59:21 2023 +0000

    ctlib: Test and fix ct_callback errors

    Some more tests on errors returned.

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

    Separate utilities that deal with paths

    More into src/utils directory.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Fri Nov 10 14:29:22 2023 +0000

    Remove the need for override of sysconfdir.h

    It's generated by Autoconf but not needed for Windows.
    Under Windows the default configuration path is always the root.
    The sysconfdir.h is only included by include/freetds/configs.h.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Thu Nov 9 11:29:26 2023 +0000

    ctlib: Make switch cases more explicit

    Mainly style change.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Thu Nov 9 11:28:46 2023 +0000

    ctlib: Test and fix cs_convert errors

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Wed Nov 8 14:00:53 2023 +0000

    misc: Windows compatibility

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Wed Nov 8 14:02:41 2023 +0000

    apps: Remove warning compiling fisql utility

    If readline was not present this warning was displayed:

    fisql.c:106:31: warning: unused parameter 's' [-Wunused-parameter]
      106 | fisql_add_history(const char *s)
          |                   ~~~~~~~~~~~~^

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Mon Nov 6 14:47:05 2023 +0000

    misc: Handle closure from socket

    Do not exit all program.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sun Nov 5 16:24:41 2023 +0000

    misc: Add debug/dump options

    -d enables debug output. By default reduce the verbosity of the
    program.
    -D adds support to dump all traffic to a capture file.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sun Nov 5 18:22:09 2023 +0000

    misc: Add code to write a TCP flow on a capture file

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sun Nov 5 17:26:07 2023 +0000

    ci: Distribute also OpenSSL libraries

    Make easier deploy and usage.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sun Nov 5 16:25:10 2023 +0000

    misc: Update a comment

    Lot of limitations removed.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sun Nov 5 13:11:39 2023 +0000

    misc: Handle termination more cleanly

    Detect signals and exit more cleanly.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sat Nov 4 12:24:33 2023 +0000

    misc: Use threads to handle more connections

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sat Nov 4 12:24:33 2023 +0000

    misc: Remove usage of global variables

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sat Nov 4 12:24:33 2023 +0000

    misc: Remove some possible leaks

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sat Nov 4 12:24:33 2023 +0000

    misc: Use less global variables

    Pass parameters to get_packet and put_packet instead of use
    globals.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sat Nov 4 12:24:33 2023 +0000

    misc: Factor out a function to initialize TLS

    Avoids duplicating the same things for client and for server.
    At the end of handshake change pull/push functions to
    avoid retaining a pointer to a structure in the stack, simplify
    normal push/pull and remove state variable.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sat Nov 4 12:24:33 2023 +0000

    misc: Handle errors more cleanly

    If we want to handle more connections in a single process
    we cannot exit the process for every error we get.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sat Nov 4 12:24:33 2023 +0000

    misc: Remove some global usage

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sun Nov 5 09:54:24 2023 +0000

    misc: Separate code to handle a TDS session

    Prepare to handle more connections.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sat Nov 4 22:58:49 2023 +0000

    misc: Fix typo in message

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sat Nov 4 12:26:25 2023 +0000

    Fix typo in xINT64_C macros definitions

    These fallback definitions should not be used but fix anyway.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sat Nov 4 12:25:23 2023 +0000

    replacements:  Reuse UINT64_C macro

    Simplify definition.
    Also remove obsolete comment on 64-bit compatibility.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sat Dec 5 08:13:44 2020 +0000

    misc: Handle all traffic in bounce utility

    Do not only handle packets during login but also data ones.
    Detect if data will be encrypted or not after login.
    Do not use sleep for synchronisation but use poll to avoid
    delays.
    Improve also a bit resource management (although the program
    is still limited to one single connection).

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sat Dec 5 08:13:44 2020 +0000

    misc: Better error management in bounce utility

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Wed Oct 16 10:47:11 2019 +0100

    misc: Prepare to forward traffic to the server

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Fri Nov 3 17:10:30 2023 +0000

    misc: Change style of hexdump for bounce utility

    Use dots for not printable.
    Add a 8 byte separator for hexadecimal part.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Fri Nov 3 15:41:07 2023 +0000

    misc: Allows to specify a server name for bounce utility

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Fri Nov 3 15:42:05 2023 +0000

    Minor comments updates

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Wed Nov 1 18:14:03 2023 +0000

    Remove some "unused parameter" warning

    These came out on Windows and/or if you don't enable extra checks.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Wed Nov 1 10:09:28 2023 +0000

    Add -Wunused-parameter warning by default

    If GCC is detected add this flag to get these warnings.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Thu Oct 19 11:52:37 2023 +0100

    Remove warnings using -Wunused-parameter option

    The warnings show if a parameter is not used.
    Add a TDS_UNUSED to mark a parameter as intentional not used
    (usually due to ABI a function needs to have that parameter).

Author: coffeegreg <86416144+coffeegreg@users.noreply.github.com>
Date:   Tue Oct 10 22:10:55 2023 +0200

    dblib: allow encryption option

    The goal is to allow access to the "encryption" configuration option
    (freetds.conf setting) without the need for a freetds.conf file.
    Added a new DBSETENCRYPTION and DBSETLENCRYPTION using dbsetlname
    (dblib.c) to handle "off/request/require" values.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sat Oct 28 20:40:00 2023 +0100

    odbc: Define maximum value for SQL_ATTR_QUERY_TIMEOUT

    More compatible with Microsoft driver.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sun Oct 29 10:49:41 2023 +0000

    pool: Remove warning compiling

    Due to recent change:

    config.c:95:53: warning: passing argument 3 of ‘tds_read_conf_section’ from incompatible pointer type [-Wincompatible-pointer-types]
       95 |                 tds_read_conf_section(in, "global", pool_parse, params);
          |                                                     ^~~~~~~~~~
          |                                                     |
          |                                                     void (*)(const char *, const char *, void *)

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Wed Oct 11 10:13:21 2023 +0100

    ctlib: Make cs_convert more verbose in case of errors

    Print input and output buffers as soon as we provide an output.
    Print output buffer also in case of length mismatch.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sat Oct 28 17:08:48 2023 +0100

    tds: Return success/failure from tds_parse_conf_section

    This will allows to check error setting some value in TDS_LOGIN
    structure.
    Using valid_configuration would be confusing as that flag is used
    to store error reading from configuration file (so for
    TDS_CONNECTION).

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Fri Oct 27 16:25:59 2023 +0100

    ctlib: Reuse res_type_str in rpc_fail test

    printable_ret was doing the same thing, returning a string description
    for a CT-Library result.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Fri Oct 27 09:58:05 2023 +0100

    Import a script to generate constants in numeric.c

    Explain where these magic constants came from.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Fri Oct 27 05:29:51 2023 +0100

    odbc: Fix getting SQL_ATTR_METADATA_ID attribute

    Returned wrong field due to typo.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sat Oct 21 11:45:16 2023 +0100

    tds: Optimise numeric precision change in case of 32 bit architectures

    Use 64 bit multiply instead of 64 bit divide.
    Do do the multiplication in a portable way (we need to get a 128 bit)
    we use simple 32 x 32 -> 64 multiplications.
    We keep division optimisation in case of x86 architecture.
    Remove also pretty obsolete optimisation for Watcom C compiler.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sat Oct 21 22:04:41 2023 +0100

    Use 64 bit constants

    Nowadays all compilers should support 64 bit constants, no
    need for complicated code.
    Makes sure UINT64_C and INT64_C are defined.
    Avoids having to include <freetds/sysdep_types.h>, just use
    <freetds/sysdep_private.h>.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Thu Oct 26 07:31:56 2023 +0100

    build: Avoid some warnings from CMake

    Specifically:

      CMake Deprecation Warning at CMakeLists.txt:3 (cmake_minimum_required):
        Compatibility with CMake < 3.5 will be removed from a future version
        of CMake.
        Update the VERSION argument <min> value or use a ...<max> suffix to
        tell CMake that the project does not need compatibility with older
        versions.

      CMake Warning (dev) at CMakeLists.txt:1 (project):
        cmake_minimum_required() should be called prior to this top-level
        project() call.  Please see the cmake-commands(7) manual for usage
        documentation of both commands.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Thu Oct 26 08:17:34 2023 +0100

    odbc: Minor style changes to test64 test

    Use macro instead of constant to understand why that number is used.
    Added a comment on why test is skipped.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Wed Oct 25 23:08:03 2023 +0100

    tds: Use same condition syntax checking for full packet

    Just style change.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Wed Oct 25 21:42:29 2023 +0100

    dblib: Use bool for row_error

    Just style change.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Wed Oct 18 19:08:57 2023 +0100

    ctlib: Check datatype returned by ct_data_info in test

    Datatype should be CS_TEXT_TYPE.
    Also add a compatibility check to compile with Sybase libraries.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Wed Oct 18 18:54:52 2023 +0100

    ctlib: Use client type, not propagate TDS one

    Clients are expecting CT-Library types.

    This was addressed also by NCBI patches.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Wed Oct 25 10:43:16 2023 +0100

    ctlib: Remove leak in errors test

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Tue Oct 24 20:00:26 2023 +0100

    ctlib: Test and fix ct_con_props errors

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Tue Oct 24 19:50:09 2023 +0100

    ctlib: Test ct_cursor errors

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Tue Oct 24 19:31:26 2023 +0100

    ctlib: Test ct_command errors

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Tue Oct 24 19:21:33 2023 +0100

    ctlib: Test ct_connect errors

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Tue Oct 24 13:09:06 2023 +0100

    ctlib: Test and fix ct_dynamic errors

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Tue Oct 24 12:17:14 2023 +0100

    ctlib: Test and fix cs_locale and related errors

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Tue Oct 24 08:16:09 2023 +0100

    ctlib: Test and fix blk_init errors

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Tue Oct 24 07:11:27 2023 +0100

    ctlib: Makes sure we don't use a negative number as string length

    Do not allow negative number to be used as buffer length but returns
    error instead.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Tue Oct 24 21:05:11 2023 +0100

    ctlib: Factor out a check_last_message to reduce checks in errors test

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Tue Oct 24 13:41:34 2023 +0100

    ctlib: Use macros to list all sub tests in errors test

    Makes easier to add a new test.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Mon Oct 23 14:52:16 2023 +0100

    ctlib: Improve cs_config error reporting and compatibility

    Return proper errors.
    Do not add terminator setting CS_USERDATA.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Tue Oct 24 08:14:52 2023 +0100

    ctlib: Factor out and reuse check_fail macro in errors test

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Tue Oct 24 08:17:08 2023 +0100

    ctlib: Minor compatibility with tests and Sybase/SAP libraries

    To use BCP applications need to set CS_BULK_LOGIN property.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sun Oct 22 21:11:46 2023 +0100

    apps: Simplify some expression reusing "meta" variable

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sun Oct 22 19:33:49 2023 +0100

    odbc: Convert value to type used in format

    Mainly style, code generated is the same but "%u" format
    is assuming unsigned int to use that explicitly.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sun Oct 22 19:32:00 2023 +0100

    odbc: Remove unused assign

    Just assigned again on next line.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sat Oct 21 11:48:24 2023 +0100

    odbc: Make explicit how data are bound in bcp test

    Mainly style change, easier to understand how data will start.
    Also avoids double cast.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sat Oct 21 12:18:37 2023 +0100

    odbc: Fix an issue compiling bcp test on 32 systems with unixODBC

    UnixODBC can define ODBCINT64 with a structure with 2 fields
    instead of just an integer if HAVE_LONG_LONG is not defined.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sat Oct 21 11:47:35 2023 +0100

    tds: Fix possible issue with 32 bit machines using BCP

    The -2 constant should be signed extended to 64 bit and passed
    to tds_put_int8. This potentially does not happen on 32 bit
    as the ?: operator would return a size_t (unsigned 32 bit on
    32 bit systems).
    Force the type to get the correct value.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Thu Oct 19 18:10:55 2023 +0100

    odbc: Fix type setting

    The code was falling through the cases potentially setting
    wrong types.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Thu Oct 19 16:29:10 2023 +0100

    ctlib: More debugging on not implemented bcp_colfmt_ps

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Thu Oct 19 16:27:37 2023 +0100

    Remove some unused parameters

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Thu Oct 19 11:51:39 2023 +0100

    Remove main arguments if not used

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Thu Oct 19 10:17:24 2023 +0100

    utils: Remove not used "len" parameter from tds_des_set_key

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Thu Oct 19 06:41:51 2023 +0100

    tds: Optimise scale down of numeric types

    Instead of using divisions, if possible, multiple by the reverse.
    This is what modern compiler does when they see a constant but
    it's pretty impossible that they use this technique using divisors
    from an array.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Wed Oct 18 18:54:20 2023 +0100

    Remove warning using "-Wold-style-declaration" option

    Move "static" and "inline" modifiers before others.
    Just style change.

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

    ct.c (ct_describe): Populate datafmt->format per Valgrind.

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

    cs.c (cs_convert): Fix *resultlen for conversions to SYBIMAGE.

    When converting to SYBIMAGE, set *resultlen to the number of bytes
    actually used, not the destination's full capacity.

    Frediano: Added test and fixed conversion is padding was specified.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Mon Oct 16 21:26:36 2023 +0100

    Minor compatibility for C++

    At the moment config.h is used only in C files but just for
    potential compatibility do not define "inline" if used for C++.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sun Jul 11 07:37:20 2021 +0100

    Include stdint.h in Visual Studio if available

    Check proper version of Visual Studio even for older versions.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Mon Oct 16 21:17:55 2023 +0100

    dblib: Correct application names in tests

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Mon Oct 16 21:16:28 2023 +0100

    dblib: Minor updates for empty_rowsets.c

    Minor style change for empty loop.
    Better check for error from dbresults.

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

    Do not use extern "C" around headers

    Although this include file is not used by C++ code avoid to have
    extern "C" around include file which could be an issue if some
    include have C++ code.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sun Oct 15 17:41:26 2023 +0100

    odbc: Remove unused definition

    TDS_SDIR_SEPARATOR not used in common.c.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sun Oct 15 17:40:15 2023 +0100

    tds: Limit some variable scope

    Just style change.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sun Oct 15 05:37:24 2023 +0100

    tds: Avoid warning using poll() function

    Due to some signed/not-signed calling poll with int type was
    causing a warning under Linux.
    All systems use unsigned number for length of poll

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sun Oct 15 05:15:21 2023 +0100

    odbc: Avoid conversion warnings from SQLCHAR* to LPCSTR

    The two pointers differs in sign so add a cast to remove the
    warning.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sat Oct 14 20:42:21 2023 +0100

    Remove some conversion warnings for Windows

    Convert pointer to TDS_UINTPTR to avoid size warning.
    Avoid warning converting unsigned long to unsigned (even if on
    Windows are the same).
    TDS_SYS_SOCKET is defined a 64 bit for 64 bit, convert to int
    (handles are not so large anyway to require 64 bit).

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Fri Oct 13 13:02:18 2023 +0100

    Fix minor potential script issues using "echo" command

    Allows to start error with dash and having do not interpret escape
    sequences.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Fri Oct 13 11:37:58 2023 +0100

    tds: Fix conversion from NUMERIC -0 number to integers

    The weird number encoding failed to be converted to integers
    and was detected as overflow.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Fri Oct 13 09:24:14 2023 +0100

    tds: Report error from string_to_int8, do not override it

    Code similar to other similar funcions like string_to_int.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Mon Oct 9 19:57:13 2023 +0100

    ctlib: Add test for errors

    Check some errors from some functions to make sure they are
    consistent with proprietary library.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Mon Oct 9 19:33:45 2023 +0100

    ctlib: Allows to check last message in tests

    Add some utilities to save last message received from library.
    This will allow to check them after calling various CT-Library
    APIs.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Wed Oct 11 11:44:47 2023 +0100

    dblib: Add test for process limits

    Check that when limit is reached a proper error is reported.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Wed Oct 11 12:21:33 2023 +0100

    Improve previous patch

    Do not use TDS_DBG_FUNC but TDS_DBG_INFO1, FUNC is intended for
    function tracing like entering and exiting from a function.
    Rollback some not needed changes.
    Remove some obsolete code not even compiling (dbpivot.c).
    Allows longer lines.
    Use more proprietary compatible errors.
    Handle error for user API better passing context and connection.

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

    Don't log directly to stdout or stderr.

    * Substitute tdsdump_log, _csclient_msg, or dbperror as appropriate,
      introducing some new error codes for the latter two functions.
    * Make _csclient_msg non-static to allow use throughout ctlib.
    * From cs_convert, call _csclient_msg in addition to tdsdump_log.

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

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Wed Oct 11 13:38:47 2023 +0100

    ctlib: Add generic utilities to check function returns in tests

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Wed Oct 11 10:11:04 2023 +0100

    ctlib: Fix message number for idle state error

    The message number is specified as a byte.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Tue Oct 10 10:56:35 2023 +0100

    Use replacement getopt in tests

    Make Windows version more compatible.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Mon Oct 9 10:47:12 2023 +0100

    ctlib: Remove duplicated code for handling errors in tests

    Most of code printing errors and warnings was duplicated, reuse
    code in common.c.

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

    ctlib: Cleanup DIRNAME from tests code

    Not used.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Mon Oct 9 10:16:02 2023 +0100

    ctlib: Pass correct pointer calling ct_exit in tests

    Silly mistake.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sun Oct 8 22:58:00 2023 +0100

    ctlib: Assure context is de-initialised before calling cs_ctx_drop in tests

    Avoids cs_ctx_drop failures.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sun Oct 8 22:56:51 2023 +0100

    ctlib: Format message number from tests using hexadecimal

    The message number is composed by 4 parts (each one byte) so
    formatting as hexadecimal makes it more readable.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sun Oct 8 22:55:52 2023 +0100

    ctlib: Remove warning using proprietary library for tests

    ct_command accept a no-constant pointer for SQL command.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sun Oct 8 19:44:16 2023 +0100

    ctlib: Format message number from tests using hexadecimal

    The message number is composed by 4 parts (each one byte) so
    formatting as hexadecimal makes it more readable.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sun Oct 8 19:42:54 2023 +0100

    tds: Use bool in norm_fmt function

    Just style change.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Wed Oct 4 10:35:38 2023 +0100

    Use bool for some tds_cursor_XXX functions

    Just style change.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Thu Sep 28 09:13:22 2023 +0100

    Remove confusing warnings during compilation

    Strip ar warnings from nightly tests.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Thu Sep 28 08:39:38 2023 +0100

    tds: Minor updates on convert code

    Remove unused forward declarations.
    Remove obsolete comment.
    Reduce the scope of some variables.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Wed Sep 27 13:13:00 2023 +0100

    odbc: Reuse code in connection_string_parse test

    Most of the code was just repeated.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Wed Sep 27 12:33:01 2023 +0100

    odbc: Add test for connection string parsing

    Check parsing of not semicolon terminated parameter.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Tue Sep 26 20:21:17 2023 +0100

    tls: Add a test for OpenSSL hostname check

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Tue Sep 26 20:58:18 2023 +0100

    tls: Fix certificate hostname check for OpenSSL

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Tue Sep 26 14:17:16 2023 +0100

    Really minor code space updates

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Tue Sep 26 13:02:19 2023 +0100

    Fix typo in log (interupt -> interrupt)

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Tue Sep 26 13:01:51 2023 +0100

    Minor updates to manual files

    All changes from Debian packages.
    Minor typos.
    Minor formatting.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Tue Sep 26 13:00:27 2023 +0100

    Typos: information is uncountable in English

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Tue Sep 26 11:38:01 2023 +0100

    Update Autoconf to 2.71

    Add some compatibility for MacOS.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Mon Sep 25 12:58:44 2023 +0100

    dblib: Update dbcolptr

    Minor style change, more similar to dbacolptr.
    Potentially caching some values.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Mon Sep 25 12:58:04 2023 +0100

    dblib: Use bool for dbacolptr

    Minor style change

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sun Sep 24 09:54:22 2023 +0100

    odbc: Remove obsolete commented out code

    These settings were deprecated years ago, not reasons to keep them.

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sat Sep 23 14:27:27 2023 +0100

    doc: Update news page, add new release

Merge: 3107082a 369aed00
Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Sat Sep 23 10:59:17 2023 +0100

    Merge branch 'Branch-1_4'

Merge: cd75e139 dfe6ff23
Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Thu Sep 21 17:41:26 2023 +0100

    Merge branch 'Branch-1_4'

Merge: 68ebee23 3d3e006c
Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Mon Sep 18 17:53:47 2023 +0100

    Merge branch 'Branch-1_4'

Author: Frediano Ziglio <freddy77@gmail.com>
Date:   Tue Sep 12 14:45:24 2023 +0100

    cmake: Add ENABLE_MSDBLIB option

    Similar to configure --enable-msdblib.
    For compatibility with configure the option is disable by default.

