ruby-ldap/ruby-net-ldap — pull request #73 by sahglie (2013-09-05 05:12:48+00:00)
Title: colons are ':' valid filter characters

ruby-net-ldap is choking on queries that work with our university LDAP using the `ldapsearch` utility. Here is an example of such a query:

```bash
ldapsearch -H ldaps://ldap.berkeley.edu -x -D "" -W -s sub -b "ou=people,dc=berkeley,dc=edu" "(&(objectclass=person)(ismemberof=cn=edu:berkeley:app:calmessages:deans,ou=campus groups,dc=berkeley,dc=edu))" "uid"
```
In this case, ruby-net-ldap would raise `Net::LDAP::LdapError: Invalid filter syntax`

I've also run this query using the python ldap library and like `ldapsearch` it works fine.

While debugging this I isolated the problem down to the parse_filter_branch method: the scanner doesn't include ':' in its regex when--I believe--it should. After updating the regex everything worked as expected for me. Please let me know if you have any questions.