(Illustration by Gaich Muramatsu)
Hello, I have discovered a sad consequence of how Venus is using DNS. - it relies on DNS to find realm servers -- perfectly correct - it tries to refresh its knowledge about the ip-addresses of the servers, which is very, very good Unfortunately, as soon as we physically disconnected a machine from the net so that it can not reach DNS, it becomes hardly possible to use Coda. Venus is making DNS queries all the time and waiting for answers which never come. One workaround is to ensure that the network is logically shut down, there are no interfaces/routes for Venus to use. Another workaround is to ensure that /etc/resolv.conf does not contain any DNS server addresses. Both have two major drawbacks though: - require root privileges and possibly questionnable changes in the local setup - represent an extra burden (Apparently, some setups tend to do it automatically at network disconnection but we can not rely on that!) Any other workaround-via-client-setup like using "realms" file seems as bad or worse. Disconnected operation is an inherent feature of Coda and should be supported out of the box without relying on extra local tweaks. Venus can gracefully handle rpc2 timeouts, it might be possibly taught to handle DNS timeouts gracefully as well? How hard is it? Do we need a non-standard/non-existent DNS-resolver library? As another kind of workaround, a cfs disconnect or similar command could short circuit DNS resolution in Venus. Though being an extra burden, this would at least allow a non-root user to make the switch. Still, I would strongly prefer making Venus smarter about DNS reachability. Best regards, RuneReceived on 2007-10-26 04:33:20