Age | Commit message (Collapse) | Author | Files | Lines |
|
|
|
When building libimobiledevice with libressl 3.9 it fails with an
implicit declaration for X509V3_EXT_cleanup().
This was removed in libressl "because it was part of a dangerous,
incomplete and mostly useless API".
Additionally it doesn't seem to be actually used by libimobiledevice:
"It cleans up the stack containing custom extensions which
libimobiledevice doesn't use, it's only needed after calls to
X509V3_EXT_add{,_list,_alias}()."
Reference: https://github.com/libressl/portable/issues/1050
Signed-off-by: orbea <orbea@riseup.net>
|
|
|
|
flags across Makefiles
|
|
|
|
|
|
|
|
Found with bugprone-macro-parentheses
Signed-off-by: Rosen Penev <rosenp@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
- Turns out `socket_receive` anyway internally calls `select` again. Use `socket_receive_timeout` instead.
- Remove logging for timeout in socket.c as well, it is not really an error condition
|
|
|
|
|
|
|
|
The lookup logic preferred to return the last suitable scope id match.
This became a problem if there was already a suitable scope id match before
that was higher in the interface list. This now chooses the higher last
scope id interface match and thus probably in the routing preference.
|
|
The helper should now also work for loopback addresses and prefer any initially
supplied scope id to maintain routing information if possible. Otherwise it
just picks the best suitable route. Let us see if this is stable enough to
prevent us from adding routing table parsing cruft and other logic...
|
|
|
|
This extends the socket helper with functions to determine the "scope" and a
suitable "scope id" of an IPv6 address. Now socket_connect_addr() does not
trust the provided IPv6 "scope id" and always attempts to determine it using
the new helpers. This became a requirement during testing with remote usbmux
connections that provide a different "scope id" and thus might cause IPv6
routing to not work at all. Thus the "scope id" is only valid per host.
|
|
|
|
This makes debug_print_line consistent with debug_buffer and among other things, ensures output from `idevicedebug run` can be easily divided into output from the app itself (stdout) from debug output from libimobiledevice (stderr).
|
|
|
|
and debugserver_client_receive_response()
|
|
There are several missing headers as well as deprecated functions for
which compatibility was added as needed.
|
|
|
|
|
|
|
|
The 40 characters length check on the device UDID made newer devices unusable
with the libimobiledevice tools and was actually redundant since an invalid
UDID will always fail to resolve. This commit removes the length check
alltogether (but makes sure it is not an empty string "").
|
|
|
|
Another change in 3.6.0 is that a serial of '\0' is not valid anymore.
Bump it to one.
|
|
Verification will fail if a special flag is not passed. Use
gnutls_x509_crt_sign2() instead of gnutls_x509_crt_sign() to make
sure that passing this flag works in 3.6.0 and stays working with
3.6.1.
|
|
In newer GnuTLS versions the parameters supplied to
gnutls_x509_privkey_import_rsa_raw() are actually checked for somewhat
sane values. Since we were passing the same values for all parameters,
this check fails and the device certificate is never generated.
However due to missing checks the pairing record was saved anyway, with
an empty device certificate. This led to TLS errors during communication,
leading to the "GnuTLS: Error in pull function" error message appearing
and the communication to fail.
This commit fixes the issue by passing some sane values, and also improves
the overall error handling during generation of the paring record.
|
|
Since pair records are meanwhile handled by usbmuxd there is no need to check
for the existence of a pair record on disk. Asking usbmuxd for a pair record of
a given UDID is sufficient to know if it exists or not.
|
|
instead of Unix one
|
|
|
|
|
|
|
|
|
|
|
|
|
|
This change keeps the debug level symbol within the internal convenience
library and makes it accessible using an internal helper. This fixes
linking, prevents new exported symbols and finally allows proper control
of enabling debug messages.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|