X-Git-Url: http://git.meshlink.io/?a=blobdiff_plain;f=avahi-daemon%2Fsimple-protocol.c;h=3cac7134f5c801280fe75a485deef4e090a5c7f8;hb=e73e377dd5d15a6c31c04e977517a909cad7b5b1;hp=2d806dfc9f1841961e5fb24673dd31c9687e65c7;hpb=fd25072a95549aff47d5abafd712fb14de55e172;p=catta diff --git a/avahi-daemon/simple-protocol.c b/avahi-daemon/simple-protocol.c index 2d806df..3cac713 100644 --- a/avahi-daemon/simple-protocol.c +++ b/avahi-daemon/simple-protocol.c @@ -32,6 +32,7 @@ #include #include #include +#include #include #include @@ -44,6 +45,10 @@ #include "simple-protocol.h" #include "main.h" +#ifdef ENABLE_CHROOT +#include "chroot.h" +#endif + #define BUFFER_SIZE (20*1024) #define CLIENTS_MAX 50 @@ -466,7 +471,7 @@ int simple_protocol_setup(const AvahiPoll *poll_api) { unlink(AVAHI_SOCKET); - if (bind(server->fd, &sa, sizeof(sa)) < 0) { + if (bind(server->fd, (struct sockaddr*) &sa, sizeof(sa)) < 0) { avahi_log_warn("bind(): %s", strerror(errno)); goto fail; } @@ -497,7 +502,11 @@ void simple_protocol_shutdown(void) { if (server) { if (server->bind_successful) +#ifdef ENABLE_CHROOT + avahi_chroot_helper_unlink(AVAHI_SOCKET); +#else unlink(AVAHI_SOCKET); +#endif while (server->clients) client_free(server->clients);