diff --git a/scan_asn1STRING.c b/scan_asn1STRING.c index eaa5101..89cee80 100644 --- a/scan_asn1STRING.c +++ b/scan_asn1STRING.c @@ -1,7 +1,7 @@ #include "asn1.h" -int scan_asn1STRING(const char* src,const char* max,const char** s,unsigned long* l) { - int tmp; +unsigned int scan_asn1STRING(const char* src,const char* max,const char** s,unsigned long* l) { + unsigned int tmp; long tag; enum asn1_tagclass tc; enum asn1_tagtype tt; diff --git a/scan_asn1int.c b/scan_asn1int.c index b4c1d90..17bc290 100644 --- a/scan_asn1int.c +++ b/scan_asn1int.c @@ -1,7 +1,7 @@ #include "asn1.h" -int scan_asn1int(const char* src,const char* max,enum asn1_tagclass* tc,enum asn1_tagtype* tt,unsigned long* tag,signed long* l) { - int len,tmp; +unsigned int scan_asn1int(const char* src,const char* max,enum asn1_tagclass* tc,enum asn1_tagtype* tt,unsigned long* tag,signed long* l) { + unsigned int len,tmp; long tlen; if (!(len=scan_asn1tag(src,max,tc,tt,tag))) return 0; if (!(tmp=scan_asn1length(src+len,max,&tlen))) return 0; diff --git a/scan_asn1length.c b/scan_asn1length.c index 7213ef9..363bec5 100644 --- a/scan_asn1length.c +++ b/scan_asn1length.c @@ -1,6 +1,6 @@ #include "asn1.h" -int scan_asn1length(const char* src,const char* max,unsigned long* length) { +unsigned int scan_asn1length(const char* src,const char* max,unsigned long* length) { const char* orig=src; if (src>max) return 0; /* If the highest bit of the first byte is clear, the byte is the length. diff --git a/scan_asn1oid.c b/scan_asn1oid.c index 6e90f44..a6938e2 100644 --- a/scan_asn1oid.c +++ b/scan_asn1oid.c @@ -1,7 +1,7 @@ #include "asn1.h" -int scan_asn1oid(const char* src,const char* max) { - int res,tmp; +unsigned int scan_asn1oid(const char* src,const char* max) { + unsigned int res,tmp; unsigned long tag,tlen; enum asn1_tagclass tc; enum asn1_tagtype tt; diff --git a/scan_asn1rawint.c b/scan_asn1rawint.c index 854a5b7..f9c7718 100644 --- a/scan_asn1rawint.c +++ b/scan_asn1rawint.c @@ -1,6 +1,6 @@ #include "asn1.h" -int scan_asn1rawint(const char* src,const char* max,unsigned int len,long* l) { +unsigned int scan_asn1rawint(const char* src,const char* max,unsigned int len,long* l) { unsigned int i,j; long m; if (*src<0) m=-1; else m=0; diff --git a/scan_asn1string.c b/scan_asn1string.c index f5ac844..ff2de17 100644 --- a/scan_asn1string.c +++ b/scan_asn1string.c @@ -1,9 +1,9 @@ #include "asn1.h" -int scan_asn1string(const char* src,const char* max, +unsigned int scan_asn1string(const char* src,const char* max, enum asn1_tagclass* tc,enum asn1_tagtype* tt,unsigned long* tag, const char** s,unsigned long* l) { - int len,tmp; + unsigned int len,tmp; if (!(len=scan_asn1tag(src,max,tc,tt,tag))) return 0; if (!(tmp=scan_asn1length(src+len,max,l))) return 0; len+=tmp; diff --git a/scan_asn1tag.c b/scan_asn1tag.c index b3cc509..8367adf 100644 --- a/scan_asn1tag.c +++ b/scan_asn1tag.c @@ -1,6 +1,6 @@ #include "asn1.h" -int scan_asn1tag(const char* src,const char* max,enum asn1_tagclass* tc,enum asn1_tagtype* tt,unsigned long* tag) { +unsigned int scan_asn1tag(const char* src,const char* max,enum asn1_tagclass* tc,enum asn1_tagtype* tt,unsigned long* tag) { const char* orig=src; *tc=(*src&0xC0); *tt=(*src&0x20); diff --git a/scan_ldapaddrequest.c b/scan_ldapaddrequest.c index 5b6b7fc..3e6d2bf 100644 --- a/scan_ldapaddrequest.c +++ b/scan_ldapaddrequest.c @@ -15,8 +15,8 @@ vals SET OF AttributeValue } #endif -int scan_ldapaddrequest(const char* src,const char* max,struct AddRequest* a) { - int res,tmp; +unsigned int scan_ldapaddrequest(const char* src,const char* max,struct AddRequest* a) { + unsigned int res,tmp; long oslen; /* outer sequence length */ struct Addition* last=0; a->a.next=0; diff --git a/scan_ldapava.c b/scan_ldapava.c index 9e96e8d..f85dc77 100644 --- a/scan_ldapava.c +++ b/scan_ldapava.c @@ -1,8 +1,8 @@ #include "asn1.h" #include "ldap.h" -int scan_ldapava(const char* src,const char* max,struct AttributeValueAssertion* ava) { - int res,tmp; +unsigned int scan_ldapava(const char* src,const char* max,struct AttributeValueAssertion* ava) { + unsigned int res,tmp; if (!(res=scan_ldapstring(src,max,&ava->desc))) goto error; if (!(tmp=scan_ldapstring(src+res,max,&ava->value))) goto error; return res+tmp; diff --git a/scan_ldapbindrequest.c b/scan_ldapbindrequest.c index 986ac6f..900d553 100644 --- a/scan_ldapbindrequest.c +++ b/scan_ldapbindrequest.c @@ -1,10 +1,10 @@ #include "asn1.h" #include "ldap.h" -int scan_ldapbindrequest(const char* src,const char* max, +unsigned int scan_ldapbindrequest(const char* src,const char* max, unsigned long* version,struct string* name, unsigned long* method) { - int res,tmp; + unsigned int res,tmp; if (!(res=scan_asn1INTEGER(src,max,(signed long*)version))) return 0; if (!(tmp=scan_ldapstring(src+res,max,name))) return 0; res+=tmp; diff --git a/scan_ldapbindresponse.c b/scan_ldapbindresponse.c index 0ef6a38..3514abd 100644 --- a/scan_ldapbindresponse.c +++ b/scan_ldapbindresponse.c @@ -1,10 +1,10 @@ #include "asn1.h" #include "ldap.h" -int scan_ldapbindresponse(const char* src,const char* max, +unsigned int scan_ldapbindresponse(const char* src,const char* max, unsigned long* result,struct string* matcheddn, struct string* errormessage,struct string* referral) { - int res,tmp; + unsigned int res,tmp; if (!(res=scan_asn1ENUMERATED(src,max,result))) return 0; if (!(tmp=scan_ldapstring(src+res,max,matcheddn))) return 0; res+=tmp; diff --git a/scan_ldapmessage.c b/scan_ldapmessage.c index 1bf1dc8..3d31563 100644 --- a/scan_ldapmessage.c +++ b/scan_ldapmessage.c @@ -1,9 +1,9 @@ #include "asn1.h" #include "ldap.h" -int scan_ldapmessage(const char* src,const char* max, +unsigned int scan_ldapmessage(const char* src,const char* max, unsigned long* messageid,unsigned long* op,unsigned long* len) { - int res,tmp; + unsigned int res,tmp; if (!(res=scan_asn1SEQUENCE(src,max,len))) goto error; if (!(tmp=scan_asn1INTEGER(src+res,max,(long*)messageid))) goto error; res+=tmp; diff --git a/scan_ldapmodifyrequest.c b/scan_ldapmodifyrequest.c index 2dcc562..ec17527 100644 --- a/scan_ldapmodifyrequest.c +++ b/scan_ldapmodifyrequest.c @@ -17,8 +17,8 @@ vals SET OF AttributeValue } #endif -int scan_ldapmodifyrequest(const char* src,const char* max,struct ModifyRequest* m) { - int res,tmp; +unsigned int scan_ldapmodifyrequest(const char* src,const char* max,struct ModifyRequest* m) { + unsigned int res,tmp; long oslen; /* outer sequence length */ struct Modification* last=0; m->m.next=0; diff --git a/scan_ldapresult.c b/scan_ldapresult.c index 0872ef4..b703654 100644 --- a/scan_ldapresult.c +++ b/scan_ldapresult.c @@ -1,10 +1,10 @@ #include "asn1.h" #include "ldap.h" -int scan_ldapresult(const char* src,const char* max,long* result, +unsigned int scan_ldapresult(const char* src,const char* max,long* result, struct string* matcheddn,struct string* errormessage, struct string* referral) { - int res,tmp; + unsigned int res,tmp; if (!(res=scan_asn1ENUMERATED(src,max,result))) return 0; if (!(tmp=scan_ldapstring(src+res,max,matcheddn))) return 0; res+=tmp; diff --git a/scan_ldapsearchfilter.c b/scan_ldapsearchfilter.c index 26a8153..0395b9b 100644 --- a/scan_ldapsearchfilter.c +++ b/scan_ldapsearchfilter.c @@ -30,11 +30,11 @@ dnAttributes [4] BOOLEAN DEFAULT FALSE } */ -int scan_ldapsearchfilter(const char* src,const char* max,struct Filter** f) { +unsigned int scan_ldapsearchfilter(const char* src,const char* max,struct Filter** f) { enum asn1_tagclass tc; enum asn1_tagtype tt; unsigned long tag,len; - int res; + unsigned int res; unsigned int tmp; const char* nmax; *f=0; diff --git a/scan_ldapsearchfilterstring.c b/scan_ldapsearchfilterstring.c index 6e75177..882e309 100644 --- a/scan_ldapsearchfilterstring.c +++ b/scan_ldapsearchfilterstring.c @@ -2,9 +2,13 @@ #include "ldap.h" #include "str.h" -int scan_ldapsearchfilterstring(const char* src,struct Filter** f) { +unsigned int scan_ldapsearchfilterstring(const char* src,struct Filter** f) { char* s=(char*)src; if (!(*f=calloc(sizeof(struct Filter),1))) goto error; + if (s[0]=='*' && (s[1]==0 || s[1]=='(')) { + int i=scan_ldapsearchfilterstring("(objectClass=*)",f); + if (i) return 1; + } if (*s!='(') goto error; switch (*(++s)) { case '&': ++s; (*f)->type=AND; diff --git a/scan_ldapsearchrequest.c b/scan_ldapsearchrequest.c index d7ff998..89d9757 100644 --- a/scan_ldapsearchrequest.c +++ b/scan_ldapsearchrequest.c @@ -2,9 +2,9 @@ #include "asn1.h" #include "ldap.h" -int scan_ldapsearchrequest(const char* src,const char* max, +unsigned int scan_ldapsearchrequest(const char* src,const char* max, struct SearchRequest* s) { - int res,tmp; + unsigned int res,tmp; unsigned long etmp; s->attributes=0; s->filter=0; diff --git a/scan_ldapsearchresultentry.c b/scan_ldapsearchresultentry.c index 72bef24..c15c44a 100644 --- a/scan_ldapsearchresultentry.c +++ b/scan_ldapsearchresultentry.c @@ -2,8 +2,8 @@ #include "asn1.h" #include "ldap.h" -int scan_ldapsearchresultentry(const char* src,const char* max,struct SearchResultEntry* sre) { - int res,tmp; +unsigned int scan_ldapsearchresultentry(const char* src,const char* max,struct SearchResultEntry* sre) { + unsigned int res,tmp; long oslen; /* outer sequence length */ struct PartialAttributeList** a=&sre->attributes; *a=0; diff --git a/scan_ldapstring.c b/scan_ldapstring.c index 58ecb21..6590608 100644 --- a/scan_ldapstring.c +++ b/scan_ldapstring.c @@ -1,6 +1,6 @@ #include #include -int scan_ldapstring(const char* src,const char* max,struct string* s) { +unsigned int scan_ldapstring(const char* src,const char* max,struct string* s) { return scan_asn1STRING(src,max,&s->s,&s->l); }