* Makefile (FORTIFY): New. (CFLAGS): Include $(FORTIFY).
* plugins.d/mandosclient.c (main): New "if_index" variable. Bug fix: check if interface exists. New "--connect" option.
* server.py (serviceInterface): Removed; replaced by "AvahiService.interface". All users changed. (AvahiError, AvahiServiceError, AvahiGroupError): New exception classes. (AvahiService): New class. (serviceName): Removed; replaced by "AvahiService.name". All users changed. (serviceType): Removed; replaced by "AvahiService.type". All users changed. (servicePort): Removed; replaced by "AvahiService.port". All users changed. (serviceTXT): Removed; replaced by "AvahiService.TXT". All users changed. (domain): Removed; replaced by "AvahiService.domain". All users changed. (host): Removed; replaced by "AvahiService.host". All users changed. (rename_count): Removed; replaced by "AvahiService.rename_count" and "AvahiService.max_renames". All users changed. (Client.__init__): If no secret or secfile, raise TypeError instead of RuntimeError. (Client.last_seen): Renamed to "Client.last_checked_ok". All users changed. (Client.stop, Client.stop_checker): Use "getattr" with default value instead of "hasattr". (Client.still_valid): Removed "now" argument. (Client.handle): Separate the "no client found" and "client invalid" cases for clearer code. (IPv6_TCPServer.__init__): "options" argument replaced by "settings". All callers changed. (IPv6_TCPServer.options): Replaced by "IPv6_TCPServer.settings". All users changed. (IPv6_TCPServer.server_bind): Use getattr instead of hasattr. (add_service): Removed; replaced by "AvahiService.add". All callers changed. (remove_service): Removed; replaced by "AvahiService.remove". All callers changed. (entry_group_state_changed): On entry group collision, call the new AvahiService.rename method. Raise AvahiGroupError on group error. (if_nametoindex): Use ctypes.utils.find_library to locate the C library. Cache the result. Loop on EINTR. (daemon): Use os.path.devnull to locate "/dev/null". (killme): Removed. All callers changed to do "sys.exit()" instead, except where stated otherwise. (main): Removed "exitstatus". Removed all default values from all non-bool options. New option "--configdir". New variables "server_defaults" and "server_settings", read from "%(configdir)s/server.conf". Let any supplied command line options override server settings. Variable "defaults" renamed to "client_defaults", which is read from "clients.conf" instead of "mandos-clients.conf". New global AvahiService object "service" replaces old global variables. Catch AvahiError and exit with error if caught.