I suggest that if there are no interfaces then we make it so that get_interface() doesn't exit but returns with the interface name pointer equal to NULL. This is detected in main() and causes get_nonet() to be called, on receiving an error from which the next state becomes BACKUP; otherwise QUIT. get_nonet() runs get_hostname() and get_domain() and writes basic /etc/network/interfaces and /etc/hosts files. -- Thomas