Subject: RE: Delegations mandatory?

From: "Noveck, Dave" <[email-masked]>
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:[email-masked]]
Sent: Wednesday, July 24, 2002 6:49 AM
To: [email-masked]
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 <[email-masked]>

---

From: Spencer Shepler <[email-masked]>
Date: Wed, 24 Jul 2002 09:58:18 -0500

I agree that a simple client should have a method of specifying NULL
callback info which indicates to the server that the client is not
interested in receiving delegations.

In fact, I had interpreted the various portions of the spec as
allowing for this but know there is no formal statement.

Spencer

-- 
Spencer