diff --git a/Makefile b/Makefile index f971ffb..842c21b 100644 --- a/Makefile +++ b/Makefile @@ -1,4 +1,4 @@ -#DEBUG=1 +DEBUG=1 all: t1 t2 parse dumpidx idx2ldif addindex bindrequest tinyldap \ tinyldap_standalone tinyldap_debug ldapclient ldapclient_str \ diff --git a/fmt_ldapsearchfilter.c b/fmt_ldapsearchfilter.c index d76f3e0..c82b3b6 100644 --- a/fmt_ldapsearchfilter.c +++ b/fmt_ldapsearchfilter.c @@ -47,7 +47,8 @@ int fmt_ldapsearchfilter(char* dest,struct Filter* f) { } break; case PRESENT: - sum=fmt_ldapstring(dest,&f->ava.desc); +// sum=fmt_ldapstring(dest,&f->ava.desc); + return fmt_asn1string(dest,PRIVATE,PRIMITIVE,f->type,f->ava.desc.s,f->ava.desc.l); break; default: return 0; } diff --git a/ldapclient.c b/ldapclient.c index dd9d991..e72c8d4 100644 --- a/ldapclient.c +++ b/ldapclient.c @@ -66,6 +66,7 @@ usage: f.ava.desc.s=argv[3]; f.ava.desc.l=str_chr(argv[3],'='); if (argv[3][f.ava.desc.l] != '=') goto usage; f.ava.value.s=argv[3]+f.ava.desc.l+1; f.ava.value.l=strlen(f.ava.value.s); + if (f.ava.value.l==1 && f.ava.value.s[0]=='*') f.type=PRESENT; f.a=0; i=4; /* This should be the first index to an attribute argument in argv[] */ adl.a.s=argv[i];