summaryrefslogtreecommitdiff
path: root/source3/lib
AgeCommit message (Collapse)AuthorFilesLines
2007-10-10r24809: Consolidate the use of temporary talloc contexts.Volker Lendecke1-0/+108
This adds the two functions talloc_stackframe() and talloc_tos(). * When a new talloc stackframe is allocated with talloc_stackframe(), then * the TALLOC_CTX returned with talloc_tos() is reset to that new * frame. Whenever that stack frame is TALLOC_FREE()'ed, then the reverse * happens: The previous talloc_tos() is restored. * * This API is designed to be robust in the sense that if someone forgets to * TALLOC_FREE() a stackframe, then the next outer one correctly cleans up and * resets the talloc_tos(). The original motivation for this patch was to get rid of the sid_string_static & friends buffers. Explicitly passing talloc context everywhere clutters code too much for my taste, so an implicit talloc_tos() is introduced here. Many of these static buffers are replaced by a single static pointer. The intended use would thus be that low-level functions can rather freely push stuff to talloc_tos, the upper layers clean up by freeing the stackframe. The more of these stackframes are used and correctly freed the more exact the memory cleanup happens. This patch removes the main_loop_talloc_ctx, tmp_talloc_ctx and lp_talloc_ctx (did I forget any?) So, never do a tmp_ctx = talloc_init("foo"); anymore, instead, use tmp_ctx = talloc_stackframe() :-) Volker (This used to be commit 6585ea2cb7f417e14540495b9c7380fe9c8c717b)
2007-10-10r24773: Fix a ctdb connection lockupVolker Lendecke3-13/+57
The lockup could happen when packet_read_sync() gets two packets in a row, the first one being an async message, and the second one being the response to a ctdb request. Also add some debug msg to ctdb_conn.c, and cut off the "locking key" messages to only dump 20 hex chars at debug level 10. >10 will dump everything. (This used to be commit 0a55880a240b619810371a19144dd0a75208adfe)
2007-10-10r24759: Comment out the _nonnull calls for 3.2.x, as agreed with tridge.Jeremy Allison1-0/+6
Leaving the commented out code for now, in case I need to re-test some stuff. Jeremy (This used to be commit 343be0464342aac14a9592fd73a71b7589ba34d5)
2007-10-10r24744: Increase length by what we got from recv, not from ioctlVolker Lendecke1-2/+3
(This used to be commit 23c8f4f74bfb761894034ce9375258411c80d74d)
2007-10-10r24743: Fix build warning.Günther Deschner1-1/+1
Guenther (This used to be commit 579fb55b7556dc90b42f77d5fc9e9c31f34974e5)
2007-10-10r24742: Add experimental DsGetDcName() call (will be used by krb5 locator ↵Günther Deschner1-0/+72
for fine grained KDC DNS queries). Guenther (This used to be commit 3263cd680fe429430d789b284464fca72ef45719)
2007-10-10r24738: Fix one more use of pwrite in tdb code in the spirit of r23972 and ↵Michael Adam1-6/+25
r23977. Michael (This used to be commit a3506f291abfb8a9516b79c10c79841a7391651e)
2007-10-10r24733: Add support for storing DATA_BLOBs in gencache.tdb (including ↵Günther Deschner1-0/+157
torturetest). Mimir, please have a look. DATA_BLOBs will now just show up as "DATA_BLOB" values with "net cache list". Guenther (This used to be commit b8ad546d041a2a8cc85c7db8eba4d2d3b97df1a8)
2007-10-10r24627: merge from SAMBA_4_0:Stefan Metzmacher1-2/+12
as TALLOC_ABORT() is defined to abort() by default wrap it into a function so that the function name in the backtrace shows what happens. metze (This used to be commit ddbe971030070ab1b9fc37b8b0ac44a3d9303fe4)
2007-10-10r24618: move printing out the version string and exit()Stefan Metzmacher1-3/+12
into the popt _POST processing. Now 'smbd -V --bla' complains about an unknown option metze (This used to be commit c115de4beac887442a73b4a85367d7b5fded68e6)
2007-10-10r24610: Add a debug message that the workaround has been activated...Michael Adam1-0/+2
(This used to be commit a12f3bf6e93f7a902a1f6274d67f15cc4eeb20bd)
2007-10-10r24609: Fix the fix of r23668 for win2k giving one zero byteMichael Adam1-1/+1
instead of a 2-byte zero character. I can't recall what rode me when I put that "2" there. But now I think I have got it right... :-) Michael (This used to be commit fa010bef11b78ac3bbf0091870ce8cd5a53334af)
2007-10-10r24589: Refactor our vuid code so that we keep the sameJeremy Allison1-1/+1
vuid that was allocated whilst the connection is being constructed and after the connection has been set up. This is what Windows does and at least one client (and HP printer) depends on this behaviour. As it depends on the req struct not yet ported to SAMBA_3_2_0 (Volker, hint hint.... :-) I am not yet adding this to that branch, but will investigate that tomorrow. Jeremy. (This used to be commit a54f2805df92c67e74a6764568eedebe394fd500)
2007-10-10r24547: Fix #4897, patch from David S. Collier-Brown <davecb@spamcop.net> -- ↵Volker Lendecke1-6/+6
Thanks! (This used to be commit 4a90264d173ef5a870f2a44554c3bb9e738e98fb)
2007-10-10r24435: Fix typo.Günther Deschner1-1/+1
Guenther (This used to be commit 8705f890b11e7158b5c77cbd3a6dfae8eb26776e)
2007-10-10r24354: Remove offsetof macroVolker Lendecke1-4/+0
Samba4 seems not to suffer from it (This used to be commit d93b5d50a00286586c931a5876f5933a520b6ce7)
2007-10-10r24341: Make libreplace provide offsetof.Jelmer Vernooij3-4/+5
(This used to be commit 4a5fa715a6af281282092644817599f79806981d)
2007-10-10r24340: Use standard data type uint32_t rather than tdb-specific u32.Jelmer Vernooij8-59/+56
(This used to be commit 26d1430283bd4ae8b8a84f3253e33417d509c1a4)
2007-10-10r24304: patch from Bjoern JAcke <bj@SerNet.DE>:Stefan Metzmacher1-0/+242
attached patches add EA support for Solaris. If no one disagrees, can someone check this in please? metze (This used to be commit 81e5afc363e1f0bdc4768c0f5c696f4152fe5b44)
2007-10-10r24267: Fix the build farmVolker Lendecke1-2/+2
I had only tested with "net getlocalsid". posix_locking_init() calls this with a NULL name... (This used to be commit 3eee1fe28057e2e3da2e9d1506f57f3e35fd37b7)
2007-10-10r24265: Add the tdb_hashsize:<tdbname> parameterVolker Lendecke1-0/+22
This makes it possible to set the default hashsize for any tdb. I would like to remove the "open files database hash size" in favor of this one. I'll check that removal in with the next commit, please complain/revert if it's not ok. Volker (This used to be commit e9bd7a63a8d462b1fc3bab99ff843e25bffd156b)
2007-10-10r24133: Explicitly pass flags2 down to push_string_fnVolker Lendecke1-2/+5
This needs a bit closer review, it also touches the client libs (This used to be commit 824eb26738d64af1798d319d339582cf047521f0)
2007-10-10r24120: add a file_id_create() hook into the VFS layerStefan Metzmacher1-4/+3
it's needed for some cluster filesystems to overload this function. metze (This used to be commit cdaa24e8047399002e4b287a31a8340a665e580f)
2007-10-10r24113: some little fixes to get the correct error messageStefan Metzmacher2-2/+6
when using "clustering = yes" and ctdbd isn't running metze (This used to be commit c5f020ba1fdefe0422dd466b9c68ff67c74ceddd)
2007-10-10r24054: Fix some warningsVolker Lendecke1-2/+2
(This used to be commit ed84540bb2825dfaca25649a1cfb9342b68c3068)
2007-10-10r24049: Some more 64-bit warningsVolker Lendecke1-2/+4
(This used to be commit eabe796e464e5fe10d0f4cca1362985c529f5a5b)
2007-10-10r24033: We need to be able to cope with packet_handler calling itselfVolker Lendecke1-4/+5
recursively (This used to be commit b74797a31eae1c59c1a23934a3302987de9ab87c)
2007-10-10r24032: It helps testing tremendously if the cluster messaging actually sendsVolker Lendecke2-0/+16
and receives messages to other nodes... :-) (This used to be commit 3e9e9a3f28763500a1c5e551a808a14661d7d9fa)
2007-10-10r24031: Fix some 64 bit warningsVolker Lendecke1-3/+4
(This used to be commit c0fd9a14cf4f2a4334a8cae22248e7831ffa6bcf)
2007-10-10r24025: packet_send() expects DATA_BLOB elements as vaargsStefan Metzmacher1-3/+3
and not TDB_DATA metze (This used to be commit 3e4f552dbdd065fd7934d646e34199b52f486d5d)
2007-10-10r24023: Correctly support REG_BINARY in registry_push_value() andGünther Deschner1-2/+6
registry_pull_value(). Guenther (This used to be commit 6a3c44fd99c91beddd9d6a04a30c35d429d0b9a5)
2007-10-10r24008: Fix Bug 4792. Thanks to David Gajewski <dgajews@math.utoledo.edu> and toVolker Lendecke1-1/+1
Timur I. Bakeyev for bugging me :-) Volker (This used to be commit 59aef0451bed536d5cd72f2b26a0595947e94343)
2007-10-10r24000: Add message_push_blob() and message_push_string().Volker Lendecke1-0/+21
The proposed new API convention is to start with a 0 bcc length and then push things step by step. These routines reallocate the outbuf and adjust the length and bcc fields as necessary. (This used to be commit 624f1fe4f6e022d73e78fa8c9646f6f64035f3ee)
2007-10-10r23997: Check in the infrastructure for getting rid of the global ↵Volker Lendecke1-0/+116
InBuffer/OutBuffer The complete history of this patch can be found under http://www.samba.org/~vlendec/inbuf-checkin/. Jeremy, Jerry: If possible I would like to see this in 3.2.0. I'm only checking into 3_2 at the moment, as it currently will slow down operations for all non-converted (i.e. all at this moment) operations, as it will copy the talloc'ed inbuf over the global InBuffer. It will need quite a bit of effort to convert everything necessary for the normal operations an XP box does. I have patches for negprot, session setup, tcon_and_X, open_and_X, close. More to come, but I would appreciate some help here. Volker (This used to be commit 5594af2b208c860d3f4b453af6a649d9e4295d1c)
2007-10-10r23981: Make tdb_validate_and_backup try harder to end up with a valid tdb:Michael Adam1-23/+60
If restoring a backup fails due to lack of space, remove the corrupt tdb previously moved away to "name.corrupt", and retry. If restoring still fails, move the backup in place instead of copying it. Michael (This used to be commit f81f2bf480a955213be8461636ee6f81643f17b8)
2007-10-10r23980: Fix one more use of pwrite in expand_file.Michael Adam1-1/+10
Michael (This used to be commit de0ef9134650e3e7cc5b5cfec9e8dd8510bd6677)
2007-10-10r23979: Fix another occurence of (written != requested) as anMichael Adam1-5/+22
error condition to write. This is in tdb_new_database. Fix one call to tdb_new_database in tdb_open_ex to not overwrite the newly propagated errno (typically ENOSPC). Michael (This used to be commit 24fed55d72a4922bfd3ddba61449fbae01365feb)
2007-10-10r23977: Im prove the pwrite-patch to tdb_expand_file of r23972:Michael Adam1-7/+20
* prevent infinite loops due to 0 bytes written: try once more. if we still get 0 as return, set errno to ENOSPC and return -1 (error) * replace int by correct types (ssize_t and size_t). * print a warning log message in case "written < requested to write" usually this means, that the next call to pwrite will fail with return value -1 and set errno accordingly. Note that the former error condition "written != requested to write" is not a correct error condition of write/pwrite. If this is due to an error, a subsequent call to (p)write will reveal the cause (typically "no space left on device" - ENOSPC). Michael (This used to be commit 5b8d53dfe1872621bf28c8351d87bfc53ef6e66b)
2007-10-10r23975: Enhance some debug output.Michael Adam1-2/+4
(This used to be commit 909172839a512b60db075fb1a7488345a2e48eb0)
2007-10-10r23972: Fix a bug in pwrite error detection in tdb_expand_file():Michael Adam1-3/+3
The proper error condition is (ret == -1) instead of (ret != number_of_byte_told_to_write). Michael (This used to be commit e3af95f0983e9f92c10a80ee4f15a0cd718a4728)
2007-10-10r23957: Use tdb_open_log instead of tdb_open.Michael Adam1-6/+6
Michael (This used to be commit efabd7fe03733d1fcb02d0d270c18ede7836f3a9)
2007-10-10r23952: Streamline and improve the logic of tdb_validate_and backup:Michael Adam1-29/+63
- call tdb_validate on the given tdb. - if validation is successful, create a backup return 0 (success) even if the backup fails. - if validation fails: - move tdb to name.corrupt (don't exit if this fails) - look for a valid backup - if a valid backup is found, restore it, else return -1 (failure) if restoring succeeds, return 0 (success), else -1 (failure) Summing up: If 0 is returned, there is a valid tdb at the given location: either the original one ore one restrored from a backup. If -1 is returned, there is no valid tdb at the given location: Either there is no file at all, or the original file is still in place (if moving it away failed). Michael (This used to be commit 1c36ccd86d85b02f27ec66d37bdf7f04ad760901)
2007-10-10r23950: unlink before rename is superfluous.Michael Adam1-1/+0
Michael (This used to be commit 63c4c40cf7055ab7cf413a23e306cf209a1dd0a1)
2007-10-10r23938: Add a debug message.Michael Adam1-0/+2
(This used to be commit 6bd2c48921dd8dbf2885a8135ba01a1324e020c8)
2007-10-10r23932: Fill extended status with information in case the validation traverseMichael Adam1-1/+5
functions did not do so but returned an error. (This is the case when error occurred deeper than at the level of the content checking done by the per entry validate_fn.) Michael (This used to be commit e56be59947a29d0a5692f3f3bc6c089dd8b4b5d9)
2007-10-10r23930: Introduce tdb_validate_and_backup:Michael Adam1-1/+239
This is a wrapper around tdb_validate, that does backup handling: * if the given tdb is valid, a backup is created (name.bak) * if the tdb is invalid, if a valid bakup is found (validated with the same validation function) under the name "name.bak" the orignal tdb is moved to name.corrupt and the backup is restored. For the backup handling, a variant of the backup_tdb function from lib/tdb/tools/tdbbackup.c is included in lib/util_tdb.c. The copy function for the traverse action eliminates the need to maintain a global success state by using a struct wrapping the target tdb and a success flag as the private data. Michael (This used to be commit ca63a99b6188c0976603dc2852e478cc7a6b2f8b)
2007-10-10r23928: Merge all "copy-info3-groups-to-sid-array" blocks to a ↵Günther Deschner1-0/+65
sid_array_from_info3() function. Guenther (This used to be commit 1e1e480115e37b3f4c85f979ddd800b8de0b9c57)
2007-10-10r23925: Use NULL instead of 0 for a void * argument.Michael Adam1-1/+1
(This used to be commit 864b3d260f3b099b1f24edf4ed0a7ed52b05f6cc)
2007-10-10r23865: Fix a type-punned errorVolker Lendecke1-1/+1
(This used to be commit a40d3a566af88464fc6afd2c6e6e8b6e3a98aac2)
2007-10-10r23863: handle NT_STATUS_RETRY and always print out the NTSTATUS stringStefan Metzmacher1-2/+13
before calling ctdb_fatal() metze (This used to be commit 48ece3c21e3a5e9aa434c847eefaab59274a4e6f)