I too have made these changes in my router's DNS. I'm currently on 2602.2 (on a H6400) - from reading other posts it seems it's not rootable yet...
Let's summarize sectroyer's concerns (hope I got them straight):
1. If the TV is rooted, but OTN support is still on, the TV will update when it gets the chance, it will loose root access and possibly "phone back" to Samsung HQ and report on the rooting method attempted (let's assume we're paranoid about this)
Question - in this case can the root package check if OTN is on (by reading some part of the flash where such a flag would be stored) and if it is, simply refuse to attempt root?
Or, if OTN can't be turned off, do some checks via the default DNS server to see if the update domains resolve to 127.0.0.1 or not. If they don't, refuse to root (and log an appropriate message somewhere). Such a check can/should be performed at each startup (though, one may argue that the DNS configuration may change on each network up/down and the update might come at some considerable time after startup)...
2. If the TV is not rooted you can't run any checks automatically, but - maybe you can develop an app in the store that does the DNS checks and you instruct the user to run it as a prerequisite. If it fails don't attempt to root.
3. If the TV is not rooted but DNS checks pass, go ahead with the root...
Here's an idea regarding the DNS proxy:
In principle it would be easy to use by the end user, however, it would introduce delays in DNS response times for the TV because it would have to resolve everything (web browser, youtube, etc). Also, it will probably cause streaming issues where content providers (like youtube) have geographical caches that get accessed via DNS - for example:
DNS query to youtube.com to 8.8.8.8:
Code: Select all
adrianp@frost:~$ dig @8.8.8.8 www.youtube.com
...
;; ANSWER SECTION:
www.youtube.com. 21599 IN CNAME youtube-ui.l.google.com.
youtube-ui.l.google.com. 299 IN A 80.97.208.44
youtube-ui.l.google.com. 299 IN A 80.97.208.49
...
DNS query to youtube.com to my ISP DNS:
Code: Select all
adrianp@frost:~$ dig @193.231.100.120 www.youtube.com
...
;; ANSWER SECTION:
www.youtube.com. 14529 IN CNAME youtube-ui.l.google.com.
youtube-ui.l.google.com. 174 IN A 92.87.232.84
youtube-ui.l.google.com. 174 IN A 92.87.232.89
...
Getting a non-local server will impact your streaming performance.
However, I think I have a way around it:
1. Set up a public DNS that bans the domains used for update and resolve all other queries
2. Have the user configure that DNS manually and set up the rooting scripts (if possible) to check if the domains are "correctly" resolved
3. After root, override /etc/hosts. Even if it's on a read-only medium, it can be overridden by doing
Code: Select all
mount -o bind /tmp/custom.hosts /etc/hosts
The changes should be instantaneous and system-wide. (It's read by the system dns resolver which opens it each time it has to resolve anything. This means we don't need to restart any processes that need resolving).
4. In the new hosts set the update domains to 127.0.0.1
5. Reset the manual DNS server back to DHCP (or ask the user to input their home gateway as DNS).
This way you only use the public DNS only on rooting, and take care of business internally afterwards.
I'm not sure if what I'm proposing is feasible on this platform (I am a noob afterall), but it may be a way to do things...