Skip to content

Conversation

dkimitsa
Copy link
Contributor

@dkimitsa dkimitsa commented Oct 7, 2019

Root case of issue is that debugserver service requires SSL handshake in iOS13 but right after it clear text lldb protocol shall go through underlying socket. libimobiledevice was closing SSL connection by sending close_notify over underlying socket and debugserver was intercepting it as lldb protocol message and responded with error. as result entire communication was messed up.
submitted libimobiledevice/libimobiledevice#860 to libimobiledevice but it is not clear when it will be accepted. Meanwhile these changes are added in form of patches.

Beside the fix:

  • libimobiledevice was updated to recent maste
  • updated to recent master of libimobiledevice
  • removed libxml as it is not required anymore by libplist v2.0.0
  • libusbmuxd is picked from master, as version 1.1.0 is not available in releases
  • added openssl as dependency as it is not part of MacOSX anymore (probably LibreSSL might be used)
  • libimobiledevice bindings were refreshed
  • utilized debugserver api instead of service/device communication as it is already part of libimobiledevice and any fixes there will be automaticaly adopted
  • Method that finds Developer Image to mount was updated to allow using not exact one but matching major version (e.g. to allow mount ios13.0 image on ios13.1 device)

also this fixes issue mentioned in #368

@Tom-Ski beside java changes, it requires native library to be built and committed. please do it on build machine.

