overlayutils.c   [plain text]


#include "overlayutils.h"

void dump_berval( struct berval *bv )
{
	if (bv)
	{
		Debug( LDAP_DEBUG_BER, "berval len[%d] [%s]\n", bv->bv_len, bv->bv_val, 0);			
	}
}

void dump_berval_array(BerVarray bva)
{
	int i = 0;
	
	if (bva)
	{
		for ( i = 0 ; bva[i].bv_val; i++)
			Debug( LDAP_DEBUG_BER, "dump_berval_array[%d] len[%d] [%s]\n", i, bva[i].bv_len, bva[i].bv_val);			
	}
}

void dump_slap_attr_desc(AttributeDescription *desc)
{
	if (desc)
	{
		// dump ad_type
		Debug( LDAP_DEBUG_BER, "#####AD_CNAME#####\n", 0, 0, 0);
		dump_berval(&desc->ad_cname);
		// dump ad_tags
		// dump ad_flags
		Debug( LDAP_DEBUG_BER, "ad_flags [%x]\n", desc->ad_flags, 0, 0);
		
	}
}

void dump_slap_attr(Attribute *attr)
{
	Attribute *current_attr = NULL;
	int i = 0;
	
	if (attr)
	{
		for ( i = 1, current_attr = attr; current_attr; i++, current_attr = current_attr->a_next )
		{
			Debug( LDAP_DEBUG_BER, "#####A_DESC#####\n", 0, 0, 0);
			dump_slap_attr_desc(current_attr->a_desc);
			Debug( LDAP_DEBUG_BER, "#####A_VALS#####\n", 0, 0, 0);
			dump_berval_array(current_attr->a_vals);
			Debug( LDAP_DEBUG_BER, "#####A_NVALS#####\n", 0, 0, 0);
			dump_berval_array(current_attr->a_nvals);
		}
		Debug( LDAP_DEBUG_BER, "dump_slap_attr count(%d)\n", i, 0, 0);

	}
}

void dump_slap_entry(Entry *ent)
{
	if (ent)
	{
		dump_slap_attr(ent->e_attrs);
	}
	
}

void dump_req_bind_s(req_bind_s *req)
{	
#if 0
typedef struct req_bind_s {
	int rb_method;
	struct berval rb_cred;
	struct berval rb_edn;
	slap_ssf_t rb_ssf;
	struct berval rb_mech;	/* FIXME: temporary */
} req_bind_s;
#endif

	if (req)
	{
		Debug( LDAP_DEBUG_BER, "#####RB_CRED#####\n", 0, 0, 0);
		dump_berval( &req->rb_cred );
		Debug( LDAP_DEBUG_BER, "#####RB_EDN#####\n", 0, 0, 0);
		dump_berval( &req->rb_edn );
		Debug( LDAP_DEBUG_BER, "#####RB_MECH#####\n", 0, 0, 0);
		dump_berval( &req->rb_mech );
	}
}

void dump_req_add_s(req_add_s *req)
{	
	if (req)
	{
		dump_slap_entry(req->rs_e);
		// dump_slap_mod_list(req->rs_modlist);
	}
}