summaryrefslogtreecommitdiff
path: root/source/smbd/server.c
diff options
context:
space:
mode:
Diffstat (limited to 'source/smbd/server.c')
-rw-r--r--source/smbd/server.c23
1 files changed, 17 insertions, 6 deletions
diff --git a/source/smbd/server.c b/source/smbd/server.c
index 00a2cd4c75..b05758ea4e 100644
--- a/source/smbd/server.c
+++ b/source/smbd/server.c
@@ -588,6 +588,23 @@ static bool open_sockets_smbd(bool is_daemon, bool interactive, const char *smb_
MSG_SMB_INJECT_FAULT, msg_inject_fault);
#endif
+ /* Kick off our mDNS registration. */
+ if (dns_port != 0) {
+#ifdef WITH_DNSSD_SUPPORT
+ dns_register_smbd(&dns_reg, dns_port, &maxfd,
+ &r_fds, &idle_timeout);
+#endif
+#ifdef WITH_AVAHI_SUPPORT
+ void *avahi_conn;
+ avahi_conn = avahi_start_register(
+ smbd_event_context(), smbd_event_context(),
+ dns_port);
+ if (avahi_conn == NULL) {
+ DEBUG(10, ("avahi_start_register failed\n"));
+ }
+#endif
+ }
+
/* now accept incoming connections - forking a new process
for each incoming connection */
DEBUG(2,("waiting for a connection\n"));
@@ -632,12 +649,6 @@ static bool open_sockets_smbd(bool is_daemon, bool interactive, const char *smb_
FD_ZERO(&w_fds);
GetTimeOfDay(&now);
- /* Kick off our mDNS registration. */
- if (dns_port != 0) {
- dns_register_smbd(&dns_reg, dns_port, &maxfd,
- &r_fds, &idle_timeout);
- }
-
event_add_to_select_args(smbd_event_context(), &now,
&r_fds, &w_fds, &idle_timeout,
&maxfd);