Index: openldap-2.3.19/doc/man/man3/ldap.3 =================================================================== --- openldap-2.3.19.orig/doc/man/man3/ldap.3 +++ openldap-2.3.19/doc/man/man3/ldap.3 @@ -39,16 +39,21 @@ created using and set the protocol version to 3 by calling .BR ldap_set_option (3). The underlying session is established first operation is -issued. This would generally be a Start TLS or Bind operation. +issued. This would generally be a Start TLS or Bind operation, +or a Search operation to read attributes of the Root DSE. A Start TLS operation is performed by calling .BR ldap_start_tls_s (3). A LDAP bind operation is performed by calling .BR ldap_sasl_bind (3) -or one of its friends. Subsequently, other operations are performed +or one of its friends. +A Search operation is performed by calling ldap_search_ext_s(3) +or one of its friends. + +Subsequently, additional operations are performed by calling one of the synchronous or asynchronous routines (e.g., -.BR ldap_search_ext_s (3) +.BR ldap_compare_ext_s (3) or -.BR ldap_search_ext (3) +.BR ldap_compare_ext (3) followed by .BR ldap_result (3)). Results returned from these routines are interpreted by calling the Index: openldap-2.3.19/doc/man/man3/ldap_bind.3 =================================================================== --- openldap-2.3.19.orig/doc/man/man3/ldap_bind.3 +++ openldap-2.3.19/doc/man/man3/ldap_bind.3 @@ -1,9 +1,9 @@ .TH LDAP_BIND 3 "RELEASEDATE" "OpenLDAP LDVERSION" -.\" $OpenLDAP: pkg/ldap/doc/man/man3/ldap_bind.3,v 1.16.2.5 2007/01/02 21:43:44 kurt Exp $ +.\" $OpenLDAP: pkg/ldap/doc/man/man3/ldap_bind.3,v 1.19 2006/01/03 22:12:04 kurt Exp $ .\" Copyright 1998-2007 The OpenLDAP Foundation All Rights Reserved. .\" Copying restrictions apply. See COPYRIGHT/LICENSE. .SH NAME -ldap_bind, ldap_bind_s, ldap_simple_bind, ldap_simple_bind_s, ldap_sasl_bind, ldap_sasl_bind_s, ldap_sasl_interactive_bind_s, ldap_parse_sasl_bind_result, ldap_unbind, ldap_unbind_s \- LDAP bind routines +ldap_bind, ldap_bind_s, ldap_simple_bind, ldap_simple_bind_s, ldap_sasl_bind, ldap_sasl_bind_s, ldap_sasl_interactive_bind_s, ldap_parse_sasl_bind_result, ldap_unbind, ldap_unbind_s, ldap_unbind_ext, ldap_unbind_ext_s, ldap_set_rebind_proc \- LDAP bind routines .SH LIBRARY OpenLDAP LDAP (libldap, -lldap) .SH SYNOPSIS @@ -58,6 +58,18 @@ OpenLDAP LDAP (libldap, -lldap) .\" .ft .\" LDAP *ld; .\" int (*rebindproc)(); +.LP +.BI "int ldap_unbind_ext(LDAP *" ld ", LDAPControl *" sctrls "[]," +.RS +.BI LDAPControl *" cctrls "[]);" +.RE +.LP +.BI "int ldap_unbind_ext_s(LDAP *" ld ", LDAPControl *" sctrls "[]," +.RS +.BI LDAPControl *" cctrls "[]);" +.RE +.LP +.BI "int ldap_set_rebind_proc (LDAP *" ld ", LDAP_REBIND_PROC *" ldap_proc ", void *" params);" .SH DESCRIPTION .LP These routines provide various interfaces to the LDAP bind operation. @@ -79,7 +91,6 @@ Both synchronous and asynchronous versio call are provided. All routines take \fIld\fP as their first parameter, as returned from .BR ldap_init (3). -.LP .SH SIMPLE AUTHENTICATION The simplest form of the bind call is .BR ldap_simple_bind_s() . @@ -110,6 +121,41 @@ returns the message id of the request it returns an LDAP error indication. .SH SASL AUTHENTICATION Description still under construction... +.SH REBINDING +.LP +The +.B ldap_set_rebind_proc +function() sets the process to use for binding when an operation returns a +referral. This function is used when an application needs to bind to another server +in order to follow a referral or search continuation reference. +.LP +The function takes \fIld\fP, the \fIrebind\fP function, and the \fIparams\fP, +the arbitrary data like state information which the client might need to properly rebind. +The LDAP_OPT_REFERRALS option in the \fIld\fP must be set to ON for the libraries +to use the rebind function. Use the +.BR ldap_set_option +function to set the value. +.LP +The rebind function has the following syntax. +.B int rebind_function (LDAP *ld, const char *url,int request,ber_int_t msgid); +.LP +The \fIld\fP parameter must be used by the application when binding to the +referred server if the application wants the libraries to follow the referral. +.LP +The \fIurl\fP parameter points to the URL referral string received from the LDAP server. +The LDAP application can use the +.BR ldap_url_parse() +.LP +The \fIrequest\fP parameter specifies the request operation that generated the referral. +function to parse the string into its components. +.LP +The \fImsgid\fP parameter specifies the message ID of the request generating the referral. +.LP +The LDAP libraries set all the parameters when they call the rebind function. The application +should not attempt to free either the ld or the url structures in the rebind function. +.LP +The application must supply to the rebind function the required authentication information such as, +user name, password, and certificates. The rebind function must use a synchronous bind method. .SH UNBINDING The .B ldap_unbind() @@ -154,16 +200,32 @@ both of these calls are synchronous in n .\" If anything but LDAP_SUCCESS is returned by the first call to .\" the rebindproc, then referral processing is stopped and that error code .\" is returned for the original LDAP operation. +.LP +The +.B ldap_unbind_ext() +and +.B ldap_unbind_ext_s() +allows the operations to sepicify controls. .SH ERRORS Asynchronous routines will return -1 in case of error, setting the \fIld_errno\fP parameter of the \fIld\fP structure. Synchronous routines return whatever \fIld_errno\fP is set to. See .BR ldap_error (3) for more information. +.SH NOTES +If an anonymous bind is sufficient for the application,the rebind process +need not be provided. The LDAP libraries with the LDAP_OPT_REFERRALS option +set to ON (default value) will automatically follow referrals using an anonymous bind. +.LP +If the application needs stronger authentication than an anonymous bind, +you need to provide a rebind process for that authentication method. +The bind method must be synchronous. .SH SEE ALSO .BR ldap (3), .BR ldap_error (3), .BR ldap_open (3), +.BR ldap_set_option (3), +.BR ldap_url_parse (3) .B RFC 2222 (http://www.ietf.org), .B Cyrus SASL Index: openldap-2.3.19/doc/man/man3/ldap_bind.3.links =================================================================== --- openldap-2.3.19.orig/doc/man/man3/ldap_bind.3.links +++ openldap-2.3.19/doc/man/man3/ldap_bind.3.links @@ -7,3 +7,4 @@ ldap_unbind.3 ldap_unbind_ext.3 ldap_unbind_s.3 ldap_unbind_ext_s.3 +ldap_set_rebind_proc.3 Index: openldap-2.3.19/doc/man/man3/ldap_compare.3 =================================================================== --- openldap-2.3.19.orig/doc/man/man3/ldap_compare.3 +++ openldap-2.3.19/doc/man/man3/ldap_compare.3 @@ -1,9 +1,9 @@ .TH LDAP_COMPARE 3 "RELEASEDATE" "OpenLDAP LDVERSION" -.\" $OpenLDAP: pkg/ldap/doc/man/man3/ldap_compare.3,v 1.13.2.4 2007/01/02 21:43:44 kurt Exp $ +.\" $OpenLDAP: pkg/ldap/doc/man/man3/ldap_compare.3,v 1.15 2006/01/03 22:12:04 kurt Exp $ .\" Copyright 1998-2007 The OpenLDAP Foundation All Rights Reserved. .\" Copying restrictions apply. See COPYRIGHT/LICENSE. .SH NAME -ldap_compare, ldap_compare_s \- Perform an LDAP compare operation +ldap_compare, ldap_compare_s, ldap_compare_ext, ldap_compare_ext_s \- Perform an LDAP compare operation. .SH LIBRARY OpenLDAP LDAP (libldap, -lldap) .SH SYNOPSIS @@ -22,6 +22,23 @@ int ldap_compare(ld, dn, attr, value) .ft LDAP *ld; char *dn, *attr, *value; +.LP +.ft B +int ldap_compare_ext(ld, dn, attr, bvalue, serverctrls, clientctrls, msgidp) +.ft +LDAP *ld; +char *dn, *attr; +const struct berval *bvalue; +LDAPControl **serverctrls, **clientctrls; +int *msgidp; +.LP +.ft B +int ldap_compare_ext_s(ld, dn, attr, bvalue, serverctrls, clientctrls) +.ft +LDAP *ld; +char *dn, *attr; +const struct berval *bvalue; +LDAPControl **serverctrls, **clientctrls; .SH DESCRIPTION The .B ldap_compare_s() @@ -40,6 +57,20 @@ asynchronously. It takes the same param but returns the message id of the request it initiated. The result of the compare can be obtained by a subsequent call to .BR ldap_result (3). +.LP +The +.B ldap_compare_ext() +routine allows server and client controls to be +specified to extend the compare request. This routine is asynchronous like +ldap_compare(), but its return value is an LDAP error code. It stores the +message id of the request in the integer pointed to by msgidp. +.LP +The +.B ldap_compare_ext_s() +routine is the synchronous version of +.BR ldap_compare_ext(). +It also returns an LDAP error code indicating success +or failure of the operation. .SH ERRORS .B ldap_compare_s() returns an LDAP error code which can be interpreted @@ -48,6 +79,12 @@ by calling one of and friends. ldap_compare() returns -1 if something went wrong initiating the request. It returns the non-negative message id of the request if things went ok. +.LP +.B ldap_compare_ext_s() +and +.B ldap_compare_ext() +return some Non-zero value other than 0x05 or 0x06 in case of failure. +0x05 corresponds to LDAP_COMPARE_FALSE and 0x06 corresponds to LDAP_COMPARE_TRUE. .SH BUGS There is no way to compare binary values, but there should be. .SH SEE ALSO Index: openldap-2.3.19/doc/man/man3/ldap_delete.3 =================================================================== --- openldap-2.3.19.orig/doc/man/man3/ldap_delete.3 +++ openldap-2.3.19/doc/man/man3/ldap_delete.3 @@ -1,9 +1,9 @@ .TH LDAP_DELETE 3 "RELEASEDATE" "OpenLDAP LDVERSION" -.\" $OpenLDAP: pkg/ldap/doc/man/man3/ldap_delete.3,v 1.13.2.4 2007/01/02 21:43:44 kurt Exp $ +.\" $OpenLDAP: pkg/ldap/doc/man/man3/ldap_delete.3,v 1.15 2006/01/03 22:12:04 kurt Exp $ .\" Copyright 1998-2007 The OpenLDAP Foundation All Rights Reserved. .\" Copying restrictions apply. See COPYRIGHT/LICENSE. .SH NAME -ldap_delete, ldap_delete_s \- Perform an LDAP delete operation +ldap_delete, ldap_delete_s, ldap_delete_ext, ldap_delete_ext_s \- Perform an LDAP delete operation. .SH LIBRARY OpenLDAP LDAP (libldap, -lldap) .SH SYNOPSIS @@ -22,22 +22,51 @@ int ldap_delete(ld, dn) .ft LDAP *ld; char *dn; +.LP +.ft B +int ldap_delete_ext(ld, dn, serverctrls, clientctrls, msgidp) +.ft +LDAP *ld; +char *dn; +LDAPControl **serverctrls, **clientctrls; +int *msgidp; +.LP +.ft B +int ldap_delete_ext_s(ld, dn, serverctrls, clientctrls) +.ft +LDAP *ld; +char *dn; +LDAPControl **serverctrls, **clientctrls; .SH DESCRIPTION The .B ldap_delete_s() routine is used to perform an LDAP delete operation -synchronously. It takes \fIdn\fP, the DN of the entry to be deleted. +synchronously. It takes \fIdn\fP, the DN of the entry to be deleted. It returns an LDAP error code, indicating the success or failure of the operation. .LP The .B ldap_delete() routine is used to perform an LDAP delete operation -asynchronously. It takes the same parameters as -.BR ldap_delete_s() , -but returns the message id of the request it initiated. The result of +asynchronously. It takes the same parameters as +.BR ldap_delete_s(), +but returns the message id of the request it initiated. The result of the delete can be obtained by a subsequent call to .BR ldap_result (3). +.LP +The +.B ldap_delete_ext() +routine allows server and client controls to be +specified to extend the delete request. This routine is asynchronous like +ldap_delete(), but its return value is an LDAP error code. It stores the +message id of the request in the integer pointed to by msgidp. +.LP +The +.B ldap_delete_ext_s() +routine is the synchronous version of +.BR ldap_delete_ext(). +It also returns an LDAP error code indicating success +or failure of the operation. .SH ERRORS .B ldap_delete_s() returns an LDAP error code which can be interpreted @@ -45,8 +74,14 @@ by calling one of .BR ldap_perror (3) and friends. .B ldap_delete() -returns -1 if something went wrong initiating the request. It returns the +returns -1 if something went wrong initiating the request. It returns the non-negative message id of the request if things went ok. +.LP +.B ldap_delete_ext() +and +.B ldap_delete_ext_s() +return some Non-zero value if +something went wrong initiating the request, else return 0. .SH SEE ALSO .BR ldap (3), .BR ldap_error (3) Index: openldap-2.3.19/doc/man/man3/ldap_extended_operation.3 =================================================================== --- /dev/null +++ openldap-2.3.19/doc/man/man3/ldap_extended_operation.3 @@ -0,0 +1,64 @@ +.TH LDAP_EXTENDED_OPERATION 3 "RELEASEDATE" "OpenLDAP LDVERSION" +.\" $OpenLDAP: pkg/ldap/doc/man/man3/ldap_extended_operation.3,v 1.17 2006/01/03 22:12:04 kurt Exp $ +.\" Copyright 1998-2006 The OpenLDAP Foundation All Rights Reserved. +.\" Copying restrictions apply. See COPYRIGHT/LICENSE. +.SH NAME +ldap_extended_operation, ldap_extended_operation_s \- Extends the LDAP operations to the LDAP server. +.SH LIBRARY +OpenLDAP LDAP (libldap, -lldap) +.SH SYNOPSIS +.nf +.ft B +#include +.LP +.ft B +int ldap_extended_operation( ld, requestoid, requestdata, sctrls[], cctrls[], msgidp ); +.ft +LDAP *ld; +const char *requestoid; +const struct berval *requestdata; +LDAPControl *sctrls[], *cctrls[]; +int *msgidp; +.LP +.ft B +int ldap_extended_operation_s( ld, requestoid, requestdata, sctrls[], cctrls[], retoidp, retdatap ); +.ft +LDAP *ld, +const char *requestoid; +const struct berval *requestdata; +LDAPControl *sctrls[], *cctrls[]; +char **retoidp; +struct berval **retdatap; +.SH DESCRIPTION +The +.B ldap_extended_operation_s +method is used to synchronously send an extended operation to the server. +It takes \fIrequestoid\fP, which points to a dotted OID text string identifying +the extended operation to perform. \fIrequestdata\fP is the data required for the +operation, \fIseverctrls\fP is an array of LDAPControl structures to use with this +extended operation,\fIclientctrls\fP is an array of LDAPControl structures that list +the client controls to use with this extended operation .The input parameter +\fIretoidp\fP points to a dotted-OID text string returned by the LDAP server. +The memory used by the string should be freed with the ldap_memfree function. +retdatap is an output parameter which points to a pointer to a berval structure +that contains the returned data. If no data is returned, the server set this +to NULL. The memory used by this structure should be freed with the ber_bvfree +function. +.LP +The +.B ldap_extended_operation +works just like ldap_extended_operation_s, but the operation is asynchornous. +It returns the message id of the request it initiated. +The result of this operation can be obtained by calling +.BR ldap_result(3). +.SH NOTES +The LDAP server must support the operation; otherwise an +LDAP_NOT_SUPPORTED error is returned. +.SH SEE ALSO +.BR ldap_result (3), +.BR ldap_parse_extended_result (3) +.SH ACKNOWLEDGEMENTS +.B OpenLDAP +is developed and maintained by The OpenLDAP Project (http://www.openldap.org/). +.B OpenLDAP +is derived from University of Michigan LDAP 3.3 Release. Index: openldap-2.3.19/doc/man/man3/ldap_extended_operation.3.links =================================================================== --- /dev/null +++ openldap-2.3.19/doc/man/man3/ldap_extended_operation.3.links @@ -0,0 +1,2 @@ +ldap_extended_operation_s.3 + Index: openldap-2.3.19/doc/man/man3/ldap_parse_sort_control.3 =================================================================== --- /dev/null +++ openldap-2.3.19/doc/man/man3/ldap_parse_sort_control.3 @@ -0,0 +1,44 @@ +.TH LDAP_PARSE_SORT-CONTROL 3 "RELEASEDATE" "OpenLDAP LDVERSION" +.\" $OpenLDAP: pkg/ldap/doc/man/man3/ldap_parse_sort_control.3,v 1.15 2006/01/03 22:12:04 kurt Exp $ +.\" Copyright 1998-2006 The OpenLDAP Foundation All Rights Reserved. +.\" Copying restrictions apply. See COPYRIGHT/LICENSE. +.SH NAME +ldap_parse_sort_control \- Decodes the information returned from a search operation +that used a server-side sort control. +.SH LIBRARY +OpenLDAP LDAP (libldap, -lldap) +.SH SYNOPSIS +.nf +.ft B +#include +.LP +.ft B +int ldap_parse_sort_control(ld, ctrls, returnCode, attribute) +.ft +LDAP *ld; +LDAPControl **ctrls; +unsigned long *returnCode; +char **attribute; +.SH DESCRIPTION +This function is used to parse the results returned in a search operation +that uses a server-side sort control. +.LP +It takes a null terminated array of LDAPControl structures usually obtained +by a call to the +.BR ldap_parse_result +function. A returncode which points to the sort control result code,and an array +of LDAPControl structures that list the client controls to use with the search. +The function also takes an out parameter \fIattribute\fP and if the sort operation +fails, the server may return a string that indicates the first attribute in the +sortKey list that caused the failure. If this parameter is NULL, no string is +returned. If a string is returned, the memory should be freed by calling the +ldap_memfree function. +.SH NOTES +.SH SEE ALSO +.BR ldap_result (3), +.BR ldap_controls_free (3) +.SH ACKNOWLEDGEMENTS +.B OpenLDAP +is developed and maintained by The OpenLDAP Project (http://www.openldap.org/). +.B OpenLDAP +is derived from University of Michigan LDAP 3.3 Release. Index: openldap-2.3.19/doc/man/man3/ldap_parse_vlv_control.3 =================================================================== --- /dev/null +++ openldap-2.3.19/doc/man/man3/ldap_parse_vlv_control.3 @@ -0,0 +1,53 @@ +.TH LDAP_PARSE_VLV_CONTROL 3 "RELEASEDATE" "OpenLDAP LDVERSION" +.\" $OpenLDAP: pkg/ldap/doc/man/man3/ldap_parse_vlv_control.3,v 1.17 2006/01/03 22:12:04 kurt Exp $ +.\" Copyright 1998-2006 The OpenLDAP Foundation All Rights Reserved. +.\" Copying restrictions apply. See COPYRIGHT/LICENSE. +.SH NAME +ldap_parse_vlv_control \- Decodes the information returned from a search operation that +used a VLV (virtual list view) control. +.SH LIBRARY +OpenLDAP LDAP (libldap, -lldap) +.SH SYNOPSIS +.nf +.ft B +#include +.LP +.ft B +int ldap_parse_vlv_control( ld, ctrlp, target_posp, list_countp, contextp, errcodep ); +.ft +LDAP *ld; +LDAPControl **ctrlp; +unsigned long *target_posp, *list_countp; +struct berval **contextp; +int *errcodep; +.SH DESCRIPTION +The +.B ldap_parse_vlv_control +is used to decode the information returned from a search operation that used a +VLV (virtual list view)control. It takes a null terminated array of LDAPControl +structures, usually obtained by a call to the +.BR ldap_parse_result function, +a \fItarget_pos\fP which points to the list index of the target entry. If +this parameter is NULL, the target position is not returned. The index returned +is an approximation of the position of the target entry. It is +not guaranteed to be exact. The parameter \fIlist_countp\fP points to +the server's estimate of the size of the list. If this parameter is NULL, the +size is not returned. \fIcontextp\fP is a pointer to the address of a berval +structure that contains a server-generated context identifier if server returns +one. If server does not return a context identifier, the server returns a NULL +in this parameter. If this parameter is set to NULL, the context identifier is +not returned. You should use this returned context in the next call to +create a VLV control. When the berval structure is no longer needed, you should +free the memory by calling the \fIber_bvfree function.e\fP +\fIerrcodep\fP is an output paremeter, which points to the result code returned +by the server. If this parameter is NULL, the result code is not returned. +.LP +See +ldap.h for a list of possible return codes. +.SH SEE ALSO +.BR ldap_search (3) +.SH ACKNOWLEDGEMENTS +.B OpenLDAP +is developed and maintained by The OpenLDAP Project (http://www.openldap.org/). +.B OpenLDAP +is derived from University of Michigan LDAP 3.3 Release. Index: openldap-2.3.19/doc/man/man3/ldap_rename.3 =================================================================== --- /dev/null +++ openldap-2.3.19/doc/man/man3/ldap_rename.3 @@ -0,0 +1,69 @@ +.TH LDAP_RENAME 3 "RELEASEDATE" "OpenLDAP LDVERSION" +.\" $OpenLDAP: pkg/ldap/doc/man/man3/ldap_rename.3,v 1.17 2006/01/03 22:12:04 kurt Exp $ +.\" Copyright 1998-2006 The OpenLDAP Foundation All Rights Reserved. +.\" Copying restrictions apply. See COPYRIGHT/LICENSE. +.SH NAME +ldap_rename, ldap_rename_s \- Renames the specified entry. +.SH LIBRARY +OpenLDAP LDAP (libldap, -lldap) +.SH SYNOPSIS +.nf +.ft B +#include +.LP +.ft B +int ldap_rename( ld, dn, newrdn, newparent, deleteoldrdn, sctrls[], cctrls[], msgidp ); +.ft +LDAP *ld; +const char *dn, *newrdn, *newparent; +int deleteoldrdn; +LDAPControl *sctrls[], *cctrls[]; +int *msgidp); +.LP +.ft B +int ldap_rename_s( ld, dn, newrdn, newparent, deleteoldrdn, sctrls[], cctrls[] ); +.ft +LDAP *ld; +const char *dn, *newrdn, *newparent; +int deleteoldrdn; +LDAPControl *sctrls[], *cctrls[]; +.SH DESCRIPTION +These routines are used to perform a LDAP rename operation. +The function changes the leaf component of an entry's distinguished +name and optionally moves the entry to a new parent container. The +.B ldap_rename_s +performs a rename operation synchronously. +The method takes \fIdn\fP, which points to the distinguished name of +the entry whose attribute is being compared, \fInewparent\fP,the distinguished +name of the entry's new parent. If this parameter is NULL, only the RDN is changed. +The root DN is specified by passing a zero length string, "". +\fIdeleteoldrdn\fP specifies whether the old RDN should be retained or deleted. +Zero indicates that the old RDN should be retained. If you choose this option, +the attribute will contain both names (the old and the new). +Non-zero indicates that the old RDN should be deleted. +\fIserverctrls\fP points to an array of LDAPControl structures that list the +client controls to use with this extended operation. Use NULL to specify +no client controls. \fIclientctrls\fP points to an array of LDAPControl +structures that list the client controls to use with the search. +.LP +.B ldap_rename +works just like +.B ldap_rename_s, +but the operation is asynchornous. It returns the message id of the request +it initiated. The result of this operation can be obtained by calling +.BR ldap_result(3). +.SH ERRORS +.B ldap_rename() +returns -1 in case of error initiating the request, and +will set the \fIld_errno\fP field in the \fIld\fP parameter to +indicate the error. +.BR ldap_rename_s() +returns the LDAP error code resulting from the rename operation. +.SH SEE ALSO +.BR ldap (3), +.BR ldap_modify (3) +.SH ACKNOWLEDGEMENTS +.B OpenLDAP +is developed and maintained by The OpenLDAP Project (http://www.openldap.org/). +.B OpenLDAP +is derived from University of Michigan LDAP 3.3 Release. Index: openldap-2.3.19/doc/man/man3/ldap_rename.3.links =================================================================== --- /dev/null +++ openldap-2.3.19/doc/man/man3/ldap_rename.3.links @@ -0,0 +1,2 @@ +ldap_rename_s.3 + Index: openldap-2.3.19/doc/man/man3/ldap_result.3 =================================================================== --- openldap-2.3.19.orig/doc/man/man3/ldap_result.3 +++ openldap-2.3.19/doc/man/man3/ldap_result.3 @@ -1,5 +1,5 @@ .TH LDAP_RESULT 3 "RELEASEDATE" "OpenLDAP LDVERSION" -.\" $OpenLDAP: pkg/ldap/doc/man/man3/ldap_result.3,v 1.16.2.4 2007/01/02 21:43:45 kurt Exp $ +.\" $OpenLDAP: pkg/ldap/doc/man/man3/ldap_result.3,v 1.20 2006/01/03 22:12:04 kurt Exp $ .\" Copyright 1998-2007 The OpenLDAP Foundation All Rights Reserved. .\" Copying restrictions apply. See COPYRIGHT/LICENSE. .SH NAME @@ -72,7 +72,8 @@ all references, all extended partial res result have been received. .LP Upon success, the type of the result received is returned and the -\fIresult\fP parameter will contain the result of the operation. This +\fIresult\fP parameter will contain the result of the operation; +otherwise, the \fIresult\fP parameter is undefined. This result should be passed to the LDAP parsing routines, .BR ldap_first_message (3) and friends, for interpretation. Index: openldap-2.3.19/doc/man/man3/ldap_search.3 =================================================================== --- openldap-2.3.19.orig/doc/man/man3/ldap_search.3 +++ openldap-2.3.19/doc/man/man3/ldap_search.3 @@ -1,9 +1,9 @@ .TH LDAP_SEARCH 3 "RELEASEDATE" "OpenLDAP LDVERSION" -.\" $OpenLDAP: pkg/ldap/doc/man/man3/ldap_search.3,v 1.17.2.6 2007/01/02 21:43:45 kurt Exp $ +.\" $OpenLDAP: pkg/ldap/doc/man/man3/ldap_search.3,v 1.21 2006/01/03 22:12:04 kurt Exp $ .\" Copyright 1998-2007 The OpenLDAP Foundation All Rights Reserved. .\" Copying restrictions apply. See COPYRIGHT/LICENSE. .SH NAME -ldap_search, ldap_search_s, ldap_search_st \- Perform an LDAP search operation +ldap_search, ldap_search_s, ldap_search_st, ldap_search_ext, ldap_search_ext_s \- Perform an LDAP search operation .SH LIBRARY OpenLDAP LDAP (libldap, -lldap) .SH SYNOPSIS @@ -41,6 +41,35 @@ char *filter, *attrs[] int attrsonly; struct timeval *timeout; LDAPMessage **res; +.LP +.ft B +int ldap_search_ext(ld, base, scope, filter, attrs, attrsonly, serverctrls, +.ft +clientctrls, timeout, sizelimit, msgidp) +.ft +LDAP *ld; +char *base; +int scope; +char *filter, *attrs[] +int attrsonly; +LDAPControl **serverctrls, **clientctrls; +struct timeval *timeout; +int sizelimit, *msgidp; +.LP +.ft B +int ldap_search_ext_s(ld, base, scope, filter, attrs, attrsonly, serverctrls, +.ft +clientctrls, timeout, sizelimit, res) +.ft +LDAP *ld; +char *base; +int scope; +char *filter, *attrs[] +int attrsonly; +LDAPControl **serverctrls, **clientctrls; +struct timeval *timeout; +int sizelimit; +LDAPMessage **res; .SH DESCRIPTION These routines are used to perform LDAP search operations. .B ldap_search_s() @@ -59,6 +88,7 @@ LDAP_SCOPE_ONELEVEL, to search the objec or LDAP_SCOPE_SUBTREE, to search the object and all its descendants. .LP \fIFilter\fP is a string + representation of the filter to apply in the search. Simple filters can be specified as \fI(attributetype=attributevalue)\fP. More complex filters are specified using a prefix notation according to the following @@ -99,8 +129,24 @@ To request no attributes, the type "1.1" should be listed by itself. .LP \fIAttrsonly\fP should be set to 1 if -only attribute types are wanted. It should be set to 0 if both +only attribute types are wanted. It should be set to 0 if both attributes types and attribute values are wanted. +.LP +.B ldap_search_ext() +routine allows server and client controls to be specified to extend +the search request. This routine is asynchronous like +.BR ldap_search() , +but its return value is an LDAP error code. It stores the message id +of the request in the integer pointed to +by +.IR msgidp . +.LP +The +.B ldap_search_ext_s() +routine is the synchronous version of +.BR ldap_search_ext(). +It also returns an LDAP error code indicating success or failure +of the operation. .SH ERRORS .B ldap_search_s() and @@ -111,15 +157,28 @@ See for details. .B ldap_search() returns -1 in case of trouble. +.LP +.B ldap_search_s(), +.B ldap_search_ext_s +and +.B ldap_search_st() +will return the LDAP error code resulting from the search operation. +See +.BR ldap_error (3) +for details. +.B ldap_search() +and +.B ldap_search_ext +returns -1 in case of trouble. .SH NOTES Note that both read and list functionality are subsumed by these routines, by using a filter like "(objectclass=*)" and a scope of LDAP_SCOPE_BASE (to emulate read) or LDAP_SCOPE_ONELEVEL (to emulate list). .LP -These routines may dynamically allocate memory. The caller is +These routines may dynamically allocate memory. The caller is responsible for freeing such memory using supplied deallocation -routines. Return values are contained in . +routines. Return values are contained in . .SH SEE ALSO .BR ldap (3), .BR ldap_result (3),