diff options
Diffstat (limited to 'app-pda/libimobiledevice/files/libimobiledevice-1.3.0-python.patch')
| -rw-r--r-- | app-pda/libimobiledevice/files/libimobiledevice-1.3.0-python.patch | 223 |
1 files changed, 0 insertions, 223 deletions
diff --git a/app-pda/libimobiledevice/files/libimobiledevice-1.3.0-python.patch b/app-pda/libimobiledevice/files/libimobiledevice-1.3.0-python.patch deleted file mode 100644 index 28ca6da51ebd..000000000000 --- a/app-pda/libimobiledevice/files/libimobiledevice-1.3.0-python.patch +++ /dev/null @@ -1,223 +0,0 @@ -https://github.com/libimobiledevice/libimobiledevice/pull/685 - -From fb337f26c8e58ed0ce0750f7899ccbd5da203dee Mon Sep 17 00:00:00 2001 -From: wendyisgr33n <wendyisgr33n@gmail.com> -Date: Mon, 30 Jul 2018 10:43:57 -0700 -Subject: [PATCH 1/5] Fixed AFC afc.pxi definitions for Python2/3 - compatibility. Added missing public method 'remove_path_and_contents' - ---- a/cython/afc.pxi -+++ b/cython/afc.pxi -@@ -52,6 +52,7 @@ cdef extern from "libimobiledevice/afc.h": - afc_error_t afc_read_directory(afc_client_t client, char *dir, char ***list) - afc_error_t afc_get_file_info(afc_client_t client, char *filename, char ***infolist) - afc_error_t afc_remove_path(afc_client_t client, char *path) -+ afc_error_t afc_remove_path_and_contents(afc_client_t client, char *path) - afc_error_t afc_rename_path(afc_client_t client, char *f, char *to) - afc_error_t afc_make_directory(afc_client_t client, char *dir) - afc_error_t afc_truncate(afc_client_t client, char *path, uint64_t newsize) -@@ -235,17 +236,17 @@ cdef class AfcClient(BaseService): - afc_file_mode_t c_mode - uint64_t handle - AfcFile f -- if mode == <bytes>'r': -+ if mode == b'r': - c_mode = AFC_FOPEN_RDONLY -- elif mode == <bytes>'r+': -+ elif mode == b'r+': - c_mode = AFC_FOPEN_RW -- elif mode == <bytes>'w': -+ elif mode == b'w': - c_mode = AFC_FOPEN_WRONLY -- elif mode == <bytes>'w+': -+ elif mode == b'w+': - c_mode = AFC_FOPEN_WR -- elif mode == <bytes>'a': -+ elif mode == b'a': - c_mode = AFC_FOPEN_APPEND -- elif mode == <bytes>'a+': -+ elif mode == b'a+': - c_mode = AFC_FOPEN_RDAPPEND - else: - raise ValueError("mode string must be 'r', 'r+', 'w', 'w+', 'a', or 'a+'") -@@ -282,6 +283,9 @@ cdef class AfcClient(BaseService): - cpdef remove_path(self, bytes path): - self.handle_error(afc_remove_path(self._c_client, path)) - -+ cpdef remove_path_and_contents(self, bytes path): -+ self.handle_error(afc_remove_path_and_contents(self._c_client, path)) -+ - cpdef rename_path(self, bytes f, bytes t): - self.handle_error(afc_rename_path(self._c_client, f, t)) - -@@ -308,17 +312,17 @@ cdef class Afc2Client(AfcClient): - afc_file_mode_t c_mode - uint64_t handle - AfcFile f -- if mode == <bytes>'r': -+ if mode == b'r': - c_mode = AFC_FOPEN_RDONLY -- elif mode == <bytes>'r+': -+ elif mode == b'r+': - c_mode = AFC_FOPEN_RW -- elif mode == <bytes>'w': -+ elif mode == b'w': - c_mode = AFC_FOPEN_WRONLY -- elif mode == <bytes>'w+': -+ elif mode == b'w+': - c_mode = AFC_FOPEN_WR -- elif mode == <bytes>'a': -+ elif mode == b'a': - c_mode = AFC_FOPEN_APPEND -- elif mode == <bytes>'a+': -+ elif mode == b'a+': - c_mode = AFC_FOPEN_RDAPPEND - else: - raise ValueError("mode string must be 'r', 'r+', 'w', 'w+', 'a', or 'a+'") - -From b71e8935949a1d6f419a3f783d804809fb4c309b Mon Sep 17 00:00:00 2001 -From: wendyisgr33n <wendyisgr33n@gmail.com> -Date: Mon, 30 Jul 2018 10:44:40 -0700 -Subject: [PATCH 2/5] Fixed debugserver.pxi PyString_AsString compatibility - with Python3 - ---- a/cython/debugserver.pxi -+++ b/cython/debugserver.pxi -@@ -44,7 +44,12 @@ cdef class DebugServerError(BaseError): - - - # from http://stackoverflow.com/a/17511714 --from cpython.string cimport PyString_AsString -+# https://github.com/libimobiledevice/libimobiledevice/pull/198 -+from cpython cimport PY_MAJOR_VERSION -+if PY_MAJOR_VERSION <= 2: -+ from cpython.string cimport PyString_AsString -+else: -+ from cpython.bytes cimport PyBytes_AsString as PyString_AsString - cdef char ** to_cstring_array(list_str): - if not list_str: - return NULL - -From 44f54cdc0ebb052e4a642023bbf96504e6139ec9 Mon Sep 17 00:00:00 2001 -From: wendyisgr33n <wendyisgr33n@gmail.com> -Date: Mon, 30 Jul 2018 10:45:22 -0700 -Subject: [PATCH 3/5] Fixed bytes/strings check in imobiledevice.pyx for - compatibility with Python2/3 - ---- a/cython/imobiledevice.pyx -+++ b/cython/imobiledevice.pyx -@@ -171,7 +171,7 @@ from libc.stdlib cimport * - cdef class iDevice(Base): - def __cinit__(self, object udid=None, *args, **kwargs): - cdef char* c_udid = NULL -- if isinstance(udid, basestring): -+ if isinstance(udid, (str, bytes)): - c_udid = <bytes>udid - elif udid is not None: - raise TypeError("iDevice's constructor takes a string or None as the udid argument") - -From 8908619973e751b778d3fb73dc309cd5cb7f4122 Mon Sep 17 00:00:00 2001 -From: wendyisgr33n <wendyisgr33n@gmail.com> -Date: Mon, 30 Jul 2018 10:45:55 -0700 -Subject: [PATCH 4/5] Fixed bytes/strings checks in lockdown.pxi for - compatibility with Python2/3 - ---- a/cython/lockdown.pxi -+++ b/cython/lockdown.pxi -@@ -230,9 +230,9 @@ cdef class LockdownClient(PropertyListService): - - if issubclass(service, BaseService) and \ - service.__service_name__ is not None \ -- and isinstance(service.__service_name__, basestring): -+ and isinstance(service.__service_name__, (str, bytes)): - c_service_name = <bytes>service.__service_name__ -- elif isinstance(service, basestring): -+ elif isinstance(service, (str, bytes)): - c_service_name = <bytes>service - else: - raise TypeError("LockdownClient.start_service() takes a BaseService or string as its first argument") -@@ -253,7 +253,7 @@ cdef class LockdownClient(PropertyListService): - - if not hasattr(service_class, '__service_name__') and \ - not service_class.__service_name__ is not None \ -- and not isinstance(service_class.__service_name__, basestring): -+ and not isinstance(service_class.__service_name__, (str, bytes)): - raise TypeError("LockdownClient.get_service_client() takes a BaseService as its first argument") - - descriptor = self.start_service(service_class) - -From e59cbdbf4e7dba98ef57a54e314a89edfea0a3dc Mon Sep 17 00:00:00 2001 -From: wendyisgr33n <wendyisgr33n@gmail.com> -Date: Mon, 30 Jul 2018 10:47:48 -0700 -Subject: [PATCH 5/5] Fixed method visibility in mobilebackup2.pxi API - ---- a/cython/mobilebackup2.pxi -+++ b/cython/mobilebackup2.pxi -@@ -54,10 +54,10 @@ cdef class MobileBackup2Client(PropertyListService): - cdef inline BaseError _error(self, int16_t ret): - return MobileBackup2Error(ret) - -- cdef send_message(self, bytes message, plist.Node options): -+ cpdef send_message(self, bytes message, plist.Node options): - self.handle_error(mobilebackup2_send_message(self._c_client, message, options._c_node)) - -- cdef tuple receive_message(self): -+ cpdef tuple receive_message(self): - cdef: - char* dlmessage = NULL - plist.plist_t c_node = NULL -@@ -73,29 +73,34 @@ cdef class MobileBackup2Client(PropertyListService): - free(dlmessage) - raise - -- cdef int send_raw(self, bytes data, int length): -+ cpdef int send_raw(self, bytes data, int length): - cdef: -- uint32_t bytes = 0 -+ uint32_t bytes_recvd = 0 - mobilebackup2_error_t err -- err = mobilebackup2_send_raw(self._c_client, data, length, &bytes) -+ err = mobilebackup2_send_raw(self._c_client, data, length, &bytes_recvd) - try: - self.handle_error(err) -- return <bint>bytes -+ return <bint>bytes_recvd - except BaseError, e: - raise - -- cdef int receive_raw(self, bytes data, int length): -+ cpdef int receive_raw(self, bytearray data, int length): - cdef: -- uint32_t bytes = 0 -+ uint32_t bytes_recvd = 0 - mobilebackup2_error_t err -- err = mobilebackup2_receive_raw(self._c_client, data, length, &bytes) -+ err = mobilebackup2_receive_raw(self._c_client, data, length, &bytes_recvd) -+ -+ # Throwing an exception when we test if theres more data to read is excessive -+ if err == -1 and bytes_recvd == 0: -+ return 0 -+ - try: - self.handle_error(err) -- return <bint>bytes -+ return <bint>bytes_recvd - except BaseError, e: - raise - -- cdef float version_exchange(self, double[::1] local_versions): -+ cpdef float version_exchange(self, double[::1] local_versions): - cdef: - double[::1] temp = None - double remote_version = 0.0 -@@ -107,8 +112,8 @@ cdef class MobileBackup2Client(PropertyListService): - except BaseError, e: - raise - -- cdef send_request(self, bytes request, bytes target_identifier, bytes source_identifier, plist.Node options): -+ cpdef send_request(self, bytes request, bytes target_identifier, bytes source_identifier, plist.Node options): - self.handle_error(mobilebackup2_send_request(self._c_client, request, target_identifier, source_identifier, options._c_node)) - -- cdef send_status_response(self, int status_code, bytes status1, plist.Node status2): -+ cpdef send_status_response(self, int status_code, bytes status1, plist.Node status2): - self.handle_error(mobilebackup2_send_status_response(self._c_client, status_code, status1, status2._c_node)) |
