From: Noveck, Dave (Dave.Noveck@netapp.com)
Date: 07/24/02-08:47:31 AM Z
Message-ID: <8C610D86AF6CD4119C9800B0D0499E336A8F83@red.nane.netapp.com>
From: "Noveck, Dave" <Dave.Noveck@netapp.com>
Subject: RE: Delegations mandatory?
Date: Wed, 24 Jul 2002 06:47:31 -0700
A simple client can immediately return any delegation that it
gets. Of course it would be silly for the server to send a
delegation to someone who isn't going to do anything useful
with it, but the fact that there is no operative callback
path, should give the server a clue.
I suppose there no harm in formalizing this, as long as
someone else does the actual work. Wait a minute! Since
this is in the delegation area, that means I would probably
do the work.
Seriously, I'm still of the If-it-ain't-really-really-broke-
don't-fix-it persuasion, but I wouldn't stand in the way of
group consensus on this issue, even if I would have to write
the text.
-----Original Message-----
From: Peter Åstrand [mailto:astrand@lysator.liu.se]
Sent: Wednesday, July 24, 2002 6:49 AM
To: nfsv4-wg@sunroof.eng.sun.com
Subject: Delegations mandatory?
Is it mandatory for clients to support delegations? The description of
OPEN makes it look like that:
"Note that delegation is up to the server to decide. The client
should never assume that delegation will or will not be granted in a
particular instance. It should always be prepared for either case."
Also, the description of SETCLIENTID:
"The callback information provided in this operation will be used if
the client is provided an open delegation at a future point.
Therefore, the client must correctly reflect the program and port
numbers for the callback program at the time SETCLIENTID is used."
I think it's a bit strange if the spec says that clients must implement
support for delegations. Simple clients, without delegation support, are
often useful.
In practice, one way of "preventing" delegations is to specify an
"invalid" cb_client4 in SETCLIENTID. This seems to work at least with the
CITI Linux server. The only problem is that the spec does not describe how
an "invalid" cb_client4 looks like. I think it should. We could say that
if SETCLIENTID4args.callback.cb_program == 0 and
SETCLIENTID4args.callback.cb_location.r_netid == "" and
SETCLIENTID4args.callback.cb_location.r_addr == "", then the server
promises not to grant delegations. Or something like that.
--
/Peter Åstrand <astrand@lysator.liu.se>
This archive was generated by hypermail 2.1.2 : 03/04/05-01:50:05 AM Z CST