[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.