| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
Jeremy.
|
| |
|
|
|
|
| |
Jeremy.
|
|
|
|
| |
cluster is used
|
|
|
|
|
| |
Tidy calls to smb_panic by removing trailing newlines. Print the
failed expression in SMB_ASSERT.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
I'm 100% certain I've forgotten to merge something, but the main code
should be in. It's mainly in dbwrap_ctdb.c, ctdbd_conn.c and
messages_ctdbd.c.
There should be no changes to the non-cluster case, it does survive make
test on my laptop.
It survives some very basic tests with ctdbd enables, I did not do the
full test suite for clusters yet.
Phew...
Volker
|
|
|
|
|
|
|
|
|
|
|
| |
doing this because for the clustering the marshalling is needed in more
than one place, so I wanted a decent routine to marshall a message_rec
struct which was not there before.
Tridge, this seems about the same speed as it used to be before, the
librpc/ndr overhead in my tests was under the noise.
Volker
|
|
|
|
|
|
|
|
|
|
| |
instead of char *, which matches what samba4 has.
Fix all the callers to prevent compiler warnings.
This essentially ports r22001 from SAMBA_3_0 to SAMBA_3_0_26.
There are a few additional type cast corrections.
|
|
|
|
|
|
|
|
|
| |
patch.
This changes "struct process_id" to "struct server_id", keeping both is
just too much hassle. No functional change (I hope ;-))
Volker
|
|
|
|
|
| |
and out of talloc at tridge's request.
Jeremy.
|
|
|
|
|
| |
size == 0 so we have a known behavior.
Jeremy.
|
|
|
|
|
|
|
| |
call patch. Jerry, this works now for displaying
shares on Win9x (and hopefully everything else
as well :-).
Jeremy.
|
|
|
|
|
| |
redundent. Remove it.
Jeremy.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
| |
we need
another get_safe_offset call that also includes the required buffer size.
Volker
|
|
|
|
|
| |
but I've no option.
Jeremy.
|
|
|
|
| |
Guenther
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
breaking the build on *BSD's. Tested by Herb.
Jeremy.
|
|
|
|
| |
Guenther
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
| |
It does not matter if I screw up 3.0.25 or 3.0.26 with this, so do it rather
sooner than later.
Add the notify support that already exists in 3_0 to 3_0_25. If you want to
see this patch dissected into digestable parts, look at 3_0, revisions at
about 20800 and following.
Volker
|
| |
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
I think they're correct, modulo more testing of
error codes.
Jeremy.
|
|
|
|
| |
Jeremy.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
|
|
|
| |
well)
|
| |
|
| |
|
|
|
|
|
|
| |
on the buildfarm has).
Guenther
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
primarily intended for ia64 systems where libunwind knows more about
the different ways of walking the stack that just about anything else.
|
|
|
|
|
| |
memset's as possible.
Jeremy.
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
ensure that global memory is freed when unloading pam_winbind.so (needs more testing on non-linux platforms)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
smb_panic can't return.
Jeremy.
|
|
|
|
|
|
|
| |
Samba3 - with some 64-bit macro madness. Attempt to fix
the broken directory handling in the *BSD-of-the-month
club.
Jeremy.
|
|
|
|
|
| |
was confusing.
Jeremy.
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
| |
between Realloc and realloc_array.
Jeremy.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|