Subject: RFC2251: unbind

From: "Kurt D. Zeilenga" <[email-masked]>
Date: Mon, 14 Feb 2000 08:41:23 -0800

It seems that some folks are confused about the function of
unbind.  We've likely have all heard the "don't I need to unbind
before rebinding" enquiry.   Some have even noted that the
disconnection requirements are MAY, not MUSTs.  Some have any
stated that some servers do not terminate the connection upon
receipt of an unbind request.

It seems that some implementors don't take "The function of the
Unbind Operation is to terminate a protocol session" as an absolute.

I would suggest that the paragraph following this sentence
for clarification:
	A client SHALL NOT submit further requests after
	sending an unbind request.  A client SHOULD terminate
	the underlying TCP session after making the unbind
	request.
	A server SHALL NOT process nor respond to further
	requests received after an unbind requests.  A
	server SHOULD terminate the underlying TCP session
	after receiving the unbind request.

---

From: [email-masked] (David Boreham)
Date: Mon, 14 Feb 2000 08:52:35 -0800

FWIW the Netscape/iPlanet server closes the connection
immediately it sees an unbind. The Netscape SDK also closes
the connection immediately after sending the unbind PDU.
This, of course, leads to many interesting race conditions
in the server code, but I think it complies with your clarified
requirements.

---

From: "Kurt D. Zeilenga" <[email-masked]>
Date: Mon, 14 Feb 2000 14:40:47 -0800

>	after receiving the unbind request.

Note that the existing paragraph allows the client to wait
for the server to initiate the TCP shutdown AND allows the
server to wait for the client to initiate the TCP shutdown.
There really should be at least one SHALL detailing who
must shutdown the connection and when. 

I revise my suggestion:
	The client SHALL terminate the underlying connection
	after submitting an unbind request.

	The server SHALL terminate the underlying connection
	upon receipt of an unbind request.

Comments?