- removed libxml as it not required anymore by libplist v2.0.0
- libusbmuxd is picked from master, as version 1.1.0 is not available in releases
- added openssl as dependency as it is not part of MacOSX anymore (probably LibreSSL might be used)
…h GDB server, cleaned up some if lint warnings in AppLauncher and fixed to dev image lookup to allow using older one available (for example to use 13.0 with 13.1 device)
…t` argument. As usually byte array buffer contains less useful bytes than its length (this broke upload of app)
@dkimitsa dkimitsa changed the title libimobiledevice updated to recent master (probably #414 fix) #414 fix (libimobiledevice affected) Oct 10, 2019
@dkimitsa
Copy link
Contributor Author

extra details in post

@Tom-Ski Tom-Ski merged commit 45beb3c into MobiVM:master Oct 11, 2019
@dkimitsa dkimitsa deleted the fix414_deploy_to_ios13 branch October 18, 2019 21:31
Tom-Ski pushed a commit that referenced this pull request Nov 8, 2019
* * simlauncher stopped working with ios13. switching to apple's simctl instead. (#402)

* * xcode11 fix. swift libraries not in /swift/ directory anymore but in swift-5.0. it is not a perfect fix but dirty workaround but it allows to use swift based frameworks with xcode11 (#405)

* Ios13 switch to simctl -- starting simulator (#410)

* * simlauncher stopped working with ios13. switching to apple's simctl instead.

* * added 'open Simulator' as simctl boot doesn't show the simulator and it has to be opened either using spotlight or open cmd

* #414 fix (libimobiledevice affected) (#416)

* updated to recent master of libimobiledevice which should fix the issue:
- removed libxml as it not required anymore by libplist v2.0.0
- libusbmuxd is picked from master, as version 1.1.0 is not available in releases
- added openssl as dependency as it is not part of MacOSX anymore (probably LibreSSL might be used)

* * fixed libmobiledevice to allow bypass ssl termination when required

* * libimobiledevice: bindings re-generated to recent version with ssl  passthrough and debug server

* * libimobiledevice: added handling of introduced time-out

* * libimobiledevice: added patch to provide timeout error through debugserver client

* * libimobiledevice: added patch to provide timeout error through debugserver client

* * libimobiledevice: removed unused debugserver api, fixed unix permissions for all other files

* * libimobiledevice: switched to use DebugServerClient to interact with GDB server, cleaned up some if lint warnings in AppLauncher and fixed to dev image lookup to allow using older one available (for example to use 13.0 with 13.1 device)

* * libimobiledevice: reverted back companion to byte[] parameter `count` argument. As usually byte array buffer contains less useful bytes than its length (this broke upload of app)

* update libimobiledevice lib

* * fixed broken reg-exp for version matching (development image lookup), added testcases for new code (#427)

* * fixed #408 by adding @MarshalsValue to toNative methods. Otherwise compiler was not able to resolve to native marshaller for enum and went to parent class where it picked up default marshaller from ValuedEnum. This results in type difference in case type of enum data is not int and caused following exception: (#409)

> java.lang.IllegalArgumentException: Duplicate @StructMember(1) in @PACKED structs (union in packed structs is not supported

* Add bool declarations for non Darwin systems (#425)
dkimitsa added a commit to dkimitsa/robovm that referenced this pull request Apr 9, 2020
* * simlauncher stopped working with ios13. switching to apple's simctl instead. (MobiVM#402)

* * xcode11 fix. swift libraries not in /swift/ directory anymore but in swift-5.0. it is not a perfect fix but dirty workaround but it allows to use swift based frameworks with xcode11 (MobiVM#405)

* Ios13 switch to simctl -- starting simulator (MobiVM#410)

* * simlauncher stopped working with ios13. switching to apple's simctl instead.

* * added 'open Simulator' as simctl boot doesn't show the simulator and it has to be opened either using spotlight or open cmd

* MobiVM#414 fix (libimobiledevice affected) (MobiVM#416)

* updated to recent master of libimobiledevice which should fix the issue:
- removed libxml as it not required anymore by libplist v2.0.0
- libusbmuxd is picked from master, as version 1.1.0 is not available in releases
- added openssl as dependency as it is not part of MacOSX anymore (probably LibreSSL might be used)

* * fixed libmobiledevice to allow bypass ssl termination when required

* * libimobiledevice: bindings re-generated to recent version with ssl  passthrough and debug server

* * libimobiledevice: added handling of introduced time-out

* * libimobiledevice: added patch to provide timeout error through debugserver client

* * libimobiledevice: added patch to provide timeout error through debugserver client

* * libimobiledevice: removed unused debugserver api, fixed unix permissions for all other files

* * libimobiledevice: switched to use DebugServerClient to interact with GDB server, cleaned up some if lint warnings in AppLauncher and fixed to dev image lookup to allow using older one available (for example to use 13.0 with 13.1 device)

* * libimobiledevice: reverted back companion to byte[] parameter `count` argument. As usually byte array buffer contains less useful bytes than its length (this broke upload of app)

* update libimobiledevice lib

* * fixed broken reg-exp for version matching (development image lookup), added testcases for new code (MobiVM#427)

* * fixed MobiVM#408 by adding @MarshalsValue to toNative methods. Otherwise compiler was not able to resolve to native marshaller for enum and went to parent class where it picked up default marshaller from ValuedEnum. This results in type difference in case type of enum data is not int and caused following exception: (MobiVM#409)

> java.lang.IllegalArgumentException: Duplicate @StructMember(1) in @PACKED structs (union in packed structs is not supported

* Add bool declarations for non Darwin systems (MobiVM#425)
dkimitsa added a commit to dkimitsa/robovm that referenced this pull request Apr 9, 2020
* * simlauncher stopped working with ios13. switching to apple's simctl instead. (MobiVM#402)

* * xcode11 fix. swift libraries not in /swift/ directory anymore but in swift-5.0. it is not a perfect fix but dirty workaround but it allows to use swift based frameworks with xcode11 (MobiVM#405)

* Ios13 switch to simctl -- starting simulator (MobiVM#410)

* * simlauncher stopped working with ios13. switching to apple's simctl instead.

* * added 'open Simulator' as simctl boot doesn't show the simulator and it has to be opened either using spotlight or open cmd

* MobiVM#414 fix (libimobiledevice affected) (MobiVM#416)

* updated to recent master of libimobiledevice which should fix the issue:
- removed libxml as it not required anymore by libplist v2.0.0
- libusbmuxd is picked from master, as version 1.1.0 is not available in releases
- added openssl as dependency as it is not part of MacOSX anymore (probably LibreSSL might be used)

* * fixed libmobiledevice to allow bypass ssl termination when required

* * libimobiledevice: bindings re-generated to recent version with ssl  passthrough and debug server

* * libimobiledevice: added handling of introduced time-out

* * libimobiledevice: added patch to provide timeout error through debugserver client

* * libimobiledevice: added patch to provide timeout error through debugserver client

* * libimobiledevice: removed unused debugserver api, fixed unix permissions for all other files

* * libimobiledevice: switched to use DebugServerClient to interact with GDB server, cleaned up some if lint warnings in AppLauncher and fixed to dev image lookup to allow using older one available (for example to use 13.0 with 13.1 device)

* * libimobiledevice: reverted back companion to byte[] parameter `count` argument. As usually byte array buffer contains less useful bytes than its length (this broke upload of app)

* update libimobiledevice lib

* * fixed broken reg-exp for version matching (development image lookup), added testcases for new code (MobiVM#427)

* * fixed MobiVM#408 by adding @MarshalsValue to toNative methods. Otherwise compiler was not able to resolve to native marshaller for enum and went to parent class where it picked up default marshaller from ValuedEnum. This results in type difference in case type of enum data is not int and caused following exception: (MobiVM#409)

> java.lang.IllegalArgumentException: Duplicate @StructMember(1) in @PACKED structs (union in packed structs is not supported

* Add bool declarations for non Darwin systems (MobiVM#425)
Tom-Ski added a commit that referenced this pull request Apr 13, 2020
* * simlauncher stopped working with ios13. switching to apple's simctl instead. (#402)

* * xcode11 fix. swift libraries not in /swift/ directory anymore but in swift-5.0. it is not a perfect fix but dirty workaround but it allows to use swift based frameworks with xcode11 (#405)

* Ios13 switch to simctl -- starting simulator (#410)

* * simlauncher stopped working with ios13. switching to apple's simctl instead.

* * added 'open Simulator' as simctl boot doesn't show the simulator and it has to be opened either using spotlight or open cmd

* #414 fix (libimobiledevice affected) (#416)

* updated to recent master of libimobiledevice which should fix the issue:
- removed libxml as it not required anymore by libplist v2.0.0
- libusbmuxd is picked from master, as version 1.1.0 is not available in releases
- added openssl as dependency as it is not part of MacOSX anymore (probably LibreSSL might be used)

* * fixed libmobiledevice to allow bypass ssl termination when required

* * libimobiledevice: bindings re-generated to recent version with ssl  passthrough and debug server

* * libimobiledevice: added handling of introduced time-out

* * libimobiledevice: added patch to provide timeout error through debugserver client

* * libimobiledevice: added patch to provide timeout error through debugserver client

* * libimobiledevice: removed unused debugserver api, fixed unix permissions for all other files

* * libimobiledevice: switched to use DebugServerClient to interact with GDB server, cleaned up some if lint warnings in AppLauncher and fixed to dev image lookup to allow using older one available (for example to use 13.0 with 13.1 device)

* * libimobiledevice: reverted back companion to byte[] parameter `count` argument. As usually byte array buffer contains less useful bytes than its length (this broke upload of app)

* update libimobiledevice lib

* * fixed broken reg-exp for version matching (development image lookup), added testcases for new code (#427)

* * fixed #408 by adding @MarshalsValue to toNative methods. Otherwise compiler was not able to resolve to native marshaller for enum and went to parent class where it picked up default marshaller from ValuedEnum. This results in type difference in case type of enum data is not int and caused following exception: (#409)

> java.lang.IllegalArgumentException: Duplicate @StructMember(1) in @PACKED structs (union in packed structs is not supported

* Add bool declarations for non Darwin systems (#425)

* [maven-release-plugin] prepare release robovm-2.3.8

* [maven-release-plugin] prepare for next development iteration

* Set release version of Eclipse plugin, 2.3.8

* Set next development version of Eclipse plugin, 2.3.9

* Set release version of IDEA plugin, 2.3.8

* Set next development version of IDEA plugin, 2.3.9

* Set release version of Gradle plugin, 2.3.8

* Set next development version of Gradle plugin, 2.3.9-SNAPSHOT

* Update commons-compress due to security vulnerability

* * reworked simulator device types. doesn't depend on SDK versions available (#436)

* Switch use of maven http to https since http is no longer supported. (#452)

* Fixes min OS version checks and removes hardcoded values (#463)

* Fixes min OS version checks and removes hardcoded values

* Use getInfoPlist(9 on FrameworkTarget

* Use getMinimumIosVersion()

* [maven-release-plugin] prepare release robovm-2.3.9

* [maven-release-plugin] prepare for next development iteration

* Set release version of Eclipse plugin, 2.3.9

* Set next development version of Eclipse plugin, 2.3.10

* Set release version of IDEA plugin, 2.3.9

* Set next development version of IDEA plugin, 2.3.10

* Set release version of Gradle plugin, 2.3.9

* Set next development version of Gradle plugin, 2.3.10-SNAPSHOT

Co-authored-by: Tom-Ski <tomwojciechowski@asidik.com>
Co-authored-by: legion151 <42674335+legion151@users.noreply.github.com>
Co-authored-by: Justin Shapcott <justin@mobidevelop.com>
Co-authored-by: Eric Nondahl <ericnondahl@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants