Lines Matching refs:op
910 Operation *op,
1011 rc = dnNormalize( 0, NULL, NULL, &bv, nbase, op->o_tmpmemctx );
1016 ber_dupbv_x( nbase, &bv, op->o_tmpmemctx );
1022 ber_dupbv_x( nbase, &bv, op->o_tmpmemctx );
1043 Connection c = *op->o_conn;
1069 rc = slap_sasl_getdn( &c, op, &user,
1125 rc = dnNormalize( 0, NULL, NULL, &group_dn, nbase, op->o_tmpmemctx );
1131 ber_dupbv_x( nbase, &group_dn, op->o_tmpmemctx );
1210 *filter = str2filter_x( op, ludp->lud_filter );
1221 rc = dnNormalize( 0, NULL, NULL, base, nbase, op->o_tmpmemctx );
1223 ber_dupbv_x( nbase, base, op->o_tmpmemctx );
1229 if( *filter ) filter_free_x( op, *filter, 1 );
1582 static int sasl_sc_sasl2dn( Operation *op, SlapReply *rs )
1584 struct berval *ndn = op->o_callback->sc_private;
1590 op->o_tmpfree( ndn->bv_val, op->o_tmpmemctx );
1595 op->o_log_prefix, 0, 0 );
1599 ber_dupbv_x( ndn, &rs->sr_entry->e_nname, op->o_tmpmemctx );
1624 slap_sasl_matches( Operation *op, BerVarray rules,
1633 rc = slap_sasl_match( op, &rules[i], assertDN, authc );
1658 Operation op = {0};
1671 rc = slap_parseURI( opx, rule, &base, &op.o_req_ndn,
1672 &op.ors_scope, &op.ors_filter, &op.ors_filterstr, 0 );
1676 switch ( op.ors_scope ) {
1679 if ( dn_match( &op.o_req_ndn, assertDN ) ) {
1690 int d = assertDN->bv_len - op.o_req_ndn.bv_len;
1694 if ( d == 0 && op.ors_scope == LDAP_X_SCOPE_SUBTREE ) {
1706 bv.bv_len = op.o_req_ndn.bv_len;
1709 if ( bv.bv_val[ -1 ] == ',' && dn_match( &op.o_req_ndn, &bv ) ) {
1710 switch ( op.ors_scope ) {
1725 if ( pdn.bv_len == op.o_req_ndn.bv_len ) {
1740 rc = regcomp(®, op.o_req_ndn.bv_val,
1760 tmp = ch_realloc( op.ors_filterstr.bv_val, op.ors_filterstr.bv_len +
1766 op.ors_filterstr.bv_val = tmp;
1768 tmp = lutil_strcopy( &tmp[op.ors_filterstr.bv_len], assertDN->bv_val );
1772 op.ors_filter = str2filter_x( opx, op.ors_filterstr.bv_val );
1773 if ( op.ors_filter == NULL ) {
1777 op.ors_scope = LDAP_SCOPE_BASE;
1781 sm.dn = &op.o_req_ndn;
1800 if ( op.ors_filter == NULL ) {
1807 op.o_req_ndn.bv_val, op.ors_scope, 0 );
1809 op.o_bd = select_backend( &op.o_req_ndn, 1 );
1810 if(( op.o_bd == NULL ) || ( op.o_bd->be_search == NULL)) {
1815 op.o_hdr = opx->o_hdr;
1816 op.o_tag = LDAP_REQ_SEARCH;
1817 op.o_ndn = *authc;
1818 op.o_callback = &cb;
1819 slap_op_time( &op.o_time, &op.o_tincr );
1820 op.o_do_not_cache = 1;
1821 op.o_is_auth_check = 1;
1828 ber_dupbv_x( &op.o_req_dn, &op.o_req_ndn, op.o_tmpmemctx );
1829 op.ors_deref = LDAP_DEREF_NEVER;
1830 op.ors_slimit = 1;
1831 op.ors_tlimit = SLAP_NO_LIMIT;
1832 op.ors_attrs = slap_anlist_no_attrs;
1833 op.ors_attrsonly = 1;
1835 op.o_bd->be_search( &op, &rs );
1844 if( !BER_BVISNULL( &op.o_req_dn ) ) slap_sl_free( op.o_req_dn.bv_val, opx->o_tmpmemctx );
1845 if( !BER_BVISNULL( &op.o_req_ndn ) ) slap_sl_free( op.o_req_ndn.bv_val, opx->o_tmpmemctx );
1846 if( op.ors_filter ) filter_free_x( opx, op.ors_filter, 1 );
1847 if( !BER_BVISNULL( &op.ors_filterstr ) ) ch_free( op.ors_filterstr.bv_val );
1865 slap_sasl_check_authz( Operation *op,
1872 do_not_cache = op->o_do_not_cache;
1880 op->o_do_not_cache = 1;
1881 rc = backend_attribute( op, NULL, searchDN, ad, &vals, ACL_AUTH );
1882 op->o_do_not_cache = do_not_cache;
1886 rc = slap_sasl_matches( op, vals, assertDN, authc );
1889 if( vals ) ber_bvarray_free_x( vals, op->o_tmpmemctx );
1915 Operation op = {0};
1934 rc = slap_parseURI( opx, ®out, &base, &op.o_req_ndn,
1935 &op.ors_scope, &op.ors_filter, &op.ors_filterstr, 1 );
1942 op.o_bd = select_backend( &op.o_req_ndn, 1 );
1944 switch ( op.ors_scope ) {
1946 *sasldn = op.o_req_ndn;
1947 BER_BVZERO( &op.o_req_ndn );
1973 op.o_req_ndn.bv_val, op.ors_scope, 0 );
1975 if ( ( op.o_bd == NULL ) || ( op.o_bd->be_search == NULL) ) {
1980 if ( op.ors_filter == NULL ) {
1985 op.o_hdr = opx->o_hdr;
1986 op.o_tag = LDAP_REQ_SEARCH;
1987 op.o_ndn = opx->o_conn->c_ndn;
1988 op.o_callback = &cb;
1989 slap_op_time( &op.o_time, &op.o_tincr );
1990 op.o_do_not_cache = 1;
1991 op.o_is_auth_check = 1;
1992 op.ors_deref = LDAP_DEREF_NEVER;
1993 op.ors_slimit = 1;
1994 op.ors_tlimit = SLAP_NO_LIMIT;
1995 op.ors_attrs = slap_anlist_no_attrs;
1996 op.ors_attrsonly = 1;
2003 ber_dupbv_x( &op.o_req_dn, &op.o_req_ndn, op.o_tmpmemctx );
2005 op.o_bd->be_search( &op, &rs );
2009 opx->o_conn->c_authz_backend = op.o_bd;
2011 if( !BER_BVISNULL( &op.o_req_dn ) ) {
2012 slap_sl_free( op.o_req_dn.bv_val, opx->o_tmpmemctx );
2014 if( !BER_BVISNULL( &op.o_req_ndn ) ) {
2015 slap_sl_free( op.o_req_ndn.bv_val, opx->o_tmpmemctx );
2017 if( op.ors_filter ) {
2018 filter_free_x( opx, op.ors_filter, 1 );
2020 if( !BER_BVISNULL( &op.ors_filterstr ) ) {
2021 ch_free( op.ors_filterstr.bv_val );
2035 int slap_sasl_authorized( Operation *op,
2063 if( op->o_conn->c_authz_backend &&
2064 be_isroot_dn( op->o_conn->c_authz_backend, authcDN ))
2072 rc = slap_sasl_check_authz( op, authcDN, authzDN,
2081 rc = slap_sasl_check_authz( op, authzDN, authcDN,