rconfig(8): Update usage in program and manpage
[dragonfly.git] / sbin / rconfig / rconfig.8
1 .\"
2 .\" Copyright (c) 2003,2004 The DragonFly Project.  All rights reserved.
3 .\"
4 .\" This code is derived from software contributed to The DragonFly Project
5 .\" by Matthew Dillon <dillon@backplane.com>
6 .\"
7 .\" Redistribution and use in source and binary forms, with or without
8 .\" modification, are permitted provided that the following conditions
9 .\" are met:
10 .\"
11 .\" 1. Redistributions of source code must retain the above copyright
12 .\"    notice, this list of conditions and the following disclaimer.
13 .\" 2. Redistributions in binary form must reproduce the above copyright
14 .\"    notice, this list of conditions and the following disclaimer in
15 .\"    the documentation and/or other materials provided with the
16 .\"    distribution.
17 .\" 3. Neither the name of The DragonFly Project nor the names of its
18 .\"    contributors may be used to endorse or promote products derived
19 .\"    from this software without specific, prior written permission.
20 .\"
21 .\" THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
22 .\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
23 .\" LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
24 .\" FOR A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE
25 .\" COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
26 .\" INCIDENTAL, SPECIAL, EXEMPLARY OR CONSEQUENTIAL DAMAGES (INCLUDING,
27 .\" BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
28 .\" LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
29 .\" AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
30 .\" OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
31 .\" OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
32 .\" SUCH DAMAGE.
33 .\"
34 .Dd June 16, 2019
35 .Dt RCONFIG 8
36 .Os
37 .Sh NAME
38 .Nm rconfig
39 .Nd Remote Configuration Client/Server
40 .Sh SYNOPSIS
41 .Nm
42 .Op Fl a
43 .Op Fl v
44 .Op Fl W Ar workdir
45 .Op Ar host[:tag] Ar ...
46 .Nm
47 .Fl s
48 .Op Fl a
49 .Op Fl C Ar configfiles
50 .Op Fl T Ar tagdir
51 .Op Fl v
52 .Op Ar bind_address Ar ...
53 .Sh DESCRIPTION
54 The
55 .Nm
56 utility provides simple remote configurator functionality.  In client mode
57 .Nm
58 will broadcast a request for the specified configuration tag over available
59 interfaces (or you can specify an IP), locate a server capable of supplying
60 the tag, then connect to, download, and run the script associate with the
61 tag.  In server mode
62 .Nm
63 will listen on port 257 for broadcast requests (UDP) and connections (TCP).
64 Note that UDP based requests are only responded to if the requested tag
65 is available.  You can run the server on multiple machines on the LAN
66 serving different tags or, if you wish to provide a backup, serving the
67 same tags, or a mix.  The client will use the first matching tag it encounters.
68 .Pp
69 The following command line options are available when operating in client mode:
70 .Bl -tag -width Fl
71 .It Fl a
72 .Nm
73 will broadcast a request for the 'auto' tag on all available interfaces.
74 No additional arguments are necessary.
75 .It Fl W Ar workdir
76 Specify the working directory for script downloads.  The default is
77 .Pa /tmp .
78 .It Fl v
79 Verbose mode prints additional information during program execution.
80 .It host[:tag]
81 Specify any number of remote IP addresses or broadcast addresses.  If no
82 tag is specified
83 .Nm
84 defaults to 'auto'.  If you specify just a tag using :tag the broadcast
85 address for all available interfaces will be used.  The
86 .Fl a
87 option should not be used in that case.
88 .El
89 .Pp
90 The following command line options are available when operating in server mode:
91 .Bl -tag -width Fl
92 .It Fl s
93 This option is required to operate
94 .Nm
95 as a server.
96 .It Fl a
97 .Nm
98 will bind to and listen on all available interfaces.  If this option is not
99 used you must specify a particular IP address or addresses to bind to.  The
100 server listens on port 257 for both UDP and TCP.
101 .It Fl T Ar tagdir
102 Specify the directory containing the tag scripts.  The default is
103 .Pa /usr/local/etc/rconfig .
104 Tag scripts are in the form:
105 .Pa tagname.sh .
106 The tag name can only consist of alphabets (lower and upper letters),
107 digits (zero to nine), underscore (_), dot (.),
108 minus (-) and plus (+) symbols.
109 .It Fl C Ar configfiles
110 Specify server configuration files (currently unused).
111 .It Fl v
112 Verbose mode prints additional information during program execution.
113 .It bind_address
114 Specify any number of IP addresses or hostnames corresponding to machine
115 local addresses that the server will bind to and listen on.
116 .El
117 .Sh FILES
118 .Pa /usr/share/examples/rconfig
119 .Sh SEE ALSO
120 .Xr dhclient 8
121 .Sh AUTHORS
122 This program was written by Matthew Dillon.