Go to main content

man pages section 3: Extended Library Functions, Volume 1

Exit Print View

Updated: Wednesday, July 27, 2022
 
 

ldap_parse_result (3oldap)

Name

ldap_parse_result - Parsing results

Synopsis

#include <ldap.h>

int ldap_parse_result( LDAP *ld, LDAPMessage *result,
int *errcodep, char **matcheddnp, char **errmsgp,
char ***referralsp, LDAPControl ***serverctrlsp,
int freeit )

int ldap_parse_sasl_bind_result( LDAP *ld, LDAPMessage *result,
struct berval **servercredp, int freeit )

int ldap_parse_extended_result( LDAP *ld, LDAPMessage *result,
char **retoidp, struct berval **retdatap, int freeit )

int ldap_parse_intermediate( LDAP *ld, LDAPMessage *result,
char **retoidp, struct berval **retdatap,
LDAPControl ***serverctrlsp, int freeit )

Description

LDAP_PARSE_RESULT(3oldap)                            LDAP_PARSE_RESULT(3oldap)



NAME
       ldap_parse_result - Parsing results

LIBRARY
       OpenLDAP LDAP (libldap, -lldap)

SYNOPSIS
       #include <ldap.h>

       int ldap_parse_result( LDAP *ld, LDAPMessage *result,
            int *errcodep, char **matcheddnp, char **errmsgp,
            char ***referralsp, LDAPControl ***serverctrlsp,
            int freeit )

       int ldap_parse_sasl_bind_result( LDAP *ld, LDAPMessage *result,
            struct berval **servercredp, int freeit )

       int ldap_parse_extended_result( LDAP *ld, LDAPMessage *result,
            char **retoidp, struct berval **retdatap, int freeit )

       int ldap_parse_intermediate( LDAP *ld, LDAPMessage *result,
            char **retoidp, struct berval **retdatap,
            LDAPControl ***serverctrlsp, int freeit )

DESCRIPTION
       These  routines  are used to extract information from a result message.
       They will operate on the first result message  in  a  chain  of  search
       results  (skipping  past  other message types). They take the result as
       returned   by   a   call   to   ldap_result(3),   ldap_search_s(3)   or
       ldap_search_st(3).   In  addition  to ldap_parse_result(), the routines
       ldap_parse_sasl_bind_result() and ldap_parse_extended_result() are used
       to  get  all  the result information from SASL bind and extended opera-
       tions.   To   extract   information   from   intermediate    responses,
       ldap_parse_intermediate() can be used.

       The  errcodep parameter will be filled in with the result code from the
       result message.

       The server might supply a matched DN string in the  message  indicating
       how  much of a name in a request was recognized. The matcheddnp parame-
       ter will be filled in with this string if supplied,  else  it  will  be
       NULL.  If  a  string  is  returned,  it should be freed using ldap_mem-
       free(3).

       The errmsgp parameter will be filled in with the  error  message  field
       from  the  parsed  message. This string should be freed using ldap_mem-
       free(3).

       The referralsp parameter will be filled in with an allocated  array  of
       referral  strings  from  the parsed message. This array should be freed
       using ldap_memvfree(3).  If no referrals were returned, *referralsp  is
       set to NULL.

       The serverctrlsp parameter will be filled in with an allocated array of
       controls copied from the parsed message.  The  array  should  be  freed
       using  ldap_controls_free(3).   If no controls were returned, *serverc-
       trlsp is set to NULL.

       The freeit parameter determines whether the parsed message is freed  or
       not after the extraction. Any non-zero value will make it free the mes-
       sage. The ldap_msgfree(3) routine can also be used to free the  message
       later.

       For SASL bind results, the servercredp parameter will be filled in with
       an allocated berval  structure  containing  the  credentials  from  the
       server if present. The structure should be freed using ber_bvfree(3).

       For  extended results and intermediate responses, the retoidp parameter
       will be filled in with the dotted-OID text representation of  the  name
       of  the  extended  operation response. The string should be freed using
       ldap_memfree(3).  If no OID was returned, *retoidp is set to NULL.

       For extended results and intermediate responses, the retdatap parameter
       will  be  filled in with a pointer to a berval structure containing the
       data from the extended operation  response.  The  structure  should  be
       freed  using ber_bvfree(3).  If no data were returned, *retdatap is set
       to NULL.

       For all the above result parameters, NULL values can be used  in  calls
       in order to ignore certain fields.

ERRORS
       Upon  success  LDAP_SUCCESS  is  returned.  Otherwise the values of the
       result parameters are undefined.


ATTRIBUTES
       See attributes(7) for descriptions of the following attributes:


       +---------------+------------------------------+
       |ATTRIBUTE TYPE |       ATTRIBUTE VALUE        |
       +---------------+------------------------------+
       |Availability   | system/network/ldap/openldap |
       +---------------+------------------------------+
       |Stability      | Pass-through uncommitted     |
       +---------------+------------------------------+

SEE ALSO
       ldap(3),     ldap_result(3),      ldap_search(3),      ldap_memfree(3),
       ldap_memvfree(3),   ldap_get_values(3),   ldap_controls_free(3),  lber-
       types(3)

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



NOTES
       Source code for open source software components in Oracle  Solaris  can
       be found at https://www.oracle.com/downloads/opensource/solaris-source-
       code-downloads.html.

       This    software    was    built    from    source     available     at
       https://github.com/oracle/solaris-userland.    The  original  community
       source was downloaded from   ftp://ftp.openldap.org/pub/OpenLDAP/openl-
       dap-release/openldap-2.4.59.tgz.

       Further information about this software can be found on the open source
       community website at http://www.openldap.org/.



OpenLDAP 2.4.59                   2021/06/03         LDAP_PARSE_RESULT(3oldap)