Hi!

 

After reading the manual of slapcat (for 2.5) it recommends using option -H and an URI instead of other obsolete options.

So I tried it, but all I get is a usage message, even with “-v” and  “-d9”.

Like this:

# slapcat -d9 -H 'ldap:///?entryCSN?sub?(objectClass=*)'

usage: slapcat [-v] [-d debuglevel] [-f configfile] [-F configdir] [-o <name>[=<value>]] [-c]

        [-g] [-n databasenumber | -b suffix] [-l ldiffile] [-a filter] [-s subtree] [-H url]

However when I use

# slapcat -H 'ldap://?entryCSN?dc=…,dc=de?sub?(objectClass=*)'

 

I get output.

 

The URI should be:

scheme COLON SLASH SLASH [host [COLON port]] [SLASH dn [QUESTION [attributes] [QUESTION [scope] [QUESTION [filter] [QUESTION extensions]]]]]
 

Do I have tomatoes on my eyes? Anyway I think slapcat could provide a better error message.

 

Even an ltrace did not enlighten me:

# ltrace slapcat -d9 -H 'ldap:///?entryCSN?sub?(objectClass=*)?'

ber_set_option(0, 0x8002, 0x55ad287ce980, 0x7f7d383ff680) = 0

ldap_pvt_thread_initialize(0x7f7d3862c1c0, 0x55ad287ce980, 32, 0x55ad287ce980) = 0

ldap_create(0x55ad287d6a78, 0, 0, 0)             = 0

ldap_pvt_tls_set_option(0x55ad56df1a50, 0x6006, 0x7ffd5d8d1f6c, 48) = 0

strrchr("slapcat", '/')                          = nil

strcmp("slapcat", "slapd")                       = -1

strcmp("slapcat", "slapadd")                     = 2

strcmp("slapcat", "slapcat")                     = 0

ldap_set_option(0, 0x5001, 0x55ad287d12d0, 0x7ffd5d8d2158) = 0

getopt(4, 0x7ffd5d8d2158, "a:b:cd:f:F:gH:l:n:o:s:v") = 100

__ctype_b_loc()                                  = 0x7f7d384c1d60

strtoul(0x7ffd5d8d36a9, 0x7ffd5d8d1bb0, 0, 0)    = 9

getopt(4, 0x7ffd5d8d2158, "a:b:cd:f:F:gH:l:n:o:s:v") = 72

ldap_url_parse_ext(0x7ffd5d8d36ae, 0x7ffd5d8d1cb0, 5, 0) = 10

__fprintf_chk(0x7f7d384004e0, 1, 0x55ad2877a9f0, 0x55ad2875c4ddusage: slapcat [-v] [-d debuglevel] [-f configfile] [-F configdir] [-o <name>[=<value>]]) = 88

fputs(" [-c]\n\t[-g] [-n databasenumber |"..., 0x7f7d384004e0 [-c]

        [-g] [-n databasenumber | -b suffix] [-l ldiffile] [-a filter] [-s subtree] [-H url]

) = 1

exit(1 <no return ...>

+++ exited (status 1) +++

 

Kind regards,

Ulrich Windl