Using "_" sign in the name of attribute during service registration results slpd crash in case of this service discovering with any attributes filter applied (Windows, other platforms not tested yet).
Example:
1. slpd - started
2. slptool.exe register service:test:// "(id=123),(some_attr=param)" - OK
3. slptool.exe findsrvtypes - OK: returns "service:test"
4. slptool.exe findsrvs test - OK: returns "service:test://,65535"
5. slptool.exe findattrs test - OK: returns "(id=123),(some_attr=param)"
6. slptool.exe findsrvs test "(id=*)" - FAIL: slpd crashes
So actually no matter what kind of filter applied, slpd crashes anyway...
Seems this related to the name of attributes only: meaning that if value contain underscore sign everything works as expected.
Forgot to add: seems to me this bug was not on 2.0 beta1 version