1

IPv6 DNS cache bug

It looks like there is problem in HTP request action in combination with IPv6. It can be tested with URL https://fallback-v6.ipv6-test.com/json/proto.php which works over IPv4, but not IPv6 and contains both A and AAAA DNS records. Test task attached. There are two bugs.

Use cases:

Connected to network which doesn't support IPv6:

  • Tasker gets A record
  • HTTP request works - CORRECT

Connected to network which supports IPv6:

  • Tasker gets AAAA record
  • HTTP request fails - BUG
  • there should be fallback from (not working) IPv6 to IPv4. That URL in browser loads fine (after small IPv6->IPv4 fallback timeout)

Connected to network which supports IPv6, run task and connect to network without IPv6 support, run task again

  • Tasker gets AAAA record in first connected network (because it supports IPv6)
  • HTTP request fails - that's BUG, explained before, but let's continue
  • Tasker caches this record
  • Reconnect to network without IPv6 support
  • HTTP request fails - BUG. Tasker should always use IPv4 in IPv4-only networks

My home network supports IPv6, my mobile phone operator doesn't. HTTP requests to URL with correct IPv6 record works at home, but after disconnecting from Wifi it stops working. Reconnecting to Wifi make it works again. So it looks like Taskers caches AAAA record from that domain and even in IPv4 only networks it's using this record only. Last use-case can be tested with any hostname which correctly supports IPv6 + IPv4 (have both A and AAAA records).

Test task:

taskertask://H4sIAAAAAAAAAKVWW2+bMBR+bn6FhbRmeyiX0NxagpR2mVotWqc06zTtIXLhENxQzGzDxH79bAwjWy9Tywscn8+X852Lj7015jtg77HAiLOZYaCwIDPDMZAoZsbItE3HNvzegafmVTOEFCZKdeAFIRbgO6PReOpOxu5kOHU8SysVDHvw1HanznTgWfAHJqE/8Sz5VYP0Hvw1cOFZSlKajBHfsW3PUoJSzANBaFrZgANhG6iAmTGuLJGm0BB8153K85VU6c7yNExAL2BbW8888G5wwitlgZNaJ88HYYYk3SaEB7GJ05BREpqico65WiwXN/NP683NfHU5P1surv3DRJxeCyZXzBnDpfbd4VacKmCDlW7zwj1ttfxNLES2CSjdEeC98/q/jgHVOiSkzIEVwOQvFYiklYoBz2jKoRnrpSfnV1cfLxfykOWXBYoou8fCRN9ojgKcolxOFzHhKCQMApGUzeL+BeAQGO+jiEASIhpV6ov1+jNawY9cBgrhKhyKrtWB7+vd5bTukimFe++bjzQVi303adeEEKKI0fuWCdNMzA4cnG4cBi2HiCSwobnIctH7IGV0peWvJEkQTn7ikssUSAWuQ6Tm9zmKcglnWMQICkgRiVApg8szCIgMXYhwHVvKSoR18lS7C4o4LqAL90E37m7Lvcndjard3qrJ5HM1WjfRUqNHo9qBgtuNwnFLIdYF8/Zda35dQy2DWvG/CjbRAgcx0jsiWZ1NUe6gPJF3Vg79upI7MD/uxnz4SPASSLcibvkv9VjR5+QXNJfI/kV1WwrgHVgMGxbW3l2sdLKNvPBCf10fOBJlBv735R0usJngdGtqQ15ugN5JdyhLtSjdwyzdxPTgUiZL3c1kg5apMDNsw3qI2c+Bz64c1KDTgJJOAw50x3UNX8Wdn1hWhJPkFge7o2JkkqwYHQl1nQb03rrjNJWNmwpqZnHmqfA82M9t9nt41PHT0PBpaPQ0NP4H2uM8aSg/5pDp387yLP0IUQ8iS72I/J7+6xeU3/sN1zS08U8JAAA=

2 replies

ON

that's not problem. You can reproduce it with fake/not-working IPv6 address on your phone. It should fallback to IPv4 on non-working IPv6 network.

How can I do that exactly? Sorry I don't have much experience with this.

Hi. Unfortunately I don't have a IPv6 network myself to test it on, sorry :(

ON

do you have access to your router? You need to enable IPv6 stale-less configuration. RouterAdvertisement/ND/RADVD. Set some dummy subnet, try for example: fdf7:b8a0:94d6:682b::/64

Than your phone should have not-working (broken) IPv6 configuration with address from that subnet.

Ok, I'll try. Thanks