I've got my bitwise match plugin to load and run, but now I have an
issue. it appears that my matching rule needs to limit what attributes
it applies itself to.
That is, when I step though to code, from this query:
[abartlet@piglett source]$ bin/ldbsearch -H
ldapi:///data/samba/samba4/svn/source/st/dc/ldap/ldapi -b
"dc=samba,dc=example,dc=com" -s sub
'(|(&(!(groupType:1.2.840.113556.1.4.803:=1))(groupType:1.2.840.113556.1.4.803:=2147483648)(groupType:1.2.840.113556.1.4.804:=10)))' sAMAccountName groupType
# returned 0 records
I seem to be walking all the attributes, not just the attributes in the
search expression:
75 errno = 0;
76 a = strtoull((*vals)->bv_val, NULL, 10);
77 if (errno == ERANGE) {
78 ber_bvecfree( vals );
79 vals = NULL;
80 continue;
81 }
(gdb) p (*vals)->bv_val
$5 = 0x8411038 "(targetattr = \"*\") (version 3.0;acl \"full access to
all by all\";allow (all)(userdn = \"ldap:///anyone\");)\n"
The collation plugin is again to opaque for me to quite get how I'm
meant to handle this...
My plugin in attached.
Andrew Bartlett
--
Andrew Bartlett http://samba.org/~abartlet/
Authentication Developer, Samba Team http://samba.org
Samba Developer, Red Hat Inc. http://redhat.com
https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=235143
Resolves: bug 235143
Bug Description: When you create a new instance on a non-Linux platform,
the nsslapd-saslpath setting in dse.ldif is incorrect. It is currently
set to <sroot>/sasl2, but the sasl plugins are actually installed in
<prefix>/<libdir>/sasl2. This causes the server to not load any of it's
SASL plugins, so it doesn't advertise any mechanisms other than EXTERNAL.
Reviewed by: ???
Files: ldapserver/ldap/admin/src/create_instance.c
Branch: HEAD
Fix Description: The fix is just changing the default setting for the
nsslapd-saslpath parameter during instance creation.
Platforms tested: HP-UX 11.23, Solaris 9
Flag Day: no
Doc impact: no
Diffs: https://bugzilla.redhat.com/bugzilla/attachment.cgi?id=151628