diff --git a/0001-property_list_service-do-not-strip-non-ASCII-charact.patch b/0001-property_list_service-do-not-strip-non-ASCII-charact.patch new file mode 100644 index 0000000..7711839 --- /dev/null +++ b/0001-property_list_service-do-not-strip-non-ASCII-charact.patch @@ -0,0 +1,27 @@ +From 060e3f2683ed2b0b08e1a31deb9608a99e193b4a Mon Sep 17 00:00:00 2001 +From: Christophe Fergeau +Date: Tue, 26 Jun 2012 00:03:30 +0200 +Subject: [PATCH] property_list_service: do not strip non-ASCII characters from + XML plists + +'content' is declared as char content[] so if char is signed, all characters with the high bit set will be negative so they will be < 0x20. This means the code will strip all non-ASCII (multi-byte) UTF-8 characters and replace them with spaces. This commit fixes it now by really only considering ASCII characters. +--- + src/property_list_service.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/property_list_service.c b/src/property_list_service.c +index 8634864..c9a8edf 100644 +--- a/src/property_list_service.c ++++ b/src/property_list_service.c +@@ -250,7 +250,7 @@ static property_list_service_error_t internal_plist_receive_timeout(property_lis + } else { + /* iOS 4.3+ hack: plist data might contain invalid characters, thus we convert those to spaces */ + for (bytes = 0; bytes < pktlen-1; bytes++) { +- if ((content[bytes] < 0x20) && (content[bytes] != 0x09) && (content[bytes] != 0x0a) && (content[bytes] != 0x0d)) ++ if ((content[bytes] >= 0) && (content[bytes] < 0x20) && (content[bytes] != 0x09) && (content[bytes] != 0x0a) && (content[bytes] != 0x0d)) + content[bytes] = 0x20; + } + plist_from_xml(content, pktlen, plist); +-- +1.8.1.2 + diff --git a/libimobiledevice.spec b/libimobiledevice.spec index de8a08d..d7458ae 100644 --- a/libimobiledevice.spec +++ b/libimobiledevice.spec @@ -6,7 +6,7 @@ Name: libimobiledevice Version: 1.1.4 -Release: 5%{?dist} +Release: 6%{?dist} Summary: Library for connecting to mobile devices Group: System Environment/Libraries @@ -31,6 +31,7 @@ Obsoletes: libimobiledevice-python < %{version}-%{release} %endif Patch0: 0001-Don-t-crash-if-HOME-is-empty.patch +Patch1: 0001-property_list_service-do-not-strip-non-ASCII-charact.patch %description libimobiledevice is a library for connecting to mobile devices including phones @@ -55,6 +56,7 @@ Python bindings for libimobiledevice. %prep %setup -q %patch0 -p1 -b .empty-home +%patch1 -p1 -b .multi-byte-name # Fix dir permissions on html docs chmod +x docs/html @@ -98,6 +100,10 @@ find %{buildroot} -name '*.la' -exec rm -f {} ';' %endif %changelog +* Thu Feb 21 2013 Bastien Nocera 1.1.4-6 +- Add patch to avoid multi-byte characters from being stripped + from the device name + * Thu Feb 14 2013 Fedora Release Engineering - 1.1.4-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild