=== modified file 'mandos' --- mandos 2015-05-31 20:12:27 +0000 +++ mandos 2015-07-12 01:41:14 +0000 @@ -395,7 +395,18 @@ logger.error(bad_states[state] + ": %r", error) self.cleanup() elif state == avahi.SERVER_RUNNING: - self.add() + try: + self.add() + except dbus.exceptions.DBusException as error: + if (error.get_dbus_name() + == "org.freedesktop.Avahi.CollisionError"): + logger.info("Local Zeroconf service name" + " collision.") + return self.rename(remove=False) + else: + logger.critical("D-Bus Exception", exc_info=error) + self.cleanup() + os._exit(1) else: if error is None: logger.debug("Unknown state: %r", state)