ldap_url
LDAP_URL(3) LDAP_URL(3)
NAME
ldap_is_ldap_url, ldap_url_parse, ldap_free_urldesc, ldap_url_search,
ldap_url_search_s, ldap_url_search_st - LDAP Uniform Resource Locator
routines
SYNOPSIS
#include <ldap.h>
int ldap_is_ldap_url( url )
char *url;
int ldap_url_parse( url, ludpp )
char *url;
LDAPURLDesc **ludpp;
typedef struct ldap_url_desc {
char * lud_scheme; /* URI scheme */
char lud_host; /* LDAP host to contact */
int lud_port; /* port on host */
char * lud_dn; /* base for search */
char ** lud_attrs; /* list of attributes */
int lud_scope; /* a LDAP_SCOPE_... value */
char * lud_filter; /* LDAP search filter */
char ** lud_exts; /* LDAP extensions */
/* may contain additional fields for internal use */
} LDAPURLDesc;
ldap_free_urldesc( ludp )
LDAPURLDesc *ludp;
int ldap_url_search( ld, url, attrsonly )
LDAP *ld;
char *url;
int attrsonly;
int ldap_url_search_s( ld, url, attrsonly, res )
LDAP *ld;
char *url;
int attrsonly;
LDAPMessage **res;
int ldap_url_search_st( ld, url, attrsonly, timeout, res )
LDAP *ld;
char *url;
int attrsonly;
struct timeval *timeout;
LDAPMessage **res;
DESCRIPTION
These routines support the use of LDAP URLs (Uniform Resource Locators)
as detailed in RFC 2255. LDAP URLs look like this:
ldap://hostport/dn[?attrs[?scope[?filter[?exts]]]]
where:
hostport is a host name with an optional ":portnumber"
dn is the search base
attrs is a comma separated list of attributes to request
scope is one of these three strings:
base one sub (default=base)
filter is filter
exts are recognized set of LDAP and/or API extensions.
Example:
ldap://ldap.example.net/dc=example,dc=net?cn,sn?sub?(cn=*)
URLs that are wrapped in angle-brackets and/or preceded by "URL:" are
also tolerated. Alternative schemes such as ldaps:// and ldapi:// may
be parsed using the below routines as well.
ldap_is_ldap_url() returns a non-zero value if url looks like an LDAP
URL (as opposed to some other kind of URL). It can be used as a quick
check for an LDAP URL; the ldap_url_parse() routine should be used if a
more thorough check is needed.
ldap_url_parse() breaks down an LDAP URL passed in url into its compo-
nent pieces. If successful, zero is returned, an LDAP URL description
is allocated, filled in, and ludpp is set to point to it. If an error
occurs, a non-zero URL error code is returned.
ldap_free_urldesc() should be called to free an LDAP URL description
that was obtained from a call to ldap_url_parse().
ldap_url_search() initiates an asynchronous LDAP search based on the
contents of the url string. This routine acts just like ldap_search(3)
except that many search parameters are pulled out of the URL.
ldap_url_search_s() performs a synchronous LDAP search based on the
contents of the url string. This routine acts just like
ldap_search_s(3) except that many search parameters are pulled out of
the URL.
ldap_url_search_st() performs a synchronous LDAP URL search with a
specified timeout. This routine acts just like ldap_search_st(3)
except that many search parameters are pulled out of the URL.
SEE ALSO
ldap(3), ldap_search(3)
The LDAP URL Format, RFC 2255, Tim Howes and Mark Smith, December 1997.
ACKNOWLEDGEMENTS
OpenLDAP is developed and maintained by The OpenLDAP Project
(http://www.openldap.org/). OpenLDAP is derived from University of
Michigan LDAP 3.3 Release.
OpenLDAP 2.0.27-Release 17 October 2000 LDAP_URL(3)