iOS 9.3.2, iPhone 5c, version 5.0.4 (851.1)
0. Uninstall the Wikipedia for iOS app.
- Add the internet facing IP address associated with your iOS host to the enabled = false configuration Zero:310-260
- Wait 15 minutes.
- Install the Wikipedia for iOS app from the App Store.
- Verify your internet facing IP hasn't changed, then launch the app and try to do stuff.
- Note that the app errantly prompts that charges are waived. Try navigating to an article from search, for good measure.
- Stop the app, then after verifying your internet facing IP hasn't changed, start the app again.
- Try to do stuff, and notice the app then says Wikipedia Zero is off.
Expected:
Client side processing of disabled configurations does not errantly yield a prompt that data charges are waived, and users are not told Wikipedia Zero is disabled without first being told it was enabled.
Root cause analysis:
The X-CS value is being emanated in API responses for disabled configurations. Client side processing sees the X-CS value and additional logic is needed to gracefully handle this condition.
Potential mitigation strategy at the server for older clients (action for @DFoy) post this change:
Update IP lists for configurations that have gone from enabled to disabled so that there is only one IP address or, if possible without breaking Zero portal, inactivate old configs such that they aren't part of any IP mapping routine.