Path to this page:
Subject: CVS commit: pkgsrc/databases/unixodbc
From: Thomas Klausner
Date: 2018-01-11 00:07:01
Message id: 20180110230701.9324AFBDE@cvs.NetBSD.org
Log Message:
unixodbc: update to 2.3.5.
2-Jan-2018
2.3.5
* Add configure option --enable-setlibversion set mark the libs with VERS_3.52
Linux only, so any driver built with the libs will work with closed source
DM's
* Add persistent storage of isql command line history if readline() is used \
(thanks Axel)
* Rename some local mutex functions to avoid name clashes
* Assorted fixes (Thanks Markus * 2)
* Fix regression in ini caching
* Make SQLDrivers look in user as well as system odbcinst.ini for driver \
attributes
* If in use, clear the ini cache when a write is done via \
SQLWritePrivateProfileString() so
the new value is read
* Fix problem with pooling if the environment was released by the application
* Add check for SQL_COLUMN_COUNT in SQLColAttribute
* isql would not display long error messages. Fixed now.
* Fix problem calling the driver to report errors if the error is from the \
DM and the driver
has not been called
* SQLSetConnectAttrW crashes when attempting to set SQL_ATTR_LOGIN_TIMEOUT
* Buffer overflow in unicode_to_ansi_copy()
* SQLDriverConnect with not-found FILEDSN causes crash
* SQLGetDescRec with null name pointer causes crash
* Connection string escaping does not work
* SQLDriverConnect/W with very long driver name causes crash
* Connection string with trailing empty value causes crash
* Freeing explicitly allocated descriptor results in writing to freed memory
* Buffer overflows and missing null checks in SQLConfigDataSource, \
SQLInstallDriverEx, and SQLWriteFileDSN
* Statement enters incorrect state upon SQLExecDirectW returning SQL_NO_DATA
* SQLBulkOperations fails to exit async state after success
* SQLFreeStmt causes prepared statements in S1 or S2 to erroneously \
transition to S3
* Buffer length fixes for SQLGetDiagField
* SQLSetConnectAttrW and Unicode string pre-connect attributes do not work
* SQLGetData and SQLSetPos async states are incorrect
* Various string conversion and length issues in SQLColAttribute(s)
* Missing buffer length check in SQLColAttribute(s)W
* SQLGetStmtAttr state handling incorrect in S5, S6, and S7 (via \
SQLExtendedFetch)
* SQLSetPos and SQLExtendedFetch state management fixes
* SQLExecDirect/W erroneous transition to S1 upon error in S5
* Async SQLGetData and SQLExecDirect/W fails to restore state upon cancellation
* SQLFetchScroll cannot move cursor back into the rowset
* SQLSetDescField doesn't adjust the length of the buffer when converting to \
unicode
* SQLGetDescField/W and SQLSetDescField/W do not check for negative buffer \
lengths
* SQLSetStmtAttrW SQL_ATTR_APP_PARAM_DESC and SQL_ATTR_APP_ROW_DESC does not \
accept null
* SQLGetData async state reentrancy issues
* SQLDriversW off-by-one in enumerating driver list
* SQLPrimaryKeys does not pass length in characters to driver
* SQLGetConnectAttr with string attributes truncates to half buffer length
* SQLTransact with autocommit enabled erroneously changes statement state
* SQLDataSources/W fails to reset list position upon end
* SQLGetEnvAttr successfully returns unset SQL_ATTR_ODBC_VERSION
* Lack of SQL_HANDLE_SENV support
* SQLAllocEnv fails to set environment version correctly
* SQLMoreResults with streamed output parameters returns unexpected HY010
* Custom pre-connect pointer attributes are truncated to 32 bits
* 08003 message should be "Connection not open"
* SQL_ATTR_ACCESS_MODE set using SQLSetConnectOption/W before connecting \
does not persist after disconnecting
* SQL_ATTR_AUTOCOMMIT incorrect default value before connecting
* SQL_AUTOCOMMIT set using SQLSetConnectOption/W before connecting does not \
persist after disconnecting
* SQLAllocHandle/SQLFreeHandle with invalid handle type should return \
SQL_INVALID_HANDLE
* SQLAllocHandleStd not setting ODBC version correctly
* SQLBindParameter does not ignore BufferLength for DAE parameters
* SQLBindParameter does not ignore BufferLength for fixed-length parameters
* SQLBindParameter returns "Invalid application buffer type" \
instead of " Program type out of range"
* SQLCancel with 01S05 returned from driver should result in SQL_SUCCESS, \
not SQL_SUCCESS_WITH_INFO
(see https://msdn.microsoft.com/en-us/library/aa392708(v=vs.85).aspx )
* SQLColAttribute/SQLColAttributes should return number of bytes needed for \
Unicode string when truncating
* SQLColumnPrivileges/W differing error message precedence from Windows DM \
and order in ODBC spec
* SQLColumns/W extraneous checks on null string's length
* SQLCopyDesc does not copy descriptors across connections correctly
* SQLDescribeParam extraneous checks for state
* SQLDriverConnect/W adds extraneous DM prefix to diagnostic messages
* SQLDriversW before ODBC version set returns incorrect SQLSTATE
* SQLFetch in state S7 does not return error from DM
* SQLFetchScroll missing check for SQL_FETCH_BOOKMARK
* SQLForeignKeys/W missing check for null table names
* SQLGetConnectAttr/W erroneously retrieves attributes with no default \
(SQL_ATTR_PACKET_SIZE, SQL_ATTR_QUIET_MODE)
* SQLGetConnectAttr/W fails to get some set attributes before connecting
* SQLGetConnectAttr/W fails to retrieve set attributes with no connection
* SQLGetConnectAttrW returns incorrect value for SQL_ATTR_TRACE
* SQLGetConnectOption/W cannot retrieve SQL_ODBC_CURSORS before connection
* SQLGetConnectOption/W fails to retrieve SQL_LOGIN_TIMEOUT before connecting
* SQLGetConnectOption/W fails to retrieve SQL_ATTR_ACCESS_MODE set with \
SQLSetConnectOption/W
* SQLGetData and SQLSetPos async states are incorrect
* SQLGetData missing check for cursor end indication; SQLSetCursorName/W \
fails to clear previous diagnostic records
* SQLGetDiagField/W does not check record number for SQL_DIAG_ROW_COUNT and \
SQL_DIAG_DYNAMIC_FUNCTION_CODE
* SQLGetDiagField/W missing check for negative buffer length for string fields
* SQLGetDiagField/W inconsistent handling of statement-only diagnostic fields
* SQLGetInstalledDrivers off-by-one length
* SQLGetStmtOption various state handling issues
* SQLSetConnectAttr/W SQL_ATTR_CURRENT_CATALOG extraneous check with error 24000
* SQLSetConnectAttr/W does not prevent attempts to set ODBC 3.x statement \
attributes
* SQLSetConnectAttr/W with null string attributes causes crash
* SQLSetConnectOption passes SQL_ATTR_TRACEFILE to the driver
* SQLSetConnectOption/W or SQLSetConnectAttr/W missing validity checks for \
SQL_ATTR_TXN_ISOLATION
* SQLSetConnectOption/W setting SQL_ATTR_TRACEFILE to null results in \
different error
* SQLSetCursorName/W missing checks for negative name length
* SQLSetDescField/W missing check for negative SQL_DESC_COUNT
* SQLSetParam missing various error checks for invalid data types and buffer
* SQLSetPos does not check for state S5
* SQLSetPos missing checks in state S7
* SQLSetScrollOptions various state handling issues
* SQLSetStmtOption/W missing check for positive rowset sizes
* SQLSpecialColumns/W error precedence differs from Windows DM
* SQLSpecialColumns/W incorrect check for SQL_NTS string lengths
* SQLStatisticsW uniqueness parameter missing validation
* SQLTablePrivileges/W extraneous checks on null string's length
* Various issues with SQLGetFunctions
* Various string conversion and length issues in SQLColAttribute; missing \
buffer length check in SQLColAttributeW
* As above, but for SQLColAttributes and SQLColAttributesW; incorrect check \
for SQL_COLUMN_COUNT
* Setting SQL_ATTR_TRACEFILE to null value results in different error
* check_target_type allows driver-specific C data types for ODBC < 3.8
* fix empty SQL_DIAG_SERVER_NAME field in DM-supplied diag recs
* fix differing behaviour for an empty string DSN in SQLConnect/W
* Alter isql to return errors from SQLMoreResults
* Handle case of building on mingw-w64
Files: