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