kkebo / DNSecure

DNSecure is a configuration tool of DoT and DoH for iOS and iPadOS.
MIT License
389 stars 21 forks source link

DNSecure for iPadOS - Server Configuration #59

Closed infosecguard closed 1 year ago

infosecguard commented 1 year ago

I have discovered a repeatable bug with server settings. After launching the App, the sidebar list is populated with the full default list of DNS servers as expected - for both DoH and DoT providers.

IMG_3155

Whichever service provider’s properties are first accessed from the DNSecure UI (e.g., Quad9 - DoH or DoT), all other providers that use the same protocol inherit the same server properties. As such, all DoH providers will have the same settings - as will all DoT providers.

Deleting and re-adding a provider, or creating a new provider doesn’t resolve the problem - and neither does editing. As such, it isn’t possible to switch between different DNS providers. Removing and re-adding the App restores the default list - but the problem will recur upon choosing a DNS provider.

The problem is repeatable between iPads of the same model.

DNSecure 1.4.1 iPadOS 16.x iPad Pro 12.9” M1

kkebo commented 1 year ago

Thank you for reporting the problem.

I'm sorry, but I did not fully understand what you were saying. If possible, could you please describe the steps to reproduce the problem?

infosecguard commented 1 year ago

IMG_3159 IMG_3160 IMG_3161

I hope the three screenshots are self explanatory…

1) In this example, the first DNS Service accessed from the DNSecure GUI is Quad9 (DOH). Here we see the server details/parameters that are expected.

2) When accessing another DNS Service, in this example 1.1.1.1 (DoH), the expected parameters have been replaced with those of Quad9 (DoH). Similarly, the Quad9 parameters have replaced all other DoH services.

Attempting to modify/correct the DoH server parameters will simultaneously update ALL services.

This issue is consistent between iPad Pro 12.9” (M1 CPU) devices. If the DNSecure App is deleted and reinstalled - and a different DNS service, such as Google (DoT) is first accessed, the Google server parameters will be populated for ALL DoT service providers.

This issue doesn’t occur with iPads running iPadOS15.x, or iPhone with iOS16 installed.

To be clear this has been extensively tested with multiple devices:

In conclusion, the problem appears to exist only with iPad Pro with M-Series CPU.

kkebo commented 1 year ago

Thank you for the detailed information. I can reproduce the issue now. I'm going to look into it.

kkebo commented 1 year ago

This issue also occurs on macOS.

kkebo commented 1 year ago

Hi @infosecguard, I fixed the issue in the latest TestFlight build (1.4.2 (16)). It will be available soon via TestFlight. If you continue to experience problems, please send me feedback.

I will release it to the App Store as well after I test it well.

infosecguard commented 1 year ago

DNSecure 1.4.2 (16) fully resolves the issue with iPadOS16.x - fully restoring expected UI behaviour/functionality.

Production release recommended.

kkebo commented 1 year ago

Thanks for testing. I just submitted 1.4.2 to Apple's App Review.

kkebo commented 1 year ago

I've released DNSecure 1.4.2 to the App Store, so I'm closing this issue.