[Date Prev][Date Next] [Chronological] [Thread] [Top]

C API: minor comments



Two last call comments on the C API regarding unsolicited notifications:

I recommend that in section 5 we add:

Implementations of the API SHOULD begin numbering messages with 1, to 
be able to easily distinguish client-generated requests and unsolicited
notifications.  

In section 13 I suggest we add after the first paragraph.

ldap_result() can also be used to obtain unsolicited notifications from
the server.  

In section 15 please note that a search can return extended responses
as well as a search result done, and so these belong in the chain.

I think it would be helpful if section 10 described what the meanings
of errors 0x51 through 0x61 are.  Of these only LDAP_PARAM_ERROR is
actually used in this draft:

 - LDAP_SERVER_DOWN (0x51)
	The client library could not send the request to the server as the
	connection has been lost.  The client can use ldap_result to obtain
	any outstanding results left on this connection, but cannot issue
	any new requests.  Once all the results have been obtained the client
	SHOULD use ldap_unbind() to complete the disconnection process.

 - LDAP_LOCAL_ERROR (0x52)
	The client library is in an inconsistent state.  

 - LDAP_ENCODING_ERROR (0x53)
	
 - LDAP_DECODING_ERROR (0x54)

 - LDAP_TIMEOUT (0x55)
	Return code from ldap_search_st().

 - LDAP_AUTH_UNKNOWN (0x56)
	Unsupported authmethod flag to ldap_bind() or ldap_bind_s().

 - LDAP_FILTER_ERROR (0x57)
	Filter parameter to search is not correctly written.

 - LDAP_USER_CANCELLED (0x58)
	Reserved.

 - LDAP_PARAM_ERROR (0x59)

 - LDAP_NO_MEMORY (0x5a)

 - LDAP_CONNECT_ERROR (0x5b)

 - LDAP_NOT_SUPPORTED (0x5c)

 - LDAP_CONTROL_NOT_FOUND (0x5d)
	Used by extensions to this API.

 - LDAP_NO_RESULTS_RETURNED (0x5e)
	Reserved.

 - LDAP_MORE_RESULTS_TO_RETURN (0x5f)
	Reserved.

 - LDAP_CLIENT_LOOP (0x60)
	Reserved.

 - LDAP_REFERRAL_LIMIT_EXCEEDED (0x61)

Open question on unsolicited notification:

 1. Do unsolicited notifications queue up in the client library until the
 client asks for them with ldap_result() or an ldap_unbind() occurs?  On
 a related note, what does the client library do if it receives a response
 for which there is no matching request?  

Mark Wahl, Directory Product Architect
Innosoft International, Inc.