LWN: Comments on "Python grapples with Apple App Store rejections" https://lwn.net/Articles/979671/ This is a special feed containing comments posted to the individual LWN article titled "Python grapples with Apple App Store rejections". en-us Wed, 03 Sep 2025 11:50:23 +0000 Wed, 03 Sep 2025 11:50:23 +0000 https://www.rssboard.org/rss-specification lwn@lwn.net Good temporary solution https://lwn.net/Articles/980777/ https://lwn.net/Articles/980777/ Cyberax <div class="FormattedComment"> <span class="QuotedText">&gt; you must use iOS provided services for TLS</span><br> <p> 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.<br> </div> Thu, 04 Jul 2024 19:59:35 +0000 Good temporary solution https://lwn.net/Articles/980697/ https://lwn.net/Articles/980697/ hkario <div class="FormattedComment"> The OS in iDevices already can snoop on all things the applications do, you must use iOS provided services for TLS, that means it's the OS that encrypts the data, not the application.<br> </div> Thu, 04 Jul 2024 14:36:03 +0000 Alternatively https://lwn.net/Articles/980640/ https://lwn.net/Articles/980640/ norphonic <div class="FormattedComment"> While I would normally be supportive for such arguments this case is hard to rally behind. App Store had blocked it precisely because of App Store related feature that shouldn't be there and if anything it just highlights how much bloat and weirdware is lurking in the depth of Python standard library.<br> </div> Thu, 04 Jul 2024 10:52:42 +0000 Good temporary solution https://lwn.net/Articles/980095/ https://lwn.net/Articles/980095/ edeloget <div class="FormattedComment"> <span class="QuotedText">&gt; Sorry but that's nonsense. If Apple wants to block apps from opening "itms-services:" URLs then they should teach the OS to not open them in the first place.</span><br> <p> Does that mean that the OS should be able to snoop on all application communication? I'm not sure it's a good idea :)<br> <p> 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. <br> <p> 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.<br> </div> Sat, 29 Jun 2024 01:13:02 +0000 Alex's approach https://lwn.net/Articles/980068/ https://lwn.net/Articles/980068/ NYKevin <p>The question is not why Python should care about iDevices. The question is why Python should care about the Apple ecosystem at all. itms-services is not a standard protocol. It appears in no RFC (that I've ever heard of). It is purely an Apple thing. And now it is causing problems, that were also created by Apple. <p> Why should Python even waste time thinking about any of this? Just yeet the whole thing out of urllib, and Apple developers who want to use this protocol for whatever reason can take a PyPI dependency. <p> But you don't even need a PyPI dependency, because urllib already DTRT on protocols it does not understand: <pre> &gt;&gt;&gt; urllib.parse.urlsplit('nonsense://www.example.com:80/foo/bar') SplitResult(scheme='nonsense', netloc='www.example.com:80', path='/foo/bar', query='', fragment='') </pre> <p> The string itms-services only appears in a list that tells the parser that it "uses netloc" (i.e. it should have a netloc part after the scheme, unlike say file://). As you can see above, it will happily parse nonsense schemes with netloc even if they are absent from said list. So at most, this might get you stricter checking in a few corners of the API, but it is probably not a showstopper. Fri, 28 Jun 2024 18:53:34 +0000 Time to stop https://lwn.net/Articles/980067/ https://lwn.net/Articles/980067/ jzb <p>Speculating on the collapse of the EU is well beyond the topic and not useful. It's not going to lead anywhere good, so let's stop here.</p> Fri, 28 Jun 2024 18:39:18 +0000 Regulatory solution https://lwn.net/Articles/980059/ https://lwn.net/Articles/980059/ zdzichu <div class="FormattedComment"> What about this fantasy of EU collapse? Someone has been feeding of russian propaganda?<br> </div> Fri, 28 Jun 2024 17:34:52 +0000 Regulatory solution https://lwn.net/Articles/980057/ https://lwn.net/Articles/980057/ khim <font class="QuotedText">&gt; If Apple is perceived as gaming the rules, then the rules will change. In a lot less than 10 years.</font> <p>How do you know? Apple is gaming the rules the whole existence of Apple. It's, essentially, what makes Apple Apple.</p> <p>Gaming the system is in Apple's DNA. Remember how <a href="https://en.wikipedia.org/wiki/Steve_Jobs#Pre-Apple">Jobs swindled Wozniak</a> before Apple even existed and paid $375 instead of $5000? That's how Apple operated it's whole life.</p> <font class="QuotedText">&gt; And in a way that is likely to be - shall we say - painful ... depending on how seriously the regulators are pissed off.</font> <p>I've heard these talks for decades, sorry. Nothing happens <i>in a lot less than 10 years</i> in European courts and Apple knows that.</p> <p>And now, almost half-century after it was founded, you say that it would be punished for something it successfully did for half-century? Count me unimpressed. Sure, it would be punished, but so what? That's part of the business-plan and it works.</p> <p>Just as one example: how long did it took for EU to make it use normal USB connector for it's phone?</p> Fri, 28 Jun 2024 17:26:07 +0000 Regulatory solution https://lwn.net/Articles/980055/ https://lwn.net/Articles/980055/ Wol <div class="FormattedComment"> <span class="QuotedText">&gt; Now, if you assume a different scenario, where EU doesn't collapse in 10 years and continue to bring billions for 100 years then sure, “playing fair” would be better, but how do you know EU would survive, let alone thrive, for 100 years?</span><br> <p> No. I'm assuming a different scenario where that doesn't matter. If Apple is perceived as gaming the rules, then the rules will change. In a lot less than 10 years. And in a way that is likely to be - shall we say - painful ... depending on how seriously the regulators are pissed off.<br> <p> Cheers,<br> Wol<br> </div> Fri, 28 Jun 2024 17:01:34 +0000 Alex's approach https://lwn.net/Articles/980039/ https://lwn.net/Articles/980039/ mb <div class="FormattedComment"> <span class="QuotedText">&gt;Google it, discover the problem, write and carry their own patch</span><br> <p> That's Ok. They decided to play by the rules of Apple. So they should carry the workaround for Apple's stupid decisions.<br> <p> Why should Python care?<br> <p> <span class="QuotedText">&gt;Apple doesn't want it there? Fine</span><br> <p> Yes. It's fine. It's their decision and their problem.<br> <p> <span class="QuotedText">&gt;Fine, it's gone. Good riddance.</span><br> <p> Do you realize that this is not a fix of the actual problem?<br> Apple will append something else to the list of forbidden words tomorrow.<br> <p> Why should we let Apple indirectly make stupid decisions for an independent Open Source project?<br> </div> Fri, 28 Jun 2024 15:43:34 +0000 Strip the functionality altogether. https://lwn.net/Articles/980037/ https://lwn.net/Articles/980037/ smurf <div class="FormattedComment"> <span class="QuotedText">&gt; I'd question whether something like itms-services scheme support really belongs in a standard library to begin with.</span><br> <p> Well, this one's easy.<br> <p> Some URL schemes contain a network location ("netloc"). Some do not.<br> <p> People tend to expect the URL parser to reply with a struct that breaks out the netloc for URLs that contain them.<br> <p> As urllib.parse contains a whitelist of URLs with netlocs (sensibly IMHO) it needs to contain this string.<br> </div> Fri, 28 Jun 2024 15:21:31 +0000 Good temporary solution https://lwn.net/Articles/980034/ https://lwn.net/Articles/980034/ smurf <div class="FormattedComment"> Sorry but that's nonsense. If Apple wants to block apps from opening "itms-services:" URLs then they should teach the OS to not open them in the first place.<br> <p> 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.<br> </div> Fri, 28 Jun 2024 15:17:40 +0000 Regulatory solution https://lwn.net/Articles/980023/ https://lwn.net/Articles/980023/ khim <font class="QuotedText">&gt; You play fair by the regulators, they play fair with you.<br> You try to game the rules, the regulators will do the same.</font> <p>Sure, but why would that mean that Apple does the wrong thing? Apple Store brings around $100 billions per year to Apple, significant percent of that from EU, which means it would bring $1 trillion or so before collapse of EU in 10, after which EU would stop bringing billions to Apple, one way or another.</p> <p>And if instead of fighting for these $100 billion (and spending maybe $10 billion on courts and fines) Apple would “play fair” before collapse of EU the it would get $0.5 trillion which is much less than $1 trillion.</p> <p>Now, if you assume a different scenario, where EU doesn't collapse in 10 years and continue to bring billions for 100 years then sure, “playing fair” would be better, but how do you know EU would survive, let alone thrive, for 100 years?</p> Fri, 28 Jun 2024 13:56:54 +0000 Regulatory solution https://lwn.net/Articles/980004/ https://lwn.net/Articles/980004/ Wol <div class="FormattedComment"> If the regulators agree with you, Apple are likely to find things get worse next time round the loop ...<br> <p> You play fair by the regulators, they play fair with you.<br> <p> You try to game the rules, the regulators will do the same.<br> <p> Cheers,<br> Wol<br> </div> Fri, 28 Jun 2024 13:24:48 +0000 Alternatively https://lwn.net/Articles/980002/ https://lwn.net/Articles/980002/ dskoll <p>If you play Apple's app store game, you have lost. That's an incontrovertible fact. <p>The only way not to lose is not to play the game. Free Software devs should not spend the energy required to tapdance as Apple fires bullets at their feet. Fri, 28 Jun 2024 13:15:55 +0000 Regulatory solution https://lwn.net/Articles/979982/ https://lwn.net/Articles/979982/ donald.buczek <div class="FormattedComment"> You're right, that's disgusting.<br> </div> Fri, 28 Jun 2024 12:50:40 +0000 Regulatory solution https://lwn.net/Articles/979978/ https://lwn.net/Articles/979978/ khim <font class="QuotedText">&gt; This is not the case?</font> <p>Judge for yourself. Just look <a href="https://docs-assets.developer.apple.com/published/1122da563715c7341ee4d63683f933cc/creating-an-alternative-app-marketplace-5@2x.png">on the picture</a> and <a href="https://developer.apple.com/documentation/appdistribution/creating-an-alternative-app-marketplace/">read the story</a>.</p> <p>EU told Apple that everyone should be able to download app from third-party web site. And Apple delivered! App <b>really</b> comes from third-party web site. Specifically signed copy that Apple signed and gave you permission to install on 1 (one) device.</p> <p>And they charge 0.5$ for the privilege. Only if you are big and successful, of course. But if you are not then you have to <a href="https://developer.apple.com/la/support/alternative-app-marketplace-in-the-eu/">provide Apple a stand-by letter of credit in the amount of €1,000,000 from a financial institution that’s at least A-rated or equivalent by S&amp;P, Fitch, or Moody’s, and maintain that standby letter of credit as long as your alternative app marketplace is in operation</a>. It wouldn't be used, don't worry, it's only there “just in case”, you see.</p> <p>And since Apple only gives you right to instal 1 (one) copy of app on 1 (one) device and you pay $0.5 for the privilege any update requires the end user to start the download process to save you money! Perfect, isn't?</p> <font class="QuotedText">&gt; I just assumed "other app store" would mean independent things like F-Droid.</font> <p>Well. There were two goal Apple wanted to achieve:<p> <ol><li>Independent App Store should look and act like an independent app store</li> <li>Apple should control everything, earn money from each install and be able to reject request for installation for any reason.</li></ol> <p>They achieved that.</p> <p>Whether to call that “an independent app store” is open question. Many say that this is <a href="https://www.investopedia.com/apple-app-store-policies-violate-new-tech-law-eu-regulators-say-8667985">not an independent app store</a>, but this would require another court process, of course, and the end result would be equally silly.</p> <p>Ultimately the only fair treatment of Apple is two-fold: <ol><li>Decide how fast Apple needs to be outlawed in your country and there would be law that would forbid to buy and sell Apple devices (everyone accepts that such things take time not to cause immediate riots).</li> <li>Ensure that you are moving law toward that goal steadily and consistently.</li></ol> <p>Anything else is absolute foolishness, none of independent countries should accept things like that. Well, maybe US is an exception since Apple can be controlled by various security agencies using internally planted people. But for everyone else it's either allowing Apple iOS devices or staying independent country, these things couldn't exist simultaneously. MacOS is moving in the same direction, BTW, it's a just a tiny bit behind.</p> Fri, 28 Jun 2024 12:15:06 +0000 Good temporary solution https://lwn.net/Articles/979972/ https://lwn.net/Articles/979972/ taladar <div class="FormattedComment"> This is a typical security theater check. All the options such as obfuscation and configuration exist for the nefarious apps as well so checking for the string does nothing useful.<br> </div> Fri, 28 Jun 2024 09:48:27 +0000 Regulatory solution https://lwn.net/Articles/979971/ https://lwn.net/Articles/979971/ donald.buczek <div class="FormattedComment"> <span class="QuotedText">&gt; Are you even sure that something that lets you download apps from Apple and then without the ability to automatically upgrade them deserves the name third-party app store?</span><br> <p> No, I have no idea how this is implemented. I've just remembered the news that Apple should be forced to allow other app stores and then searched and found this announcement. I just assumed "other app store" would mean independent things like F-Droid. This is not the case?<br> </div> Fri, 28 Jun 2024 09:40:52 +0000 Regulatory solution https://lwn.net/Articles/979969/ https://lwn.net/Articles/979969/ khim <p>Are you even sure that something that lets you download apps from Apple and then without the ability to automatically upgrade them deserves the name <i>third-party app store</i>?</p> <p>I don't think anything but what China or Russia do would work. The goal should be not an attempt to make Apple adjust it's policy, this would just lead to endless cat-and-mouse games, the goal is to ensure it's not used by anyone who works for government, it's not allowed to be sold officially, etc.</p> <p>The fact that it was even allowed to exist in it's current form is clear failure of government regulators to catch the problem on time, but it's not too late to fix it.</p> Fri, 28 Jun 2024 09:22:50 +0000 Alex's approach https://lwn.net/Articles/979967/ https://lwn.net/Articles/979967/ NYKevin <div class="FormattedComment"> That is not what will realistically happen. What will happen is that everyone who wants to run Python on iOS will get a rejection the first time, Google it, discover the problem, write and carry their own patch, and submit a modified application without this string.<br> <p> Or CPython can fix it once and we can all move on with our lives. IMHO the easiest solution is to just drop the string from urllib altogether - it's there to support Apple devices in the first place. Apple doesn't want it there? Fine, it's gone. Good riddance.<br> </div> Fri, 28 Jun 2024 09:04:30 +0000 Good temporary solution https://lwn.net/Articles/979961/ https://lwn.net/Articles/979961/ sunshinerag <div class="FormattedComment"> I don't see anything nefarious in Apple's rejection here. The motive is simply to prevent apps launching other apps which can be abused by apps.<br> 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.<br> <p> 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.<br> </div> Fri, 28 Jun 2024 06:10:30 +0000 Regulatory solution https://lwn.net/Articles/979960/ https://lwn.net/Articles/979960/ donald.buczek <div class="FormattedComment"> Looks like EU delivered.<br> <p> <a href="https://www.engadget.com/ios-174-is-here-enabling-third-party-app-stores-in-the-eu-185812797.html">https://www.engadget.com/ios-174-is-here-enabling-third-p...</a><br> <p> "Apple has rolled out its latest major iOS update, and there are some enormous changes for those in the European Union. With the arrival of iOS 17.4, the company is adhering to strict new rules in the bloc when it comes to the App Store. Apple now officially supports third-party app stores on iPhones in the EU, while developers can offer third-party payment options. Web browser makers no longer need to base their apps on Apple's WebKit, while Apple is opening up the NFC chip to wireless payments that have nothing to do with Apple Pay."<br> </div> Fri, 28 Jun 2024 05:43:38 +0000 Regulatory solution https://lwn.net/Articles/979955/ https://lwn.net/Articles/979955/ dskoll <p>This is a great idea. I'd also like to see a mandate that the initial review process has to be completely transparent and any rejected app must come with a complete list of rules it broke as well as how the app can be remediated.</p> Fri, 28 Jun 2024 02:20:23 +0000 Regulatory solution https://lwn.net/Articles/979954/ https://lwn.net/Articles/979954/ skissane <div class="FormattedComment"> I really hope that some regulator in some country mandates an independent third party appellate process for app store decisions. That way Apple can be forced to defend this kind of nonsense publicly, and get ordered by the appeal to stop it. If some minor county did it, Apple might just try to pull out of that country; if a major economy such as the EU did it, they’d have no real choice but to comply. For the EU, it could be a complementary move to their mandating support for third party app stores under the DMA, taking into account the reality that having to install a third party app store is likely too much friction for many users.<br> </div> Thu, 27 Jun 2024 23:59:54 +0000 Alternatively https://lwn.net/Articles/979953/ https://lwn.net/Articles/979953/ Heretic_Blacksheep <div class="FormattedComment"> I don't really see this as a problem. iOS is locked down and people know it. They also know that Apple's application of its policies are... arbitrary. Their policies are designed to protect their bottom line, not their customers. Appealing to the security of their customers is the PR smoke screen designed to mask their anti-competitive policies and practices. They use targeted advertising just like everyone else. People get up in arms about these practices with Microsoft, Google, etc, but hardly a peep when Apple does the same thing behind the mask of respectability. It's because Apple is really really good about smoke and mirrors while ignoring everyone that points out the Emperor has no clothes -- and their customers reward them for it.<br> <p> Refusing to put up with App Store policies won't reduce Python in the Apple space. Most people that use Python are going to be using it on Macs, not iDevices. It's trivial to install Python on Macs without the App Store.<br> <p> I'm a Mac and iDevice user. I'm not throwing stones without knowing something about the ecosystem from the end user's point of view. I know and understand the limitations of using Apple devices. Should such a point come where Macs are as locked down as iOS where I can't install and run code I want to run, it'll be the end of me using both. I'm saying that sometimes people need to say "Enough is enough!" Even to a trillion dollar company that may not care.<br> </div> Thu, 27 Jun 2024 23:43:03 +0000 Costs vs Benefits https://lwn.net/Articles/979942/ https://lwn.net/Articles/979942/ pavon <div class="FormattedComment"> The cost was negligible, until Apple decided to make it more expensive by requiring different behavior and thus different builds depending on how the user installed the app.<br> </div> Thu, 27 Jun 2024 20:26:40 +0000 Alex's approach https://lwn.net/Articles/979941/ https://lwn.net/Articles/979941/ mb <div class="FormattedComment"> Sure. Many Projects tend to put workarounds everywhere instead of really fixing things.<br> Happy whack a mole.<br> <p> Users must complain to Apple. They broke Python.<br> </div> Thu, 27 Jun 2024 20:15:30 +0000 Alex's approach https://lwn.net/Articles/979936/ https://lwn.net/Articles/979936/ pbonzini <div class="FormattedComment"> Reality is that it's Python's users' problem, and projects have a tendency to listen to their users' problems, and do something about them.<br> </div> Thu, 27 Jun 2024 19:55:32 +0000 Alex's approach https://lwn.net/Articles/979924/ https://lwn.net/Articles/979924/ mb <div class="FormattedComment"> It's their decision. No (apps with) Python for Apple users then. I don't see why this is Python's problem.<br> </div> Thu, 27 Jun 2024 19:04:08 +0000 Alex's approach https://lwn.net/Articles/979923/ https://lwn.net/Articles/979923/ pizza <div class="FormattedComment"> <span class="QuotedText">&gt; Apple *clearly* caused the breakage. That's why they should care.</span><br> <p> Why would Apple care about squishing an ant as they walk?<br> <p> <p> <p> </div> Thu, 27 Jun 2024 18:59:44 +0000 Alex's approach https://lwn.net/Articles/979920/ https://lwn.net/Articles/979920/ mb <div class="FormattedComment"> <span class="QuotedText">&gt;The question is, why would Apple have any incentive to fix it?</span><br> <p> I don't know.<br> Apple *clearly* caused the breakage. That's why they should care.<br> <p> If they now decide to *voluntarily* drop Python support from the App store, it is their decision and we should respect that.<br> <p> If they care about Python on their platform, they can add an exception to their obviously completely broken checker.<br> <p> <span class="QuotedText">&gt;So the odds are completely stacked against the app developers</span><br> <p> That's the case anyway.<br> <p> The Apple platform is fully proprietary and Apple decides everything anyway.<br> And developers and users already agree to that. That's the deal.<br> <p> </div> Thu, 27 Jun 2024 18:14:31 +0000 Apple broke it https://lwn.net/Articles/979910/ https://lwn.net/Articles/979910/ mb <div class="FormattedComment"> Apple broke it, Apple ought to fix it.<br> It's that simple.<br> <p> </div> Thu, 27 Jun 2024 17:38:00 +0000 Alternatively https://lwn.net/Articles/979908/ https://lwn.net/Articles/979908/ elw <div class="FormattedComment"> <span class="QuotedText">&gt; How about if we stop playing Apple's games and not support their platform until they become reasonable and transparent?</span><br> <p> The problem I see with that position is that Python is not the only easy to use language for app development. The only thing that would be accomplished by standing firm and refusing to play their game would be a reduction in usage in the platform. Unless there is some Killer App ™️, written in Python, that would cause tangible damage to the overall Apple ecosystem, Apple holds all the cards and they know it.<br> </div> Thu, 27 Jun 2024 16:40:46 +0000 Costs vs Benefits https://lwn.net/Articles/979906/ https://lwn.net/Articles/979906/ nickodell <div class="FormattedComment"> I think that when asking whether to remove it, we should ask what the cost of the feature is. If you look at the PR which adds this support, excluding tests, it is added in one line of code. (<a href="https://github.com/python/cpython/pull/104312">https://github.com/python/cpython/pull/104312</a>) This seems like pretty minimal maintenance burden.<br> </div> Thu, 27 Jun 2024 16:35:30 +0000 Alternatively https://lwn.net/Articles/979904/ https://lwn.net/Articles/979904/ notriddle <div class="FormattedComment"> <span class="QuotedText">&gt; This is a general purpose URL parser.</span><br> <p> Other general-purpose URL parsers don't special-case this scheme. Both URL specs have support for schemes that are unknown to the parser, and neither <a href="https://url.spec.whatwg.org/#special-scheme">https://url.spec.whatwg.org/#special-scheme</a> nor <a href="https://datatracker.ietf.org/doc/html/rfc1738#section-3">https://datatracker.ietf.org/doc/html/rfc1738#section-3</a> includes itms-services in their lists.<br> </div> Thu, 27 Jun 2024 16:28:25 +0000 Alex's approach https://lwn.net/Articles/979905/ https://lwn.net/Articles/979905/ pbonzini <div class="FormattedComment"> <span class="QuotedText">&gt; Without making it clear that this stops working in (say) 12 months, there is *no* incentive for Apple to fix it, for Apple's developers to care that it's a problem, for anybody to do anything except dump on the Python maintainers whatever they can't be bothered to fix. They're making their own lives worse.</span><br> <p> The question is, why would Apple have any incentive to fix it? In the middlebox case, the makers get money and have support contracts with whoever buys their products. In Apple case, app developers have no alternatives than Apple if they want their app to run on iPhone/iPad, and Apple gets money from users, not from app developers.<br> <p> So the odds are completely stacked against the app developers, and if Python tried to put any deadline on the workarounds, the only effect would be to place them between the hammer (Python) and the anvil (Apple).<br> </div> Thu, 27 Jun 2024 16:20:48 +0000 Alex's approach https://lwn.net/Articles/979898/ https://lwn.net/Articles/979898/ tialaramex <div class="FormattedComment"> The choice to time-limit workarounds allows you to properly frame the problem when it inevitably arises.<br> <p> For example TLS 1.3 as designed has Downgrade prevention, if you try to *pretend* by meddling with the TCP data that somebody else's server doesn't know TLS 1.3, then either you tip off the server that you're interfering or you tip off the client, or both. There is no way to get to a scenario where the client thought it asked "Do you speak TLS 1.3?" but the server thought the client asked only "Do you speak TLS 1.2?" without the session being torn down.<br> <p> But, of course idiot middleboxes broke this. Because they don't implement TLS properly, they'd hide the client's real question about TLS 1.3 from the server, but they'd pass through its answer to the question they did ask, thus exactly performing a downgrade, which sets off the downgrade prevention, your browser just closes the session. This was discovered after TLS 1.3 shipped, because Downgrade prevention obviously can't be enabled pre-standard, that's a DOS against yourself in the standards development process.<br> <p> So, Google shipped builds of Chrome with a hack, _if_ you turned on the hack and _if_ the server says "I'm a TLS 1.3 server but you claimed not to know TLS 1.3 so that's fine, unless you were downgraded" this Chrome ignores the problem. Temporarily. This damages your security, but you're using a middle box, you already don't have any security, that's what you paid money for, to destroy your security.<br> <p> Google told the affected vendors that their customers could enable this hack (in their installed Chrome builds) and *crucially* it told them that in a fixed period of time this hack would just be summarily deleted from Chrome. They were not going to reify this nonsense as part of the protocol design, it was a temporary hack to get some people working while these companies fixed their shit.<br> <p> And they did it. Years ago now Chrome just deleted the hack. If your middle box vendor didn't fix their bug in a reasonable timeframe, or you couldn't be bothered to install their fix - now Chrome doesn't work, too bad. Everybody gets reliable TLS 1.3<br> <p> Without making it clear that this stops working in (say) 12 months, there is *no* incentive for Apple to fix it, for Apple's developers to care that it's a problem, for anybody to do anything except dump on the Python maintainers whatever they can't be bothered to fix. They're making their own lives worse.<br> <p> If they set a specific deadline and stick to it, it's clear what the problem is, that doesn't mean Apple will care, but too bad, you offload the problem onto exactly the people who wanted it, Apple developers, people who are used to and have accepted that they have an unhealthy masochistic relationship to an unfeeling corporation. There is no reason why anybody involved in Python who doesn't share that weird relationship should be inconvenienced.<br> </div> Thu, 27 Jun 2024 16:06:02 +0000 Alternatively https://lwn.net/Articles/979895/ https://lwn.net/Articles/979895/ flussence <div class="FormattedComment"> This is a general purpose URL parser. Saying it should not recognise an URL pattern used by a malevolent actor is like saying tzdata should delete timezones only used in "bad" countries.<br> <p> Anyway there's a really simple workaround for this. Simply ship the source file in EBCDIC. The type of whiteboard-interview weenies who come up with and enforce these restrictions will not be smart enough to figure that one out.<br> </div> Thu, 27 Jun 2024 15:45:19 +0000 Alternatively https://lwn.net/Articles/979891/ https://lwn.net/Articles/979891/ khim <p>While pretty interesting, I think that's the question for another time.</p> <p>There are absolutely no need to have string <code>itms-services</code> in your app if you don't support said services.</p> <p>And both “we want to support Apple” and “we don't support Apple” stances lead to the same outcome: removal of these from the standard library.</p> <p>Now, if you want to <b>both</b> support non-developers who want to use these proprietary services <b>and</b> also developers who get rejection notices because of them then you are in bind, but I think simple and straightforward removal is the best outcome: remove the support, leave these for guys who actually want to use these services from Python to resolve, somehow. They decided to deal with unreasonable company, they can deal with the fallout.</p> <p>If would be time to decide when Apple would bad something because it supports some other <b>free</b> service.</p> Thu, 27 Jun 2024 14:55:34 +0000