1wsdd(1)                     General Commands Manual                    wsdd(1)
2
3
4

NAME

6       wsdd - A Web Service Discovery host daemon.
7

SYNOPSIS

9       wsdd [options]
10

DESCRIPTION

12       wsdd  implements  a  Web  Service  Discovery  host daemon. This enables
13       (Samba) hosts, like your local NAS device, to be found by  Web  Service
14       Discovery Clients like Windows.
15

OPTIONS

17       -4, --ipv4only
18              See below.
19
20       -6, --ipv6only
21              Restrict to the given address family. If both options are speci‐
22              fied no addreses will be available and wsdd will exit.
23
24       -c DIRECTORY, --chroot DIRECTORY
25              chroot into the given DIRECTORY after  initialization  has  been
26              performed  and  right  before  the handling of incoming messages
27              starts. The new root directory can be empty. Consider using  the
28              -u option as well.
29
30       -d DOMAIN, --domain DOMAIN
31              Assume  that  the  host  running wsdd joined an ADS domain. This
32              will make wsdd report the host being a domain  member.  It  dis‐
33              ables workgroup membership reporting. The (provided) hostname is
34              automatically converted to lower case. Use the  `-p`  option  to
35              change this behavior.
36
37       -H HOPLIMIT, --hoplimit HOPLIMIT
38              Set  the hop limit for multicast packets. The default is 1 which
39              should prevent packets from leaving the local network segment.
40
41       -i INTERFACE, --interface INTERFACE
42              Specify on which interfaces wsdd will be  listening  on.  If  no
43              interfaces are specified, all interfaces are used. The loop-back
44              interface is never used, even when it was explicitly  specified.
45              For  interfaces  with  IPv6 addresses, only link-local addresses
46              will be used for announcing the host on the network. This option
47              can  be provided multiple times in order to use more than inter‐
48              face (but no all).
49
50       -n HOSTNAME, --hostname HOSTNAME
51              Override the host name wsdd uses during  discovery.  By  default
52              the  machine's host name is used (look at hostname(1)). Only the
53              host name part of a possible FQDN will be used  in  the  default
54              case.
55
56       -p, --preserve-case
57              Preserve  the  hostname as it is. Without this option, the host‐
58              name is converted as follows. For  workgroup  environments  (see
59              -w) the hostname is made upper case by default. Vice versa it is
60              made lower case for usage in domains (see -d).
61
62       -s, --shortlog
63              Use a shorter logging format that only includes  the  level  and
64              message.   This  is useful in cases where the logging mechanism,
65              like systemd on Linux, automatically prepends a date and process
66              name plus ID to the log message.
67
68       -t, --nohttp
69              Do not service HTTP requests of the WSD protocol. This option is
70              intended for debugging purposes where another process may handle
71              the Get messages.
72
73       -u USER[:GROUP], --user USER[:GROUP]
74              Change  user  (and  group)  when running before handling network
75              packets.  Together with -c this option can be used  to  increase
76              security  if  the  execution  environment, like the init system,
77              cannot ensure this in another way.
78
79       -U UUID, --uuid UUID
80              The WSD specification requires a device to have a unique address
81              that  is  stable  across  reboots or changes in networks. In the
82              context of the standard, it is assumed that  this  is  something
83              like  a serial number. wsdd uses the UUID version 5 with the DNS
84              namespace and the host name of  the  local  machine  as  inputs.
85              Thus,  the  host name should be stable and not be modified, e.g.
86              by DHCP. However, if you want wsdd to use a  specific  UUID  you
87              can use this option.
88
89       -v, --verbose
90              Additively increase verbosity of the log output. A single occur‐
91              rence of -v/--verbose sets  the  log  level  to  INFO.  More  -v
92              options set the log level to DEBUG.
93
94       -w WORKGROUP, --workgroup WORKGROUP
95              By  default  wsdd  reports  the  host is a member of a workgroup
96              rather than a domain (use the  -d/--domain  option  to  override
97              this).  With  -w/--workgroup  the  default workgroup name can be
98              changed. The default work group name  is  WORKGROUP.  The  (pro‐
99              vided)  hostname  is  automatically converted to upper case. Use
100              the `-p` option to change this behavior.
101

EXAMPLE USAGE

103   Handle traffic on eth0 and eth2 only, but only with IPv6 addresses
104           wsdd -i eth0 -i eth2 -6
105
106           or
107
108           wsdd --interface eth0 --interface eth2 --ipv6only
109
110   Set the Workgroup according to smb.conf, be verbose, run with dropped priv‐
111       ileges, and change the root directory to an (empty) directory
112           SMB_GROUP=$(grep  -i  '^workgroup='  smb.conf | cut -f2 -d= | tr -d
113       '[:blank:]')
114
115           wsdd -v -w $SMB_GROUP -u daemon:daemon -c /var/run/wsdd/chroot
116

FIREWALL SETUP

118       Both incoming and outgoing multicast  traffic  on  port  3702  must  be
119       allowed. For IPv4, the multicast address is `239.255.255.250`, for IPv6
120       the link local SSDP multicast address (`fe02::c`) is used.
121
122       Incoming TCP traffic (and related outgoing traffic) on port  5357  must
123       be allowed.
124

SECURITY

126       wsdd does not implement any security feature, e.g. by using TLS for the
127       http service. This is because wsdd's intended usage is within  private,
128       i.e.  home,  LANs.  The  Hello  message  contains  the  hosts transport
129       address, i.e. the IP address which speeds up discovery (avoids  Resolve
130       message).
131

KNOWN ISSUES

133   Using only IPv6 on FreeBSD
134       If  wsdd  is  running on FreeBSD using IPv6 only, the host running wsdd
135       may not be reliably discovered. The reason appears to be  that  Windows
136       is  not always able to connect to the HTTP service for unknown reasons.
137       As a workaround, run wsdd with IPv4 only.
138
139   Tunnel/Bridge Interface
140       If tunnel/bridge interfaces like those created  by  OpenVPN  or  Docker
141       exist,  they  may  interfere with wsdd if executed without providing an
142       interface that it should bind to (so it binds to all). In  such  cases,
143       the  wsdd  hosts  appears after wsdd has been started but it disappears
144       when an update of the Network  view  in  Windows  Explorer  is  forced,
145       either  by  refreshing  the view or by a reboot of the Windows machine.
146       To solve this issue, the interface that is connected to the network  on
147       which  the  host  should  be  announced  needs to be specified with the
148       -i/--interface option.  This prevents the usage  of  the  tunnel/bridge
149       interfaces.
150
151       Background:  Tunnel/bridge  interfaces  may cause Resolve requests from
152       Windows hosts to be delivered to wsdd multiple times,  i.e.  duplicates
153       of such request are created. If wsdd receives such a request first from
154       a tunnel/bridge it uses the transport  address  (IP  address)  of  that
155       interface  and  sends  the response via unicast. Further duplicates are
156       not processed due to the duplicate message detection which is based  on
157       message  UUIDs. The Windows host which receives the response appears to
158       detect a mismatch between the transport  address  in  the  ResolveMatch
159       message  (which is the tunnel/bridge address) and the IP of the sending
160       host/interface (LAN IP, e.g.). Subsequently, the wsdd host  is  ignored
161       by Windows.
162
163
164
165                                                                       wsdd(1)
Impressum