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
This commit is contained in:
wiz 2018-01-10 23:07:01 +00:00
parent 8038ecb6a7
commit ee493c2ac1
14 changed files with 7 additions and 225 deletions

View file

@ -1,6 +1,6 @@
# $NetBSD: Makefile,v 1.37 2016/02/14 10:19:22 jperkin Exp $
# $NetBSD: Makefile,v 1.38 2018/01/10 23:07:01 wiz Exp $
DISTNAME= unixODBC-2.3.4
DISTNAME= unixODBC-2.3.5
PKGNAME= ${DISTNAME:S/ODBC/odbc/}
CATEGORIES= databases
MASTER_SITES= ftp://ftp.unixodbc.org/pub/unixODBC/

View file

@ -1,18 +1,6 @@
$NetBSD: distinfo,v 1.15 2015/11/04 17:41:16 agc Exp $
$NetBSD: distinfo,v 1.16 2018/01/10 23:07:01 wiz Exp $
SHA1 (unixODBC-2.3.4.tar.gz) = df3578b080fb67da544d4c83424a770729ef25fb
RMD160 (unixODBC-2.3.4.tar.gz) = 4188d9ccfa849c569626af0e2686289ad830fd73
SHA512 (unixODBC-2.3.4.tar.gz) = 34799777c95539905d4bbe60ad2b83631a31a68483b6be96dba25f80fa2fff4624ba170078097c942f2206873776d179d7d02a340598c4627f8723eb6f083a26
Size (unixODBC-2.3.4.tar.gz) = 1830660 bytes
SHA1 (patch-aa) = b0c9295a16207176eb01fa7fbbed8790d9f9dbb8
SHA1 (patch-ac) = 8925e66b81fa8896badcafda6af5dae9edbda753
SHA1 (patch-ad) = b2e695d8c8c682c99af80e362369b0295070c1ab
SHA1 (patch-ag) = 1be22add8724176cf97c2e7c78fc069638c3c386
SHA1 (patch-ah) = c41fa43603565129ada33fca55929c5ce6c14835
SHA1 (patch-ai) = 0d7486a67cfab18ae78127e2b9ec8b5de9196ad8
SHA1 (patch-aj) = fbb9a619ce1cb648abc3441ac0b214d0cd256474
SHA1 (patch-ak) = c5b3b0d7c8888f18b7534dfd787d9c90fecbf943
SHA1 (patch-al) = 350c2562cad9b72e41a5f3cb38df39e4f5624199
SHA1 (patch-am) = 095ed0aa4e5882160fbf50d53c09ea23eafe1589
SHA1 (patch-an) = e3ce589f9dd7e97fa1dac43b9fbe981a352e8f0b
SHA1 (patch-ao) = db7d39c31e478162afa48e3effde2d60f0f6cc46
SHA1 (unixODBC-2.3.5.tar.gz) = 22b9254626d303be95d1eeafa34d452a45792545
RMD160 (unixODBC-2.3.5.tar.gz) = 72ed87df0d59ce6a7c5459e1ca72e585c8619d51
SHA512 (unixODBC-2.3.5.tar.gz) = 94b5ebb887571f4fa801ae4305cd6cb4eb0d03682fac1eb0422cdd13b046b077e60bff8286c578b0b5e291cfbc0bc8695495e39c3713858d2eeb7b38459397d5
Size (unixODBC-2.3.5.tar.gz) = 1633390 bytes

View file

@ -1,14 +0,0 @@
$NetBSD: patch-aa,v 1.7 2015/04/26 11:37:08 ryoon Exp $
--- Makefile.in.orig 2013-10-08 08:56:01.000000000 +0000
+++ Makefile.in
@@ -827,9 +827,6 @@ uninstall-am:
install-data-am:
- -touch $(DESTDIR)${sysconfdir}/odbcinst.ini
- -touch $(DESTDIR)${sysconfdir}/odbc.ini
- -mkdir -p $(DESTDIR)${sysconfdir}/ODBCDataSources
cp unixodbc_conf.h $(DESTDIR)${includedir}/unixodbc_conf.h
# Tell versions [3.59,3.63) of GNU make to not export all variables.

View file

@ -1,14 +0,0 @@
$NetBSD: patch-ac,v 1.2 2010/05/03 02:10:43 jnemeth Exp $
--- Drivers/Postgre7.1/md5.h.orig 2009-12-11 16:54:08.000000000 +0000
+++ Drivers/Postgre7.1/md5.h
@@ -13,6 +13,9 @@
#include <stdlib.h>
#include <string.h>
+#ifdef __APPLE__
+#include <stdbool.h>
+#endif
#define MD5_PASSWD_LEN 35

View file

