From 5ed85154427c3a062d4169cab7020baf805f2987 Mon Sep 17 00:00:00 2001 From: fandehui Date: Thu, 28 Dec 2023 18:18:14 +0800 Subject: [PATCH] Fix some collation encoding detection Serbian_Latin_100 is CP1250. Bashkir_100, Bosnian_Cyrillic_100 and Yakut_100 are CP1251. Signed-off-by: fandehui (cherry picked from commit 96e0aa3ac5a20b999ebe5348e7e037258705f251) --- Fix-some-collation-encoding-detection.patch | 60 +++++++++++++++++++++ freetds.spec | 6 ++- 2 files changed, 65 insertions(+), 1 deletion(-) create mode 100644 Fix-some-collation-encoding-detection.patch diff --git a/Fix-some-collation-encoding-detection.patch b/Fix-some-collation-encoding-detection.patch new file mode 100644 index 0000000..eb676f5 --- /dev/null +++ b/Fix-some-collation-encoding-detection.patch @@ -0,0 +1,60 @@ +From ee60a8809aad1c632cf7e492ab0336ff7dde9843 Mon Sep 17 00:00:00 2001 +From: Frediano Ziglio +Date: Fri, 1 Mar 2019 09:55:07 +0000 +Subject: [PATCH] Fix some collation encoding detection + +Serbian_Latin_100 is CP1250. +Bashkir_100, Bosnian_Cyrillic_100 and Yakut_100 are CP1251. + +Signed-off-by: Frediano Ziglio +--- + src/tds/iconv.c | 9 ++++----- + 1 file changed, 4 insertions(+), 5 deletions(-) + +diff --git a/src/tds/iconv.c b/src/tds/iconv.c +index 5aa9ce9f..5b828fa1 100644 +--- a/src/tds/iconv.c ++++ b/src/tds/iconv.c +@@ -1033,7 +1033,7 @@ collate2charset(int sql_collate, int lcid) + case 0x41c: + case 0x424: + case 0x442: +- /* case 0x81a: seem wrong in XP table TODO check */ ++ case 0x81a: + case 0x104e: /* ?? */ + case 0x141a: + cp = TDS_CHARSET_CP1250; +@@ -1047,10 +1047,12 @@ collate2charset(int sql_collate, int lcid) + case 0x440: + case 0x444: + case 0x450: +- case 0x81a: /* ?? */ + case 0x82c: + case 0x843: + case 0xc1a: ++ case 0x46d: ++ case 0x201a: ++ case 0x485: + cp = TDS_CHARSET_CP1251; + break; + case 0x1007: +@@ -1066,7 +1068,6 @@ collate2charset(int sql_collate, int lcid) + case 0x180c: + case 0x1c09: + case 0x1c0a: +- case 0x201a: + case 0x2009: + case 0x200a: + case 0x2409: +@@ -1114,8 +1115,6 @@ collate2charset(int sql_collate, int lcid) + case 0x440a: + case 0x441: + case 0x456: +- case 0x46d: +- case 0x485: + case 0x480a: + case 0x4c0a: + case 0x500a: +-- +2.27.0 + diff --git a/freetds.spec b/freetds.spec index b11f934..4a96d32 100644 --- a/freetds.spec +++ b/freetds.spec @@ -1,7 +1,7 @@ Name: freetds Summary: Implementation of the TDS (Tabular DataStream) protocol Version: 1.00.38 -Release: 9 +Release: 10 License: LGPLv2+ and GPLv2+ URL: http://www.freetds.org/ @@ -9,6 +9,7 @@ Source0: ftp://ftp.freetds.org/pub/freetds/stable/freetds-%{version}.tar.b Source1: freetds-tds_sysdep_public.h Patch0: CVE-2019-13508.patch Patch1: ctlib-Fix-cs_will_convert.patch +Patch2: Fix-some-collation-encoding-detection.patch BuildRequires: unixODBC-devel readline-devel gnutls-devel krb5-devel BuildRequires: libgcrypt-devel libtool doxygen docbook-style-dsssl @@ -121,6 +122,9 @@ rm -rf $RPM_BUILD_ROOT %changelog +* Thu Dec 28 2023 fandehui - 1.00.38-10 +- Fix some collation encoding detection + * Thu Dec 28 2023 fandehui - 1.00.38-9 - ctlib: Fix cs_will_convert