# ldap_url

## NAME



           ldap_is_ldap_url, ldap_url_parse, ldap_free_urldesc - LDAP Uniform
           Resource Locator routines
    


## LIBRARY



           OpenLDAP LDAP (libldap, -lldap)
    


## SYNOPSIS



           **#include <ldap.h>**
    
           **int ldap_is_ldap_url( const char *url )**
    
           **int ldap_url_parse( const 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 */
               int         lud_crit_exts;  /* true if any extension is critical */
               /* may contain additional fields for internal use */
           } LDAPURLDesc;
    
           **void ldap_free_urldesc( LDAPURLDesc *ludp );**
    


## DESCRIPTION



           These routines support the use of LDAP URLs (Uniform Resource
           Locators) as detailed in RFC 4516.  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 LDAP 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
           component 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().**
    


## ACKNOWLEDGEMENTS



           **OpenLDAP Software** is developed and maintained by The OpenLDAP
           Project <http://www.openldap.org/>.  **OpenLDAP Software** is derived
           from the University of Michigan LDAP 3.3 Release.
    


* * *