@ -1,26 +0,0 @@
$NetBSD: patch-ad,v 1.1 2009/10/21 04:21:27 taca Exp $
* Call function_return with IGNORE_THREAD to prevent calling
thread_release() since thread_protect() isn't called this "default:"
case .
--- DriverManager/SQLAllocHandle.c.orig 2007-12-17 22:13:03.000000000 +0900
+++ DriverManager/SQLAllocHandle.c
@@ -1244,7 +1244,7 @@ SQLRETURN __SQLAllocHandle( SQLSMALLINT
ERROR_HY092, NULL,
environment -> requested_version );
- return function_return( SQL_HANDLE_ENV, environment, SQL_ERROR );
+ return function_return( IGNORE_THREAD, environment, SQL_ERROR );
}
else if ( __validate_dbc( (DMHDBC) input_handle ))
{
@@ -1253,7 +1253,7 @@ SQLRETURN __SQLAllocHandle( SQLSMALLINT
ERROR_HY092, NULL,
connection -> environment -> requested_version );
- return function_return( SQL_HANDLE_DBC, connection, SQL_ERROR );
+ return function_return( IGNORE_THREAD, connection, SQL_ERROR );
}
else
{

View file

@ -1,14 +0,0 @@
$NetBSD: patch-ag,v 1.1 2009/10/21 04:21:27 taca Exp $
* Call function_return() with IGNORE_THREAD since __SQLGetInfo() is already
called and __SQLGetInfo() calls function_return().
--- DriverManager/SQLGetInfo.c.orig 2008-09-29 23:02:45.000000000 +0900
+++ DriverManager/SQLGetInfo.c
@@ -611,5 +611,5 @@ SQLRETURN SQLGetInfo( SQLHDBC connection
connection -> msg );
}
- return function_return( SQL_HANDLE_DBC, connection, ret );
+ return function_return( IGNORE_THREAD, connection, ret );
}

View file

@ -1,15 +0,0 @@
$NetBSD: patch-ah,v 1.3 2015/04/26 11:37:08 ryoon Exp $
* Call function_return() with IGNORE_THREAD after calling thread_release().
--- DriverManager/SQLTransact.c.orig 2013-04-15 15:41:25.000000000 +0000
+++ DriverManager/SQLTransact.c
@@ -472,7 +472,7 @@ SQLRETURN SQLTransact( SQLHENV environme
thread_release( SQL_HANDLE_ENV, environment );
- return function_return( SQL_HANDLE_ENV, environment, SQL_ERROR );
+ return function_return( IGNORE_THREAD, environment, SQL_ERROR );
}
}
else if ( CHECK_SQLENDTRAN( connection ))

View file

@ -1,18 +0,0 @@
$NetBSD: patch-ai,v 1.2 2015/04/26 11:37:08 ryoon Exp $
* Release connection->mutex before destroy it when
connection->protection_level isn't TS_LEVEL3 since it causes destroying
locked mutex when explicitly specifies "Threading" parameter in
odbcinst.ini. I don't know the case using LIBTHREAD.
--- DriverManager/__handles.c.orig 2013-06-06 14:34:38.000000000 +0000
+++ DriverManager/__handles.c
@@ -742,6 +742,8 @@ void __release_dbc( DMHDBC connection )
#ifdef HAVE_LIBPTH
#elif HAVE_LIBPTHREAD
+ if ( connection -> protection_level != TS_LEVEL3)
+ mutex_exit( &connection -> mutex );
pthread_mutex_destroy( &connection -> mutex );
#elif HAVE_LIBTHREAD
mutex_destroy( &connection -> mutex );

View file

@ -1,31 +0,0 @@
$NetBSD: patch-aj,v 1.2 2015/04/26 11:37:08 ryoon Exp $
--- libltdl/Makefile.in.orig 2013-04-15 15:42:37.000000000 +0000
+++ libltdl/Makefile.in
@@ -427,7 +427,7 @@ distclean-hdr:
-rm -f config.h stamp-h1
install-libLTLIBRARIES: $(lib_LTLIBRARIES)
@$(NORMAL_INSTALL)
- test -z "$(libdir)" || $(MKDIR_P) "$(DESTDIR)$(libdir)"
+ test -z "$(DESTDIR)$(libdir)" || $(MKDIR_P) "$(DESTDIR)$(libdir)"
@list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
list2=; for p in $$list; do \
if test -f $$p; then \
@@ -667,7 +667,7 @@ distclean-libtool:
-rm -f libtool config.lt
install-includeHEADERS: $(include_HEADERS)
@$(NORMAL_INSTALL)
- test -z "$(includedir)" || $(MKDIR_P) "$(DESTDIR)$(includedir)"
+ test -z "$(DESTDIR)$(includedir)" || $(MKDIR_P) "$(DESTDIR)$(includedir)"
@list='$(include_HEADERS)'; test -n "$(includedir)" || list=; \
for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
@@ -687,7 +687,7 @@ uninstall-includeHEADERS:
cd "$(DESTDIR)$(includedir)" && rm -f $$files
install-ltdlincludeHEADERS: $(ltdlinclude_HEADERS)
@$(NORMAL_INSTALL)
- test -z "$(ltdlincludedir)" || $(MKDIR_P) "$(DESTDIR)$(ltdlincludedir)"
+ test -z "$(DESTDIR)$(ltdlincludedir)" || $(MKDIR_P) "$(DESTDIR)$(ltdlincludedir)"
@list='$(ltdlinclude_HEADERS)'; test -n "$(ltdlincludedir)" || list=; \
for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \

