103914b0bSRick Macklem.\" Copyright (c) 2009 Rick Macklem, University of Guelph 203914b0bSRick Macklem.\" All rights reserved. 303914b0bSRick Macklem.\" 403914b0bSRick Macklem.\" Redistribution and use in source and binary forms, with or without 503914b0bSRick Macklem.\" modification, are permitted provided that the following conditions 603914b0bSRick Macklem.\" are met: 703914b0bSRick Macklem.\" 1. Redistributions of source code must retain the above copyright 803914b0bSRick Macklem.\" notice, this list of conditions and the following disclaimer. 903914b0bSRick Macklem.\" 2. Redistributions in binary form must reproduce the above copyright 1003914b0bSRick Macklem.\" notice, this list of conditions and the following disclaimer in the 1103914b0bSRick Macklem.\" documentation and/or other materials provided with the distribution. 1203914b0bSRick Macklem.\" 1303914b0bSRick Macklem.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 1403914b0bSRick Macklem.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 1503914b0bSRick Macklem.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 1603914b0bSRick Macklem.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 1703914b0bSRick Macklem.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 1803914b0bSRick Macklem.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 1903914b0bSRick Macklem.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 2003914b0bSRick Macklem.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 2103914b0bSRick Macklem.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 2203914b0bSRick Macklem.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 2303914b0bSRick Macklem.\" SUCH DAMAGE. 2403914b0bSRick Macklem.\" 2503914b0bSRick Macklem.\" $FreeBSD$ 2603914b0bSRick Macklem.\" 2703914b0bSRick Macklem.Dd April 25, 2009 2803914b0bSRick Macklem.Dt NFSCBD 8 2903914b0bSRick Macklem.Os 3003914b0bSRick Macklem.Sh NAME 3103914b0bSRick Macklem.Nm nfscbd 3203914b0bSRick Macklem.Tn NFSv4 3303914b0bSRick Macklemclient side callback daemon 3403914b0bSRick Macklem.Sh SYNOPSIS 3503914b0bSRick Macklem.Nm nfscbd 3603914b0bSRick Macklem.Op Fl p Ar port_number 3703914b0bSRick Macklem.Op Fl P Ar client_principal 3803914b0bSRick Macklem.Sh DESCRIPTION 3903914b0bSRick Macklem.Nm 4003914b0bSRick Macklemruns on a client using 4103914b0bSRick Macklem.Tn NFSv4 4203914b0bSRick Macklemto handle callback requests from the NFSv4 server. 4303914b0bSRick MacklemIf no 4403914b0bSRick Macklem.Nm 4503914b0bSRick Macklemis running, NFSv4 mounts will still work, but the server will never issue 4603914b0bSRick MacklemOpen Delegations to the client. 4703914b0bSRick Macklem.Pp 4803914b0bSRick MacklemOne callback server and one master server 4903914b0bSRick Macklemare always started. 5003914b0bSRick Macklem.Pp 5103914b0bSRick MacklemThe following options are available: 5203914b0bSRick Macklem.Bl -tag -width Ds 5303914b0bSRick Macklem.It Fl p Ar port_number 5403914b0bSRick MacklemSpecifies what port# the callback server should use. 5503914b0bSRick Macklem.It Fl P Ar client_principal 5603914b0bSRick MacklemSpecifies the host based principal name to be used as the target for 5703914b0bSRick Macklemcallbacks over RPCSEC_GSS. For KerberosV, it must be in the client's 5803914b0bSRick Macklemdefault keytab file. 5903914b0bSRick MacklemThis client_principal should be the same one specified by the 6003914b0bSRick Macklem.Cm gssname 6103914b0bSRick Macklemargument being used by nfsv4 mounts. 6203914b0bSRick MacklemIf you do not specify this argument, callbacks will still work over AUTH_SYS, 6303914b0bSRick Macklemwhich is what many extant servers use even for RPCSEC_GSS mounts, as of 2009. 6403914b0bSRick Macklem.El 6503914b0bSRick Macklem.Pp 6603914b0bSRick MacklemFor example, 6703914b0bSRick Macklem.Dq Li "nfscbd -p 7654 -P root" 6803914b0bSRick Macklemstarts the daemon to handle callbacks on port# 7654 and is using the host based 6903914b0bSRick Macklemprincipal root@<client-host>.<dns-domain> as the callback target. 7003914b0bSRick Macklem.Pp 7103914b0bSRick Macklem.Nm 7203914b0bSRick Macklemlistens for service requests at the port 7303914b0bSRick Macklemdefined by NFSV4_CBPORT in /usr/include/fs/nfs/nfs.h, unless 7403914b0bSRick Macklem.Fl p 7503914b0bSRick Macklemhas been specified. 7603914b0bSRick MacklemFor more information on what callbacks and Open Delegations do, see 7703914b0bSRick Macklem.%T "Network File System (NFS) Version 4 Protocol" , 7803914b0bSRick MacklemRFC3530 . 7903914b0bSRick Macklem.Pp 8003914b0bSRick MacklemThe 8103914b0bSRick Macklem.Nm 8203914b0bSRick Macklemutility exits 0 on success or >0 if an error occurred. 8303914b0bSRick Macklem.Sh SEE ALSO 8403914b0bSRick Macklem.Xr nfsv4 4 , 8503914b0bSRick Macklem.Xr mount_nfs 8 8603914b0bSRick Macklem.Sh HISTORY 8703914b0bSRick MacklemFirst introduced with the experimental nfs client for NFSv4 support in 2009. 88