xref: /freebsd/usr.sbin/rpc.tlsservd/rpc.tlsservd.8 (revision fa9896e082a1046ff4fbc75fcba4d18d1f2efc19)
1b9cbc85dSRick Macklem.\" Copyright (c) 2008 Isilon Inc http://www.isilon.com/
2b9cbc85dSRick Macklem.\" Authors: Doug Rabson <dfr@rabson.org>
3b9cbc85dSRick Macklem.\" Developed with Red Inc: Alfred Perlstein <alfred@FreeBSD.org>
4b9cbc85dSRick Macklem.\"
5b9cbc85dSRick Macklem.\" Redistribution and use in source and binary forms, with or without
6b9cbc85dSRick Macklem.\" modification, are permitted provided that the following conditions
7b9cbc85dSRick Macklem.\" are met:
8b9cbc85dSRick Macklem.\" 1. Redistributions of source code must retain the above copyright
9b9cbc85dSRick Macklem.\"    notice, this list of conditions and the following disclaimer.
10b9cbc85dSRick Macklem.\" 2. Redistributions in binary form must reproduce the above copyright
11b9cbc85dSRick Macklem.\"    notice, this list of conditions and the following disclaimer in the
12b9cbc85dSRick Macklem.\"    documentation and/or other materials provided with the distribution.
13b9cbc85dSRick Macklem.\"
14b9cbc85dSRick Macklem.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
15b9cbc85dSRick Macklem.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
16b9cbc85dSRick Macklem.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
17b9cbc85dSRick Macklem.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
18b9cbc85dSRick Macklem.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
19b9cbc85dSRick Macklem.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
20b9cbc85dSRick Macklem.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
21b9cbc85dSRick Macklem.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
22b9cbc85dSRick Macklem.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
23b9cbc85dSRick Macklem.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
24b9cbc85dSRick Macklem.\" SUCH DAMAGE.
25b9cbc85dSRick Macklem.\"
26b9cbc85dSRick Macklem.\" Modified from gssd.8 for rpc.tlsservd.8 by Rick Macklem.
27*e4712593SRick Macklem.Dd November 10, 2022
28b9cbc85dSRick Macklem.Dt RPC.TLSSERVD 8
29b9cbc85dSRick Macklem.Os
30b9cbc85dSRick Macklem.Sh NAME
31b9cbc85dSRick Macklem.Nm rpc.tlsservd
32b9cbc85dSRick Macklem.Nd "Sun RPC over TLS Server Daemon"
33b9cbc85dSRick Macklem.Sh SYNOPSIS
34b9cbc85dSRick Macklem.Nm
35e2c72fecSRick Macklem.Op Fl 2
36d94358e2SRick Macklem.Op Fl C Ar available_ciphers
37b9cbc85dSRick Macklem.Op Fl D Ar certdir
38b9cbc85dSRick Macklem.Op Fl d
39b9cbc85dSRick Macklem.Op Fl h
40b9cbc85dSRick Macklem.Op Fl l Ar CAfile
41b9cbc85dSRick Macklem.Op Fl m
42*e4712593SRick Macklem.Op Fl N Ar num_servers
43b9cbc85dSRick Macklem.Op Fl n Ar domain
44b9cbc85dSRick Macklem.Op Fl p Ar CApath
45b9cbc85dSRick Macklem.Op Fl r Ar CRLfile
46b9cbc85dSRick Macklem.Op Fl u
47b9cbc85dSRick Macklem.Op Fl v
48b9cbc85dSRick Macklem.Op Fl W
49b9cbc85dSRick Macklem.Op Fl w
50b9cbc85dSRick Macklem.Sh DESCRIPTION
51b9cbc85dSRick MacklemThe
52b9cbc85dSRick Macklem.Nm
53b9cbc85dSRick Macklemprogram provides support for the server side of the kernel Sun RPC over TLS
54b9cbc85dSRick Macklemimplementation.
55b9cbc85dSRick MacklemThis daemon must be running to allow the kernel RPC to perform the TLS
56b9cbc85dSRick Macklemhandshake after a TCP client has sent the STARTTLS Null RPC request to
57b9cbc85dSRick Macklemthe server.
58b9cbc85dSRick MacklemThis daemon requires that the kernel be built with
59b9cbc85dSRick Macklem.Dq options KERNEL_TLS
60b9cbc85dSRick Macklemand be running on an architecture such as
61b9cbc85dSRick Macklem.Dq amd64
62b9cbc85dSRick Macklemthat supports a direct map (not i386) with
63b9cbc85dSRick Macklem.Xr ktls 4
64b9cbc85dSRick Macklemenabled.
65b9cbc85dSRick MacklemNote that the
66b9cbc85dSRick Macklem.Fl tls
67b9cbc85dSRick Macklemoption in the
68b9cbc85dSRick Macklem.Xr exports 5
69b9cbc85dSRick Macklemfile specifies that the client must use RPC over TLS.
70b9cbc85dSRick MacklemThe
71b9cbc85dSRick Macklem.Fl tlscert
72b9cbc85dSRick Macklemoption in the
73b9cbc85dSRick Macklem.Xr exports 5
74b9cbc85dSRick Macklemfile specifies that the client must provide a certificate
75b9cbc85dSRick Macklemthat verifies.
76b9cbc85dSRick MacklemThe
77b9cbc85dSRick Macklem.Fl tlscertuser
78b9cbc85dSRick Macklemoption in the
79b9cbc85dSRick Macklem.Xr exports 5
80b9cbc85dSRick Macklemfile specifies that the client must provide a certificate
81b9cbc85dSRick Macklemthat verifies and has a otherName:1.3.6.1.4.1.2238.1.1.1;UTF8: field of
82b9cbc85dSRick MacklemsubjectAltName of the form
83b9cbc85dSRick Macklem.Dq user@domain
84b9cbc85dSRick Macklemwhere
85b9cbc85dSRick Macklem.Dq domain
86b9cbc85dSRick Macklemmatches the one for this server and
87b9cbc85dSRick Macklem.Dq user
88b9cbc85dSRick Macklemis a valid user name that maps to a <uid, gid_list>.
89b9cbc85dSRick MacklemFor the latter two cases, the
90b9cbc85dSRick Macklem.Fl m
91b9cbc85dSRick Macklemand either the
92b9cbc85dSRick Macklem.Fl l
93b9cbc85dSRick Macklemor
94b9cbc85dSRick Macklem.Fl p
95b9cbc85dSRick Macklemoptions must be specified.
96b9cbc85dSRick MacklemThe
97b9cbc85dSRick Macklem.Fl tlscertuser
98b9cbc85dSRick Macklemoption also requires that the
99b9cbc85dSRick Macklem.Fl u
100b9cbc85dSRick Macklemoption on this daemon be specified.
101b9cbc85dSRick Macklem.Pp
102b9cbc85dSRick MacklemAlso, if the IP address used by the client cannot be trusted,
103b9cbc85dSRick Macklemthe rules in
104b9cbc85dSRick Macklem.Xr exports 5
105b9cbc85dSRick Macklemcannot be applied safely.
106b9cbc85dSRick MacklemAs such, the
107b9cbc85dSRick Macklem.Fl h
108b9cbc85dSRick Macklemoption can be used along with
109b9cbc85dSRick Macklem.Fl m
110b9cbc85dSRick Macklemand either the
111b9cbc85dSRick Macklem.Fl l
112b9cbc85dSRick Macklemor
113b9cbc85dSRick Macklem.Fl p
114b9cbc85dSRick Macklemoptions to require that the client certificate have the correct
115b9cbc85dSRick MacklemFully Qualified Domain Name (FQDN) in it.
116b9cbc85dSRick Macklem.Pp
117b9cbc85dSRick MacklemA certificate and associated key must exist in /etc/rpc.tlsservd
118b9cbc85dSRick Macklem(or the
119b9cbc85dSRick Macklem.Dq certdir
120b9cbc85dSRick Macklemspecified by the
121b9cbc85dSRick Macklem.Fl D
122b9cbc85dSRick Macklemoption)
123b9cbc85dSRick Macklemin files named
124b9cbc85dSRick Macklem.Dq cert.pem
125b9cbc85dSRick Macklemand
126b9cbc85dSRick Macklem.Dq certkey.pem .
127b9cbc85dSRick Macklem.Pp
128b9cbc85dSRick MacklemIf a SIGHUP signal is sent to the daemon it will reload the
129b9cbc85dSRick Macklem.Dq CRLfile
130b9cbc85dSRick Macklemand will shut down any extant connections that presented certificates
131b9cbc85dSRick Macklemduring TLS handshake that have been revoked.
132b9cbc85dSRick MacklemIf the
133b9cbc85dSRick Macklem.Fl r
134b9cbc85dSRick Macklemoption was not specified, the SIGHUP signal will be ignored.
135b9cbc85dSRick Macklem.Pp
136b9cbc85dSRick MacklemThe daemon will log failed certificate verifications via
137b9cbc85dSRick Macklem.Xr syslogd 8
138b9cbc85dSRick Macklemusing LOG_INFO | LOG_DAEMON when the
139b9cbc85dSRick Macklem.Fl m
140b9cbc85dSRick Macklemoption has been specified.
141b9cbc85dSRick Macklem.Pp
142b9cbc85dSRick MacklemThe options are as follows:
143b9cbc85dSRick Macklem.Bl -tag -width indent
144e2c72fecSRick Macklem.It Fl 2 , Fl Fl allowtls1_2
145e2c72fecSRick MacklemPermit clients to mount using TLS version 1.2.
146e2c72fecSRick MacklemBy default, the daemon will only allow mounts
147e2c72fecSRick Macklemusing TLS version 1.3, as required by the RFC.
148e2c72fecSRick MacklemHowever, early
149e2c72fecSRick Macklem.Fx
150e2c72fecSRick Macklem.Pq 13.0 and 13.1
151e2c72fecSRick Macklemclients require
152e2c72fecSRick Macklemthis option, since they use TLS version 1.2.
153d94358e2SRick Macklem.It Fl C Ar available_ciphers , Fl Fl ciphers= Ns Ar available_ciphers
154d94358e2SRick MacklemSpecify which ciphers are available during TLS handshake.
155d94358e2SRick MacklemIf this option is specified,
156d94358e2SRick Macklem.Dq SSL_CTX_set_ciphersuites()
157d94358e2SRick Macklemwill be called with
158d94358e2SRick Macklem.Dq available_ciphers
159d94358e2SRick Macklemas the argument.
160d94358e2SRick MacklemIf this option is not specified, the cipher will be chosen by
161d94358e2SRick Macklem.Xr ssl 7 ,
162d94358e2SRick Macklemwhich should be adequate for most cases.
163d94358e2SRick MacklemThe format for the available ciphers is a simple
164d94358e2SRick Macklem.So
165d94358e2SRick Macklem:
166d94358e2SRick Macklem.Sc
167d94358e2SRick Macklemseparated list, in order of preference.
168d94358e2SRick MacklemThe command
169d94358e2SRick Macklem.Dq openssl ciphers -s -tls1_3
170d94358e2SRick Macklemlists available ciphers.
171b9cbc85dSRick Macklem.It Fl D Ar certdir , Fl Fl certdir= Ns Ar certdir
172b9cbc85dSRick MacklemUse
173b9cbc85dSRick Macklem.Dq certdir
174b9cbc85dSRick Mackleminstead of /etc/rpc.tlsservd as the location for the
175b9cbc85dSRick Macklemcertificate in a file called
176b9cbc85dSRick Macklem.Dq cert.pem
177b9cbc85dSRick Macklemand associated key in
178b9cbc85dSRick Macklem.Dq certkey.pem .
179b9cbc85dSRick Macklem.It Fl d , Fl Fl debuglevel
180b9cbc85dSRick MacklemRun in debug mode.
181b9cbc85dSRick MacklemIn this mode,
182b9cbc85dSRick Macklem.Nm
183b9cbc85dSRick Macklemwill not fork when it starts.
184b9cbc85dSRick Macklem.It Fl h , Fl Fl checkhost
185b9cbc85dSRick MacklemThis option specifies that the client must provide a certificate
186b9cbc85dSRick Macklemthat both verifies and has a FQDN that matches the reverse
187b9cbc85dSRick MacklemDNS name for the IP address that
188b9cbc85dSRick Macklemthe client uses to connect to the server.
189b9cbc85dSRick MacklemThe FQDN should be
190b9cbc85dSRick Macklemin the DNS field of the subjectAltName, but is also allowed
191b9cbc85dSRick Macklemto be in the CN field of the
192b9cbc85dSRick MacklemsubjectName in the certificate.
193b9cbc85dSRick MacklemBy default, a wildcard "*" in the FQDN is not allowed.
194b9cbc85dSRick MacklemWith this option, a failure to verify the client certificate
195b9cbc85dSRick Macklemor match the FQDN will result in the
196b9cbc85dSRick Macklemserver sending AUTH_REJECTEDCRED replies to all client RPCs.
197b9cbc85dSRick MacklemThis option requires the
198b9cbc85dSRick Macklem.Fl m
199b9cbc85dSRick Macklemand either the
200b9cbc85dSRick Macklem.Fl l
201b9cbc85dSRick Macklemor
202b9cbc85dSRick Macklem.Fl p
203b9cbc85dSRick Macklemoptions.
204b9cbc85dSRick Macklem.It Fl l Ar CAfile , Fl Fl verifylocs= Ns Ar CAfile
205b9cbc85dSRick MacklemThis option specifies the path name of a CA certificate(s) file
206b9cbc85dSRick Macklemin pem format, which is used to verify client certificates and to
207b9cbc85dSRick Macklemset the list of CA(s) sent to the client so that it knows which
208b9cbc85dSRick Macklemcertificate to send to the server during the TLS handshake.
209b9cbc85dSRick MacklemThis path name is used in
210b9cbc85dSRick Macklem.Dq SSL_CTX_load_verify_locations(ctx,CAfile,NULL)
211b9cbc85dSRick Macklemand
212b9cbc85dSRick Macklem.Dq SSL_CTX_set_client_CA_list(ctx,SSL_load_client_CA_file(CAfile))
213b9cbc85dSRick Macklemopenssl library calls.
214b9cbc85dSRick MacklemNote that this is a path name for the file and is not assumed to be
215b9cbc85dSRick Macklemin
216b9cbc85dSRick Macklem.Dq certdir .
217b9cbc85dSRick MacklemEither this option or the
218b9cbc85dSRick Macklem.Fl p
219b9cbc85dSRick Macklemoption must be specified when the
220b9cbc85dSRick Macklem.Fl m
221b9cbc85dSRick Macklemoption is specified so that the daemon can verify the client's
222b9cbc85dSRick Macklemcertificate.
223b9cbc85dSRick Macklem.It Fl m , Fl Fl mutualverf
224b9cbc85dSRick MacklemThis option specifies that the server is to request a certificate
225b9cbc85dSRick Macklemfrom the client during the TLS handshake.
226b9cbc85dSRick MacklemIt does not require that the client provide a certificate.
227b9cbc85dSRick MacklemIt should be specified unless no client doing RPC over TLS is
228b9cbc85dSRick Macklemrequired to have a certificate.
229b9cbc85dSRick MacklemFor NFS, either the
230b9cbc85dSRick Macklem.Xr exports 5
231b9cbc85dSRick Macklemoption
232b9cbc85dSRick Macklem.Fl tlscert
233b9cbc85dSRick Macklemor
234b9cbc85dSRick Macklem.Fl tlscertuser
235b9cbc85dSRick Macklemmay be used to require a client to provide a certificate
236b9cbc85dSRick Macklemthat verifies.
237b9cbc85dSRick MacklemSee
238b9cbc85dSRick Macklem.Xr exports 5 .
239*e4712593SRick Macklem.It Fl N Ar num_servers , Fl Fl numdaemons= Ns Ar num_servers
240*e4712593SRick MacklemFor a server with a large number of NFS-over-TLS client mounts,
241*e4712593SRick Macklemthis daemon might get overloaded after a reboot, when many
242*e4712593SRick Macklemclients attempt to do a TLS handshake at the same time.
243*e4712593SRick MacklemThis option may be used to specify that
244*e4712593SRick Macklem.Dq num_servers
245*e4712593SRick Macklemdaemons are to be run instead of a single daemon.
246*e4712593SRick MacklemWhen this is done, the TLS handshakes are spread across the
247*e4712593SRick Macklem.Dq num_servers
248*e4712593SRick Macklemdaemons in a round robin fashion to spread out the load.
249b9cbc85dSRick Macklem.It Fl n Ar domain , Fl Fl domain= Ns Ar domain
250b9cbc85dSRick MacklemThis option specifies what the
251b9cbc85dSRick Macklem.Dq domain
252b9cbc85dSRick Macklemis for use with the
253b9cbc85dSRick Macklem.Fl u
254b9cbc85dSRick Macklemoption, overriding the domain taken from the
255b9cbc85dSRick Macklem.Xr gethostname 2
256b9cbc85dSRick Macklemof the server this daemon is running on.
257b9cbc85dSRick MacklemIf you have specified the
258b9cbc85dSRick Macklem.Fl domain
259b9cbc85dSRick Macklemcommand line option for
260b9cbc85dSRick Macklem.Xr nfsuserd 8
261b9cbc85dSRick Macklemthen you should specify this option with the same
262b9cbc85dSRick Macklem.Dq domain
263b9cbc85dSRick Macklemthat was specified for
264b9cbc85dSRick Macklem.Xr nfsuserd 8 .
265b9cbc85dSRick MacklemThis option is only meaningful when used with the
266b9cbc85dSRick Macklem.Fl u
267b9cbc85dSRick Macklemoption.
268b9cbc85dSRick Macklem.It Fl p Ar CApath , Fl Fl verifydir= Ns Ar CApath
269b9cbc85dSRick MacklemThis option is similar to the
270b9cbc85dSRick Macklem.Fl l
271b9cbc85dSRick Macklemoption, but specifies the path of a directory with CA
272b9cbc85dSRick Macklemcertificates in it.
273b9cbc85dSRick MacklemWhen this option is used,
274b9cbc85dSRick Macklem.Dq SSL_CTX_set_client_CA_list(ctx,SSL_load_client_CA_file())
275b9cbc85dSRick Macklemis not called, so a list of CA names might not be passed
276b9cbc85dSRick Macklemto the client during the TLS handshake.
277b9cbc85dSRick Macklem.It Fl r Ar CRLfile , Fl Fl crl= Ns Ar CRLfile
278b9cbc85dSRick MacklemThis option specifies a Certificate Revocation List (CRL) file
279b9cbc85dSRick Macklemthat is to be loaded into the verify certificate store and
280b9cbc85dSRick Macklemchecked during verification.
281b9cbc85dSRick MacklemThis option is only meaningful when either the
282b9cbc85dSRick Macklem.Fl l
283b9cbc85dSRick Macklemor
284b9cbc85dSRick Macklem.Fl p
285b9cbc85dSRick Macklemhave been specified.
286b9cbc85dSRick Macklem.It Fl u , Fl Fl certuser
287b9cbc85dSRick MacklemThis option specifies that if the client provides a certificate
288b9cbc85dSRick Macklemthat both verifies and has a subjectAltName with an otherName
289b9cbc85dSRick Macklemcomponent of the form
290b9cbc85dSRick Macklem.Dq otherName:1.3.6.1.4.1.2238.1.1.1;UTF8:user@domain
291b9cbc85dSRick Macklemwhere
292b9cbc85dSRick Macklem.Dq domain
293b9cbc85dSRick Macklemmatches the one for this server,
294b9cbc85dSRick Macklemthen the daemon will attempt to map
295b9cbc85dSRick Macklem.Dq user
296b9cbc85dSRick Macklemin the above
297b9cbc85dSRick Macklemto a user credential <uid, gid_list>.
298b9cbc85dSRick MacklemThere should only be one of these otherName components for each
299b9cbc85dSRick Macklem.Dq domain .
300b9cbc85dSRick MacklemIf
301b9cbc85dSRick Macklem.Dq user
302b9cbc85dSRick Macklemis a valid username in the password database,
303b9cbc85dSRick Macklemthen the <uid, gid_list> for
304b9cbc85dSRick Macklem.Dq user
305b9cbc85dSRick Macklemwill be used for all
306b9cbc85dSRick MacklemRPCs on the mount instead of the credentials in the RPC request
307b9cbc85dSRick Macklemheader.
308b9cbc85dSRick MacklemThis option requires the
309b9cbc85dSRick Macklem.Fl m
310b9cbc85dSRick Macklemand either the
311b9cbc85dSRick Macklem.Fl l
312b9cbc85dSRick Macklemor
313b9cbc85dSRick Macklem.Fl p
314b9cbc85dSRick Macklemoptions.
315423387beSRick MacklemUse of this option might not conform to RFC-9289, which does
316b9cbc85dSRick Macklemnot allow certificates to be used for user authentication.
317b9cbc85dSRick Macklem.It Fl v , Fl Fl verbose
318b9cbc85dSRick MacklemRun in verbose mode.
319b9cbc85dSRick MacklemIn this mode,
320b9cbc85dSRick Macklem.Nm
321b9cbc85dSRick Macklemwill log activity messages to
322b9cbc85dSRick Macklem.Xr syslogd 8
323b9cbc85dSRick Macklemusing LOG_INFO | LOG_DAEMON or to
324b9cbc85dSRick Macklemstderr, if the
325b9cbc85dSRick Macklem.Fl d
326b9cbc85dSRick Macklemoption has also been specified.
327b9cbc85dSRick Macklem.It Fl W , Fl Fl multiwild
328b9cbc85dSRick MacklemThis option is used with the
329b9cbc85dSRick Macklem.Fl h
330b9cbc85dSRick Macklemoption to allow use of a wildcard
331b9cbc85dSRick Macklem.Dq *
332b9cbc85dSRick Macklemthat matches multiple
333b9cbc85dSRick Macklemcomponents of the reverse DNS name for the client's IP
334b9cbc85dSRick Macklemaddress.
335b9cbc85dSRick MacklemFor example, the FQDN
336b9cbc85dSRick Macklem.Dq *.uoguelph.ca
337b9cbc85dSRick Macklemwould match both
338b9cbc85dSRick Macklem.Dq laptop21.uoguelph.ca
339b9cbc85dSRick Macklemand
340b9cbc85dSRick Macklem.Dq laptop3.cis.uoguelph.ca .
341b9cbc85dSRick Macklem.It Fl w , Fl Fl singlewild
342b9cbc85dSRick MacklemSimilar to
343b9cbc85dSRick Macklem.Fl W
344b9cbc85dSRick Macklembut allows the wildcard
345b9cbc85dSRick Macklem.Dq *
346b9cbc85dSRick Macklemto match a single component of the reverse DNS name.
347b9cbc85dSRick MacklemFor example, the FQDN
348b9cbc85dSRick Macklem.Dq *.uoguelph.ca
349b9cbc85dSRick Macklemwould match
350b9cbc85dSRick Macklem.Dq laptop21.uoguelph.ca
351b9cbc85dSRick Macklembut not
352b9cbc85dSRick Macklem.Dq laptop3.cis.uoguelph.ca .
353b9cbc85dSRick MacklemOnly one of the
354b9cbc85dSRick Macklem.Fl W
355b9cbc85dSRick Macklemand
356b9cbc85dSRick Macklem.Fl w
357b9cbc85dSRick Macklemoptions is allowed.
358b9cbc85dSRick Macklem.El
359b9cbc85dSRick Macklem.Sh EXIT STATUS
360b9cbc85dSRick Macklem.Ex -std
361b9cbc85dSRick Macklem.Sh SEE ALSO
362b9cbc85dSRick Macklem.Xr openssl 1 ,
363b9cbc85dSRick Macklem.Xr ktls 4 ,
364b9cbc85dSRick Macklem.Xr exports 5 ,
365d94358e2SRick Macklem.Xr ssl 7 ,
366b9cbc85dSRick Macklem.Xr mount_nfs 8 ,
367b9cbc85dSRick Macklem.Xr nfsuserd 8 ,
368b9cbc85dSRick Macklem.Xr rpc.tlsclntd 8 ,
369b9cbc85dSRick Macklem.Xr syslogd 8
370b9cbc85dSRick Macklem.Sh STANDARDS
371b9cbc85dSRick MacklemThe implementation is based on the specification in
372b9cbc85dSRick Macklem.Rs
373423387beSRick Macklem.%B "RFC 9289"
374b9cbc85dSRick Macklem.%T "Towards Remote Procedure Call Encryption By Default"
375b9cbc85dSRick Macklem.Re
376b9cbc85dSRick Macklem.Sh HISTORY
377b9cbc85dSRick MacklemThe
378b9cbc85dSRick Macklem.Nm
379b9cbc85dSRick Macklemmanual page first appeared in
380b9cbc85dSRick Macklem.Fx 13.0 .
381b9cbc85dSRick Macklem.Sh BUGS
382b9cbc85dSRick MacklemThis daemon cannot be safely shut down and restarted if there are
383b9cbc85dSRick Macklemany active RPC-over-TLS connections.
384b9cbc85dSRick MacklemDoing so will orphan the KERNEL_TLS connections, so that they
385b9cbc85dSRick Macklemcan no longer do upcalls successfully, since the
386b9cbc85dSRick Macklem.Dq SSL *
387b9cbc85dSRick Macklemstructures in userspace have been lost.
388