#include <quipu/dua.h>
#include "lber.h"
+#include "../../libraries/liblber/lber-int.h" /* get struct berelement */
#include "ldap.h"
#include "common.h"
-static get_filter();
-static get_filter_list();
-static get_substring_filter();
+static int get_filter( BerElement *ber, Filter *filt );
+static int get_filter_list( BerElement *ber, Filter f );
+static int get_substring_filter( BerElement *ber, Filter f );
#ifdef LDAP_COMPAT
-extern int version;
-extern int ldap_compat;
#define SEARCHRESTAG (ldap_compat == 20 ? OLD_LDAP_RES_SEARCH_RESULT : LDAP_RES_SEARCH_RESULT)
#else
#define SEARCHRESTAG LDAP_RES_SEARCH_RESULT
char **attrs;
struct ds_search_arg sa;
static CommonArgs common = default_common_args;
- extern DN ldap_str2dn();
Debug( LDAP_DEBUG_TRACE, "do_search\n", 0, 0, 0 );
return( 1 );
}
-static get_filter( BerElement *ber, Filter *filt )
+static int
+get_filter( BerElement *ber, Filter *filt )
{
unsigned long tag, len;
int err;
break;
default:
- Debug( LDAP_DEBUG_ANY, "unknown filter type %d\n", tag, 0, 0 );
+ Debug( LDAP_DEBUG_ANY, "unknown filter type %lu\n", tag, 0, 0 );
free( f );
return( LDAP_PROTOCOL_ERROR );
break;
return( err );
}
-static get_filter_list( BerElement *ber, Filter f )
+static int
+get_filter_list( BerElement *ber, Filter f )
{
Filter new, tail;
int err;
return( 0 );
}
-static get_substring_filter( BerElement *ber, Filter f )
+static int
+get_substring_filter( BerElement *ber, Filter f )
{
unsigned long tag, len;
char typestr[64];
AttributeType type;
char *valstr, *last;
AttributeValue value;
- extern short ldap_dn_syntax;
Debug( LDAP_DEBUG_TRACE, "get_substring_filter\n", 0, 0, 0 );
#ifdef LDAP_CONNECTIONLESS
if ( m->m_cldap ) {
- if ((ber = der_alloc()) == NULLBER ) {
+ if ((ber = der_alloc()) == NULL ) {
send_ldap_msgresult( sb, SEARCHRESTAG, m,
LDAP_OPERATIONS_ERROR, NULL, "der_alloc" );
return;
if ( !m->m_cldap )
#endif /* LDAP_CONNECTIONLESS */
- if ( (ber = der_alloc()) == NULLBER ) {
+ if ( (ber = der_alloc()) == NULL ) {
send_ldap_msgresult( sb, SEARCHRESTAG, m,
LDAP_OPERATIONS_ERROR, NULL, "der_alloc" );
return;
LDAP_OPERATIONS_ERROR, NULL, "ber_printf" );
return;
}
- SAFEMEMCPY( (char *)sb->sb_useaddr, &m->m_clientaddr,
- sizeof( struct sockaddr ));
+ ber_pvt_sb_udp_set_dst( sb, &m->m_clientaddr );
+
if ( ber_flush( sb, ber, 1 ) != 0 ) {
send_ldap_msgresult( sb, SEARCHRESTAG, m,
LDAP_RESULTS_TOO_LARGE, NULL, "ber_flush" );