summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMark Brand <mabrand@mabrand.nl>2010-11-16 18:51:34 (GMT)
committerMark Brand <mabrand@mabrand.nl>2010-11-16 18:51:34 (GMT)
commitc98fe1b13381b1b678a19b133d03de06e63a022c (patch)
treeaa2a84ca89a53ce3c296f98e43c1673b402a40d2
parent9b5f1a29b7ec262f0706502035c0012bc9140851 (diff)
downloadmxe-c98fe1b13381b1b678a19b133d03de06e63a022c.zip
mxe-c98fe1b13381b1b678a19b133d03de06e63a022c.tar.gz
mxe-c98fe1b13381b1b678a19b133d03de06e63a022c.tar.bz2
upgrade package freetds to cvs
-rw-r--r--src/freetds-1-fastforward.patch156
1 files changed, 156 insertions, 0 deletions
diff --git a/src/freetds-1-fastforward.patch b/src/freetds-1-fastforward.patch
index 3c9737e..8373297 100644
--- a/src/freetds-1-fastforward.patch
+++ b/src/freetds-1-fastforward.patch
@@ -158218,3 +158218,159 @@ index 5b8e280..e76f035 100644
return NULL;
# elif defined(HAVE_FUNC_GETPWUID_R_4_PW)
+
+commit b4a1ed3da7c58fefd692a0ca36621c975dae4441
+Author: freddy77 <freddy77>
+Date: Tue Nov 16 13:25:15 2010 +0000
+
+ fix NTLMv2 on 64-bit machine
+
+diff --git a/ChangeLog b/ChangeLog
+index cde099a..6e8dea1 100644
+--- a/ChangeLog
++++ b/ChangeLog
+@@ -1,3 +1,6 @@
++Tue Nov 16 14:25:04 CET 2010 Frediano Ziglio <freddy77_A_gmail_D_com>
++ * configure.ac src/tds/challenge.c: fix NTLMv2 on 64-bit machine
++
+ Tue Nov 16 11:29:37 CET 2010 Frediano Ziglio <freddy77_A_gmail_D_com>
+ * src/tds/threadsafe.c:
+ - fix possible core (patch from Peter C. Norton)
+@@ -3000,4 +3003,4 @@ Wed Jan 9 19:54:43 EST 2008 JK Lowden <jklowden@freetds.org>
+ * ChangeLog-0.82 added because of release
+
+ $FreeTDS$
+-$Id: ChangeLog,v 1.3155 2010/11/16 10:29:56 freddy77 Exp $
++$Id: ChangeLog,v 1.3156 2010/11/16 13:25:15 freddy77 Exp $
+diff --git a/configure.ac b/configure.ac
+index b3b2633..1898af9 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -1,7 +1,7 @@
+ dnl Process this file with autoconf to produce a configure script.
+
+ dnl ------------------------------------------------------------
+-dnl $Id: configure.ac,v 1.58 2010/11/04 19:38:33 freddy77 Exp $
++dnl $Id: configure.ac,v 1.59 2010/11/16 13:25:15 freddy77 Exp $
+ dnl If you're trying to create a new configure test, try
+ dnl
+ dnl http://autogen.sourceforge.net/conftest.html
+@@ -15,7 +15,7 @@ dnl ------------------------------------------------------------
+ AC_INIT(FreeTDS, 0.83.dev.esyscmd(printf $(date +"%Y%m%d")))
+ AC_CONFIG_SRCDIR(src/dblib/dblib.c)
+ AC_PREREQ(2.53)
+-AC_REVISION($Revision: 1.58 $)
++AC_REVISION($Revision: 1.59 $)
+
+ AM_INIT_AUTOMAKE([dist-bzip2])
+ AC_CONFIG_HEADERS(include/config.h)
+@@ -276,6 +276,7 @@ AC_CHECK_HEADERS([ errno.h \
+ poll.h \
+ readpassphrase.h \
+ signal.h \
++ stddef.h \
+ sys/param.h \
+ sys/select.h \
+ sys/stat.h \
+diff --git a/src/tds/challenge.c b/src/tds/challenge.c
+index cea3307..0951f13 100644
+--- a/src/tds/challenge.c
++++ b/src/tds/challenge.c
+@@ -26,6 +26,10 @@
+ #include <stdlib.h>
+ #endif /* HAVE_STDLIB_H */
+
++#if HAVE_STDDEF_H
++#include <stddef.h>
++#endif /* HAVE_STDDEF_H */
++
+ #include <ctype.h>
+
+ #if HAVE_STRING_H
+@@ -45,7 +49,7 @@
+ #include <dmalloc.h>
+ #endif
+
+-TDS_RCSID(var, "$Id: challenge.c,v 1.45 2010/11/09 15:46:42 freddy77 Exp $");
++TDS_RCSID(var, "$Id: challenge.c,v 1.46 2010/11/16 13:25:15 freddy77 Exp $");
+
+ /**
+ * \ingroup libtds
+@@ -62,6 +66,11 @@ TDS_RCSID(var, "$Id: challenge.c,v 1.45 2010/11/09 15:46:42 freddy77 Exp $");
+ * The following code is based on some psuedo-C code from ronald@innovation.ch
+ */
+
++#ifndef offsetof
++# define offsetof(st, m) \
++ ((size_t) ( (char *)&((st *)(0))->m - (char *)0 ))
++#endif
++
+ typedef struct tds_answer
+ {
+ unsigned char lm_resp[24];
+@@ -79,6 +88,7 @@ typedef struct
+ TDS_UCHAR challenge[8];
+ TDS_UINT unknown;
+ /* target info block - variable length */
++ TDS_UCHAR target_info[4];
+ } names_blob_prefix_t;
+
+ static int
+@@ -96,7 +106,7 @@ convert_to_upper(char *buf, size_t len)
+ size_t i;
+
+ for (i = 0; i < len; i++)
+- buf[i] = toupper(buf[i]);
++ buf[i] = toupper((unsigned char) buf[i]);
+ }
+
+ static size_t
+@@ -282,8 +292,10 @@ tds_answer_challenge_ntlmv2(TDSSOCKET * tds,
+ if (!*ntlm_v2_response)
+ return TDS_FAIL;
+
+- /* local not supported, avoid NTLM2 */
+- *flags &= ~(0x80000|0x4000);
++ memset(ntlm_v2_hash, 0, sizeof(ntlm_v2_hash));
++
++ /* local not supported */
++ *flags &= ~0x4000;
+ return TDS_SUCCEED;
+ }
+
+@@ -436,7 +448,7 @@ tds7_send_auth(TDSSOCKET * tds,
+
+ unsigned char *ntlm_v2_response = NULL;
+ unsigned int ntlm_response_len = 24;
+- unsigned int lm_response_len = 24;
++ const unsigned int lm_response_len = 24;
+
+ TDSCONNECTION *connection = tds->connection;
+
+@@ -465,8 +477,6 @@ tds7_send_auth(TDSSOCKET * tds,
+ return rc;
+
+ ntlm_response_len = ntlm_v2_response ? 16 + names_blob_len : 24;
+- lm_response_len = ntlm_v2_response ? 0 : 24;
+- /* lm_response_len = 24; */
+ /* ntlm_response_len = 0; */
+
+ tds->out_flag = TDS7_AUTH;
+@@ -681,7 +691,7 @@ tds_ntlm_handle_next(TDSSOCKET * tds, struct tds_authentication * auth, size_t l
+ * Search "davenport port"
+ * (currently http://davenport.sourceforge.net/ntlm.html)
+ */
+- names_blob_len = sizeof(names_blob_prefix_t) + target_info_len + 4;
++ names_blob_len = offsetof(names_blob_prefix_t, target_info) + target_info_len + 4;
+
+ /* read Target Info */
+ names_blob = (unsigned char *) calloc(names_blob_len, 1);
+@@ -689,7 +699,7 @@ tds_ntlm_handle_next(TDSSOCKET * tds, struct tds_authentication * auth, size_t l
+ return TDS_FAIL;
+
+ fill_names_blob_prefix((names_blob_prefix_t *) names_blob);
+- tds_get_n(tds, names_blob + sizeof(names_blob_prefix_t), target_info_len);
++ tds_get_n(tds, names_blob + offsetof(names_blob_prefix_t, target_info), target_info_len);
+ where += target_info_len;
+ } else {
+ names_blob = NULL;