Re: Special character Ç during search

2005-08-18 Thread ialexei
Hi Anton,

Thank you for your suggestion.
I tried executing the same query using the Softerra LDAP browser (which
uses the Netscape LDAP C libraries), and got no results either.
Microsoft's ldp.exe also returns no results.

Here is something more weirder. The query (cn=Ç*) returns no results,
but the query (cn=Çm*) returns the desired results.

The LDAP server I am using is an IBM Domino Notes server. I am going
create a similar entry on ur AD server see if I get similar results. I
will post my finding tomorrow.

-Alexei

Anton Bobrov wrote:
> i'm not sure what exactly those macros do and if its a good idea
> to implant them in there or not but i would start by checking yr
> server logs, making sure correct entries in fact do exist, trying
> to retrieve them using ldapsearch or alike. you can also try ICU
> library which does pretty good job on converting from/to whatever
> its cross platform and its open source as well [ IBM license ].
>
> http://icu.sourceforge.net/
> http://icu.sourceforge.net/apiref/icu4c/index.html
>
> good luck!
>
> ialexei wrote:
> > Platform : MS Windows XP, VC++.net 2003, ATL
> >
> > I am able to query all nodes in the LDAP tree except for the ones that
> > begin with Ç.
> > The CT2AEX<>(..,CP_UTF8) seem to be converting to UTF8 successfully,
> > but the ldap_first_entry returns NULL.
> >
> > I also tried setting the option to use LDAP version 3.0, but that does
> > not work either. Any ideas what is going on ?
> >
> > I modified the sample in the SDK search.c (enclosed below) with similar
> > results.
> >
> > -Alexei
> >
> > #define MY_FILTER _T("(cn=Ç*)")
> >
> > int _tmain(int argc, _TCHAR* argv[])
> > {
> > LDAP*ld;
> > LDAPMessage *result, *e;
> > BerElement  *ber;
> > char*a, *dn;
> > char**vals;
> > int i;
> >
> > /* get a handle to an LDAP connection */
> > if ( (ld = ldap_init( CT2AEX<>(MY_HOST, CP_UTF8), MY_PORT )) == NULL )
> > {
> > perror( "ldap_init" );
> > return( 1 );
> > }
> > /* authenticate to the directory as nobody */
> > if ( ldap_simple_bind_s( ld, NULL, NULL ) != LDAP_SUCCESS ) {
> > ldap_perror( ld, "ldap_simple_bind_s" );
> > ldap_unbind( ld );
> > return( 1 );
> > }
> > /* search for all entries with surname of Jensen */
> > if ( ldap_search_s( ld, CT2AEX<>(MY_SEARCHBASE, CP_UTF8),
> > LDAP_SCOPE_SUBTREE,
> > CT2AEX<>(MY_FILTER, CP_UTF8), NULL, 0, &result ) != 
> > LDAP_SUCCESS ) {
> > ldap_perror( ld, "ldap_search_s" );
> > if ( result == NULL ) {
> > ldap_unbind( ld );
> > return( 1 );
> > }
> > }
> > /* for each entry print out name + all attrs and values */
> > for ( e = ldap_first_entry( ld, result ); e != NULL;
> > e = ldap_next_entry( ld, e ) ) {
> > if ( (dn = ldap_get_dn( ld, e )) != NULL ) {
> > printf( "dn: %s\n", dn );
> > ldap_memfree( dn );
> > }
> > for ( a = ldap_first_attribute( ld, e, &ber );
> > a != NULL; a = ldap_next_attribute( ld, e, ber ) ) {
> > if ((vals = ldap_get_values( ld, e, a)) != NULL ) {
> > for ( i = 0; vals[i] != NULL; i++ ) {
> > printf( "%s: %s\n", a, vals[i] );
> > }
> > ldap_value_free( vals );
> > }
> > ldap_memfree( a );
> > }
> > if ( ber != NULL ) {
> > ber_free( ber, 0 );
> > }
> > printf( "\n" );
> > }
> > ldap_msgfree( result );
> > ldap_unbind( ld );
> >
> >
> > return( 0 );
> > }
> >
> > ___
> > mozilla-directory mailing list
> > mozilla-directory@mozilla.org
> > http://mail.mozilla.org/listinfo/mozilla-directory

___
mozilla-directory mailing list
mozilla-directory@mozilla.org
http://mail.mozilla.org/listinfo/mozilla-directory


Re: Special character Ç during search

2005-08-18 Thread Anton Bobrov


i'm not sure what exactly those macros do and if its a good idea
to implant them in there or not but i would start by checking yr
server logs, making sure correct entries in fact do exist, trying
to retrieve them using ldapsearch or alike. you can also try ICU
library which does pretty good job on converting from/to whatever
its cross platform and its open source as well [ IBM license ].

http://icu.sourceforge.net/
http://icu.sourceforge.net/apiref/icu4c/index.html

good luck!

ialexei wrote:

Platform : MS Windows XP, VC++.net 2003, ATL

I am able to query all nodes in the LDAP tree except for the ones that
begin with Ç.
The CT2AEX<>(..,CP_UTF8) seem to be converting to UTF8 successfully,
but the ldap_first_entry returns NULL.

I also tried setting the option to use LDAP version 3.0, but that does
not work either. Any ideas what is going on ?

