Lines Matching refs:ld

53 static int nsldapi_sasl_close( LDAP *ld, Sockbuf *sb );
149 LDAP *ld;
159 ld = (LDAP *)sb->sb_sasl_prld;
160 if (ld == NULL) {
192 if ( ( ret < 0 ) && ( LDAP_GET_ERRNO(ld) == EINTR ) )
206 LDAP_SET_ERRNO(ld, EIO);
222 if ( ( ret < 0 ) && ( LDAP_GET_ERRNO(ld) == EINTR ) )
241 LDAP_SET_ERRNO(ld, EIO);
319 LDAP *ld;
325 ld = (LDAP *)sb->sb_sasl_prld;
326 if (ld == NULL) {
341 return ( ld->ld_sasl_io_fns.lextiof_poll( fds, nfds, timeout,
342 (void *)ld->ld_sasl_io_fns.lextiof_session_arg) );
379 LDAP *ld;
384 ld = (LDAP *)sb->sb_sasl_prld;
385 if (ld == NULL) {
389 ldap_set_option( ld, LDAP_X_OPT_EXTIO_FN_PTRS, &ld->ld_sasl_io_fns );
395 nsldapi_sasl_close( ld, sb );
397 return ( ld->ld_sasl_io_fns.lextiof_close( s,
406 nsldapi_sasl_install( LDAP *ld, Sockbuf *sb, void *ctx_arg, sasl_ssf_t *ssf)
457 memset( &ld->ld_sasl_io_fns, 0, sizeof(iofns));
458 ld->ld_sasl_io_fns.lextiof_size = LDAP_X_EXTIO_FNS_SIZE;
459 rc = ldap_get_option( ld, LDAP_X_OPT_EXTIO_FN_PTRS,
460 &ld->ld_sasl_io_fns );
467 if ( ld->ld_sasl_io_fns.lextiof_read != NULL ||
468 ld->ld_sasl_io_fns.lextiof_write != NULL ||
469 ld->ld_sasl_io_fns.lextiof_poll != NULL ||
470 ld->ld_sasl_io_fns.lextiof_connect != NULL ||
471 ld->ld_sasl_io_fns.lextiof_close != NULL ) {
483 iofns.lextiof_connect = ld->ld_sasl_io_fns.lextiof_connect;
485 iofns.lextiof_newhandle = ld->ld_sasl_io_fns.lextiof_newhandle;
487 ld->ld_sasl_io_fns.lextiof_disposehandle;
490 /* ld->ld_sasl_io_fns.lextiof_session_arg; */
491 rc = ldap_set_option( ld, LDAP_X_OPT_EXTIO_FN_PTRS,
497 sb->sb_sasl_prld = (void *)ld;
521 nsldapi_sasl_cvterrno( LDAP *ld, int err, char *msg )
564 LDAP_SET_LDERRNO( ld, rc, NULL, msg );
569 nsldapi_sasl_open(LDAP *ld)
576 if (ld == NULL) {
580 if (ld->ld_defconn == NULL) {
581 LDAP_SET_LDERRNO( ld, LDAP_LOCAL_ERROR, NULL, NULL );
584 sb = ld->ld_defconn->lconn_sb;
585 host = ld->ld_defhost;
588 LDAP_SET_LDERRNO( ld, LDAP_LOCAL_ERROR, NULL, NULL );
600 LDAP_SET_LDERRNO( ld, LDAP_LOCAL_ERROR, NULL, NULL );
612 return( nsldapi_sasl_cvterrno( ld, saslrc, NULL ) );
634 nsldapi_sasl_close( LDAP *ld, Sockbuf *sb )
648 nsldapi_sasl_do_bind( LDAP *ld, const char *dn,
663 if (NSLDAPI_LDAP_VERSION( ld ) < LDAP_VERSION3) {
664 LDAP_SET_LDERRNO( ld, LDAP_NOT_SUPPORTED, NULL, NULL );
673 if ( ld->ld_defconn == NULL ||
674 ld->ld_defconn->lconn_status != LDAP_CONNST_CONNECTED) {
675 rc = nsldapi_open_ldap_defconn( ld );
677 return( LDAP_GET_LDERRNO( ld, NULL, NULL ) );
681 /* should have a valid ld connection - now create sasl connection */
682 if ((rc = nsldapi_sasl_open(ld)) != LDAP_SUCCESS) {
683 LDAP_SET_LDERRNO( ld, rc, NULL, NULL );
688 ctx = (sasl_conn_t *)ld->ld_defconn->lconn_sb->sb_sasl_ctx;
691 LDAP_SET_LDERRNO( ld, LDAP_LOCAL_ERROR, NULL, NULL );
696 sasl_setprop( ctx, SASL_SEC_PROPS, &ld->ld_sasl_secprops );
717 (callback)(ld, flags, defaults, prompts) != LDAP_SUCCESS ) {
725 return( nsldapi_sasl_cvterrno( ld, saslrc, nsldapi_strdup( sasl_errdetail( ctx ) ) ) );
741 rc = ldap_sasl_bind_s(ld, dn, mech, &ccred,
767 LDAP_SET_LDERRNO( ld, LDAP_LOCAL_ERROR,
790 (callback)(ld, flags, defaults, prompts)
800 return( nsldapi_sasl_cvterrno( ld, saslrc, nsldapi_strdup( sasl_errdetail( ctx ) ) ) );
809 return( nsldapi_sasl_cvterrno( ld, saslrc, nsldapi_strdup( sasl_errdetail( ctx ) ) ) );
824 rc = nsldapi_sasl_install(ld, ld->ld_conns->lconn_sb, ctx, ssf);
836 nsldapi_get_sasl_mechs ( LDAP *ld, char **pmech )
844 if ( !NSLDAPI_VALID_LDAP_POINTER( ld )) {
851 rc = ldap_search_st( ld, "", LDAP_SCOPE_BASE,
855 return( LDAP_GET_LDERRNO( ld, NULL, NULL ) );
858 e = ldap_first_entry( ld, res );
861 if ( ld->ld_errno == LDAP_SUCCESS ) {
862 LDAP_SET_LDERRNO( ld, LDAP_NO_SUCH_OBJECT, NULL, NULL );
864 return( LDAP_GET_LDERRNO( ld, NULL, NULL ) );
867 values = ldap_get_values( ld, e, "supportedSASLMechanisms" );
870 LDAP_SET_LDERRNO( ld, LDAP_NO_SUCH_ATTRIBUTE, NULL, NULL );
881 LDAP_SET_LDERRNO( ld, LDAP_NO_MEMORY, NULL, NULL );
1020 * to the LDAP connection ld. The user provided callback can
1030 ldap_sasl_interactive_bind_s( LDAP *ld, const char *dn,
1042 if ( !NSLDAPI_VALID_LDAP_POINTER( ld )) {
1050 LDAP_MUTEX_LOCK(ld, LDAP_SASL_LOCK );
1054 rc = nsldapi_get_sasl_mechs( ld, &smechs );
1056 LDAP_MUTEX_UNLOCK(ld, LDAP_SASL_LOCK );
1061 LDAP_MUTEX_UNLOCK(ld, LDAP_SASL_LOCK );
1071 rc = nsldapi_sasl_do_bind( ld, dn, saslMechanism,
1074 LDAP_MUTEX_UNLOCK(ld, LDAP_SASL_LOCK );