Good temporary solution
Good temporary solution
Posted Jun 28, 2024 6:10 UTC (Fri) by sunshinerag (guest, #172199)Parent article: Python grapples with Apple App Store rejections
Apple periodically adds constraints like these to App Store submissions based on app behaviour and user frustrations. The gates are there for a reason. It is a little crude to check for a string in the binary to enforce this but the alternative would be to test the app behaviour in all possible permutations to see if it does something like that.
Also itms-services is a very apple specific scheme and as the discussion indicates it's a good question of why it is hardcoded in a generic library. The current solution looks temporary which is fine, the long term option would be to make the schemes available configurable which is also discussed.
Posted Jun 28, 2024 9:48 UTC (Fri)
by taladar (subscriber, #68407)
[Link]
Posted Jun 28, 2024 15:17 UTC (Fri)
by smurf (subscriber, #17840)
[Link] (3 responses)
Parsing an app for the string doesn't help. Malicious apps will just obscure the string while people who legitimately ship an URL parser (in Python, itms-services is in the "uses_netloc" list so that the parser returns the result the caller expects) need to add brain-dead patches or other workarounds.
Posted Jun 29, 2024 1:13 UTC (Sat)
by edeloget (subscriber, #88392)
[Link] (2 responses)
Does that mean that the OS should be able to snoop on all application communication? I'm not sure it's a good idea :)
Anyway, checking for an itms-services string is dumb. There are so many ways to not have said string in the binary and yet have a way to rebuild it that ("itms" + "-" + "services" ? rot13 ? base64 ? xor with a simple pattern ?...) that finding the string istelf should be a sign that the developper is not trying to game the verification.
It's not that Apple broke python, or that CPython is broken. It's just plain stupid to even try to match the pattern itself.
Posted Jul 4, 2024 14:36 UTC (Thu)
by hkario (subscriber, #94864)
[Link] (1 responses)
Posted Jul 4, 2024 19:59 UTC (Thu)
by Cyberax (✭ supporter ✭, #52523)
[Link]
That's not quite true. You can use your own TLS implementation, although you might have to apply for an exemption from the ATS requirements.
Good temporary solution
Good temporary solution
Good temporary solution
Good temporary solution
Good temporary solution