I modified the sample in the SDK search.c (enclosed below) with similar
results.

-Alexei

#define MY_FILTER _T("(cn=Ç*)")

int _tmain(int argc, _TCHAR* argv[])
{
LDAP*ld;
LDAPMessage *result, *e;
BerElement  *ber;
char*a, *dn;
char**vals;
int i;

/* get a handle to an LDAP connection */
if ( (ld = ldap_init( CT2AEX<>(MY_HOST, CP_UTF8), MY_PORT )) == NULL )
{
perror( "ldap_init" );
return( 1 );
}
/* authenticate to the directory as nobody */
if ( ldap_simple_bind_s( ld, NULL, NULL ) != LDAP_SUCCESS ) {
ldap_perror( ld, "ldap_simple_bind_s" );
ldap_unbind( ld );
return( 1 );
}
/* search for all entries with surname of Jensen */
if ( ldap_search_s( ld, CT2AEX<>(MY_SEARCHBASE, CP_UTF8),
LDAP_SCOPE_SUBTREE,
CT2AEX<>(MY_FILTER, CP_UTF8), NULL, 0, &result ) != 
LDAP_SUCCESS ) {
ldap_perror( ld, "ldap_search_s" );
if ( result == NULL ) {
ldap_unbind( ld );
return( 1 );
}
}
/* for each entry print out name + all attrs and values */
for ( e = ldap_first_entry( ld, result ); e != NULL;
e = ldap_next_entry( ld, e ) ) {
if ( (dn = ldap_get_dn( ld, e )) != NULL ) {
printf( "dn: %s\n", dn );
ldap_memfree( dn );
}
for ( a = ldap_first_attribute( ld, e, &ber );
a != NULL; a = ldap_next_attribute( ld, e, ber ) ) {
if ((vals = ldap_get_values( ld, e, a)) != NULL ) {
for ( i = 0; vals[i] != NULL; i++ ) {
printf( "%s: %s\n", a, vals[i] );
}
ldap_value_free( vals );
}
ldap_memfree( a );
}
if ( ber != NULL ) {
ber_free( ber, 0 );
}
printf( "\n" );
}
ldap_msgfree( result );
ldap_unbind( ld );


return( 0 );
}

___
mozilla-directory mailing list
mozilla-directory@mozilla.org
http://mail.mozilla.org/listinfo/mozilla-directory

___
mozilla-directory mailing list
mozilla-directory@mozilla.org
http://mail.mozilla.org/listinfo/mozilla-directory


Special character Ç during search

2005-08-17 Thread ialexei
Platform : MS Windows XP, VC++.net 2003, ATL

I am able to query all nodes in the LDAP tree except for the ones that
begin with Ç.
The CT2AEX<>(..,CP_UTF8) seem to be converting to UTF8 successfully,
but the ldap_first_entry returns NULL.

I also tried setting the option to use LDAP version 3.0, but that does
not work either. Any ideas what is going on ?

I modified the sample in the SDK search.c (enclosed below) with similar
results.

-Alexei

#define MY_FILTER _T("(cn=Ç*)")

int _tmain(int argc, _TCHAR* argv[])
{
LDAP*ld;
LDAPMessage *result, *e;
BerElement  *ber;
char*a, *dn;
char**vals;
int i;

/* get a handle to an LDAP connection */
if ( (ld = ldap_init( CT2AEX<>(MY_HOST, CP_UTF8), MY_PORT )) == NULL )
{
perror( "ldap_init" );
return( 1 );
}
/* authenticate to the directory as nobody */
if ( ldap_simple_bind_s( ld, NULL, NULL ) != LDAP_SUCCESS ) {
ldap_perror( ld, "ldap_simple_bind_s" );
ldap_unbind( ld );
return( 1 );
}
/* search for all entries with surname of Jensen */
if ( ldap_search_s( ld, CT2AEX<>(MY_SEARCHBASE, CP_UTF8),
LDAP_SCOPE_SUBTREE,
CT2AEX<>(MY_FILTER, CP_UTF8), NULL, 0, &result ) != 
LDAP_SUCCESS ) {
ldap_perror( ld, "ldap_search_s" );
if ( result == NULL ) {
ldap_unbind( ld );
return( 1 );
}
}
/* for each entry print out name + all attrs and values */
for ( e = ldap_first_entry( ld, result ); e != NULL;
e = ldap_next_entry( ld, e ) ) {
if ( (dn = ldap_get_dn( ld, e )) != NULL ) {
printf( "dn: %s\n", dn );
ldap_memfree( dn );
}
for ( a = ldap_first_attribute( ld, e, &ber );
a != NULL; a = ldap_next_attribute( ld, e, ber ) ) {
if ((vals = ldap_get_values( ld, e, a)) != NULL ) {
for ( i = 0; vals[i] != NULL; i++ ) {
printf( "%s: %s\n", a, vals[i] );
}
ldap_value_free( vals );
}
ldap_memfree( a );
}
if ( ber != NULL ) {
ber_free( ber, 0 );
}
printf( "\n" );
}
ldap_msgfree( result );
ldap_unbind( ld );


return( 0 );
}

___
mozilla-directory mailing list
mozilla-directory@mozilla.org
http://mail.mozilla.org/listinfo/mozilla-directory