View file

@ -1,13 +0,0 @@
$NetBSD: patch-ak,v 1.1 2010/05/03 02:10:43 jnemeth Exp $
--- DriverManager/Makefile.in.orig 2010-04-26 02:28:44.000000000 +0000
+++ DriverManager/Makefile.in
@@ -483,7 +483,7 @@ $(ACLOCAL_M4): $(am__aclocal_m4_deps)
$(am__aclocal_m4_deps):
install-libLTLIBRARIES: $(lib_LTLIBRARIES)
@$(NORMAL_INSTALL)
- test -z "$(libdir)" || $(MKDIR_P) "$(DESTDIR)$(libdir)"
+ test -z "$(DESTDIR)$(libdir)" || $(MKDIR_P) "$(DESTDIR)$(libdir)"
@list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
list2=; for p in $$list; do \
if test -f $$p; then \

View file

@ -1,13 +0,0 @@
$NetBSD: patch-al,v 1.1 2010/05/03 02:10:43 jnemeth Exp $
--- cur/Makefile.in.orig 2010-04-26 02:28:43.000000000 +0000
+++ cur/Makefile.in
@@ -388,7 +388,7 @@ $(ACLOCAL_M4): $(am__aclocal_m4_deps)
$(am__aclocal_m4_deps):
install-libLTLIBRARIES: $(lib_LTLIBRARIES)
@$(NORMAL_INSTALL)
- test -z "$(libdir)" || $(MKDIR_P) "$(DESTDIR)$(libdir)"
+ test -z "$(DESTDIR)$(libdir)" || $(MKDIR_P) "$(DESTDIR)$(libdir)"
@list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
list2=; for p in $$list; do \
if test -f $$p; then \

View file

@ -1,13 +0,0 @@
$NetBSD: patch-am,v 1.1 2010/05/03 02:10:43 jnemeth Exp $
--- exe/Makefile.in.orig 2010-04-26 02:28:44.000000000 +0000
+++ exe/Makefile.in
@@ -319,7 +319,7 @@ $(ACLOCAL_M4): $(am__aclocal_m4_deps)
$(am__aclocal_m4_deps):
install-binPROGRAMS: $(bin_PROGRAMS)
@$(NORMAL_INSTALL)
- test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)"
+ test -z "$(DESTDIR)$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)"
@list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
for p in $$list; do echo "$$p $$p"; done | \
sed 's/$(EXEEXT)$$//' | \

View file

@ -1,13 +0,0 @@
$NetBSD: patch-an,v 1.1 2010/05/03 02:10:43 jnemeth Exp $
--- include/Makefile.in.orig 2010-04-26 02:28:43.000000000 +0000
+++ include/Makefile.in
@@ -301,7 +301,7 @@ clean-libtool:
-rm -rf .libs _libs
install-includeHEADERS: $(include_HEADERS)
@$(NORMAL_INSTALL)
- test -z "$(includedir)" || $(MKDIR_P) "$(DESTDIR)$(includedir)"
+ test -z "$(DESTDIR)$(includedir)" || $(MKDIR_P) "$(DESTDIR)$(includedir)"
@list='$(include_HEADERS)'; test -n "$(includedir)" || list=; \
for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \

View file

@ -1,22 +0,0 @@
$NetBSD: patch-ao,v 1.1 2010/05/03 02:10:43 jnemeth Exp $
--- odbcinst/Makefile.in.orig 2010-04-26 02:28:43.000000000 +0000
+++ odbcinst/Makefile.in
@@ -440,7 +440,7 @@ $(ACLOCAL_M4): $(am__aclocal_m4_deps)
$(am__aclocal_m4_deps):
install-libLTLIBRARIES: $(lib_LTLIBRARIES)
@$(NORMAL_INSTALL)
- test -z "$(libdir)" || $(MKDIR_P) "$(DESTDIR)$(libdir)"
+ test -z "$(DESTDIR)$(libdir)" || $(MKDIR_P) "$(DESTDIR)$(libdir)"
@list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
list2=; for p in $$list; do \
if test -f $$p; then \
@@ -557,7 +557,7 @@ clean-libtool:
-rm -rf .libs _libs
install-sysconfDATA: $(sysconf_DATA)
@$(NORMAL_INSTALL)
- test -z "$(sysconfdir)" || $(MKDIR_P) "$(DESTDIR)$(sysconfdir)"
+ test -z "$(DESTDIR)$(sysconfdir)" || $(MKDIR_P) "$(DESTDIR)$(sysconfdir)"
@list='$(sysconf_DATA)'; test -n "$(sysconfdir)" || list=; \
for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \