Age | Commit message (Collapse) | Author | Files | Lines |
|
This patch changes a lot of the code in ldb_dn.c, and also
removes and add a number of manipulation functions around.
The aim is to avoid validating a dn if not necessary as the
validation code is necessarily slow. This is mainly to speed up
internal operations where input is not user generated and so we
can assume the DNs need no validation. The code is designed to
keep the data as a string if possible.
The code is not yet 100% perfect, but pass all the tests so far.
A memleak is certainly present, I'll work on that next.
Simo.
(This used to be commit a580c871d3784602a9cce32d33419e63c8236e63)
|
|
This seems to show up (as an abort() from talloc) particularly under
ldb_ildap.
Andrew Bartlett
(This used to be commit 9890af534d845d471d2a98268c408a907b29e016)
|
|
(This used to be commit 6978225ffcc12ffdda0d3404e855219808c0597c)
|
|
This was very confusing until I really looked at it.
Andrew Bartlett
(This used to be commit 0053d06d9f85f2304191ab8f68eee7f48b2f2aa8)
|
|
(This used to be commit c6d20c22454b87b4dea3527f0efcecd373679848)
|
|
(This used to be commit b79092d7ee0c463e644ead2bfeb9692fc82d9c74)
|
|
file dependencies
(This used to be commit 122835876748a3eaf5e8d31ad1abddab9acb8781)
|
|
Andrew Bartlett
(This used to be commit a6028558dc19b0d105b1bfe4126a2b24afaf8dd2)
|
|
This should be replaced with real ACLs, which tridge is working on.
In the meantime, the rules are very simple:
- SYSTEM and Administrators can read all.
- Users and anonymous cannot read passwords, can read everything else
- list of 'password' attributes is hard-coded
Most of the difficult work in this was fighting with the C/js
interface to add a system_session() all, as it still doesn't get on
with me :-)
Andrew Bartlett
(This used to be commit be9d0cae8989429ef47a713d8f0a82f12966fc78)
|
|
the cmdline credentials if we ask for it.
Andrew Bartlett
(This used to be commit 874dd09759eb0243988f39363c94785ae2e68485)
|
|
Andrew Bartlett
(This used to be commit 964f7fc6ca4ac7578ca0d467392d4e174211b6e2)
|
|
Gunderson).
this still doesn't work as a bug in ldb causes it to not understand
escaped characters in DNs when parsing DNs
(This used to be commit 10da56fb6cc57b6c0650a8dc81ded5faa643a96e)
|
|
(This used to be commit b27d81dca9fd07c83b11a5bb3a883ec3f28cca6a)
|
|
its own credentials element
(This used to be commit de8975bdd3dc9b4f4d65000e126bbd11c43b3f06)
|
|
backend.
The idea is that every time we open an LDB, we can provide a
session_info and/or credentials. This would allow any ldb to be remote
to LDAP. We should also support provisioning to a authenticated ldap
server.
(They are separate so we can say authenticate as foo for remote, but
here we just want a token of SYSTEM).
Andrew Bartlett
(This used to be commit ae2f3a64ee0b07575624120db45299c65204210b)
|
|
This patch changes the way lsb_search is called and the meaning of the returned integer.
The last argument of ldb_search is changed from struct ldb_message to struct ldb_result
which contains a pointer to a struct ldb_message list and a count of the number of messages.
The return is not the count of messages anymore but instead it is an ldb error value.
I tryed to keep the patch as tiny as possible bu as you can guess I had to change a good
amount of places. I also tried to double check all my changes being sure that the calling
functions would still behave as before. But this patch is big enough that I fear some bug
may have been introduced anyway even if it passes the test suite. So if you are currently
working on any file being touched please give it a deep look and blame me for any error.
Simo.
(This used to be commit 22c8c97e6fb466b41859e090e959d7f1134be780)
|
|
- speed up provisioning a bit using a ldb transaction (also means you
can't end up with a ldb being half done)
(This used to be commit 91dfe304cf688bb81b69ff3192ac84b78b34b311)
|
|
- fixed a double free error in ldb.close()
(This used to be commit 7f797e7097cffa1f5b5bac34e100af77d4026f89)
|
|
searches in ldb to be more ldap compliant, but broke the wins server
and the ejs ldb code. This fixes those up so 'make test' passes again.
(This used to be commit dff660c23c97114d0c1be705f4d6a9c114b60456)
|
|
added a ldb.close() method in js. Useful for re-opening the db
(This used to be commit 1f12364a0f23ba39fd3d29b510fdef2423685f0d)
|
|
(This used to be commit 8ff1358f401e0086b941f4ff73af5d4c38a1f8bf)
|
|
(This used to be commit b7992de4b7d42a55e00509c887a269a07c19627d)
|
|
Update TODO-list
(This used to be commit d9541535e3f9e1c058410eeb0a54d60181572f2b)
|
|
Fix password support
Make base64 decode/encode functions available to EJS
(This used to be commit 1376a1fe44cd6b01709819095a711c14626b1d3e)
|
|
a NULL expression is valid in a ldb search
(This used to be commit a8748cab865c765f844336087a386c01e60add62)
|
|
(This used to be commit 7082440a70c5f85606538b7a35a1cc8f41eb7eeb)
|
|
distinguished names
Provide more functions to handle DNs in this form
(This used to be commit 692e35b7797e39533dd2a1c4b63d9da30f1eb5ba)
|
|
show up as strings
not binary blobs
(This used to be commit d2c29a5a51f68cabb9ef587376bf0a6b936cdd76)
|
|
callers to optionally supply an existing object to add the properties
to. So you can do:
var rpc = samr_init();
lsa_init(rpc);
and you end up with 'rpc' having both the samr and lsa functions and
constants available.
(This used to be commit 6a1ed328e27769bd52899fc2437a43fc17104eff)
|
|
(This used to be commit 4c1d6a97c0c9df2848a16afb1b4eed4b20963bef)
|
|
(This used to be commit 9af48b8fc201822e290a1071d9e61afe519558f5)
|
|
(This used to be commit 21ca972d06bbf4694569855f39a1649d799c05c7)
|
|
(This used to be commit e709e3792846e2bd48b55112c74395d1ab3a1b6a)
|
|
(This used to be commit 5a6c2170ff83c29ed1d7f0f5329f2d9aa00c223a)
|
|
(This used to be commit ccf20b2b13b11ac07b59988809b6c5160388a616)
|
|
don't need to keep
a 'db' variable around. The ldb object knows what it is connected to.
Added a simple ldb testsuite in testprogs/ldb.js
(This used to be commit cf35818648b5b649d0cd25f115a04b7b5b5311aa)
|
|
(a suggestion from simo)
(This used to be commit 98c9c4ecb87e1b140002390067892806464849da)
|
|
var ldb = ldb_init();
res = ldb.search(dbfile, "(objectClass=user)");
you can also do:
ldbSearch = ldb.search;
res = ldbSearch(dbfile, "(objectClass=user)");
if you want the old interface (ie. you can use this to import
functions into the global or local namespace).
(This used to be commit 3093057d9735cbb62f57e7159264d5a28b85320f)
|
|
(This used to be commit 632f99017ded607c80022f730b6ec7e37bd13642)
|
|
upstream sources. This makes it much easier to keep it up to date.
I will separate out the mpr code into lib/appweb/mpr next
(This used to be commit 52db7a052baeb0f11361ed69b71cb790039e3cc9)
|
|
- added sys_unlink()
- added sys_file_load() and sys_file_save()
- use mprString() instead of mprCreateStringVar() to cope with NULL strings
- removed smbcalls_irpc.c as its not needed any more
- allow ldbAdd() and ldbModify() to take multiple ldif records
- added a sprintf() function to ejs. Quite complex, but very useful!
(This used to be commit 625628a3f6e78349d2240ebcc79081f350672070)
|
|
functions
(This used to be commit 322c2137835ff2d76b3183901bf680780f164b5e)
|
|
lots of rpc calls without memory usage increasing.
(This used to be commit 9c885a7edb771486793eb287288158157b34e8f3)
|
|
as there are going to be a lot more of them.
(This used to be commit b086768589ee27de6616945bbea42b18b40d25d5)
|