--- ubiquity/plugins/ubi-usersetup.py 2012-02-11 18:28:05.000000000 -0800 +++ ubiquity/plugins/ubi-usersetup.py.new 2012-02-17 17:28:54.498523145 -0800 @@ -228,6 +228,15 @@ execute_root('apt-install', 'oem-config-gtk', 'oem-config-slideshow-ubuntu') + # bug 760884 + # On networks where DNS fakes a response for unknown hosts, + # don't display a warning for hostnames that already exist. + self.resolver_ok = False + hostname = "xyzzy_does_not_exist" + for host in (hostname, '%s.local' % hostname): + self.resolver.lookup_by_name_async( + host, None, self.bogus_lookup_result, None) + self.plugin_widgets = self.page def plugin_translate(self, lang): @@ -432,12 +441,19 @@ self.hostname_ok.hide() def hostname_timeout(self, widget): - if self.hostname_ok.get_property('visible'): + if self.hostname_ok.get_property('visible') and self.resolver_ok: hostname = widget.get_text() for host in (hostname, '%s.local' % hostname): self.resolver.lookup_by_name_async( host, None, self.lookup_result, None) + def bogus_lookup_result(self, resolver, result, unused): + from gi.repository import GObject + try: + resolver.lookup_by_name_finish(result) + except GObject.GError: + self.resolver_ok = True + def on_authentication_toggled(self, w): if w == self.login_auto and w.get_active(): self.login_encrypt.set_active(False)