Age | Commit message (Collapse) | Author | Files | Lines |
|
metze
(This used to be commit f6bd76fa154de6ed7f7ef3257be9572f13f3ec48)
|
|
(This used to be commit 1c3748421f53f4a4e61865e1de95c53dc75d5cee)
|
|
that a given set of (working) POSIX functions are available (without
prefixes to their names, etc). See lib/replace/README for a list.
Functions that behave different from their POSIX specification
(such as sys_select, sys_read, etc) have kept the sys_ prefix.
(This used to be commit 29919a71059b29fa27a49b1f5b84bb8881de65fc)
|
|
tdb_traverse_read() for read only databases
(This used to be commit 9b53e04377d2ff652c4a9496798d2e3aa0dccab3)
|
|
a real ldap backend (such as openldap)
(This used to be commit d267f8c6231664ec86edb2ae21e8585b1b51f7a1)
|
|
parallel with any transaction
(This used to be commit ddff66298f1a668c5220e24fc47f98d7dfc3068a)
|
|
allowing searches to proceed while another process is in a
transaction, then only upgrading the transaction lock to a write lock
on commit.
The solution is:
- split tdb_traverse() into two calls, called tdb_traverse() and
tdb_traverse_read(). The _read() version only gets read locks, and
will fail any write operations made in the callback from the
traverse.
- the normal tdb_traverse() call allows for read or write operations
in the callback, but gets the transaction lock, preventing
transastions from starting inside the traverse
In addition we enforce the following rule that you may not start a
transaction within a traverse callback, although you can start a
traverse within a transaction
With these rules in place I believe all the deadlock possibilities are
removed, and we can now allow for searches to happen in parallel with
transactions
(This used to be commit 7dd31288a701d772e45b1960ac4ce4cc1be782ed)
|
|
(This used to be commit 749b19d34f6105c696a07cc2cd39d5acecfc735b)
|
|
omment about transactions
(This used to be commit 33352507593875a147276841fdb70de8edd668f5)
|
|
code as they are marked as NOPROTO in the config.mk files.
(This used to be commit 5f530eacbae073e9df6adde316404f70ecfe9122)
|
|
but it definately needs transaction.c now
(This used to be commit fa353a5bc562fa1ace0daf6586c42d1d5698c6e4)
|
|
"ldb:nosync = yes/no"
(This used to be commit 435cbcf78b70a82c2ec89fab21e4ff8af538f2f1)
|
|
locking code in the ldb_tdb backend, except for a single read lock
during searches to ensure searches don't cross transaction boundaries
The tdb transactions code would map these extra locks to noops anyway
(as locking makes no sense inside a transaction), but the work in
setting up the locking keys still costs something, and it makes the
code needlessly complex
(This used to be commit 1b8d368a6771360fb0626127c02b3eb95f3eae59)
|
|
transactions are synchronous or not on the command line.
add LDB_FLG_NOSYNC flag to ldb_connect() so we can make our temporary
ldb databases non-synchronous
(This used to be commit dba41164e0c52f1e4351bd9057b16661cee3a822)
|
|
samba-technical posting for more details on the transactions design.
This also adds a number of command line arguments to tdbtorture,
making it more flexible, and fixes some lock deadlock conditions in
the tdbtorture code.
(This used to be commit 06bd8abba942ec9f1e23f5c5d546cbb71ca3a701)
|
|
the test in ldbtest
(This used to be commit 740b9f7537d60c7dbd48fe592587b12b304c52d1)
|
|
I still have issues with Win2k3 SP1, and Samba4 doesn't pass it's own
test for the moment, but I'm working on these issues :-)
This required a change to the credentials API, so that the special
case for NTLM logins using a principal was indeed handled as a
special, not general case.
Also don't set the realm from a ccache, as then it overrides --option=realm=.
Andrew Bartlett
(This used to be commit 194e8f07c0cb4685797c5a7a074577c62dfdebe3)
|
|
(This used to be commit 40a8ad2d1eb26d1635b8f188036b04319ffd41b4)
|
|
(This used to be commit 21e5c328a033a4b452b3fd696069ad8bbfa6b9cc)
|
|
is busted though.
(This used to be commit 54882f88cad1427b6adcb4c956a63e534e7d13e4)
|
|
at every single build. Run 'scons configure=1' or delete sconf.cache
to force checks to be re-run.
Jelmer, I think this stuff is cached in the .sconf_cache directory but
the message is still displayed and it looks like it caches the compiled
test object file not the actual result of the test.
(This used to be commit 9d001dc083937bbf5642af90bc8a8b1a27825de0)
|
|
some other minor updates
(This used to be commit f142c15de1afb2f13a5e23ceb40ce70f0115c8bf)
|
|
works now
(This used to be commit 22f18a84242e5e68a2d57b6d7ff77c089ee7434a)
|
|
-Udomain\\user.
This will probably break in a few configurations, so please let me
know. I'll also work to have a way to inhibit kerberos/ntlmssp, as
this removes -k.
Andrew Bartlett
(This used to be commit 3c0dc570b86e79aea5446d7c3bb9750a11bf8ca4)
|
|
(This used to be commit a2268f1dd441059955bee30cf2a9028656c14099)
|
|
but final linking still fails (as does generating files asn1, et, idl and proto
files)
(This used to be commit 4f0d7f75b99c7f4388d8acb0838577d86baf68b5)
|
|
(This used to be commit 59d4450453c25f5cce9b67b808ff0c4433c1d194)
|
|
(This used to be commit f35c4763d5c681a74af1f59e75a2f93e99d645cb)
|
|
(This used to be commit df4a923c64a7fffea3aa01f646b3fba7a83a1b49)
|
|
Start on custom Samba scons tools (for handling proto generation, pidl, etc)
(This used to be commit 4bffe4435944fffa3f9680b5a2fe63f2bdd98003)
|
|
(This used to be commit 540a3649e88690e829c17d79ecdccdc9ed464845)
|
|
does
not work yet and can exist parallel with the existing build system.
(This used to be commit 829568d75985e875e3363d76fb44270a0298c7f8)
|
|
(This used to be commit 0963ab9c148772b961f17ec779213b0eb861e1dd)
|
|
Remove unused includes of dynconfig.h
(This used to be commit 59083b7ba60d518ddb59646c4fd69938afd079b3)
|
|
metze
(This used to be commit 3309a0f4d90f01e1f6182b797e2bfe3f8380e59c)
|
|
changed the prioivate modules API
error string are now not spread over all
modules but are kept in a single place.
This allows a better control of memory
and error reporting.
(This used to be commit 3fc676ac1d6f59d08bedbbd9377986154cf84ce4)
|
|
LDB_ERR_ value
(This used to be commit 610f5646f0816820ac9342e81d46d139e26cc918)
|
|
(This used to be commit f0ad9495e45ee0d41ef8ca182984599c8e11cabb)
|
|
(This used to be commit cbe438be6d9b1b7182ab3e63607a2e5b2d5456fb)
|
|
(This used to be commit acfb4b928363b00346cd8991347d992c76c981d6)
|
|
private ldb API
ldb_sqlite3 is already working with this model and ldb_tdb will do
as soon as tridge finishes the tdb transaction code.
currently the transactions are always implicit and wrap any single
ldb API call except searching, the transaction functions are
currently not made public on purpose.
Simo.
(This used to be commit 1da4ac2cdcb7e54076f85242a93784260dced918)
|
|
substitution variables are now no longer used.
This is one more step towards a (hopefully) perl-based configure
(This used to be commit 6f9956a1dd870c0669c288b0fe72b7b1c8773dd0)
|
|
the same thing with a harmless user function
(This used to be commit 158693b4064bd731aa4f6cdb2fde51d7aa596cf5)
|
|
(This used to be commit 360be7028c2244391cdd9ed6d156cec8dab9e9e9)
|
|
just involves splitting up the core tdb.c code into separate files on
logical boundaries, but there are some minor functional changes as well:
- move the 'struct tdb_context' into tdb_private.h, hiding it from
users. This was done to allow the structure to change without
breaking code that uses tdb.
- added accessor functions tdb_fd(), tdb_name(), and tdb_log_fn() to
access the elements of struct tdb_context that were used by
external code but are no longer visible
- simplied tdb_append() to use tdb_fetch()/tdb_store(), which is just
as good due to the way tdb locks work
- changed some of the types (such as tdb_off to tdb_off_t) to make
syntax highlighting work better
- removed the old optional spinlock code. It was a bad idea.
- fixed a bug in tdb_reopen_all() that caused tdbtorture to sometimes
fail or report nasty looking errors. This is the only real bug
fixed in this commit. Jeremy/Jerry, you might like to pickup this
change for Samba3, as that could definately affect smbd in
Samba3.
The aim of all of these changes is to make the tdb
transactions/journaling code I am working on easier to write. I
started to write it on top of the existing tdb.c code and it got very
messy. Splitting up the code makes it much easier to follow.
There are more cleanups we could do in tdb, such as using uint32_t
instead of u32 (suggested by metze). I'll leave those for another day.
(This used to be commit 4673cdd0d261614e707b72a7a348bb0e7dbb2482)
|
|
I must say that writing a new module is a very good way
to find lot of subtle bugs laying in the code
We need more tests!
commit oLschema2ldif.c to keep it safe from data losses (rm -fr :-)
update test generic to reflect the fix made on comparsion functions
(This used to be commit 4357a2db5eadb15519ed93b957b2bad25ebf2a7d)
|
|
otherwise we get the wrong result when comparing upper
case chars with lower case chars
(This used to be commit f6ea6e9382f954be819ec82e28598cdf9cf88661)
|
|
Move auth-specific file to auth/
(This used to be commit 8aa9711a306b30da905f53148ebe352462852d74)
|
|
Add fdprintf() and vfdprintf() helper functions.
(This used to be commit 6685009f6af94b088084d69a43bcea5f8335ae57)
|
|
(This used to be commit 466e6812c35af9096fea05520c6b59a19793c4d1)
|