summaryrefslogtreecommitdiff
path: root/source3/lib/util.c
AgeCommit message (Collapse)AuthorFilesLines
2007-10-10r22050: Fix a couple of off-by-one errors in the rapJeremy Allison1-4/+14
call patch. Jerry, this works now for displaying shares on Win9x (and hopefully everything else as well :-). Jeremy. (This used to be commit 728a4cc71376f9cfff2578d21a47602f8b7c6531)
2007-10-10r22045: As Volker noticed, skip_string's last argument isJeremy Allison1-1/+1
redundent. Remove it. Jeremy. (This used to be commit 140881cfbb59ce4a699b5900efe02bf315be7bd5)
2007-10-10r22042: Try and clean up my own mess using the API VolkerJeremy Allison1-6/+56
suggested. I now use : BOOL is_offset_safe(const char *buf_base, size_t buf_len, char *ptr, size_t off) char *get_safe_ptr(const char *buf_base, size_t buf_len, char *ptr, size_t off) char *get_safe_str_ptr(const char *buf_base, size_t buf_len, char *ptr, size_t off) int get_safe_SVAL(const char *buf_base, size_t buf_len, char *ptr, size_t off, int failval) int get_safe_IVAL(const char *buf_base, size_t buf_len, char *ptr, size_t off, int failval) Volker, please criticize and comment. Thanks, Jeremy. (This used to be commit d47af7c9263f519e7307859b6a696d854c5dfca3)
2007-10-10r22019: Jeremy, this hopefully fixes the build farm currently. But I think ↵Volker Lendecke1-2/+2
we need another get_safe_offset call that also includes the required buffer size. Volker (This used to be commit 6138be7e4a5eb57af4a024d749cb68168b8589fb)
2007-10-10r22014: Make us pass RANDOMIPC test again :-(. This is an ugly check-in,Jeremy Allison1-0/+23
but I've no option. Jeremy. (This used to be commit c3a565081d70b209a4f9e6e8f1859bf7194a5f74)
2007-10-10r22011: As Metze suggested, use 0xFF 'E' <enc ctx> insteadJeremy Allison1-1/+1
of 0xFF 'S' <enc ctx>. Jeremy. (This used to be commit d8cd4fc91b324c9ab8d2f66ee264093763018f76)
2007-10-10r22001: change prototype of dump_data(), so that it takes unsigned char * now,Stefan Metzmacher1-4/+3
which matches what samba4 has. also fix all the callers to prevent compiler warnings metze (This used to be commit fa322f0cc9c26a9537ba3f0a7d4e4a25941317e7)
2007-10-10r21991: I hate Steve French :-). Add support for encryptionJeremy Allison1-0/+13
contexts.... Jeremy. (This used to be commit ae8f3649f773b8a8dcb55921536d038d3475322e)
2007-10-10r21854: Add gfree_interfaces() to gfree_all().Günther Deschner1-0/+1
Guenther (This used to be commit eb34ebd9e76061417200a286c2831394be04529b)
2007-10-10r21800: Check-in the DFS rewrite. I am still testing this but itJeremy Allison1-0/+3
works from smbclient and Windows, and I am promising to support and fix both client and server code moving forward. Still need to test the RPC admin support but I haven't changed that code. Jeremy. (This used to be commit 7a7862c01d07796ef206b255c676ad7dc2cc42fc)
2007-10-10r21768: Fix the client dfs code such that smbclient canJeremy Allison1-1/+14
process deep dfs links (ie. links that go to non root parts of a share). Make the directory handling conanonical in POSIX and Windows pathname processing. dfs should not be fully working in client tools. Please bug me if not. Jeremy. (This used to be commit 1c9e10569cd97ee41de39f9f012bea4e4c932b5d)
2007-10-10r21725: Fix for memalign used without test guards. WasJeremy Allison1-15/+0
breaking the build on *BSD's. Tested by Herb. Jeremy. (This used to be commit 4816af5ce9070385b292f666779a24057b39e457)
2007-10-10r21560: Convert name_to_fqdn to BOOL.Günther Deschner1-3/+6
Guenther (This used to be commit 28ce79629bc36929f508c1ccb1d27d48e8898045)
2007-10-10r21525: Go ahead and checkin the mlock() & memalign() fixes soGerald Carter1-0/+28
others don't get stuck with the winbindd hang. Still waiting on additional confirmation from Guenther that this fixes thes issues he was observing as well. But it's been running in my local tree for a day without problems. (This used to be commit 0d2b80c6c4a744b05a0efdec352cddccc430e0c4)
2007-10-10r21262: Final part of BUG 4093: fix %a with Windows XP 64bitGerald Carter1-1/+4
(This used to be commit e2681eb4be1a9bd001eed0f39e5b5d370cf71ed6)
2007-10-10r21250: Partial fix for BUG 4093: Make %a expand to "Vista"Gerald Carter1-0/+3
based on the flags2 values in the negprot request. This also includes some code for testing the dialect strings for "SMB 2.001" but this is unreliable as Vista only sends that in the 1st negprot and caches the fact that we don't support it. Restartnig the WOrkstation service on the client clears the cache. (This used to be commit d781eeb0e4362b7af1497634d26315498a5257d4)
2007-10-10r21084: Make the Samba4 files compile in Samba3, not activated yet.Volker Lendecke1-0/+13
Volker (This used to be commit c24854433a28cc066072a7107e29aa7fe2bec3c8)
2007-10-10r20394: This is a *VERY* early start of my work on notify.Volker Lendecke1-0/+31
Checking in because Jeremy was bugging me. Potentially this becomes quite intrusive, I'm not sure if I should open a temporary branch for this. Jeremy, Jerry, do you think 3_0 is the right place for this? Volker (This used to be commit bcf5c751cbe203c00814642e26440cf88f300bce)
2007-10-10r20110: Fix interaction between paranoid malloc checkerJeremy Allison1-0/+17
and lib/replace. Found by Herb - thanks ! Jeremy. (This used to be commit 67c4d5e73fe066910f7b1ca4624541a9bbbf7750)
2007-10-10r20090: Fix a class of bugs found by James Peach. EnsureJeremy Allison1-24/+12
we never mix malloc and talloc'ed contexts in the add_XX_to_array() and add_XX_to_array_unique() calls. Ensure that these calls always return False on out of memory, True otherwise and always check them. Ensure that the relevent parts of the conn struct and the nt_user_tokens are TALLOC_DESTROYED not SAFE_FREE'd. James - this should fix your crash bug in both branches. Jeremy. (This used to be commit 0ffca7559e07500bd09a64b775e230d448ce5c24)
2007-10-10r19080: Fix a potential NULL dereferenceVolker Lendecke1-0/+7
(This used to be commit 682b490c23bb88a1a570bd1fcb7d2b6aa778dd14)
2007-10-10r18707: Fix the build when you have libnscd installed (which apparently no hostGünther Deschner1-21/+0
on the buildfarm has). Guenther (This used to be commit b0bb364df0efe140780328d90ae55bb823e6b10d)
2007-10-10r18705: not all compilers like thisStefan Metzmacher1-2/+2
metze (This used to be commit 2ec4bc0f5299f295525f306279ddb136e0b19ee1)
2007-10-10r18703: Fix the annoying effect that happens when nscd is running:Günther Deschner1-0/+21
We usually do not get the results from user/group script modifications immediately. A lot of users do add nscd restart/refresh commands into their scripts to workaround that while we could flush the nscd caches directly using libnscd. Guenther (This used to be commit 7db6ce295afbedfada7b207ad56566d2195a0d21)
2007-10-10r18534: Fix grammarSimo Sorce1-1/+1
(This used to be commit 6c9b80bde39be7feb15f0fab4024a1de2980f4c1)
2007-10-10r18530: typosSimo Sorce1-2/+2
(This used to be commit 8c5c4959ede04e1cdbfe65beeee1f67ac0a93753)
2007-10-10r18529: warn the user that putting the machine host name on theSimo Sorce1-0/+8
127.0.0.1 line in /etc/hosts is not ok for Kerberos. (This used to be commit 85126391e11006514af8e6c6b88eb7fa21abf49a)
2007-10-10r18066: It's a bit pointless to send ourselves a signal just to check if we ↵Volker Lendecke1-0/+4
exist :-) Volker (This used to be commit 44105ff2ffa726d2961cecdabbd2056f243ad914)
2007-10-10r17922: sync samba3's talloc with samba4's and move the samba3 specific ↵Stefan Metzmacher1-1/+1
stuff to tallocmsg.c metze (This used to be commit 7704e3e51dec1768772663024a0579cb4a271cc1)
2007-10-10r17800: Start using struct timespec internally for file timesJeremy Allison1-1/+1
on the wire. This allows us to go to nsec resolution for systems that support it. It should also now be easy to add a correct "create time" (birth time) for systems that support it (*BSD). I'll be watching the build farm closely after this one for breakage :-). Jeremy. (This used to be commit 425280a1d23f97ef0b0be77462386d619f47b21d)
2007-10-10r17569: Make 'max smbd processes' more robust. Counting on the child to ↵Volker Lendecke1-3/+0
decrement a tdb entry is not the most reliable way to count children correctly. This increments the number of children after a fork and decrements it upon SIGCLD. I'm keeping a list of children just for consistency checks, so that we at least get a debug level 0 message if something goes wrong. Volker (This used to be commit eb45de167d24d07a218307ec5a48c0029ec097c6)
2007-10-10r17231: Some patch cosmeticsVolker Lendecke1-1/+1
(This used to be commit 736e55101b1e7cc22f043b836be877afbb031edf)
2007-10-10r17025: Remove one blank line - test checking in to twoJeremy Allison1-1/+0
branches simultaneously..... Jeremy. (This used to be commit 13e7fe540acf575c3b4503050a25cbe4d30b8835)
2007-10-10r16997: Simo's patch (based on repotr from Seth Elssworth of Quest) to try ↵Gerald Carter1-2/+21
to be more robust in the precense of more broken /etc/hosts files when determining our fwdn (This used to be commit 6413df8348829659807c0c30e6eaef511815e0ed)
2007-10-10r16945: Sync trunk -> 3.0 for 3.0.24 code. Still needJeremy Allison1-2/+4
to do the upper layer directories but this is what everyone is waiting for.... Jeremy. (This used to be commit 9dafb7f48ca3e7af956b0a7d1720c2546fc4cfb8)
2007-10-10r16386: Klockwork #lots. Ensure talloc_get_type_abort abortsJeremy Allison1-3/+0
if handed a NULL pointer, not returns NULL. Jeremy. (This used to be commit d47ec4dc25bffa6f605c0f6fa1d9c046dbc520a7)
2007-10-10r15509: Preserve errno in fcntl lock wrappers.James Peach1-0/+4
(This used to be commit 624318245fbd4060617d9404700a04df23d667ac)
2007-10-10r15508: Use clock_gettime for profiling timstamps if it is available. UseJames Peach1-0/+18
the fastest clock available on uniprocessors. (This used to be commit d44862928206b524f826bd7c2997ab5353c0b6a0)
2007-10-10r15446: Tidy up the formatting of locking debug messages and make it moreJames Peach1-2/+4
consistent. Bring oplocks withing the purview of the locking debug channel. (This used to be commit e817cfd7d3a42d141198122eada58b5a7ba90e9c)
2007-10-10r15047: Add support for using libunwind to generate a backtrace. This isJames Peach1-25/+88
primarily intended for ia64 systems where libunwind knows more about the different ways of walking the stack that just about anything else. (This used to be commit 256a19d722f360dac3c8e83f5bfac453fa70db96)
2007-10-10r15030: On a performace hunt... Remove as many extraneousJeremy Allison1-1/+2
memset's as possible. Jeremy. (This used to be commit 1217ed392b75aa8bfefa9c3f1ec5fa3bba841ee0)
2007-10-10r15018: Merge Volker's ipc/trans2/nttrans changes overJeremy Allison1-20/+41
into 3.0. Also merge the new POSIX lock code - this is not enabled unless -DDEVELOPER is defined. This doesn't yet map onto underlying system POSIX locks. Updates vfs to allow lock queries. Jeremy. (This used to be commit 08e52ead03304ff04229e1bfe544ff40e2564fc7)
2007-10-10r15003: patch based on code from Arkady Glabek <aglabek@centeris.com> to ↵Gerald Carter1-0/+25
ensure that global memory is freed when unloading pam_winbind.so (needs more testing on non-linux platforms) (This used to be commit 1e0b79e591d70352a96e0a0487d8f394dc7b36ba)
2007-10-10r14898: This change is an attempt to improve the quality of the information thatJames Peach1-35/+30
is produced when a process exits abnormally. First, we coalesce the core dumping code so that we greatly improve our odds of being able to produce a core file, even in the case of a memory fault. I've removed duplicates of dump_core() and split it in two to reduce the amount of work needed to actually do the dump. Second, we refactor the exit_server code path to always log an explanation and a stack trace. My goal is to always produce enough log information for us to be able to explain any server exit, though there is a risk that this could produce too much log information on a flaky network. Finally, smbcontrol has gained a smbd fault injection operation to test the changes above. This is only enabled for developer builds. (This used to be commit 56bc02d64498eb3faf89f0c5452b9299daea8e95)
2007-10-10r14751: Use the noreturn attribute to try and tell coverity thatJeremy Allison1-9/+12
smb_panic can't return. Jeremy. (This used to be commit ba9c98983efbf4871e1ec07df37590d97ec52fba)
2007-10-10r14746: Add the Samba4 replacements for opendir/readdir etc. toJeremy Allison1-1/+1
Samba3 - with some 64-bit macro madness. Attempt to fix the broken directory handling in the *BSD-of-the-month club. Jeremy. (This used to be commit fd98427f64f4206c01f16f82fadf24f5863878db)
2007-10-10r14703: Clarify the return codes for the POSIX locking case. ThisJeremy Allison1-1/+1
was confusing. Jeremy. (This used to be commit bc1a605a39e58a7dbdcd4d132345e957e3ed9d5e)
2007-10-10r14618: add --no-process-group to all server programmsStefan Metzmacher1-3/+3
to make the following possible: timelimit 20000 bin/nmbd -F -S --no-process-group timelimit 20000 bin/smbd -F -S --no-process-group this is needed to 'make test' working without losing child processes metze (This used to be commit c3a9f30e2a12cc852c9fa3a7d161f5c6ee0694ce)
2007-10-10r13975: Re-fix Coverity #156 - I had left the hidden arg. inconsistentJeremy Allison1-3/+3
between Realloc and realloc_array. Jeremy. (This used to be commit 841c9b1847ae12656b827e3d35b8bf0c3f68b8b4)
2007-10-10r13915: Fixed a very interesting class of realloc() bugs found by Coverity.Jeremy Allison1-28/+71
realloc can return NULL in one of two cases - (1) the realloc failed, (2) realloc succeeded but the new size requested was zero, in which case this is identical to a free() call. The error paths dealing with these two cases should be different, but mostly weren't. Secondly the standard idiom for dealing with realloc when you know the new size is non-zero is the following : tmp = realloc(p, size); if (!tmp) { SAFE_FREE(p); return error; } else { p = tmp; } However, there were *many* *many* places in Samba where we were using the old (broken) idiom of : p = realloc(p, size) if (!p) { return error; } which will leak the memory pointed to by p on realloc fail. This commit (hopefully) fixes all these cases by moving to a standard idiom of : p = SMB_REALLOC(p, size) if (!p) { return error; } Where if the realloc returns null due to the realloc failing or size == 0 we *guarentee* that the storage pointed to by p has been freed. This allows me to remove a lot of code that was dealing with the standard (more verbose) method that required a tmp pointer. This is almost always what you want. When a realloc fails you never usually want the old memory, you want to free it and get into your error processing asap. For the 11 remaining cases where we really do need to keep the old pointer I have invented the new macro SMB_REALLOC_KEEP_OLD_ON_ERROR, which can be used as follows : tmp = SMB_REALLOC_KEEP_OLD_ON_ERROR(p, size); if (!tmp) { SAFE_FREE(p); return error; } else { p = tmp; } SMB_REALLOC_KEEP_OLD_ON_ERROR guarentees never to free the pointer p, even on size == 0 or realloc fail. All this is done by a hidden extra argument to Realloc(), BOOL free_old_on_error which is set appropriately by the SMB_REALLOC and SMB_REALLOC_KEEP_OLD_ON_ERROR macros (and their array counterparts). It remains to be seen what this will do to our Coverity bug count :-). Jeremy. (This used to be commit 1d710d06a214f3f1740e80e0bffd6aab44aac2b0)