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