0

I'm having an issue with iOS 10.0.1 and Safari 10. In iOS 9 and Safari 9, I am able to go a web site on port 4190. As soon as I use an iOS 10 device, I get this error message using Safari 10:

Safari cannot open the page. The error was: "Not allowed to use restricted network port".

I read online that some ports are blacklisted. Best I could find is a KURL.cpp blockedPortList, but I don't see port 4190 blocked.

I see the error message is in this piece of code: #define WebKitErrorDescriptionCannotUseRestrictedPort UI_STRING_INTERNAL("Not allowed to use restricted network port", "WebKitErrorCannotUseRestrictedPort description")

Any ideas?

iOS 10 Safari 10 error message

1

The reason the port is blocked is because Apple considers it is a port that is open to trojans and viruses, so it automatically blocks those ports. it has to do with the release of Xcode(how mac programs are designed and written)

App Transport Security iOS 9 introduces a new security feature that blocks non-HTTPS traffic in your app. However, this is a new feature that is only enabled for apps building with XCode 7 and iOS 9 SDK today. It will not break existing apps.

Since the changes above require recompilation, this will impact your development process and manifest itself as a breaking change.

To fix, edit the MyApp-Info.plist file and add the contents of this patch.

UPDATE: In short, the port was closed by Apple due to viruses. It worked on the older versions of Safari because the app was made on an older version of the program to used to create it (Xcode). So basically by updating, you installed a version of Safari that will not open those ports blocked by Apple.

  • See update in answer – norcal johnny Sep 19 '16 at 23:16
  • @norcaljohnny can you explain why you think the iOS 10 SDK and App Transport Security would be affecting opening a page in Safari on a non-standard port? – samh Sep 19 '16 at 23:41
  • @samh I went to my local Apple store and explained the problem. One of the staff contacted me back to say that the reason the port is blocked is because Apple considers it as a port that is open to trojans and viruses, so it automatically blocks those ports. – norcal johnny Sep 19 '16 at 23:52
  • @norcaljohnny OK, but that would have nothing to do with App Transport Security. – samh Sep 19 '16 at 23:56
  • @samh It started with IOS 9 not 10. If you like to read on it. Check neglectedpotential.com/2015/06/… – norcal johnny Sep 20 '16 at 0:06
0

After looking at the latest source code for Safari (Safari Technology Preview 13), it seems the blockedPortList now includes port 4190. I realized it was in the browser code when connecting to port 4190 gave the error right away, but using Safari 9, there was would be long delay and an eventual timeout if you tried connecting to a resource on port 4190 that did not exist.

https://trac.webkit.org/browser/releases/Apple/Safari%20Technology%20Preview%2013/WebCore/platform/URL.cpp

3659, // apple-sasl / PasswordServer [Apple addition] 4045, // lockd

4190, // ManageSieve [Apple addition]

6000, // X11 6665, // Alternate IRC [Apple addition] 6666, // Alternate IRC [Apple addition] 6667, // Standard IRC [Apple addition] 6668, // Alternate IRC [Apple addition] 6669, // Alternate IRC [Apple addition]

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .